{"remainingRequest":"D:\\jenkins\\workspace\\reform-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\reform-fvue\\src\\views\\performanceEvaluation\\ReformSchoolEntry.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\reform-fvue\\src\\views\\performanceEvaluation\\ReformSchoolEntry.vue","mtime":1721729791716},{"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\r\nimport pagination from '@/components/pagination'\r\nimport ProjectSelectDialog from '@/components/dialog/ProjectSelectDialog.vue'\r\nimport ImgPreviewDialog from '@/components/dialog/ImgPreviewDialog.vue'\r\nimport FileList from '@/components/uploadFile/FileList.vue'\r\nimport filePreview from '@/components/FilePreview/filePreview.vue'\r\nimport { TableMixin } from '@/mixins/tableMixin'\r\nimport req from '@/request.js'\r\nimport utils from '@/utils.js'\r\nimport sat from '@/api/satisfaction/satisfaction'\r\nconst portal = window.context.portal\r\nexport default {\r\n name: 'ReformSchoolEntry',\r\n components: {\r\n pagination,\r\n ProjectSelectDialog,\r\n ImgPreviewDialog,\r\n FileList,\r\n filePreview,\r\n },\r\n mixins: [TableMixin],\r\n data() {\r\n return {\r\n tableMaxHeight: 400,\r\n loading: false,\r\n tableLoading: 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 querys: [\r\n {\r\n group: 'main',\r\n operation: 'IN',\r\n property: 'r.effect_Form_',\r\n relation: 'AND',\r\n value: [1, 2],\r\n },\r\n ],\r\n },\r\n pageResult: {\r\n page: 1,\r\n pageSize: 20,\r\n total: 0,\r\n },\r\n searchForm: {}, // 顶部搜索对象\r\n deleteIds: '', // 是否选中列表解锁删除按钮\r\n activeCollapse1: ['1', '2', '3'],\r\n fileList: [], // 文件上传\r\n dialog: {\r\n title: '添加',\r\n visible: false,\r\n },\r\n dialogForm: {},\r\n dialogFormChilred: {},\r\n isAppear: false,\r\n records: [], // 表单子集合\r\n disabled: false, // 是否禁止输入输入\r\n isEdit: false, // 是否是修改功能\r\n demandRunwayOptions: [], // 具体情况列表数据\r\n rules: {\r\n effectRunway: {\r\n required: true,\r\n message: '请选择所属跑道',\r\n trigger: 'change',\r\n },\r\n effectField: {\r\n required: true,\r\n message: '请选择所属领域',\r\n trigger: 'change',\r\n },\r\n effectLevel: {\r\n required: true,\r\n message: '请选择所属级别',\r\n trigger: 'change',\r\n },\r\n effectCardTopic: {\r\n required: true,\r\n message: '请输入改革事项',\r\n trigger: 'blur',\r\n },\r\n effectForm: {\r\n required: true,\r\n message: '请选择成效形式',\r\n trigger: 'change',\r\n },\r\n specificDetails: {\r\n required: true,\r\n message: '请选择具体情形',\r\n trigger: 'change',\r\n },\r\n result: {\r\n required: true,\r\n message: '请条目式列举该项经验取得的主要成果',\r\n trigger: 'blur',\r\n },\r\n solveProblem: {\r\n required: true,\r\n message: '请条目式列举该项改革经验主要解决了什么问题',\r\n trigger: 'blur',\r\n },\r\n completionDate: {\r\n required: true,\r\n message: '请选择该项改革经验被肯定、推广、报道的具体时间',\r\n trigger: 'change',\r\n },\r\n // effectDocNo: {\r\n // required: true,\r\n // message: '请输入佐证文件文号',\r\n // trigger: 'blur',\r\n // },\r\n // effectTitle: {\r\n // required: true,\r\n // message: '请输入佐证文件标题',\r\n // trigger: 'blur',\r\n // }\r\n },\r\n effectOptions: [],\r\n effectLevelOptions: [\r\n {\r\n name: '市级',\r\n value: '1',\r\n },\r\n {\r\n name: '区县',\r\n value: '2',\r\n },\r\n ],\r\n userUnit: ''\r\n }\r\n },\r\n\r\n created() {\r\n this.loadData(this.params)\r\n this.demandRunwayOptions = this.getDemandData(1)\r\n this.setOPtions()\r\n // this.getUserUnit()\r\n },\r\n methods: {\r\n selectable(row) {\r\n return row.status % 2 === 0\r\n },\r\n // 查询当前登录用户所属类型(管理员,区县,市级单位)\r\n getUserUnit() {\r\n req.get(portal + `/fill/bizWorkNews/v1/userAffiliatedUnit`).then(res => {\r\n if (res.data.state) {\r\n if (res.data.message == '区县') {\r\n this.dialogForm.effectLevel = 2\r\n } else if (res.data.message == '市级部门') {\r\n this.dialogForm.effectLevel = 1\r\n }\r\n this.userUnit = res.data.message\r\n }\r\n })\r\n },\r\n setOPtions() {\r\n let arr = utils.getDictItemsFromCache('cxxs')\r\n this.effectOptions = arr.filter(\r\n (item) => item.name !== '被5家中央媒体深度专题报道'\r\n )\r\n this.effectOptions.forEach((item) => {\r\n item.value = item.value - 0\r\n })\r\n },\r\n effectChange(e) {\r\n this.demandRunwayOptions = this.getDemandData(e)\r\n },\r\n handleEdit(data) {\r\n this.dialog.title = '编辑'\r\n this.disabled = false\r\n this.demandRunwayOptions = this.getDemandData(data.effectForm)\r\n if (data.specificDetails) {\r\n data.specificDetails = data.specificDetails.toString()\r\n }\r\n this.getByDemandFiledData('ggbb_ssly', data.effectField)\r\n if (data.effectRunway) {\r\n data.effectRunway = data.effectRunway + ''\r\n }\r\n // data.effectForm = data.effectForm + ''\r\n this.isEdit = true\r\n this.dialogFormChilred = data\r\n this.dialogFormChilred &&\r\n this.dialogFormChilred.files.length != 0 &&\r\n this.dialogFormChilred.files.forEach((item) => {\r\n item.name = item.fileName\r\n })\r\n this.fileList = this.dialogFormChilred.files\r\n this.activeCollapse1 = ['1', '2', '3']\r\n },\r\n // 上传成功\r\n beforeUpload(res, file, fileList) {\r\n this.loading = false\r\n if (res.success) {\r\n this.fileList.push(file)\r\n let files = []\r\n fileList.forEach((item) => {\r\n if (item.response) {\r\n files.push(item.response.fileId)\r\n } else {\r\n files.push(item.id)\r\n }\r\n })\r\n this.dialogFormChilred.ids = files\r\n this.dialogFormChilred.classified = '0'\r\n this.$message.success('附件上传成功')\r\n } else {\r\n this.$message.error('附件上传失败')\r\n }\r\n },\r\n changeFileList(e) {\r\n this.fileList = e\r\n let files = []\r\n e.forEach((item) => {\r\n if (item.response) {\r\n files.push(item.response.fileId)\r\n } else {\r\n files.push(item.id)\r\n }\r\n })\r\n this.dialogFormChilred.ids = files\r\n },\r\n // 移除之前\r\n beforeRemove(file, fileList) {\r\n return this.$confirm(\r\n `确定删除 ${file.name}?`,\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 let id = file.id || file.response.fileId\r\n sat.deleteFileById(id, (res) => {\r\n if (res.state) {\r\n this.loading = false\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 let files = []\r\n this.fileList.forEach((item) => {\r\n if (item.response) {\r\n files.push(item.response.fileId)\r\n } else {\r\n files.push(item.id)\r\n }\r\n })\r\n this.dialogFormChilred.ids = files\r\n return true\r\n } else {\r\n this.$message.error('附件删除失败')\r\n return false\r\n }\r\n })\r\n })\r\n },\r\n handleSelect(val) {\r\n this.demandRunwayOptions = this.getDemandData(val)\r\n this.dialogFormChilred.specificDetails = ''\r\n },\r\n getDemandName(effectForm, specificDetails) {\r\n let name = null\r\n let data = this.getDemandData(effectForm)\r\n data.forEach((item) => {\r\n if (item.value == specificDetails) {\r\n name = item.name\r\n }\r\n })\r\n return name\r\n },\r\n getDemandData(val) {\r\n let data = null\r\n let arr = utils.getDictItemsFromCache('cxxs')\r\n arr.forEach((item) => {\r\n if (item.value == val) {\r\n data = item.lowerDic['cxxs-jtqx']\r\n }\r\n })\r\n return data\r\n },\r\n // 重大项目选择\r\n handleSelectProject() {\r\n this.$refs.projectSelect.open()\r\n },\r\n handleProjectSelect(row) {\r\n this.dialogForm = {\r\n ...this.dialogForm,\r\n projectId: row[0].id,\r\n effectCardTopic: row[0].projectName,\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(\r\n portal +\r\n '/bizEffectDryingCompetition/v1/queryAudit?isAffirm=false',\r\n params\r\n ).then((res) => {\r\n this.tableLoading = false\r\n const data = (res && res.data) || {}\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 handleAdd() {\r\n this.dialog.title = '添加'\r\n this.disabled = false\r\n this.isAppear = false\r\n this.disabledDetils = false\r\n this.isEdit = false\r\n let orgLevel = '1'\r\n let currentUserDetail = sessionStorage.getItem('currentUserDetail')\r\n if (currentUserDetail) {\r\n currentUserDetail = JSON.parse(currentUserDetail)\r\n orgLevel =\r\n (currentUserDetail.org &&\r\n currentUserDetail.org[0].orgLevel) ||\r\n '1'\r\n orgLevel == '0' ? (orgLevel = '1') : null\r\n }\r\n this.dialogForm = {\r\n demandField: 1,\r\n effectField: '1',\r\n effectRunway: '1',\r\n // effectLevel: orgLevel,\r\n type: 1,\r\n records: [],\r\n }\r\n this.getByDemandFiledData('ggbb_ssly', '1')\r\n this.dialogFormChilred = {\r\n specificDetails: '',\r\n }\r\n this.activeCollapse1 = ['1', '3']\r\n this.fileList = []\r\n this.dialog.visible = true\r\n this.$refs.form.clearValidate()\r\n this.$nextTick(() => {\r\n this.$refs.formChildren.clearValidate()\r\n })\r\n },\r\n // 删除子表数据\r\n handleDelete_(id) {\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.loading = true\r\n req.remove(\r\n portal + '/bizEffectEffectiveness/v1/?ids=' + id\r\n ).then((res) => {\r\n this.loading = false\r\n this.dialog.visible = false\r\n this.loadData(this.params)\r\n })\r\n })\r\n },\r\n // 删除主表数据\r\n handleDelete() {\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.loading = true\r\n req.remove(\r\n portal + '/bizEffectDryingCompetition/v1/?ids=' + this.deleteIds\r\n ).then((res) => {\r\n this.$message.success('数据删除成功')\r\n this.loading = false\r\n this.dialog.visible = false\r\n this.loadData(this.params)\r\n })\r\n })\r\n },\r\n // 上报\r\n handleAppear() {\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 this.isAppear = true\r\n this.loading = true\r\n let data = this.dialogForm.records[0]\r\n data.status = 1\r\n req.post(\r\n portal + '/bizEffectDryingCompetition/v1/updateAuditStatus',\r\n data\r\n ).then((res) => {\r\n if (res.data.state) {\r\n this.$message.success('上报成功')\r\n this.dialog.visible = false\r\n } else {\r\n this.$message.error('上报失败')\r\n }\r\n this.loading = false\r\n this.dialog.visible = false\r\n this.loadData(this.params)\r\n })\r\n })\r\n },\r\n // 上报弹出详情框\r\n handleAppear_(row) {\r\n this.dialog.title = '上报'\r\n this.dialog.visible = true\r\n this.loading = true\r\n this.isEdit = false\r\n this.disabled = true\r\n this.isAppear = true\r\n this.disabledDetils = false\r\n let formData = new FormData()\r\n formData.append('id', row.id)\r\n req.post(\r\n portal + '/bizEffectDryingCompetition/v1/queryById',\r\n formData\r\n ).then((res) => {\r\n this.loading = false\r\n let data = (res && res.data) || {}\r\n this.getByDemandFiledData('ggbb_ssly', data.effectField)\r\n if (data.effectRunway) {\r\n data.effectRunway = data.effectRunway + ''\r\n }\r\n this.dialogForm = data\r\n data.records &&\r\n data.records[0] &&\r\n data.records[0].files &&\r\n data.records[0].files.length != 0 &&\r\n data.records[0].files.forEach((item) => {\r\n item.name = item.fileName\r\n })\r\n this.fileList = data.records[0].files || []\r\n this.activeCollapse1 = ['1', '2']\r\n })\r\n },\r\n //修改\r\n handleDbClick(row) {\r\n this.dialog.title = '编辑'\r\n this.dialog.visible = true\r\n this.loading = true\r\n this.isEdit = true\r\n this.isAppear = false\r\n this.disabled = false\r\n this.disabledDetils = false\r\n let formData = new FormData()\r\n formData.append('id', row.id)\r\n req.post(\r\n portal + '/bizEffectDryingCompetition/v1/queryById',\r\n formData\r\n ).then((res) => {\r\n this.loading = false\r\n let data = (res && res.data) || {}\r\n this.getByDemandFiledData('ggbb_ssly', data.effectField)\r\n if (data.effectRunway) {\r\n data.effectRunway = data.effectRunway + ''\r\n }\r\n this.dialogForm = data\r\n data.records &&\r\n data.records[0] &&\r\n data.records[0].files &&\r\n data.records[0].files.length != 0 &&\r\n data.records[0].files.forEach((item) => {\r\n item.name = item.fileName\r\n })\r\n this.fileList = data.records[0].files || []\r\n this.demandRunwayOptions = this.getDemandData(\r\n data.records[0].effectForm\r\n )\r\n if (\r\n data.records &&\r\n data.records[0] &&\r\n (data.records[0].specificDetails ||\r\n data.records[0].effectForm)\r\n ) {\r\n data.records[0].specificDetails =\r\n data.records[0].specificDetails.toString()\r\n }\r\n this.dialogFormChilred = (data.records && data.records[0]) || {}\r\n this.activeCollapse1 = ['1', '2', '3']\r\n })\r\n },\r\n // 顶部搜索\r\n handleSearch() {\r\n let obj = this.searchForm\r\n let querys = [\r\n {\r\n group: 'main',\r\n operation: 'IN',\r\n property: 'r.effect_Form_',\r\n relation: 'AND',\r\n value: [1, 2],\r\n },\r\n ]\r\n for (let i in obj) {\r\n if (obj[i]) {\r\n querys.push({\r\n group: 'main',\r\n operation: i == 'effectCardTopic' ? 'LIKE' : '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 this.params.querys = querys\r\n this.params.pageBean.page = 1\r\n this.loadData(this.params)\r\n },\r\n // 弹层关闭\r\n handleDialogClose() {\r\n this.dialog.visible = false\r\n },\r\n // 表单提交保存\r\n submit(status) {\r\n const data = this.dialogFormChilred\r\n // 判断是否上传了文件,上传有文件时将classified置为‘0’,以显示文件信息\r\n if (data.ids && data.ids.length !== 0) {\r\n this.dialogFormChilred.classified = '0'\r\n }\r\n if (\r\n (data.ids && data.ids.length !== 0) ||\r\n (data.files && data.files.length !== 0) ||\r\n data.classified == '1'\r\n ) {\r\n this.handleSubmit(status)\r\n } else {\r\n this.$confirm(\r\n '请上传佐证材料后保存!',\r\n this.$t('common.tips'),\r\n {\r\n confirmButtonText: '立即上传',\r\n cancelButtonText: '关闭',\r\n type: 'warning',\r\n }\r\n ).then(() => {\r\n this.$confirm(\r\n '文件是否涉密?若文件涉密请通过内网邮件上传!',\r\n '文件上传提示',\r\n {\r\n confirmButtonText: '立即上传',\r\n cancelButtonText: '文件涉密,内网邮件上传',\r\n type: 'warning',\r\n }\r\n )\r\n .then(() => {\r\n this.$refs.upload.$el.click()\r\n })\r\n .catch(() => {\r\n // 存在这个值为文件涉密内网上传作为查看判断依据\r\n this.dialogFormChilred.classified = '1'\r\n this.handleSubmit(status)\r\n })\r\n })\r\n }\r\n },\r\n handleSubmit(status) {\r\n this.$refs.form.validate((valid) => {\r\n this.$refs.formChildren.validate((validChildren) => {\r\n let url = ''\r\n if (this.isEdit) {\r\n url = '/bizEffectDryingCompetition/v1/updateById'\r\n } else {\r\n url = '/bizEffectDryingCompetition/v1/inserInfo'\r\n }\r\n if (valid && validChildren) {\r\n this.dialogFormChilred.status = status\r\n this.dialogForm.records = []\r\n this.dialogForm.records.push(this.dialogFormChilred)\r\n this.loading = true\r\n req.post(portal + url, this.dialogForm)\r\n .then((res) => {\r\n if (res.data.state) {\r\n this.dialog.visible = false\r\n this.loadData(this.params)\r\n }\r\n this.loading = false\r\n })\r\n .catch(() => {\r\n this.loading = false\r\n })\r\n }\r\n })\r\n })\r\n },\r\n handleSelectionChange(currentData) {\r\n if (currentData.length === 0) return (this.deleteIds = '')\r\n let ids = []\r\n currentData.forEach((item) => {\r\n if (item.status == 0 || !item.status || item.status == 2) {\r\n ids.push(item.id)\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",null]}