{"remainingRequest":"D:\\jenkins\\workspace\\xypm-web\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xypm-web\\src\\views\\StatisticalReport\\BiddingAccount.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xypm-web\\src\\views\\StatisticalReport\\BiddingAccount.vue","mtime":1723543352528},{"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":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\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]}