From 93adad843fb940874682bab604d0c32b9316c7a6 Mon Sep 17 00:00:00 2001 From: monkeyhouyi Date: Tue, 13 Aug 2024 11:01:25 +0800 Subject: [PATCH] 网信执法功能添加 --- src/api/common.js | 7 +++++++ src/mixins/info.js | 6 ++++++ src/store/modules/meta.js | 14 +++++++++++++- src/views/baseCaseHandling/Form.vue | 98 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------- src/views/baseCaseHandling/index.vue | 51 ++++++++++++++++++++++++++++----------------------- src/views/baseSpecialAction/infoForm.vue | 29 ++++++++++++++++++++++++----- src/views/baseSystemInfo/DetailForm.vue | 62 +++++++++++++++++++++++++++++++++++--------------------------- src/views/overView/Overview.vue | 14 +++++++++++--- 8 files changed, 203 insertions(+), 78 deletions(-) diff --git a/src/api/common.js b/src/api/common.js index c487bcb..00289ea 100644 --- a/src/api/common.js +++ b/src/api/common.js @@ -34,4 +34,11 @@ export function getSpecialRecordType() { method: 'get' }) } + // 获得案件状态字典 +export function getState() { + return request({ + url: `/Extend/BaseCaseHandling/GetState`, + method: 'get' + }) + } diff --git a/src/mixins/info.js b/src/mixins/info.js index 280386e..15898b4 100644 --- a/src/mixins/info.js +++ b/src/mixins/info.js @@ -6,6 +6,7 @@ export default { areaOptions: [], systemClassOptions: [], specialRecordTypeOption: [], + stateOptions: [], } }, created() {}, @@ -30,6 +31,11 @@ export default { !list && (list = await this.$store.dispatch('getTypeListByCode', 'specialRecordType')); this.specialRecordTypeOption = list; }, + async initStateTypeOption() { + let list = this.$store.state.meta.stateTypeList; + !list && (list = await this.$store.dispatch('getTypeListByCode', 'stateType')); + this.stateOptions = list; + }, }, } \ No newline at end of file diff --git a/src/store/modules/meta.js b/src/store/modules/meta.js index 7d47454..b7b16f6 100644 --- a/src/store/modules/meta.js +++ b/src/store/modules/meta.js @@ -1,7 +1,7 @@ // 下拉字段配置 import { register } from "@/api"; // 系统类型 -import { getSystemTypeList, getSpecialRecordType } from "@/api/common"; +import { getSystemTypeList, getSpecialRecordType, getState } from "@/api/common"; // 所属区县 import { getAreaSelect } from "@/api/baseData/area"; // 系统分类 @@ -16,6 +16,7 @@ const meta = { systemClass: {}, externalAssistanceList: '', // 外协 specialRecordTypeList: '', // 特殊备案 + stateTypeList: '', }, mutations: { @@ -34,6 +35,9 @@ const meta = { SET_SPECIALRECORDTYPELIST_CLASS: (state, data) => { state.specialRecordTypeList = data; }, + SET_STATETYPE_LIST: (state, data) => { + state.stateTypeList = data; + }, }, actions: { @@ -64,6 +68,14 @@ const meta = { resolve(res.data.list) }).catch(error => { reject(error) }) break; + case 'stateType': + getState().then(res => { + console.log(res.data, 'list'); + + commit('SET_STATETYPE_LIST', res.data) + resolve(res.data) + }).catch(error => { reject(error) }) + break; default: break; diff --git a/src/views/baseCaseHandling/Form.vue b/src/views/baseCaseHandling/Form.vue index 56ae3f7..9f35c38 100644 --- a/src/views/baseCaseHandling/Form.vue +++ b/src/views/baseCaseHandling/Form.vue @@ -33,6 +33,7 @@ placeholder="请输入关键词" :remote-method="getSystemSelect" @change="systemChange" + :disabled="formType" :loading="system_loading"> {{ v.fullName @@ -73,17 +75,30 @@ - + - + - + + + + + + + 柔性执法 + 行政执法 + + + + + + @@ -91,8 +106,13 @@ 取 消 - {{isSHILevel ? '下 发' : '上 报'}} - 保 存 + + @@ -109,6 +129,7 @@ export default { visible: false, loading: false, isDetail: false, + formType: false, dataForm: { id: undefined, registrationTime: undefined, @@ -127,6 +148,8 @@ export default { noticeLetter: undefined, punishmentDecision: undefined, closingReport: undefined, + enforceType: undefined, + enforceContent: undefined, }, rules: { systemName: [ @@ -135,10 +158,17 @@ export default { districtCounty: [ { required: true, message: "请选择所属区域", trigger: "change" } ], + enforceType: [ + { required: true, message: "请选择执法方式", trigger: "change" } + ], + enforceContent: [ + { required: true, message: "请填写执法说明", trigger: "bulr" } + ], }, systemOption: [], system_loading: false, areaOptions: [], + btnLoading: false, }; }, computed: { @@ -182,25 +212,29 @@ export default { goBack() { this.$emit("refresh"); }, - init(id, isDetail) { + init(id, isDetail, type) { + // type 0 上报/下派 1 处理 + this.formType = Boolean(type) || false; this.dataForm.id = id || 0; this.isDetail = isDetail || false; - // this.loading = true; this.visible = true; this.$nextTick(() => { this.$refs["elForm"].resetFields(); if (this.dataForm.id) { + this.loading = true; request({ url: `/Extend/BaseCaseHandling/${this.dataForm.id}`, method: "GET", }).then((res) => { this.dataForm = res.data; - // this.loading = false; + this.loading = false; + }).catch(() => { + this.loading = false; }); } }); }, - // 提交 + // 上报/下派 submit(type) { // type: 1 上报 0 保存 let obj = { @@ -209,22 +243,48 @@ export default { } this.$refs['elForm'].validate((valid) => { if(!type || valid) { + !this.dataForm.id ? this.toRequest('/Extend/BaseCaseHandling', 'POST', obj) : this.toRequest(`/Extend/BaseCaseHandling/${this.dataForm.id}`, 'PUT', obj); + } + }) + }, + // 处理 + handle() { + this.$refs['elForm'].validate((valid) => { + if(valid) { + return + this.btnLoading = true; request({ - url: `/Extend/BaseCaseHandling`, - method: "POST", - data: obj, + url: `/Extend/basecasehandling/handling-case`, + method: "PUT", + data: this.dataForm, }).then((res) => { this.$message({ type: "success", - message: res.msg, - onClose: () => { - this.visible = false; - this.$emit("refresh", true); - }, - }); - }); + }) + }).catch(() => { + this.btnLoading = false; + }) } }) + }, + toRequest(url, method, data) { + this.btnLoading = true; + request({ + url, + method, + data, + }).then((res) => { + this.$message({ + type: "success", + message: res.msg, + onClose: () => { + this.visible = false; + this.$emit("refresh", true); + }, + }); + }).catch(() => { + this.btnLoading = false; + }); } }, }; diff --git a/src/views/baseCaseHandling/index.vue b/src/views/baseCaseHandling/index.vue index 9b32a34..a4db698 100644 --- a/src/views/baseCaseHandling/index.vue +++ b/src/views/baseCaseHandling/index.vue @@ -97,31 +97,15 @@ - - + + + @@ -202,6 +186,7 @@ export default { }, created() { this.initAreaTypeList(); + this.initStateTypeOption(); this.initData(); }, methods: { @@ -260,6 +245,26 @@ export default { this.$refs.FlowBox.init(id, isDetail); }); }, + toReportCase(id) { + this.$confirm("确认上报/下发该案件?", "提示", { + type: "warning", + }) + .then(() => { + request({ + url: `/Extend/BaseCaseHandling/ReportCase/${id}`, + method: "PUT", + }).then((res) => { + this.$message({ + type: "success", + message: res.msg, + onClose: () => { + this.initData(); + }, + }); + }); + }) + .catch(() => {}); + }, search() { this.listQuery = { currentPage: 1, diff --git a/src/views/baseSpecialAction/infoForm.vue b/src/views/baseSpecialAction/infoForm.vue index 6ebc416..4f27d94 100644 --- a/src/views/baseSpecialAction/infoForm.vue +++ b/src/views/baseSpecialAction/infoForm.vue @@ -30,7 +30,7 @@ @@ -40,12 +40,14 @@ 取 消 +