{"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\\MonthlyEngineeringReport.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xypm-web-prod\\src\\views\\ProcessManagement\\ScheduleManagement\\MonthlyEngineeringReport.vue","mtime":1733124527856},{"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//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\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 ProjectContractDialog from '@/components/dialog/ProjectContractDialog.vue'\r\nimport req from '@/request.js'\r\nimport utils from '@/utils.js'\r\nconst BigNumber = require('bignumber.js')\r\nexport default {\r\n name: 'MonthlyEngineeringReport',\r\n components: {\r\n ProjectInfoDialog,\r\n ProjectContractDialog\r\n },\r\n props: {\r\n pid: {\r\n type: String,\r\n default: '',\r\n },\r\n isShow: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n },\r\n data() {\r\n return {\r\n total: {\r\n projectInfo: {\r\n projectName: '合计',\r\n },\r\n portDate: '----',\r\n progressDescription: '----',\r\n imageProgress: '----',\r\n engineeringChange: 0,\r\n projectOvervie: '----',\r\n remarks: '----',\r\n },\r\n selected: {\r\n numbers: 0,\r\n money: '0',\r\n },\r\n importData: {\r\n title: '工程月报导入',\r\n templateName: '工程月报模板.xls',\r\n downloadUrl: '/../fvue/static/excel/MonthlyEngineeringReport.xlsx',\r\n importUrl:\r\n window.context.cqxy +\r\n '/biz/processManagement/progressManageReport/v1/importExcelData',\r\n showProject: true,\r\n projectId: '',\r\n showContract:true\r\n // params: {\r\n // portDate: '',\r\n // portType: '',\r\n // portUnit: '',\r\n // // portUserId: '',\r\n // portUserName: '',\r\n // },\r\n },\r\n loading: false,\r\n projectObj: [], //获取的所有项目数组\r\n labelPosition: 'right', //表单对齐方式\r\n searchForm: {\r\n projectId: '',\r\n portDate: '',\r\n portType: '',\r\n portUserName: '',\r\n }, //顶部搜索参数\r\n data: [], //表格数据\r\n pageResult: {\r\n page: 1,\r\n pageSize: 20,\r\n total: 0,\r\n },\r\n form: {\r\n portUserId: '',\r\n portUserName: '',\r\n imageProgress: 0,\r\n investmentRatio: '0.75',\r\n engineeringChange: 0,\r\n projectOvervie: 0,\r\n projectInfo: {\r\n projectName: '',\r\n projectCode: '',\r\n },\r\n contractInfo: {\r\n name: '',\r\n id: '',\r\n },\r\n accessoryInfo: [],\r\n },\r\n projectMoney: '',\r\n totalMoney: '',\r\n dialogVisible: false,\r\n dialogTitle: '添加',\r\n //表单验证\r\n rules: {\r\n 'projectInfo.projectName': {\r\n required: true,\r\n message: '项目名称不能为空',\r\n trigger: 'blur',\r\n },\r\n 'contractInfo.name': {\r\n required: true,\r\n message: '请选择合同',\r\n trigger: 'blur',\r\n },\r\n // 'projectInfo.projectCode': {\r\n // required: true,\r\n // message: '项目代码不能为空',\r\n // trigger: 'blur',\r\n // },\r\n portDate: {\r\n required: true,\r\n message: '审定日期不能为空',\r\n trigger: 'blur',\r\n },\r\n progressDescription: {\r\n required: true,\r\n message: '审定支付金额不能为空',\r\n trigger: 'blur',\r\n },\r\n // portUnit: {\r\n // required: true,\r\n // message: '填报方不能为空',\r\n // trigger: 'blur',\r\n // },\r\n // portUserName: {\r\n // required: true,\r\n // message: '经办人不能为空',\r\n // trigger: 'blur',\r\n // },\r\n },\r\n }\r\n },\r\n computed: {\r\n deleteUrl: function () {\r\n return (\r\n window.context.cqxy +\r\n '/biz/processManagement/progressManageReport/v1/delete'\r\n )\r\n },\r\n //计算工程进度的值\r\n // \"form.imageProgress\": {\r\n // get:function() {\r\n // let num =\r\n // Math.round(\r\n // (this.form.progressDescription / this.projectMoney) * 100\r\n // ) / 100\r\n // return Number.isNaN(num) ? 0 : num == 'Infinity' ? 100 : num\r\n // },\r\n // set: function(newValue) {\r\n // this.form.imageProgress = newValue + '%'\r\n // }\r\n // },\r\n //计算累计总投资的值\r\n // 'form.projectOvervie': {\r\n // get: () => {\r\n // let num =\r\n // Number(this.form.progressDescription) + Number(this.totalMoney)\r\n // return Number.isNaN(num) ? 0 : num !== 'undefined' ? num : 0\r\n // },\r\n // set: newValue => {\r\n // this.form.projectOvervie = newValue\r\n // }\r\n // },\r\n // //计算本月产值的值\r\n // 'form.engineeringChange': {\r\n // get: () => {\r\n // let num = Math.round((this.form.progressDescription / 75) * 100) / 100\r\n // return Number.isNaN(num) ? 0 : num\r\n // },\r\n // set: newValue => {\r\n // this.form.engineeringChange = newValue + '%'\r\n // }\r\n // }\r\n },\r\n watch: {\r\n // 'form.progressDescription': function(newValue, oldValue) {\r\n // newValue = newValue ? newValue : 0\r\n // let num1 = FormMath.toNumber(newValue)\r\n // let num2 = FormMath.toNumber(this.projectMoney) * 10000\r\n // num2 = num2 == 0 ? 1 : num2 //解决可能出现的inifity,例2/0 = inifity\r\n // let num3 = FormMath.toNumber(this.totalMoney)\r\n // this.form.imageProgress = FormMath.tofixed((num1 / num2) * 100, 2)\r\n // let ary = [num1, num3]\r\n // this.form.projectOvervie = FormMath.tofixed(FormMath.sum(ary), 2)\r\n // this.form.engineeringChange = FormMath.tofixed(num1 / 0.75, 2)\r\n // },\r\n projectMoney: function (newValue, oldValue) {\r\n newValue = newValue == 0 ? 1 : newValue\r\n let num1 = FormMath.toNumber(this.form.progressDescription)\r\n num1 = num1 ? num1 : 0\r\n let num2 = FormMath.toNumber(newValue) * 10000\r\n let num3 = FormMath.toNumber(this.totalMoney)\r\n // this.form.imageProgress = FormMath.tofixed((num1 / num2) * 100, 2)\r\n // let ary = [num1, num3]\r\n // this.form.projectOvervie = FormMath.tofixed(FormMath.sum(ary), 2)\r\n this.form.projectOvervie = num3\r\n // this.form.engineeringChange = FormMath.tofixed(num1 / 0.75, 2)\r\n let num4 = this.form.investmentRatio\r\n this.form.engineeringChange = FormMath.tofixed(num1 / num4, 2)\r\n },\r\n totalMoney: function (newValue, oldValue) {\r\n let num1 = FormMath.toNumber(this.form.progressDescription)\r\n num1 = num1 ? num1 : 0\r\n let num2 = FormMath.toNumber(this.projectMoney) * 10000\r\n num2 = num2 == 0 ? 1 : num2\r\n let num3 = FormMath.toNumber(newValue)\r\n // this.form.imageProgress = FormMath.tofixed((num1 / num2) * 100, 2)\r\n // let ary = [num1, num3]\r\n // this.form.projectOvervie = FormMath.tofixed(FormMath.sum(ary), 2)\r\n this.form.projectOvervie = num3\r\n let num4 = this.form.investmentRatio\r\n this.form.engineeringChange = FormMath.tofixed(num1 / num4, 2)\r\n },\r\n },\r\n mounted() {\r\n this.initProjectAll()\r\n },\r\n\r\n methods: {\r\n //获取投资总和\r\n gettotalMoney(projectId) {\r\n let params = {\r\n projectId: projectId,\r\n // registerDate: this.getDate(),\r\n registerDate: this.form.portDate,\r\n }\r\n this.$http\r\n .post(\r\n '${cqxy}/biz/processManagement/progressManageReport/v1/getInvestmentTotal',\r\n params\r\n )\r\n .then((res) => {\r\n this.totalMoney = res.data.value\r\n })\r\n },\r\n //重置\r\n handleReset() {\r\n this.searchForm.projectId = ''\r\n this.searchForm.portDate = ''\r\n this.searchForm.portType = ''\r\n this.searchForm.portUserName = ''\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.$refs['searchForm'].resetFields()\r\n this.$nextTick(() => {\r\n this.$refs.AtTable.load()\r\n })\r\n },\r\n handleSelectProject(data) {\r\n this.form.portUserName = data.projectManager\r\n this.form.projectInfo.projectName = data.projectName\r\n this.form.projectInfo.projectCode = data.projectCode\r\n this.form.projectId = data.id\r\n this.gettotalMoney(this.form.projectId)\r\n this.projectMoney = data.projectMoney\r\n this.$refs.ruleForm.clearValidate()\r\n },\r\n //打开选择项目弹框\r\n handleFocusProject() {\r\n this.$refs.project.open()\r\n },\r\n //导入后重新加载数据\r\n load() {\r\n this.$refs.AtTable.load()\r\n },\r\n //导出\r\n handleExport() {\r\n let query = []\r\n let search = {\r\n 'pm.ID_': this.searchForm.projectId,\r\n port_type_: this.searchForm.portType,\r\n port_date_: this.searchForm.portDate,\r\n }\r\n if (!this.isShow) {\r\n search['pm.ID_'] = this.pid\r\n }\r\n for (let i in search) {\r\n if (search[i]) {\r\n query.push({\r\n group: 'advance',\r\n operation: 'LIKE',\r\n property: i,\r\n relation: 'AND',\r\n value: search[i],\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 sorter: [],\r\n }\r\n req\r\n .downloadPostCopy(\r\n '${cqxy}/biz/processManagement/progressManageReport/v1/exportDataToExcel',\r\n param\r\n )\r\n .then((res) => {\r\n if (res.status == 200) {\r\n this.$message.success('导出成功')\r\n } else {\r\n this.$message.error('导出失败')\r\n }\r\n })\r\n },\r\n //获取附件信息\r\n accessoryInfo(info) {\r\n this.form.accessoryInfo = info\r\n },\r\n initProjectAll() {\r\n //初始获取所有项目数据\r\n if (this.isShow) {\r\n this.$http.post('${cqxy}/biz/projectManagement/pm/v1/All').then(\r\n (res) => {\r\n this.projectObj = res.data.value\r\n },\r\n (error) => {\r\n reject(error)\r\n }\r\n )\r\n } else {\r\n let params = {\r\n pageBean: {\r\n page: 1,\r\n pageSize: 500,\r\n total: 0,\r\n },\r\n querys: [\r\n {\r\n group: 'main',\r\n operation: 'EQUAL',\r\n property: 'id',\r\n relation: 'AND',\r\n value: this.pid,\r\n },\r\n ],\r\n }\r\n this.$http\r\n .post('${cqxy}/biz/projectManagement/pm/v1/page', params)\r\n .then((res) => {\r\n if (res.data.state) {\r\n let resp = res.data.value\r\n this.projectObj = resp.rows\r\n }\r\n })\r\n }\r\n },\r\n //查询\r\n handleSearch() {\r\n this.$refs.AtTable.load()\r\n },\r\n afterSaveData() {\r\n setTimeout(() => {\r\n this.form = {\r\n projectId: '',\r\n portDate: '',\r\n portType: '',\r\n // portUserId: '',\r\n portUserName: '',\r\n projectInfo: {\r\n projectName: '',\r\n projectCode: '',\r\n },\r\n accessoryInfo: [],\r\n }\r\n this.dialogVisible = false\r\n this.$refs.AtTable.load()\r\n }, 500)\r\n },\r\n handleAdd() {\r\n this.isEdit = false\r\n this.dialogTitle = '添加'\r\n this.dialogVisible = true\r\n let date = new Date()\r\n // let currentUser = JSON.parse(window.sessionStorage.currentUser)\r\n this.form = {\r\n projectId: '',\r\n portDate: utils.formatDateYear(date),\r\n portType: 2,\r\n // portUserId: currentUser.userId,\r\n // portUserName: currentUser.username,\r\n portUserName: '',\r\n imageProgress: 0,\r\n investmentRatio: '0.75',\r\n engineeringChange: 0,\r\n projectOvervie: 0,\r\n progressDescription:'0',\r\n contractId:'',\r\n contractName:'',\r\n projectInfo: {\r\n projectName: '',\r\n projectCode: '',\r\n },\r\n contractInfo: {\r\n name: '',\r\n id: '',\r\n },\r\n accessoryInfo: [],\r\n }\r\n if (this.isShow) {\r\n let selectedProject = this.projectObj.find((item) => {\r\n if (item.currentProject && item.currentProject == 1) {\r\n return item.currentProject == 1\r\n }\r\n })\r\n this.form.portUserName = selectedProject.portUserName\r\n this.form.projectInfo.projectName = selectedProject.projectName\r\n this.form.projectInfo.projectCode = selectedProject.projectCode\r\n this.form.projectId = selectedProject.id\r\n this.form.portUserName = selectedProject.projectManager\r\n this.projectMoney = selectedProject.projectMoney\r\n this.gettotalMoney(this.form.projectId)\r\n } else {\r\n //根据项目id查询\r\n this.form.portUserName = this.projectObj[0].portUserName\r\n this.form.projectInfo.projectName = this.projectObj[0].projectName\r\n this.form.projectInfo.projectCode = this.projectObj[0].projectCode\r\n this.form.projectId = this.projectObj[0].id\r\n this.form.portUserName = this.projectObj[0].projectManager\r\n this.projectMoney = this.projectObj[0].projectMoney\r\n this.gettotalMoney(this.form.projectId)\r\n }\r\n },\r\n handleRowDBClick(data) {\r\n this.isEdit = true\r\n if (this.isShow) {\r\n let selectedProject = this.projectObj.find((item) => {\r\n if (item.currentProject && item.currentProject == 1) {\r\n return item.currentProject == 1\r\n }\r\n })\r\n this.form.portUserName = selectedProject.portUserName\r\n this.form.projectInfo.projectName = selectedProject.projectName\r\n this.form.projectInfo.projectCode = selectedProject.projectCode\r\n this.form.projectId = selectedProject.id\r\n this.form.portUserName = selectedProject.projectManager\r\n this.projectMoney = selectedProject.projectMoney\r\n this.gettotalMoney(this.form.projectId)\r\n } else {\r\n //根据项目id查询\r\n this.form.portUserName = this.projectObj[0].portUserName\r\n this.form.projectInfo.projectName = this.projectObj[0].projectName\r\n this.form.projectInfo.projectCode = this.projectObj[0].projectCode\r\n this.form.projectId = this.projectObj[0].id\r\n this.form.portUserName = this.projectObj[0].projectManager\r\n this.projectMoney = this.projectObj[0].projectMoney\r\n this.gettotalMoney(this.form.projectId)\r\n }\r\n this.dialogTitle = '修改'\r\n this.$http\r\n .post(\r\n '${cqxy}/biz/processManagement/progressManageReport/v1/detail/' +\r\n data.id\r\n )\r\n .then((res) => {\r\n this.dialogVisible = true\r\n let response = res.data.value\r\n if (!response.contractInfo) {\r\n let obj = {\r\n contractInfo: {\r\n name:'',\r\n id:''\r\n },\r\n }\r\n this.form = {...response, ...obj}\r\n } else {\r\n this.form = response\r\n }\r\n if( this.form.contractInfo.contractAmount){\r\n this.form.totalInvestment = this.form.contractInfo.contractAmount\r\n }\r\n if( this.form.contractInfo.name ==undefined){\r\n this.form.contractInfo.name =''\r\n }\r\n console.log(this.form);\r\n })\r\n },\r\n\r\n handleSelect(selection) {\r\n selection.forEach((item, index) => {\r\n if (item.projectInfo.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, 'engineeringChange')\r\n this.selected.money = total\r\n },\r\n //打开合同信息\r\n handleFocusContract() {\r\n this.$refs.contract.open(this.form.projectId)\r\n },\r\n //选择合同信息\r\n handleSelectContract(data) {\r\n // console.log(data,'data')\r\n this.form.totalInvestment = data.contractAmount\r\n\r\n if (!data.payee) {\r\n this.form.registerPersonName = data.payeeAccountPhone\r\n } else {\r\n this.form.registerPersonName = data.payee\r\n }\r\n if(this.form.progressDescription == ''){\r\n this.form.progressDescription = '0'\r\n }\r\n \r\n this.form.contractId = data.id\r\n this.form.contractName =data.name\r\n this.form.contractInfo.name = data.name\r\n this.form.contractInfo.id = data.id\r\n this.form.handlerPerson = data.payeeAccount\r\n this.form.registerPersonId = data.payeeContactPhone\r\n\r\n let params = {\r\n projectId: this.form.projectId,\r\n registerDate: this.form.portDate,\r\n contractId: this.form.contractId,\r\n }\r\n this.$http\r\n .post(\r\n '${cqxy}/biz/processManagement/progressManageReport/v1/getInvestmentTotal',\r\n params\r\n )\r\n .then((res) => {\r\n if (res.data.state) {\r\n this.totalMoney = res.data.value\r\n this.form.projectOvervie = res.data.value\r\n this.form.imageProgress = (FormMath.toNumber((this.form.projectOvervie) +FormMath.toNumber(this.form.progressDescription))/(FormMath.toNumber(this.form.totalInvestment)*100)).toFixed(2)\r\n }\r\n })\r\n delete this.$refs.ruleForm.contractInfo.name\r\n this.$nextTick(()=>{\r\n this.$refs.ruleForm.clearValidate('contractInfo.name')\r\n })\r\n },\r\n //取消\r\n handleDialogCancel() {\r\n this.dialogVisible = false\r\n this.form = {\r\n projectId: '',\r\n portDate: '',\r\n portType: '',\r\n portUserId: '',\r\n investmentRatio: '0.75',\r\n portUserName: '',\r\n projectInfo: {\r\n projectName: '',\r\n projectCode: '',\r\n },\r\n contractInfo:{\r\n name:'',\r\n id:''\r\n },\r\n accessoryInfo: [],\r\n }\r\n },\r\n //关闭窗口\r\n handleDialogClose(val) {\r\n this.dialogVisible = false\r\n this.form = {\r\n projectId: '',\r\n portDate: '',\r\n portType: '',\r\n portUserId: '',\r\n portUserName: '',\r\n projectInfo: {\r\n projectName: '',\r\n projectCode: '',\r\n },\r\n accessoryInfo: [],\r\n }\r\n },\r\n //提交保存\r\n handleDialogSubmit(formName) {\r\n console.log(this.form);\r\n this.$refs[formName].validate((valid) => {\r\n if (valid) {\r\n if (this.form.accessoryInfo && this.form.accessoryInfo.length > 0) {\r\n this.loading = true\r\n this.form.decisionBasisType = this.form.decisionBasisType + ''\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.form.imageProgress = this.form.imageProgress + '%'\r\n this.$http\r\n .post(\r\n '${cqxy}/biz/processManagement/progressManageReport/v1/save',\r\n this.form\r\n )\r\n .then((res) => {\r\n if (res.status == 200) {\r\n setTimeout(() => {\r\n this.$message.success(res.data.message)\r\n this.afterSaveData()\r\n }, 500)\r\n } else {\r\n this.$message.error(res.data.message)\r\n }\r\n this.loading = false\r\n })\r\n }\r\n // else if (this.form.accessoryInfo.length === 0) {\r\n // this.$message.error('至少上传一个附件')\r\n // }\r\n else {\r\n this.$message({\r\n message: '*号必填项,不能为空!',\r\n type: 'warning',\r\n })\r\n return false\r\n }\r\n })\r\n },\r\n loadData(param, cb) {\r\n let query = []\r\n let search = {\r\n 'pm.ID_': this.searchForm.projectId,\r\n port_type_: this.searchForm.portType,\r\n port_date_: this.searchForm.portDate,\r\n }\r\n if (!this.isShow) {\r\n search['pm.ID_'] = this.pid\r\n this.importData.projectId = this.pid\r\n }\r\n for (let i in search) {\r\n if (search[i]) {\r\n query.push({\r\n group: 'advance',\r\n operation: 'LIKE',\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(...query)\r\n } else {\r\n param.querys = query\r\n }\r\n this.$http\r\n .post(\r\n '${cqxy}/biz/processManagement/progressManageReport/v1/page',\r\n param\r\n )\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, 'engineeringChange')\r\n this.total.engineeringChange = total\r\n if (data.length !== 0) {\r\n data.push(this.total)\r\n }\r\n this.data = data\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 handleInput(val) {\r\n val = val ? val : 0\r\n let num1 = (FormMath.toNumber(val)+ FormMath.toNumber(this.form.projectOvervie))\r\n let num2 = FormMath.toNumber(this.projectMoney) * 10000\r\n num2 = num2 == 0 ? 1 : num2 //解决可能出现的inifity,例2/0 = inifity\r\n let num3 = FormMath.toNumber(this.totalMoney)\r\n this.form.imageProgress = FormMath.tofixed((num1 / this.form.totalInvestment) * 100, 2)\r\n // let ary = [num1, num3]\r\n // this.form.projectOvervie = FormMath.tofixed(FormMath.sum(ary), 2)\r\n let num5 = FormMath.toNumber(this.form.progressDescription)\r\n this.form.projectOvervie = num3\r\n let num4 = this.form.investmentRatio\r\n this.form.engineeringChange = FormMath.tofixed(num5 / num4, 2)\r\n delete this.$refs.ruleForm.progressDescription\r\n this.$nextTick(()=>{\r\n this.$refs.ruleForm.clearValidate('progressDescription')\r\n delete this.$refs.ruleForm.progressDescription\r\n })\r\n },\r\n handleInvestmentRatio(val) {\r\n let num1 = FormMath.toNumber(this.form.progressDescription)\r\n num1 = num1 ? num1 : 0\r\n this.form.engineeringChange = FormMath.tofixed(num1 / val, 2)\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.projectInfo.projectName === '合计') {\r\n return 'table-column-hidden'\r\n }\r\n },\r\n },\r\n}\r\n",null]}