{"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\\ProjectInitiation\\ProjectInitiationSub.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xypm-web-prod\\src\\views\\ProjectInitiation\\ProjectInitiationSub.vue","mtime":1667333351352},{"path":"D:\\jenkins\\workspace\\xypm-web-prod\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"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\r\nimport ProjectInfoDialog from '@/components/dialog/ProjectInfoDialog.vue'\r\nimport req from '@/request.js'\r\nexport default {\r\n name: 'projectInitiationSub',\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 },\r\n components: {\r\n ProjectInfoDialog\r\n },\r\n data() {\r\n return {\r\n importData: {\r\n title: '项目立项导入',\r\n templateName: '项目立项模板.xls',\r\n downloadUrl: '/../fvue/static/excel/ExportProjectInitiationSub.xlsx',\r\n importUrl:\r\n window.context.cqxy +\r\n '/biz/projectApproval/projectEstablishment/v1/importExcelData',\r\n showProject: true,\r\n projectId: ''\r\n },\r\n projectObj: [], //获取的所有项目数组\r\n labelPosition: 'right', //表单对齐方式\r\n searchForm: {\r\n projectId: '',\r\n establishmentName: '',\r\n documentNumber: ''\r\n }, //顶部搜索参数\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 L_hidden: false,\r\n W_hidden: false,\r\n A_hidden: false,\r\n typeOptions: [\r\n {\r\n value: '立项批复',\r\n label: '立项批复'\r\n },\r\n {\r\n value: '备案证书',\r\n label: '备案证书'\r\n },\r\n {\r\n value: '核准批复',\r\n label: '核准批复'\r\n }\r\n ],\r\n //表单验证\r\n rules: {\r\n 'projectInfo.projectName': {\r\n required: true,\r\n message: '项目名称不能为空',\r\n trigger: 'blur'\r\n },\r\n pcode: {\r\n required: true,\r\n message: '项目代码不能为空',\r\n trigger: 'blur'\r\n },\r\n 'projectInfo.projectCode': {\r\n required: true,\r\n message: '项目代码不能为空',\r\n trigger: 'blur'\r\n },\r\n documentNumber: {\r\n required: true,\r\n message: '文号不能为空',\r\n trigger: 'blur'\r\n },\r\n establishmentName: {\r\n required: true,\r\n message: '请输入建设性质',\r\n trigger: 'blur'\r\n },\r\n establishmentDate: {\r\n required: true,\r\n message: '批复日期不能为空',\r\n trigger: 'blur'\r\n },\r\n establishmentApprovalUnit: {\r\n required: true,\r\n message: '审批单位不能为空',\r\n trigger: 'blur'\r\n },\r\n establishmentInvestmentAmount: {\r\n required: true,\r\n message: '总投资不能为空',\r\n trigger: 'blur'\r\n }\r\n }\r\n }\r\n },\r\n computed: {\r\n deleteUrl: function() {\r\n return (\r\n window.context.cqxy +\r\n '/biz/projectApproval/projectEstablishment/v1/delete'\r\n )\r\n }\r\n },\r\n mounted() {\r\n this.initProjectAll()\r\n },\r\n methods: {\r\n handleReset() {\r\n this.searchForm.projectId = ''\r\n this.searchForm.establishmentName = ''\r\n this.searchForm.documentNumber = ''\r\n this.pageResult = {\r\n page: 1,\r\n pageSize: 20,\r\n total: 0\r\n }\r\n this.$refs['searchForm'].resetFields()\r\n this.$nextTick(() => {\r\n this.$refs.AtTable.load()\r\n })\r\n },\r\n handleSelectProject(data) {\r\n this.form.establishmentApprovalUnit = data.projectApprovalAuthority\r\n this.form.establishmentScale = data.projectContent\r\n this.form.projectInfo.projectName = data.projectName\r\n this.form.projectInfo.projectCode = data.projectCode\r\n this.form.projectId = data.id\r\n\r\n let projectType = data.projectType\r\n this.getByProjectTypeIsShow(projectType)\r\n\r\n this.$refs.ruleForm.clearValidate()\r\n },\r\n //打开选择项目弹框\r\n handleFocusProject() {\r\n this.$refs.project.open()\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 'pm.ID_': this.searchForm.projectId,\r\n documentNumber: this.searchForm.documentNumber,\r\n establishmentName: this.searchForm.establishmentName\r\n }\r\n if (!this.isShow) {\r\n search['pm.ID_'] = this.pid\r\n }\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(\r\n '${cqxy}/biz/projectApproval/projectEstablishment/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 accessoryInfo(info) {\r\n this.form.accessoryInfo = info\r\n },\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 //查询\r\n handleSearch() {\r\n this.$refs.AtTable.load()\r\n },\r\n afterSaveData() {\r\n setTimeout(() => {\r\n this.form = {\r\n projectInfo: {\r\n projectName: '',\r\n projectCode: ''\r\n },\r\n accessoryInfo: []\r\n }\r\n this.beforeCloseDialog()\r\n this.$refs.AtTable.load()\r\n }, 500)\r\n },\r\n beforeCloseDialog() {\r\n this.dialogVisible = false\r\n },\r\n handleAdd() {\r\n this.dialogTitle = '添加'\r\n this.dialogVisible = true\r\n this.form = {\r\n projectId: '',\r\n documentNumber: `渝高新改投【${new Date().getFullYear()}】001号`,\r\n establishmentName: '新建',\r\n establishmentDate: this.getDate(),\r\n establishmentApprovalUnit: 2,\r\n establishmentInvestmentAmount: '',\r\n establishmentScale: '',\r\n establishmentType: '立项批复',\r\n projectInfo: {\r\n projectName: '',\r\n projectCode: ''\r\n },\r\n accessoryInfo: []\r\n }\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.establishmentScale = selectedProject.projectContent\r\n this.form.projectInfo.projectName = selectedProject.projectName\r\n this.form.projectInfo.projectCode = selectedProject.projectCode\r\n this.form.projectId = selectedProject.id\r\n this.form.establishmentInvestmentAmount = selectedProject.projectMoney\r\n } else {\r\n //根据项目id查询\r\n this.form.establishmentScale = this.projectObj[0].projectContent\r\n this.form.projectInfo.projectName = this.projectObj[0].projectName\r\n this.form.projectInfo.projectCode = this.projectObj[0].projectCode\r\n this.form.projectId = this.projectObj[0].id\r\n this.form.establishmentInvestmentAmount = this.projectObj[0].projectMoney\r\n\r\n let projectType = this.projectObj[0].projectType\r\n this.getByProjectTypeIsShow(projectType)\r\n }\r\n },\r\n //根据项目类型判断显示和隐藏高度,宽度,面积,type为项目类型\r\n getByProjectTypeIsShow(type) {\r\n //房间工程,填写面积,宽度,隐藏长度\r\n if (type == 1) {\r\n this.L_hidden = true\r\n this.W_hidden = false\r\n this.A_hidden = false\r\n } else if (type == 2 || type == 5) {\r\n //类型为装修和生态环保填写面积,隐藏长、宽\r\n this.L_hidden = true\r\n this.W_hidden = true\r\n this.A_hidden = false\r\n } else if (type == 3 || type == 4) {\r\n //类型为市政道路,市政配套填写长、宽,隐藏面积\r\n this.L_hidden = false\r\n this.W_hidden = false\r\n this.A_hidden = true\r\n } else if (type == 6) {\r\n //类型为零星项目三个都不用填\r\n this.L_hidden = true\r\n this.W_hidden = true\r\n this.A_hidden = true\r\n } else {\r\n this.L_hidden = false\r\n this.W_hidden = false\r\n this.A_hidden = false\r\n }\r\n },\r\n handleRowDBClick(data) {\r\n this.dialogTitle = '修改'\r\n this.$http\r\n .post(\r\n '${cqxy}/biz/projectApproval/projectEstablishment/v1/detail/' +\r\n data.id\r\n )\r\n .then(res => {\r\n this.dialogVisible = true\r\n let response = res.data.value\r\n this.form = response\r\n })\r\n },\r\n\r\n handleSelect(selection) {},\r\n handleDialogCancel() {\r\n this.dialogVisible = false\r\n this.form = {\r\n projectInfo: {\r\n projectName: '',\r\n projectCode: ''\r\n },\r\n accessoryInfo: []\r\n }\r\n },\r\n handleDialogClose() {\r\n this.dialogVisible = false\r\n this.form = {\r\n projectInfo: {\r\n projectName: '',\r\n projectCode: ''\r\n },\r\n accessoryInfo: []\r\n }\r\n },\r\n //提交保存\r\n handleDialogSubmit(formName) {\r\n this.$refs[formName].validate(valid => {\r\n if (valid) {\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.$http\r\n .post(\r\n '${cqxy}/biz/projectApproval/projectEstablishment/v1/save',\r\n this.form\r\n )\r\n .then(res => {\r\n if (res.status == 200) {\r\n setTimeout(() => {\r\n this.$message.success(res.data.message)\r\n this.afterSaveData()\r\n }, 500)\r\n } else {\r\n this.$message.error(res.data.message)\r\n }\r\n })\r\n }\r\n // else if (this.form.accessoryInfo.length === 0) {\r\n // this.$message.error('至少上传一个附件')\r\n // }\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 let query = []\r\n let search = {\r\n 'pm.ID_': this.searchForm.projectId,\r\n establishment_name_: this.searchForm.establishmentName,\r\n establishment_date_: this.searchForm.establishmentDate,\r\n document_number_: this.searchForm.documentNumber\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 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/projectApproval/projectEstablishment/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(() => cb())\r\n }\r\n }\r\n}\r\n",null]}