Rorschach пре 6 година
родитељ
комит
c1fa1c2c49
49 измењених фајлова са 22601 додато и 19 уклоњено
  1. 474 0
      .history/src/pages/manage/query_20190326181144.vue
  2. 479 0
      .history/src/pages/manage/query_20190326181800.vue
  3. 479 0
      .history/src/pages/manage/query_20190326181924.vue
  4. 479 0
      .history/src/pages/manage/query_20190326181944.vue
  5. 479 0
      .history/src/pages/manage/query_20190326182013.vue
  6. 478 0
      .history/src/pages/manage/query_20190326182027.vue
  7. 479 0
      .history/src/pages/manage/query_20190326182041.vue
  8. 479 0
      .history/src/pages/manage/query_20190326182153.vue
  9. 479 0
      .history/src/pages/manage/query_20190326182250.vue
  10. 486 0
      .history/src/pages/manage/query_20190326182456.vue
  11. 492 0
      .history/src/pages/manage/query_20190326182818.vue
  12. 492 0
      .history/src/pages/manage/query_20190326182936.vue
  13. 492 0
      .history/src/pages/manage/query_20190326183045.vue
  14. 483 0
      .history/src/pages/manage/query_20190327095017.vue
  15. 483 0
      .history/src/pages/manage/query_20190327095134.vue
  16. 488 0
      .history/src/pages/manage/query_20190327095322.vue
  17. 489 0
      .history/src/pages/manage/query_20190327095454.vue
  18. 485 0
      .history/src/pages/manage/query_20190327095658.vue
  19. 486 0
      .history/src/pages/manage/query_20190327095927.vue
  20. 486 0
      .history/src/pages/manage/query_20190327100102.vue
  21. 486 0
      .history/src/pages/manage/query_20190327100122.vue
  22. 482 0
      .history/src/pages/manage/query_20190327100203.vue
  23. 482 0
      .history/src/pages/manage/query_20190327100216.vue
  24. 482 0
      .history/src/pages/manage/query_20190327100235.vue
  25. 482 0
      .history/src/pages/manage/query_20190327100247.vue
  26. 482 0
      .history/src/pages/manage/query_20190327100308.vue
  27. 482 0
      .history/src/pages/manage/query_20190327100322.vue
  28. 481 0
      .history/src/pages/manage/query_20190327100342.vue
  29. 509 0
      .history/src/pages/manage/query_20190327100559.vue
  30. 507 0
      .history/src/pages/manage/query_20190327100611.vue
  31. 507 0
      .history/src/pages/manage/query_20190327100648.vue
  32. 507 0
      .history/src/pages/manage/query_20190327100659.vue
  33. 483 0
      .history/src/pages/manage/query_20190327101156.vue
  34. 483 0
      .history/src/pages/manage/query_20190327101230.vue
  35. 490 0
      .history/src/pages/manage/query_20190327101734.vue
  36. 492 0
      .history/src/pages/manage/query_20190327102003.vue
  37. 492 0
      .history/src/pages/manage/query_20190327102103.vue
  38. 492 0
      .history/src/pages/manage/query_20190327102128.vue
  39. 492 0
      .history/src/pages/manage/query_20190327102240.vue
  40. 493 0
      .history/src/pages/manage/query_20190327102310.vue
  41. 494 0
      .history/src/pages/manage/query_20190327102337.vue
  42. 494 0
      .history/src/pages/manage/query_20190327102441.vue
  43. 494 0
      .history/src/pages/manage/query_20190327102505.vue
  44. 495 0
      .history/src/pages/manage/query_20190327104111.vue
  45. 494 0
      .history/src/pages/manage/query_20190327104519.vue
  46. 495 0
      .history/src/pages/manage/query_20190327104534.vue
  47. 132 0
      .history/src/utils/http_20190327095658.js
  48. 30 16
      src/pages/manage/query.vue
  49. 0 3
      src/utils/http.js

+ 474 - 0
.history/src/pages/manage/query_20190326181144.vue

@@ -0,0 +1,474 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      >
+        <!-- <template slot-scope="props">
+          <span>{{ props.row.incomeStatus == 'INVOICE' ? '开票/应收' : props.row.incomeStatus == 'ARRIVAL' ? '到账' : '内部核算' }}</span>
+        </template>-->
+      </el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      console.log(val);
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        console.log(response);
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        console.log(response);
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      console.log(row.type);
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 479 - 0
.history/src/pages/manage/query_20190326181800.vue

@@ -0,0 +1,479 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      :summary-method="tableSummart"
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      >
+        <!-- <template slot-scope="props">
+          <span>{{ props.row.incomeStatus == 'INVOICE' ? '开票/应收' : props.row.incomeStatus == 'ARRIVAL' ? '到账' : '内部核算' }}</span>
+        </template>-->
+      </el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummart(columns,data){
+      console.log(columns,data)
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      console.log(val);
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        console.log(response);
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        console.log(response);
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      console.log(row.type);
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 479 - 0
.history/src/pages/manage/query_20190326181924.vue

@@ -0,0 +1,479 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      :summary-method="tableSummart"
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      >
+        <!-- <template slot-scope="props">
+          <span>{{ props.row.incomeStatus == 'INVOICE' ? '开票/应收' : props.row.incomeStatus == 'ARRIVAL' ? '到账' : '内部核算' }}</span>
+        </template>-->
+      </el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummart(object){
+      console.log(object)
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      console.log(val);
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        console.log(response);
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        console.log(response);
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      console.log(row.type);
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 479 - 0
.history/src/pages/manage/query_20190326181944.vue

@@ -0,0 +1,479 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      :summary-method="tableSummart"
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      >
+        <!-- <template slot-scope="props">
+          <span>{{ props.row.incomeStatus == 'INVOICE' ? '开票/应收' : props.row.incomeStatus == 'ARRIVAL' ? '到账' : '内部核算' }}</span>
+        </template>-->
+      </el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(object){
+      console.log(object)
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      console.log(val);
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        console.log(response);
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        console.log(response);
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      console.log(row.type);
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 479 - 0
.history/src/pages/manage/query_20190326182013.vue

@@ -0,0 +1,479 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      :summary-method="tableSummary"
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      >
+        <!-- <template slot-scope="props">
+          <span>{{ props.row.incomeStatus == 'INVOICE' ? '开票/应收' : props.row.incomeStatus == 'ARRIVAL' ? '到账' : '内部核算' }}</span>
+        </template>-->
+      </el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(object){
+      console.log(object)
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      console.log(val);
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        console.log(response);
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        console.log(response);
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      console.log(row.type);
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 478 - 0
.history/src/pages/manage/query_20190326182027.vue

@@ -0,0 +1,478 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      >
+        <!-- <template slot-scope="props">
+          <span>{{ props.row.incomeStatus == 'INVOICE' ? '开票/应收' : props.row.incomeStatus == 'ARRIVAL' ? '到账' : '内部核算' }}</span>
+        </template>-->
+      </el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(object){
+      console.log(object)
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      console.log(val);
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        console.log(response);
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        console.log(response);
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      console.log(row.type);
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 479 - 0
.history/src/pages/manage/query_20190326182041.vue

@@ -0,0 +1,479 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      summary-method="tableSummary"
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      >
+        <!-- <template slot-scope="props">
+          <span>{{ props.row.incomeStatus == 'INVOICE' ? '开票/应收' : props.row.incomeStatus == 'ARRIVAL' ? '到账' : '内部核算' }}</span>
+        </template>-->
+      </el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(object){
+      console.log(object)
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      console.log(val);
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        console.log(response);
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        console.log(response);
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      console.log(row.type);
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 479 - 0
.history/src/pages/manage/query_20190326182153.vue

@@ -0,0 +1,479 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      :summary-method="tableSummary"
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      >
+        <!-- <template slot-scope="props">
+          <span>{{ props.row.incomeStatus == 'INVOICE' ? '开票/应收' : props.row.incomeStatus == 'ARRIVAL' ? '到账' : '内部核算' }}</span>
+        </template>-->
+      </el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(param){
+      console.log(param)
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      console.log(val);
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        console.log(response);
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        console.log(response);
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      console.log(row.type);
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 479 - 0
.history/src/pages/manage/query_20190326182250.vue

@@ -0,0 +1,479 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      :summary-method="tableSummary"
+      show-summary
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      >
+        <!-- <template slot-scope="props">
+          <span>{{ props.row.incomeStatus == 'INVOICE' ? '开票/应收' : props.row.incomeStatus == 'ARRIVAL' ? '到账' : '内部核算' }}</span>
+        </template>-->
+      </el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(param){
+      console.log(param)
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      console.log(val);
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        console.log(response);
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        console.log(response);
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      console.log(row.type);
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 486 - 0
.history/src/pages/manage/query_20190326182456.vue

@@ -0,0 +1,486 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      :summary-method="tableSummary"
+      show-summary
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      >
+        <!-- <template slot-scope="props">
+          <span>{{ props.row.incomeStatus == 'INVOICE' ? '开票/应收' : props.row.incomeStatus == 'ARRIVAL' ? '到账' : '内部核算' }}</span>
+        </template>-->
+      </el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(param){
+      const { columns, data } = param;
+        const sums = [];
+        columns.forEach((column, index) => {
+          if (index === 1) {
+            sums[index] = '';
+            return;
+          }
+             });
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      console.log(val);
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        console.log(response);
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        console.log(response);
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      console.log(row.type);
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 492 - 0
.history/src/pages/manage/query_20190326182818.vue

@@ -0,0 +1,492 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      :summary-method="tableSummary"
+      show-summary
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      >
+        <!-- <template slot-scope="props">
+          <span>{{ props.row.incomeStatus == 'INVOICE' ? '开票/应收' : props.row.incomeStatus == 'ARRIVAL' ? '到账' : '内部核算' }}</span>
+        </template>-->
+      </el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(param) {
+      const { columns, data } = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        if (index === 1) {
+          sums[index] = "";
+          return;
+        }
+
+        if (index === 2) {
+          const summary = data.map(item => item.amount);
+          console.log(summary);
+          return summary;
+        }
+      });
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      console.log(val);
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        console.log(response);
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        console.log(response);
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      console.log(row.type);
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 492 - 0
.history/src/pages/manage/query_20190326182936.vue

@@ -0,0 +1,492 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        show-summary
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      >
+        <!-- <template slot-scope="props">
+          <span>{{ props.row.incomeStatus == 'INVOICE' ? '开票/应收' : props.row.incomeStatus == 'ARRIVAL' ? '到账' : '内部核算' }}</span>
+        </template>-->
+      </el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(param) {
+      const { columns, data } = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        if (index === 1) {
+          sums[index] = "";
+          return;
+        }
+
+        if (index === 2) {
+          const summary = data.map(item => item.amount);
+          console.log(summary);
+          return summary;
+        }
+      });
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      console.log(val);
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        console.log(response);
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        console.log(response);
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      console.log(row.type);
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 492 - 0
.history/src/pages/manage/query_20190326183045.vue

@@ -0,0 +1,492 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      :summary-method="tableSummary"
+      show-summary
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      >
+        <!-- <template slot-scope="props">
+          <span>{{ props.row.incomeStatus == 'INVOICE' ? '开票/应收' : props.row.incomeStatus == 'ARRIVAL' ? '到账' : '内部核算' }}</span>
+        </template>-->
+      </el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(param) {
+      const { columns, data } = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        if (index === 1) {
+          sums[index] = "-";
+          return;
+        }
+
+        if (index === 2) {
+          const summary = data.map(item => item.amount);
+          console.log(summary);
+          return summary;
+        }
+      });
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      console.log(val);
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        console.log(response);
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        console.log(response);
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      console.log(row.type);
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 483 - 0
.history/src/pages/manage/query_20190327095017.vue

@@ -0,0 +1,483 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      :summary-method="tableSummary"
+      show-summary
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      >
+        <!-- <template slot-scope="props">
+          <span>{{ props.row.incomeStatus == 'INVOICE' ? '开票/应收' : props.row.incomeStatus == 'ARRIVAL' ? '到账' : '内部核算' }}</span>
+        </template>-->
+      </el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(param) {
+      const { columns, data } = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        console.log(column)
+      });
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      console.log(val);
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        console.log(response);
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        console.log(response);
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      console.log(row.type);
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 483 - 0
.history/src/pages/manage/query_20190327095134.vue

@@ -0,0 +1,483 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      :summary-method="tableSummary"
+      show-summary
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      >
+        <!-- <template slot-scope="props">
+          <span>{{ props.row.incomeStatus == 'INVOICE' ? '开票/应收' : props.row.incomeStatus == 'ARRIVAL' ? '到账' : '内部核算' }}</span>
+        </template>-->
+      </el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(param) {
+      const { columns, data } = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        console.log(column.property)
+      });
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      console.log(val);
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        console.log(response);
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        console.log(response);
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      console.log(row.type);
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 488 - 0
.history/src/pages/manage/query_20190327095322.vue

@@ -0,0 +1,488 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      :summary-method="tableSummary"
+      show-summary
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      >
+        <!-- <template slot-scope="props">
+          <span>{{ props.row.incomeStatus == 'INVOICE' ? '开票/应收' : props.row.incomeStatus == 'ARRIVAL' ? '到账' : '内部核算' }}</span>
+        </template>-->
+      </el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(param) {
+      const { columns, data } = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        console.log(column.property);
+        switch (column.property) {
+          case "happenTime":
+            sums[index] = "";
+            break;
+        }
+      });
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      console.log(val);
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        console.log(response);
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        console.log(response);
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      console.log(row.type);
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 489 - 0
.history/src/pages/manage/query_20190327095454.vue

@@ -0,0 +1,489 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      :summary-method="tableSummary"
+      show-summary
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      >
+        <!-- <template slot-scope="props">
+          <span>{{ props.row.incomeStatus == 'INVOICE' ? '开票/应收' : props.row.incomeStatus == 'ARRIVAL' ? '到账' : '内部核算' }}</span>
+        </template>-->
+      </el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      :summary-method="tableSummary"
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(param) {
+      const { columns, data } = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        console.log(column.property);
+        switch (column.property) {
+          case "happenTime":
+            sums[index] = "";
+            break;
+        }
+      });
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      console.log(val);
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        console.log(response);
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        console.log(response);
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      console.log(row.type);
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 485 - 0
.history/src/pages/manage/query_20190327095658.vue

@@ -0,0 +1,485 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      :summary-method="tableSummary"
+      show-summary
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      >
+        <!-- <template slot-scope="props">
+          <span>{{ props.row.incomeStatus == 'INVOICE' ? '开票/应收' : props.row.incomeStatus == 'ARRIVAL' ? '到账' : '内部核算' }}</span>
+        </template>-->
+      </el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      :summary-method="tableSummary"
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(param) {
+      const { columns, data } = param;
+      const sums = [];
+      // columns.forEach((column, index) => {
+      //   console.log(column.property);
+      //   switch (column.property) {
+      //     case "happenTime":
+      //       sums[index] = "";
+      //       break;
+      //   }
+      // });
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 486 - 0
.history/src/pages/manage/query_20190327095927.vue

@@ -0,0 +1,486 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      :summary-method="tableSummary"
+      show-summary
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      >
+        <!-- <template slot-scope="props">
+          <span>{{ props.row.incomeStatus == 'INVOICE' ? '开票/应收' : props.row.incomeStatus == 'ARRIVAL' ? '到账' : '内部核算' }}</span>
+        </template>-->
+      </el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      :summary-method="tableSummary"
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(param) {
+      const { columns, data } = param;
+      const sums = [];
+      console.log(columns)
+      // columns.forEach((column, index) => {
+      //   console.log(column.property);
+      //   switch (column.property) {
+      //     case "happenTime":
+      //       sums[index] = "";
+      //       break;
+      //   }
+      // });
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 486 - 0
.history/src/pages/manage/query_20190327100102.vue

@@ -0,0 +1,486 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      :summary-method="tableSummary"
+      show-summary
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <!-- <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column> -->
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      >
+        <!-- <template slot-scope="props">
+          <span>{{ props.row.incomeStatus == 'INVOICE' ? '开票/应收' : props.row.incomeStatus == 'ARRIVAL' ? '到账' : '内部核算' }}</span>
+        </template>-->
+      </el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      :summary-method="tableSummary"
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(param) {
+      const { columns, data } = param;
+      const sums = [];
+      console.log(columns)
+      // columns.forEach((column, index) => {
+      //   console.log(column.property);
+      //   switch (column.property) {
+      //     case "happenTime":
+      //       sums[index] = "";
+      //       break;
+      //   }
+      // });
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 486 - 0
.history/src/pages/manage/query_20190327100122.vue

@@ -0,0 +1,486 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      :summary-method="tableSummary"
+      show-summary
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <!-- <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column> -->
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      >
+        <!-- <template slot-scope="props">
+          <span>{{ props.row.incomeStatus == 'INVOICE' ? '开票/应收' : props.row.incomeStatus == 'ARRIVAL' ? '到账' : '内部核算' }}</span>
+        </template>-->
+      </el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      :summary-method="tableSummary"
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(param) {
+      const { columns, data } = param;
+      const sums = [];
+      console.log(columns)
+      // columns.forEach((column, index) => {
+      //   console.log(column.property);
+      //   switch (column.property) {
+      //     case "happenTime":
+      //       sums[index] = "";
+      //       break;
+      //   }
+      // });
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 482 - 0
.history/src/pages/manage/query_20190327100203.vue

@@ -0,0 +1,482 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      :summary-method="tableSummary"
+      show-summary
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <!-- <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      ></el-table-column> -->
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      :summary-method="tableSummary"
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(param) {
+      const { columns, data } = param;
+      const sums = [];
+      console.log(columns);
+      // columns.forEach((column, index) => {
+      //   console.log(column.property);
+      //   switch (column.property) {
+      //     case "happenTime":
+      //       sums[index] = "";
+      //       break;
+      //   }
+      // });
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 482 - 0
.history/src/pages/manage/query_20190327100216.vue

@@ -0,0 +1,482 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      :summary-method="tableSummary"
+      show-summary
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      ></el-table-column>
+      <!-- <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column> -->
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      :summary-method="tableSummary"
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(param) {
+      const { columns, data } = param;
+      const sums = [];
+      console.log(columns);
+      // columns.forEach((column, index) => {
+      //   console.log(column.property);
+      //   switch (column.property) {
+      //     case "happenTime":
+      //       sums[index] = "";
+      //       break;
+      //   }
+      // });
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 482 - 0
.history/src/pages/manage/query_20190327100235.vue

@@ -0,0 +1,482 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      :summary-method="tableSummary"
+      show-summary
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <!-- <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      ></el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column> -->
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      :summary-method="tableSummary"
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(param) {
+      const { columns, data } = param;
+      const sums = [];
+      console.log(columns);
+      // columns.forEach((column, index) => {
+      //   console.log(column.property);
+      //   switch (column.property) {
+      //     case "happenTime":
+      //       sums[index] = "";
+      //       break;
+      //   }
+      // });
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 482 - 0
.history/src/pages/manage/query_20190327100247.vue

@@ -0,0 +1,482 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      :summary-method="tableSummary"
+      show-summary
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      ></el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      :summary-method="tableSummary"
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(param) {
+      const { columns, data } = param;
+      const sums = [];
+      console.log(columns);
+      // columns.forEach((column, index) => {
+      //   console.log(column.property);
+      //   switch (column.property) {
+      //     case "happenTime":
+      //       sums[index] = "";
+      //       break;
+      //   }
+      // });
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 482 - 0
.history/src/pages/manage/query_20190327100308.vue

@@ -0,0 +1,482 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      :summary-method="tableSummary"
+      show-summary
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      ></el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      :summary-method="tableSummary"
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(param) {
+      const { columns } = param;
+      const sums = [];
+      // console.log(data);
+      // columns.forEach((column, index) => {
+      //   console.log(column.property);
+      //   switch (column.property) {
+      //     case "happenTime":
+      //       sums[index] = "";
+      //       break;
+      //   }
+      // });
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 482 - 0
.history/src/pages/manage/query_20190327100322.vue

@@ -0,0 +1,482 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      :summary-method="tableSummary"
+      show-summary
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      ></el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      :summary-method="tableSummary"
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(param) {
+      // const { columns } = param;
+      // const sums = [];
+      // console.log(data);
+      // columns.forEach((column, index) => {
+      //   console.log(column.property);
+      //   switch (column.property) {
+      //     case "happenTime":
+      //       sums[index] = "";
+      //       break;
+      //   }
+      // });
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 481 - 0
.history/src/pages/manage/query_20190327100342.vue

@@ -0,0 +1,481 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      ></el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      :summary-method="tableSummary"
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(param) {
+      // const { columns } = param;
+      // const sums = [];
+      // console.log(data);
+      // columns.forEach((column, index) => {
+      //   console.log(column.property);
+      //   switch (column.property) {
+      //     case "happenTime":
+      //       sums[index] = "";
+      //       break;
+      //   }
+      // });
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 509 - 0
.history/src/pages/manage/query_20190327100559.vue

@@ -0,0 +1,509 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      :summary-method="tableSummary"
+      show-summary
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      ></el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      :summary-method="tableSummary"
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(param) {
+        const { columns, data } = param;
+        const sums = [];
+        columns.forEach((column, index) => {
+          if (index === 0) {
+            sums[index] = '总价';
+            return;
+          }
+          const values = data.map(item => Number(item[column.property]));
+          if (!values.every(value => isNaN(value))) {
+            sums[index] = values.reduce((prev, curr) => {
+              const value = Number(curr);
+              if (!isNaN(value)) {
+                return prev + curr;
+              } else {
+                return prev;
+              }
+            }, 0);
+            sums[index] += ' 元';
+          } else {
+            sums[index] = 'N/A';
+          }
+        });
+
+        return sums;
+      }
+    },
+    ttt(param) {
+      // const { columns } = param;
+      // const sums = [];
+      // console.log(data);
+      // columns.forEach((column, index) => {
+      //   console.log(column.property);
+      //   switch (column.property) {
+      //     case "happenTime":
+      //       sums[index] = "";
+      //       break;
+      //   }
+      // });
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 507 - 0
.history/src/pages/manage/query_20190327100611.vue

@@ -0,0 +1,507 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      :summary-method="tableSummary"
+      show-summary
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      ></el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      :summary-method="tableSummary"
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(param) {
+        const { columns, data } = param;
+        const sums = [];
+        columns.forEach((column, index) => {
+          if (index === 0) {
+            sums[index] = '总价';
+            return;
+          }
+          const values = data.map(item => Number(item[column.property]));
+          if (!values.every(value => isNaN(value))) {
+            sums[index] = values.reduce((prev, curr) => {
+              const value = Number(curr);
+              if (!isNaN(value)) {
+                return prev + curr;
+              } else {
+                return prev;
+              }
+            }, 0);
+            sums[index] += ' 元';
+          } else {
+            sums[index] = 'N/A';
+          }
+        });
+        return sums;
+    },
+    ttt(param) {
+      // const { columns } = param;
+      // const sums = [];
+      // console.log(data);
+      // columns.forEach((column, index) => {
+      //   console.log(column.property);
+      //   switch (column.property) {
+      //     case "happenTime":
+      //       sums[index] = "";
+      //       break;
+      //   }
+      // });
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 507 - 0
.history/src/pages/manage/query_20190327100648.vue

@@ -0,0 +1,507 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      :summary-method="tableSummary"
+      show-summary
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      ></el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      :summary-method="tableSummary"
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(param) {
+        const { columns, data } = param;
+        const sums = [];
+        // columns.forEach((column, index) => {
+        //   if (index === 0) {
+        //     sums[index] = '总价';
+        //     return;
+        //   }
+        //   const values = data.map(item => Number(item[column.property]));
+        //   if (!values.every(value => isNaN(value))) {
+        //     sums[index] = values.reduce((prev, curr) => {
+        //       const value = Number(curr);
+        //       if (!isNaN(value)) {
+        //         return prev + curr;
+        //       } else {
+        //         return prev;
+        //       }
+        //     }, 0);
+        //     sums[index] += ' 元';
+        //   } else {
+        //     sums[index] = 'N/A';
+        //   }
+        // });
+        return sums;
+    },
+    ttt(param) {
+      // const { columns } = param;
+      // const sums = [];
+      // console.log(data);
+      // columns.forEach((column, index) => {
+      //   console.log(column.property);
+      //   switch (column.property) {
+      //     case "happenTime":
+      //       sums[index] = "";
+      //       break;
+      //   }
+      // });
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 507 - 0
.history/src/pages/manage/query_20190327100659.vue

@@ -0,0 +1,507 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      :summary-method="tableSummary"
+      show-summary
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      ></el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      :summary-method="tableSummary"
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(param) {
+        const { columns, data } = param;
+        const sums = [];
+        // columns.forEach((column, index) => {
+        //   if (index === 0) {
+        //     sums[index] = '总价';
+        //     return;
+        //   }
+        //   const values = data.map(item => Number(item[column.property]));
+        //   if (!values.every(value => isNaN(value))) {
+        //     sums[index] = values.reduce((prev, curr) => {
+        //       const value = Number(curr);
+        //       if (!isNaN(value)) {
+        //         return prev + curr;
+        //       } else {
+        //         return prev;
+        //       }
+        //     }, 0);
+        //     sums[index] += ' 元';
+        //   } else {
+        //     sums[index] = 'N/A';
+        //   }
+        // });
+        // return sums;
+    },
+    ttt(param) {
+      // const { columns } = param;
+      // const sums = [];
+      // console.log(data);
+      // columns.forEach((column, index) => {
+      //   console.log(column.property);
+      //   switch (column.property) {
+      //     case "happenTime":
+      //       sums[index] = "";
+      //       break;
+      //   }
+      // });
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 483 - 0
.history/src/pages/manage/query_20190327101156.vue

@@ -0,0 +1,483 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      :summary-method="tableSummary"
+      show-summary
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      ></el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      :summary-method="tableSummary"
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(param) {
+      const { columns, data } = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        switch (column.property) {
+          case "happenTime":
+            sum[index] = "";
+            break;
+          default:
+            break;
+        }
+      });
+      return sums;
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 483 - 0
.history/src/pages/manage/query_20190327101230.vue

@@ -0,0 +1,483 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      :summary-method="tableSummary"
+      show-summary
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      ></el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      :summary-method="tableSummary"
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(param) {
+      const { columns, data } = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        switch (column.property) {
+          case "happenTime":
+            sums[index] = "";
+            break;
+          default:
+            break;
+        }
+      });
+      return sums;
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 490 - 0
.history/src/pages/manage/query_20190327101734.vue

@@ -0,0 +1,490 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      :summary-method="tableSummary"
+      show-summary
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      ></el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      :summary-method="tableSummary"
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(param) {
+      const { columns, data } = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        switch (column.property) {
+          case 'gmtModife':
+           sums[index] = '合计';
+           break;
+          case "happenTime":
+            sums[index] = "";
+            break;
+            case 'amount':
+            sums[index] = data.amount.reduce((prev,cur) => {
+                return prev + cur;
+            },0)
+          default:
+            break;
+        }
+      });
+      return sums;
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 492 - 0
.history/src/pages/manage/query_20190327102003.vue

@@ -0,0 +1,492 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      :summary-method="tableSummary"
+      show-summary
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      ></el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      :summary-method="tableSummary"
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(param) {
+      const { columns, data } = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        switch (column.property) {
+          case 'gmtModife':
+           sums[index] = '合计';
+           break;
+          case "happenTime":
+            sums[index] = "";
+            break;
+            case 'amount':
+            const amountNum = data.map(item => Number(item['amount']));
+            sums[index] = amountNum.reduce((prev,cur) => {
+              console.log(prev, cur)
+                return prev + cur;
+            },0)
+          default:
+            break;
+        }
+      });
+      return sums;
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 492 - 0
.history/src/pages/manage/query_20190327102103.vue

@@ -0,0 +1,492 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      :summary-method="tableSummary"
+      show-summary
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      ></el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      :summary-method="tableSummary"
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(param) {
+      const { columns, data } = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        switch (column.property) {
+          case 'gmtModife':
+           sums[index] = '合计';
+           break;
+          case "happenTime":
+            sums[index] = "";
+            break;
+            case 'amount':
+            const amountNum = data.map(item => Number(item['amount']));
+            sums[index] = amountNum.reduce((prev,cur) => {
+              console.log(prev, cur)
+                return (prev + cur).toFixed(2);
+            },0)
+          default:
+            break;
+        }
+      });
+      return sums;
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 492 - 0
.history/src/pages/manage/query_20190327102128.vue

@@ -0,0 +1,492 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      :summary-method="tableSummary"
+      show-summary
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      ></el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      :summary-method="tableSummary"
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(param) {
+      const { columns, data } = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        switch (column.property) {
+          case 'gmtModife':
+           sums[index] = '合计';
+           break;
+          case "happenTime":
+            sums[index] = "";
+            break;
+            case 'amount':
+            const amountNum = data.map(item => Number(item['amount']));
+            sums[index] = amountNum.reduce((prev,cur) => {
+              console.log(prev, cur)
+                return prev.toFixed(2) + cur.toFixed(2);
+            },0)
+          default:
+            break;
+        }
+      });
+      return sums;
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 492 - 0
.history/src/pages/manage/query_20190327102240.vue

@@ -0,0 +1,492 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      :summary-method="tableSummary"
+      show-summary
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      ></el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      :summary-method="tableSummary"
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(param) {
+      const { columns, data } = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        switch (column.property) {
+          case 'gmtModife':
+           sums[index] = '合计';
+           break;
+          case "happenTime":
+            sums[index] = "";
+            break;
+            case 'amount':
+            const amountNum = data.map(item => Number(item['amount']));
+            sums[index] = amountNum.reduce((prev,cur) => {
+              const sum = prev.toFixed(2) + cur.toFixed(2);
+                return sum;
+            },0)
+          default:
+            break;
+        }
+      });
+      return sums;
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 493 - 0
.history/src/pages/manage/query_20190327102310.vue

@@ -0,0 +1,493 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      :summary-method="tableSummary"
+      show-summary
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      ></el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      :summary-method="tableSummary"
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(param) {
+      const { columns, data } = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        switch (column.property) {
+          case 'gmtModife':
+           sums[index] = '合计';
+           break;
+          case "happenTime":
+            sums[index] = "";
+            break;
+            case 'amount':
+            const amountNum = data.map(item => Number(item['amount']));
+            sums[index] = amountNum.reduce((prev,cur) => {
+              console.log(prev)
+              const sum = prev.toFixed(2) + cur.toFixed(2);
+                return sum;
+            },0)
+          default:
+            break;
+        }
+      });
+      return sums;
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 494 - 0
.history/src/pages/manage/query_20190327102337.vue

@@ -0,0 +1,494 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      :summary-method="tableSummary"
+      show-summary
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      ></el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      :summary-method="tableSummary"
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(param) {
+      const { columns, data } = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        switch (column.property) {
+          case 'gmtModife':
+           sums[index] = '合计';
+           break;
+          case "happenTime":
+            sums[index] = "";
+            break;
+            case 'amount':
+            const amountNum = data.map(item => Number(item['amount']));
+            sums[index] = amountNum.reduce((prev,cur) => {
+              console.log('prev',prev)
+              console.log('cur',cur)
+              const sum = prev.toFixed(2) + cur.toFixed(2);
+                return sum;
+            },0)
+          default:
+            break;
+        }
+      });
+      return sums;
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 494 - 0
.history/src/pages/manage/query_20190327102441.vue

@@ -0,0 +1,494 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      :summary-method="tableSummary"
+      show-summary
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      ></el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      :summary-method="tableSummary"
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(param) {
+      const { columns, data } = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        switch (column.property) {
+          case 'gmtModife':
+           sums[index] = '合计';
+           break;
+          case "happenTime":
+            sums[index] = "";
+            break;
+            case 'amount':
+            const amountNum = data.map(item => Number(item['amount']));
+            sums[index] = amountNum.reduce((prev,cur) => {
+              console.log('prev',prev)
+              console.log('cur',cur)
+              // const sum = prev.toFixed(2) + cur.toFixed(2);
+                return parseFloat(prev) + parseFloat(cur);
+            },0)
+          default:
+            break;
+        }
+      });
+      return sums;
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 494 - 0
.history/src/pages/manage/query_20190327102505.vue

@@ -0,0 +1,494 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      :summary-method="tableSummary"
+      show-summary
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      ></el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      :summary-method="tableSummary"
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(param) {
+      const { columns, data } = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        switch (column.property) {
+          case 'gmtModife':
+           sums[index] = '合计';
+           break;
+          case "happenTime":
+            sums[index] = "";
+            break;
+            case 'amount':
+            const amountNum = data.map(item => Number(item['amount']));
+            sums[index] = amountNum.reduce((prev,cur) => {
+              console.log('prev',prev)
+              console.log('cur',cur)
+              // const sum = prev.toFixed(2) + cur.toFixed(2);
+                return (parseFloat(prev) + parseFloat(cur)).toFixed(2);
+            },0)
+          default:
+            break;
+        }
+      });
+      return sums;
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 495 - 0
.history/src/pages/manage/query_20190327104111.vue

@@ -0,0 +1,495 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      :summary-method="tableSummary"
+      show-summary
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      ></el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      :summary-method="tableSummary"
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(param) {
+      const { columns, data } = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        switch (column.property) {
+          case 'gmtModife':
+           sums[index] = '合计';
+           break;
+          case "happenTime":
+            sums[index] = "";
+            break;
+            case 'amount':
+            const amountNum = data.map(item => Number(item['amount']));
+            console.log(amountNum)
+            sums[index] = amountNum.reduce((prev,cur) => {
+              console.log('prev',prev)
+              console.log('cur',cur)
+              // const sum = prev.toFixed(2) + cur.toFixed(2);
+                return (parseFloat(prev) + parseFloat(cur)).toFixed(2);
+            },0)
+          default:
+            break;
+        }
+      });
+      return sums;
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 494 - 0
.history/src/pages/manage/query_20190327104519.vue

@@ -0,0 +1,494 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      ></el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      :summary-method="tableSummary"
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(param) {
+      const { columns, data } = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        switch (column.property) {
+          case 'gmtModife':
+           sums[index] = '合计';
+           break;
+          case "happenTime":
+            sums[index] = "";
+            break;
+            case 'amount':
+            const amountNum = data.map(item => Number(item['amount']));
+            console.log(amountNum)
+            sums[index] = amountNum.reduce((prev,cur) => {
+              console.log('prev',prev)
+              console.log('cur',cur)
+              // const sum = prev.toFixed(2) + cur.toFixed(2);
+                return (parseFloat(prev) + parseFloat(cur)).toFixed(2);
+            },0)
+          default:
+            break;
+        }
+      });
+      return sums;
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 495 - 0
.history/src/pages/manage/query_20190327104534.vue

@@ -0,0 +1,495 @@
+<template>
+  <div>
+    <!-- <TitleBar propTitle="经营数据查询" /> -->
+    <el-form :model="form" ref="form" class="marginTop">
+      <el-form-item label="查询类别" :label-width="formLabelWidth">
+        <el-radio-group
+          v-model="form.type"
+          placeholder="请选择类别"
+          size="medium"
+          :rules="[{ required: true, message: '必选'}]"
+          style="width:100%"
+        >
+          <el-row :gutter="10">
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="INCOME">收入</el-radio>
+            </el-col>
+            <el-col :span="4">
+              <el-radio border style="width:100%;" label="COST">成本</el-radio>
+            </el-col>
+          </el-row>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="时间范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-date-picker placeholder="起始时间" style="width:100%" v-model="form.startTime"></el-date-picker>
+          </el-col>
+          <el-col :span="4">
+            <el-date-picker placeholder="结束时间" style="width:100%" v-model="form.endTime"></el-date-picker>
+          </el-col>
+        </el-row>
+      </el-form-item>
+      <!-- <el-form-item label="金额范围" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="4">
+            <el-input placeholder="起始金额" style="width:100%" v-model="form.minAmount" clearable></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-input placeholder="结束金额" style="width:100%" v-model="form.maxAmount" clearable></el-input>
+          </el-col>
+        </el-row>
+      </el-form-item>-->
+      <el-form-item
+        label="成本类型"
+        v-if="form.type==='COST'"
+        prop="costTypeId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in costTypeSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="收入状态" v-if="form.type==='INCOME'" :label-width="formLabelWidth">
+        <el-row :gutter="10">
+          <el-col :span="1">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              size="medium"
+            >全选</el-checkbox>
+          </el-col>
+
+          <el-checkbox-group
+            style="width:100%"
+            v-model="form.incomeStatus"
+            placeholder="请选择状态值"
+            size="medium"
+            :indeterminate="isIndeterminate"
+          >
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INVOICE">开票/应收</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="ARRIVAL">到账</el-checkbox>
+            </el-col>
+            <el-col :span="4">
+              <el-checkbox style="width:100%;" border label="INTERNAL">内部核算</el-checkbox>
+            </el-col>
+          </el-checkbox-group>
+        </el-row>
+      </el-form-item>
+      <el-form-item
+        label="归属产品"
+        v-if="form.type==='INCOME'"
+        prop="productId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.productId" placeholder="请选择产品">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in productSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="归属项目"
+        v-if="form.type!==''"
+        prop="projectId"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.projectId" placeholder="请选择项目">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="来源项目"
+        style="display:inline-block;"
+        prop="toProjectId"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toProjectId" placeholder="请选择项目">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in projectSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="来源部门"
+        prop="toDeptId"
+        style="display:inline-block;"
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.toDeptId" placeholder="请选择部门">
+          <el-option key label="不选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
+        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
+          <el-option key label="全选" value></el-option>
+          <el-option
+            v-for="item in teamSelectData"
+            :key="item.id"
+            :label="item.code +'--'+ item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item
+        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
+      >
+        <el-button type="primary" @click="onSubmit">查询</el-button>
+        <!-- <el-button type="info" @click="onReset">重置</el-button> -->
+      </el-form-item>
+      <!-- <el-form-item>
+        <el-button type="info" @click="reset">重置</el-button>
+      </el-form-item>-->
+    </el-form>
+    <!-- 查询结果收入表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      :summary-method="tableSummary"
+      show-summary
+      v-if="tableType === 'INCOME'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column
+        label="收入状态"
+        width="130px"
+        align="right"
+        prop="incomeStatus"
+        :formatter="incomeTypeFormat"
+      ></el-table-column>
+      <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
+      <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
+      <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+    </el-table>
+
+    <!-- 查询结果成本表 -->
+    <el-table
+      :data="searchResult"
+      style="width: 100%;margin-top:80px;"
+      show-summary
+      :summary-method="tableSummary"
+      v-if="tableType === 'COST'"
+      border
+    >
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
+      <el-table-column
+        prop="happenTime"
+        width="120px"
+        align="right"
+        :formatter="dateFormat"
+        label="发生日期"
+      ></el-table-column>
+      <el-table-column
+        :formatter="moneyFormat"
+        prop="amount"
+        width="110px"
+        align="right"
+        label="金额"
+      ></el-table-column>
+      <el-table-column label="成本类别" width="130px" align="right" prop="costType.name"></el-table-column>
+      <el-table-column label="发生部门" width="220px" align="right" prop="department.name"></el-table-column>
+      <el-table-column label="发生项目/人" width="300px" align="right" prop="project.name"></el-table-column>
+      <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
+      <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+      <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <el-pagination
+      background
+      @current-change="handlePageChange"
+      :page-size="50"
+      :current-page.sync="pageNo"
+      layout="prev, pager, next"
+      v-if="searchResult.length!==0"
+      :total="totalNumber"
+    ></el-pagination>
+  </div>
+</template>
+<script>
+import {
+  getTeamSelect,
+  getProjectSelect,
+  getProductSelect,
+  getCostTeamSelect,
+  getCostTypeSelect,
+  addManage,
+  getManageList,
+  setManage
+} from "@/api/manageApi";
+import TitleBar from "../layout/titleBar/TitleBar.vue";
+import { formatTime } from "../../utils/common";
+const statusOptions = ["INVOICE", "ARRIVAL", "INTERNAL"];
+export default {
+  components: {
+    TitleBar
+  },
+  data() {
+    return {
+      type: "",
+      dialogFormVisible: false,
+      addFlag: false,
+      id: "",
+      searchResult: [],
+      form: {
+        type: "",
+        productId: "",
+        projectId: "",
+        toDeptId: "",
+        toProjectId: "",
+        deptId: "",
+        incomeStatus: [],
+        status: "NORMAL",
+        costTypeId: "",
+        startTime: null,
+        endTime: null,
+        minAmount: "",
+        maxAmount: "",
+        isEntry: false,
+        pageNo: 1,
+        pageSize: 50
+      },
+      pageNo: 1,
+      pageSize: 50,
+      totalNumber: 0,
+      formLabelWidth: "120px",
+      teamSelectData: [],
+      projectSelectData: [],
+      productSelectData: [],
+      costTeamSelectData: [],
+      costTypeSelectData: [],
+      manageData: [],
+      companyData: [],
+      tableType: "",
+      isIndeterminate: true,
+      checkAll: false
+    };
+  },
+  created() {
+    // 获取部门下拉框
+    getTeamSelect().then(res => {
+      this.teamSelectData = res.data;
+    });
+    // 获取项目下拉框
+    getProjectSelect().then(res => {
+      this.projectSelectData = res.data;
+    });
+    //获取产品下拉框
+    getProductSelect().then(res => {
+      this.productSelectData = res.data;
+    });
+    //获取经营列表
+    // getManageList({
+    //   type: "INCOME"
+    // }).then(res => {
+    //   this.manageData = res.data;
+    //   console.log(res.data);
+    // });
+    //获取单位下拉
+    getCostTeamSelect().then(res => {
+      this.costTeamSelectData = res.data;
+    });
+    //获取成本类型下拉
+    getCostTypeSelect().then(res => {
+      this.costTypeSelectData = res.data;
+    });
+  },
+
+  methods: {
+    // 自定义合计
+    tableSummary(param) {
+      const { columns, data } = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        switch (column.property) {
+          case 'gmtModife':
+           sums[index] = '合计';
+           break;
+          case "happenTime":
+            sums[index] = "";
+            break;
+            case 'amount':
+            const amountNum = data.map(item => Number(item['amount']));
+            console.log(amountNum)
+            sums[index] = amountNum.reduce((prev,cur) => {
+              console.log('prev',prev)
+              console.log('cur',cur)
+              // const sum = prev.toFixed(2) + cur.toFixed(2);
+                return (parseFloat(prev) + parseFloat(cur)).toFixed(2);
+            },0)
+          default:
+            break;
+        }
+      });
+      return sums;
+    },
+    // 金额格式化
+    moneyFormat(row) {
+      return row.amount.toFixed(2);
+    },
+    // 全选
+    handleCheckAllChange(val) {
+      this.form.incomeStatus = val ? statusOptions : [];
+      this.isIndeterminate = false;
+      this.checkAll = val;
+    },
+    handlePageChange(val) {
+      this.form.pageNo = val;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onSubmit() {
+      // this.totalNumber = 0;
+      this.searchResult = [];
+      if (this.form.type === "INCOME") {
+        this.form.costTypeId = "";
+        this.tableType = "INCOME";
+      }
+      if (this.form.type === "COST") {
+        this.form.incomeStatus = "";
+        this.form.productId = "";
+        this.tableType = "COST";
+      }
+      this.form.pageNo = 1;
+      this.$post("manageBase/manage/search", this.form).then(response => {
+        this.searchResult = response.data.content;
+        this.totalNumber = parseInt(response.data.totalElements);
+        this.pageNo = parseInt(response.data.number) + 1;
+        if (response.data && response.data.content.length == 0) {
+          this.$message("未找到相应数据");
+        }
+      });
+    },
+    onReset() {
+      this.form.type = "";
+      this.form.costTypeId = "";
+      this.tableType = "";
+      this.searchResult = "";
+      this.$refs.form.resetFields();
+    },
+    tableRowClassName({ row, rowIndex }) {
+      if (row.type === "COST") {
+        return "cost-row-search";
+      } else {
+        return "income-row-search";
+      }
+      // return "";
+    },
+    //获取部门名称
+    getName(val) {
+      let obj = {};
+      obj = this.teamSelectData.find(item => {
+        return item.id === val;
+      });
+      let getName = "";
+      this.form.deptName = obj.name;
+    },
+    // 添加
+    append(type) {
+      this.type = type;
+      this.dialogFormVisible = true;
+      this.addFlag = true;
+    },
+    // 格式化时间
+    dateFormat(row, column) {
+      return formatTime(row.happenTime);
+    },
+    recordTimeFormat(row) {
+      return formatTime(row.gmtModified);
+    },
+    incomeTypeFormat(row) {
+      return row.incomeStatus == "INVOICE"
+        ? "开票/应收"
+        : row.incomeStatus == "ARRIVAL"
+        ? "到账"
+        : "内部核算";
+    }
+  }
+};
+</script>
+
+<style scope>
+.marginTop {
+  margin-top: 20px;
+}
+.el-table .cost-row-search {
+  /* color: green; */
+  /* background: #f0f9eb; */
+  color: green;
+}
+
+.el-table .income-row-search {
+  /* color: red; */
+  /* background: rgba(248, 181, 172, 0.267); */
+  color: red;
+  /* color: #f0f9eb; */
+}
+</style>

+ 132 - 0
.history/src/utils/http_20190327095658.js

@@ -0,0 +1,132 @@
+import axios from 'axios';
+// import Cookies from "js-cookie";
+import {
+    Message
+} from 'element-ui';
+
+axios.defaults.timeout = 5000;
+axios.defaults.baseURL = 'http://whiteboardtest.ai160.com/';
+
+/*** 
+ * 
+ * 复制于 https://www.cnblogs.com/ldlx-mars/p/7908950.html
+ * 
+*/
+
+//http request 拦截器
+axios.interceptors.request.use(
+    config => {
+        // const token = Cookies('token'); //注意使用的时候需要引入cookie方法,推荐js-cookie
+        config.data = JSON.stringify(config.data);
+        const uid = sessionStorage.getItem('uid') ? sessionStorage.getItem('uid') : '';
+        config.headers = {
+            'Content-Type': 'application/json',
+            'uid': uid,
+        }
+        // if(token){
+        //   config.params = {'X-Token':token}
+        // }
+        return config;
+    },
+    error => {
+        return Promise.reject(err);
+    }
+);
+
+//http response 拦截器 暂时不用
+axios.interceptors.response.use(
+    response => {
+        if (response.data.code == 402) {
+            // router.push({
+            //     path: "/login",
+            //     // querry: {
+            //     //     redirect: Router.currentRoute.fullPath
+            //     // } //从哪个页面跳转
+            // })
+            Message.warning({
+                message: '请登录',
+                type: 'warning'
+              });
+            window.location.href = '/manageWeb/'
+        }
+        return response;
+    },
+    error => {
+        return Promise.reject(error)
+    }
+)
+
+/**
+ * 封装get方法
+ * @param url
+ * @param data
+ * @returns {Promise}
+ */
+
+export function fetch(url, params = {}) {
+    return new Promise((resolve, reject) => {
+        axios.get(url, {
+                params: params
+            })
+            .then(response => {
+                resolve(response.data);
+            })
+            .catch(err => {
+                reject(err)
+            })
+    })
+}
+
+/**
+ * 封装post请求
+ * @param url
+ * @param data
+ * @returns {Promise}
+ */
+
+export function post(url, data = {}) {
+    return new Promise((resolve, reject) => {
+        axios.post(url, data)
+            .then(response => {
+                resolve(response.data);
+            }, err => {
+                reject(err)
+            })
+    })
+}
+
+/**
+ * 封装patch请求
+ * @param url
+ * @param data
+ * @returns {Promise}
+ */
+
+export function patch(url, data = {}) {
+    return new Promise((resolve, reject) => {
+        axios.patch(url, data)
+            .then(response => {
+                resolve(response.data);
+            }, err => {
+                reject(err)
+            })
+    })
+}
+
+/**
+ * 封装put请求
+ * @param url
+ * @param data
+ * @returns {Promise}
+ */
+
+export function put(url, data = {}) {
+    return new Promise((resolve, reject) => {
+        axios.put(url, data)
+            .then(response => {
+                resolve(response.data);
+            }, err => {
+                reject(err)
+            })
+    })
+}

+ 30 - 16
src/pages/manage/query.vue

@@ -179,6 +179,7 @@
     <el-table
       :data="searchResult"
       style="width: 100%;margin-top:80px;"
+      :summary-method="tableSummary"
       show-summary
       v-if="tableType === 'INCOME'"
       border
@@ -210,11 +211,7 @@
         align="right"
         prop="incomeStatus"
         :formatter="incomeTypeFormat"
-      >
-        <!-- <template slot-scope="props">
-          <span>{{ props.row.incomeStatus == 'INVOICE' ? '开票/应收' : props.row.incomeStatus == 'ARRIVAL' ? '到账' : '内部核算' }}</span>
-        </template>-->
-      </el-table-column>
+      ></el-table-column>
       <el-table-column label="产品" width="200px" align="right" prop="product.name"></el-table-column>
       <el-table-column label="归属项目" width="290px" align="right" prop="project.name"></el-table-column>
       <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
@@ -227,6 +224,7 @@
       :data="searchResult"
       style="width: 100%;margin-top:80px;"
       show-summary
+      :summary-method="tableSummary"
       v-if="tableType === 'COST'"
       border
     >
@@ -360,13 +358,39 @@ export default {
   },
 
   methods: {
+    // 自定义合计
+    tableSummary(param) {
+      const { columns, data } = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        switch (column.property) {
+          case 'gmtModife':
+           sums[index] = '合计';
+           break;
+          case "happenTime":
+            sums[index] = "";
+            break;
+            case 'amount':
+            const amountNum = data.map(item => Number(item['amount']));
+            console.log(amountNum)
+            sums[index] = amountNum.reduce((prev,cur) => {
+              console.log('prev',prev)
+              console.log('cur',cur)
+              // const sum = prev.toFixed(2) + cur.toFixed(2);
+                return (parseFloat(prev) + parseFloat(cur)).toFixed(2);
+            },0)
+          default:
+            break;
+        }
+      });
+      return sums;
+    },
     // 金额格式化
     moneyFormat(row) {
       return row.amount.toFixed(2);
     },
     // 全选
     handleCheckAllChange(val) {
-      console.log(val);
       this.form.incomeStatus = val ? statusOptions : [];
       this.isIndeterminate = false;
       this.checkAll = val;
@@ -374,7 +398,6 @@ export default {
     handlePageChange(val) {
       this.form.pageNo = val;
       this.$post("manageBase/manage/search", this.form).then(response => {
-        console.log(response);
         this.searchResult = response.data.content;
         this.totalNumber = parseInt(response.data.totalElements);
         this.pageNo = parseInt(response.data.number) + 1;
@@ -397,7 +420,6 @@ export default {
       }
       this.form.pageNo = 1;
       this.$post("manageBase/manage/search", this.form).then(response => {
-        console.log(response);
         this.searchResult = response.data.content;
         this.totalNumber = parseInt(response.data.totalElements);
         this.pageNo = parseInt(response.data.number) + 1;
@@ -414,7 +436,6 @@ export default {
       this.$refs.form.resetFields();
     },
     tableRowClassName({ row, rowIndex }) {
-      console.log(row.type);
       if (row.type === "COST") {
         return "cost-row-search";
       } else {
@@ -450,13 +471,6 @@ export default {
         : row.incomeStatus == "ARRIVAL"
         ? "到账"
         : "内部核算";
-    },
-    moneyFormat(row) {
-      if (row.type == "COST") {
-        return "-" + row.amount;
-      } else {
-        return row.amount;
-      }
     }
   }
 };

+ 0 - 3
src/utils/http.js

@@ -18,7 +18,6 @@ axios.interceptors.request.use(
     config => {
         // const token = Cookies('token'); //注意使用的时候需要引入cookie方法,推荐js-cookie
         config.data = JSON.stringify(config.data);
-        console.log(sessionStorage.getItem('uid'))
         const uid = sessionStorage.getItem('uid') ? sessionStorage.getItem('uid') : '';
         config.headers = {
             'Content-Type': 'application/json',
@@ -37,7 +36,6 @@ axios.interceptors.request.use(
 //http response 拦截器 暂时不用
 axios.interceptors.response.use(
     response => {
-        console.log('response',response)
         if (response.data.code == 402) {
             // router.push({
             //     path: "/login",
@@ -87,7 +85,6 @@ export function fetch(url, params = {}) {
  */
 
 export function post(url, data = {}) {
-    console.log(data)
     return new Promise((resolve, reject) => {
         axios.post(url, data)
             .then(response => {