{"remainingRequest":"D:\\jenkins\\workspace\\xypm-web-prod\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xypm-web-prod\\src\\views\\StatisticalReport\\ProjectAccount.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xypm-web-prod\\src\\views\\StatisticalReport\\ProjectAccount.vue","mtime":1681502947140},{"path":"D:\\jenkins\\workspace\\xypm-web-prod\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\xypm-web-prod\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xypm-web-prod\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\r\nimport req from '@/request.js'\r\nimport dictUtils from '@/components/dict/DictSelectUtils.js'\r\nexport default {\r\n name: 'ProjectAccount',\r\n data() {\r\n return {\r\n // url:'',\r\n data: [],\r\n selectData: [],\r\n expandTableData: [],\r\n searchForm: {\r\n id: '',\r\n projectId: '',\r\n createTime: new Date().getFullYear(),\r\n },\r\n importData: {},\r\n loading2: false,\r\n loading: false,\r\n findling: false, //查询加载\r\n pageSizes: [10, 20, 50, 100, 200, 300, 500],\r\n pagerCount: 11,\r\n pagination: {page: 1, pageSize: 10, total: 0},\r\n pageResult: {\r\n page: 1,\r\n pageSize: 20,\r\n total: 0,\r\n },\r\n queryFilter: {\r\n querys:[]\r\n },\r\n size: '',\r\n projectStatusList:[],\r\n statusList:[], //项目状态列表\r\n dialogVisible: false,\r\n detailData: [],\r\n defaultExpandAll: false,\r\n expandRowKeys: [],\r\n projectType: {},\r\n expandLoading: false,\r\n optionYears: [], //顶部搜索年份选择数组\r\n }\r\n },\r\n created() {\r\n this.getYear()\r\n this.projectStatusList = dictUtils.getDictItemsFromCache('xmgl-xmzt')\r\n this.projectStatusList.forEach(item=>{\r\n if(item.value<12){\r\n this.statusList.push({\r\n value:'1',name:'在建'\r\n })\r\n }else{\r\n this.statusList.push({\r\n value:'2',name:'新建'\r\n })\r\n }\r\n })\r\n this.statusList = this.statusList.filter(function(item,index,self){\r\n return self.findIndex(el=>el.value==item.value)===index\r\n })\r\n },\r\n methods: {\r\n //获取顶部搜索的年份区间\r\n getYear() {\r\n const myDate = new Date()\r\n const startYear = 2006 //起始年份\r\n const endYear = myDate.getFullYear() //结束年份\r\n for (let i = endYear; i >= startYear; i--) {\r\n this.optionYears.push({\r\n label: i + '年',\r\n value: i,\r\n })\r\n }\r\n },\r\n handleExport() {\r\n this.loading2 = true\r\n let query = [\r\n {\r\n group: 'defaultQueryGroup',\r\n operation: 'EQUAL',\r\n relation: 'AND',\r\n property: 'parent_id_',\r\n value: 'root',\r\n },\r\n ]\r\n let search = {\r\n id_: this.searchForm.projectId,\r\n PROJECT_TYPE_: this.searchForm.id,\r\n CREATE_TIME_: this.searchForm.createTime,\r\n // project_status_: this.searchForm.prijectStatus,\r\n // decision_basis_type_: this.searchForm.decisionBasisType,\r\n // bidding_charge_type_: this.searchForm.biddingChargeType\r\n }\r\n for (let i in search) {\r\n if (search[i] && i !== 'CREATE_TIME_') {\r\n query.push({\r\n group: 'advance',\r\n operation: 'EQUAL',\r\n property: i,\r\n relation: 'AND',\r\n value: search[i],\r\n })\r\n } else if (search[i] && i == 'CREATE_TIME_') {\r\n query.push({\r\n group: 'createTimeGroup',\r\n operation: 'BETWEEN',\r\n relation: 'AND',\r\n property: 'COMMENCEMENT_TIME_',\r\n value: [\r\n `${this.searchForm.createTime}-01-01 00:00:00`,\r\n `${this.searchForm.createTime}-12-31 23:59:59`,\r\n ],\r\n })\r\n // {\r\n // group: 'createTimeGroup',\r\n // operation: 'BETWEEN',\r\n // parentGroup: '',\r\n // property: 'COMMENCEMENT_TIME_',\r\n // relation: 'OR',\r\n // value: [\r\n // `${search[i]}-01-01 00:00:00`,\r\n // `${search[i]}-12-31 23:59:59`,\r\n // ],\r\n // },\r\n // {\r\n // group: 'createTimeSubGroup',\r\n // operation: 'LESS',\r\n // parentGroup: 'createTimeGroup',\r\n // property: 'PROJECT_STATUS_',\r\n // relation: 'AND',\r\n // value: '12',\r\n // }\r\n }\r\n }\r\n let param = {\r\n pageBean: {\r\n page: 1,\r\n pageSize: -1,\r\n showTotal: true,\r\n },\r\n\r\n querys: query,\r\n }\r\n req\r\n .downloadPostCopy(\r\n '${cqxy}/biz/ledger/projectLedger/v1/exportDataToExcel',\r\n param\r\n )\r\n .then((res) => {\r\n if (res.status == 200) {\r\n this.loading2 = false\r\n this.$message.success('导出成功')\r\n } else {\r\n this.loading2 = false\r\n this.$message.error('导出失败')\r\n }\r\n })\r\n },\r\n handleExpandAll() {\r\n this.defaultExpandAll = !this.defaultExpandAll\r\n if (!this.defaultExpandAll) {\r\n this.expandRowKeys = []\r\n } else {\r\n this.expandRowKeys = this.data.map((item) => {\r\n if (item.name !== '总计') {\r\n return item.id\r\n }\r\n })\r\n }\r\n },\r\n /* 导入回调事件 */\r\n load() {},\r\n handleDialogCancel() {\r\n this.dialogVisible = false\r\n },\r\n handleDialogClose() {\r\n this.dialogVisible = false\r\n },\r\n handleRowDBClick(data, id) {\r\n this.detailData = data\r\n this.dialogVisible = true\r\n },\r\n /* 内部表格分页方法 */\r\n handleSizeChange(pageSize, id) {\r\n let pagination = {...this.data[id].pagination, pageSize}\r\n this.$set(this.data[id].pagination, 'page', pagination.page)\r\n this.$set(this.data[id].pagination, 'pageSize', pagination.pageSize)\r\n this.$set(this.data[id].pagination, 'total', pagination.total)\r\n this.handleExpandChange(this.projectType)\r\n },\r\n handleCurrentChange(page, id) {\r\n let pagination = {...this.data[id].pagination, page}\r\n this.$set(this.data[id].pagination, 'page', pagination.page)\r\n this.$set(this.data[id].pagination, 'pageSize', pagination.pageSize)\r\n this.$set(this.data[id].pagination, 'total', pagination.total)\r\n this.handleExpandChange(this.projectType, true)\r\n },\r\n handleExpandChange(row, doNotResetPage) {\r\n // console.log(row, 'row')\r\n this.expandLoading = true\r\n this.projectType = {\r\n value: row.value,\r\n id: row.id,\r\n }\r\n // 默认重置页码为第一页\r\n if (!doNotResetPage) {\r\n if (row.id) {\r\n this.data[row.id].pagination.page = 1\r\n }\r\n }\r\n let param = {}\r\n if (row.id) {\r\n param = {\r\n pageBean: {\r\n ...this.data[row.id].pagination,\r\n showTotal: true,\r\n },\r\n querys: [\r\n {\r\n operation: 'EQUAL',\r\n property: 'PROJECT_TYPE_',\r\n relation: 'AND',\r\n value: this.projectType.value,\r\n },\r\n ],\r\n }\r\n } else {\r\n param = {\r\n pageBean: {\r\n ...this.pagination,\r\n showTotal: true,\r\n },\r\n querys: [\r\n {\r\n operation: 'EQUAL',\r\n property: 'PROJECT_TYPE_',\r\n relation: 'AND',\r\n value: this.projectType.value,\r\n },\r\n ],\r\n }\r\n }\r\n param.querys.push({\r\n group: 'defaultQueryGroup',\r\n operation: 'EQUAL',\r\n relation: 'AND',\r\n property: 'parent_id_',\r\n value: 'root',\r\n })\r\n if (this.searchForm.createTime) {\r\n param.querys.push(\r\n {\r\n group: 'createTimeGroup',\r\n operation: 'BETWEEN',\r\n parentGroup: '',\r\n property: 'commencement_time_',\r\n relation: 'AND',\r\n value: [\r\n `${this.searchForm.createTime}-01-01 00:00:00`,\r\n `${this.searchForm.createTime}-12-31 23:59:59`,\r\n ],\r\n },\r\n )\r\n }\r\n delete param.pageBean.total\r\n this.$http\r\n .post('${cqxy}/biz/ledger/projectLedger/v1/page', param)\r\n .then((resp) => {\r\n console.log(resp, 'respssss')\r\n this.expandLoading = false\r\n let response = resp.data.value\r\n if (row.id) {\r\n this.$set(this.data[row.id], 'expandTableData', response.data)\r\n this.$set(this.data[row.id].pagination, 'page', response.page)\r\n this.$set(\r\n this.data[row.id].pagination,\r\n 'pageSize',\r\n response.pageSize\r\n )\r\n this.$set(this.data[row.id].pagination, 'total', response.total)\r\n }\r\n console.log(this.data, 'this.data')\r\n // this.pagination = {\r\n // page: response.page,\r\n // pageSize: response.pageSize,\r\n // total: response.total\r\n // }\r\n })\r\n },\r\n loadData(param, cb) {\r\n this.queryFilter.querys = [\r\n {\r\n group: 'defaultQueryGroup',\r\n operation: 'EQUAL',\r\n relation: 'AND',\r\n property: 'parent_id_',\r\n value: 'root',\r\n },\r\n ]\r\n let search = {\r\n id_: this.searchForm.projectId,\r\n PROJECT_TYPE_: this.searchForm.id,\r\n CREATE_TIME_: this.searchForm.createTime,\r\n }\r\n for (let i in search) {\r\n if (search[i] && i !== 'CREATE_TIME_') {\r\n this.queryFilter.querys.push({\r\n group: 'advance',\r\n operation: 'EQUAL',\r\n property: i,\r\n relation: 'AND',\r\n value: search[i],\r\n })\r\n } else if (search[i] && i == 'CREATE_TIME_') {\r\n this.queryFilter.querys.push({\r\n group: 'createTimeGroup',\r\n operation: 'BETWEEN',\r\n relation: 'AND',\r\n property: 'COMMENCEMENT_TIME_',\r\n value: [\r\n `${this.searchForm.createTime}-01-01 00:00:00`,\r\n `${this.searchForm.createTime}-12-31 23:59:59`,\r\n ],\r\n })\r\n }\r\n }\r\n this.selectData = []\r\n this.$http\r\n .post('${yhxt}/biz/ledger/projectLedger/v1/typeData', this.queryFilter)\r\n .then((res) => {\r\n if (res.data.state) {\r\n console.log(res,'res');\r\n res.data.value.forEach((item, index) => {\r\n item.id = index\r\n if (item.name == '总计' || Number(item.total) == 0) {\r\n item.hasChildren = 'false'\r\n } else {\r\n item.hasChildren = true\r\n this.selectData.push({\r\n name: item.name,\r\n id: item.value,\r\n })\r\n }\r\n })\r\n this.data = res.data.value\r\n this.data.forEach((item, index) => {\r\n this.projectType = {\r\n name: item.name,\r\n id: item.id,\r\n value: item.value,\r\n }\r\n item.expandTableData = []\r\n item.pagination = {page: 1, pageSize: 10, total: 0}\r\n })\r\n } else {\r\n this.$message.error(res.data.message)\r\n }\r\n })\r\n if (cb) {\r\n cb()\r\n }\r\n },\r\n findinfo() {\r\n this.loadData()\r\n this.findling = true\r\n this.$refs.projectInfo.getProjectData(this.searchForm.createTime)\r\n if (this.searchForm.id) {\r\n this.defaultExpandAll = !this.defaultExpandAll\r\n this.expandRowKeys = this.data.map((item) => {\r\n if (item.name !== '总计' && item.id === this.searchForm.id) {\r\n return item.id\r\n }\r\n })\r\n }\r\n if (this.searchForm.projectId || this.searchForm.createTime) {\r\n this.defaultExpandAll = true\r\n this.expandRowKeys = this.data.map((item) => {\r\n if (item.name !== '总计') {\r\n return item.id\r\n }\r\n })\r\n }\r\n let query = [\r\n {\r\n group: 'defaultQueryGroup',\r\n operation: 'EQUAL',\r\n relation: 'AND',\r\n property: 'parent_id_',\r\n value: 'root',\r\n },\r\n ]\r\n let search = {\r\n id_: this.searchForm.projectId,\r\n PROJECT_TYPE_: this.searchForm.id,\r\n CREATE_TIME_: this.searchForm.createTime,\r\n // project_status_: this.searchForm.projectStatus,\r\n // decision_basis_type_: this.searchForm.decisionBasisType,\r\n // bidding_charge_type_: this.searchForm.biddingChargeType\r\n }\r\n let projectStatus = ''\r\n if(this.searchForm.projectStatus==1){\r\n projectStatus = '12'\r\n }\r\n if(this.searchForm.projectStatus==2){\r\n projectStatus = ''\r\n }\r\n for (let i in search) {\r\n if (search[i] && i !== 'CREATE_TIME_') {\r\n query.push({\r\n group: 'advance',\r\n operation: 'EQUAL',\r\n property: i,\r\n relation: 'AND',\r\n value: search[i],\r\n },\r\n // {\r\n // group: 'createTimeSubGroup',\r\n // operation: 'LESS_EQUAL',\r\n // parentGroup: 'createTimeGroup',\r\n // property: 'commencement_time_',\r\n // relation: 'OR',\r\n // value: `${this.searchForm.createTime}-12-31 23:59:59`,\r\n // },\r\n // {\r\n // group: 'createTimeSubGroup',\r\n // operation: 'LESS',\r\n // parentGroup: 'createTimeGroup',\r\n // property: 'PROJECT_STATUS_',\r\n // relation: 'AND',\r\n // value: '12',\r\n // }\r\n )\r\n } else if (search[i] && i == 'CREATE_TIME_') {\r\n query.push({\r\n group: 'createTimeGroup',\r\n operation: 'BETWEEN',\r\n parentGroup: '',\r\n property: 'commencement_time_',\r\n relation: 'AND',\r\n value: [\r\n `${search[i]}-01-01 00:00:00`,\r\n `${search[i]}-12-31 23:59:59`,\r\n ],\r\n },{\r\n group: 'createTimeSubGroup',\r\n operation: 'LESS_EQUAL',\r\n parentGroup: 'createTimeGroup',\r\n property: 'commencement_time_',\r\n relation: 'OR',\r\n value: `${this.searchForm.createTime}-12-31 23:59:59`,\r\n },\r\n {\r\n group: 'createTimeSubGroup',\r\n operation: 'LESS',\r\n parentGroup: 'createTimeGroup',\r\n property: 'PROJECT_STATUS_',\r\n relation: 'AND',\r\n value: projectStatus,\r\n })\r\n }\r\n }\r\n if(projectStatus==''){\r\n query.splice(query.length-2)\r\n }\r\n let data = {\r\n pageBean: {\r\n page: -1,\r\n pageSize: -1,\r\n showTotal: true,\r\n },\r\n querys: query,\r\n }\r\n this.$http\r\n .post('${cqxy}/biz/ledger/projectLedger/v1/page', data)\r\n .then((resp) => {\r\n console.log(resp, 'expandTableData')\r\n this.expandTableData = resp.data.value.data\r\n this.selectData.forEach((item) => {\r\n this.expandTableData.forEach((val) => {\r\n if (item.projectType == item.id) {\r\n item.expandTableData.push(val)\r\n }\r\n })\r\n })\r\n this.data.forEach((item) => {\r\n this.expandTableData.forEach((val) => {\r\n if (item.value == val.projectType) {\r\n item.expandTableData.push(val)\r\n }\r\n })\r\n })\r\n this.handleExpandChange(this.projectType, false)\r\n this.findling = false\r\n this.pageResult = {\r\n page: resp.data.value.page,\r\n pageSize: resp.data.value.pageSize,\r\n total: resp.data.value.total,\r\n }\r\n })\r\n },\r\n /* 重置清除查询字段 */\r\n handleReset() {\r\n this.searchForm = {\r\n id: '',\r\n projectId: '',\r\n projectStatus: '',\r\n decisionBasisType: '',\r\n biddingChargeType: '',\r\n }\r\n this.selectData = []\r\n this.expandRowKeys = []\r\n this.defaultExpandAll = false\r\n this.$refs.AtTable.load()\r\n },\r\n },\r\n}\r\n",null]}