{"remainingRequest":"D:\\jenkins\\workspace\\xypm-web\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xypm-web\\src\\views\\ContractInformation.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xypm-web\\src\\views\\ContractInformation.vue","mtime":1676490673782},{"path":"D:\\jenkins\\workspace\\xypm-web\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"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":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\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 {duration} from 'moment'\r\nimport {numToCny} from '@/lib/tool'\r\nimport req from '@/request.js'\r\nexport default {\r\n  name: 'ContractInformation', //合同管理\r\n  components: {\r\n    ProjectInfoDialog,\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    alias: {\r\n      type: String,\r\n      default: '',\r\n    },\r\n  },\r\n  data() {\r\n    return {\r\n      importData: {\r\n        title: '合同信息导入',\r\n        templateName: '合同信息模板.xls',\r\n        downloadUrl: '/../fvue/static/excel/ExportContractInformation.xlsx',\r\n        importUrl: window.context.cqxy + '/biz/contract/v1/importExcelData',\r\n        showProject: true,\r\n        projectId: '',\r\n      },\r\n      importDataDetailed: {\r\n        title: '合同信息明细导入',\r\n        templateName: '合同信息明细模板.xls',\r\n        downloadUrl:\r\n          '../../static/excel/ExportContractInformationDetailed.xlsx',\r\n        importUrl: window.context.cqxy + '/biz/contract/item/v1/readExcelData',\r\n      },\r\n      projectObj: [],\r\n      searchForm: {\r\n        contractNumber: '',\r\n        projectId: '',\r\n        name: '',\r\n        biddingChargeType: '',\r\n        type: '',\r\n        typeValue: '',\r\n        contractReceiver: '',\r\n      }, //顶部搜索参数\r\n      dataBaseOptions: {\r\n        dataBaseId: '',\r\n        tableName: '', // 必填\r\n        tableSchema: '',\r\n      },\r\n      ConstructionModeArr: [],\r\n      ProjectTypeArr: [],\r\n      originAPIOptions: {\r\n        url: '', // 列表请求接口地址\r\n        method: 'post', // 列表请求方法\r\n        moduleRoot: '', // 微服务根路径\r\n      },\r\n      exportQuery: {},\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      dialogVisible: false,\r\n      dialogTitle: '添加',\r\n      selectionArr: [],\r\n      active: 0,\r\n      loading: false,\r\n      // tableData: [],\r\n      // tableDataFiles: [],\r\n      querySearch: [],\r\n      costConsultation: '', //全过程造价咨询单位\r\n      rules: {\r\n        'project.projectName': {\r\n          required: true,\r\n          message: '请选择项目名称',\r\n          trigger: 'blur',\r\n        },\r\n        'contract.biddingChargeType': {\r\n          required: true,\r\n          message: '请选择发包方式',\r\n          trigger: 'blur',\r\n        },\r\n        // 'project.projectCode': {\r\n        //   required: true,\r\n        //   message: '请输入项目代码',\r\n        //   trigger: 'blur',\r\n        // },\r\n        'contract.contractDate': {\r\n          required: true,\r\n          message: '请选择签订日期',\r\n          trigger: 'blur',\r\n        },\r\n        'contract.decisionDocuments': {\r\n          required: true,\r\n          message: '请输入决策依据',\r\n          trigger: 'blur',\r\n        },\r\n        'contract.typeValue': {\r\n          required: true,\r\n          message: '输入合同类型',\r\n          trigger: 'blur',\r\n        },\r\n\r\n        // 'contract.type': {\r\n        //   required: true,\r\n        //   message: '输入合同类型',\r\n        //   trigger: 'blur',\r\n        // },\r\n        'contract.mold': {\r\n          required: true,\r\n          message: '输入合同分类',\r\n          trigger: 'blur',\r\n        },\r\n        // 'contract.contractNumber': {\r\n        //   required: true,\r\n        //   message: '请输入合同编号',\r\n        //   trigger: 'blur',\r\n        // },\r\n        'contract.name': {\r\n          required: true,\r\n          message: '请输入合同名称',\r\n          trigger: 'blur',\r\n        },\r\n        // 'contract.biddingChargeType': {\r\n        //   required: true,\r\n        //   message: '请输入招标方式',\r\n        //   trigger: 'blur'\r\n        // },\r\n        // 'contract.contractAmount': {\r\n        //   required: true,\r\n        //   message: '请输入合同金额',\r\n        //   trigger: 'blur',\r\n        // },\r\n        // 'contract.retentionMoney': {\r\n        //   required: true,\r\n        //   message: '请输入保证金',\r\n        //   trigger: 'blur',\r\n        // },\r\n        // 'contract.firstParty': {\r\n        //   required: true,\r\n        //   message: '请输入甲方单位',\r\n        //   trigger: 'blur',\r\n        // },\r\n        // 'contract.secondParty': {\r\n        //   required: true,\r\n        //   message: '请输入乙方单位',\r\n        //   trigger: 'blur',\r\n        // },\r\n        // 'contract.thirdParty': {\r\n        //   required: true,\r\n        //   message: '请输入丙方单位',\r\n        //   trigger: 'blur'\r\n        // }\r\n      },\r\n    }\r\n  },\r\n  mounted() {\r\n    this.initProjectAll()\r\n  },\r\n  created() {\r\n    this.getByIdProject(this.pid)\r\n  },\r\n  computed: {\r\n    deleteUrl: function () {\r\n      return window.context.cqxy + '/biz/contract/v1/delete'\r\n    },\r\n  },\r\n  methods: {\r\n    // 根据项目id和合同ids导出相应合同文件\r\n    handleDownFile() {\r\n      if (this.$refs.AtTable.selection.length === 0)\r\n        return this.$message.error('请选择导出合同文件')\r\n      let projectId = this.$refs.AtTable.selection[0].project.id\r\n      let arr = []\r\n      this.$refs.AtTable.selection.forEach((item) => {\r\n        arr.push(item.contract.id)\r\n      })\r\n      let contractIds = arr.join(',')\r\n      let formData = new FormData()\r\n      formData.append('projectId', projectId)\r\n      formData.append('contractIds', contractIds)\r\n      this.$http\r\n        .post('${cqxy}/biz/contract/v1/downloadBatch', formData, 'arraybuffer')\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    handelPay() {\r\n      let id = this.$route.params.id\r\n      let name = this.$route.params.projectName\r\n      this.$router.push({\r\n        name: 'administrativePay',\r\n        params: {\r\n          projectName: name,\r\n          id: id,\r\n        },\r\n      })\r\n    },\r\n    handleSaveCostConsultation() {\r\n      let params = {\r\n        costConsultation: this.costConsultation,\r\n        id: this.pid,\r\n      }\r\n      this.$http\r\n        .post(\r\n          '${cqxy}/biz/projectManagement/pm/v1/updateCostConsultationById',\r\n          params\r\n        )\r\n        .then((res) => {\r\n          this.getByIdProject(this.pid)\r\n        })\r\n    },\r\n    getByIdProject(id) {\r\n      this.$http\r\n        .post('${cqxy}/biz/projectManagement/pm/v1/detail/' + id)\r\n        .then((res) => {\r\n          this.costConsultation = res.data.value.costConsultation\r\n        })\r\n    },\r\n    handleCommand(params) {\r\n      let data = params.row\r\n      data.alias = this.alias\r\n      sessionStorage.setItem('routerParams', JSON.stringify(data))\r\n      if (params.command == 'pay') {\r\n        this.$router.push({\r\n          name: 'PaymentApproval',\r\n          params: {\r\n            projectName: data.project.projectName,\r\n            id: data.project.id,\r\n          },\r\n        })\r\n      } else if (params.command == 'plan') {\r\n        this.$router.push({\r\n          name: 'fundPlan',\r\n          params: {\r\n            projectName: params.row.project.projectName,\r\n            id: params.row.project.id,\r\n          },\r\n        })\r\n      }\r\n    },\r\n    //重置\r\n    handleReset() {\r\n      this.searchForm.projectId = ''\r\n      this.searchForm.contractNumber = ''\r\n      this.searchForm.name = ''\r\n      this.searchForm.biddingChargeType = ''\r\n      this.searchForm.type = ''\r\n      this.searchForm.typeValue = ''\r\n      this.searchForm.contractReceiver = ''\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    //导入后重新加载数据\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        project_id_: this.searchForm.projectId,\r\n        'bc.name_': this.searchForm.name,\r\n        contract_number_: this.searchForm.contractNumber,\r\n        'bc.type_value': this.searchForm.typeValue,\r\n        bidding_charge_type_: this.searchForm.biddingChargeType,\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('${cqxy}/biz/contract/v1/exportDataToExcel', param)\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    loadDetailed(data) {\r\n      let newData = data.map((item) => {\r\n        item.contractId = this.form.contract.id\r\n        return item\r\n      })\r\n      this.form.contractItem.push(...newData)\r\n    },\r\n    //导出\r\n    handleExportDetailed() {\r\n      let param = {\r\n        pageBean: {\r\n          page: 1,\r\n          pageSize: -1,\r\n          showTotal: true,\r\n        },\r\n        querys: [],\r\n        sorter: [],\r\n      }\r\n      req\r\n        .downloadPostCopy(\r\n          '${cqxy}/biz/contract/item/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    prevSteps() {\r\n      this.active--\r\n      this.active = this.active\r\n    },\r\n    //下一步\r\n    nextSteps() {\r\n      if (this.active == 0) {\r\n        let _this = this\r\n        let vaitalArr = [\r\n          'project.projectName',\r\n          // 'project.projectCode',\r\n          // 'contract.contractDate',\r\n          // 'contract.type',\r\n          // 'contract.contractNumber',\r\n          // 'contract.name',\r\n          // 'contract.biddingChargeType',\r\n          // 'contract.contractAmount',\r\n          // 'contract.retentionMoney',\r\n          // 'contract.firstParty',\r\n          // 'contract.secondParty',\r\n          // 'contract.thirdParty'\r\n        ]\r\n        Promise.all(\r\n          vaitalArr.map((item) => {\r\n            const p = new Promise((resolve, reject) => {\r\n              _this.$refs.form.validateField(item, (vaild) => {\r\n                resolve(vaild)\r\n              })\r\n            })\r\n            return p\r\n          })\r\n        ).then((result) => {\r\n          result = result.filter((item) => item)\r\n          if (!result.length) {\r\n            this.active++\r\n            this.active = this.active\r\n            this.$refs['form'].clearValidate()\r\n          }\r\n        })\r\n      } else {\r\n        this.active++\r\n        this.active = this.active\r\n        this.$refs['form'].clearValidate()\r\n      }\r\n    },\r\n    // handleDict(val, obj, str) {\r\n    //   console.log(this.form.contract)\r\n    //   if (str === 'zbfs') {\r\n    //     this.form.contract.biddingChargeTypeValue = obj.name\r\n    //   } else if (str === 'htgl-htlb') {\r\n    //     this.form.contract.type = obj.name\r\n    //   } else if (str == 'htgl-htfl') {\r\n    //     this.form.contract.moleValue = obj.name\r\n    //   }\r\n    // },\r\n    handleAdd() {\r\n      this.dialogTitle = '添加'\r\n      this.form = {\r\n        projectId: '',\r\n        contractItem: [],\r\n        project: {\r\n          projectName: '',\r\n          projectCode: '',\r\n        },\r\n        contract: {\r\n          contractBigAmount: '', //金额大写\r\n          type: 'G1', //合同类型\r\n          biddingChargeType: 1, //招标方式\r\n          secondLevelType: 1,\r\n          firstParty: '重庆西永微电子产业园区开发有限公司', //甲方单位\r\n          establishmentRemarks: '',\r\n        },\r\n        accessoryInfo: [],\r\n      }\r\n      this.dialogVisible = 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.project.projectName = selectedProject.projectName\r\n        this.form.project.projectCode = selectedProject.projectCode\r\n        this.form.projectId = selectedProject.id\r\n        this.form.contract.projectId = selectedProject.id\r\n        this.costConsultation = selectedProject.costConsultation\r\n      } else {\r\n        //根据项目id查询\r\n        this.form.project.projectName = this.projectObj[0].projectName\r\n        this.form.project.projectCode = this.projectObj[0].projectCode\r\n        this.form.projectId = this.projectObj[0].id\r\n        this.form.contract.projectId = this.projectObj[0].id\r\n      }\r\n    },\r\n    handleRowDBClick(data) {\r\n      this.$http\r\n        .post('${cqxy}/biz/contract/v1/detail/' + data.contract.id)\r\n        .then((res) => {\r\n          if (res.data.state) {\r\n            this.dialogTitle = '修改'\r\n            this.form = {\r\n              // project: {\r\n              //   projectName: '',\r\n              //   projectCode: '',\r\n              // },\r\n              ...res.data.value,\r\n            }\r\n            //明细导入传入合同id\r\n\r\n            // this.importDataDetailed.contractId = this.form.contract.id\r\n            // this.importDataDetailed.projectId = this.form.project.id\r\n            this.handleChangeAmount(this.form.contract.contractAmount)\r\n            this.dialogVisible = true\r\n          } else {\r\n            this.$message.error('请求出错,请重新选择')\r\n          }\r\n        })\r\n    },\r\n    handleFocusProject() {\r\n      this.$refs.project.open()\r\n    },\r\n    handleSelectProject(data) {\r\n      this.form.contract.projectId = data.id\r\n      this.form.projectId = data.id\r\n      this.form.project.projectCode = data.projectCode\r\n      this.form.project.projectName = data.projectName\r\n      // this.importDataDetailed.projectId=data.id\r\n      this.$refs.form.clearValidate()\r\n    },\r\n    handleSelect(selection) {},\r\n    handleDialogCancel() {\r\n      this.dialogVisible = false\r\n      this.active = 0\r\n      /* 发送一个事件用于侧边栏按钮监听是否显示 */\r\n      this.$bus.$emit('handleAsideBtn', true)\r\n    },\r\n    handleDialogClose() {\r\n      this.dialogVisible = false\r\n      this.active = 0\r\n    },\r\n    handleFile(file) {\r\n      this.form.accessoryInfo = file\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    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.loading = true\r\n      this.$http.post('${cqxy}/biz/contract/v1/save', this.form).then((res) => {\r\n        if (res.data.state) {\r\n          this.$refs.form.resetFields()\r\n          this.$message.success(res.data.message)\r\n          this.dialogVisible = false\r\n          this.$refs.AtTable.load()\r\n          this.active = 0\r\n        } else {\r\n          this.$message.error(res.data.message)\r\n        }\r\n        this.loading = false\r\n      })\r\n    },\r\n    loadData(param, cb) {\r\n      let query = []\r\n      let search = {\r\n        project_id_: this.searchForm.projectId,\r\n        'bc.name_': this.searchForm.name,\r\n        contract_number_: this.searchForm.contractNumber,\r\n        'bc.type_': this.searchForm.type,\r\n        bidding_charge_type_: this.searchForm.biddingChargeType,\r\n        'bc.type_value_': this.searchForm.typeValue,\r\n        'bc.contract_receiver_': this.searchForm.contractReceiver,\r\n        // contract_date_: this.searchForm.contractDate,\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\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('${cqxy}/biz/contract/v1/page', param)\r\n        .then(\r\n          (resp) => {\r\n            let response = resp.data.value\r\n            this.data = response.rows\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    changeAmount(val, index) {},\r\n    changePrice(val, index) {},\r\n    addListItem() {\r\n      let length\r\n      length = this.form.contractItem.length\r\n      let newData = {\r\n        key: length + 1,\r\n        contractId: this.form.contract.id,\r\n        subjectName: '',\r\n        amount: 1,\r\n      }\r\n      this.form.contractItem.push(newData)\r\n    },\r\n    deleteTableData(key, id) {\r\n      this.form.contractItem = this.form.contractItem.filter((item) => {\r\n        if (key) {\r\n          return item.key !== key\r\n        } else {\r\n          return item.id !== id\r\n        }\r\n      })\r\n      if (id) {\r\n        let formData = new FormData()\r\n        formData.append('ids', id)\r\n        this.$http\r\n          .post('${cqxy}/biz/contract/item/v1/delete', formData)\r\n          .then((res) => {\r\n            if (res.data.state) {\r\n              this.$message.success(res.data.message)\r\n            } else {\r\n              this.$message.error(res.data.message)\r\n            }\r\n          })\r\n      }\r\n    },\r\n    handleChangeAmount(value) {\r\n      let num = numToCny(value)\r\n      this.form.contract.contractBigAmount = num\r\n    },\r\n  },\r\n  // destroyed() {\r\n  //   this.$bus.$off('fileAdded')\r\n  //   this.$bus.$off('fileSuccess')\r\n  // }\r\n}\r\n",null]}