Blame view

src/views/DisposalSuggestions/Form.vue 15.6 KB
b61eb1ed   monkeyhouyi   上报线索研判
1
  <template>
fcbf44a0   monkeyhouyi   1
2
    <el-dialog
ff36c85d   monkeyhouyi   1
3
      title="研判建议"
fcbf44a0   monkeyhouyi   1
4
5
6
7
8
      :close-on-click-modal="false"
      :visible.sync="visible"
      class="NCC-dialog NCC-dialog_center"
      lock-scroll
      width="60%"
fcbf44a0   monkeyhouyi   1
9
    >
541d55ac   monkeyhouyi   优化
10
      <el-row :gutter="15" class="NCC-dialog-content" v-loading="loading">
46bce7e6   monkeyhouyi   10/14号需求完善
11
        <el-col :span="10" style="border-right: 1px solid #e6e6e6; height: 400px">
fcbf44a0   monkeyhouyi   1
12
          <el-row>
46bce7e6   monkeyhouyi   10/14号需求完善
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
            <el-col :span="24" class="form_title"> 巡查上报详情 </el-col>
            <el-col :span="24">
              <div class="form-item">
                <div class="label w-100">问题来源:</div>
                <div class="text">{{ dataForm.reportSourceName || "--" }}</div>
              </div>
            </el-col>
            <el-col :span="24">
              <div class="form-item">
                <div class="label w-100">应用名称:</div>
                <div class="text">{{ dataForm.platformNameStr || "--" }}</div>
              </div>
            </el-col>
            <el-col :span="24">
              <div class="form-item">
                <div class="label w-100">运营主体:</div>
                <div class="text">{{ dataForm.companyStr || "--" }}</div>
              </div>
            </el-col>
            <el-col :span="24">
              <div class="form-item">
                <div class="label w-100">应用类型:</div>
                <div class="text">{{ dataForm.platformTypeStr || "--" }}</div>
              </div>
            </el-col>
            <el-col
              :span="24"
              v-if="dataForm.platformType == '580634746028033285'"
            >
              <div class="form-item">
                <div class="label w-100">归属平台:</div>
                <div class="text">
541d55ac   monkeyhouyi   优化
45
                  {{ dataForm.selfMediaPlatformType || "--" }}
73755355   monkeyhouyi   优化
46
                </div>
46bce7e6   monkeyhouyi   10/14号需求完善
47
48
49
50
51
52
53
54
55
              </div>
            </el-col>
            <el-col :span="24">
              <div class="form-item">
                <div class="label w-100">问题类型:</div>
                <div class="text">{{ dataForm.questionType || "--" }}</div>
              </div>
            </el-col>
            <template v-if="dataForm.questionType == '错误表述'">
73755355   monkeyhouyi   优化
56
57
              <el-col :span="24">
                <div class="form-item">
46bce7e6   monkeyhouyi   10/14号需求完善
58
59
                  <div class="label w-100">正确描述:</div>
                  <div class="text">
73755355   monkeyhouyi   优化
60
61
                    {{ dataForm.accurateDescription || "--" }}
                  </div>
73755355   monkeyhouyi   优化
62
63
64
65
                </div>
              </el-col>
              <el-col :span="24">
                <div class="form-item">
46bce7e6   monkeyhouyi   10/14号需求完善
66
67
68
                  <div class="label w-100">错误描述:</div>
                  <div class="text">
                    {{ dataForm.incorrectDescription || "--" }}
8994407e   monkeyhouyi   优化
69
70
                  </div>
                </div>
b1b3be19   monkeyhouyi   对18号提出需求进行整改
71
              </el-col>
46bce7e6   monkeyhouyi   10/14号需求完善
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
            </template>
            <el-col :span="24">
              <div class="form-item">
                <div class="label w-100">问题内容:</div>
                <div class="text">{{ dataForm.questionContent || "--" }}</div>
              </div>
            </el-col>
            <el-col :span="24">
              <div class="form-item">
                <div class="label w-100">链接:</div>
                <div class="text">{{ dataForm.link || "--" }}</div>
              </div>
            </el-col>
            <el-col :span="24">
              <div class="form-item">
                <div class="label w-100">关键词:</div>
                <div class="text">{{ dataForm.questionClass || "--" }}</div>
              </div>
            </el-col>
            <el-col :span="24">
              <el-col class="form-item">
                <div class="label w-100">附件:</div>
                <div class="text">
                  <NCC-UploadFz
                  v-model="dataForm.annex"
                  :fileSize="5"
                  sizeUnit="MB"
                  :limit="9"
                  buttonText="点击上传"
                  disabled
                />
fcbf44a0   monkeyhouyi   1
103
104
                </div>
              </el-col>
46bce7e6   monkeyhouyi   10/14号需求完善
105
106
107
108
109
110
111
            </el-col>
            <el-col :span="24">
              <div class="form-item">
                <div class="label w-100">所属区域:</div>
                <div class="text">{{ dataForm.areaName || "--" }}</div>
              </div>
            </el-col>
cb0a72a6   monkeyhouyi   核查处置优化
112
113
            <el-col :span="24" v-for="(v, i) in dataForm.judgmentOpinions" :key="i" style="border: #f6f6f6 solid 1px; border-radius: 10px; padding: 8px; margin-bottom: 5px;">
              <div class="title">研判信息{{ i + 1 }}</div>
46bce7e6   monkeyhouyi   10/14号需求完善
114
              <div class="form-item">
cb0a72a6   monkeyhouyi   核查处置优化
115
116
117
118
119
120
                <div class="label w-120">处置类型:</div>
                <div class="text">{{ v.State }}</div>
              </div>
              <div class="form-item">
                <div class="label w-120">处置建议:</div>
                <div class="text">{{ v.judgmentOpinion }}</div>
46bce7e6   monkeyhouyi   10/14号需求完善
121
122
              </div>
            </el-col>
cb0a72a6   monkeyhouyi   核查处置优化
123
124
            <el-col :span="24" v-for="(v, index) in dataForm.disposalSuggestions" :key="index" style="border: #f6f6f6 solid 1px; border-radius: 10px; padding: 8px; margin-bottom: 5px;">
              <div class="title">处置信息{{ index + 1 }}</div>
46bce7e6   monkeyhouyi   10/14号需求完善
125
              <div class="form-item">
cb0a72a6   monkeyhouyi   核查处置优化
126
127
128
129
130
131
132
133
                <div class="label w-120">处置结果:</div>
                <div class="text">{{ v.disposalSuggestion }}</div>
              </div>
              <div class="form-item" v-if="v.fileUrl">
                <div class="label w-120">处置附件:</div>
                <div class="text" style="width: calc(100% - 120px);">
                  <NCC-UploadFz v-model="v.fileUrl" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" disabled/>
                </div>
46bce7e6   monkeyhouyi   10/14号需求完善
134
135
              </div>
            </el-col>
cb0a72a6   monkeyhouyi   核查处置优化
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
            <!-- <el-col :span="24">
              <div class="form-item">
                <div class="label w-100">处置建议:</div>
                <div class="text">
                  <div class="text" v-if="!dataForm.judgmentOpinions || !dataForm.judgmentOpinions.length">无</div>
                  <template v-else>
                    <div class="text"  v-for="v in dataForm.judgmentOpinions" :key="v">{{ v }}</div>
                  </template>
                </div>
              </div>
            </el-col> -->
            <!-- <el-col :span="24">
              <div class="form-item">
                <div class="label w-100">处置结果:</div>
                <div class="text">
                  <div class="text" v-if="!dataForm.disposalSuggestions || !dataForm.disposalSuggestions.length">无</div>
                  <template v-else>
                    <div class="text"  v-for="v in dataForm.disposalSuggestions" :key="v">{{ v }}</div>
                  </template>
                </div>
              </div>
            </el-col> -->
            <!-- <el-col :span="24">
46bce7e6   monkeyhouyi   10/14号需求完善
159
160
161
162
              <el-col class="form-item">
                <div class="label w-100">处置附件:</div>
                <div class="text" v-if="dataForm.judgmentOpinions">
                  <NCC-UploadFz
cb0a72a6   monkeyhouyi   核查处置优化
163
                  v-model="dataForm.disposalResult"
46bce7e6   monkeyhouyi   10/14号需求完善
164
165
166
167
168
169
                  :fileSize="5"
                  sizeUnit="MB"
                  :limit="9"
                  buttonText="点击上传"
                  disabled
                />
b1b3be19   monkeyhouyi   对18号提出需求进行整改
170
171
                </div>
              </el-col>
cb0a72a6   monkeyhouyi   核查处置优化
172
            </el-col> -->
fcbf44a0   monkeyhouyi   1
173
174
175
176
          </el-row>
        </el-col>
        <el-col :span="14">
          <el-row>
ff36c85d   monkeyhouyi   1
177
            <el-col :span="24" class="form_title"> 研判建议 </el-col>
fcbf44a0   monkeyhouyi   1
178
179
180
181
182
183
184
185
            <el-form
              ref="suggestionForm"
              :rules="rules"
              :model="suggestionForm"
              size="small"
              label-width="100px"
              label-position="right"
            >
fcbf44a0   monkeyhouyi   1
186
              <el-col :span="24">
6d0f41b4   monkeyhouyi   修改研判类型字段名
187
                <el-form-item label="研判类型" prop="reviewType">
fcbf44a0   monkeyhouyi   1
188
                  <el-radio-group
6d0f41b4   monkeyhouyi   修改研判类型字段名
189
                    v-model="suggestionForm.reviewType"
fcbf44a0   monkeyhouyi   1
190
                    size="medium"
a28c3616   monkeyhouyi   研判
191
                    @change="judgmentClassChange"
fcbf44a0   monkeyhouyi   1
192
                  >
46bce7e6   monkeyhouyi   10/14号需求完善
193
194
195
196
197
198
                    <el-radio
                      v-for="v in judgmentClassOption"
                      :key="v.Id"
                      :label="v.Id"
                      >{{ v.FullName }}</el-radio
                    >
fcbf44a0   monkeyhouyi   1
199
200
201
                  </el-radio-group>
                </el-form-item>
              </el-col>
46bce7e6   monkeyhouyi   10/14号需求完善
202
203
204
205
206
207
208
              <el-col
                :span="24"
                v-if="
                  (!dataForm.areaId || dataForm.areaId == '580548871316383493') &&
                  showarea
                "
              >
d8af3866   monkeyhouyi   1
209
                <el-form-item label="所属区县" prop="area">
46bce7e6   monkeyhouyi   10/14号需求完善
210
211
212
213
214
215
216
217
218
219
220
221
                  <el-radio-group
                    v-removeAriaHidden
                    v-model="suggestionForm.area"
                    placeholder="请选择所属区县"
                    style="line-height: 22px"
                  >
                    <el-radio
                      v-for="v in areaOptions"
                      :key="v.id"
                      :label="v.id"
                      >{{ v.fullName }}</el-radio
                    >
b1b3be19   monkeyhouyi   对18号提出需求进行整改
222
223
224
                  </el-radio-group>
                </el-form-item>
              </el-col>
46bce7e6   monkeyhouyi   10/14号需求完善
225
226
227
228
              <el-col
                :span="24"
                v-if="!dataForm.externalAssistanceId && showarea"
              >
b1b3be19   monkeyhouyi   对18号提出需求进行整改
229
                <el-form-item label="所属外协" prop="externalAssistanceId">
46bce7e6   monkeyhouyi   10/14号需求完善
230
231
232
233
234
235
236
237
238
239
240
241
                  <el-radio-group
                    v-removeAriaHidden
                    v-model="suggestionForm.externalAssistanceId"
                    placeholder="请选择所属外协"
                    style="line-height: 22px"
                  >
                    <el-radio
                      v-for="v in communicationOutOptions"
                      :key="v.id"
                      :label="v.id"
                      >{{ v.fullName }}</el-radio
                    >
d8af3866   monkeyhouyi   1
242
243
244
                  </el-radio-group>
                </el-form-item>
              </el-col>
a28c3616   monkeyhouyi   研判
245
              <el-col :span="24" v-if="showSuggsetion">
b1b3be19   monkeyhouyi   对18号提出需求进行整改
246
                <el-form-item label="处置建议" prop="judgmentOpinions">
fcbf44a0   monkeyhouyi   1
247
248
                  <el-input
                    v-model="suggestionForm.judgmentOpinions"
b1b3be19   monkeyhouyi   对18号提出需求进行整改
249
                    placeholder="请输入处置建议"
fcbf44a0   monkeyhouyi   1
250
251
252
253
                    show-word-limit
                    :style="{ width: '100%' }"
                    type="textarea"
                    :autosize="{ minRows: 4, maxRows: 4 }"
a28c3616   monkeyhouyi   研判
254
                    maxlength="200"
fcbf44a0   monkeyhouyi   1
255
256
257
258
259
260
261
262
263
264
                  >
                  </el-input>
                </el-form-item>
              </el-col>
            </el-form>
          </el-row>
        </el-col>
      </el-row>
      <span slot="footer" class="dialog-footer">
        <el-button @click="visible = false">取 消</el-button>
46bce7e6   monkeyhouyi   10/14号需求完善
265
266
267
        <el-button type="primary" @click="dataFormSubmit()" :loading="btnLoading"
          >确 定</el-button
        >
fcbf44a0   monkeyhouyi   1
268
269
      </span>
    </el-dialog>
b61eb1ed   monkeyhouyi   上报线索研判
270
271
  </template>
  <script>
fcbf44a0   monkeyhouyi   1
272
  import request from "@/utils/request";
d8af3866   monkeyhouyi   1
273
274
  import infoMixin from "@/mixins/info";
  import { dynamicText } from "@/filters/index";
fcbf44a0   monkeyhouyi   1
275
  import { getDictionaryDataSelector } from "@/api/systemData/dictionary";
46bce7e6   monkeyhouyi   10/14号需求完善
276
277
278
  import {
    getDetail,
    disposalSuggestionsAPI,
cb0a72a6   monkeyhouyi   核查处置优化
279
    UpdateByHandle
46bce7e6   monkeyhouyi   10/14号需求完善
280
  } from "@/api/systemData/dataInterface";
fcbf44a0   monkeyhouyi   1
281
282
  export default {
    components: {},
46bce7e6   monkeyhouyi   10/14号需求完善
283
    mixins: [infoMixin],
fcbf44a0   monkeyhouyi   1
284
285
286
287
288
289
290
291
292
    props: [],
    data() {
      return {
        loading: true,
        visible: false,
        isDetail: true,
        dataForm: {
          id: undefined,
          platformName: undefined,
541d55ac   monkeyhouyi   优化
293
294
          platformNameStr: undefined,
          platformTypeStr: undefined,
fcbf44a0   monkeyhouyi   1
295
296
297
298
299
300
301
          platformType: undefined,
          questionType: undefined,
          questionClass: undefined,
          questionContent: undefined,
          link: undefined,
          obtainEvidence: [],
          annex: [],
b1b3be19   monkeyhouyi   对18号提出需求进行整改
302
          externalAssistanceId: undefined,
fcbf44a0   monkeyhouyi   1
303
        },
541d55ac   monkeyhouyi   优化
304
        sourceOptions: [],
fcbf44a0   monkeyhouyi   1
305
306
307
308
309
310
311
312
313
314
        platformTypeOptions: [],
        questionTypeOptions: [],
        questionClassOptions: [
          { fullName: "选项一", id: "1" },
          { fullName: "选项二", id: "2" },
        ],
        stageOptions: [
          { fullName: "选项一", id: "1" },
          { fullName: "选项二", id: "2" },
        ],
b61eb1ed   monkeyhouyi   上报线索研判
315
  
fcbf44a0   monkeyhouyi   1
316
317
318
        suggestionForm: {
          disposalSuggestions: "", //处置建议
          judgmentOpinions: "", //判断意见
6d0f41b4   monkeyhouyi   修改研判类型字段名
319
          reviewType: "", //判断分类
fcbf44a0   monkeyhouyi   1
320
          deadline: "",
46bce7e6   monkeyhouyi   10/14号需求完善
321
322
          area: "",
          externalAssistanceId: "",
fcbf44a0   monkeyhouyi   1
323
324
        },
        rules: {
6d0f41b4   monkeyhouyi   修改研判类型字段名
325
          reviewType: [
d8af3866   monkeyhouyi   1
326
327
            { required: true, message: "请选择审核类型", trigger: "blur" },
          ],
46bce7e6   monkeyhouyi   10/14号需求完善
328
          area: [{ required: true, message: "请选择所属区域", trigger: "bulr" }],
61009cfc   monkeyhouyi   2024/8/8
329
          judgmentOpinions: [
46bce7e6   monkeyhouyi   10/14号需求完善
330
331
            { required: true, message: "请填写研判意见", trigger: "bulr" },
          ],
fcbf44a0   monkeyhouyi   1
332
        },
a28c3616   monkeyhouyi   研判
333
        showSuggsetion: false,
d8af3866   monkeyhouyi   1
334
        showarea: false,
a28c3616   monkeyhouyi   研判
335
        judgmentClassOption: [],
d8af3866   monkeyhouyi   1
336
        areaOptions: [],
a242b994   monkeyhouyi   附件调试
337
        btnLoading: false,
b1b3be19   monkeyhouyi   对18号提出需求进行整改
338
        communicationOutOptions: [],
cb0a72a6   monkeyhouyi   核查处置优化
339
        formType: '',
fcbf44a0   monkeyhouyi   1
340
341
342
343
344
345
346
347
348
      };
    },
    computed: {
      isSHILevel() {
        // 判断角色是否为‘市级办公室’
        return this.$store.state.user.islader;
      },
    },
    watch: {},
46bce7e6   monkeyhouyi   10/14号需求完善
349
    created() {},
fcbf44a0   monkeyhouyi   1
350
351
    mounted() {},
    methods: {
541d55ac   monkeyhouyi   优化
352
353
354
355
356
357
358
      async getSourceOptions() {
        let { data } = await request({
          url: `/Extend/baseinspectionreport/GetReportSourceList`,
          method: "GET",
        });
        this.sourceOptions = data;
      },
fcbf44a0   monkeyhouyi   1
359
360
361
362
363
364
365
366
367
368
      getplatformTypeOptions() {
        getDictionaryDataSelector("576279943168656645").then((res) => {
          this.platformTypeOptions = res.data.list;
        });
      },
      getquestionTypeOptions() {
        getDictionaryDataSelector("577006814432855301").then((res) => {
          this.questionTypeOptions = res.data.list;
        });
      },
d8ed082d   monkeyhouyi   研判页面添加研判按钮校验和详情弹框
369
370
      async getjudgmentClassOptions() {
        await request({
a28c3616   monkeyhouyi   研判
371
          url: `/Extend/BaseInspectionReport/GetReviewTypeList`,
46bce7e6   monkeyhouyi   10/14号需求完善
372
373
          method: "GET",
        }).then((res) => {
a28c3616   monkeyhouyi   研判
374
          this.judgmentClassOption = res.data;
46bce7e6   monkeyhouyi   10/14号需求完善
375
        });
a28c3616   monkeyhouyi   研判
376
      },
fcbf44a0   monkeyhouyi   1
377
378
379
      goBack() {
        this.$emit("refresh");
      },
cb0a72a6   monkeyhouyi   核查处置优化
380
      async init(id, isDetail, type) {
fcbf44a0   monkeyhouyi   1
381
382
        this.dataForm.id = id || 0;
        this.visible = true;
a28c3616   monkeyhouyi   研判
383
        this.showSuggsetion = false;
541d55ac   monkeyhouyi   优化
384
        this.showarea = false;
d8ed082d   monkeyhouyi   研判页面添加研判按钮校验和详情弹框
385
        this.loading = true;
cb0a72a6   monkeyhouyi   核查处置优化
386
        this.formType = type || '';
b1b3be19   monkeyhouyi   对18号提出需求进行整改
387
        await this.initCommunicationOutOptions();
d8ed082d   monkeyhouyi   研判页面添加研判按钮校验和详情弹框
388
389
390
        await this.getSourceOptions();
        await this.initAreaTypeList();
        await this.getjudgmentClassOptions();
fcbf44a0   monkeyhouyi   1
391
392
393
        this.$nextTick(async () => {
          this.$refs["suggestionForm"].resetFields();
          if (this.dataForm.id) {
fcbf44a0   monkeyhouyi   1
394
395
            let res = await getDetail(this.dataForm.id);
            this.dataForm = res.data;
46bce7e6   monkeyhouyi   10/14号需求完善
396
397
398
399
400
401
402
403
404
            this.dataForm.areaName = dynamicText(
              res.data.areaId,
              this.areaOptions
            );
            this.sourceOptions.length &&
              this.dataForm.reportSource &&
              (this.dataForm.reportSourceName = this.sourceOptions.find(
                (v) => v.Id == this.dataForm.reportSource
              ).FullName);
fcbf44a0   monkeyhouyi   1
405
406
            if (!this.dataForm.obtainEvidence) this.dataForm.obtainEvidence = [];
            if (!this.dataForm.annex) this.dataForm.annex = [];
541d55ac   monkeyhouyi   优化
407
            this.loading = false;
d8ed082d   monkeyhouyi   研判页面添加研判按钮校验和详情弹框
408
409
          } else {
            this.loading = false;
fcbf44a0   monkeyhouyi   1
410
411
412
          }
        });
      },
a28c3616   monkeyhouyi   研判
413
      judgmentClassChange(v) {
46bce7e6   monkeyhouyi   10/14号需求完善
414
415
416
417
418
419
420
        this.suggestionForm.judgmentOpinions = "";
        this.showSuggsetion = Boolean(
          v == "590769458901943557" || v == "590769521820697861"
        ); // 进一步处置,不采纳
        this.showarea = Boolean(
          v == "590769199001896197" || v == "590769458901943557"
        ); // 执法,进一步处置
a28c3616   monkeyhouyi   研判
421
      },
fcbf44a0   monkeyhouyi   1
422
      dataFormSubmit() {
fcbf44a0   monkeyhouyi   1
423
424
        this.$refs["suggestionForm"].validate(async (valid) => {
          if (valid) {
89ab0203   monkeyhouyi   修改个人信息弹框
425
426
427
428
            let obj = {
              ...this.suggestionForm,
              id: this.dataForm.id,
            };
a242b994   monkeyhouyi   附件调试
429
            this.btnLoading = true;
cb0a72a6   monkeyhouyi   核查处置优化
430
431
            let res
            if(this.formType) {
c7155964   monkeyhouyi   1
432
              // 编辑(进修改详情显示,不再进入流程)
cb0a72a6   monkeyhouyi   核查处置优化
433
              res = await UpdateByHandle(obj);
cb0a72a6   monkeyhouyi   核查处置优化
434
435
436
437
            } else {
              // 研判
              res = await disposalSuggestionsAPI(obj);
            }
46bce7e6   monkeyhouyi   10/14号需求完善
438
            if (res.code != 200) return (this.btnLoading = false);
fcbf44a0   monkeyhouyi   1
439
440
441
442
443
444
            this.$message({
              message: res.msg,
              type: "success",
              duration: 1000,
              onClose: () => {
                (this.visible = false), this.$emit("refresh", true);
b61eb1ed   monkeyhouyi   上报线索研判
445
              },
fcbf44a0   monkeyhouyi   1
446
            });
c7155964   monkeyhouyi   1
447
            
fcbf44a0   monkeyhouyi   1
448
449
450
451
452
          }
        });
      },
    },
  };
b61eb1ed   monkeyhouyi   上报线索研判
453
454
  </script>
  <style lang="scss" scoped>
fcbf44a0   monkeyhouyi   1
455
456
457
458
459
  .form_title {
    line-height: 30px;
    padding-left: 40px;
    color: #409eff;
  }
b61eb1ed   monkeyhouyi   上报线索研判
460
  </style>