{"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\\ChangeManagement.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xypm-web\\src\\views\\ProcessManagement\\ChangeManagement.vue","mtime":1723543352512},{"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/es6.regexp.split\";\nimport \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.array.find\";\nimport \"core-js/modules/es6.function.name\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\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 ContractInfoDialog from '@/components/dialog/ContractInfoDialog.vue';\nimport req from '@/request.js';\nvar BigNumber = require('bignumber.js');\nexport default {\n  name: 'ChangeManagement',\n  components: {\n    ProjectInfoDialog: ProjectInfoDialog,\n    ContractInfoDialog: ContractInfoDialog\n  },\n  props: {\n    pid: {\n      type: String,\n      default: ''\n    },\n    isShow: {\n      type: Boolean,\n      default: true\n    },\n    alias: {\n      type: String,\n      default: ''\n    }\n  },\n  data: function data() {\n    return {\n      total_: {\n        projectInfo: {\n          projectName: '合计'\n        },\n        changeReason: '----',\n        changeType: '----',\n        changePrice: 0,\n        changeDate: '----',\n        tenderee: '----',\n        changeContent: '----',\n        remarks: '----'\n      },\n      selected: {\n        numbers: 0,\n        money: '0'\n      },\n      total: 0,\n      importData: {\n        title: '变更管理导入',\n        templateName: '变更管理模板.xls',\n        downloadUrl: '/../fvue/static/excel/ChangeManagement.xlsx',\n        importUrl: window.context.cqxy + '/biz/processManagement/changeManagement/v1/importExcelData',\n        showProject: true,\n        showContract: true,\n        projectId: ''\n        // params: {\n        //   contractId: '', //合同ID\n        //   contractName: '', //合同名称\n        // },\n      },\n\n      projectObj: [],\n      //获取的所有项目数组\n      searchForm: {\n        projectId: '',\n        changeCode: '',\n        changeType: '',\n        changeDate: ''\n      },\n      //顶部搜索参数\n      data: [],\n      //表格数据\n      pageResult: {\n        page: 1,\n        pageSize: 20,\n        total: 0\n      },\n      form: {\n        changeContractName: '',\n        changeContractId: '',\n        projectInfo: {\n          projectName: '',\n          projectCode: ''\n        },\n        accessoryInfo: []\n      },\n      dialogVisible: false,\n      dialogTitle: '添加',\n      AmountOptions: [{\n        label: '小于20万',\n        value: 'less,20'\n      }, {\n        label: '50 ~ 100万',\n        value: '50,100'\n      }, {\n        label: '100 ~ 200万',\n        value: '100,200'\n      }, {\n        label: '200 ~ 400万',\n        value: '200,400'\n      }, {\n        label: '400万以上',\n        value: 'great,400'\n      }],\n      //表单验证\n      rules: {\n        'projectInfo.projectName': {\n          required: true,\n          message: '项目名称不能为空',\n          trigger: 'blur'\n        },\n        changeDate: {\n          required: true,\n          message: '请填写变更时间',\n          trigger: 'blur'\n        }\n        // 'projectInfo.projectCode': {\n        //   required: true,\n        //   message: '项目代码不能为空',\n        //   trigger: 'blur',\n        // },\n        // changeName: {\n        //   required: true,\n        //   message: '变更名称不能为空',\n        //   trigger: 'blur',\n        // },\n        // changeContractName: {\n        //   required: true,\n        //   message: '合同名称不能为空',\n        //   trigger: 'blur',\n        // },\n        // changeType: {\n        //   required: true,\n        //   message: '变更类型不能为空',\n        //   trigger: 'blur',\n        // },\n        // changeDate: {\n        //   required: true,\n        //   message: '变更日期不能为空',\n        //   trigger: 'blur',\n        // },\n        // changeUnit: {\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/changeManagement/v1/delete';\n    }\n  },\n  mounted: function mounted() {\n    this.initProjectAll();\n    this.initChangeTotal();\n  },\n  methods: {\n    initChangeTotal: function initChangeTotal() {\n      var _this = this;\n      this.$http.post('${cqxy}/biz/processManagement/changeManagement/v1/totalAmount', this.$route.params.id).then(function (res) {\n        if (res.status == 200) {\n          _this.total = res.data;\n        }\n      });\n    },\n    handleReset: function handleReset() {\n      var _this2 = this;\n      this.searchForm.changePrice = '';\n      this.searchForm.projectId = '';\n      this.searchForm.changeCode = '';\n      this.searchForm.changeType = '';\n      this.searchForm.changeDate = '';\n      this.searchForm.changeContent = '';\n      this.$refs['searchForm'].resetFields();\n      this.pageResult = {\n        page: 1,\n        pageSize: 20,\n        total: 0\n      };\n      this.$nextTick(function () {\n        _this2.$refs.AtTable.load();\n      });\n    },\n    filterHandler: function filterHandler(value, row, column) {\n      var property = column['property'];\n      return row[property] === value;\n    },\n    handleFocusContractName: function handleFocusContractName() {\n      this.$refs.contract.open(this.form.projectId);\n    },\n    //合同信息\n    handleContract: function handleContract(data) {\n      this.form.changeContractName = data.name;\n      this.form.changeContractId = data.id;\n      // this.importData.params.contractId=data.id\n      // this.importData.params.contractName=data.name\n      this.$refs.ruleForm.clearValidate();\n    },\n    handleSelectProject: function handleSelectProject(data) {\n      this.form.projectInfo.projectName = data.projectName;\n      this.form.projectInfo.projectCode = data.projectCode;\n      this.form.projectId = data.id;\n      this.form.changeContractName = '';\n      this.form.changeContractId = '';\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        change_code_: this.searchForm.changeCode,\n        change_type_: this.searchForm.changeType,\n        change_date_: this.searchForm.changeDate,\n        change_price_: this.searchForm.changePrice,\n        change_content_: this.searchForm.changeContent\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: i == 'change_price_' ? 'GREAT' : '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/changeManagement/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          changeContractName: '',\n          changeContractId: '',\n          projectInfo: {\n            projectName: '',\n            projectCode: ''\n          },\n          accessoryInfo: []\n        };\n        _this5.beforeCloseDialog();\n        _this5.$refs.AtTable.load();\n      }, 500);\n    },\n    beforeCloseDialog: function beforeCloseDialog() {\n      this.dialogVisible = false;\n    },\n    handleAdd: function handleAdd() {\n      this.dialogTitle = '添加';\n      this.dialogVisible = true;\n      this.form = {\n        projectId: '',\n        changeContractId: '',\n        changeContractName: '',\n        tenderee: '',\n        changeType: 1,\n        projectInfo: {\n          projectName: '',\n          projectCode: ''\n        }\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.projectInfo.projectName = selectedProject.projectName;\n        this.form.projectInfo.projectCode = selectedProject.projectCode;\n        this.form.projectId = selectedProject.id;\n      } else {\n        //根据项目id查询\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      }\n    },\n    handleRowDBClick: function handleRowDBClick(data) {\n      var _this6 = this;\n      this.dialogTitle = '修改';\n      this.$http.post('${cqxy}/biz/processManagement/changeManagement/v1/detail/' + data.id).then(function (res) {\n        _this6.dialogVisible = true;\n        var response = res.data.value;\n        _this6.form = response;\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, 'changePrice');\n      this.selected.money = total;\n    },\n    handleDialogCancel: function handleDialogCancel() {\n      this.dialogVisible = false;\n      this.form = {\n        changeContractName: '',\n        changeContractId: '',\n        projectInfo: {\n          projectName: '',\n          projectCode: ''\n        },\n        accessoryInfo: []\n      };\n    },\n    handleDialogClose: function handleDialogClose() {\n      this.dialogVisible = false;\n      this.form = {\n        changeContractName: '',\n        changeContractId: '',\n        projectInfo: {\n          projectName: '',\n          projectCode: ''\n        },\n        accessoryInfo: []\n      };\n    },\n    //提交保存\n    handleDialogSubmit: function handleDialogSubmit(formName) {\n      var _this7 = this;\n      this.$refs[formName].validate(function (valid) {\n        if (valid) {\n          if (_this7.form.accessoryInfo && _this7.form.accessoryInfo.length > 0) {\n            _this7.form.accessoryInfo.forEach(function (item) {\n              if (item.id) {\n                delete item.id;\n              }\n            });\n          }\n          _this7.$http.post('${cqxy}/biz/processManagement/changeManagement/v1/save', _this7.form).then(function (res) {\n            if (res.status == 200) {\n              setTimeout(function () {\n                _this7.$message.success(res.data.message);\n                _this7.afterSaveData();\n              }, 500);\n            } else {\n              _this7.$message.error(res.data.message);\n            }\n          });\n        }\n        // else if (this.form.accessoryInfo.length === 0) {\n        //   this.$message.error('至少上传一个附件')\n        // }\n        else {\n          _this7.$message({\n            message: '项目名称不能为空!',\n            type: 'warning'\n          });\n          return false;\n        }\n      });\n    },\n    loadData: function loadData(param, cb) {\n      var _this8 = this;\n      var query = [];\n      var search = {\n        'pm.ID_': this.searchForm.projectId,\n        change_code_: this.searchForm.changeCode,\n        change_type_: this.searchForm.changeType,\n        change_date_: this.searchForm.changeDate,\n        change_price_: this.searchForm.changePrice,\n        change_content_: this.searchForm.changeContent\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          if (i == 'change_price_') {\n            var arr = search[i].split(',');\n            if (arr[0] == 'less') {\n              query.push({\n                group: 'advance',\n                operation: 'LESS',\n                property: i,\n                relation: 'AND',\n                value: arr[1]\n              });\n            } else if (arr[0] == 'great') {\n              query.push({\n                group: 'advance',\n                operation: 'GREAT',\n                property: i,\n                relation: 'AND',\n                value: arr[1]\n              });\n            } else {\n              query.push({\n                group: 'advance',\n                operation: 'GREAT_EQUAL',\n                property: i,\n                relation: 'AND',\n                value: arr[0]\n              }, {\n                group: 'advance',\n                operation: 'LESS_EQUAL',\n                property: i,\n                relation: 'AND',\n                value: arr[1]\n              });\n            }\n          } else {\n            query.push({\n              group: 'advance',\n              operation: 'LIKE',\n              property: i,\n              relation: 'AND',\n              value: search[i]\n            });\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/changeManagement/v1/page', param).then(function (resp) {\n        var response = resp.data.value;\n        _this8.selected = {\n          numbers: 0,\n          money: '0'\n        };\n        var data = response.rows;\n        var total = _this8.calculationTotal(data, 'changePrice');\n        _this8.total_.changePrice = total;\n        data.push(_this8.total_);\n        _this8.data = data;\n        _this8.pageResult = {\n          page: response.page,\n          pageSize: response.pageSize,\n          total: response.total\n        };\n      }, function (error) {\n        reject(error);\n      }).finally(function () {\n        return cb();\n      });\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]}