Blame view

src/views/baseCaseHandling/Form.vue 14.1 KB
4424f41c   monkeyhouyi   网信执法、清单管理静态页面
1
  <template>
61009cfc   monkeyhouyi   2024/8/8
2
    <el-dialog
4614132f   monkeyhouyi   列表查询,案件处理
3
      :title="!dataForm.id ? '新建' : isDetail ? '详情' : formType ? '案件处理' : '编辑'"
61009cfc   monkeyhouyi   2024/8/8
4
5
6
7
8
9
      :close-on-click-modal="false"
      :visible.sync="visible"
      class="NCC-dialog NCC-dialog_center"
      lock-scroll
      width="50%"
      v-loading="loading"
73755355   monkeyhouyi   优化
10
      :modal="false"
61009cfc   monkeyhouyi   2024/8/8
11
    >
7180000e   monkeyhouyi   优化
12
      <el-row :gutter="15" class="NCC-dialog-content" v-show="!isDetail">
61009cfc   monkeyhouyi   2024/8/8
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
        <el-form
          ref="elForm"
          :model="dataForm"
          size="small"
          label-width="110px"
          label-position="right"
          :disabled="!!isDetail"
          :rules="rules"
        >
          <el-col :span="24" v-if="false">
            <el-form-item label="主键" prop="id">
              <el-input v-model="dataForm.id" placeholder="请输入" clearable />
            </el-form-item>
          </el-col>
          <el-col :span="24">
73755355   monkeyhouyi   优化
28
            <el-form-item label="案件名称" prop="systemName">
61009cfc   monkeyhouyi   2024/8/8
29
  			      <el-select
73755355   monkeyhouyi   优化
30
                ref="select"
61009cfc   monkeyhouyi   2024/8/8
31
32
33
34
   			        v-model="dataForm.systemName"
   			        filterable
   			        remote
   			        reserve-keyword
73755355   monkeyhouyi   优化
35
36
37
38
   			        placeholder="请输入案件名称"
   			        @blur.native.capture="selectBlur"
                @visible-change="visibleNameChange"
                @change="(val) => platformNameChange(val, 'change')"
7180000e   monkeyhouyi   优化
39
                :disabled="formType != 0"
61009cfc   monkeyhouyi   2024/8/8
40
   			        :loading="system_loading">
73755355   monkeyhouyi   优化
41
   			        <el-option v-for="item in systemOption" :key="item.value" :label="item.systemName" :value="item.id" />
61009cfc   monkeyhouyi   2024/8/8
42
43
44
45
   			      </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="24">
73755355   monkeyhouyi   优化
46
47
48
49
50
51
52
            <el-form-item label="运营主体" prop="registeredEntity">
              <el-select
                v-model="dataForm.registeredEntity"
                placeholder="请选择运营主体"
                clearable
                filterable 
                style="width: 100%"
7180000e   monkeyhouyi   优化
53
                :disabled="formType != 0 || dataForm.isHaveSystem"
73755355   monkeyhouyi   优化
54
55
56
57
58
59
60
61
62
              >
                <el-option
                  v-for="item in companyOptions"
                  :key="item.id"
                  :label="item.companyName"
                  :value="item.id"
                >
                </el-option>
              </el-select>
61009cfc   monkeyhouyi   2024/8/8
63
64
65
            </el-form-item>
          </el-col>
          <el-col :span="24">
73755355   monkeyhouyi   优化
66
            <el-form-item label="应用类别" prop="category">
7180000e   monkeyhouyi   优化
67
68
69
              <el-radio-group v-model="dataForm.category" :disabled="formType != 0 || dataForm.isHaveSystem">
                <el-radio v-for="(item, index) in platformTypeOptions" :key="index" :label="item.Id">{{ item.FullName }}</el-radio>
              </el-radio-group>
61009cfc   monkeyhouyi   2024/8/8
70
71
72
73
            </el-form-item>
          </el-col>
          <el-col :span="24">
            <el-form-item label="备案号" prop="recordNumber">
7180000e   monkeyhouyi   优化
74
              <el-input v-model="dataForm.recordNumber" placeholder="选择备案号" clearable :disabled="formType == 2"/>
61009cfc   monkeyhouyi   2024/8/8
75
76
            </el-form-item>
          </el-col>
7180000e   monkeyhouyi   优化
77
          <el-col :span="24" v-if="isSHILevel">
61009cfc   monkeyhouyi   2024/8/8
78
79
80
81
82
            <el-form-item label="所属区县" prop="districtCounty">
                <el-radio-group
                  v-model="dataForm.districtCounty"
                  placeholder="请选择所属区县"
                  style="line-height: 22px"
7180000e   monkeyhouyi   优化
83
                  :disabled="formType == 2"
61009cfc   monkeyhouyi   2024/8/8
84
85
86
87
88
89
90
91
92
                >
                  <el-radio v-for="v in areaOptions" :key="v.id" :label="v.id">{{
                    v.fullName
                  }}</el-radio>
                </el-radio-group>
              </el-form-item>
          </el-col>
          <el-col :span="24">
            <el-form-item label="违法原因" prop="illegalReasons">
7180000e   monkeyhouyi   优化
93
              <el-input type="textarea" v-model="dataForm.illegalReasons" placeholder="请输入违法原因" clearable maxlength="200" :disabled="formType == 2"/>
61009cfc   monkeyhouyi   2024/8/8
94
95
96
97
            </el-form-item>
          </el-col>
          <el-col :span="24">
            <el-form-item label="处罚要求" prop="punishmentRequirements">
7180000e   monkeyhouyi   优化
98
              <el-input type="textarea" v-model="dataForm.punishmentRequirements" placeholder="请输入处罚要求" clearable maxlength="200" :disabled="formType == 2"/>
61009cfc   monkeyhouyi   2024/8/8
99
100
101
102
            </el-form-item>
          </el-col>
          <el-col :span="24">
            <el-form-item label="处罚内容" prop="punishmentContent">
7180000e   monkeyhouyi   优化
103
              <el-input type="textarea" v-model="dataForm.punishmentContent" placeholder="请输入处罚内容" clearable maxlength="200" :disabled="formType == 2"/>
93adad84   monkeyhouyi   网信执法功能添加
104
105
            </el-form-item>
          </el-col>
7180000e   monkeyhouyi   优化
106
          <el-col :span="24" v-if="isSHILevel">
93adad84   monkeyhouyi   网信执法功能添加
107
108
            <el-form-item label="执法方式" prop="enforceType">
              <el-radio-group v-model="dataForm.enforceType">
7180000e   monkeyhouyi   优化
109
110
                <el-radio label="柔性执法">柔性执法</el-radio>
                <el-radio label="行政执法">行政执法</el-radio>
93adad84   monkeyhouyi   网信执法功能添加
111
112
113
              </el-radio-group>
            </el-form-item>
          </el-col>
7180000e   monkeyhouyi   优化
114
          <el-col :span="24" v-if="!isSHILevel && formType == 2">
87e6927c   monkeyhouyi   弹框样式
115
            <el-form-item label="执法说明" prop="enforcecontent">
7180000e   monkeyhouyi   优化
116
              <el-input type="textarea" v-model="dataForm.enforcecontent" placeholder="请输入执法说明" clearable maxlength="200"/>
61009cfc   monkeyhouyi   2024/8/8
117
118
119
120
            </el-form-item>
          </el-col>
        </el-form>
      </el-row>
7180000e   monkeyhouyi   优化
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
      <el-row v-show="!!isDetail">
        <el-col class="form-item">
          <div class="label w-120">案件名称:</div>
          <div class="text">{{ dataForm.systemNameStr || '--' }}</div>
        </el-col>
        <el-col class="form-item">
          <div class="label w-120">运营主体:</div>
          <div class="text">{{ dataForm.registeredEntityStr || '--' }}</div>
        </el-col>
        <el-col class="form-item">
          <div class="label w-120">应用类别:</div>
          <div class="text">{{ dataForm.categoryName || '--' }}</div>
        </el-col>
        <el-col class="form-item">
          <div class="label w-120">备案号:</div>
          <div class="text">{{ dataForm.recordNumber || '--' }}</div>
        </el-col>
        <el-col class="form-item">
          <div class="label w-120">所属区县:</div>
          <div class="text">{{ dataForm.districtCountyName }}</div>
        </el-col>
        <el-col class="form-item">
          <div class="label w-120">违法原因:</div>
          <p class="text">{{ dataForm.illegalReasons || '--' }}</p>
        </el-col>
        <el-col class="form-item">
          <div class="label w-120">处罚要求:</div>
          <p class="text">{{ dataForm.punishmentRequirements || '--' }}</p>
        </el-col>
        <el-col class="form-item">
          <div class="label w-120">处罚内容:</div>
          <p class="text">{{ dataForm.punishmentContent || '--' }}</p>
        </el-col>
        <el-col class="form-item" v-if="dataForm.enforceType">
          <div class="label w-120">执法方式:</div>
          <p class="text">{{ dataForm.enforceType || '--' }}</p>
        </el-col>
        <el-col class="form-item" v-if="dataForm.enforcecontent">
          <div class="label w-120">执法说明:</div>
          <p class="text">{{ dataForm.enforcecontent || '--' }}</p>
        </el-col>
73755355   monkeyhouyi   优化
162
      </el-row>
61009cfc   monkeyhouyi   2024/8/8
163
164
      <span slot="footer" class="dialog-footer">
        <el-button @click="visible = false">取 消</el-button>
7180000e   monkeyhouyi   优化
165
166
167
        <template  v-if="!isDetail">
          <el-button type="primary" v-if="!isDetail && formType == '0'" @click="submit(1)" :loading="btnLoading">{{isSHILevel ? '下 发' : '上 报'}}</el-button>
          <el-button type="info" v-if="!isDetail && formType == '0'" @click="submit(0)" :loading="btnLoading">保 存</el-button>
93adad84   monkeyhouyi   网信执法功能添加
168
        </template>
7180000e   monkeyhouyi   优化
169
170
        <template v-if="!isDetail">
          <el-button type="primary" v-if="!isDetail && formType != '0'" @click="handle" :loading="btnLoading">提 交</el-button>
93adad84   monkeyhouyi   网信执法功能添加
171
        </template>
61009cfc   monkeyhouyi   2024/8/8
172
173
      </span>
    </el-dialog>
4424f41c   monkeyhouyi   网信执法、清单管理静态页面
174
175
  </template>
  <script>
61009cfc   monkeyhouyi   2024/8/8
176
177
178
  import infoMixin from "@/mixins/info";
  import request from "@/utils/request";
  import { getSystemDetail } from "@/api/baseData/info";
73755355   monkeyhouyi   优化
179
  import { getCompanyInfoList, getCompanyInfoById } from "@/api/baseData/company";
61009cfc   monkeyhouyi   2024/8/8
180
  import { dynamicTextUP } from "@/filters/index";
4424f41c   monkeyhouyi   网信执法、清单管理静态页面
181
  
61009cfc   monkeyhouyi   2024/8/8
182
183
184
185
186
187
188
  export default {
    mixins: [infoMixin],
    data() {
      return {
        visible: false,
        loading: false,
        isDetail: false,
7180000e   monkeyhouyi   优化
189
        formType: false, //  0 新增 1 编辑 2 处理
61009cfc   monkeyhouyi   2024/8/8
190
191
192
193
194
195
196
        dataForm: {
  		    id: undefined,
  		    registrationTime: undefined,
  		    systemName: undefined,
  		    registeredEntity: undefined,
  		    category: undefined,
  		    recordNumber: undefined,
7180000e   monkeyhouyi   优化
197
          registeredEntityStr: undefined,
61009cfc   monkeyhouyi   2024/8/8
198
  		    districtCounty: undefined,
7180000e   monkeyhouyi   优化
199
          systemNameStr: undefined,
61009cfc   monkeyhouyi   2024/8/8
200
201
202
203
204
205
206
207
208
209
  		    illegalReasons: undefined,
  		    punishmentRequirements: undefined,
  		    punishmentContent: undefined,
  		    state: undefined,
  		    record: undefined,
  		    caseHandlingOpinions: undefined,
  		    enforcementRecords: undefined,
  		    noticeLetter: undefined,
  		    punishmentDecision: undefined,
  		    closingReport: undefined,
93adad84   monkeyhouyi   网信执法功能添加
210
          enforceType: undefined,
87e6927c   monkeyhouyi   弹框样式
211
          enforcecontent: undefined,
73755355   monkeyhouyi   优化
212
          isHaveSystem: undefined,
61009cfc   monkeyhouyi   2024/8/8
213
214
215
  	    },
        rules: {
          systemName: [
94f06e38   monkeyhouyi   优化
216
217
218
219
            { required: true, message: "请选择应用名称", trigger: "bulr" }
          ],
          registeredEntity: [
            { required: true, message: "请选择运营主体", trigger: "bulr" }
61009cfc   monkeyhouyi   2024/8/8
220
221
222
223
          ],
          districtCounty: [
            { required: true, message: "请选择所属区域", trigger: "change" }
          ],
93adad84   monkeyhouyi   网信执法功能添加
224
          enforceType: [
73755355   monkeyhouyi   优化
225
            { required: true, message: "请选择执法方式", trigger: "bulr" }
93adad84   monkeyhouyi   网信执法功能添加
226
          ],
87e6927c   monkeyhouyi   弹框样式
227
          enforcecontent: [
93adad84   monkeyhouyi   网信执法功能添加
228
229
            { required: true, message: "请填写执法说明", trigger: "bulr" }
          ],
61009cfc   monkeyhouyi   2024/8/8
230
231
232
233
        },
        systemOption: [],
        system_loading: false,
        areaOptions: [],
93adad84   monkeyhouyi   网信执法功能添加
234
        btnLoading: false,
7180000e   monkeyhouyi   优化
235
236
        companyOptions: [],
        platformTypeOptions: [],
61009cfc   monkeyhouyi   2024/8/8
237
238
239
240
241
242
243
244
245
246
      };
    },
    computed: {
      isSHILevel() {
        // 判断角色是否为‘市级办公室’
        return this.$store.state.user.islader;
      },
    },
    watch: {},
    created() {
7180000e   monkeyhouyi   优化
247
      this.getplatformTypeOptions();
61009cfc   monkeyhouyi   2024/8/8
248
249
250
      this.getSystemSelect();
      this.initSystemTypeList();
      this.initAreaTypeList();
73755355   monkeyhouyi   优化
251
      this.initCompanyList();
61009cfc   monkeyhouyi   2024/8/8
252
253
254
    },
    mounted() {},
    methods: {
7180000e   monkeyhouyi   优化
255
256
257
258
259
      async getplatformTypeOptions() {
        let list = this.$store.state.meta.system;
        !list && (list = await this.$store.dispatch("getTypeListByCode", "system"));
        this.platformTypeOptions = list;
      },
73755355   monkeyhouyi   优化
260
261
262
263
264
265
266
267
268
        // 请求公司列表
      async initCompanyList() {
        request({
          url: `/Extend/basecomapnyinfo/GetNoPagingList`,
          method: "GET",
        }).then(({data}) => {
          this.companyOptions = data;
        })
      },
61009cfc   monkeyhouyi   2024/8/8
269
      // 获取系统列表
73755355   monkeyhouyi   优化
270
      getSystemSelect() {
61009cfc   monkeyhouyi   2024/8/8
271
272
273
274
        this.system_loading = true;
        request({
          url: "/Extend/basesysteminfo/GetNoPagingList",
          method: "get",
61009cfc   monkeyhouyi   2024/8/8
275
276
277
278
279
        }).then(({data}) => {
          this.systemOption = data;
          this.system_loading = false;
        })
      },
73755355   monkeyhouyi   优化
280
281
282
283
284
285
286
287
288
289
      selectBlur(e) {
        if(!this.isSHILevel) return;
        let value = e.target.value;
        if(!value) return;
        this.dataForm.systemName = e.target.value;
        this.platformNameChange(value, 'blur');
      },
      platformNameChange(val, type) {
        let obj = this.systemOption.find(v => type == 'blur' ? val == v.fullName : val == v.id);
        this.dataForm.isHaveSystem = obj ? true : false;
73755355   monkeyhouyi   优化
290
        this.dataForm.systemName = obj ? obj.id : val;
7180000e   monkeyhouyi   优化
291
292
293
        this.dataForm.registeredEntity = obj ? obj.companyId : '';
        this.dataForm.category = obj ? this.platformTypeOptions.find(v => v.Id == obj.systemType || v.FullName == obj.systemType).Id : '';
        // this.dataForm.recordNumber = obj ? obj.platform : '';
73755355   monkeyhouyi   优化
294
      },
61009cfc   monkeyhouyi   2024/8/8
295
296
297
298
299
300
301
302
303
      // 系统名称改变
      systemChange(val) {
        getSystemDetail(val).then(({data}) => {
          this.dataForm.registeredEntity = data.companyId;
          this.dataForm.category = dynamicTextUP(data.systemType, this.systemTypeOptions);
          this.dataForm.recordNumber = data.specialRecordNumber || '--';
          this.dataForm.districtCounty = data.areaId;
        })
      },
73755355   monkeyhouyi   优化
304
305
306
307
308
      visibleNameChange(val) {
        if (val) return
        let input = this.$refs.select.$children[0].$refs.input;
        input.blur();
      },
61009cfc   monkeyhouyi   2024/8/8
309
310
311
      goBack() {
        this.$emit("refresh");
      },
93adad84   monkeyhouyi   网信执法功能添加
312
313
      init(id, isDetail, type) {
        // type 0 上报/下派 1 处理
7180000e   monkeyhouyi   优化
314
315
        this.formType = type || '0';
        this.dataForm.id = id || undefined;
61009cfc   monkeyhouyi   2024/8/8
316
        this.isDetail = isDetail || false;
61009cfc   monkeyhouyi   2024/8/8
317
        this.visible = true;
61009cfc   monkeyhouyi   2024/8/8
318
        this.$nextTick(() => {
7180000e   monkeyhouyi   优化
319
          this.$refs["elForm"].resetFields();
61009cfc   monkeyhouyi   2024/8/8
320
          if (this.dataForm.id) {
93adad84   monkeyhouyi   网信执法功能添加
321
            this.loading = true;
61009cfc   monkeyhouyi   2024/8/8
322
323
324
            request({
              url: `/Extend/BaseCaseHandling/${this.dataForm.id}`,
              method: "GET",
73755355   monkeyhouyi   优化
325
            }).then(async (res) => {
7180000e   monkeyhouyi   优化
326
327
              res.data.districtCountyName = this.areaOptions.find(item => item.id == res.data.districtCounty).fullName;
              res.data.categoryName = this.platformTypeOptions.find(v => v.Id == res.data.category || v.FullName == res.data.category).FullName;
61009cfc   monkeyhouyi   2024/8/8
328
              this.dataForm = res.data;
93adad84   monkeyhouyi   网信执法功能添加
329
              this.loading = false;
93adad84   monkeyhouyi   网信执法功能添加
330
331
            }).catch(() => {
              this.loading = false;
61009cfc   monkeyhouyi   2024/8/8
332
333
334
335
            });
          }
        });
      },
93adad84   monkeyhouyi   网信执法功能添加
336
      // 上报/下派
61009cfc   monkeyhouyi   2024/8/8
337
338
339
340
341
342
343
      submit(type) {
        // type: 1 上报 0 保存
        let obj = {
          ...this.dataForm,
          isReport: type,
        }
  			this.$refs['elForm'].validate((valid) => {
87e6927c   monkeyhouyi   弹框样式
344
          if(valid) {
93adad84   monkeyhouyi   网信执法功能添加
345
346
347
348
349
350
351
352
            !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) {
93adad84   monkeyhouyi   网信执法功能添加
353
            this.btnLoading = true;
87e6927c   monkeyhouyi   弹框样式
354
            let { enforceType, enforcecontent } = this.dataForm;
61009cfc   monkeyhouyi   2024/8/8
355
            request({
87e6927c   monkeyhouyi   弹框样式
356
357
358
              url: `/Extend/basecasehandling/HandlingCase/${this.dataForm.id}`,
              method: "POST",
              data: { enforceType, enforcecontent },
61009cfc   monkeyhouyi   2024/8/8
359
            }).then((res) => {
4614132f   monkeyhouyi   列表查询,案件处理
360
361
              this.visible = false;
              this.$emit("refresh", true);
61009cfc   monkeyhouyi   2024/8/8
362
363
              this.$message({
                type: "success",
4614132f   monkeyhouyi   列表查询,案件处理
364
                message: res.msg,
93adad84   monkeyhouyi   网信执法功能添加
365
366
367
368
              })
            }).catch(() => {
              this.btnLoading = false;
            })
61009cfc   monkeyhouyi   2024/8/8
369
370
          }
        })
93adad84   monkeyhouyi   网信执法功能添加
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
      },
      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;
        });
61009cfc   monkeyhouyi   2024/8/8
390
391
392
393
      }
    },
  };
  </script>