Blame view

src/views/baseInspectionReport/Form.vue 18.6 KB
c21fb5b0   monkeyhouyi   巡查上报页面
1
  <template>
006cc67a   monkeyhouyi   巡查上报
2
3
4
5
    <el-dialog
      :title="!dataForm.id ? '新建' : isDetail ? '详情' : '编辑'"
      :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>
b1b3be19   monkeyhouyi   对18号提出需求进行整改
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
          <el-col :span="24" v-if="isSHILevel">
            <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>
          </el-col>
          <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>
a242b994   monkeyhouyi   附件调试
214
          <NCC-UploadFz v-model="dataForm.annex" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" disabled/>
73755355   monkeyhouyi   优化
215
        </el-col>
7180000e   monkeyhouyi   优化
216
        <el-col class="form-item" v-if="dataForm.judgmentOpinions">
b1b3be19   monkeyhouyi   对18号提出需求进行整改
217
          <div class="label w-120">处置建议:</div>
7180000e   monkeyhouyi   优化
218
219
220
          <div class="text">{{ dataForm.judgmentOpinions || '--' }}</div>
        </el-col>
        <el-col class="form-item" v-if="dataForm.disposalSuggestions">
b1b3be19   monkeyhouyi   对18号提出需求进行整改
221
          <div class="label w-120">处置结果:</div>
7180000e   monkeyhouyi   优化
222
223
          <div class="text">{{ dataForm.disposalSuggestions || '--' }}</div>
        </el-col>
d8ed082d   monkeyhouyi   研判页面添加研判按钮校验和详情弹框
224
        </el-row>
73755355   monkeyhouyi   优化
225
      </el-row>
006cc67a   monkeyhouyi   巡查上报
226
227
      <span slot="footer" class="dialog-footer">
        <el-button @click="visible = false">取 消</el-button>
94f06e38   monkeyhouyi   优化
228
        <el-button type="primary" @click="dataFormSubmit()" v-if="!isDetail" :loading="btnLoading">确 定</el-button>
006cc67a   monkeyhouyi   巡查上报
229
230
      </span>
    </el-dialog>
c21fb5b0   monkeyhouyi   巡查上报页面
231
232
  </template>
  <script>
006cc67a   monkeyhouyi   巡查上报
233
234
235
  import request from "@/utils/request";
  import { getDictionaryDataSelector } from "@/api/systemData/dictionary";
  import { getDetail, addForm, updataForm } from "@/api/systemData/dataInterface";
a2d1a53f   monkeyhouyi   提交
236
  import { MediaPlatList } from "@/assets/data"
fcbf44a0   monkeyhouyi   1
237
  import { getInfoList } from "@/api/baseData/info";
006cc67a   monkeyhouyi   巡查上报
238
239
240
241
242
243
244
  export default {
    components: {},
    props: [],
    data() {
      return {
        loading: false,
        visible: false,
fcbf44a0   monkeyhouyi   1
245
        name_loading: false,
006cc67a   monkeyhouyi   巡查上报
246
        isDetail: false,
541d55ac   monkeyhouyi   优化
247
        form_loading: true,
006cc67a   monkeyhouyi   巡查上报
248
        dataForm: {
006cc67a   monkeyhouyi   巡查上报
249
          id: undefined,
94f06e38   monkeyhouyi   优化
250
          reportSource: undefined,
a242b994   monkeyhouyi   附件调试
251
252
253
          platformNameStr: undefined,
          platformTypeStr: undefined,
          companyStr: undefined,
ff36c85d   monkeyhouyi   1
254
255
          platformName: '',
          selfMediaPlatformType: '',
006cc67a   monkeyhouyi   巡查上报
256
257
258
259
260
          platformType: undefined,
          questionType: undefined,
          questionClass: undefined,
          questionContent: undefined,
          link: undefined,
fcbf44a0   monkeyhouyi   1
261
262
          accurateDescription: undefined,
          incorrectDescription: undefined,
006cc67a   monkeyhouyi   巡查上报
263
          annex: [],
a2d1a53f   monkeyhouyi   提交
264
265
          otherQuestionType: undefined,
          selfMediaPlatformTypeOther: undefined,
94f06e38   monkeyhouyi   优化
266
          company: undefined,
d8ed082d   monkeyhouyi   研判页面添加研判按钮校验和详情弹框
267
          reportSourceName: undefined,
b1b3be19   monkeyhouyi   对18号提出需求进行整改
268
269
          judgmentOpinions: undefined,
          disposalSuggestions: undefined,
006cc67a   monkeyhouyi   巡查上报
270
        },
93186f57   monkeyhouyi   前端整改页面
271
        rules: {
ff36c85d   monkeyhouyi   1
272
          platformName: [
94f06e38   monkeyhouyi   优化
273
274
275
276
            { required: true, message: "请选择应用名称", trigger: "blur" },
          ],
          company: [
            { required: true, message: "请选择运营主体", trigger: "blur" },
ff36c85d   monkeyhouyi   1
277
          ],
93186f57   monkeyhouyi   前端整改页面
278
          platformType: [
94f06e38   monkeyhouyi   优化
279
            { required: true, message: "请选择应用类型", trigger: "blur" },
93186f57   monkeyhouyi   前端整改页面
280
281
          ],
          questionType: [
ff36c85d   monkeyhouyi   1
282
            { required: true, message: "请选择问题类型", trigger: "blur" },
93186f57   monkeyhouyi   前端整改页面
283
          ],
ff36c85d   monkeyhouyi   1
284
285
286
          // otherQuestionType: [
          //   { required: true, message: "请输入其他问题类型", trigger: "blur" },
          // ],
93186f57   monkeyhouyi   前端整改页面
287
        },
ff36c85d   monkeyhouyi   1
288
        sourceOptions: [],
006cc67a   monkeyhouyi   巡查上报
289
290
        platformTypeOptions: [],
        questionTypeOptions: [],
fcbf44a0   monkeyhouyi   1
291
        nameOptions: [],
a2d1a53f   monkeyhouyi   提交
292
        mediaPlatList: MediaPlatList,
94f06e38   monkeyhouyi   优化
293
294
        companyOptions: [],
        btnLoading: false,
006cc67a   monkeyhouyi   巡查上报
295
296
      };
    },
ff36c85d   monkeyhouyi   1
297
298
299
300
301
    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号提出需求进行整改
302
303
304
305
306
      },
      isSHILevel() {
        // 判断角色是否为‘市级办公室’
        return this.$store.state.user.islader;
      },
ff36c85d   monkeyhouyi   1
307
    },
006cc67a   monkeyhouyi   巡查上报
308
    watch: {},
541d55ac   monkeyhouyi   优化
309
    created() {},
006cc67a   monkeyhouyi   巡查上报
310
311
    mounted() {},
    methods: {
7180000e   monkeyhouyi   优化
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
      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   对接接口优化
329
330
        // this.name_loading = true
        // this.name_loading = false;
7180000e   monkeyhouyi   优化
331
      },
94f06e38   monkeyhouyi   优化
332
333
334
335
336
337
338
339
      async initCompanyList() {
        request({
          url: `/Extend/basecomapnyinfo/GetNoPagingList`,
          method: "GET",
        }).then(({data}) => {
          this.companyOptions = data;
        })
      },
ff36c85d   monkeyhouyi   1
340
341
342
343
344
345
346
347
      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
348
        this.dataForm.platformName = obj ? obj.id : val;
7180000e   monkeyhouyi   优化
349
350
351
352
353
354
355
356
357
        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
358
359
360
361
362
363
      },
      visibleNameChange(val) {
        if (val) return
        let input = this.$refs.select.$children[0].$refs.input;
        input.blur();
      },
df22ed7d   monkeyhouyi   运营主体可手动输入
364
365
366
367
368
369
370
  
      // 运营主体改变
      selectCompanyBlur(e) {
        let value = e.target.value;
        if(!value) return;
        this.dataForm.company = e.target.value;
      },
6cd34f81   monkeyhouyi   对接接口优化
371
372
373
374
375
376
377
378
379
380
381
382
383
384
      async companyChange(val, type) {
        let obj = this.companyOptions.find(v => val == v.id);
        obj && await request({
          url: `/Extend/basesysteminfo/GetNoPagingList`,
          method: "GET",
          params: { company: val }
        }).then(({data}) => {
          if(!data) return;
          this.nameOptions = data;
        });
        !obj && this.nameOptions == [];
        this.dataForm.platformName = '';
        this.dataForm.platformType = '';
      },
df22ed7d   monkeyhouyi   运营主体可手动输入
385
386
387
388
389
      visibleNameCompanyChange(val) {
        if (val) return
        let input = this.$refs.companySelect.$children[0].$refs.input;
        input.blur();
      },
ff36c85d   monkeyhouyi   1
390
      loadList() {
fcbf44a0   monkeyhouyi   1
391
        this.name_loading = true;
ff36c85d   monkeyhouyi   1
392
393
394
395
396
        request({
          url: `/Extend/basesysteminfo/GetNoPagingList`,
          method: "GET",
        }).then(({data}) => {
          this.nameOptions = data;
fcbf44a0   monkeyhouyi   1
397
          this.name_loading = false;
ff36c85d   monkeyhouyi   1
398
        })
fcbf44a0   monkeyhouyi   1
399
      },
006cc67a   monkeyhouyi   巡查上报
400
401
      async getplatformTypeOptions() {
        let list = this.$store.state.meta.system;
ff36c85d   monkeyhouyi   1
402
        !list && (list = await this.$store.dispatch("getTypeListByCode", "system"));
006cc67a   monkeyhouyi   巡查上报
403
404
        this.platformTypeOptions = list;
      },
61009cfc   monkeyhouyi   2024/8/8
405
      async getSourceOptions() {
541d55ac   monkeyhouyi   优化
406
        let { data } = await request({
61009cfc   monkeyhouyi   2024/8/8
407
408
          url: `/Extend/baseinspectionreport/GetReportSourceList`,
          method: "GET",
541d55ac   monkeyhouyi   优化
409
410
        });
        this.sourceOptions = data;
61009cfc   monkeyhouyi   2024/8/8
411
      },
541d55ac   monkeyhouyi   优化
412
      async getquestionTypeOptions() {
006cc67a   monkeyhouyi   巡查上报
413
        getDictionaryDataSelector("577006814432855301").then((res) => {
ff36c85d   monkeyhouyi   1
414
          this.questionTypeOptions = [...res.data.list, {Id: '0', fullName: '其他'}];
006cc67a   monkeyhouyi   巡查上报
415
416
417
418
419
        });
      },
      goBack() {
        this.$emit("refresh");
      },
541d55ac   monkeyhouyi   优化
420
      async init(id, isDetail) {
ff36c85d   monkeyhouyi   1
421
        this.dataForm.id = id || '';
006cc67a   monkeyhouyi   巡查上报
422
        this.visible = true;
006cc67a   monkeyhouyi   巡查上报
423
        this.isDetail = isDetail || false;
541d55ac   monkeyhouyi   优化
424
        this.form_loading = true;
7180000e   monkeyhouyi   优化
425
        await this.initAllList();
006cc67a   monkeyhouyi   巡查上报
426
        this.$nextTick(async () => {
73755355   monkeyhouyi   优化
427
          !isDetail && this.$refs["elForm"].resetFields();
006cc67a   monkeyhouyi   巡查上报
428
          if (this.dataForm.id) {
541d55ac   monkeyhouyi   优化
429
            this.form_loading = true;
006cc67a   monkeyhouyi   巡查上报
430
            let res = await getDetail(this.dataForm.id);
541d55ac   monkeyhouyi   优化
431
            if(res.code != 200) return this.form_loading = false;
73755355   monkeyhouyi   优化
432
            if(!res.data) return;
006cc67a   monkeyhouyi   巡查上报
433
            this.dataForm = res.data;
d8ed082d   monkeyhouyi   研判页面添加研判按钮校验和详情弹框
434
            this.sourceOptions.length && this.dataForm.reportSource && (this.dataForm.reportSourceName = this.sourceOptions.find(v => v.Id == this.dataForm.reportSource).FullName);
fcbf44a0   monkeyhouyi   1
435
436
437
438
            if(this.questionTypeOptions.findIndex(v => v.fullName == this.dataForm.questionType) == -1) {
              this.dataForm.otherQuestionType = res.data.questionType;
              this.dataForm.questionType = '其他';
            }
ff36c85d   monkeyhouyi   1
439
            this.dataForm.selfMediaPlatformType = res.data.selfMediaPlatformType || '--';
541d55ac   monkeyhouyi   优化
440
441
442
            this.form_loading = false;
          } else {
            this.form_loading = false;
006cc67a   monkeyhouyi   巡查上报
443
444
445
          }
        });
      },
006cc67a   monkeyhouyi   巡查上报
446
447
448
      dataFormSubmit() {
        this.$refs["elForm"].validate(async (valid) => {
          if (valid) {
ff36c85d   monkeyhouyi   1
449
450
451
            let obj = {
              ...this.dataForm,
              questionType: this.dataForm.questionType == '其他' ? this.dataForm.otherQuestionType : this.dataForm.questionType,
541d55ac   monkeyhouyi   优化
452
              selfMediaPlatformType: this.dataForm.selfMediaPlatformType == '其他' ? this.dataForm.selfMediaPlatformTypeOther : this.dataForm.selfMediaPlatformType,
ff36c85d   monkeyhouyi   1
453
            }
94f06e38   monkeyhouyi   优化
454
            this.btnLoading = true;
b1b3be19   monkeyhouyi   对18号提出需求进行整改
455
456
457
458
459
460
461
462
463
464
465
466
467
            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   巡查上报
468
469
470
471
472
          }
        });
      },
    },
  };
c21fb5b0   monkeyhouyi   巡查上报页面
473
  </script>
ff36c85d   monkeyhouyi   1
474
475
476
477
478
479
480
  <style lang="scss" scoped>
  .baseInspectionReportForm {
    :deep(.el-radio) {
      margin: 0 30px 8px 0;
    }
  }
  </style>