{"remainingRequest":"D:\\jenkins\\workspace\\reform-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\reform-fvue\\src\\views\\MeetingManagement\\dialog\\DocumentEntryForm.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\reform-fvue\\src\\views\\MeetingManagement\\dialog\\DocumentEntryForm.vue","mtime":1728439384927},{"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\r\nimport UploadFile from '@/components/uploadFile/index.vue'\r\nimport FileList from '@/components/uploadFile/FileList.vue'\r\nimport { TableMixin } from '@/mixins/tableMixin'\r\nimport meet from '@/api/meeting'\r\nimport RejectInfoBlockDialog from '@/components/dialog/RejectInfoBlockDialog.vue'\r\nexport default {\r\n name: 'ReformPilotManageDialog',\r\n components: {\r\n UploadFile,\r\n FileList,\r\n RejectInfoBlockDialog,\r\n },\r\n mixins: [TableMixin],\r\n data() {\r\n var checkInvs = (rule, value, callback) => {\r\n if (!this.unitIds.length) {\r\n return callback(new Error('请选择对接责任单位'))\r\n } else {\r\n callback()\r\n }\r\n }\r\n return {\r\n btnShow: false,\r\n formVisible: false,\r\n reqLoading: false,\r\n markLoading: false,\r\n activeCollapse: ['1', '2'],\r\n fileList: [],\r\n queryParam: {\r\n pageBean: {\r\n page: 1,\r\n pageSize: -1,\r\n },\r\n },\r\n rules: {\r\n fileName: {\r\n required: true,\r\n message: '请输入文件名称',\r\n trigger: 'blur',\r\n },\r\n reviewTime: {\r\n required: true,\r\n message: '请选择审议时间',\r\n trigger: 'blur',\r\n },\r\n meetingName: {\r\n required: true,\r\n message: '请输入会议名称',\r\n trigger: 'blur',\r\n },\r\n ourCityFileName: {\r\n required: true,\r\n message: '请选择我市对接文件名称',\r\n trigger: 'change',\r\n },\r\n invs: {\r\n required: true,\r\n validator: checkInvs,\r\n trigger: 'change',\r\n },\r\n },\r\n rules1: {\r\n abutmentType: {\r\n required: true,\r\n message: '请选择对接方式',\r\n trigger: 'blur',\r\n },\r\n abutmentStatus: {\r\n required: true,\r\n message: '请选择对接状态',\r\n trigger: 'blur',\r\n },\r\n abutmentDetailed: {\r\n required: true,\r\n message: '请输入对接请求内容',\r\n trigger: 'blur',\r\n },\r\n },\r\n addFileIndex: null,\r\n histroyData: null,\r\n isUpdate: false,\r\n isUpdateEntry: false,\r\n isHistroy: false,\r\n dialogForm: {},\r\n unitId: [],\r\n unitIds: [],\r\n unitArr: [],\r\n isMultiple: false,\r\n dialogForm1: {},\r\n options: [\r\n {\r\n value: 0,\r\n label: '已完成对接',\r\n },\r\n {\r\n value: 1,\r\n label: '未完成对接',\r\n },\r\n ],\r\n unitNames: [],\r\n classified: 0,\r\n unitId1: '',\r\n approvalComments: [],\r\n unitObj: {},\r\n }\r\n },\r\n\r\n created() { },\r\n methods: {\r\n //\r\n openForm(item) {\r\n console.log(item)\r\n this.formVisible = true\r\n if (item && item.id) {\r\n this.reqLoading = true\r\n let arr =\r\n item.unitId && (item.status || item.status == 0)\r\n ? [\r\n this.getEntryById(item.id),\r\n this.getHistroyDetail({\r\n id: item.id,\r\n unitId: item.unitId,\r\n }),\r\n ]\r\n : [this.getEntryById(item.id)]\r\n let { unitId, unitName, unitCode, unitGrade } = item\r\n this.unitObj = { unitId, unitName, unitCode, unitGrade }\r\n Promise.all(arr).then(() => {\r\n this.reqLoading = false\r\n })\r\n }\r\n },\r\n handleSelect(val) {\r\n this.options.forEach((item) => {\r\n if (item.value == val) {\r\n this.dialogForm.propulsiveDetailed = item.label\r\n }\r\n })\r\n },\r\n // ------------\r\n clearUnitIds(e) {\r\n this.isMultiple = e == 1 ? true : false\r\n this.unitIds = []\r\n },\r\n getTreeItem(data, id) {\r\n data.map((item) => {\r\n if (item.id == id) {\r\n this.treeItem = item\r\n } else {\r\n if (item.children) {\r\n this.getTreeItem(item.children, id)\r\n }\r\n }\r\n })\r\n },\r\n getParentsById(list, id) {\r\n for (let item of list) {\r\n if (item.id == id) {\r\n return [item.id]\r\n }\r\n if (item.children) {\r\n let node = this.getParentsById(item.children, id)\r\n if (node !== undefined) {\r\n node.unshift(item.id)\r\n return node\r\n }\r\n }\r\n }\r\n },\r\n // 表单提交保存\r\n handleAddOrUpdate(status) {\r\n this.$refs.form.validate((valid) => {\r\n if (valid) {\r\n let message =\r\n status == 0\r\n ? '确认提交本次录入保存为草稿吗?'\r\n : '确认提交本次录入并分发吗?'\r\n this.$confirm(message, '更新提示', {\r\n confirmButtonText: '确认',\r\n cancelButtonText: '取消',\r\n type: 'success',\r\n }).then(() => {\r\n this.markLoading = true\r\n let data = JSON.parse(JSON.stringify(this.dialogForm))\r\n let arr = []\r\n let unitIds = JSON.parse(\r\n JSON.stringify(this.unitIds)\r\n )\r\n let invIds = this.unitArr\r\n ? this.unitArr.map((item) => item.unitId)\r\n : []\r\n unitIds.forEach((idArr) => {\r\n let id = idArr.pop()\r\n if (invIds.indexOf(id) !== -1) {\r\n let index = invIds.indexOf(id)\r\n arr.push(this.unitArr[index])\r\n } else {\r\n this.getTreeItem(this.unitTreeData, id)\r\n let {\r\n code: unitCode,\r\n grade: unitGrade,\r\n id: unitId,\r\n name: unitName,\r\n } = this.treeItem\r\n arr.push({\r\n unitCode,\r\n unitGrade,\r\n unitId,\r\n unitName,\r\n })\r\n }\r\n })\r\n data.invs = arr\r\n data.sendStatus = status\r\n this.isUpdate\r\n ? this.upadteDocumentEntry(data)\r\n : this.addDocumentEntry(data)\r\n })\r\n } else {\r\n return false\r\n }\r\n })\r\n },\r\n // 新增\r\n addDocumentEntry(data) {\r\n meet.documentEntry(data, (res) => {\r\n if (res.state) {\r\n this.handleClose()\r\n this.markLoading = false\r\n this.$message.success(`文件交办录入成功`)\r\n this.$emit('flushed')\r\n } else {\r\n this.markLoading = false\r\n this.$message.success(`文件交办录入失败`)\r\n }\r\n })\r\n },\r\n // 修改\r\n upadteDocumentEntry(data) {\r\n meet.updateDocumentEntry(data, (res) => {\r\n if (res.state) {\r\n this.handleClose()\r\n this.markLoading = false\r\n this.$message.success(`文件交办录入修改成功`)\r\n this.$emit('flushed')\r\n } else {\r\n this.markLoading = false\r\n this.$message.success(`文件交办录入修改失败`)\r\n }\r\n })\r\n },\r\n\r\n // 更新部分\r\n // 保存草稿\r\n handleDraftOrReport(status) {\r\n this.$refs.form1.validate((valid) => {\r\n let flag =\r\n (valid && this.classified) ||\r\n (valid && this.fileList.length > 0)\r\n if (flag) {\r\n let message =\r\n status == 0\r\n ? '确认提交本次更新保存为草稿吗?'\r\n : '确认提交本次更新并上报吗?'\r\n this.$confirm(message, '更新提示', {\r\n confirmButtonText: '确认',\r\n cancelButtonText: '取消',\r\n type: 'success',\r\n }).then(() => {\r\n this.markLoading = true\r\n let data = JSON.parse(JSON.stringify(this.dialogForm1))\r\n let { id } = this.dialogForm\r\n data.status = status\r\n data.meetingId = id\r\n data.classified = this.classified\r\n data.ids = this.fileList.length\r\n ? this.fileList.map(\r\n (item) => item.id || item.response.fileId\r\n )\r\n : []\r\n data = { ...data, ...this.unitObj }\r\n console.log(data)\r\n if (!data.ids.length && !data.classified) {\r\n data.classified = 0\r\n }\r\n this.isUpdateEntry\r\n ? this.updateEntry(data)\r\n : this.addEntry(data)\r\n })\r\n } else {\r\n if (!valid) {\r\n this.$confirm('请填写完整信息。', '提示', {\r\n cancelButtonText: '关闭',\r\n showConfirmButton: false,\r\n type: 'error',\r\n })\r\n } else if (\r\n this.classified != 1 &&\r\n this.fileList.length == 0\r\n ) {\r\n this.$confirm('请上传佐证材料后保存。', '提示', {\r\n confirmButtonText: '立即上传',\r\n cancelButtonText: '关闭',\r\n type: 'error',\r\n }).then(() => {\r\n this.openUploade()\r\n })\r\n }\r\n }\r\n })\r\n },\r\n // 录入更新\r\n addEntry(data) {\r\n meet.addEntry(data, (res) => {\r\n if (res.state) {\r\n this.handleClose()\r\n this.markLoading = false\r\n this.$message.success(`文件状态录入更新成功`)\r\n this.$emit('flushed')\r\n } else {\r\n this.markLoading = false\r\n this.$message.success(`文件状态录入更新失败`)\r\n }\r\n })\r\n },\r\n // 修改更新\r\n updateEntry(data) {\r\n meet.updateEntry(data, (res) => {\r\n if (res.state) {\r\n this.handleClose()\r\n this.markLoading = false\r\n this.$message.success(`文件状态修改更新成功`)\r\n this.$emit('flushed')\r\n } else {\r\n this.markLoading = false\r\n this.$message.success(`文件状态修改更新失败`)\r\n }\r\n })\r\n },\r\n\r\n // 查询详情\r\n getHistroyDetail(data) {\r\n return new Promise((resolve) => {\r\n meet.getHistroyDetail(data, (res) => {\r\n if (\r\n (res.value[0].status == 3 ||\r\n res.value[0].status == 2 ||\r\n res.value[0].status == 4 ||\r\n res.value[0].status == 5) &&\r\n this.$route.name != 'MeetingAudit' &&\r\n this.$route.name != 'AdvanceAudits'\r\n ) {\r\n this.histroyData = res.value[0]\r\n this.histroyData.approvalComments =\r\n res.value[0] && res.value[0].approvalComments\r\n ? res.value[0].approvalComments.split('$_$')\r\n : []\r\n } else {\r\n this.dialogForm1 = res.value[0]\r\n this.fileList = res.value[0].files\r\n ? res.value[0].files\r\n : []\r\n this.classified = res.value[0].classified\r\n ? res.value[0].classified\r\n : 0\r\n this.approvalComments =\r\n res.value[0] && res.value[0].approvalComments\r\n ? res.value[0].approvalComments.split('$_$')\r\n : []\r\n if (res.value[1]) {\r\n this.histroyData = res.value[1]\r\n this.histroyData.approvalComments =\r\n res.value[1] && res.value[1].approvalComments\r\n ? res.value[1].approvalComments.split('$_$')\r\n : []\r\n }\r\n }\r\n resolve()\r\n })\r\n })\r\n },\r\n // 根据id查询录入详情\r\n getEntryById(id) {\r\n return new Promise((resolve) => {\r\n meet.getEntryById(id, (res) => {\r\n this.dialogForm = res.value\r\n let { invs } = res.value\r\n let ids =\r\n invs && invs.length\r\n ? invs.map((item) => item.unitId)\r\n : []\r\n this.unitArr = invs\r\n ids.forEach((id) => {\r\n let node = this.getParentsById(\r\n this.unitTreeData,\r\n id\r\n )\r\n this.unitIds = [...this.unitIds, node]\r\n })\r\n this.unitNames =\r\n invs && invs.length\r\n ? invs.map((item) => item.unitName)\r\n : []\r\n resolve()\r\n })\r\n })\r\n },\r\n setAipher(val) {\r\n this.classified = 1\r\n this.cipher = val\r\n // this.handleDraftOrReport(0)\r\n },\r\n // 文件相关\r\n openUploade(index) {\r\n this.addFileIndex = index\r\n this.$refs.uploadFile.open('MeetFile')\r\n },\r\n setFileList(file) {\r\n this.fileList.push(file)\r\n this.classified = 0\r\n },\r\n changeFileList(data) {\r\n this.fileList = data\r\n console.log(this.fileList)\r\n if (this.fileList.length == 0) {\r\n this.classified = 0\r\n }\r\n },\r\n // ------------\r\n handleClose() {\r\n this.formVisible = false\r\n this.dialogForm = {}\r\n this.dialogForm1 = {}\r\n this.unitIds = []\r\n this.unitId = []\r\n this.histroyData = null\r\n this.classified = 0\r\n },\r\n // 通过\r\n handleVerify() {\r\n this.$confirm('确认通过?', '提示', {\r\n confirmButtonText: '确认',\r\n cancelButtonText: '取消',\r\n type: 'success',\r\n }).then(() => {\r\n this.markLoading = true\r\n let data = JSON.parse(JSON.stringify(this.dialogForm1))\r\n let { id } = this.dialogForm\r\n data.status = this.$route.name == 'MeetingAudit' ? 3 : 5\r\n data.meetingId = id\r\n data.classified = this.classified\r\n data.ids = this.fileList.length\r\n ? this.fileList.map(\r\n (item) => item.id || item.response.fileId\r\n )\r\n : []\r\n data = { ...data, ...this.unitObj }\r\n console.log(data)\r\n if (!data.ids.length && !data.classified) {\r\n data.classified = 0\r\n }\r\n meet.updateEntry(data, (res) => {\r\n if (res.state) {\r\n this.handleClose()\r\n this.markLoading = false\r\n this.$message.success(`通过成功`)\r\n this.$emit('flushed')\r\n } else {\r\n this.markLoading = false\r\n this.$message.success(`通过失败`)\r\n }\r\n })\r\n })\r\n },\r\n openInputVisible() {\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: 'error',\r\n }).then(() => {\r\n this.$refs.RejectInfoBlockDialog.open()\r\n })\r\n },\r\n sendRejectInfo(approvalComments) {\r\n this.markLoading = true\r\n let data = JSON.parse(JSON.stringify(this.dialogForm1))\r\n let { id } = this.dialogForm\r\n data.status = this.$route.name == 'MeetingAudit' ? 2 : 4\r\n data.approvalComments = approvalComments\r\n data.meetingId = id\r\n data.classified = this.classified\r\n data.ids = this.fileList.length\r\n ? this.fileList.map((item) => item.id || item.response.fileId)\r\n : []\r\n data = { ...data, ...this.unitObj }\r\n console.log(data)\r\n if (!data.ids.length && !data.classified) {\r\n data.classified = 0\r\n }\r\n meet.updateEntry(data, (res) => {\r\n if (res.state) {\r\n this.handleClose()\r\n this.markLoading = false\r\n this.$message.success(`驳回成功`)\r\n this.$emit('flushed')\r\n } else {\r\n this.markLoading = false\r\n this.$message.success(`驳回失败`)\r\n }\r\n })\r\n },\r\n saveAndVerify() {\r\n this.markLoading = true\r\n let data = JSON.parse(JSON.stringify(this.dialogForm))\r\n let arr = []\r\n let unitIds = JSON.parse(JSON.stringify(this.unitIds))\r\n let invIds = this.unitArr\r\n ? this.unitArr.map((item) => item.unitId)\r\n : []\r\n unitIds.forEach((idArr) => {\r\n let id = idArr.pop()\r\n if (invIds.indexOf(id) !== -1) {\r\n let index = invIds.indexOf(id)\r\n arr.push(this.unitArr[index])\r\n } else {\r\n this.getTreeItem(this.unitTreeData, id)\r\n let {\r\n code: unitCode,\r\n grade: unitGrade,\r\n id: unitId,\r\n name: unitName,\r\n } = this.treeItem\r\n arr.push({ unitCode, unitGrade, unitId, unitName })\r\n }\r\n })\r\n data.invs = arr\r\n meet.updateDocumentEntry(data, (res) => {\r\n if (res.state) {\r\n this.markLoading = false\r\n this.handleVerify()\r\n } else {\r\n this.markLoading = false\r\n }\r\n })\r\n },\r\n saveAndOpenInputVisible() {\r\n this.markLoading = true\r\n let data = JSON.parse(JSON.stringify(this.dialogForm))\r\n let arr = []\r\n let unitIds = JSON.parse(JSON.stringify(this.unitIds))\r\n let invIds = this.unitArr\r\n ? this.unitArr.map((item) => item.unitId)\r\n : []\r\n unitIds.forEach((idArr) => {\r\n let id = idArr.pop()\r\n if (invIds.indexOf(id) !== -1) {\r\n let index = invIds.indexOf(id)\r\n arr.push(this.unitArr[index])\r\n } else {\r\n this.getTreeItem(this.unitTreeData, id)\r\n let {\r\n code: unitCode,\r\n grade: unitGrade,\r\n id: unitId,\r\n name: unitName,\r\n } = this.treeItem\r\n arr.push({ unitCode, unitGrade, unitId, unitName })\r\n }\r\n })\r\n data.invs = arr\r\n meet.updateDocumentEntry(data, (res) => {\r\n if (res.state) {\r\n this.markLoading = false\r\n this.openInputVisible()\r\n } else {\r\n this.markLoading = false\r\n }\r\n })\r\n },\r\n saveOneAll() {\r\n this.$confirm('确认修改保存吗?', '提示', {\r\n confirmButtonText: '确认',\r\n cancelButtonText: '取消',\r\n type: 'success',\r\n }).then(() => {\r\n this.markLoading = true\r\n let data = JSON.parse(JSON.stringify(this.dialogForm1))\r\n let { id } = this.dialogForm\r\n data.meetingId = id\r\n data.classified = this.classified\r\n data.ids = this.fileList.length\r\n ? this.fileList.map(\r\n (item) => item.id || item.response.fileId\r\n )\r\n : []\r\n data = { ...data, ...this.unitObj }\r\n console.log(data)\r\n if (!data.ids.length && !data.classified) {\r\n data.classified = 0\r\n }\r\n this.updateEntry(data)\r\n })\r\n },\r\n saveAll() {\r\n this.$confirm('确认修改保存吗?', '提示', {\r\n confirmButtonText: '确认',\r\n cancelButtonText: '取消',\r\n type: 'success',\r\n }).then(() => {\r\n this.markLoading = true\r\n let data = JSON.parse(JSON.stringify(this.dialogForm))\r\n let arr = []\r\n let unitIds = JSON.parse(JSON.stringify(this.unitIds))\r\n let invIds = this.unitArr\r\n ? this.unitArr.map((item) => item.unitId)\r\n : []\r\n unitIds.forEach((idArr) => {\r\n let id = idArr.pop()\r\n if (invIds.indexOf(id) !== -1) {\r\n let index = invIds.indexOf(id)\r\n arr.push(this.unitArr[index])\r\n } else {\r\n this.getTreeItem(this.unitTreeData, id)\r\n let {\r\n code: unitCode,\r\n grade: unitGrade,\r\n id: unitId,\r\n name: unitName,\r\n } = this.treeItem\r\n arr.push({ unitCode, unitGrade, unitId, unitName })\r\n }\r\n })\r\n data.invs = arr\r\n meet.updateDocumentEntry(data, (res) => {\r\n if (res.state) {\r\n let data1 = JSON.parse(JSON.stringify(this.dialogForm1))\r\n let { id } = this.dialogForm\r\n data1.meetingId = id\r\n data1.classified = this.classified\r\n data1.ids = this.fileList.length\r\n ? this.fileList.map(\r\n (item) => item.id || item.response.fileId\r\n )\r\n : []\r\n data1 = { ...data1, ...this.unitObj }\r\n console.log(data1)\r\n if (!data1.ids.length && !data1.classified) {\r\n data.classified = 0\r\n }\r\n this.updateEntry(data1)\r\n } else {\r\n this.markLoading = false\r\n }\r\n })\r\n })\r\n },\r\n },\r\n}\r\n",null]}