Commit 93adad843fb940874682bab604d0c32b9316c7a6
1 parent
61009cfc
网信执法功能添加
Showing
8 changed files
with
203 additions
and
78 deletions
src/api/common.js
| @@ -34,4 +34,11 @@ export function getSpecialRecordType() { | @@ -34,4 +34,11 @@ export function getSpecialRecordType() { | ||
| 34 | method: 'get' | 34 | method: 'get' |
| 35 | }) | 35 | }) |
| 36 | } | 36 | } |
| 37 | + // 获得案件状态字典 | ||
| 38 | +export function getState() { | ||
| 39 | + return request({ | ||
| 40 | + url: `/Extend/BaseCaseHandling/GetState`, | ||
| 41 | + method: 'get' | ||
| 42 | + }) | ||
| 43 | + } | ||
| 37 | 44 |
src/mixins/info.js
| @@ -6,6 +6,7 @@ export default { | @@ -6,6 +6,7 @@ export default { | ||
| 6 | areaOptions: [], | 6 | areaOptions: [], |
| 7 | systemClassOptions: [], | 7 | systemClassOptions: [], |
| 8 | specialRecordTypeOption: [], | 8 | specialRecordTypeOption: [], |
| 9 | + stateOptions: [], | ||
| 9 | } | 10 | } |
| 10 | }, | 11 | }, |
| 11 | created() {}, | 12 | created() {}, |
| @@ -30,6 +31,11 @@ export default { | @@ -30,6 +31,11 @@ export default { | ||
| 30 | !list && (list = await this.$store.dispatch('getTypeListByCode', 'specialRecordType')); | 31 | !list && (list = await this.$store.dispatch('getTypeListByCode', 'specialRecordType')); |
| 31 | this.specialRecordTypeOption = list; | 32 | this.specialRecordTypeOption = list; |
| 32 | }, | 33 | }, |
| 34 | + async initStateTypeOption() { | ||
| 35 | + let list = this.$store.state.meta.stateTypeList; | ||
| 36 | + !list && (list = await this.$store.dispatch('getTypeListByCode', 'stateType')); | ||
| 37 | + this.stateOptions = list; | ||
| 38 | + }, | ||
| 33 | 39 | ||
| 34 | }, | 40 | }, |
| 35 | } | 41 | } |
| 36 | \ No newline at end of file | 42 | \ No newline at end of file |
src/store/modules/meta.js
| 1 | // 下拉字段配置 | 1 | // 下拉字段配置 |
| 2 | import { register } from "@/api"; | 2 | import { register } from "@/api"; |
| 3 | // 系统类型 | 3 | // 系统类型 |
| 4 | -import { getSystemTypeList, getSpecialRecordType } from "@/api/common"; | 4 | +import { getSystemTypeList, getSpecialRecordType, getState } from "@/api/common"; |
| 5 | // 所属区县 | 5 | // 所属区县 |
| 6 | import { getAreaSelect } from "@/api/baseData/area"; | 6 | import { getAreaSelect } from "@/api/baseData/area"; |
| 7 | // 系统分类 | 7 | // 系统分类 |
| @@ -16,6 +16,7 @@ const meta = { | @@ -16,6 +16,7 @@ const meta = { | ||
| 16 | systemClass: {}, | 16 | systemClass: {}, |
| 17 | externalAssistanceList: '', // 外协 | 17 | externalAssistanceList: '', // 外协 |
| 18 | specialRecordTypeList: '', // 特殊备案 | 18 | specialRecordTypeList: '', // 特殊备案 |
| 19 | + stateTypeList: '', | ||
| 19 | }, | 20 | }, |
| 20 | 21 | ||
| 21 | mutations: { | 22 | mutations: { |
| @@ -34,6 +35,9 @@ const meta = { | @@ -34,6 +35,9 @@ const meta = { | ||
| 34 | SET_SPECIALRECORDTYPELIST_CLASS: (state, data) => { | 35 | SET_SPECIALRECORDTYPELIST_CLASS: (state, data) => { |
| 35 | state.specialRecordTypeList = data; | 36 | state.specialRecordTypeList = data; |
| 36 | }, | 37 | }, |
| 38 | + SET_STATETYPE_LIST: (state, data) => { | ||
| 39 | + state.stateTypeList = data; | ||
| 40 | + }, | ||
| 37 | }, | 41 | }, |
| 38 | 42 | ||
| 39 | actions: { | 43 | actions: { |
| @@ -64,6 +68,14 @@ const meta = { | @@ -64,6 +68,14 @@ const meta = { | ||
| 64 | resolve(res.data.list) | 68 | resolve(res.data.list) |
| 65 | }).catch(error => { reject(error) }) | 69 | }).catch(error => { reject(error) }) |
| 66 | break; | 70 | break; |
| 71 | + case 'stateType': | ||
| 72 | + getState().then(res => { | ||
| 73 | + console.log(res.data, 'list'); | ||
| 74 | + | ||
| 75 | + commit('SET_STATETYPE_LIST', res.data) | ||
| 76 | + resolve(res.data) | ||
| 77 | + }).catch(error => { reject(error) }) | ||
| 78 | + break; | ||
| 67 | 79 | ||
| 68 | default: | 80 | default: |
| 69 | break; | 81 | break; |
src/views/baseCaseHandling/Form.vue
| @@ -33,6 +33,7 @@ | @@ -33,6 +33,7 @@ | ||
| 33 | placeholder="请输入关键词" | 33 | placeholder="请输入关键词" |
| 34 | :remote-method="getSystemSelect" | 34 | :remote-method="getSystemSelect" |
| 35 | @change="systemChange" | 35 | @change="systemChange" |
| 36 | + :disabled="formType" | ||
| 36 | :loading="system_loading"> | 37 | :loading="system_loading"> |
| 37 | <el-option | 38 | <el-option |
| 38 | v-for="item in systemOption" | 39 | v-for="item in systemOption" |
| @@ -64,6 +65,7 @@ | @@ -64,6 +65,7 @@ | ||
| 64 | v-model="dataForm.districtCounty" | 65 | v-model="dataForm.districtCounty" |
| 65 | placeholder="请选择所属区县" | 66 | placeholder="请选择所属区县" |
| 66 | style="line-height: 22px" | 67 | style="line-height: 22px" |
| 68 | + :disabled="formType" | ||
| 67 | > | 69 | > |
| 68 | <el-radio v-for="v in areaOptions" :key="v.id" :label="v.id">{{ | 70 | <el-radio v-for="v in areaOptions" :key="v.id" :label="v.id">{{ |
| 69 | v.fullName | 71 | v.fullName |
| @@ -73,17 +75,30 @@ | @@ -73,17 +75,30 @@ | ||
| 73 | </el-col> | 75 | </el-col> |
| 74 | <el-col :span="24"> | 76 | <el-col :span="24"> |
| 75 | <el-form-item label="违法原因" prop="illegalReasons"> | 77 | <el-form-item label="违法原因" prop="illegalReasons"> |
| 76 | - <el-input type="textarea" v-model="dataForm.illegalReasons" placeholder="请输入违法原因" clearable maxlength="200"/> | 78 | + <el-input type="textarea" v-model="dataForm.illegalReasons" placeholder="请输入违法原因" clearable maxlength="200" :disabled="formType"/> |
| 77 | </el-form-item> | 79 | </el-form-item> |
| 78 | </el-col> | 80 | </el-col> |
| 79 | <el-col :span="24"> | 81 | <el-col :span="24"> |
| 80 | <el-form-item label="处罚要求" prop="punishmentRequirements"> | 82 | <el-form-item label="处罚要求" prop="punishmentRequirements"> |
| 81 | - <el-input type="textarea" v-model="dataForm.punishmentRequirements" placeholder="请输入处罚要求" clearable maxlength="200"/> | 83 | + <el-input type="textarea" v-model="dataForm.punishmentRequirements" placeholder="请输入处罚要求" clearable maxlength="200" :disabled="formType"/> |
| 82 | </el-form-item> | 84 | </el-form-item> |
| 83 | </el-col> | 85 | </el-col> |
| 84 | <el-col :span="24"> | 86 | <el-col :span="24"> |
| 85 | <el-form-item label="处罚内容" prop="punishmentContent"> | 87 | <el-form-item label="处罚内容" prop="punishmentContent"> |
| 86 | - <el-input type="textarea" v-model="dataForm.punishmentContent" placeholder="请输入处罚内容" clearable maxlength="200"/> | 88 | + <el-input type="textarea" v-model="dataForm.punishmentContent" placeholder="请输入处罚内容" clearable maxlength="200" :disabled="formType"/> |
| 89 | + </el-form-item> | ||
| 90 | + </el-col> | ||
| 91 | + <el-col :span="24" v-if='isSHILevel'> | ||
| 92 | + <el-form-item label="执法方式" prop="enforceType"> | ||
| 93 | + <el-radio-group v-model="dataForm.enforceType"> | ||
| 94 | + <el-radio :label="1">柔性执法</el-radio> | ||
| 95 | + <el-radio :label="2">行政执法</el-radio> | ||
| 96 | + </el-radio-group> | ||
| 97 | + </el-form-item> | ||
| 98 | + </el-col> | ||
| 99 | + <el-col :span="24" v-if='formType'> | ||
| 100 | + <el-form-item label="执法说明" prop="enforceContent"> | ||
| 101 | + <el-input type="textarea" v-model="dataForm.enforceContent" placeholder="请输入处罚内容" clearable maxlength="200"/> | ||
| 87 | </el-form-item> | 102 | </el-form-item> |
| 88 | </el-col> | 103 | </el-col> |
| 89 | </el-form> | 104 | </el-form> |
| @@ -91,8 +106,13 @@ | @@ -91,8 +106,13 @@ | ||
| 91 | 106 | ||
| 92 | <span slot="footer" class="dialog-footer"> | 107 | <span slot="footer" class="dialog-footer"> |
| 93 | <el-button @click="visible = false">取 消</el-button> | 108 | <el-button @click="visible = false">取 消</el-button> |
| 94 | - <el-button type="primary" v-if="!isDetail" @click="submit(1)">{{isSHILevel ? '下 发' : '上 报'}}</el-button> | ||
| 95 | - <el-button type="info" v-if="!isDetail" @click="submit(0)">保 存</el-button> | 109 | + <template v-if="!isDetail && !formType"> |
| 110 | + <el-button type="primary" v-if="!isDetail" @click="submit(1)" :loading="btnLoading">{{isSHILevel ? '下 发' : '上 报'}}</el-button> | ||
| 111 | + <el-button type="info" v-if="!isDetail" @click="submit(0)" :loading="btnLoading">保 存</el-button> | ||
| 112 | + </template> | ||
| 113 | + <template v-if="!isDetail && formType"> | ||
| 114 | + <el-button type="primary" v-if="!isDetail" @click="handle" :loading="btnLoading">提 交</el-button> | ||
| 115 | + </template> | ||
| 96 | </span> | 116 | </span> |
| 97 | </el-dialog> | 117 | </el-dialog> |
| 98 | </template> | 118 | </template> |
| @@ -109,6 +129,7 @@ export default { | @@ -109,6 +129,7 @@ export default { | ||
| 109 | visible: false, | 129 | visible: false, |
| 110 | loading: false, | 130 | loading: false, |
| 111 | isDetail: false, | 131 | isDetail: false, |
| 132 | + formType: false, | ||
| 112 | dataForm: { | 133 | dataForm: { |
| 113 | id: undefined, | 134 | id: undefined, |
| 114 | registrationTime: undefined, | 135 | registrationTime: undefined, |
| @@ -127,6 +148,8 @@ export default { | @@ -127,6 +148,8 @@ export default { | ||
| 127 | noticeLetter: undefined, | 148 | noticeLetter: undefined, |
| 128 | punishmentDecision: undefined, | 149 | punishmentDecision: undefined, |
| 129 | closingReport: undefined, | 150 | closingReport: undefined, |
| 151 | + enforceType: undefined, | ||
| 152 | + enforceContent: undefined, | ||
| 130 | }, | 153 | }, |
| 131 | rules: { | 154 | rules: { |
| 132 | systemName: [ | 155 | systemName: [ |
| @@ -135,10 +158,17 @@ export default { | @@ -135,10 +158,17 @@ export default { | ||
| 135 | districtCounty: [ | 158 | districtCounty: [ |
| 136 | { required: true, message: "请选择所属区域", trigger: "change" } | 159 | { required: true, message: "请选择所属区域", trigger: "change" } |
| 137 | ], | 160 | ], |
| 161 | + enforceType: [ | ||
| 162 | + { required: true, message: "请选择执法方式", trigger: "change" } | ||
| 163 | + ], | ||
| 164 | + enforceContent: [ | ||
| 165 | + { required: true, message: "请填写执法说明", trigger: "bulr" } | ||
| 166 | + ], | ||
| 138 | }, | 167 | }, |
| 139 | systemOption: [], | 168 | systemOption: [], |
| 140 | system_loading: false, | 169 | system_loading: false, |
| 141 | areaOptions: [], | 170 | areaOptions: [], |
| 171 | + btnLoading: false, | ||
| 142 | }; | 172 | }; |
| 143 | }, | 173 | }, |
| 144 | computed: { | 174 | computed: { |
| @@ -182,25 +212,29 @@ export default { | @@ -182,25 +212,29 @@ export default { | ||
| 182 | goBack() { | 212 | goBack() { |
| 183 | this.$emit("refresh"); | 213 | this.$emit("refresh"); |
| 184 | }, | 214 | }, |
| 185 | - init(id, isDetail) { | 215 | + init(id, isDetail, type) { |
| 216 | + // type 0 上报/下派 1 处理 | ||
| 217 | + this.formType = Boolean(type) || false; | ||
| 186 | this.dataForm.id = id || 0; | 218 | this.dataForm.id = id || 0; |
| 187 | this.isDetail = isDetail || false; | 219 | this.isDetail = isDetail || false; |
| 188 | - // this.loading = true; | ||
| 189 | this.visible = true; | 220 | this.visible = true; |
| 190 | this.$nextTick(() => { | 221 | this.$nextTick(() => { |
| 191 | this.$refs["elForm"].resetFields(); | 222 | this.$refs["elForm"].resetFields(); |
| 192 | if (this.dataForm.id) { | 223 | if (this.dataForm.id) { |
| 224 | + this.loading = true; | ||
| 193 | request({ | 225 | request({ |
| 194 | url: `/Extend/BaseCaseHandling/${this.dataForm.id}`, | 226 | url: `/Extend/BaseCaseHandling/${this.dataForm.id}`, |
| 195 | method: "GET", | 227 | method: "GET", |
| 196 | }).then((res) => { | 228 | }).then((res) => { |
| 197 | this.dataForm = res.data; | 229 | this.dataForm = res.data; |
| 198 | - // this.loading = false; | 230 | + this.loading = false; |
| 231 | + }).catch(() => { | ||
| 232 | + this.loading = false; | ||
| 199 | }); | 233 | }); |
| 200 | } | 234 | } |
| 201 | }); | 235 | }); |
| 202 | }, | 236 | }, |
| 203 | - // 提交 | 237 | + // 上报/下派 |
| 204 | submit(type) { | 238 | submit(type) { |
| 205 | // type: 1 上报 0 保存 | 239 | // type: 1 上报 0 保存 |
| 206 | let obj = { | 240 | let obj = { |
| @@ -209,22 +243,48 @@ export default { | @@ -209,22 +243,48 @@ export default { | ||
| 209 | } | 243 | } |
| 210 | this.$refs['elForm'].validate((valid) => { | 244 | this.$refs['elForm'].validate((valid) => { |
| 211 | if(!type || valid) { | 245 | if(!type || valid) { |
| 246 | + !this.dataForm.id ? this.toRequest('/Extend/BaseCaseHandling', 'POST', obj) : this.toRequest(`/Extend/BaseCaseHandling/${this.dataForm.id}`, 'PUT', obj); | ||
| 247 | + } | ||
| 248 | + }) | ||
| 249 | + }, | ||
| 250 | + // 处理 | ||
| 251 | + handle() { | ||
| 252 | + this.$refs['elForm'].validate((valid) => { | ||
| 253 | + if(valid) { | ||
| 254 | + return | ||
| 255 | + this.btnLoading = true; | ||
| 212 | request({ | 256 | request({ |
| 213 | - url: `/Extend/BaseCaseHandling`, | ||
| 214 | - method: "POST", | ||
| 215 | - data: obj, | 257 | + url: `/Extend/basecasehandling/handling-case`, |
| 258 | + method: "PUT", | ||
| 259 | + data: this.dataForm, | ||
| 216 | }).then((res) => { | 260 | }).then((res) => { |
| 217 | this.$message({ | 261 | this.$message({ |
| 218 | type: "success", | 262 | type: "success", |
| 219 | - message: res.msg, | ||
| 220 | - onClose: () => { | ||
| 221 | - this.visible = false; | ||
| 222 | - this.$emit("refresh", true); | ||
| 223 | - }, | ||
| 224 | - }); | ||
| 225 | - }); | 263 | + }) |
| 264 | + }).catch(() => { | ||
| 265 | + this.btnLoading = false; | ||
| 266 | + }) | ||
| 226 | } | 267 | } |
| 227 | }) | 268 | }) |
| 269 | + }, | ||
| 270 | + toRequest(url, method, data) { | ||
| 271 | + this.btnLoading = true; | ||
| 272 | + request({ | ||
| 273 | + url, | ||
| 274 | + method, | ||
| 275 | + data, | ||
| 276 | + }).then((res) => { | ||
| 277 | + this.$message({ | ||
| 278 | + type: "success", | ||
| 279 | + message: res.msg, | ||
| 280 | + onClose: () => { | ||
| 281 | + this.visible = false; | ||
| 282 | + this.$emit("refresh", true); | ||
| 283 | + }, | ||
| 284 | + }); | ||
| 285 | + }).catch(() => { | ||
| 286 | + this.btnLoading = false; | ||
| 287 | + }); | ||
| 228 | } | 288 | } |
| 229 | }, | 289 | }, |
| 230 | }; | 290 | }; |
src/views/baseCaseHandling/index.vue
| @@ -97,31 +97,15 @@ | @@ -97,31 +97,15 @@ | ||
| 97 | <el-table-column prop="illegalReasons" label="违法原因" align="left" show-overflow-tooltip/> | 97 | <el-table-column prop="illegalReasons" label="违法原因" align="left" show-overflow-tooltip/> |
| 98 | <el-table-column prop="punishmentRequirements" label="处罚要求" align="left" show-overflow-tooltip/> | 98 | <el-table-column prop="punishmentRequirements" label="处罚要求" align="left" show-overflow-tooltip/> |
| 99 | <el-table-column prop="punishmentContent" label="处罚内容" align="left" show-overflow-tooltip/> | 99 | <el-table-column prop="punishmentContent" label="处罚内容" align="left" show-overflow-tooltip/> |
| 100 | - <el-table-column label="状态" prop="state" align="left" /> | ||
| 101 | - <!-- <el-table-column prop="flowState" label="状态" width="100"> | ||
| 102 | - <template slot-scope="scope"> | ||
| 103 | - <el-tag v-if="scope.row.flowState == 1">等待审核</el-tag> | ||
| 104 | - <el-tag type="success" v-else-if="scope.row.flowState == 2" | ||
| 105 | - >审核通过</el-tag | ||
| 106 | - > | ||
| 107 | - <el-tag type="danger" v-else-if="scope.row.flowState == 3" | ||
| 108 | - >审核驳回</el-tag | ||
| 109 | - > | ||
| 110 | - <el-tag type="danger" v-else-if="scope.row.flowState == 4" | ||
| 111 | - >流程撤回</el-tag | ||
| 112 | - > | ||
| 113 | - <el-tag type="warning" v-else-if="scope.row.flowState == 5" | ||
| 114 | - >审核终止</el-tag | ||
| 115 | - > | ||
| 116 | - <el-tag type="info" v-else>等待提交</el-tag> | ||
| 117 | - </template> | ||
| 118 | - </el-table-column> --> | 100 | + <el-table-column label="状态" prop="state" align="left" > |
| 101 | + <template slot-scope="scope">{{ scope.row.state | dynamicTextUP(stateOptions) }}</template> | ||
| 102 | + </el-table-column> | ||
| 119 | <el-table-column label="操作" fixed="right" width="180"> | 103 | <el-table-column label="操作" fixed="right" width="180"> |
| 120 | <template slot-scope="scope"> | 104 | <template slot-scope="scope"> |
| 121 | - <el-button type="text" :disabled="[1, 2, 5].indexOf(scope.row.flowState) > -1" @click="addOrUpdateHandle(scope.row.id)" >编辑</el-button> | ||
| 122 | - <el-button type="text" :disabled="[1, 2, 5].indexOf(scope.row.flowState) > -1" @click="addOrUpdateHandle(scope.row.id)" >{{isSHILevel ? '下发' : '上报'}}</el-button> | ||
| 123 | - <el-button type="text" :disabled="[1, 2, 3, 5].indexOf(scope.row.flowState) > -1" @click="handleDel(scope.row.id)" class="NCC-table-delBtn" >删除</el-button> | ||
| 124 | - <el-button size="mini" type="text" :disabled="!scope.row.flowState" @click=" addOrUpdateHandle(scope.row.id, scope.row.flowState) " >详情</el-button> | 105 | + <el-button size="mini" type="text" @click="addOrUpdateHandle(scope.row.id, true) " >详情</el-button> |
| 106 | + <el-button type="text" v-if="scope.row.state == '592592614457345285' || scope.row.state == '592592756363232517'" @click="addOrUpdateHandle(scope.row.id)" >编辑</el-button> | ||
| 107 | + <el-button type="text" v-if="scope.row.state == '592592614457345285' || scope.row.state == '592592756363232517'" @click="toReportCase(scope.row.id)" >{{isSHILevel ? '下发' : '上报'}}</el-button> | ||
| 108 | + <el-button type="text" v-if="scope.row.state == '592592614457345285' || scope.row.state == '592592756363232517'" @click="handleDel(scope.row.id)" class="NCC-table-delBtn" >删除</el-button> | ||
| 125 | </template> | 109 | </template> |
| 126 | </el-table-column> | 110 | </el-table-column> |
| 127 | </NCC-table> | 111 | </NCC-table> |
| @@ -202,6 +186,7 @@ export default { | @@ -202,6 +186,7 @@ export default { | ||
| 202 | }, | 186 | }, |
| 203 | created() { | 187 | created() { |
| 204 | this.initAreaTypeList(); | 188 | this.initAreaTypeList(); |
| 189 | + this.initStateTypeOption(); | ||
| 205 | this.initData(); | 190 | this.initData(); |
| 206 | }, | 191 | }, |
| 207 | methods: { | 192 | methods: { |
| @@ -260,6 +245,26 @@ export default { | @@ -260,6 +245,26 @@ export default { | ||
| 260 | this.$refs.FlowBox.init(id, isDetail); | 245 | this.$refs.FlowBox.init(id, isDetail); |
| 261 | }); | 246 | }); |
| 262 | }, | 247 | }, |
| 248 | + toReportCase(id) { | ||
| 249 | + this.$confirm("确认上报/下发该案件?", "提示", { | ||
| 250 | + type: "warning", | ||
| 251 | + }) | ||
| 252 | + .then(() => { | ||
| 253 | + request({ | ||
| 254 | + url: `/Extend/BaseCaseHandling/ReportCase/${id}`, | ||
| 255 | + method: "PUT", | ||
| 256 | + }).then((res) => { | ||
| 257 | + this.$message({ | ||
| 258 | + type: "success", | ||
| 259 | + message: res.msg, | ||
| 260 | + onClose: () => { | ||
| 261 | + this.initData(); | ||
| 262 | + }, | ||
| 263 | + }); | ||
| 264 | + }); | ||
| 265 | + }) | ||
| 266 | + .catch(() => {}); | ||
| 267 | + }, | ||
| 263 | search() { | 268 | search() { |
| 264 | this.listQuery = { | 269 | this.listQuery = { |
| 265 | currentPage: 1, | 270 | currentPage: 1, |
src/views/baseSpecialAction/infoForm.vue
| @@ -30,7 +30,7 @@ | @@ -30,7 +30,7 @@ | ||
| 30 | </el-table-column> | 30 | </el-table-column> |
| 31 | <el-table-column label="操作" fixed="right" width="80" > | 31 | <el-table-column label="操作" fixed="right" width="80" > |
| 32 | <template slot-scope="scope"> | 32 | <template slot-scope="scope"> |
| 33 | - <el-button type="text" @click="toDetail(scope.row)" v-if="scope.row.state == '已填写'">详情</el-button> | 33 | + <el-button type="text" @click="toDetailForm(scope.row)" :disabled="scope.row.state != '已填写'">详情</el-button> |
| 34 | </template> | 34 | </template> |
| 35 | </el-table-column> | 35 | </el-table-column> |
| 36 | </el-table> | 36 | </el-table> |
| @@ -40,12 +40,14 @@ | @@ -40,12 +40,14 @@ | ||
| 40 | <span slot="footer" class="dialog-footer"> | 40 | <span slot="footer" class="dialog-footer"> |
| 41 | <el-button @click="close">取 消</el-button> | 41 | <el-button @click="close">取 消</el-button> |
| 42 | </span> | 42 | </span> |
| 43 | + <NCCForm v-if="dialogVisible" ref="NCCForm" /> | ||
| 43 | </el-dialog> | 44 | </el-dialog> |
| 44 | </template> | 45 | </template> |
| 45 | <script> | 46 | <script> |
| 46 | import request from "@/utils/request"; | 47 | import request from "@/utils/request"; |
| 48 | +import NCCForm from '@/views/baseSpecialAction/dynamicModel/list/Form' | ||
| 47 | export default { | 49 | export default { |
| 48 | - components: {}, | 50 | + components: { NCCForm }, |
| 49 | props: [], | 51 | props: [], |
| 50 | data() { | 52 | data() { |
| 51 | return { | 53 | return { |
| @@ -58,6 +60,7 @@ export default { | @@ -58,6 +60,7 @@ export default { | ||
| 58 | }, | 60 | }, |
| 59 | total: 0, | 61 | total: 0, |
| 60 | form: {}, | 62 | form: {}, |
| 63 | + dialogVisible: false, | ||
| 61 | }; | 64 | }; |
| 62 | }, | 65 | }, |
| 63 | computed: {}, | 66 | computed: {}, |
| @@ -92,9 +95,25 @@ export default { | @@ -92,9 +95,25 @@ export default { | ||
| 92 | }); | 95 | }); |
| 93 | } | 96 | } |
| 94 | }, | 97 | }, |
| 95 | - toDetail(row) { | ||
| 96 | - | ||
| 97 | - } | 98 | + toDetailForm(row) { |
| 99 | + console.log(row); | ||
| 100 | + | ||
| 101 | + // this.dialogVisible = true; | ||
| 102 | + // var Itemid = row.itemId || '';//数据id,没有的话就是新增 ,有的话就是修改 | ||
| 103 | + // var modelId = row.formId;//关联的表单id | ||
| 104 | + // var taskId = row.id; // 当前专项行动id | ||
| 105 | + // var isPreview = false;//固定死,值不变 | ||
| 106 | + // var useFormPermission = false;//固定死,值不变 | ||
| 107 | + // var formData = []; | ||
| 108 | + // request({ | ||
| 109 | + // url: '/visualdev/OnlineDev/'+modelId+'/Config', | ||
| 110 | + // method: "GET", | ||
| 111 | + // params:null | ||
| 112 | + // }).then(res => { | ||
| 113 | + // formData = res.data.formData; | ||
| 114 | + // this.$refs.NCCForm.init(formData, modelId, Itemid, isPreview, useFormPermission, taskId) | ||
| 115 | + // }); | ||
| 116 | + }, | ||
| 98 | }; | 117 | }; |
| 99 | </script> | 118 | </script> |
| 100 | <style lang="scss" scoped> | 119 | <style lang="scss" scoped> |
src/views/baseSystemInfo/DetailForm.vue
| @@ -5,19 +5,19 @@ | @@ -5,19 +5,19 @@ | ||
| 5 | :visible.sync="visible" | 5 | :visible.sync="visible" |
| 6 | class="NCC-dialog NCC-dialog_center systemInfoDialog" | 6 | class="NCC-dialog NCC-dialog_center systemInfoDialog" |
| 7 | lock-scroll | 7 | lock-scroll |
| 8 | - width="70%" | 8 | + width="40%" |
| 9 | > | 9 | > |
| 10 | - <el-row :gutter="15" style="height: 65vh" v-loading="loading"> | 10 | + <el-row :gutter="15" style="height: 65vh; margin: 10px;" v-loading="loading"> |
| 11 | <el-tabs v-model="activeName" type="card" @tab-click="handleClick"> | 11 | <el-tabs v-model="activeName" type="card" @tab-click="handleClick"> |
| 12 | <el-tab-pane label="应用信息" name="1"> | 12 | <el-tab-pane label="应用信息" name="1"> |
| 13 | <div class="system-info"> | 13 | <div class="system-info"> |
| 14 | - <el-col :span="12"> | 14 | + <el-col :span="24"> |
| 15 | <div class="form-item"> | 15 | <div class="form-item"> |
| 16 | <div class="label w-100">主体企业:</div> | 16 | <div class="label w-100">主体企业:</div> |
| 17 | {{ dataForm.companyName || "--" }} | 17 | {{ dataForm.companyName || "--" }} |
| 18 | </div> | 18 | </div> |
| 19 | </el-col> | 19 | </el-col> |
| 20 | - <el-col :span="12"> | 20 | + <el-col :span="24"> |
| 21 | <div class="form-item"> | 21 | <div class="form-item"> |
| 22 | <div class="label w-100">系统类型:</div> | 22 | <div class="label w-100">系统类型:</div> |
| 23 | {{ dataForm.systemType | dynamicTextUP(systemTypeOptions) }} | 23 | {{ dataForm.systemType | dynamicTextUP(systemTypeOptions) }} |
| @@ -29,50 +29,50 @@ | @@ -29,50 +29,50 @@ | ||
| 29 | dataForm.systemType != '580634746028033285' | 29 | dataForm.systemType != '580634746028033285' |
| 30 | " | 30 | " |
| 31 | > | 31 | > |
| 32 | - <el-col :span="12"> | 32 | + <el-col :span="24"> |
| 33 | <div class="form-item"> | 33 | <div class="form-item"> |
| 34 | <div class="label w-100">特殊备案类型:</div> | 34 | <div class="label w-100">特殊备案类型:</div> |
| 35 | - {{ dataForm.systemType || "--" }} | 35 | + {{ dataForm.specialRecordType || "--" }} |
| 36 | </div> | 36 | </div> |
| 37 | </el-col> | 37 | </el-col> |
| 38 | <el-col :span="24"> | 38 | <el-col :span="24"> |
| 39 | <div class="form-item"> | 39 | <div class="form-item"> |
| 40 | <div class="label w-100">特殊备案内容:</div> | 40 | <div class="label w-100">特殊备案内容:</div> |
| 41 | - {{ dataForm.systemType || "--" }} | 41 | + {{ dataForm.specialRecordContent || "--" }} |
| 42 | </div> | 42 | </div> |
| 43 | </el-col> | 43 | </el-col> |
| 44 | - <el-col :span="12"> | 44 | + <el-col :span="24"> |
| 45 | <div class="form-item"> | 45 | <div class="form-item"> |
| 46 | <div class="label w-100">特殊备案号:</div> | 46 | <div class="label w-100">特殊备案号:</div> |
| 47 | - {{ dataForm.systemType || "--" }} | 47 | + {{ dataForm.specialRecordNumber || "--" }} |
| 48 | </div> | 48 | </div> |
| 49 | </el-col> | 49 | </el-col> |
| 50 | - <el-col :span="12"> | 50 | + <el-col :span="24"> |
| 51 | <div class="form-item"> | 51 | <div class="form-item"> |
| 52 | <div class="label w-100">特殊备案时间:</div> | 52 | <div class="label w-100">特殊备案时间:</div> |
| 53 | - {{ dataForm.systemType || "--" }} | 53 | + {{ ncc.dateFormat(dataForm.specialRecordTime, 'YYYY-MM-DD HH:mm:ss') || "--" }} |
| 54 | </div> | 54 | </div> |
| 55 | </el-col> | 55 | </el-col> |
| 56 | </template> | 56 | </template> |
| 57 | - <el-col :span="12"> | 57 | + <el-col :span="24"> |
| 58 | <div class="form-item"> | 58 | <div class="form-item"> |
| 59 | <div class="label w-100">系统名称:</div> | 59 | <div class="label w-100">系统名称:</div> |
| 60 | {{ dataForm.systemName || "--" }} | 60 | {{ dataForm.systemName || "--" }} |
| 61 | </div> | 61 | </div> |
| 62 | </el-col> | 62 | </el-col> |
| 63 | - <el-col :span="12"> | 63 | + <el-col :span="24"> |
| 64 | <div class="form-item"> | 64 | <div class="form-item"> |
| 65 | <div class="label w-100">系统分类:</div> | 65 | <div class="label w-100">系统分类:</div> |
| 66 | {{ dataForm.systemClass | dynamicTextClassName(systemClassOptions) }} | 66 | {{ dataForm.systemClass | dynamicTextClassName(systemClassOptions) }} |
| 67 | </div> | 67 | </div> |
| 68 | </el-col> | 68 | </el-col> |
| 69 | - <el-col :span="12"> | 69 | + <el-col :span="24"> |
| 70 | <div class="form-item"> | 70 | <div class="form-item"> |
| 71 | <div class="label w-100">备案许可证:</div> | 71 | <div class="label w-100">备案许可证:</div> |
| 72 | {{ dataForm.recordLicense || "--" }} | 72 | {{ dataForm.recordLicense || "--" }} |
| 73 | </div> | 73 | </div> |
| 74 | </el-col> | 74 | </el-col> |
| 75 | - <el-col :span="12"> | 75 | + <el-col :span="24"> |
| 76 | <div class="form-item"> | 76 | <div class="form-item"> |
| 77 | <div class="label w-100">归属平台:</div> | 77 | <div class="label w-100">归属平台:</div> |
| 78 | {{ dataForm.platform || "--" }} | 78 | {{ dataForm.platform || "--" }} |
| @@ -84,25 +84,25 @@ | @@ -84,25 +84,25 @@ | ||
| 84 | {{ dataForm.domain || "--" }} | 84 | {{ dataForm.domain || "--" }} |
| 85 | </div> | 85 | </div> |
| 86 | </el-col> | 86 | </el-col> |
| 87 | - <el-col :span="12"> | 87 | + <el-col :span="24"> |
| 88 | <div class="form-item"> | 88 | <div class="form-item"> |
| 89 | <div class="label w-100">下载量:</div> | 89 | <div class="label w-100">下载量:</div> |
| 90 | {{ dataForm.systemDownloadVolume || "--" }} | 90 | {{ dataForm.systemDownloadVolume || "--" }} |
| 91 | </div> | 91 | </div> |
| 92 | </el-col> | 92 | </el-col> |
| 93 | - <el-col :span="12"> | 93 | + <el-col :span="24"> |
| 94 | <div class="form-item"> | 94 | <div class="form-item"> |
| 95 | <div class="label w-100">版本:</div> | 95 | <div class="label w-100">版本:</div> |
| 96 | {{ dataForm.version || "--" }} | 96 | {{ dataForm.version || "--" }} |
| 97 | </div> | 97 | </div> |
| 98 | </el-col> | 98 | </el-col> |
| 99 | - <el-col :span="12"> | 99 | + <el-col :span="24"> |
| 100 | <div class="form-item"> | 100 | <div class="form-item"> |
| 101 | <div class="label w-100">负责人姓名:</div> | 101 | <div class="label w-100">负责人姓名:</div> |
| 102 | {{ dataForm.principalName || "--" }} | 102 | {{ dataForm.principalName || "--" }} |
| 103 | </div> | 103 | </div> |
| 104 | </el-col> | 104 | </el-col> |
| 105 | - <el-col :span="12"> | 105 | + <el-col :span="24"> |
| 106 | <div class="form-item"> | 106 | <div class="form-item"> |
| 107 | <div class="label w-100">负责人电话:</div> | 107 | <div class="label w-100">负责人电话:</div> |
| 108 | {{ dataForm.principalPhone || "--" }} | 108 | {{ dataForm.principalPhone || "--" }} |
| @@ -124,43 +124,43 @@ | @@ -124,43 +124,43 @@ | ||
| 124 | </el-tab-pane> | 124 | </el-tab-pane> |
| 125 | <el-tab-pane label="公司信息" name="2"> | 125 | <el-tab-pane label="公司信息" name="2"> |
| 126 | <div class="company-info"> | 126 | <div class="company-info"> |
| 127 | - <el-col :span="12"> | 127 | + <el-col :span="24"> |
| 128 | <div class="form-item"> | 128 | <div class="form-item"> |
| 129 | <div class="label w-100">公司名称:</div> | 129 | <div class="label w-100">公司名称:</div> |
| 130 | {{ companyForm.companyName || "--" }} | 130 | {{ companyForm.companyName || "--" }} |
| 131 | </div> | 131 | </div> |
| 132 | </el-col> | 132 | </el-col> |
| 133 | - <el-col :span="12"> | 133 | + <el-col :span="24"> |
| 134 | <div class="form-item"> | 134 | <div class="form-item"> |
| 135 | <div class="label w-100">社会信用代:</div> | 135 | <div class="label w-100">社会信用代:</div> |
| 136 | {{ companyForm.socialCreditAgency || "--" }} | 136 | {{ companyForm.socialCreditAgency || "--" }} |
| 137 | </div> | 137 | </div> |
| 138 | </el-col> | 138 | </el-col> |
| 139 | - <el-col :span="12"> | 139 | + <el-col :span="24"> |
| 140 | <div class="form-item"> | 140 | <div class="form-item"> |
| 141 | <div class="label w-100">公司法人:</div> | 141 | <div class="label w-100">公司法人:</div> |
| 142 | {{ companyForm.legalPerson || "--" }} | 142 | {{ companyForm.legalPerson || "--" }} |
| 143 | </div> | 143 | </div> |
| 144 | </el-col> | 144 | </el-col> |
| 145 | - <el-col :span="12"> | 145 | + <el-col :span="24"> |
| 146 | <div class="form-item"> | 146 | <div class="form-item"> |
| 147 | <div class="label w-100">公司地址:</div> | 147 | <div class="label w-100">公司地址:</div> |
| 148 | {{ companyForm.address || "--" }} | 148 | {{ companyForm.address || "--" }} |
| 149 | </div> | 149 | </div> |
| 150 | </el-col> | 150 | </el-col> |
| 151 | - <el-col :span="12"> | 151 | + <el-col :span="24"> |
| 152 | <div class="form-item"> | 152 | <div class="form-item"> |
| 153 | <div class="label w-100">联系人:</div> | 153 | <div class="label w-100">联系人:</div> |
| 154 | {{ companyForm.contactUser || "--" }} | 154 | {{ companyForm.contactUser || "--" }} |
| 155 | </div> | 155 | </div> |
| 156 | </el-col> | 156 | </el-col> |
| 157 | - <el-col :span="12"> | 157 | + <el-col :span="24"> |
| 158 | <div class="form-item"> | 158 | <div class="form-item"> |
| 159 | <div class="label w-100">联系方式:</div> | 159 | <div class="label w-100">联系方式:</div> |
| 160 | {{ companyForm.contactPhone || "--" }} | 160 | {{ companyForm.contactPhone || "--" }} |
| 161 | </div> | 161 | </div> |
| 162 | </el-col> | 162 | </el-col> |
| 163 | - <el-col :span="12"> | 163 | + <el-col :span="24"> |
| 164 | <div class="form-item"> | 164 | <div class="form-item"> |
| 165 | <div class="label w-100">所属区县:</div> | 165 | <div class="label w-100">所属区县:</div> |
| 166 | {{ companyForm.areaName || "--" }} | 166 | {{ companyForm.areaName || "--" }} |
| @@ -177,7 +177,7 @@ | @@ -177,7 +177,7 @@ | ||
| 177 | <el-tab-pane label="核查处置记录" name="3">核查处置记录</el-tab-pane> | 177 | <el-tab-pane label="核查处置记录" name="3">核查处置记录</el-tab-pane> |
| 178 | <el-tab-pane label="网信执法记录" name="4">网信执法记录</el-tab-pane> | 178 | <el-tab-pane label="网信执法记录" name="4">网信执法记录</el-tab-pane> |
| 179 | <el-tab-pane label="数据日志" name="5"> | 179 | <el-tab-pane label="数据日志" name="5"> |
| 180 | - <div class="infinite-list-wrapper" style="overflow:auto;height: calc(65vh - 45px);"> | 180 | + <div class="infinite-list-wrapper" style="overflow:auto;height: calc(65vh - 65px);"> |
| 181 | <el-timeline class="list" v-infinite-scroll="initInfoRecord" :infinite-scroll-disabled="record_disabled"> | 181 | <el-timeline class="list" v-infinite-scroll="initInfoRecord" :infinite-scroll-disabled="record_disabled"> |
| 182 | <el-timeline-item | 182 | <el-timeline-item |
| 183 | placement="top" | 183 | placement="top" |
| @@ -360,6 +360,14 @@ export default { | @@ -360,6 +360,14 @@ export default { | ||
| 360 | }; | 360 | }; |
| 361 | </script> | 361 | </script> |
| 362 | <style lang="scss" scoped> | 362 | <style lang="scss" scoped> |
| 363 | +.el-dialog__wrapper.NCC-dialog.NCC-dialog_center.systemInfoDialog { | ||
| 364 | + :deep(.el-tabs__content) { | ||
| 365 | + background: #f5f5f5; | ||
| 366 | + border-radius: 10px; | ||
| 367 | + padding: 10px; | ||
| 368 | + } | ||
| 369 | +} | ||
| 370 | + | ||
| 363 | // .NCC-dialog.systemInfoDialog { | 371 | // .NCC-dialog.systemInfoDialog { |
| 364 | // :deep(.el-dialog__body) { | 372 | // :deep(.el-dialog__body) { |
| 365 | // overflow: unset !important; | 373 | // overflow: unset !important; |
src/views/overView/Overview.vue
| @@ -113,9 +113,9 @@ | @@ -113,9 +113,9 @@ | ||
| 113 | </el-table-column> | 113 | </el-table-column> |
| 114 | <el-table-column label="操作" fixed="right" width="150"> | 114 | <el-table-column label="操作" fixed="right" width="150"> |
| 115 | <template slot-scope="scope"> | 115 | <template slot-scope="scope"> |
| 116 | + <el-button type="text" @click="checkDetail(scope.row, true)">详情</el-button> | ||
| 116 | <el-button type="text" @click="checkDetail(scope.row)" v-if="isSHILevel">编辑</el-button> | 117 | <el-button type="text" @click="checkDetail(scope.row)" v-if="isSHILevel">编辑</el-button> |
| 117 | <el-button type="text" style="color: red;" @click="delNew(scope.row)">删除</el-button> | 118 | <el-button type="text" style="color: red;" @click="delNew(scope.row)">删除</el-button> |
| 118 | - <el-button type="text" style="color: #909399;" @click="checkDetail(scope.row, true)">详情</el-button> | ||
| 119 | </template> | 119 | </template> |
| 120 | </el-table-column> | 120 | </el-table-column> |
| 121 | </el-table> | 121 | </el-table> |
| @@ -128,6 +128,7 @@ | @@ -128,6 +128,7 @@ | ||
| 128 | <MsgForm v-if="MsgFormVisible" ref="MsgForm" @refresh="msgRefresh"/> | 128 | <MsgForm v-if="MsgFormVisible" ref="MsgForm" @refresh="msgRefresh"/> |
| 129 | <HandleInspectForm v-if="HandleInspectFormVisible" ref="HandleInspectForm" @refresh="(val) => {taskRefresh('HandleInspectFormVisible', val)}"/> | 129 | <HandleInspectForm v-if="HandleInspectFormVisible" ref="HandleInspectForm" @refresh="(val) => {taskRefresh('HandleInspectFormVisible', val)}"/> |
| 130 | <NCC-Form v-if="formVisible" ref="NCCForm" @refreshDataList="(val) => {taskRefresh('formVisible', val)}" /> | 130 | <NCC-Form v-if="formVisible" ref="NCCForm" @refreshDataList="(val) => {taskRefresh('formVisible', val)}" /> |
| 131 | + <HandForm v-if="HandFormVisible" ref="HandForm" @refresh="(val) => {taskRefresh('HandFormVisible', val)}" /> | ||
| 131 | </div> | 132 | </div> |
| 132 | </template> | 133 | </template> |
| 133 | 134 | ||
| @@ -136,10 +137,11 @@ import request from "@/utils/request"; | @@ -136,10 +137,11 @@ import request from "@/utils/request"; | ||
| 136 | import MsgForm from "./msgForm.vue" | 137 | import MsgForm from "./msgForm.vue" |
| 137 | import HandleInspectForm from "@/views/baseSystemInfo/HandleInspectForm.vue" | 138 | import HandleInspectForm from "@/views/baseSystemInfo/HandleInspectForm.vue" |
| 138 | import NCCForm from '@/views/baseSpecialAction/dynamicModel/list/Form' | 139 | import NCCForm from '@/views/baseSpecialAction/dynamicModel/list/Form' |
| 140 | +import HandForm from '@/views/baseCaseHandling/Form.vue' | ||
| 139 | 141 | ||
| 140 | export default { | 142 | export default { |
| 141 | name: "Overview", | 143 | name: "Overview", |
| 142 | - components: { MsgForm, HandleInspectForm, NCCForm }, | 144 | + components: { MsgForm, HandleInspectForm, NCCForm, HandForm }, |
| 143 | data() { | 145 | data() { |
| 144 | return { | 146 | return { |
| 145 | todoTableData: [], | 147 | todoTableData: [], |
| @@ -169,7 +171,8 @@ export default { | @@ -169,7 +171,8 @@ export default { | ||
| 169 | taskList: [], | 171 | taskList: [], |
| 170 | taskTotal: 0, | 172 | taskTotal: 0, |
| 171 | HandleInspectFormVisible: false, | 173 | HandleInspectFormVisible: false, |
| 172 | - formVisible: false | 174 | + formVisible: false, |
| 175 | + HandFormVisible: false, | ||
| 173 | }; | 176 | }; |
| 174 | }, | 177 | }, |
| 175 | created() { | 178 | created() { |
| @@ -313,6 +316,11 @@ export default { | @@ -313,6 +316,11 @@ export default { | ||
| 313 | formData = res.data.formData; | 316 | formData = res.data.formData; |
| 314 | this.$refs.NCCForm.init(formData, modelId, Itemid, isPreview, useFormPermission, taskId) | 317 | this.$refs.NCCForm.init(formData, modelId, Itemid, isPreview, useFormPermission, taskId) |
| 315 | }); | 318 | }); |
| 319 | + } else if(row.taskType == '执法') { | ||
| 320 | + this.HandFormVisible = true; | ||
| 321 | + this.$nextTick(() => { | ||
| 322 | + this.$refs.HandForm.init(row.taskCorrelationId, false, 1); | ||
| 323 | + }) | ||
| 316 | } | 324 | } |
| 317 | }, | 325 | }, |
| 318 | async getBaseSpecialActionInfo(id) { | 326 | async getBaseSpecialActionInfo(id) { |