{"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\\projectManagent\\projectManagentSub.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xypm-web-prod\\src\\views\\projectManagent\\projectManagentSub.vue","mtime":1710399216032},{"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//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\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\n// import projectArr from '../../../src/assets/data.json'\r\nimport req from '@/request.js'\r\nimport merge from './Merge.vue'\r\nconst eipUserSelector = () =>\r\n import('@/components/selector/EipUserSelector.vue')\r\nconst BigNumber = require('bignumber.js')\r\nexport default {\r\n name: 'projectManagentSub',\r\n components: {\r\n merge,\r\n eipUserSelector,\r\n },\r\n data() {\r\n return {\r\n total: {\r\n projectName: '合计',\r\n projectManager: '----',\r\n projectType: '----',\r\n projectMoney: 0,\r\n projectStatus: '----',\r\n accumulatedProjectPayment: 0,\r\n constructionProgress: '----',\r\n option_: '----',\r\n },\r\n selected: {numbers: 0, money1: '0', money2: '0'},\r\n loading2: false,\r\n importData: {\r\n title: '项目管理导入',\r\n templateName: '项目管理模板.xls',\r\n downloadUrl: './../static/excel/ExportProjectManagent.xlsx',\r\n importUrl:\r\n window.context.cqxy + '/biz/projectManagement/pm/v1/importExcelData',\r\n },\r\n searchForm: {\r\n projectId: '',\r\n projectName: '',\r\n projectType: '',\r\n // projectModel: '',\r\n projectMoneyOne: '',\r\n projectMoneyTwo: '',\r\n isStart: '', //是否已开工\r\n year: '',\r\n createTime: '', //new Date().getFullYear()\r\n }, //顶部搜索参数\r\n optionYears: [], //顶部搜索年份选择数组\r\n optionsIsStart: [\r\n {label: '是', value: 1},\r\n {label: '否', value: 2},\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: 50,\r\n total: 0,\r\n },\r\n form: {}, //基本信息表单\r\n dialogVisible: false,\r\n dialogTitle: '添加',\r\n indexArr: [],\r\n // activeNames: ['1', '2', '3', '4'],\r\n active: 0,\r\n loading: false,\r\n expandTableData: [],\r\n currentPage: 1,\r\n /* 合并新项目 */\r\n newProjectIds: '',\r\n pageSizes: [10, 20, 50, 100, 200, 300, 500],\r\n pagerCount: 11,\r\n pagination: {page: 1, pageSize: 10, total: 0},\r\n parent: '',\r\n querySearch: [], //导出时传入查询的参数\r\n elTableSection: null,\r\n commencementTime: '', //查看修改回调建设时间\r\n rules: {\r\n // projectCode: {\r\n // required: true,\r\n // message: '请输入项目代码',\r\n // trigger: 'blur',\r\n // },\r\n projectName: {\r\n required: true,\r\n message: '请输入项目名称',\r\n trigger: 'blur',\r\n },\r\n projectManager: {\r\n required: true,\r\n message: '必填',\r\n trigger: 'blur',\r\n },\r\n // projectNature: {\r\n // required: true,\r\n // message: '请选择工程属性',\r\n // trigger: 'blur'\r\n // },\r\n // projectMoney: {\r\n // required: true,\r\n // message: '请输入项目金额',\r\n // trigger: 'blur',\r\n // },\r\n projectType: {\r\n required: true,\r\n message: '请选择项目类型',\r\n trigger: 'blur',\r\n },\r\n ownerUnit: {\r\n required: true,\r\n message: '请输入业主单位',\r\n trigger: 'blur',\r\n },\r\n // responsibleUnit: {\r\n // required: true,\r\n // message: '请输入责任单位',\r\n // trigger: 'blur',\r\n // },\r\n // constructUnit: {\r\n // required: true,\r\n // message: '请输入施工单位',\r\n // trigger: 'blur',\r\n // },\r\n // projectModel: {\r\n // required: true,\r\n // message: '请选择建设模式',\r\n // trigger: 'blur',\r\n // },\r\n // projectAddress: {\r\n // required: true,\r\n // message: '请输入项目地址',\r\n // trigger: 'blur',\r\n // },\r\n // preliminaryEstimate: {\r\n // required: true,\r\n // message: '请输入初设概算总投资',\r\n // trigger: 'blur',\r\n // },\r\n // projectStatus: {\r\n // required: true,\r\n // message: '请选择项目状态',\r\n // trigger: 'blur',\r\n // },\r\n // commencementTime: {\r\n // required: true,\r\n // message: '请选择开工时间',\r\n // trigger: 'blur',\r\n // },\r\n // completionTime: {\r\n // required: true,\r\n // message: '请选择完工时间',\r\n // trigger: 'blur',\r\n // },\r\n },\r\n querysParams: [],\r\n }\r\n },\r\n mounted() {},\r\n created() {\r\n this.getYear()\r\n },\r\n computed: {\r\n deleteUrl: function () {\r\n return window.context.cqxy + '/biz/projectManagement/pm/v1/delete'\r\n },\r\n },\r\n methods: {\r\n //跳转单个项目页面\r\n handleGo(row) {\r\n const {href} = this.$router.resolve({\r\n name: 'projectBefore',\r\n params: {\r\n id: row.id,\r\n projectName: row.projectName,\r\n },\r\n })\r\n window.open(href, '_blank')\r\n },\r\n handleRouterClick(params) {\r\n this.$router.push({\r\n name: 'ProjectFlowChart',\r\n params: {id: params.id},\r\n })\r\n },\r\n handleCommand(params) {\r\n if (params.command == 'bianzhi') {\r\n this.$router.push({\r\n name: 'ProjectFlowChart',\r\n params: {\r\n id: params.row.id,\r\n projectName: params.row.projectName,\r\n },\r\n })\r\n } else if (params.command == 'person') {\r\n this.$router.push({\r\n name: 'PersonnelManagement',\r\n params: params.row,\r\n })\r\n }\r\n },\r\n //重置\r\n handleReset() {\r\n this.searchForm.projectName = ''\r\n this.searchForm.createTime = ''\r\n this.searchForm.projectId = ''\r\n this.searchForm.projectType = ''\r\n this.searchForm.projectModel = ''\r\n this.searchForm.projectMoneyOne = ''\r\n this.searchForm.projectMoneyTwo = ''\r\n this.searchForm.isStart = ''\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.handleClearFilter()\r\n })\r\n },\r\n //导入后重新加载数据\r\n load() {\r\n this.$refs.AtTable.load(true)\r\n this.pagination = {...this.pagination, page}\r\n this.handleExpandChange(this.parent, true)\r\n },\r\n //导出\r\n handleExport() {\r\n this.loading2 = true\r\n let query = [\r\n // {\r\n // group: 'defaultQueryGroup',\r\n // operation: 'EQUAL',\r\n // relation: 'AND',\r\n // property: 'parent_id_',\r\n // value: 'root',\r\n // },\r\n ...this.querysParams.querys\r\n ]\r\n // let search = {\r\n // id_: this.searchForm.projectId,\r\n // project_name_: this.searchForm.projectName,\r\n // project_type_: this.searchForm.projectType,\r\n // // project_model_: this.searchForm.projectModel\r\n // CREATE_TIME_: this.searchForm.createTime,\r\n // project_status_: this.searchForm.isStart,\r\n // project_money_: [\r\n // this.searchForm.projectMoneyOne,\r\n // this.searchForm.projectMoneyTwo,\r\n // ],\r\n // }\r\n // for (let i in search) {\r\n // if (search[i] && typeof search[i] !== 'undefined') {\r\n // //判断是否已开工\r\n // if (i == 'project_status_') {\r\n // for (let j = 1; j <= 9; j++) {\r\n // if (search[i] == 2) {\r\n // query.push({\r\n // group: 'advance',\r\n // operation: 'LIKE',\r\n // property: i,\r\n // relation: 'OR',\r\n // value: j,\r\n // })\r\n // } else {\r\n // query.push({\r\n // group: 'advance',\r\n // operation: 'LIKE',\r\n // property: i,\r\n // relation: 'OR',\r\n // value: j + 6,\r\n // })\r\n // }\r\n // }\r\n // //判断投资金额范围\r\n // } else if (i == 'project_money_') {\r\n // if (search[i][0] && typeof search[i][0] !== 'undefined') {\r\n // query.push({\r\n // group: 'advance',\r\n // operation: 'GREAT',\r\n // property: i,\r\n // relation: 'AND',\r\n // value: search[i][0],\r\n // })\r\n // }\r\n // if (search[i][1] && typeof search[i][1] !== 'undefined') {\r\n // query.push({\r\n // group: 'advance',\r\n // operation: 'LESS',\r\n // property: i,\r\n // relation: 'AND',\r\n // value: search[i][1],\r\n // })\r\n // }\r\n // } else if (i == 'CREATE_TIME_') {\r\n // query.push(\r\n // {\r\n // group: 'createTimeGroup',\r\n // operation: 'BETWEEN',\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: 'createTimeGroup',\r\n // // operation: 'BETWEEN',\r\n // // parentGroup: '',\r\n // // property: 'COMPLETION_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 // } else {\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 let data = {\r\n pageBean: {\r\n page: 1,\r\n pageSize: -1,\r\n showTotal: true,\r\n },\r\n querys: query,\r\n }\r\n req\r\n .downloadPostCopy(\r\n '${cqxy}/biz/projectManagement/pm/v1/exportDataToExcel',\r\n data\r\n )\r\n .then((res) => {\r\n if (res.status == 200) {\r\n this.loading2 = false\r\n this.$message.success('导出成功')\r\n } else {\r\n this.loading2 = false\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 this.active++\r\n this.active = this.active\r\n this.$refs['form'].clearValidate()\r\n }\r\n let _this = this\r\n let vaitalArr = [\r\n // 'projectCode',\r\n 'projectName',\r\n // 'projectManager',\r\n // 'projectNature',\r\n // 'projectMoney',\r\n // 'projectType',\r\n // 'ownerUnit',\r\n // 'responsibleUnit',\r\n // 'constructUnit',\r\n // 'projectModel',\r\n // 'projectAddress',\r\n // 'preliminaryEstimate',\r\n // 'projectStatus',\r\n // 'commencementTime',\r\n // 'completionTime',\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 },\r\n handleDict(val, obj, str) {\r\n if (str === 'xmgl-xmzt') {\r\n this.form.projectStatusValue = obj.name\r\n } else if (str === 'xmgl-xmlx') {\r\n this.form.projectTypeValue = obj.name\r\n } else if (str === 'xmgl-jsms') {\r\n this.form.projectModelValue = obj.name\r\n } else if (str === 'xmgl-shsjfs') {\r\n this.form.socialAuditTypeValue = obj.name\r\n } else if (str === 'xmgl-gjsjjg') {\r\n this.form.stateAuditOfficeValue = obj.name\r\n }\r\n },\r\n handleAdd() {\r\n this.dialogTitle = '添加'\r\n this.commencementTime = []\r\n // 获取当前登录用户名\r\n let currentUser = JSON.parse(window.sessionStorage.getItem('currentUser'))\r\n this.form = {\r\n projectCode: '',\r\n projectName: '',\r\n projectType: 1, //项目类型\r\n // projectModel: 1, //建设模式\r\n // projectStatus: 1, //项目状态\r\n // socialAuditType: 1, //社会审计方式\r\n // stateAuditOffice: 1, //国家审计机关\r\n projectNature: 1, //工程属性\r\n // projectApprovalAuthority: 1, //立项审批机关\r\n // commencementTime: this.getDate(),\r\n // completionTime: this.getDate(),\r\n // commencementTime: '',\r\n // completionTime: ''\r\n ownerUnit: '重庆西永微电子产业园区开发有限公司',\r\n projectManagerId: currentUser.userId,\r\n projectManager: currentUser.username,\r\n }\r\n this.dialogVisible = true\r\n },\r\n handleRowDBClick(data) {\r\n // if (this.getMethodauth('project_update')) {\r\n this.$http\r\n .get('${cqxy}/biz/projectManagement/pm/v1/' + data.id)\r\n .then((res) => {\r\n if (res.status == 200) {\r\n this.dialogTitle = '修改'\r\n this.dialogVisible = true\r\n this.form = res.data\r\n this.commencementTime = [\r\n this.form.commencementTime || '',\r\n this.form.completionTime || '',\r\n ]\r\n } else {\r\n this.$message.error('请求出错,请重新选择')\r\n }\r\n })\r\n // }\r\n },\r\n handleSelect(selection) {\r\n this.indexArr = selection\r\n\r\n selection.forEach((item, index) => {\r\n if (item.projectName === '合计') {\r\n selection.splice(index, 1)\r\n }\r\n })\r\n this.selected.numbers = selection.length\r\n let total1 = this.calculationTotal(selection, 'projectMoney')\r\n let total2 = this.calculationTotal(selection, 'accumulatedProjectPayment')\r\n this.selected.money1 = total1\r\n this.selected.money2 = total2\r\n },\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 handleSetCurrent() {\r\n if (this.indexArr.length === 1) {\r\n this.$http\r\n .post(\r\n '${cqxy}/biz/projectManagement/pm/v1/currentProject/' +\r\n this.indexArr[0].id\r\n )\r\n .then((res) => {\r\n let data = res.data\r\n if (data.state) {\r\n this.$message.success(data.message)\r\n } else {\r\n this.$message.error(data.message)\r\n }\r\n this.$refs.AtTable.load()\r\n })\r\n } else {\r\n this.$message.info('请选择一个项目作为当前项目!')\r\n }\r\n },\r\n handleDialogSubmit() {\r\n let url, params\r\n if (this.newProjectIds) {\r\n url = '/biz/projectManagement/pm/v1/mergeItems'\r\n params = {\r\n projectIds: this.newProjectIds,\r\n projectManagement: this.form,\r\n }\r\n } else {\r\n url = '/biz/projectManagement/pm/v1/save'\r\n params = this.form\r\n }\r\n this.$refs.form.validate((valid) => {\r\n if (valid) {\r\n this.loading = true\r\n this.$http.post('${cqxy}' + url, params).then((res) => {\r\n this.loading = false\r\n if (res.data.state) {\r\n // this.$refs.projectInfoSelector.getProjectData()\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 })\r\n }\r\n })\r\n },\r\n //上传发送事件\r\n handleUpload() {\r\n this.$bus.$emit('openUploader')\r\n },\r\n loadData(param, cb) {\r\n // this.$refs.projectInfoSelector.getProjectData(this.searchForm.createTime)\r\n let query = []\r\n let search = {\r\n id_: this.searchForm.projectId,\r\n project_name_: this.searchForm.projectName,\r\n project_type_: this.searchForm.projectType,\r\n // project_model_: this.searchForm.projectModel\r\n CREATE_TIME_: this.searchForm.createTime,\r\n project_status_: this.searchForm.isStart,\r\n project_money_: [\r\n this.searchForm.projectMoneyOne,\r\n this.searchForm.projectMoneyTwo,\r\n ],\r\n }\r\n for (let i in search) {\r\n if (search[i] && typeof search[i] !== 'undefined') {\r\n //判断是否已开工\r\n if (i == 'project_status_') {\r\n for (let j = 1; j <= 9; j++) {\r\n if (search[i] == 2) {\r\n query.push({\r\n group: 'advance',\r\n operation: 'EQUAL',\r\n property: i,\r\n relation: 'OR',\r\n value: j,\r\n })\r\n } else {\r\n query.push({\r\n group: 'advance',\r\n operation: 'EQUAL',\r\n property: i,\r\n relation: 'OR',\r\n value: j + 6,\r\n })\r\n }\r\n }\r\n //判断投资金额范围\r\n } else if (i == 'project_money_') {\r\n if (search[i][0] && typeof search[i][0] !== 'undefined') {\r\n query.push({\r\n group: 'advance',\r\n operation: 'GREAT',\r\n property: i,\r\n relation: 'AND',\r\n value: search[i][0],\r\n })\r\n }\r\n if (search[i][1] && typeof search[i][1] !== 'undefined') {\r\n query.push({\r\n group: 'advance',\r\n operation: 'LESS',\r\n property: i,\r\n relation: 'AND',\r\n value: search[i][1],\r\n })\r\n }\r\n } else 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: '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: 'COMPLETION_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 // {\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 {\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.querysParams = param\r\n this.$http\r\n .post('${cqxy}/biz/projectManagement/pm/v1/page', param)\r\n .then(\r\n (resp) => {\r\n let response = resp.data.value\r\n this.selected = {\r\n numbers: 0,\r\n money1: '0',\r\n money2: '0',\r\n }\r\n let data = response.rows\r\n let total = this.calculationTotal(data, 'accumulatedProjectPayment')\r\n this.total.accumulatedProjectPayment = total\r\n this.total.projectMoney = this.calculationTotal(\r\n data,\r\n 'projectMoney'\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 // this.loadData()\r\n },\r\n /* 项目合并方法 */\r\n handleSizeChange(pageSize) {\r\n this.pagination = {...this.pagination, pageSize}\r\n this.handleExpandChange(this.parent)\r\n },\r\n handleCurrentChange(page) {\r\n this.pagination = {...this.pagination, page}\r\n this.handleExpandChange(this.parent, true)\r\n },\r\n handleMergeNewProject(ids) {\r\n let currentUser = JSON.parse(window.sessionStorage.getItem('currentUser'))\r\n this.form = {\r\n projectCode: '',\r\n projectName: '',\r\n projectType: 1, //项目类型\r\n projectNature: 1, //工程属性\r\n ownerUnit: '重庆西永微电子产业园区开发有限公司',\r\n projectManagerId: currentUser.userId,\r\n projectManager: currentUser.username,\r\n }\r\n this.newProjectIds = ids\r\n this.dialogVisible = true\r\n },\r\n handleExpandChange(row, doNotResetPage) {\r\n this.parent = {\r\n id: row.id,\r\n }\r\n // 默认重置页码为第一页\r\n if (!doNotResetPage) {\r\n this.pagination.page = 1\r\n }\r\n let param = {\r\n pageBean: {\r\n ...this.pagination,\r\n showTotal: true,\r\n },\r\n querys: [\r\n {\r\n group: 'main',\r\n operation: 'EQUAL',\r\n property: 'parent_Id_',\r\n relation: 'AND',\r\n value: this.parent.id,\r\n },\r\n ],\r\n // params: {\r\n // parentId: this.parent.id,\r\n // },\r\n }\r\n delete param.pageBean.total\r\n this.$http\r\n .post('${cqxy}/biz/projectManagement/pm/v1/page', param)\r\n .then((resp) => {\r\n let response = resp.data.value\r\n this.expandTableData = response.rows\r\n this.pagination = {\r\n page: response.page,\r\n pageSize: response.pageSize,\r\n total: response.total,\r\n }\r\n })\r\n },\r\n //返回一个boolean类型,是否显示列表按钮\r\n getMethodauth(elAuth) {\r\n let allMethod = window.sessionStorage.allMethod\r\n let methodAuth = window.sessionStorage.methodAuth\r\n let allMethodArray = allMethod && allMethod.split(',')\r\n let methodAuthArray = methodAuth && methodAuth.split(',')\r\n // 无权限则隐藏按钮\r\n if (\r\n methodAuthArray &&\r\n methodAuthArray.includes(elAuth) &&\r\n allMethodArray &&\r\n allMethodArray.includes(elAuth)\r\n ) {\r\n return true\r\n } else {\r\n return false\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() + 3 //结束年份\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 getByYearTime() {\r\n let arr = []\r\n if (typeof this.searchForm.commencementTime !== 'undefined') {\r\n let year = this.searchForm.year\r\n arr = [year + '01-01', year + '12-30']\r\n this.searchForm.year = arr\r\n }\r\n },\r\n handleExpSelect(selection) {\r\n this.elTableSection = selection\r\n },\r\n splitProject() {\r\n this.ids = []\r\n if (\r\n this.$refs.AtTable.selection &&\r\n this.$refs.AtTable.selection.length !== 0 &&\r\n !this.elTableSection\r\n ) {\r\n this.$message.error('请选择展开的项目')\r\n return\r\n }\r\n if (!this.elTableSection) {\r\n this.$message.error('请至少选择一条数据')\r\n return\r\n }\r\n if (this.elTableSection && this.elTableSection.length == 0 && !this.row) {\r\n this.$message.error('请至少选择一条数据')\r\n return\r\n }\r\n if (this.row) {\r\n this.ids.push(this.row.id)\r\n } else {\r\n for (let item of this.elTableSection) {\r\n this.ids.push(item.id)\r\n }\r\n }\r\n this.$http\r\n .post('${cqxy}/biz/projectManagement/pm/v1/splitItems?ids=' + this.ids)\r\n .then((res) => {\r\n if (res.data.state) {\r\n this.$message.success(res.data.message)\r\n this.$refs.AtTable.load(true)\r\n /* 刷新合并项目里面的数据 */\r\n this.pagination = {...this.pagination, page}\r\n this.handleExpandChange(this.parent, true)\r\n } else {\r\n this.message.error(res.data.message)\r\n }\r\n })\r\n },\r\n handleDateChange(e) {\r\n if (e.length !== 0) {\r\n this.form.commencementTime = e[0]\r\n this.form.completionTime = e[1]\r\n }\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.projectName === '合计') {\r\n return 'table-column-hidden'\r\n }\r\n },\r\n },\r\n}\r\n",null]}