{"remainingRequest":"D:\\jenkins\\workspace\\xypm-web\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xypm-web\\src\\views\\StatisticalReport\\ContractAccount.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xypm-web\\src\\views\\StatisticalReport\\ContractAccount.vue","mtime":1680292313195},{"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\r\nimport date from '@/api/date.js'\r\nimport req from '@/request.js'\r\nimport ProjectInfoDialog from '@/components/dialog/ProjectInfoDialog.vue'\r\nconst eipUserSelector = () =>\r\n  import('@/components/selector/EipUserSelector.vue')\r\nexport default {\r\n  name: 'contractAccount',\r\n  components: {\r\n    // ProjectInfoDialog,\r\n    // eipUserSelector,\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      AmountOptions: [\r\n        {\r\n          label: '小于20万',\r\n          value: 'less,20',\r\n        },\r\n        {\r\n          label: '50 ~ 100万',\r\n          value: '50,100',\r\n        },\r\n        {\r\n          label: '100 ~ 200万',\r\n          value: '100,200',\r\n        },\r\n        {\r\n          label: '200 ~ 400万',\r\n          value: '200,400',\r\n        },\r\n        {\r\n          label: '400万以上',\r\n          value: 'great,400',\r\n        },\r\n      ],\r\n      justShowSearch: true,\r\n      details: {},\r\n      loading: false,\r\n      searchForm: {\r\n        projectName: '',\r\n        // projectCode: '',\r\n        type: '',\r\n        // handler: '',\r\n        // contractDate: '',\r\n        // contractNumber: '',\r\n        createTime: new Date().getFullYear(), //当前年份\r\n        projectType: '', //项目类型\r\n        typeValue: '',\r\n        contractReceiver: '',\r\n      },\r\n      optionYears: [], //顶部搜索年份选择数组\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      isShowInput: false,\r\n      contractReceiverParams: {}, // 经办人单独请求参数\r\n    }\r\n  },\r\n  created() {\r\n    this.getYear()\r\n  },\r\n  computed: {\r\n    deleteUrl: function () {\r\n      return (\r\n        window.context.cqxy +\r\n        '/biz/completionAcceptance/acceptanceSettlement/v1/delete'\r\n      )\r\n    },\r\n  },\r\n\r\n  methods: {\r\n    saveContractReceiver() {\r\n      // console.log(this.contractReceiverParams)\r\n      // return\r\n      this.$http\r\n        .post(\r\n          '${cqxy}/biz/ledger/contractLedger/v1/updateContractReceiverById',\r\n          this.contractReceiverParams\r\n        )\r\n        .then((res) => {\r\n          this.dialogVisible = false // 关闭弹层,重新刷新数据\r\n          this.load()\r\n        })\r\n    },\r\n    contractReceiverBlur(e, row) {\r\n      this.isShowInput = false // 关闭显示输入框\r\n      let data = {\r\n        id: row.contractId,\r\n        contractReceiver: e.target.value,\r\n      }\r\n      this.contractReceiverParams = data\r\n    },\r\n    //获取顶部搜索的年份区间\r\n    getYear() {\r\n      const myDate = new Date()\r\n      const startYear = 2006 //起始年份\r\n      const endYear = myDate.getFullYear() //结束年份\r\n      for (let i = endYear; i >= startYear; i--) {\r\n        this.optionYears.push({\r\n          label: i + '年',\r\n          value: i,\r\n        })\r\n      }\r\n    },\r\n    handleReset() {\r\n      this.searchForm.projectName = ''\r\n      // this.searchForm.projectCode = ''\r\n      this.searchForm.typeValue = ''\r\n      // this.searchForm.handler = ''\r\n      // this.searchForm.contractDate = ''\r\n      // this.searchForm.contractNumber = ''\r\n      this.searchForm.createTime = ''\r\n      this.searchForm.projectType = ''\r\n      this.searchForm.yearMonth = ''\r\n      this.searchForm.contractAmount = ''\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    //导入后重新加载数据\r\n    load() {\r\n      this.$refs.AtTable.load()\r\n    },\r\n    //导出\r\n    handleExport() {\r\n      this.loading = true\r\n      let query = []\r\n      let search = {\r\n        'pm.PROJECT_NAME_': this.searchForm.projectName,\r\n        'bc.type_value_': this.searchForm.typeValue,\r\n        project_type_: this.searchForm.projectType,\r\n        CREATE_TIME_: this.searchForm.createTime,\r\n        year_month_: this.searchForm.yearMonth,\r\n        contract_amount_: this.searchForm.contractAmount,\r\n        'bc.contract_receiver_': this.searchForm.contractReceiver,\r\n      }\r\n      if (!this.isShow) {\r\n        search['pm.ID_'] = this.pid\r\n        search['pm.PROJECT_NAME_'] = this.searchForm.projectName\r\n        delete search.CREATE_TIME_\r\n      }\r\n      for (let i in search) {\r\n        if (search[i]) {\r\n          if (i == 'CREATE_TIME_') {\r\n            query.push(\r\n              {\r\n                group: 'createTimeGroup',\r\n                operation: 'BETWEEN', //BETWEEN\r\n                parentGroup: '',\r\n                property: ' commencement_time_',\r\n                relation: 'AND',\r\n                value: [\r\n                  `${search[i]}-01-01 00:00:00`,\r\n                  `${search[i]}-12-31 23:59:59`,\r\n                ],\r\n              }\r\n              // {\r\n              //   group: 'createTimeGroup',\r\n              //   operation: 'BETWEEN',\r\n              //   parentGroup: '',\r\n              //   property: 'contract_date_',\r\n              //   relation: 'AND',\r\n              //   value: [\r\n              //     `${search[i]}-01-01 00:00:00`,\r\n              //     `${search[i]}-12-31 23:59:59`,\r\n              //   ],\r\n              // },\r\n              // {\r\n              //   group: 'createTimeSubGroup',\r\n              //   operation: 'LESS_EQUAL',\r\n              //   parentGroup: 'createTimeGroup',\r\n              //   property: 'commencement_time_',\r\n              //   relation: 'AND',\r\n              //   value: `${search[i]}-12-31 23:59:59`,\r\n              // },\r\n              // {\r\n              //   group: 'createTimeSubGroup',\r\n              //   operation: 'LESS',\r\n              //   parentGroup: 'createTimeGroup',\r\n              //   property: 'PROJECT_STATUS_',\r\n              //   relation: 'AND',\r\n              //   value: '12',\r\n              // }\r\n            )\r\n          } else if (i == 'year_month_') {\r\n            let lastDate = search[i][1]\r\n            let str = lastDate.split('-')\r\n            let year = parseInt(str[0])\r\n            let month = parseInt(str[1])\r\n            let date = new Date(year, month, 0).getDate()\r\n            let arr = [`${search[i][0]}-01`, `${search[i][1]}-${date}`]\r\n            query.push(\r\n              {\r\n                group: 'contractDateGroup',\r\n                operation: 'GREAT_EQUAL',\r\n                parentGroup: '',\r\n                property: 'contract_date_',\r\n                relation: 'AND',\r\n                value: arr[0],\r\n              },\r\n              {\r\n                group: 'contractDateGroup',\r\n                operation: 'LESS_EQUAL',\r\n                parentGroup: '',\r\n                property: 'contract_date_',\r\n                relation: 'AND',\r\n                value: arr[1],\r\n              }\r\n            )\r\n          } else if (i == 'contract_amount_') {\r\n            let arr = search[i].split(',')\r\n            if (arr[0] == 'less') {\r\n              query.push({\r\n                group: 'advance',\r\n                operation: 'LESS',\r\n                property: i,\r\n                relation: 'AND',\r\n                value: arr[1],\r\n              })\r\n            } else if (arr[0] == 'great') {\r\n              query.push({\r\n                group: 'advance',\r\n                operation: 'GREAT',\r\n                property: i,\r\n                relation: 'AND',\r\n                value: arr[1],\r\n              })\r\n            } else {\r\n              query.push(\r\n                {\r\n                  group: 'advance',\r\n                  operation: 'GREAT_EQUAL',\r\n                  property: i,\r\n                  relation: 'AND',\r\n                  value: arr[0],\r\n                },\r\n                {\r\n                  group: 'advance',\r\n                  operation: 'LESS_EQUAL',\r\n                  property: i,\r\n                  relation: 'AND',\r\n                  value: arr[1],\r\n                }\r\n              )\r\n            }\r\n          } else if (i == 'project_type_') {\r\n            query.push({\r\n              group: 'advance',\r\n              operation: 'EQUAL',\r\n              property: i,\r\n              relation: 'AND',\r\n              value: search[i],\r\n            })\r\n          }else if(i=='pm.PROJECT_NAME_'){\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          } else if (i == 'bc.contract_receiver_' || i == 'bc.type_value_') {\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          } else {\r\n            query.push({\r\n              group: 'advance',\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      }\r\n      let param = {\r\n        pageBean: {\r\n          page: 1,\r\n          pageSize: -1,\r\n          showTotal: true,\r\n        },\r\n        querys: query,\r\n        sorter: [\r\n          {\r\n            direction: 'ASC',\r\n            property: 'contract_number_',\r\n          },\r\n          {\r\n            direction: 'ASC',\r\n            property: 'mold_value_',\r\n          },\r\n          {\r\n            direction: 'ASC',\r\n            property: 'contract_date_',\r\n          },\r\n        ],\r\n      }\r\n      req\r\n        .downloadPostCopy(\r\n          '${cqxy}/biz/ledger/contractLedger/v1/exportDataToExcel',\r\n          param\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    },\r\n    handleFile(file) {\r\n      this.form.accessoryInfo = file\r\n    },\r\n\r\n    handleRowDBClick(data) {\r\n      // this.dialogTitle = '详情'\r\n      // this.form = {...data}\r\n      this.details = data\r\n      this.dialogVisible = true\r\n    },\r\n    handleFocusProject() {\r\n      this.$refs.project.open()\r\n    },\r\n    openProject() {\r\n      this.$refs.project.open()\r\n    },\r\n    handleSelect(selection) {\r\n      console.log(selection)\r\n    },\r\n    handleDialogCancel() {\r\n      this.dialogVisible = false\r\n      this.form = {\r\n        projectInfo: {},\r\n        accessoryInfo: [],\r\n        contractInfo: {},\r\n      }\r\n    },\r\n    handleDialogClose() {\r\n      this.form = {\r\n        projectInfo: {},\r\n        accessoryInfo: [],\r\n        contractInfo: {},\r\n      }\r\n      this.dialogVisible = false\r\n    },\r\n    //提交保存\r\n    handleDialogSubmit() {\r\n      this.$refs.form.validate((valid) => {\r\n        if (valid && this.form.accessoryInfo.length !== 0) {\r\n          // if (this.form.accessoryInfo && this.form.accessoryInfo.length) {\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\r\n            .post(\r\n              '${cqxy}/biz/completionAcceptance/acceptanceSettlement/v1/save',\r\n              this.form\r\n            )\r\n            .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              } else {\r\n                this.$message.error(res.data.message)\r\n              }\r\n              this.loading = false\r\n            })\r\n        } else if (this.form.accessoryInfo.length === 0) {\r\n          this.$message.error('请至少上传一个附件')\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      // this.$refs.projectInfo.getProjectData(this.searchForm.createTime)\r\n      let query = []\r\n      let search = {\r\n        'pm.PROJECT_NAME_': this.searchForm.projectName,\r\n        'bc.type_value_': this.searchForm.typeValue,\r\n        'bc.contract_receiver_': this.searchForm.contractReceiver,\r\n        project_type_: this.searchForm.projectType,\r\n        CREATE_TIME_: this.searchForm.createTime,\r\n        year_month_: this.searchForm.yearMonth,\r\n        contract_amount_: this.searchForm.contractAmount,\r\n      }\r\n      if (!this.isShow) {\r\n        search['pm.ID_'] = this.pid\r\n        search['pm.PROJECT_NAME_'] = this.searchForm.projectName\r\n        delete search.CREATE_TIME_\r\n      }\r\n      for (let i in search) {\r\n        if (search[i]) {\r\n          if (i == 'CREATE_TIME_') {\r\n            query.push(\r\n              // {\r\n              //   group: 'createTimeGroup',\r\n              //   operation: 'BETWEEN',\r\n              //   parentGroup: '',\r\n              //   property: 'commencement_time_',\r\n              //   relation: 'OR',\r\n              //   value: [\r\n              //     `${search[i]}-01-01 00:00:00`,\r\n              //     `${search[i]}-12-31 23:59:59`,\r\n              //   ],\r\n              // },\r\n              // {\r\n              //   group: 'createTimeSubGroup',\r\n              //   operation: 'LESS_EQUAL',\r\n              //   parentGroup: 'createTimeGroup',\r\n              //   property: 'commencement_time_',\r\n              //   relation: 'AND',\r\n              //   value: `${search[i]}-12-31 23:59:59`,\r\n              // },\r\n              //   {\r\n              //     group: 'createTimeSubGroup',\r\n              //     operation: 'LESS',\r\n              //     parentGroup: 'createTimeGroup',\r\n              //     property: 'PROJECT_STATUS_',\r\n              //     relation: 'AND',\r\n              //     value: '12',\r\n              //   },\r\n              {\r\n                group: 'createTimeGroup',\r\n                operation: 'BETWEEN', //BETWEEN\r\n                parentGroup: '',\r\n                property: ' commencement_time_',\r\n                relation: 'AND',\r\n                value: [\r\n                  `${search[i]}-01-01 00:00:00`,\r\n                  `${search[i]}-12-31 23:59:59`,\r\n                ],\r\n              }\r\n            )\r\n          } else if (i == 'year_month_') {\r\n            let lastDate = search[i][1]\r\n            let str = lastDate.split('-')\r\n            let year = parseInt(str[0])\r\n            let month = parseInt(str[1])\r\n            let date = new Date(year, month, 0).getDate()\r\n            let arr = [`${search[i][0]}-01`, `${search[i][1]}-${date}`]\r\n            query.push(\r\n              {\r\n                group: 'contractDateGroup',\r\n                operation: 'GREAT_EQUAL',\r\n                parentGroup: '',\r\n                property: 'contract_date_',\r\n                relation: 'AND',\r\n                value: arr[0],\r\n              },\r\n              {\r\n                group: 'contractDateGroup',\r\n                operation: 'LESS_EQUAL',\r\n                parentGroup: '',\r\n                property: 'contract_date_',\r\n                relation: 'AND',\r\n                value: arr[1],\r\n              }\r\n            )\r\n          } else if (i == 'contract_amount_') {\r\n            let arr = search[i].split(',')\r\n            if (arr[0] == 'less') {\r\n              query.push({\r\n                group: 'advance',\r\n                operation: 'LESS',\r\n                property: i,\r\n                relation: 'AND',\r\n                value: arr[1],\r\n              })\r\n            } else if (arr[0] == 'great') {\r\n              query.push({\r\n                group: 'advance',\r\n                operation: 'GREAT',\r\n                property: i,\r\n                relation: 'AND',\r\n                value: arr[1],\r\n              })\r\n            } else {\r\n              query.push(\r\n                {\r\n                  group: 'advance',\r\n                  operation: 'GREAT_EQUAL',\r\n                  property: i,\r\n                  relation: 'AND',\r\n                  value: arr[0],\r\n                },\r\n                {\r\n                  group: 'advance',\r\n                  operation: 'LESS_EQUAL',\r\n                  property: i,\r\n                  relation: 'AND',\r\n                  value: arr[1],\r\n                }\r\n              )\r\n            }\r\n          } else if (i == 'project_type_') {\r\n            query.push({\r\n              group: 'advance',\r\n              operation: 'EQUAL',\r\n              property: i,\r\n              relation: 'AND',\r\n              value: search[i],\r\n            })\r\n          }else if(i=='pm.PROJECT_NAME_'){\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          }  else if (i == 'bc.type_value_' || i=='bc.contract_receiver_') {\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          } else {\r\n            query.push({\r\n              group: 'advance',\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      }\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/ledger/contractLedger/v1/page', param)\r\n        .then(\r\n          (resp) => {\r\n            let response = resp.data.value\r\n            console.log(resp)\r\n            this.data = response.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            // this.data = [{contractReceiver: '4444'}]\r\n          }\r\n        })\r\n    },\r\n    findinfo() {\r\n      this.$refs.AtTable.load()\r\n    },\r\n  },\r\n}\r\n",null]}