Blame view

src/views/baseInspectionReport/Form.vue 21 KB
c21fb5b0   monkeyhouyi   巡查上报页面
1
  <template>
006cc67a   monkeyhouyi   巡查上报
2
    <el-dialog
8994407e   monkeyhouyi   优化
3
      :title="!dataForm.id ? '新增' : isDetail ? '详情' : '编辑'"
006cc67a   monkeyhouyi   巡查上报
4
5
      :close-on-click-modal="false"
      :visible.sync="visible"
541d55ac   monkeyhouyi   优化
6
      class="NCC-dialog NCC-dialog_center dialog-box baseInspectionReportForm"
006cc67a   monkeyhouyi   巡查上报
7
      lock-scroll
ff36c85d   monkeyhouyi   1
8
      width="50%"
73755355   monkeyhouyi   优化
9
      :modal="false"
006cc67a   monkeyhouyi   巡查上报
10
    >
d8ed082d   monkeyhouyi   研判页面添加研判按钮校验和详情弹框
11
12
13
      <el-row v-loading="form_loading">
        <el-row :gutter="15" class="NCC-dialog-content" v-if="!isDetail">
          <el-form
006cc67a   monkeyhouyi   巡查上报
14
15
16
17
18
19
20
21
          ref="elForm"
          :model="dataForm"
          size="small"
          label-width="100px"
          label-position="right"
          :disabled="!!isDetail"
          :rules="rules"
        >
b1b3be19   monkeyhouyi   对18号提出需求进行整改
22
          <el-col :span="24" v-if="false">
006cc67a   monkeyhouyi   巡查上报
23
            <el-form-item label="主键" prop="id">
ff36c85d   monkeyhouyi   1
24
              <el-input v-model="dataForm.id" placeholder="请输入" clearable :style="{ width: '100%' }"></el-input>
006cc67a   monkeyhouyi   巡查上报
25
26
            </el-form-item>
          </el-col>
b1b3be19   monkeyhouyi   对18号提出需求进行整改
27
          <el-col :span="24">
94f06e38   monkeyhouyi   优化
28
29
            <el-form-item label="问题来源" prop="reportSource">
              <el-radio-group v-model="dataForm.reportSource">
ff36c85d   monkeyhouyi   1
30
                <el-radio v-for="(item, index) in sourceOptions" :key="index" :label="item.Id">{{ item.FullName }}</el-radio>
61009cfc   monkeyhouyi   2024/8/8
31
              </el-radio-group>
93186f57   monkeyhouyi   前端整改页面
32
33
            </el-form-item>
          </el-col>
b1b3be19   monkeyhouyi   对18号提出需求进行整改
34
          <el-col :span="24">
94f06e38   monkeyhouyi   优化
35
36
            <el-form-item label="运营主体" prop="company">
              <el-select
df22ed7d   monkeyhouyi   运营主体可手动输入
37
                ref="companySelect"
94f06e38   monkeyhouyi   优化
38
39
40
41
42
                v-model="dataForm.company"
                placeholder="请选择运营主体"
                clearable
                filterable 
                style="width: 100%"
df22ed7d   monkeyhouyi   运营主体可手动输入
43
44
                @blur.native.capture="selectCompanyBlur"
                @visible-change="visibleNameCompanyChange"
6cd34f81   monkeyhouyi   对接接口优化
45
46
                @change="(val) => companyChange(val, 'change')"
                :disabled='!!this.dataForm.id'
94f06e38   monkeyhouyi   优化
47
48
49
50
51
52
53
54
55
56
57
              >
                <el-option
                  v-for="item in companyOptions"
                  :key="item.id"
                  :label="item.companyName"
                  :value="item.id"
                >
                </el-option>
              </el-select>
            </el-form-item>
          </el-col>
b1b3be19   monkeyhouyi   对18号提出需求进行整改
58
          <el-col :span="24">
6cd34f81   monkeyhouyi   对接接口优化
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
            <el-form-item label="应用名称" prop="platformName">
              <el-select
                ref="select"
                v-model="dataForm.platformName"
                filterable
                remote
                reserve-keyword
                placeholder="请输入应用名称"
                @blur.native.capture="selectBlur"
                @visible-change="visibleNameChange"
                @change="(val) => platformNameChange(val, 'change')"
                :loading="name_loading"
                :disabled="!!this.dataForm.id || !dataForm.company">
                <el-option v-for="item in nameOptions" :key="item.id" :label="item.systemName" :value="item.id"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="24">
73755355   monkeyhouyi   优化
77
            <el-form-item label="应用类型" prop="platformType">
6cd34f81   monkeyhouyi   对接接口优化
78
              <el-radio-group v-model="dataForm.platformType" :disabled='!!this.dataForm.id'>
ff36c85d   monkeyhouyi   1
79
                <el-radio v-for="(item, index) in platformTypeOptions" :key="index" :label="item.Id">{{ item.FullName }}</el-radio>
93186f57   monkeyhouyi   前端整改页面
80
              </el-radio-group>
006cc67a   monkeyhouyi   巡查上报
81
82
            </el-form-item>
          </el-col>
b1b3be19   monkeyhouyi   对18号提出需求进行整改
83
          <el-col :span="24" v-show="dataForm.platformType == '580634746028033285'">
ff36c85d   monkeyhouyi   1
84
            <el-form-item label="归属平台" prop="selfMediaPlatformType">
a2d1a53f   monkeyhouyi   提交
85
86
87
88
89
              <el-radio-group v-model="dataForm.selfMediaPlatformType" :disabled="!!this.dataForm.id">
                <el-radio v-for="(item, index) in mediaPlatList" :key="index" :label="item" >{{ item }}</el-radio>
              </el-radio-group>
            </el-form-item>
          </el-col>
b1b3be19   monkeyhouyi   对18号提出需求进行整改
90
          <el-col :span="24" v-show="dataForm.selfMediaPlatformType == '其他'">
a2d1a53f   monkeyhouyi   提交
91
92
            <el-form-item label="其他归属平台" prop="selfMediaPlatformTypeOther">
              <el-input v-model="dataForm.selfMediaPlatformTypeOther" placeholder="请输入其他归属平台" clearable :style="{ width: '100%' }" />
ff36c85d   monkeyhouyi   1
93
94
            </el-form-item>
          </el-col>
b1b3be19   monkeyhouyi   对18号提出需求进行整改
95
          <el-col :span="24">
006cc67a   monkeyhouyi   巡查上报
96
            <el-form-item label="问题类型" prop="questionType">
ff36c85d   monkeyhouyi   1
97
98
              <el-radio-group v-model="dataForm.questionType">
                <el-radio v-for="(item, index) in questionTypeOptions" :key="index" :label="item.fullName" >{{ item.fullName }}</el-radio>
006cc67a   monkeyhouyi   巡查上报
99
100
101
              </el-radio-group>
            </el-form-item>
          </el-col>
b1b3be19   monkeyhouyi   对18号提出需求进行整改
102
          <el-col :span="24" v-show="dataForm.questionType == '其他'">
ff36c85d   monkeyhouyi   1
103
104
105
106
            <el-form-item label="其他问题类型" prop="otherQuestionType">
              <el-input v-model="dataForm.otherQuestionType" placeholder="请输入其他问题类型" clearable :style="{ width: '100%' }" />
            </el-form-item>
          </el-col>
b1b3be19   monkeyhouyi   对18号提出需求进行整改
107
          <el-col :span="24" v-show="dataForm.questionType == '错误表述'">
ff36c85d   monkeyhouyi   1
108
109
110
111
            <el-form-item label="正确描述" prop="accurateDescription">
              <el-input v-model="dataForm.accurateDescription" placeholder="请输入正确描述" clearable :style="{ width: '100%' }"></el-input>
            </el-form-item>
          </el-col>
b1b3be19   monkeyhouyi   对18号提出需求进行整改
112
          <el-col :span="24" v-show="dataForm.questionType == '错误表述'">
ff36c85d   monkeyhouyi   1
113
114
115
116
            <el-form-item label="错误描述" prop="incorrectDescription">
              <el-input v-model="dataForm.incorrectDescription" placeholder="请输入错误描述" clearable :style="{ width: '100%' }"></el-input>
            </el-form-item>
          </el-col>
b1b3be19   monkeyhouyi   对18号提出需求进行整改
117
          <el-col :span="24">
006cc67a   monkeyhouyi   巡查上报
118
            <el-form-item label="问题内容" prop="questionContent">
ff36c85d   monkeyhouyi   1
119
              <el-input v-model="dataForm.questionContent" placeholder="请输入" show-word-limit :style="{ width: '100%' }" type="textarea" :autosize="{ minRows: 4, maxRows: 4 }" />
006cc67a   monkeyhouyi   巡查上报
120
121
            </el-form-item>
          </el-col>
b1b3be19   monkeyhouyi   对18号提出需求进行整改
122
          <el-col :span="24">
ff36c85d   monkeyhouyi   1
123
124
            <el-form-item label="链接" prop="link">
              <el-input v-model="dataForm.link" placeholder="请输入链接" clearable :style="{ width: '100%' }"></el-input>
006cc67a   monkeyhouyi   巡查上报
125
            </el-form-item>
b1b3be19   monkeyhouyi   对18号提出需求进行整改
126
127
          </el-col>
          <el-col :span="24">
61009cfc   monkeyhouyi   2024/8/8
128
            <el-form-item label="关键词" prop="questionClass">
ff36c85d   monkeyhouyi   1
129
              <el-input v-model="dataForm.questionClass" placeholder="请输入关键词" clearable :style="{ width: '100%' }"></el-input>
61009cfc   monkeyhouyi   2024/8/8
130
131
            </el-form-item>
          </el-col>
cb0a72a6   monkeyhouyi   核查处置优化
132
          <!-- <el-col :span="24" v-if="isSHILevel">
b1b3be19   monkeyhouyi   对18号提出需求进行整改
133
134
135
136
137
138
139
140
141
142
143
144
            <el-form-item label="处置建议" prop="judgmentOpinions">
              <el-input
                v-model="dataForm.judgmentOpinions"
                placeholder="请输入处置建议"
                show-word-limit
                :style="{ width: '100%' }"
                type="textarea"
                :autosize="{ minRows: 4, maxRows: 4 }"
                maxlength="200"
              >
              </el-input>
            </el-form-item>
cb0a72a6   monkeyhouyi   核查处置优化
145
          </el-col> -->
b1b3be19   monkeyhouyi   对18号提出需求进行整改
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
          <el-col :span="24" v-if="!isSHILevel">
            <el-form-item label="处置结果" prop="disposalSuggestions">
              <el-input
                v-model="dataForm.disposalSuggestions"
                placeholder="请输入处置结果"
                show-word-limit
                :style="{ width: '100%' }"
                type="textarea"
                :autosize="{ minRows: 4, maxRows: 4 }"
                maxlength="200"
              >
              </el-input>
            </el-form-item>
          </el-col>
          <el-col :span="24">
94f06e38   monkeyhouyi   优化
161
162
            <el-form-item label="附件" prop="annex">
              <NCC-UploadFz v-model="dataForm.annex" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" />
006cc67a   monkeyhouyi   巡查上报
163
164
            </el-form-item>
          </el-col>
d8ed082d   monkeyhouyi   研判页面添加研判按钮校验和详情弹框
165
166
167
          </el-form>
        </el-row>
        <el-row v-else>
73755355   monkeyhouyi   优化
168
        <el-col class="form-item">
4755ec66   monkeyhouyi   1
169
          <div class="label w-120">问题来源:</div>
d8ed082d   monkeyhouyi   研判页面添加研判按钮校验和详情弹框
170
          <div class="text">{{ dataForm.reportSourceName || '--' }}</div>
73755355   monkeyhouyi   优化
171
172
        </el-col>
        <el-col class="form-item">
4755ec66   monkeyhouyi   1
173
          <div class="label w-120">应用名称:</div>
a242b994   monkeyhouyi   附件调试
174
          <div class="text">{{ dataForm.platformNameStr || '--' }}</div>
73755355   monkeyhouyi   优化
175
176
        </el-col>
        <el-col class="form-item">
4755ec66   monkeyhouyi   1
177
          <div class="label w-120">运营主体:</div>
a242b994   monkeyhouyi   附件调试
178
          <div class="text">{{ dataForm.companyStr || '--' }}</div>
94f06e38   monkeyhouyi   优化
179
180
        </el-col>
        <el-col class="form-item">
4755ec66   monkeyhouyi   1
181
          <div class="label w-120">应用类型:</div>
a242b994   monkeyhouyi   附件调试
182
          <div class="text">{{ dataForm.platformTypeStr || '--' }}</div>
73755355   monkeyhouyi   优化
183
        </el-col>
a242b994   monkeyhouyi   附件调试
184
        <el-col class="form-item" v-if="dataForm.platformType == '580634746028033285'">
4755ec66   monkeyhouyi   1
185
          <div class="label w-120">归属平台:</div>
73755355   monkeyhouyi   优化
186
187
188
          <div class="text">{{ dataForm.selfMediaPlatformType || '--' }}</div>
        </el-col>
        <el-col class="form-item">
4755ec66   monkeyhouyi   1
189
          <div class="label w-120">问题类型:</div>
73755355   monkeyhouyi   优化
190
191
192
          <div class="text">{{ dataForm.questionType || '--' }}</div>
        </el-col>
        <el-col class="form-item" v-show="dataForm.questionType == '错误表述'">
4755ec66   monkeyhouyi   1
193
          <div class="label w-120">正确描述:</div>
73755355   monkeyhouyi   优化
194
195
196
          <div class="text">{{ dataForm.accurateDescription || '--' }}</div>
        </el-col>
        <el-col class="form-item" v-show="dataForm.questionType == '错误表述'">
4755ec66   monkeyhouyi   1
197
          <div class="label w-120">错误描述:</div>
73755355   monkeyhouyi   优化
198
199
200
          <div class="text">{{ dataForm.incorrectDescription || '--' }}</div>
        </el-col>
        <el-col class="form-item">
4755ec66   monkeyhouyi   1
201
          <div class="label w-120">问题内容:</div>
73755355   monkeyhouyi   优化
202
203
204
          <div class="text">{{ dataForm.questionContent || '--' }}</div>
        </el-col>
        <el-col class="form-item">
b1b3be19   monkeyhouyi   对18号提出需求进行整改
205
206
207
208
          <div class="label w-120">链接:</div>
          <div class="text">{{ dataForm.link || '--' }}</div>
        </el-col>
        <el-col class="form-item">
4755ec66   monkeyhouyi   1
209
          <div class="label w-120">关键词:</div>
73755355   monkeyhouyi   优化
210
211
212
          <div class="text">{{ dataForm.questionClass || '--' }}</div>
        </el-col>
        <el-col class="form-item">
4755ec66   monkeyhouyi   1
213
          <div class="label w-120">附件:</div>
6143a919   monkeyhouyi   研判附件
214
215
216
          <div class="text" style="width: calc(100% - 120px);">
            <NCC-UploadFz v-model="dataForm.annex" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" disabled/>
          </div>
73755355   monkeyhouyi   优化
217
        </el-col>
46bce7e6   monkeyhouyi   10/14号需求完善
218
219
220
221
222
223
224
225
226
227
228
229
230
        <!-- 研判类型 -->
        <el-col class="form-item">
          <div class="label w-120">研判类型:</div>
          <div class="text">{{ dataForm.state || "--" }}</div>
        </el-col>
        <el-col class="form-item">
          <div class="label w-120">所属区域:</div>
          <div class="text">{{ dataForm.areaName || "--" }}</div>
        </el-col>
        <el-col class="form-item" v-if="dataForm.externalAssistanceId">
          <div class="label w-120">所属外协:</div>
          <div class="text">外协一</div>
        </el-col>
cb0a72a6   monkeyhouyi   核查处置优化
231
232
233
234
235
236
237
238
239
240
        <el-col 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>
          <div class="form-item">
            <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>
          </div>
7180000e   monkeyhouyi   优化
241
        </el-col>
cb0a72a6   monkeyhouyi   核查处置优化
242
243
244
245
246
247
248
249
250
251
252
        <el-col v-for="(v, i) in dataForm.disposalSuggestions" :key="i" style="border: #f6f6f6 solid 1px; border-radius: 10px; padding: 8px; margin-bottom: 5px;">
          <div class="title">处置信息{{ i + 1 }}</div>
          <div class="form-item">
            <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号需求完善
253
254
          </div>
        </el-col>
d8ed082d   monkeyhouyi   研判页面添加研判按钮校验和详情弹框
255
        </el-row>
73755355   monkeyhouyi   优化
256
      </el-row>
006cc67a   monkeyhouyi   巡查上报
257
258
      <span slot="footer" class="dialog-footer">
        <el-button @click="visible = false">取 消</el-button>
94f06e38   monkeyhouyi   优化
259
        <el-button type="primary" @click="dataFormSubmit()" v-if="!isDetail" :loading="btnLoading">确 定</el-button>
006cc67a   monkeyhouyi   巡查上报
260
261
      </span>
    </el-dialog>
c21fb5b0   monkeyhouyi   巡查上报页面
262
263
  </template>
  <script>
006cc67a   monkeyhouyi   巡查上报
264
265
266
  import request from "@/utils/request";
  import { getDictionaryDataSelector } from "@/api/systemData/dictionary";
  import { getDetail, addForm, updataForm } from "@/api/systemData/dataInterface";
46bce7e6   monkeyhouyi   10/14号需求完善
267
268
  import { dynamicText } from "@/filters/index";
  import infoMixin from "@/mixins/info";
a2d1a53f   monkeyhouyi   提交
269
  import { MediaPlatList } from "@/assets/data"
fcbf44a0   monkeyhouyi   1
270
  import { getInfoList } from "@/api/baseData/info";
006cc67a   monkeyhouyi   巡查上报
271
272
  export default {
    components: {},
46bce7e6   monkeyhouyi   10/14号需求完善
273
    mixins: [infoMixin], 
006cc67a   monkeyhouyi   巡查上报
274
275
276
277
278
    props: [],
    data() {
      return {
        loading: false,
        visible: false,
fcbf44a0   monkeyhouyi   1
279
        name_loading: false,
006cc67a   monkeyhouyi   巡查上报
280
        isDetail: false,
541d55ac   monkeyhouyi   优化
281
        form_loading: true,
006cc67a   monkeyhouyi   巡查上报
282
        dataForm: {
006cc67a   monkeyhouyi   巡查上报
283
          id: undefined,
94f06e38   monkeyhouyi   优化
284
          reportSource: undefined,
a242b994   monkeyhouyi   附件调试
285
286
287
          platformNameStr: undefined,
          platformTypeStr: undefined,
          companyStr: undefined,
ff36c85d   monkeyhouyi   1
288
289
          platformName: '',
          selfMediaPlatformType: '',
006cc67a   monkeyhouyi   巡查上报
290
291
292
293
294
          platformType: undefined,
          questionType: undefined,
          questionClass: undefined,
          questionContent: undefined,
          link: undefined,
fcbf44a0   monkeyhouyi   1
295
296
          accurateDescription: undefined,
          incorrectDescription: undefined,
006cc67a   monkeyhouyi   巡查上报
297
          annex: [],
a2d1a53f   monkeyhouyi   提交
298
299
          otherQuestionType: undefined,
          selfMediaPlatformTypeOther: undefined,
94f06e38   monkeyhouyi   优化
300
          company: undefined,
d8ed082d   monkeyhouyi   研判页面添加研判按钮校验和详情弹框
301
          reportSourceName: undefined,
b1b3be19   monkeyhouyi   对18号提出需求进行整改
302
303
          judgmentOpinions: undefined,
          disposalSuggestions: undefined,
006cc67a   monkeyhouyi   巡查上报
304
        },
93186f57   monkeyhouyi   前端整改页面
305
        rules: {
ff36c85d   monkeyhouyi   1
306
          platformName: [
94f06e38   monkeyhouyi   优化
307
308
309
310
            { required: true, message: "请选择应用名称", trigger: "blur" },
          ],
          company: [
            { required: true, message: "请选择运营主体", trigger: "blur" },
ff36c85d   monkeyhouyi   1
311
          ],
93186f57   monkeyhouyi   前端整改页面
312
          platformType: [
94f06e38   monkeyhouyi   优化
313
            { required: true, message: "请选择应用类型", trigger: "blur" },
93186f57   monkeyhouyi   前端整改页面
314
315
          ],
          questionType: [
ff36c85d   monkeyhouyi   1
316
            { required: true, message: "请选择问题类型", trigger: "blur" },
93186f57   monkeyhouyi   前端整改页面
317
          ],
cb0a72a6   monkeyhouyi   核查处置优化
318
319
320
          disposalSuggestions: [
            { required: true, message: "请填写处置结果", trigger: "blur" },
          ],
ff36c85d   monkeyhouyi   1
321
322
323
          // otherQuestionType: [
          //   { required: true, message: "请输入其他问题类型", trigger: "blur" },
          // ],
93186f57   monkeyhouyi   前端整改页面
324
        },
ff36c85d   monkeyhouyi   1
325
        sourceOptions: [],
006cc67a   monkeyhouyi   巡查上报
326
327
        platformTypeOptions: [],
        questionTypeOptions: [],
46bce7e6   monkeyhouyi   10/14号需求完善
328
        nameOptions: [], // 应用名称
a2d1a53f   monkeyhouyi   提交
329
        mediaPlatList: MediaPlatList,
94f06e38   monkeyhouyi   优化
330
331
        companyOptions: [],
        btnLoading: false,
46bce7e6   monkeyhouyi   10/14号需求完善
332
        areaOptions: [],
006cc67a   monkeyhouyi   巡查上报
333
334
      };
    },
ff36c85d   monkeyhouyi   1
335
336
337
338
339
    computed: {
      isDisabledTypeByName() {
        if(!this.nameOptions.length) return false;
        let index = this.nameOptions.findIndex(v => v.id == this.dataForm.platformName);
        return index != -1;
b1b3be19   monkeyhouyi   对18号提出需求进行整改
340
341
342
343
344
      },
      isSHILevel() {
        // 判断角色是否为‘市级办公室’
        return this.$store.state.user.islader;
      },
ff36c85d   monkeyhouyi   1
345
    },
006cc67a   monkeyhouyi   巡查上报
346
    watch: {},
541d55ac   monkeyhouyi   优化
347
    created() {},
006cc67a   monkeyhouyi   巡查上报
348
349
    mounted() {},
    methods: {
7180000e   monkeyhouyi   优化
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
      async initAllList() {
        let companyRes = await request({
          url: `/Extend/basecomapnyinfo/GetNoPagingList`,
          method: "GET",
        });
        this.companyOptions = companyRes.data;
        let SourceRes = await request({
          url: `/Extend/baseinspectionreport/GetReportSourceList`,
          method: "GET",
        });
        this.sourceOptions = SourceRes.data;
        let list = this.$store.state.meta.system;
        !list && (list = await this.$store.dispatch("getTypeListByCode", "system"));
        this.platformTypeOptions = list;
        await getDictionaryDataSelector("577006814432855301").then((res) => {
          this.questionTypeOptions = [...res.data.list, {Id: '0', fullName: '其他'}];
        });
6cd34f81   monkeyhouyi   对接接口优化
367
368
        // this.name_loading = true
        // this.name_loading = false;
7180000e   monkeyhouyi   优化
369
      },
94f06e38   monkeyhouyi   优化
370
371
372
373
374
375
376
377
      async initCompanyList() {
        request({
          url: `/Extend/basecomapnyinfo/GetNoPagingList`,
          method: "GET",
        }).then(({data}) => {
          this.companyOptions = data;
        })
      },
ff36c85d   monkeyhouyi   1
378
379
380
381
382
383
384
385
      selectBlur(e) {
        let value = e.target.value;
        if(!value) return;
        this.dataForm.platformName = e.target.value;
        this.platformNameChange(value, 'blur');
      },
      platformNameChange(val, type) {
        let obj = this.nameOptions.find(v => type == 'blur' ? val == v.fullName : val == v.id);
ff36c85d   monkeyhouyi   1
386
        this.dataForm.platformName = obj ? obj.id : val;
7180000e   monkeyhouyi   优化
387
388
389
390
391
392
393
394
395
        this.dataForm.platformType = obj ? this.platformTypeOptions.find(v => v.Id == obj.systemType || v.FullName == obj.systemType).Id : '';
        if(obj && this.dataForm.platformType == '580634746028033285') {
          if(this.mediaPlatList.findIndex(j => j == obj.selfMediaPlatformType) == -1) {
            this.dataForm.selfMediaPlatformType = '其他';
            this.dataForm.selfMediaPlatformTypeOther = obj.selfMediaPlatformType;
          } else {
            this.dataForm.selfMediaPlatformType = obj.selfMediaPlatformType;
          }
        }
ff36c85d   monkeyhouyi   1
396
397
398
399
400
401
      },
      visibleNameChange(val) {
        if (val) return
        let input = this.$refs.select.$children[0].$refs.input;
        input.blur();
      },
df22ed7d   monkeyhouyi   运营主体可手动输入
402
403
404
405
406
407
  
      // 运营主体改变
      selectCompanyBlur(e) {
        let value = e.target.value;
        if(!value) return;
        this.dataForm.company = e.target.value;
142c4a8e   monkeyhouyi   优化
408
        this.companyChange(value, 'blur');
df22ed7d   monkeyhouyi   运营主体可手动输入
409
      },
6cd34f81   monkeyhouyi   对接接口优化
410
411
412
413
414
      async companyChange(val, type) {
        let obj = this.companyOptions.find(v => val == v.id);
        obj && await request({
          url: `/Extend/basesysteminfo/GetNoPagingList`,
          method: "GET",
6bbb60ba   monkeyhouyi   1
415
          params: { companyId: val }
6cd34f81   monkeyhouyi   对接接口优化
416
417
418
419
        }).then(({data}) => {
          if(!data) return;
          this.nameOptions = data;
        });
46bce7e6   monkeyhouyi   10/14号需求完善
420
        if(!type) return;
6cd34f81   monkeyhouyi   对接接口优化
421
422
423
424
        !obj && this.nameOptions == [];
        this.dataForm.platformName = '';
        this.dataForm.platformType = '';
      },
df22ed7d   monkeyhouyi   运营主体可手动输入
425
426
427
428
429
      visibleNameCompanyChange(val) {
        if (val) return
        let input = this.$refs.companySelect.$children[0].$refs.input;
        input.blur();
      },
ff36c85d   monkeyhouyi   1
430
      loadList() {
fcbf44a0   monkeyhouyi   1
431
        this.name_loading = true;
ff36c85d   monkeyhouyi   1
432
433
434
435
436
        request({
          url: `/Extend/basesysteminfo/GetNoPagingList`,
          method: "GET",
        }).then(({data}) => {
          this.nameOptions = data;
fcbf44a0   monkeyhouyi   1
437
          this.name_loading = false;
ff36c85d   monkeyhouyi   1
438
        })
fcbf44a0   monkeyhouyi   1
439
      },
006cc67a   monkeyhouyi   巡查上报
440
441
      async getplatformTypeOptions() {
        let list = this.$store.state.meta.system;
ff36c85d   monkeyhouyi   1
442
        !list && (list = await this.$store.dispatch("getTypeListByCode", "system"));
006cc67a   monkeyhouyi   巡查上报
443
444
        this.platformTypeOptions = list;
      },
61009cfc   monkeyhouyi   2024/8/8
445
      async getSourceOptions() {
541d55ac   monkeyhouyi   优化
446
        let { data } = await request({
61009cfc   monkeyhouyi   2024/8/8
447
448
          url: `/Extend/baseinspectionreport/GetReportSourceList`,
          method: "GET",
541d55ac   monkeyhouyi   优化
449
450
        });
        this.sourceOptions = data;
61009cfc   monkeyhouyi   2024/8/8
451
      },
541d55ac   monkeyhouyi   优化
452
      async getquestionTypeOptions() {
006cc67a   monkeyhouyi   巡查上报
453
        getDictionaryDataSelector("577006814432855301").then((res) => {
ff36c85d   monkeyhouyi   1
454
          this.questionTypeOptions = [...res.data.list, {Id: '0', fullName: '其他'}];
006cc67a   monkeyhouyi   巡查上报
455
456
457
458
459
        });
      },
      goBack() {
        this.$emit("refresh");
      },
541d55ac   monkeyhouyi   优化
460
      async init(id, isDetail) {
ff36c85d   monkeyhouyi   1
461
        this.dataForm.id = id || '';
006cc67a   monkeyhouyi   巡查上报
462
        this.visible = true;
006cc67a   monkeyhouyi   巡查上报
463
        this.isDetail = isDetail || false;
541d55ac   monkeyhouyi   优化
464
        this.form_loading = true;
46bce7e6   monkeyhouyi   10/14号需求完善
465
        await this.initAreaTypeList();
7180000e   monkeyhouyi   优化
466
        await this.initAllList();
006cc67a   monkeyhouyi   巡查上报
467
        this.$nextTick(async () => {
73755355   monkeyhouyi   优化
468
          !isDetail && this.$refs["elForm"].resetFields();
006cc67a   monkeyhouyi   巡查上报
469
          if (this.dataForm.id) {
541d55ac   monkeyhouyi   优化
470
            this.form_loading = true;
006cc67a   monkeyhouyi   巡查上报
471
            let res = await getDetail(this.dataForm.id);
46bce7e6   monkeyhouyi   10/14号需求完善
472
            await this.companyChange(res.data.company, false);
541d55ac   monkeyhouyi   优化
473
            if(res.code != 200) return this.form_loading = false;
73755355   monkeyhouyi   优化
474
            if(!res.data) return;
006cc67a   monkeyhouyi   巡查上报
475
            this.dataForm = res.data;
cb0a72a6   monkeyhouyi   核查处置优化
476
477
478
479
            if(!this.isDetail) {
              let disposalSuggestions = this.dataForm.disposalSuggestions;
              this.dataForm.disposalSuggestions = disposalSuggestions[disposalSuggestions.length - 1].disposalSuggestion;
            }
46bce7e6   monkeyhouyi   10/14号需求完善
480
            res.data.areaId && (this.dataForm.areaName = dynamicText(res.data.areaId, this.areaOptions));
d8ed082d   monkeyhouyi   研判页面添加研判按钮校验和详情弹框
481
            this.sourceOptions.length && this.dataForm.reportSource && (this.dataForm.reportSourceName = this.sourceOptions.find(v => v.Id == this.dataForm.reportSource).FullName);
fcbf44a0   monkeyhouyi   1
482
483
484
485
            if(this.questionTypeOptions.findIndex(v => v.fullName == this.dataForm.questionType) == -1) {
              this.dataForm.otherQuestionType = res.data.questionType;
              this.dataForm.questionType = '其他';
            }
ff36c85d   monkeyhouyi   1
486
            this.dataForm.selfMediaPlatformType = res.data.selfMediaPlatformType || '--';
541d55ac   monkeyhouyi   优化
487
488
489
            this.form_loading = false;
          } else {
            this.form_loading = false;
006cc67a   monkeyhouyi   巡查上报
490
491
492
          }
        });
      },
006cc67a   monkeyhouyi   巡查上报
493
494
495
      dataFormSubmit() {
        this.$refs["elForm"].validate(async (valid) => {
          if (valid) {
ff36c85d   monkeyhouyi   1
496
497
498
            let obj = {
              ...this.dataForm,
              questionType: this.dataForm.questionType == '其他' ? this.dataForm.otherQuestionType : this.dataForm.questionType,
541d55ac   monkeyhouyi   优化
499
              selfMediaPlatformType: this.dataForm.selfMediaPlatformType == '其他' ? this.dataForm.selfMediaPlatformTypeOther : this.dataForm.selfMediaPlatformType,
cb0a72a6   monkeyhouyi   核查处置优化
500
501
502
503
504
505
506
507
              disposalSuggestions: [
                {
                  disposalSuggestion: this.dataForm.disposalSuggestions,
                  fileUrl: '',
                }
              ],
            };
            this.isSHILevel && delete obj.disposalSuggestions;
94f06e38   monkeyhouyi   优化
508
            this.btnLoading = true;
b1b3be19   monkeyhouyi   对18号提出需求进行整改
509
510
511
512
513
514
515
516
517
518
519
520
521
            try {
              let res = !this.dataForm.id ? await addForm(obj) : await updataForm(obj);
              this.$message({
                message: res.msg,
                type: "success",
                duration: 1000,
                onClose: () => {
                  (this.visible = false), this.$emit("refresh", true);
                },
              });
            } catch (error) {
              this.btnLoading = false;
            }
006cc67a   monkeyhouyi   巡查上报
522
523
524
525
526
          }
        });
      },
    },
  };
c21fb5b0   monkeyhouyi   巡查上报页面
527
  </script>
ff36c85d   monkeyhouyi   1
528
529
530
531
532
533
534
  <style lang="scss" scoped>
  .baseInspectionReportForm {
    :deep(.el-radio) {
      margin: 0 30px 8px 0;
    }
  }
  </style>