{"remainingRequest":"D:\\jenkins\\workspace\\xypm-web-prod\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xypm-web-prod\\src\\views\\StatisticalReport\\BiddingAccount.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xypm-web-prod\\src\\views\\StatisticalReport\\BiddingAccount.vue","mtime":1710905469458},{"path":"D:\\jenkins\\workspace\\xypm-web-prod\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\xypm-web-prod\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xypm-web-prod\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\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\nconst BigNumber = require('bignumber.js')\r\nimport ProjectInfoDialog from '@/components/dialog/ProjectInfoDialog.vue'\r\nconst eipUserSelector = () => import('@/components/selector/EipUserSelector.vue')\r\nexport default {\r\n name: 'biddingAccount',\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 components: {\r\n // ProjectInfoDialog,\r\n // eipUserSelector,\r\n },\r\n data() {\r\n return {\r\n total: {\r\n commencementDate: '合计',\r\n projectManager: '----',\r\n projectName: '----',\r\n preliminaryEstimate: 0,\r\n biddingAgency: '----',\r\n sourceFunds: '----',\r\n biddingChargeType: '----',\r\n hasComplaint: '----',\r\n complaintSituation: '----',\r\n bidWinner: '----',\r\n bidWinnerAgencyNamePhone: '----',\r\n bidAmountExamine: 0,\r\n bidAmount: 0,\r\n commencementTime: '----',\r\n completionTime: '----',\r\n bidWinnerAgentName: '----',\r\n bidWinnerPhone: '----',\r\n actualPaymentMethodSituation: '----',\r\n payeeAccountPhone: '----',\r\n actualSettlementMoney: 0,\r\n auditSituationAndProblems: '----',\r\n remarks: '----',\r\n },\r\n justShowSearch: this.isShow,\r\n details: {},\r\n loading: false,\r\n searchForm: {\r\n projectId: '',\r\n type: '', //招标方式\r\n createTime: '', //当前年份\r\n projectType: '', //项目类型\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 }\r\n },\r\n computed: {\r\n deleteUrl: function () {\r\n return window.context.cqxy + '/biz/completionAcceptance/acceptanceSettlement/v1/delete'\r\n },\r\n },\r\n created() {\r\n this.getYear()\r\n this.getCureentYear()\r\n },\r\n methods: {\r\n getCureentYear() {\r\n if (!this.isShow) {\r\n return\r\n } else {\r\n this.searchForm.createTime = new Date().getFullYear()\r\n }\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.projectId = ''\r\n this.searchForm.type = ''\r\n this.searchForm.createTime = ''\r\n this.searchForm.projectType = ''\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.ID_': this.searchForm.projectId,\r\n BIDDING_CHARGE_TYPE_: this.searchForm.type,\r\n project_type_: this.searchForm.projectType,\r\n CREATE_TIME_: this.searchForm.createTime,\r\n year_month_: this.searchForm.yearMonth,\r\n BIDDING_CHARGE_: this.searchForm.biddingCharge,\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 if (i == 'CREATE_TIME_') {\r\n query.push({\r\n group: 'createTimeGroup',\r\n operation: 'BETWEEN',\r\n parentGroup: '',\r\n property: 'bbm.COMMENCEMENT_DATE_',\r\n relation: 'OR',\r\n value: [`${search[i]}-01-01`, `${search[i]}-12-31`],\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 group: 'createTimeGroup',\r\n operation: 'BETWEEN',\r\n parentGroup: '',\r\n property: 'bbm.COMMENCEMENT_DATE_',\r\n relation: 'AND',\r\n value: arr,\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: 'bbm.COMMENCEMENT_DATE_',\r\n },\r\n ],\r\n }\r\n req.downloadPostCopy(\r\n '${cqxy}/biz/ledger/biddingLedger/v1/exportDataToExcel',\r\n param\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\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 loadData(param, cb) {\r\n if (this.isShow) {\r\n this.$refs.projectInfo.getProjectData(this.searchForm.createTime)\r\n }\r\n let query = []\r\n let search = {\r\n 'pm.ID_': this.searchForm.projectId,\r\n BIDDING_CHARGE_TYPE_: this.searchForm.type,\r\n project_type_: this.searchForm.projectType,\r\n CREATE_TIME_: this.searchForm.createTime,\r\n year_month_: this.searchForm.yearMonth,\r\n BIDDING_CHARGE_: this.searchForm.biddingCharge,\r\n // BIDDING_AGENCY_: this.searchForm.biddingAgency\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 if (i == 'CREATE_TIME_') {\r\n query.push(\r\n {\r\n group: 'createTimeGroup',\r\n operation: 'BETWEEN',\r\n parentGroup: '',\r\n property: 'bbm.COMMENCEMENT_DATE_',\r\n relation: 'AND',\r\n value: [`${search[i]}-01-01`, `${search[i]}-12-31`],\r\n }\r\n // {\r\n // group: 'createTimeSubGroup',\r\n // operation: 'LESS_EQUAL',\r\n // parentGroup: 'createTimeGroup',\r\n // property: 'bbm.commencemen_date_',\r\n // relation: 'AND',\r\n // value: `${search[i]}-12-31`,\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 group: 'createTimeGroup',\r\n operation: 'BETWEEN',\r\n parentGroup: '',\r\n property: 'bbm.COMMENCEMENT_DATE_',\r\n relation: 'AND',\r\n value: arr,\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/biddingLedger/v1/page', param)\r\n .then(\r\n (resp) => {\r\n let response = resp.data.value\r\n let data = response.rows\r\n this.total.preliminaryEstimate = this.calculationTotal(\r\n data,\r\n 'preliminaryEstimate'\r\n )\r\n this.total.bidAmountExamine = this.calculationTotal(\r\n data,\r\n 'bidAmountExamine'\r\n )\r\n this.total.bidAmount = this.calculationTotal(data, 'bidAmount')\r\n this.total.actualSettlementMoney = this.calculationTotal(\r\n data,\r\n 'actualSettlementMoney'\r\n )\r\n if (data.length !== 0) {\r\n data.push(this.total)\r\n }\r\n this.data = data\r\n this.pageResult = {\r\n page: response.page,\r\n pageSize: response.pageSize,\r\n total: response.total,\r\n }\r\n },\r\n (error) => {\r\n reject(error)\r\n }\r\n )\r\n .finally(() => {\r\n if (cb) {\r\n cb()\r\n }\r\n })\r\n },\r\n findinfo() {\r\n this.$refs.AtTable.load()\r\n },\r\n // 计算列表合同金额合计金额\r\n calculationTotal(data, key) {\r\n let total = new BigNumber(0)\r\n if (key && data && data.length !== 0) {\r\n data.forEach((item) => {\r\n if (item[key]) {\r\n total = total.plus(item[key])\r\n } else {\r\n total = total.plus(0)\r\n }\r\n })\r\n }\r\n return this.moneyFormatter(total)\r\n },\r\n cellClassNameFn(row) {\r\n // 列表项目名称为【合计】隐藏复选框\r\n if (row.row.commencementDate === '合计') {\r\n return 'table-column-hidden'\r\n }\r\n },\r\n },\r\n}\r\n",null]}