Blame view

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