c21fb5b0
monkeyhouyi
巡查上报页面
|
1
|
<template>
|
006cc67a
monkeyhouyi
巡查上报
|
2
3
4
5
|
<el-dialog
:title="!dataForm.id ? '新建' : isDetail ? '详情' : '编辑'"
:close-on-click-modal="false"
:visible.sync="visible"
|
ff36c85d
monkeyhouyi
1
|
6
|
class="NCC-dialog NCC-dialog_center baseInspectionReportForm"
|
006cc67a
monkeyhouyi
巡查上报
|
7
|
lock-scroll
|
ff36c85d
monkeyhouyi
1
|
8
|
width="50%"
|
006cc67a
monkeyhouyi
巡查上报
|
9
|
>
|
87e6927c
monkeyhouyi
弹框样式
|
10
|
<el-row :gutter="15" class="NCC-dialog-content">
|
006cc67a
monkeyhouyi
巡查上报
|
11
12
13
14
15
16
17
18
19
|
<el-form
ref="elForm"
:model="dataForm"
size="small"
label-width="100px"
label-position="right"
:disabled="!!isDetail"
:rules="rules"
>
|
93186f57
monkeyhouyi
前端整改页面
|
20
|
<el-col :span="23" v-if="false">
|
006cc67a
monkeyhouyi
巡查上报
|
21
|
<el-form-item label="主键" prop="id">
|
ff36c85d
monkeyhouyi
1
|
22
|
<el-input v-model="dataForm.id" placeholder="请输入" clearable :style="{ width: '100%' }"></el-input>
|
006cc67a
monkeyhouyi
巡查上报
|
23
24
|
</el-form-item>
</el-col>
|
93186f57
monkeyhouyi
前端整改页面
|
25
|
<el-col :span="23">
|
fcbf44a0
monkeyhouyi
1
|
26
|
<el-form-item label="问题来源" prop="source">
|
61009cfc
monkeyhouyi
2024/8/8
|
27
|
<el-radio-group v-model="dataForm.source">
|
ff36c85d
monkeyhouyi
1
|
28
|
<el-radio v-for="(item, index) in sourceOptions" :key="index" :label="item.Id">{{ item.FullName }}</el-radio>
|
61009cfc
monkeyhouyi
2024/8/8
|
29
|
</el-radio-group>
|
93186f57
monkeyhouyi
前端整改页面
|
30
31
32
|
</el-form-item>
</el-col>
<el-col :span="23">
|
ff36c85d
monkeyhouyi
1
|
33
|
<el-form-item label="系统名称" prop="platformName">
|
fcbf44a0
monkeyhouyi
1
|
34
|
<el-select
|
ff36c85d
monkeyhouyi
1
|
35
|
ref="select"
|
fcbf44a0
monkeyhouyi
1
|
36
37
38
39
|
v-model="dataForm.platformName"
filterable
remote
reserve-keyword
|
ff36c85d
monkeyhouyi
1
|
40
41
42
43
44
45
46
|
placeholder="请输入系统名称"
@blur.native.capture="selectBlur"
@visible-change="visibleNameChange"
@change="(val) => platformNameChange(val, 'change')"
:loading="name_loading"
:disabled="!!this.dataForm.id">
<el-option v-for="item in nameOptions" :key="item.id" :label="item.systemName" :value="item.id"></el-option>
|
fcbf44a0
monkeyhouyi
1
|
47
|
</el-select>
|
006cc67a
monkeyhouyi
巡查上报
|
48
49
|
</el-form-item>
</el-col>
|
93186f57
monkeyhouyi
前端整改页面
|
50
|
<el-col :span="23">
|
ff36c85d
monkeyhouyi
1
|
51
52
53
|
<el-form-item label="系统类型" prop="platformType">
<el-radio-group v-model="dataForm.platformType" :disabled='isDisabledTypeByName || !!this.dataForm.id'>
<el-radio v-for="(item, index) in platformTypeOptions" :key="index" :label="item.Id">{{ item.FullName }}</el-radio>
|
93186f57
monkeyhouyi
前端整改页面
|
54
|
</el-radio-group>
|
006cc67a
monkeyhouyi
巡查上报
|
55
56
|
</el-form-item>
</el-col>
|
ff36c85d
monkeyhouyi
1
|
57
58
59
60
61
62
|
<el-col :span="23" v-show="dataForm.platformType == '580634746028033285' && !isDisabledTypeByName">
<el-form-item label="归属平台" prop="selfMediaPlatformType">
<el-input v-model="dataForm.selfMediaPlatformType" placeholder="请输入归属平台" clearable :style="{ width: '100%' }" :disabled="!!this.dataForm.id"/>
</el-form-item>
</el-col>
<el-col :span="23">
|
006cc67a
monkeyhouyi
巡查上报
|
63
|
<el-form-item label="问题类型" prop="questionType">
|
ff36c85d
monkeyhouyi
1
|
64
65
|
<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
巡查上报
|
66
67
68
|
</el-radio-group>
</el-form-item>
</el-col>
|
ff36c85d
monkeyhouyi
1
|
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
<el-col :span="23" v-show="dataForm.questionType == '其他'">
<el-form-item label="其他问题类型" prop="otherQuestionType">
<el-input v-model="dataForm.otherQuestionType" placeholder="请输入其他问题类型" clearable :style="{ width: '100%' }" />
</el-form-item>
</el-col>
<el-col :span="23" v-show="dataForm.questionType == '错误表述'">
<el-form-item label="正确描述" prop="accurateDescription">
<el-input v-model="dataForm.accurateDescription" placeholder="请输入正确描述" clearable :style="{ width: '100%' }"></el-input>
</el-form-item>
</el-col>
<el-col :span="23" v-show="dataForm.questionType == '错误表述'">
<el-form-item label="错误描述" prop="incorrectDescription">
<el-input v-model="dataForm.incorrectDescription" placeholder="请输入错误描述" clearable :style="{ width: '100%' }"></el-input>
</el-form-item>
</el-col>
|
93186f57
monkeyhouyi
前端整改页面
|
84
|
<el-col :span="23">
|
006cc67a
monkeyhouyi
巡查上报
|
85
|
<el-form-item label="问题内容" prop="questionContent">
|
ff36c85d
monkeyhouyi
1
|
86
|
<el-input v-model="dataForm.questionContent" placeholder="请输入" show-word-limit :style="{ width: '100%' }" type="textarea" :autosize="{ minRows: 4, maxRows: 4 }" />
|
006cc67a
monkeyhouyi
巡查上报
|
87
88
|
</el-form-item>
</el-col>
|
93186f57
monkeyhouyi
前端整改页面
|
89
|
<el-col :span="23">
|
ff36c85d
monkeyhouyi
1
|
90
91
|
<el-form-item label="链接" prop="link">
<el-input v-model="dataForm.link" placeholder="请输入链接" clearable :style="{ width: '100%' }"></el-input>
|
006cc67a
monkeyhouyi
巡查上报
|
92
93
|
</el-form-item>
</el-col>
|
93186f57
monkeyhouyi
前端整改页面
|
94
|
<el-col :span="23">
|
61009cfc
monkeyhouyi
2024/8/8
|
95
|
<el-form-item label="关键词" prop="questionClass">
|
ff36c85d
monkeyhouyi
1
|
96
|
<el-input v-model="dataForm.questionClass" placeholder="请输入关键词" clearable :style="{ width: '100%' }"></el-input>
|
61009cfc
monkeyhouyi
2024/8/8
|
97
98
99
100
|
</el-form-item>
</el-col>
<el-col :span="23">
<el-form-item label="附件" prop="obtainEvidence">
|
ff36c85d
monkeyhouyi
1
|
101
|
<NCC-UploadFz v-model="dataForm.obtainEvidence" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" />
|
006cc67a
monkeyhouyi
巡查上报
|
102
103
104
105
106
107
|
</el-form-item>
</el-col>
</el-form>
</el-row>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">取 消</el-button>
|
ff36c85d
monkeyhouyi
1
|
108
|
<el-button type="primary" @click="dataFormSubmit()" v-if="!isDetail">确 定</el-button>
|
006cc67a
monkeyhouyi
巡查上报
|
109
110
|
</span>
</el-dialog>
|
c21fb5b0
monkeyhouyi
巡查上报页面
|
111
112
|
</template>
<script>
|
006cc67a
monkeyhouyi
巡查上报
|
113
114
115
|
import request from "@/utils/request";
import { getDictionaryDataSelector } from "@/api/systemData/dictionary";
import { getDetail, addForm, updataForm } from "@/api/systemData/dataInterface";
|
fcbf44a0
monkeyhouyi
1
|
116
|
import { getInfoList } from "@/api/baseData/info";
|
006cc67a
monkeyhouyi
巡查上报
|
117
118
119
120
121
122
123
|
export default {
components: {},
props: [],
data() {
return {
loading: false,
visible: false,
|
fcbf44a0
monkeyhouyi
1
|
124
|
name_loading: false,
|
006cc67a
monkeyhouyi
巡查上报
|
125
126
|
isDetail: false,
dataForm: {
|
006cc67a
monkeyhouyi
巡查上报
|
127
|
id: undefined,
|
fcbf44a0
monkeyhouyi
1
|
128
|
source: undefined,
|
ff36c85d
monkeyhouyi
1
|
129
130
|
platformName: '',
selfMediaPlatformType: '',
|
006cc67a
monkeyhouyi
巡查上报
|
131
132
133
134
135
|
platformType: undefined,
questionType: undefined,
questionClass: undefined,
questionContent: undefined,
link: undefined,
|
fcbf44a0
monkeyhouyi
1
|
136
137
|
accurateDescription: undefined,
incorrectDescription: undefined,
|
006cc67a
monkeyhouyi
巡查上报
|
138
139
|
obtainEvidence: [],
annex: [],
|
fcbf44a0
monkeyhouyi
1
|
140
|
otherQuestionType: undefined
|
006cc67a
monkeyhouyi
巡查上报
|
141
|
},
|
93186f57
monkeyhouyi
前端整改页面
|
142
|
rules: {
|
ff36c85d
monkeyhouyi
1
|
143
144
145
|
platformName: [
{ required: true, message: "请选择系统名称", trigger: "blur" },
],
|
93186f57
monkeyhouyi
前端整改页面
|
146
|
platformType: [
|
ff36c85d
monkeyhouyi
1
|
147
|
{ required: true, message: "请选择系统类型", trigger: "blur" },
|
93186f57
monkeyhouyi
前端整改页面
|
148
149
|
],
questionType: [
|
ff36c85d
monkeyhouyi
1
|
150
|
{ required: true, message: "请选择问题类型", trigger: "blur" },
|
93186f57
monkeyhouyi
前端整改页面
|
151
|
],
|
ff36c85d
monkeyhouyi
1
|
152
153
154
|
// otherQuestionType: [
// { required: true, message: "请输入其他问题类型", trigger: "blur" },
// ],
|
93186f57
monkeyhouyi
前端整改页面
|
155
|
},
|
ff36c85d
monkeyhouyi
1
|
156
|
sourceOptions: [],
|
006cc67a
monkeyhouyi
巡查上报
|
157
158
|
platformTypeOptions: [],
questionTypeOptions: [],
|
fcbf44a0
monkeyhouyi
1
|
159
|
nameOptions: [],
|
006cc67a
monkeyhouyi
巡查上报
|
160
161
|
};
},
|
ff36c85d
monkeyhouyi
1
|
162
163
164
165
166
167
168
|
computed: {
isDisabledTypeByName() {
if(!this.nameOptions.length) return false;
let index = this.nameOptions.findIndex(v => v.id == this.dataForm.platformName);
return index != -1;
}
},
|
006cc67a
monkeyhouyi
巡查上报
|
169
170
|
watch: {},
created() {
|
fcbf44a0
monkeyhouyi
1
|
171
|
this.loadList();
|
61009cfc
monkeyhouyi
2024/8/8
|
172
|
this.getSourceOptions();
|
006cc67a
monkeyhouyi
巡查上报
|
173
174
175
176
177
|
this.getplatformTypeOptions();
this.getquestionTypeOptions();
},
mounted() {},
methods: {
|
ff36c85d
monkeyhouyi
1
|
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
|
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);
this.dataForm.platformName = obj ? obj.id : val;
this.dataForm.platformType = obj ? obj.systemType : '';
this.dataForm.selfMediaPlatformType = obj ? obj.platform : '';
},
visibleNameChange(val) {
if (val) return
let input = this.$refs.select.$children[0].$refs.input;
input.blur();
},
loadList() {
|
fcbf44a0
monkeyhouyi
1
|
196
|
this.name_loading = true;
|
ff36c85d
monkeyhouyi
1
|
197
198
199
200
201
|
request({
url: `/Extend/basesysteminfo/GetNoPagingList`,
method: "GET",
}).then(({data}) => {
this.nameOptions = data;
|
fcbf44a0
monkeyhouyi
1
|
202
|
this.name_loading = false;
|
ff36c85d
monkeyhouyi
1
|
203
|
})
|
fcbf44a0
monkeyhouyi
1
|
204
|
},
|
006cc67a
monkeyhouyi
巡查上报
|
205
206
|
async getplatformTypeOptions() {
let list = this.$store.state.meta.system;
|
ff36c85d
monkeyhouyi
1
|
207
|
!list && (list = await this.$store.dispatch("getTypeListByCode", "system"));
|
006cc67a
monkeyhouyi
巡查上报
|
208
209
|
this.platformTypeOptions = list;
},
|
61009cfc
monkeyhouyi
2024/8/8
|
210
211
212
213
214
215
216
217
|
async getSourceOptions() {
request({
url: `/Extend/baseinspectionreport/GetReportSourceList`,
method: "GET",
}).then(({data}) => {
this.sourceOptions = data;
})
},
|
006cc67a
monkeyhouyi
巡查上报
|
218
219
|
getquestionTypeOptions() {
getDictionaryDataSelector("577006814432855301").then((res) => {
|
ff36c85d
monkeyhouyi
1
|
220
|
this.questionTypeOptions = [...res.data.list, {Id: '0', fullName: '其他'}];
|
006cc67a
monkeyhouyi
巡查上报
|
221
222
223
224
225
226
|
});
},
goBack() {
this.$emit("refresh");
},
init(id, isDetail) {
|
ff36c85d
monkeyhouyi
1
|
227
|
this.dataForm.id = id || '';
|
006cc67a
monkeyhouyi
巡查上报
|
228
|
this.visible = true;
|
006cc67a
monkeyhouyi
巡查上报
|
229
230
231
232
233
234
|
this.isDetail = isDetail || false;
this.$nextTick(async () => {
this.$refs["elForm"].resetFields();
if (this.dataForm.id) {
let res = await getDetail(this.dataForm.id);
this.dataForm = res.data;
|
fcbf44a0
monkeyhouyi
1
|
235
236
237
238
|
if(this.questionTypeOptions.findIndex(v => v.fullName == this.dataForm.questionType) == -1) {
this.dataForm.otherQuestionType = res.data.questionType;
this.dataForm.questionType = '其他';
}
|
ff36c85d
monkeyhouyi
1
|
239
|
this.dataForm.selfMediaPlatformType = res.data.selfMediaPlatformType || '--';
|
006cc67a
monkeyhouyi
巡查上报
|
240
241
|
if (!this.dataForm.obtainEvidence) this.dataForm.obtainEvidence = [];
if (!this.dataForm.annex) this.dataForm.annex = [];
|
006cc67a
monkeyhouyi
巡查上报
|
242
243
244
|
}
});
},
|
006cc67a
monkeyhouyi
巡查上报
|
245
246
247
|
dataFormSubmit() {
this.$refs["elForm"].validate(async (valid) => {
if (valid) {
|
ff36c85d
monkeyhouyi
1
|
248
249
250
251
252
|
let obj = {
...this.dataForm,
questionType: this.dataForm.questionType == '其他' ? this.dataForm.otherQuestionType : this.dataForm.questionType,
}
let res = !this.dataForm.id ? await addForm(obj) : await updataForm(obj);
|
006cc67a
monkeyhouyi
巡查上报
|
253
254
255
256
257
258
|
this.$message({
message: res.msg,
type: "success",
duration: 1000,
onClose: () => {
(this.visible = false), this.$emit("refresh", true);
|
c21fb5b0
monkeyhouyi
巡查上报页面
|
259
|
},
|
006cc67a
monkeyhouyi
巡查上报
|
260
261
262
263
264
265
|
});
}
});
},
},
};
|
c21fb5b0
monkeyhouyi
巡查上报页面
|
266
|
</script>
|
ff36c85d
monkeyhouyi
1
|
267
268
269
270
271
272
273
|
<style lang="scss" scoped>
.baseInspectionReportForm {
:deep(.el-radio) {
margin: 0 30px 8px 0;
}
}
</style>
|