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