{"remainingRequest":"D:\\jenkins\\workspace\\reform-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\reform-fvue\\src\\views\\MeetingManagement\\AssignmentItemsEntered.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\reform-fvue\\src\\views\\MeetingManagement\\AssignmentItemsEntered.vue","mtime":1721205805091},{"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//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\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 pagination from '@/components/pagination'\r\nimport sat from '@/api/satisfaction/satisfaction'\r\nimport { TableMixin } from '@/mixins/tableMixin'\r\nimport filePreview from '@/components/FilePreview/filePreview.vue'\r\nimport UploadFile from '@/components/uploadFile/index.vue'\r\nimport req from '@/request.js'\r\nimport utils from '@/utils.js'\r\nimport FileList from '@/components/uploadFile/FileList.vue'\r\nimport RecordDialog from '@/components/dialog/RecordDialog'\r\nimport moment from 'moment'\r\nconst portal = window.context.portal\r\nexport default {\r\n name: 'DemandEntry',\r\n components: {\r\n pagination,\r\n UploadFile,\r\n filePreview,\r\n FileList,\r\n RecordDialog,\r\n },\r\n mixins: [TableMixin],\r\n data() {\r\n // var checkMeetingType = async (rule, value, callback) => {\r\n // if (!value) {\r\n // return callback(new Error('请选择会议类型'))\r\n // } else {\r\n // if (this.dialogForm.meetingNum) {\r\n // let flag = await this.meetingNameIsUnique()\r\n // if (flag) {\r\n // callback()\r\n // } else {\r\n // return callback(new Error('会议名称已存在,请重新选择'))\r\n // }\r\n // }\r\n // }\r\n // }\r\n // var checkMeetingNum = async (rule, value, callback) => {\r\n // if (!value) {\r\n // return callback(new Error('请选择会议类型'))\r\n // } else {\r\n // if (this.dialogForm.meetingType) {\r\n // let flag = await this.meetingNameIsUnique()\r\n // if (flag) {\r\n // callback()\r\n // } else {\r\n // return callback(new Error('会议名称已存在,请重新选择'))\r\n // }\r\n // }\r\n // }\r\n // }\r\n return {\r\n markLoading: false,\r\n tableMaxHeight: 400,\r\n loading: false,\r\n tableLoading: false,\r\n reqLoading: false,\r\n tableData: [],\r\n multipleSelection: [],\r\n params: {\r\n pageBean: {\r\n page: 1,\r\n pageSize: 20,\r\n total: 0,\r\n },\r\n },\r\n pageResult: {\r\n page: 1,\r\n pageSize: 20,\r\n total: 0,\r\n },\r\n saveing: false, //保存按钮加载\r\n searchForm: {}, // 顶部搜索对象\r\n deleteIds: '', // 是否选中列表解锁删除按钮\r\n activeCollapse1: ['1', '2'],\r\n fileList: [], // 文件上传\r\n dialog: {\r\n title: '添加',\r\n visible: false,\r\n },\r\n unitTreeData: [],\r\n classified: 0,\r\n dialogForm: {\r\n sendStatus: 0,\r\n // files: [],\r\n bizMeetingEventDetailsList: [\r\n {\r\n // unitValue: [],\r\n groupName: [],\r\n mainUnitList: [],\r\n feedbackTimeLimit: '',\r\n classified: '',\r\n status: '',\r\n remarks: '',\r\n meetingTask: '',\r\n specificTask: '',\r\n updateRate: '',\r\n timePeriod: '0', // 时间期限\r\n bizMeetingEventDetailsUnitList: [],\r\n },\r\n ], //交办事项\r\n },\r\n // parameter: {\r\n // bizMeetingEventDetailsList: [\r\n // {\r\n // unitValue: []\r\n // }\r\n // ] //交办事项\r\n // },\r\n meetingTypeList: [], //会议类型\r\n disabled: false, // 是否禁止输入输入\r\n edit: false, // 是否是修改功能\r\n rules: {\r\n meetingName: {\r\n required: true,\r\n message: '请输入会议名称',\r\n trigger: 'blur',\r\n },\r\n meetingTime: {\r\n required: true,\r\n message: '请选择会议时间',\r\n trigger: 'change',\r\n },\r\n // message: '请选择会议类型',\r\n // meetingType: {\r\n // required: true,\r\n // validator: checkMeetingType,\r\n\r\n // trigger: 'change'\r\n // },\r\n // message: '请输入会议次别',\r\n // meetingNum: {\r\n // required: true,\r\n // validator: checkMeetingNum,\r\n // message: '请选择会议类型',\r\n // trigger: 'blur'\r\n // },\r\n // message: '请选择会议类型',\r\n meetingType: {\r\n required: true,\r\n message: '请选择会议类型',\r\n trigger: 'change',\r\n },\r\n // message: '请输入会议次别',\r\n meetingNum: {\r\n required: true,\r\n message: '请输入会议次别',\r\n trigger: 'blur',\r\n },\r\n groupName: {\r\n required: true,\r\n message: '请选择',\r\n trigger: 'change',\r\n },\r\n mainUnitList: {\r\n required: true,\r\n message: '请选择责任单位',\r\n trigger: 'change',\r\n },\r\n bizMeetingEventDetailsUnitList: {\r\n required: false,\r\n message: '请选择配合单位',\r\n trigger: 'change',\r\n },\r\n timePeriod: {\r\n required: true,\r\n message: '请选择落实期限',\r\n trigger: 'change',\r\n },\r\n updateRate: {\r\n required: true,\r\n message: '请选择更新频率',\r\n trigger: 'change',\r\n },\r\n feedbackTimeLimit: {\r\n required: true,\r\n message: '请选择反馈时间',\r\n trigger: 'change',\r\n },\r\n meetingTask: {\r\n required: false,\r\n message: '请输入重点工作/领导讲话内容',\r\n trigger: 'blur',\r\n },\r\n specificTask: {\r\n required: true,\r\n message: '请输入具体任务',\r\n trigger: 'blur',\r\n },\r\n },\r\n treeItem: {},\r\n groupList: [],\r\n unitObjList: [],\r\n flag: true,\r\n groupAll: [],\r\n }\r\n },\r\n\r\n created() {\r\n this.loadData(this.params)\r\n // this.groupList = utils.getDictItemsFromCache('zxxz')\r\n this.unitTreeData = JSON.parse(\r\n sessionStorage.getItem('responsibilityTree')\r\n )\r\n this.getGroupList()\r\n },\r\n watch: {\r\n 'dialogForm.meetingType': function (newVal, oldVal) {\r\n // console.log('meetingType 变化了', ((newVal<20||newVal==30)&&(oldVal>19 || oldVal==31)));\r\n if (\r\n ((newVal < 20 || newVal == 30) &&\r\n (oldVal > 19 || oldVal == 31)) ||\r\n ((oldVal < 20 || oldVal == 30) && (newVal > 19 || newVal == 31))\r\n ) {\r\n // console.log('meetingType 变化了', newVal, oldVal)\r\n this.dialogForm.bizMeetingEventDetailsList.forEach((item) => {\r\n item.mainUnitList = []\r\n item.groupName = []\r\n })\r\n }\r\n },\r\n },\r\n methods: {\r\n clearAll() {\r\n this.groupList.forEach((item) => (item.check = false))\r\n },\r\n removeTag(e) {\r\n e.check = false\r\n },\r\n groupChange(val, index) {\r\n let data = JSON.parse(\r\n JSON.stringify(\r\n this.dialogForm.bizMeetingEventDetailsList[index]\r\n .mainUnitList\r\n )\r\n )\r\n let isIndex = JSON.parse(\r\n JSON.stringify(\r\n this.dialogForm.bizMeetingEventDetailsList[index].groupName\r\n )\r\n ).findIndex((ele) => ele.id === 'other')\r\n let ids = data.map((item) => item.pop())\r\n let arr = []\r\n if (isIndex !== -1) {\r\n this.dialogForm.bizMeetingEventDetailsList[index].groupName =\r\n this.groupList\r\n arr = this.groupList.map((item) => {\r\n if (ids.indexOf(item.orgId) === -1) {\r\n if (item.orgId && !item.check) {\r\n item.check = true\r\n return this.getParentsById(\r\n this.unitTreeData,\r\n item.orgId\r\n )\r\n }\r\n }\r\n })\r\n } else {\r\n arr = val.map((item) => {\r\n if (ids.indexOf(item.orgId) === -1) {\r\n if (item.orgId && !item.check) {\r\n item.check = true\r\n return this.getParentsById(\r\n this.unitTreeData,\r\n item.orgId\r\n )\r\n }\r\n }\r\n })\r\n }\r\n let groupArr = [\r\n ...this.dialogForm.bizMeetingEventDetailsList[index]\r\n .mainUnitList,\r\n ...arr,\r\n ]\r\n this.dialogForm.bizMeetingEventDetailsList[index].mainUnitList =\r\n groupArr.filter((item) => item !== undefined)\r\n this.dialogForm.bizMeetingEventDetailsList[index].groupName =\r\n this.dialogForm.bizMeetingEventDetailsList[\r\n index\r\n ].groupName.filter((item) => item.id !== 'other')\r\n this.groupList.forEach((item) => (item.check = false))\r\n },\r\n meetingTypeChange(e) {\r\n if (e - 0 < 20 || e == 30) {\r\n this.groupList = [\r\n ...this.groupAll[1],\r\n { groupName: '各专项小组', id: 'other' },\r\n ]\r\n } else {\r\n this.groupList = [\r\n ...this.groupAll[0],\r\n { groupName: '各专题组组', id: 'other' },\r\n ]\r\n }\r\n },\r\n // 查询专项小组列表\r\n getGroupList() {\r\n let data = JSON.parse(JSON.stringify(this.params))\r\n data.pageBean.pageSize = -1\r\n req.post(\r\n portal + `/fill/bizSpecialGroup/v1/queryPageList`,\r\n data\r\n ).then((res) => {\r\n res.data.rows.forEach((item) => (item.check = false))\r\n this.groupAll = [\r\n res.data.rows.filter((item) => item.groupType === 1),\r\n res.data.rows.filter((item) => item.groupType === 2),\r\n ]\r\n this.groupList = [\r\n ...this.groupAll[1],\r\n { groupName: '各专项小组', id: 'other' },\r\n ]\r\n })\r\n },\r\n // 校验会议名称是否唯一\r\n meetingNameIsUnique() {\r\n this.markLoading = true\r\n return new Promise((resolve) => {\r\n let { meetingNum, meetingType, id, meetingTime } = this.dialogForm\r\n let meetingName = this.getDictName('hylx', meetingType)\r\n if (meetingType == 1 || meetingType == 20) {\r\n meetingName =\r\n meetingName.substring(0, meetingName.length - 2) +\r\n '第' +\r\n meetingNum +\r\n '次会议'\r\n } else if (meetingType > 29) {\r\n meetingName = this.dialogForm.meetingName\r\n } else {\r\n let year = moment(meetingTime).year() + '年'\r\n meetingName = year + '第' + meetingNum + '次' + meetingName\r\n }\r\n let id1 = id ? id : ''\r\n console.log(meetingName)\r\n req.post(\r\n portal +\r\n `/bizMeetingEvent/v1/isExists?meetingName=${meetingName}&id=${id1}`\r\n ).then((res) => {\r\n resolve(res)\r\n })\r\n })\r\n },\r\n // 撤回\r\n revokeReview(data) {\r\n console.log(data)\r\n this.$confirm('确认执行撤销操作吗?', '提示', {\r\n confirmButtonText: '确定',\r\n cancelButtonText: '取消',\r\n type: 'error',\r\n }).then(() => {\r\n this.markLoading = true\r\n req.post(\r\n portal +\r\n '/bizMeetingEventPush/v1/revSendStatus?id=' +\r\n data.id\r\n ).then((res) => {\r\n if (res.data.state) {\r\n req.post(\r\n portal +\r\n '/bizMeetingEvent/v1/modifySendStatus?ids=' +\r\n data.id +\r\n '&status=0'\r\n ).then((res) => {\r\n if (res.status == 200) {\r\n this.$message.success('撤销操作成功')\r\n this.markLoading = false\r\n this.loadData(this.params)\r\n }\r\n })\r\n }\r\n this.markLoading = false\r\n })\r\n // req\r\n // .post(\r\n // portal +\r\n // '/bizMeetingEvent/v1/modifySendStatus?ids=' +\r\n // data.id +\r\n // '&status=0'\r\n // )\r\n // .then(res => {\r\n // if (res.status == 200) {\r\n // this.$message.success('撤销操作成功')\r\n // this.loadData(this.params)\r\n // }\r\n // })\r\n // this.markLoading = true\r\n // pilot.updateStatusById(data, res => {\r\n // if (res.state) {\r\n // this.$message.success('撤销操作成功')\r\n // this.handleSearch(1)\r\n // }\r\n // this.markLoading = false\r\n // })\r\n })\r\n },\r\n getDictName(code, value) {\r\n return utils.getDictName(code, value)\r\n },\r\n //获取数据\r\n loadData(params) {\r\n this.tableLoading = true\r\n req.post(portal + '/bizMeetingEvent/v1/queryByPage', params).then(\r\n (res) => {\r\n this.tableLoading = false\r\n const data = (res && res.data && res.data.value) || {}\r\n this.tableData = data.rows || []\r\n this.pageResult = {\r\n page: data.page,\r\n pageSize: data.pageSize,\r\n total: data.total,\r\n }\r\n }\r\n )\r\n },\r\n //添加\r\n handleAdd() {\r\n this.disabledDetils = false\r\n // this.dialogForm = {\r\n // sendStatus: 0,\r\n // files: []\r\n // }\r\n // this.parameter = {\r\n // bizMeetingEventDetailsList: [\r\n // {\r\n // unitValue: [],\r\n // feedbackTimeLimit: '',\r\n // classified: '',\r\n // status: '',\r\n // remarks: '',\r\n // meetingTask: '',\r\n // unitName: ''\r\n // }\r\n // ]\r\n // }\r\n this.dialogForm = {\r\n sendStatus: 0,\r\n // files: [],\r\n bizMeetingEventDetailsList: [\r\n {\r\n // unitValue: [],\r\n groupName: [],\r\n mainUnitList: [],\r\n feedbackTimeLimit: '',\r\n classified: '',\r\n status: '',\r\n remarks: '',\r\n meetingTask: '',\r\n specificTask: '',\r\n updateRate: '',\r\n timePeriod: '0', // 时间期限\r\n bizMeetingEventDetailsUnitList: [],\r\n },\r\n ], //交办事项\r\n }\r\n this.$refs.form.resetFields()\r\n this.dialog.visible = true\r\n this.disabled = false\r\n this.dialog.title = '添加'\r\n },\r\n // 删除\r\n handleDelete() {\r\n this.$confirm(\r\n this.$t('common.sureDelete'),\r\n this.$t('common.tips'),\r\n {\r\n confirmButtonText: this.$t('common.confirm'),\r\n cancelButtonText: this.$t('common.cancel'),\r\n type: 'warning',\r\n }\r\n ).then(() => {\r\n req.remove(\r\n portal + '/bizMeetingEvent/v1/?ids=' + this.deleteIds\r\n ).then((res) => {\r\n this.$message.success('删除成功')\r\n this.loadData(this.params)\r\n })\r\n })\r\n },\r\n tableDel(type, scope) {\r\n let { row, $index } = scope\r\n if (row.id) {\r\n this.markLoading = true\r\n req.post(portal + '/bizMeetingEventDetails/v1/' + row.id).then(\r\n (res) => {\r\n if (res.data.state) {\r\n this.$message.success('删除成功')\r\n this.dialogForm[type].splice($index, 1)\r\n }\r\n // else {\r\n // this.$message.error('删除失败,请稍后重试!')\r\n // }\r\n this.markLoading = false\r\n }\r\n )\r\n // this.parameter[type] = this.parameter[type].filter(\r\n // item => item.id !== row.id\r\n // )\r\n } else {\r\n this.dialogForm[type].splice($index, 1)\r\n this.$message.success('删除成功')\r\n }\r\n // console.log(row, 'wwwwwww')\r\n // if (row.key) {\r\n // this.parameter[type] = this.parameter[type].filter(\r\n // item => item.key !== row.key\r\n // )\r\n // } else {\r\n\r\n // }\r\n },\r\n tableAdd(type) {\r\n this.groupList.forEach((item) => (item.check = false))\r\n if (type == 'bizMeetingEventDetailsList') {\r\n this.dialogForm[type].push({\r\n feedbackTimeLimit: '',\r\n classified: '',\r\n status: '',\r\n remarks: '',\r\n meetingTask: '',\r\n mainUnitList: [],\r\n specificTask: '',\r\n timePeriod: '0',\r\n bizMeetingEventDetailsUnitList: [],\r\n })\r\n }\r\n },\r\n // 上报\r\n handleAppear(data) {\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: 'warning',\r\n }).then(() => {\r\n data.status = 1\r\n this.tableLoading = true\r\n req.post(\r\n portal + '/bizMeetingMattersAgreed/v1/query',\r\n data\r\n ).then((res) => {\r\n if (res.data.state) {\r\n this.$message.success('上报成功')\r\n } else {\r\n this.$message.error('上报失败')\r\n }\r\n this.loadData(this.params)\r\n })\r\n })\r\n },\r\n //修改\r\n handleDbClick(data) {\r\n this.dialog.title = '编辑'\r\n this.disabledDetils = false\r\n this.edit = true\r\n this.reqLoading = true\r\n this.dialog.visible = true\r\n this.$refs.form.resetFields()\r\n // this.groupList = [...this.groupAll[0],...this.groupAll[1]]\r\n\r\n req.post(\r\n portal + '/bizMeetingEvent/v1/detailedById?id=' + data.id\r\n ).then((res) => {\r\n if (res.data.state) {\r\n this.dialogForm = res.data.value\r\n // this.parameter.bizMeetingEventDetailsList =\r\n // res.data.value.bizMeetingEventDetailsList\r\n this.dialogForm.bizMeetingEventDetailsList.forEach(\r\n (item) => {\r\n this.unitObjList = [\r\n ...this.unitObjList,\r\n ...item.mainUnitList,\r\n ]\r\n // this.$nextTick(() => {\r\n // item.unitValue = this.getParentsById(\r\n // this.unitTreeData,\r\n // item.unitId\r\n // )\r\n // })\r\n item.groupName = JSON.parse(item.groupName)\r\n item.groupName = item.groupName.map((group) => {\r\n group.check = true\r\n return group\r\n })\r\n item.bizMeetingEventDetailsUnitList.forEach(\r\n (unitObj, index) => {\r\n let idArr = this.getParentsById(\r\n this.unitTreeData,\r\n unitObj.unitId\r\n )\r\n item.bizMeetingEventDetailsUnitList[index] =\r\n idArr\r\n }\r\n )\r\n item.mainUnitList.forEach((unitObj, index) => {\r\n let idArr = this.getParentsById(\r\n this.unitTreeData,\r\n unitObj.unitId\r\n )\r\n item.mainUnitList[index] = idArr\r\n })\r\n }\r\n )\r\n this.meetingTypeChange(this.dialogForm.meetingType)\r\n this.reqLoading = false\r\n } else {\r\n this.reqLoading = false\r\n }\r\n })\r\n },\r\n handleLookDetiles(row) {\r\n this.dialog.title = '详情'\r\n this.disabledDetils = true\r\n this.edit = true\r\n this.disabled = true\r\n this.reqLoading = true\r\n this.dialog.visible = true\r\n req.post(\r\n portal + '/bizMeetingEvent/v1/detailedById?id=' + row.id\r\n ).then((res) => {\r\n if (res.data.state) {\r\n this.dialogForm = res.data.value\r\n this.meetingTypeChange(this.dialogForm.meetingType)\r\n // this.parameter.bizMeetingEventDetailsList =\r\n // res.data.value.bizMeetingEventDetailsList\r\n this.reqLoading = false\r\n this.dialogForm.bizMeetingEventDetailsList.forEach(\r\n (item) => {\r\n // item.unitValue = this.getParentsById(\r\n // this.unitTreeData,\r\n // item.unitId\r\n // )\r\n item.groupName = JSON.parse(item.groupName)\r\n item.groupName = item.groupName.map((group) => {\r\n group.check = true\r\n return group\r\n })\r\n item.bizMeetingEventDetailsUnitList.forEach(\r\n (unitObj, index) => {\r\n let idArr = this.getParentsById(\r\n this.unitTreeData,\r\n unitObj.unitId\r\n )\r\n item.bizMeetingEventDetailsUnitList[index] =\r\n idArr\r\n }\r\n )\r\n item.mainUnitList.forEach((unitObj, index) => {\r\n let idArr = this.getParentsById(\r\n this.unitTreeData,\r\n unitObj.unitId\r\n )\r\n item.mainUnitList[index] = idArr\r\n })\r\n }\r\n )\r\n } else {\r\n this.reqLoading = false\r\n }\r\n })\r\n },\r\n // 顶部搜索\r\n handleSearch() {\r\n let obj = this.searchForm\r\n let querys = []\r\n for (let i in obj) {\r\n if (obj[i]) {\r\n if (i == 'meetingName') {\r\n querys.push({\r\n group: 'main',\r\n operation: 'LIKE',\r\n parentGroup: '',\r\n property: i,\r\n relation: 'AND',\r\n value: obj[i],\r\n })\r\n } else {\r\n querys.push({\r\n group: 'main',\r\n operation: 'EQUAL',\r\n parentGroup: '',\r\n property: i,\r\n relation: 'AND',\r\n value: obj[i],\r\n })\r\n }\r\n }\r\n }\r\n this.params.querys = querys\r\n this.loadData(this.params)\r\n },\r\n // 弹层关闭\r\n handleDialogClose() {\r\n this.dialog.visible = false\r\n this.dialog.title = ''\r\n // this.parameter = {\r\n // bizMeetingEventDetailsList: []\r\n // }\r\n this.dialogForm = {}\r\n this.fileList = []\r\n this.classified = 0\r\n this.saveing = false\r\n this.disabled = false\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 // 表单提交保存\r\n submit() {\r\n let url = ''\r\n this.$refs.form.validate((valid) => {\r\n if (valid) {\r\n this.$confirm('确认本次提交保存吗?', '提示', {\r\n confirmButtonText: '确认',\r\n cancelButtonText: '取消',\r\n type: 'success',\r\n }).then(() => {\r\n this.meetingNameIsUnique().then((res) => {\r\n if (res.data) {\r\n // let {meetingNum} = this.dialogForm\r\n // meetingNum = meetingNum ? meetingNum : ''\r\n this.markLoading = false\r\n\r\n this.markLoading = true\r\n let meetName = this.getDictName(\r\n 'hylx',\r\n this.dialogForm.meetingType\r\n )\r\n if (\r\n this.dialogForm.meetingType == 1 ||\r\n this.dialogForm.meetingType == 20\r\n ) {\r\n this.dialogForm.meetingName =\r\n meetName.substring(\r\n 0,\r\n meetName.length - 2\r\n ) +\r\n '第' +\r\n this.dialogForm.meetingNum +\r\n '次会议'\r\n } else if (this.dialogForm.meetingType > 29) {\r\n this.dialogForm.meetingName\r\n } else {\r\n let year =\r\n this.dialogForm.meetingTime.substring(\r\n 0,\r\n 4\r\n ) + '年'\r\n this.dialogForm.meetingName =\r\n year +\r\n '第' +\r\n this.dialogForm.meetingNum +\r\n '次' +\r\n meetName\r\n }\r\n this.dialogForm.classified = this.classified\r\n let data = JSON.parse(\r\n JSON.stringify(this.dialogForm)\r\n )\r\n data.bizMeetingEventDetailsList.forEach(\r\n (item, index1) => {\r\n // item.groupName = item.groupName.map(group => {\r\n // if (typeof group != 'string') {\r\n // return group.groupName\r\n // } else {\r\n // return group\r\n // }\r\n // })\r\n item.groupName = JSON.stringify(\r\n item.groupName\r\n )\r\n if (\r\n item.bizMeetingEventDetailsUnitList &&\r\n item.bizMeetingEventDetailsUnitList\r\n .length\r\n ) {\r\n let ids =\r\n item.bizMeetingEventDetailsUnitList.map(\r\n (units) => units.pop()\r\n )\r\n ids.forEach((id, index) => {\r\n this.getTreeItem(\r\n this.unitTreeData,\r\n id\r\n )\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 ids[index] = {\r\n unitCode,\r\n unitGrade,\r\n unitId,\r\n unitName,\r\n unitType: '2',\r\n }\r\n })\r\n item.bizMeetingEventDetailsUnitList =\r\n ids\r\n }\r\n // 单选\r\n // if (item.unitValue.length) {\r\n // let Id = item.unitValue.pop()\r\n // this.getTreeItem(this.unitTreeData, Id)\r\n // let {id, code, name, grade} = this.treeItem\r\n // item.unitGrade = grade\r\n // item.unitName = name\r\n // item.unitCode = code\r\n // item.unitId = id\r\n // }\r\n // 多选\r\n if (\r\n item.mainUnitList &&\r\n item.mainUnitList.length\r\n ) {\r\n let ids = item.mainUnitList.map(\r\n (units) => units.pop()\r\n )\r\n ids.forEach((id, index) => {\r\n this.getTreeItem(\r\n this.unitTreeData,\r\n id\r\n )\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 ids[index] = {\r\n unitCode,\r\n unitGrade,\r\n unitId,\r\n unitName,\r\n unitType: '1',\r\n }\r\n })\r\n item.mainUnitList = ids\r\n }\r\n }\r\n )\r\n console.log(data, 'dialogForm')\r\n url = '/bizMeetingEvent/v1/saveOrUpdateEntity'\r\n req.post(portal + url, data)\r\n .then((res) => {\r\n if (res.status == 200) {\r\n this.dialog.visible = false\r\n this.loadData(this.params)\r\n this.$message.success(\r\n '修改保存成功'\r\n )\r\n this.markLoading = false\r\n } else {\r\n this.$message.error(\r\n res.data.message\r\n )\r\n this.markLoading = false\r\n }\r\n })\r\n .catch(() => {\r\n this.markLoading = false\r\n })\r\n } else {\r\n this.markLoading = false\r\n this.$confirm(\r\n '会议名称已存在,请重新录入后保存。',\r\n '提示',\r\n {\r\n cancelButtonText: '好的',\r\n showConfirmButton: false,\r\n type: 'error',\r\n }\r\n )\r\n }\r\n })\r\n })\r\n } else {\r\n this.markLoading = false\r\n return false\r\n }\r\n })\r\n },\r\n // 分发\r\n handleSend(row) {\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: 'warning',\r\n }).then(() => {\r\n req.post(\r\n portal +\r\n '/bizMeetingEvent/v1/modifySendStatus?ids=' +\r\n row.id +\r\n '&status=1'\r\n ).then((res) => {\r\n if (res.status == 200) {\r\n this.$message.success(res.data.message)\r\n this.loadData(this.params)\r\n } else {\r\n this.$message.error(res.data.message)\r\n }\r\n })\r\n })\r\n },\r\n //责任单位\r\n changeUnit(value, index) {\r\n this.$nextTick(() => {\r\n this.$forceUpdate()\r\n })\r\n },\r\n getParentsById(list, id) {\r\n for (let i in list) {\r\n if (list[i].id == id) {\r\n //这里的no根据你的需求可进行改变\r\n //查询到就返回该数组对象的value\r\n return [list[i].id]\r\n }\r\n if (list[i].children) {\r\n let node = this.getParentsById(list[i].children, id)\r\n if (node !== undefined) {\r\n //查询到把父节把父节点加到数组前面\r\n node.unshift(list[i].id)\r\n return node\r\n }\r\n }\r\n }\r\n },\r\n handleClose() {\r\n this.dialog.visible = false\r\n setTimeout(() => {\r\n this.classified = 0\r\n this.disabled = false\r\n this.dialogForm = {\r\n sendStatus: 0,\r\n bizMeetingEventDetailsList: [\r\n {\r\n groupName: [],\r\n mainUnitList: [],\r\n feedbackTimeLimit: '',\r\n classified: '',\r\n status: '',\r\n remarks: '',\r\n meetingTask: '',\r\n specificTask: '',\r\n updateRate: '',\r\n timePeriod: '0', // 时间期限\r\n bizMeetingEventDetailsUnitList: [],\r\n },\r\n ],\r\n }\r\n })\r\n },\r\n //表格选中\r\n handleSelectionChange(currentData) {\r\n console.log(currentData)\r\n if (currentData.length === 0) return (this.deleteIds = '')\r\n let ids = []\r\n currentData.forEach((item) => {\r\n if (item.sendStatus == 0) {\r\n ids.push(item.id)\r\n } else {\r\n this.$message.error(\r\n `【${item.meetingName}】已上报待审核不能删除!`\r\n )\r\n }\r\n })\r\n this.deleteIds = ids.join(',')\r\n },\r\n handleCurrentChange(page) {\r\n this.params.pageBean = { ...this.params.pageBean, page }\r\n this.loadData(this.params)\r\n },\r\n handleSizeChange(pageSize) {\r\n this.params.pageBean = { ...this.params.pageBean, pageSize }\r\n this.loadData(this.params)\r\n },\r\n\r\n // 附件\r\n openUploade() {\r\n this.$refs.uploadFile.open('MeetEvent')\r\n },\r\n setFileList(file) {\r\n this.fileList.push(file)\r\n this.dialogForm.files = []\r\n this.dialogForm.files = this.fileList\r\n this.fileList.forEach((e) => {\r\n this.dialogForm.files.forEach((val) => {\r\n if (e.response.fileId == val.response.fileId) {\r\n e['id'] = val.response.fileId\r\n }\r\n })\r\n return e\r\n })\r\n this.classified = 0\r\n },\r\n\r\n beforeRemove(file, fileList) {\r\n console.log(file)\r\n this.$confirm(`确定删除 ${file.name}?`, this.$t('common.tips'), {\r\n confirmButtonText: this.$t('common.confirm'),\r\n cancelButtonText: this.$t('common.cancel'),\r\n type: 'warning',\r\n }).then(() => {\r\n let id = file.fileId\r\n ? file.fileId\r\n : file.id\r\n ? file.id\r\n : file.response.fileId\r\n sat.deleteFileById(id, (res) => {\r\n if (res.state) {\r\n this.$message.success('附件删除成功')\r\n let arr = this.fileList.filter((item) => {\r\n let fileId = item.id || item.response.fileId\r\n if (fileId !== id) {\r\n return item\r\n }\r\n })\r\n this.fileList = arr\r\n } else {\r\n this.$message.error('附件删除失败')\r\n }\r\n })\r\n })\r\n },\r\n changeFileList(data) {\r\n this.dialogForm.files = 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 setAipher(val) {\r\n // this.dialogForm.classified = '文件涉密,已通过内网邮件上传。'\r\n this.classified = 1\r\n this.cipher = val\r\n },\r\n handlePreview(file) {\r\n let id = file.fileId\r\n ? file.fileId\r\n : file.id\r\n ? file.id\r\n : file.response.fileId\r\n let type =\r\n file.fileType ||\r\n (file.extensionName\r\n ? file.extensionName\r\n : file.name.split('.')[1])\r\n this.$refs.filePreview.previewUrl = this.previewUrl + id\r\n this.$refs.filePreview.open(type)\r\n },\r\n // 文件下载\r\n handleDownloadFile(file) {\r\n console.log(file)\r\n let id = file.fileId\r\n ? file.fileId\r\n : file.id\r\n ? file.id\r\n : file.response.fileId\r\n window.open(portal + `/file/v1/downloadFile?fileId=${id}`, '_self')\r\n },\r\n },\r\n}\r\n",null]}