{"remainingRequest":"D:\\jenkins\\workspace\\reform-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\reform-fvue\\src\\views\\ReformSituation\\components\\cityProjectDialog.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\reform-fvue\\src\\views\\ReformSituation\\components\\cityProjectDialog.vue","mtime":1740996014375},{"path":"D:\\jenkins\\workspace\\reform-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\reform-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\reform-fvue\\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\r\nimport {TableMixin} from '@/mixins/tableMixin'\r\nimport projectsAPI from '@/api/municipalReform'\r\nimport auditApi from '@/api/ReformSituation/reformAudit'\r\nimport FileList from '@/components/uploadFile/FileList.vue'\r\nimport UploadFile from '@/components/uploadFile/index.vue'\r\nimport RejectInfoBlockDialog from '@/components/dialog/RejectInfoBlockDialog.vue'\r\n\r\nexport default {\r\n name: 'projectsDialog',\r\n components: {RejectInfoBlockDialog, UploadFile, FileList},\r\n mixins: [TableMixin],\r\n data() {\r\n const numberEndRule1 = (rule, value, callback) => {\r\n if (this.basicList.partyProjectTotalNum != null) {\r\n if (this.basicList.partyProjectTotalNum < this.basicList.partyProjectFinishNum) {\r\n callback(new Error('承担改革任务数必须大于等于已完成改革任务数'))\r\n } else {\r\n callback()\r\n }\r\n } else {\r\n callback(new Error('请先输入承担改革任务数'))\r\n }\r\n }\r\n const numberEndRule2 = (rule, value, callback) => {\r\n if (this.basicList.newProjectTotalMum != null) {\r\n if (\r\n this.basicList.newProjectTotalMum <\r\n this.basicList.newProjectFinishNum\r\n ) {\r\n callback(new Error('已完成调研数必须大于等于承担项目数'))\r\n } else {\r\n callback()\r\n }\r\n } else {\r\n callback(new Error('请先输入承担任务数'))\r\n }\r\n }\r\n const numberEndRule3 = (rule, value, callback) => {\r\n if (this.basicList.newProjectTotalMum != null) {\r\n if (\r\n this.basicList.newProjectTotalMum <\r\n this.basicList.newProjectPlanNum\r\n ) {\r\n callback(new Error('已出台方案数必须大于等于承担项目数'))\r\n } else {\r\n callback()\r\n }\r\n } else {\r\n callback(new Error('请先输入承担任务数'))\r\n }\r\n }\r\n const numberEndRule4 = (rule, value, callback) => {\r\n if (this.basicList.centerFileTotalNum != null) {\r\n if (\r\n this.basicList.centerFileTotalNum <\r\n this.basicList.centerFileFinishNum\r\n ) {\r\n callback(new Error('需对接落实数必须大于等于已对接落实数'))\r\n } else {\r\n callback()\r\n }\r\n } else {\r\n callback(new Error('请先输入需对接落实数'))\r\n }\r\n }\r\n return {\r\n title: '新增',\r\n visible: false,\r\n markLoading: false,\r\n reqLoading: false,\r\n year: '',\r\n rules: {\r\n groupName: [\r\n {\r\n required: true,\r\n message: '请选择专项小组',\r\n trigger: 'change'\r\n }\r\n ],\r\n partyProjectTotalNum: [\r\n {\r\n required: true,\r\n message: '请输入承担改革任务数',\r\n trigger: 'blur'\r\n }\r\n ],\r\n partyProjectFinishNum: [\r\n {\r\n required: true,\r\n validator: numberEndRule1,\r\n trigger: 'blur'\r\n }\r\n ],\r\n otherProjectNum: [\r\n {\r\n required: true,\r\n message: '请输入其他改革项目数',\r\n trigger: 'blur'\r\n }\r\n ],\r\n municipalProjectAssumeNum: [\r\n {\r\n required: true,\r\n message: '请输入承担63项重大改革项目数',\r\n trigger: 'blur'\r\n }\r\n ],\r\n municipalProjectPlanNum: [\r\n {\r\n required: true,\r\n message: '请输入已出台方案数',\r\n trigger: 'blur'\r\n }\r\n ],\r\n municipalSpeedIndexMum: [\r\n {\r\n required: true,\r\n message: '请输入加快实施项目核心指标数',\r\n trigger: 'blur'\r\n }\r\n ],\r\n municipalSpeedIndexMean: [\r\n {\r\n required: true,\r\n message: '请输入加快实施项目核心指标进度平均值',\r\n trigger: 'blur'\r\n }\r\n ],\r\n municipalCommonNum: [\r\n {\r\n required: true,\r\n message: '请输入常态化实施数',\r\n trigger: 'blur'\r\n }\r\n ],\r\n newProjectTotalMum: [\r\n {\r\n required: true,\r\n message: '请输入承担项目数',\r\n trigger: 'blur'\r\n }\r\n ],\r\n newProjectFinishNum: [\r\n {\r\n required: true,\r\n validator: numberEndRule2,\r\n trigger: 'blur'\r\n }\r\n ],\r\n newProjectPlanNum: [\r\n {\r\n required: true,\r\n validator: numberEndRule3,\r\n trigger: 'blur'\r\n }\r\n ],\r\n newSpeedIndexNum: [\r\n {\r\n required: true,\r\n message: '请输入加快实施项目核心指标数',\r\n trigger: 'blur'\r\n }\r\n ],\r\n newSpeedIndexMean: [\r\n {\r\n required: true,\r\n message: '请输入加快实施项目核心指标进度平均值',\r\n trigger: 'blur'\r\n }\r\n ],\r\n centerFileTotalNum: [\r\n {\r\n required: true,\r\n message: '请输入需对接落实数',\r\n trigger: 'blur'\r\n }\r\n ],\r\n centerFileFinishNum: [\r\n {\r\n required: true,\r\n validator: numberEndRule4,\r\n trigger: 'blur'\r\n }\r\n ],\r\n appOnlineNum: [\r\n {\r\n required: true,\r\n message: '请输入上线数',\r\n trigger: 'blur'\r\n }\r\n ],\r\n appThroughNum: [\r\n {\r\n required: true,\r\n message: '请输入贯通数',\r\n trigger: 'blur'\r\n }\r\n ],\r\n appPracticeNum: [\r\n {\r\n required: true,\r\n message: '请输入实战数',\r\n trigger: 'blur'\r\n }\r\n ],\r\n appDigitizationRate: [\r\n {\r\n required: true,\r\n message: '请输入核心业务数字化率',\r\n trigger: 'blur'\r\n }\r\n ],\r\n pointTotalNum: [\r\n {\r\n required: true,\r\n message: '请输入二十大以来承担中央部署改革试点数',\r\n trigger: 'blur'\r\n }\r\n ],\r\n pointFinishNum: [\r\n {\r\n required: true,\r\n message: '请输入二十大以来中央部署改革试点任务完成数',\r\n trigger: 'blur'\r\n }\r\n ],\r\n pointNewNum: [\r\n {\r\n required: true,\r\n message: '请输入今年新争取到中央改革试点数',\r\n trigger: 'blur'\r\n }\r\n ],\r\n resultAffirmNum: [\r\n {\r\n required: true,\r\n message: '请输入今年改革经验获全国性肯定次数',\r\n trigger: 'blur'\r\n }\r\n ],\r\n resultAwardNum: [\r\n {\r\n required: true,\r\n message: '请输入近年获评改革创新奖数量',\r\n trigger: 'blur'\r\n }\r\n ],\r\n resultCaseNum: [\r\n {\r\n required: true,\r\n message: '请输入近年指导推广基层改革典型案例数量',\r\n trigger: 'blur'\r\n }\r\n ],\r\n },\r\n basicList: {\r\n problem: [{value: ''}],\r\n files: []\r\n },\r\n infoData: {\r\n status: 1,\r\n approvalComments: ''\r\n },\r\n groupNameOptions: [\r\n {\r\n label: '党建统领体制改革专项小组',\r\n value: '党建统领体制改革专项小组'\r\n },\r\n {\r\n label: '经济体制改革专项小组',\r\n value: '经济体制改革专项小组'\r\n },\r\n {\r\n label: '社会民生领域改革专项小组',\r\n value: '社会民生领域改革专项小组'\r\n },\r\n {\r\n label: '民主与法制领域改革专项小组',\r\n value: '民主与法制领域改革专项小组'\r\n },\r\n {\r\n label: '文化体制改革专项小组',\r\n value: '文化体制改革专项小组'\r\n },\r\n {\r\n label: '平安法治领域改革专项小组',\r\n value: '平安法治领域改革专项小组'\r\n },\r\n {\r\n label: '其他',\r\n value: '其他'\r\n }\r\n ]\r\n }\r\n },\r\n created() {\r\n let moment = require('moment')\r\n this.year = moment().format('YYYY')\r\n },\r\n mounted() {},\r\n methods: {\r\n isEdit() {\r\n return true\r\n },\r\n // 弹层进入事件\r\n open(data, title) {\r\n this.visible = true\r\n this.title = title\r\n if (data && data.id) {\r\n //编辑\r\n this.getDetailDataChange(data.id)\r\n } else {\r\n // 新增\r\n // this.getSelfmotionData()\r\n }\r\n },\r\n\r\n //获取自动抓取数据\r\n /*getSelfmotionData() {\r\n projectsAPI.getAutoDetail().then(res => {\r\n this.basicList = {...this.basicList, ...res.value}\r\n if (res.value.nationwideCondition) {\r\n this.basicList.nationwideCondition = JSON.parse(\r\n res.value.nationwideCondition\r\n )\r\n if (\r\n Array.isArray(this.basicList.nationwideCondition) &&\r\n this.basicList.nationwideCondition.length !== 0\r\n ) {\r\n this.basicList.nationwideCondition = this.basicList.nationwideCondition.map(\r\n data => {\r\n data.isShow = true\r\n return data\r\n }\r\n )\r\n }\r\n }\r\n if (res.value.superiorSupportCondition) {\r\n this.basicList.superiorSupportCondition = JSON.parse(\r\n res.value.superiorSupportCondition\r\n )\r\n if (\r\n Array.isArray(this.basicList.superiorSupportCondition) &&\r\n this.basicList.superiorSupportCondition.length !== 0\r\n ) {\r\n this.basicList.superiorSupportCondition = this.basicList.superiorSupportCondition.map(\r\n data => {\r\n data.isShow = true\r\n return data\r\n }\r\n )\r\n }\r\n }\r\n })\r\n },*/\r\n\r\n // 编辑获取详情\r\n getDetailDataChange(id) {\r\n projectsAPI.getDetailById(id).then(res => {\r\n this.basicList = res\r\n this.basicList.problem = JSON.parse(res.problem)\r\n })\r\n },\r\n\r\n // 删除表单中的列表\r\n deleteTextData(type, key, index) {\r\n this.$confirm(`确认删除吗?`, this.$t('common.tips'), {\r\n confirmButtonText: this.$t('common.confirm'),\r\n cancelButtonText: this.$t('common.cancel'),\r\n type: 'success'\r\n }).then(() => {\r\n this[type][key].splice(index, 1)\r\n })\r\n },\r\n\r\n // 新增表单中的列表\r\n listAdd(type, key) {\r\n if (this[type][key]) {\r\n this[type][key].push({value: ''})\r\n } else {\r\n this.$set(this[type], key, [{value: ''}])\r\n }\r\n },\r\n\r\n // 清空数据\r\n handleClose() {\r\n this.basicList = {\r\n problem: [{value: ''}],\r\n files: []\r\n }\r\n this.visible = false\r\n this.$nextTick(() => {\r\n this.$refs.form.clearValidate()\r\n })\r\n },\r\n\r\n // 删除附件\r\n changeFileList(arr, type) {\r\n this.basicList.files = arr\r\n },\r\n\r\n // 附件相关\r\n openUploade(code) {\r\n this.$refs.uploadFile.open(code)\r\n },\r\n\r\n setFileList(res) {\r\n let file = {\r\n ...res,\r\n id: res.response.fileId\r\n }\r\n this.basicList.files.push(file)\r\n },\r\n\r\n // 保存方法\r\n handlerSave(status) {\r\n this.$refs['form'].validate(valid => {\r\n if (valid) {\r\n let msg = status ? '保存并上报' : '保存为草稿'\r\n this.$confirm(`确认${msg}吗?`, this.$t('common.tips'), {\r\n confirmButtonText: this.$t('common.confirm'),\r\n cancelButtonText: this.$t('common.cancel'),\r\n type: 'success'\r\n })\r\n .then(() => {\r\n this.saveData(status, msg)\r\n })\r\n .catch(() => {})\r\n }\r\n })\r\n },\r\n\r\n // 保存数据\r\n saveData(status, msg) {\r\n this.markLoading = true\r\n let api = this.basicList.id ? 'editData' : 'createdProject'\r\n let data = JSON.parse(JSON.stringify(this.basicList))\r\n data.status = status\r\n data.problem = JSON.stringify(data.problem)\r\n projectsAPI[api](data)\r\n .then(res => {\r\n if (res.state) {\r\n this.$message.success(`${msg}成功`)\r\n this.$emit('getData')\r\n this.handleClose()\r\n this.markLoading = false\r\n }else{\r\n this.markLoading = false\r\n }\r\n })\r\n .catch(err => {\r\n this.markLoading = false\r\n })\r\n },\r\n\r\n // 审核通过\r\n handleApprove() {\r\n let {name} = this.$route\r\n status =\r\n name === 'ReviewOfReform'\r\n ? 3\r\n : name === 'CityReformSituationPropel'\r\n ? 5\r\n : 7\r\n this.$confirm(`确认通过?`, '提示', {\r\n confirmButtonText: '确认',\r\n cancelButtonText: '取消',\r\n type: 'success'\r\n })\r\n .then(() => {\r\n this.submitData(status, '审核')\r\n })\r\n .catch(() => {})\r\n },\r\n\r\n // 审核驳回\r\n handleReject() {\r\n this.$confirm(`确认驳回?`, '提示', {\r\n confirmButtonText: '确认',\r\n cancelButtonText: '取消',\r\n type: 'error'\r\n })\r\n .then(() => {\r\n this.$refs.RejectInfoBlockDialog.open()\r\n })\r\n .catch(() => {})\r\n },\r\n\r\n // 驳回提交数据\r\n sendRejectInfo(rejectInfo) {\r\n let {name} = this.$route\r\n status =\r\n name === 'ReviewOfReform'\r\n ? 2\r\n : name === 'CityReformSituationPropel'\r\n ? 4\r\n : 6\r\n if (!rejectInfo) {\r\n this.saveLoading = false\r\n return\r\n }\r\n this.submitData(status, '审核驳回', rejectInfo)\r\n },\r\n\r\n // 修改状态\r\n submitData(status, msg, rejectInfo = '') {\r\n console.log(status,'------------')\r\n this.markLoading = true\r\n let data = {\r\n status,\r\n id: this.basicList.id\r\n }\r\n if (status === '2' || status === '4' || status === '6') {\r\n data.approvalComments = rejectInfo\r\n } else {\r\n data.approvalComments = ''\r\n }\r\n auditApi.updateMunStatus(data, res => {\r\n if (res.state) {\r\n this.$message.success(`${msg}成功`)\r\n this.$emit('getData')\r\n this.handleClose()\r\n this.markLoading = false\r\n }else{\r\n this.markLoading = false\r\n }\r\n })\r\n },\r\n\r\n // 驳回原因查看\r\n opdismissedView(data) {\r\n this.$alert(data, '驳回详情', {\r\n customClass: 'message_box_alert',\r\n showConfirmButton: false\r\n })\r\n }\r\n }\r\n}\r\n",null]}