{"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\\ProcessManagement\\ScheduleManagement\\fundPlan.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xypm-web-prod\\src\\views\\ProcessManagement\\ScheduleManagement\\fundPlan.vue","mtime":1702930191761},{"path":"D:\\jenkins\\workspace\\xypm-web-prod\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"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\r\nimport ProjectInfoDialog from '@/components/dialog/ProjectInfoDialog.vue'\r\nimport utils from '@/utils.js'\r\nimport req from '@/request.js'\r\nconst BigNumber = require('bignumber.js')\r\nexport default {\r\n name: 'fundPlan',\r\n components: {\r\n ProjectInfoDialog,\r\n },\r\n data() {\r\n return {\r\n total: {\r\n projectName: '合计',\r\n contractDate: '----',\r\n purpose: '----',\r\n unitNname: '----',\r\n contractAmount: 0,\r\n hasNew: '----',\r\n hasSpecial: '----',\r\n remarks: '----',\r\n },\r\n selected: {\r\n numbers: 0,\r\n money: '0',\r\n },\r\n options: [\r\n {label: '是', value: '是'},\r\n {label: '否', value: '否'},\r\n ],\r\n options2: [\r\n {label: '是', value: '是'},\r\n {label: '否', value: '否'},\r\n ],\r\n searchForm: {\r\n purpose: '',\r\n contractDate: '',\r\n },\r\n rules: {},\r\n form: {},\r\n loading: false,\r\n dialogVisible: false,\r\n data: [],\r\n pageResult: {\r\n page: 1,\r\n pageSize: 20,\r\n total: 0,\r\n },\r\n dialogTitle: '添加',\r\n importData: {\r\n title: '资金计划导入',\r\n templateName: '资金计划模板.xls',\r\n downloadUrl: './../static/excel/fundPlan.xlsx',\r\n importUrl:\r\n window.context.cqxy + '/biz/contract/fundPlan/v1/importExcelData',\r\n projectId: '',\r\n contractId: '',\r\n },\r\n routerParams: null,\r\n }\r\n },\r\n mounted() {\r\n this.routerParams = JSON.parse(sessionStorage.getItem('routerParams'))\r\n this.importData.projectId = this.routerParams.project.id\r\n this.importData.contractId = this.routerParams.contract.id\r\n },\r\n computed: {\r\n deleteUrl() {\r\n return window.context.cqxy + '/biz/contract/fundPlan/v1/delete'\r\n },\r\n },\r\n methods: {\r\n handleFile(file) {\r\n this.form.accessoryInfo = file\r\n },\r\n //重置\r\n handleReset() {\r\n this.searchForm.purpose = ''\r\n this.searchForm.contractDate = ''\r\n this.$refs['searchForm'].resetFields()\r\n this.pageResult = {\r\n page: 1,\r\n pageSize: 20,\r\n total: 0,\r\n }\r\n this.$nextTick(() => {\r\n this.$refs.AtTable.load()\r\n })\r\n },\r\n load() {\r\n this.$refs.AtTable.load()\r\n },\r\n\r\n handleExport() {\r\n this.loading = true\r\n let params = {\r\n pageBean: {\r\n page: 1,\r\n pageSize: -1,\r\n showTotal: true,\r\n },\r\n querys: [\r\n {\r\n group: 'main',\r\n operation: 'EQUAL',\r\n parentGroup: '',\r\n property: 'pm.ID_',\r\n relation: 'AND',\r\n value: this.$route.params.id,\r\n },\r\n {\r\n group: 'main',\r\n operation: 'EQUAL',\r\n parentGroup: '',\r\n property: 'contract_id_',\r\n relation: 'AND',\r\n value: this.routerParams.contract.id,\r\n },\r\n ],\r\n }\r\n if (this.data.length > 0) {\r\n req\r\n .downloadPostCopy(\r\n '${cqxy}/biz/contract/fundPlan/v1/exportDataToExcel',\r\n params\r\n )\r\n .then((res) => {\r\n if (res.status === 200) {\r\n this.loading = false\r\n this.$message.success('导出成功')\r\n } else {\r\n this.loading = false\r\n this.$message.error('导出失败')\r\n }\r\n })\r\n } else {\r\n this.loading = false\r\n this.$message.warning('暂无数据导出')\r\n }\r\n },\r\n\r\n loadData(param, cb) {\r\n this.routerParams = JSON.parse(sessionStorage.getItem('routerParams'))\r\n let querys = []\r\n let search = {\r\n purpose_: this.searchForm.purpose,\r\n contract_date_: this.searchForm.contractDate,\r\n }\r\n for (let i in search) {\r\n if (search[i]) {\r\n querys.push({\r\n group: 'main',\r\n operation: 'EQUAL',\r\n property: i,\r\n relation: 'AND',\r\n value: search[i],\r\n })\r\n }\r\n }\r\n if (param.querys && param.querys.length) {\r\n param.querys.push(...querys)\r\n } else {\r\n param.querys = querys\r\n }\r\n this.$http\r\n .post('${cqxy}/biz/contract/fundPlan/v1/page', param)\r\n .then(\r\n (resp) => {\r\n let response = resp.data.value\r\n this.selected = {\r\n numbers: 0,\r\n money: '0',\r\n }\r\n let data = response.rows\r\n let total = this.calculationTotal(data, 'contractAmount')\r\n this.total.contractAmount = total\r\n data = data.map((item) => {\r\n item.projectName = this.$route.params.projectName\r\n return item\r\n })\r\n if (data.length !== 0) {\r\n data.push(this.total)\r\n }\r\n this.pageResult = {\r\n page: response.page,\r\n pageSize: response.pageSize,\r\n total: response.total,\r\n }\r\n },\r\n (error) => {\r\n reject(error)\r\n }\r\n )\r\n .finally(() => {\r\n if (cb) {\r\n cb()\r\n }\r\n })\r\n },\r\n findinfo() {\r\n this.$refs.AtTable.load()\r\n },\r\n handleAdd() {\r\n this.dialogVisible = true\r\n let date = new Date()\r\n this.form = {\r\n projectName: this.$route.params.projectName,\r\n projectId: this.$route.params.id,\r\n contractId: this.routerParams.contract.id,\r\n purpose: '',\r\n unitNname: this.routerParams.contract.secondParty,\r\n contractDate: utils.formatMothYear(date),\r\n contractAmount: '',\r\n hasNew: '',\r\n hasSpecial: '',\r\n remarks: '',\r\n accessoryInfo: [],\r\n }\r\n },\r\n handleSelect(selection) {\r\n selection.forEach((item, index) => {\r\n if (item.projectName === '合计') {\r\n selection.splice(index, 1)\r\n }\r\n })\r\n this.selected.numbers = selection.length\r\n let total = this.calculationTotal(selection, 'contractAmount')\r\n this.selected.money = total\r\n },\r\n handleFocusProject() {\r\n this.$refs.project.open()\r\n },\r\n handleSelectProject(data) {\r\n this.form.projectId = data.id\r\n this.form.projectInfo.projectCode = data.projectCode\r\n this.form.projectInfo.projectName = data.projectName\r\n },\r\n handleRowDBClick(data) {\r\n this.dialogVisible = true\r\n this.form = data\r\n },\r\n //保存\r\n handleDialogSubmit() {\r\n if (this.form.accessoryInfo && this.form.accessoryInfo.length > 0) {\r\n this.form.accessoryInfo.forEach((item) => {\r\n if (item.id) {\r\n delete item.id\r\n }\r\n })\r\n }\r\n this.$http\r\n .post('${cqxy}/biz/contract/fundPlan/v1/save', this.form)\r\n .then((res) => {\r\n if (res.data.state) {\r\n this.$message.success(res.data.message)\r\n this.$refs.AtTable.load()\r\n this.dialogVisible = false\r\n } else {\r\n this.$message.error(res.data.message)\r\n }\r\n })\r\n },\r\n handleDialogCancel() {\r\n this.dialogVisible = false\r\n },\r\n //返回\r\n handleBack() {\r\n this.$router.push({\r\n name: 'ProjectFlowChart',\r\n params: {\r\n id: this.$route.params.id,\r\n alias: this.routerParams.alias,\r\n },\r\n })\r\n },\r\n // 计算列表合同金额合计金额\r\n calculationTotal(data, key) {\r\n let total = new BigNumber(0)\r\n if (key && data && data.length !== 0) {\r\n data.forEach((item) => {\r\n if (item[key]) {\r\n total = total.plus(item[key])\r\n } else {\r\n total = total.plus(0)\r\n }\r\n })\r\n }\r\n return this.moneyFormatter(total)\r\n },\r\n cellClassNameFn(row) {\r\n // 列表项目名称为【合计】隐藏复选框\r\n if (row.row.projectName === '合计') {\r\n return 'table-column-hidden'\r\n }\r\n },\r\n },\r\n}\r\n",null]}