4424f41c
monkeyhouyi
网信执法、清单管理静态页面
|
1
|
<template>
|
93186f57
monkeyhouyi
前端整改页面
|
2
|
<el-dialog
|
8994407e
monkeyhouyi
优化
|
3
|
:title="!dataForm.id ? '新增' : isDetail ? '详情' : '编辑'"
|
93186f57
monkeyhouyi
前端整改页面
|
4
5
6
7
|
:close-on-click-modal="false"
:visible.sync="visible"
class="NCC-dialog NCC-dialog_center"
lock-scroll
|
73755355
monkeyhouyi
优化
|
8
|
width="60%"
|
61009cfc
monkeyhouyi
2024/8/8
|
9
|
v-loading="loading"
|
93186f57
monkeyhouyi
前端整改页面
|
10
|
>
|
87e6927c
monkeyhouyi
弹框样式
|
11
|
<el-row :gutter="15" class="NCC-dialog-content">
|
93186f57
monkeyhouyi
前端整改页面
|
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
<el-form
ref="elForm"
:model="dataForm"
size="small"
label-width="100px"
label-position="right"
:disabled="!!isDetail"
:rules="rules"
>
<el-col :span="23" v-if="false">
<el-form-item label="主键" prop="id">
<el-input
v-model="dataForm.id"
placeholder="请输入"
clearable
:style="{ width: '100%' }"
>
</el-input>
</el-form-item>
</el-col>
|
ff36c85d
monkeyhouyi
1
|
32
|
<el-col :span="23" v-if="ncc.hasFormP('title')">
|
93186f57
monkeyhouyi
前端整改页面
|
33
34
35
36
37
38
39
40
41
42
43
|
<el-form-item label="标题" prop="title">
<el-input
v-model="dataForm.title"
placeholder="请输入"
clearable
required
:style="{ width: '100%' }"
>
</el-input>
</el-form-item>
</el-col>
|
ff36c85d
monkeyhouyi
1
|
44
|
<el-col :span="23" v-if="ncc.hasFormP('content')">
|
ce1de261
monkeyhouyi
专项行动
|
45
|
<el-form-item label="内容" prop="content">
|
73755355
monkeyhouyi
优化
|
46
47
|
<NCC-Quill v-model="dataForm.content" placeholder="请输入内容...">
</NCC-Quill>
|
ce1de261
monkeyhouyi
专项行动
|
48
49
|
</el-form-item>
</el-col>
|
ff36c85d
monkeyhouyi
1
|
50
|
<el-col :span="23" v-if="ncc.hasFormP('annex')">
|
93186f57
monkeyhouyi
前端整改页面
|
51
52
53
|
<el-form-item label="附件" prop="annex">
<NCC-UploadFz
v-model="dataForm.annex"
|
f3684888
monkeyhouyi
附件大小限制10MB
|
54
|
:fileSize="10"
|
93186f57
monkeyhouyi
前端整改页面
|
55
56
57
58
59
60
61
|
sizeUnit="MB"
:limit="9"
buttonText="点击上传"
>
</NCC-UploadFz>
</el-form-item>
</el-col>
|
fcbf44a0
monkeyhouyi
1
|
62
|
<el-col :span="23" v-if="ncc.hasFormP('communicationArea')">
|
93186f57
monkeyhouyi
前端整改页面
|
63
64
65
66
67
68
|
<el-form-item label="传达区域" prop="communicationArea">
<el-checkbox-group v-model="dataForm.communicationArea" :style="{}">
<el-checkbox
v-for="(item, index) in areaOptions"
:key="index"
:label="item.id"
|
ff36c85d
monkeyhouyi
1
|
69
|
:disabled="editType == '已发布并部署' || editType == '已发布'"
|
93186f57
monkeyhouyi
前端整改页面
|
70
71
72
|
>{{ item.fullName }}</el-checkbox
>
</el-checkbox-group>
|
ff36c85d
monkeyhouyi
1
|
73
|
<div style="margin-top: 10px" v-if="!editType || editType == '已存档'">
|
ce1de261
monkeyhouyi
专项行动
|
74
75
|
<el-button size="mini" @click="selectAreaAll('area')">全选</el-button>
<el-button size="mini" @click="closeAreaAll('area')">反选</el-button>
|
93186f57
monkeyhouyi
前端整改页面
|
76
77
78
|
</div>
</el-form-item>
</el-col>
|
fcbf44a0
monkeyhouyi
1
|
79
|
<el-col :span="23" v-if="ncc.hasFormP('communicationOut')">
|
ce1de261
monkeyhouyi
专项行动
|
80
81
|
<el-form-item label="传达外协" prop="communicationOut">
<el-checkbox-group v-model="dataForm.communicationOut" :style="{}">
|
93186f57
monkeyhouyi
前端整改页面
|
82
|
<el-checkbox
|
ce1de261
monkeyhouyi
专项行动
|
83
|
v-for="(item, index) in communicationOutOptions"
|
93186f57
monkeyhouyi
前端整改页面
|
84
85
|
:key="index"
:label="item.id"
|
ff36c85d
monkeyhouyi
1
|
86
|
:disabled="editType == '已发布并部署' || editType == '已发布'"
|
93186f57
monkeyhouyi
前端整改页面
|
87
88
89
|
>{{ item.fullName }}</el-checkbox
>
</el-checkbox-group>
|
ff36c85d
monkeyhouyi
1
|
90
|
<div style="margin-top: 10px" v-if="!editType || editType == '已存档'">
|
ce1de261
monkeyhouyi
专项行动
|
91
92
93
94
95
|
<el-button size="mini" @click="selectAreaAll">全选</el-button>
<el-button size="mini" @click="closeAreaAll">反选</el-button>
</div>
</el-form-item>
</el-col>
|
ff36c85d
monkeyhouyi
1
|
96
|
<el-col :span="23" v-if="ncc.hasFormP('relationId')">
|
ce1de261
monkeyhouyi
专项行动
|
97
|
<el-form-item label="填报表单" prop="relationId">
|
ff36c85d
monkeyhouyi
1
|
98
|
<el-select v-model="dataForm.relationId" placeholder="请选择专项行动填报表单" style="margin-right: 10px;width: 300px;" :disabled="editType == '已发布并部署'">
|
ce1de261
monkeyhouyi
专项行动
|
99
100
101
|
<el-option v-for="item in BaseList" :key="item.id" :label="item.fullName" :value="item.id">
</el-option>
</el-select>
|
e987e33a
monkeyhouyi
预览表单
|
102
103
104
|
<div v-if="dataForm.relationId" style="display: inline-block; margin-right: 14px;">
<FormDialog :row="{formId: dataForm.relationId}" :isDetail="true">预览表单</FormDialog>
</div>
|
ce1de261
monkeyhouyi
专项行动
|
105
106
107
|
<el-button size="mini" type="text" @click="dialogVisible = true">没有找到表单?点击设计表单</el-button>
</el-form-item>
</el-col>
|
ff36c85d
monkeyhouyi
1
|
108
|
<el-col :span="23" v-if="ncc.hasFormP('deadline')">
|
73755355
monkeyhouyi
优化
|
109
|
<el-form-item label="截止时间" prop="deadline">
|
ce1de261
monkeyhouyi
专项行动
|
110
111
|
<el-date-picker
v-model="dataForm.deadline"
|
aab9afee
monkeyhouyi
时间传值
|
112
113
|
format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss"
|
73755355
monkeyhouyi
优化
|
114
|
type="datetime"
|
ff36c85d
monkeyhouyi
1
|
115
|
:disabled="editType == '已发布并部署'"
|
73755355
monkeyhouyi
优化
|
116
|
placeholder="选择截止时间">
|
ce1de261
monkeyhouyi
专项行动
|
117
|
</el-date-picker>
|
93186f57
monkeyhouyi
前端整改页面
|
118
119
|
</el-form-item>
</el-col>
|
06c7a82f
李宇
最新代码
|
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
|
<el-col :span="23" v-if="ncc.hasFormP('creatorTime')">
<el-form-item label="发布时间" prop="creatorTime">
<el-date-picker
v-model="dataForm.creatorTime"
type="date"
placeholder="选择日期"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="23" v-if="ncc.hasFormP('cleanedDataCount')">
<el-form-item label="清理数据条数" prop="cleanedDataCount">
<el-input-number v-model="dataForm.cleanedDataCount" placeholder="数字文本" :step="1" >
</el-input-number>
</el-form-item>
</el-col>
<el-col :span="23" v-if="ncc.hasFormP('purgedRecordsCount')">
<el-form-item label="处置账号个数" prop="purgedRecordsCount">
<el-input-number v-model="dataForm.purgedRecordsCount" placeholder="数字文本" :step="1" >
</el-input-number>
</el-form-item>
</el-col>
|
93186f57
monkeyhouyi
前端整改页面
|
144
145
146
|
</el-form>
</el-row>
<span slot="footer" class="dialog-footer">
|
ff36c85d
monkeyhouyi
1
|
147
148
149
150
|
<el-button type="primary" @click="visible = false">取 消</el-button>
<el-button type="primary" @click="dataFormSubmit(0)" v-if="!isDetail" :loading="btnLoading">保 存</el-button>
<el-button type="primary" @click="dataFormSubmit(1)" v-if="!isDetail" :loading="btnLoading">发 布</el-button>
<el-button type="primary" @click="dataFormSubmit(2)" v-if="!isDetail" :loading="btnLoading">发布并反馈</el-button>
|
93186f57
monkeyhouyi
前端整改页面
|
151
|
</span>
|
ce1de261
monkeyhouyi
专项行动
|
152
153
154
155
156
157
158
159
160
|
<el-dialog class="zxDialog" title="专项行动表单设计" :visible.sync="dialogVisible" fullscreen @close="handleClose" :modal="false">
<iframe
:src="nestedPageUrl"
width="100%"
:height="viewportHeight - 58 + 'px'"
frameborder="0"
allowfullscreen>
</iframe>
</el-dialog>
|
93186f57
monkeyhouyi
前端整改页面
|
161
|
</el-dialog>
|
4424f41c
monkeyhouyi
网信执法、清单管理静态页面
|
162
163
|
</template>
<script>
|
93186f57
monkeyhouyi
前端整改页面
|
164
|
import request from "@/utils/request";
|
6cd34f81
monkeyhouyi
对接接口优化
|
165
|
import ncc from "@/utils/ncc.js"
|
93186f57
monkeyhouyi
前端整改页面
|
166
167
168
169
170
171
|
import { getDictionaryDataSelector } from "@/api/systemData/dictionary";
import { previewDataInterface } from "@/api/systemData/dataInterface";
export default {
components: {},
props: [],
data() {
|
ff36c85d
monkeyhouyi
1
|
172
173
174
175
176
177
178
179
180
181
182
183
184
185
|
var validatecommunicationArea = (rule, value, callback) => {
if (!this.dataForm.communicationOut.length && !value.length) {
callback(new Error('传输区域和传输外协不能同时为空!'));
} else {
callback();
}
};
var validatecommunicationOut = (rule, value, callback) => {
if (!this.dataForm.communicationArea.length && !value.length) {
callback(new Error('传输区域和传输外协不能同时为空!'));
} else {
callback();
}
};
|
93186f57
monkeyhouyi
前端整改页面
|
186
187
188
189
|
return {
loading: false,
visible: false,
isDetail: false,
|
ff36c85d
monkeyhouyi
1
|
190
|
editType: '', // 修改类型
|
93186f57
monkeyhouyi
前端整改页面
|
191
192
193
|
dataForm: {
id: "",
id: undefined,
|
93186f57
monkeyhouyi
前端整改页面
|
194
195
196
|
title: undefined,
content: undefined,
releaseTime: undefined,
|
93186f57
monkeyhouyi
前端整改页面
|
197
198
|
annex: [],
communicationArea: [],
|
ce1de261
monkeyhouyi
专项行动
|
199
|
communicationOut: [],
|
93186f57
monkeyhouyi
前端整改页面
|
200
201
202
203
204
|
state: undefined,
creatorUserId: undefined,
creatorTime: undefined,
lastModifyUserId: undefined,
lastModifyTime: undefined,
|
ce1de261
monkeyhouyi
专项行动
|
205
|
deadline: undefined,
|
2201a66b
monkeyhouyi
专项性行动-首页联动
|
206
|
relationId: undefined,
|
06c7a82f
李宇
最新代码
|
207
208
209
|
cleanedDataCount:0,
purgedRecordsCount:0
|
93186f57
monkeyhouyi
前端整改页面
|
210
211
|
},
rules: {
|
ff36c85d
monkeyhouyi
1
|
212
213
214
215
216
217
|
title: [{ required: true, message: "请输入标题", trigger: "blur" }],
content: [{ required: true, message: "请输入内容", trigger: "blur" }],
communicationArea: [{validator: validatecommunicationArea, trigger: 'blur'}],
communicationOut: [{validator: validatecommunicationOut, trigger: 'blur'}],
relationId: [{ required: true, message: "请选择专项行动填报表单", trigger: "blur"}],
deadline: [{ required: true, message: "请选择截止日期", trigger: "blur" }],
|
93186f57
monkeyhouyi
前端整改页面
|
218
219
|
},
areaOptions: [],
|
ce1de261
monkeyhouyi
专项行动
|
220
221
222
|
communicationOutOptions: [],
BaseList:[],
viewportHeight: 0,
|
f4b94cea
monkeyhouyi
跳转表单路径修改
|
223
|
// nestedPageUrl:"http://8.130.38.56:8043/old/#/onlineDev/webDesign/indexNew",
|
06c7a82f
李宇
最新代码
|
224
|
nestedPageUrl:"http://10.0.0.208:5000/old/#/onlineDev/webDesign/indexNew",
|
ce1de261
monkeyhouyi
专项行动
|
225
|
dialogVisible: false,
|
2201a66b
monkeyhouyi
专项性行动-首页联动
|
226
|
btnLoading: false
|
93186f57
monkeyhouyi
前端整改页面
|
227
228
229
230
231
232
|
};
},
computed: {},
watch: {},
created() {
this.initAreaTypeList();
|
ce1de261
monkeyhouyi
专项行动
|
233
234
235
236
237
|
this.initCommunicationOutOptions();
this.updateViewportHeight();
this.getDataForm();
// 监听窗口大小变化事件
window.addEventListener('resize', this.updateViewportHeight);
|
93186f57
monkeyhouyi
前端整改页面
|
238
239
|
},
mounted() {},
|
ce1de261
monkeyhouyi
专项行动
|
240
241
242
243
|
beforeDestroy() {
// 移除窗口大小变化事件监听器
window.removeEventListener('resize', this.updateViewportHeight);
},
|
93186f57
monkeyhouyi
前端整改页面
|
244
|
methods: {
|
ce1de261
monkeyhouyi
专项行动
|
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
|
updateViewportHeight() {
// 获取页面显示高度
this.viewportHeight = window.innerHeight || document.documentElement.clientHeight;
},
handleClose() {
// 这里是对话框关闭后需要执行的代码
this.getDataForm();
// 例如,你可以在这里添加任何其他的逻辑
},
//查询表单
getDataForm() {
request({
url: "/visualdev/Base?type=1",
method: "get",
}).then((res) => {
this.BaseList = res.data.list[0].children;
|
ce1de261
monkeyhouyi
专项行动
|
261
262
|
});
},
|
93186f57
monkeyhouyi
前端整改页面
|
263
264
265
266
267
|
async initAreaTypeList() {
let list = this.$store.state.meta.area;
!list && (list = await this.$store.dispatch("getTypeListByCode", "area"));
this.areaOptions = list;
},
|
ce1de261
monkeyhouyi
专项行动
|
268
269
270
271
|
async initCommunicationOutOptions() {
let list = this.$store.state.meta.externalAssistanceList;
!list && (list = await this.$store.dispatch("getTypeListByCode", "externalAssistance"));
this.communicationOutOptions = list;
|
93186f57
monkeyhouyi
前端整改页面
|
272
|
},
|
ce1de261
monkeyhouyi
专项行动
|
273
274
275
276
277
278
279
280
281
282
283
|
// 全选
selectAreaAll(type) {
if(type == 'area') {
this.dataForm.communicationArea = this.areaOptions.map(
(option) => option.id
);
} else {
this.dataForm.communicationOut = this.communicationOutOptions.map(
(option) => option.id
);
}
|
93186f57
monkeyhouyi
前端整改页面
|
284
|
},
|
ce1de261
monkeyhouyi
专项行动
|
285
286
287
|
// 反选
closeAreaAll(type) {
if(type == 'area') {
|
f1a44e73
monkeyhouyi
1
|
288
|
this.dataForm.communicationArea = this.areaOptions.filter((option) => !this.dataForm.communicationArea.includes(option.id)).map((option) => option.id);
|
ce1de261
monkeyhouyi
专项行动
|
289
290
291
292
293
294
295
296
297
|
} else {
this.dataForm.communicationOut = this.communicationOutOptions
.filter(
(option) => !this.dataForm.communicationOut.includes(option.id)
)
.map((option) => option.id);
}
},
|
93186f57
monkeyhouyi
前端整改页面
|
298
299
300
|
goBack() {
this.$emit("refresh");
},
|
61009cfc
monkeyhouyi
2024/8/8
|
301
|
init(row, isDetail) {
|
8f1d4460
monkeyhouyi
实现专项行动详情查看
|
302
|
this.dataForm.id = row ? row.id : '';
|
93186f57
monkeyhouyi
前端整改页面
|
303
304
|
this.visible = true;
this.isDetail = isDetail || false;
|
ff36c85d
monkeyhouyi
1
|
305
|
this.editType = row ? row.state : '';
|
93186f57
monkeyhouyi
前端整改页面
|
306
307
|
this.$nextTick(() => {
this.$refs["elForm"].resetFields();
|
61009cfc
monkeyhouyi
2024/8/8
|
308
|
if(this.dataForm.id) {
|
ff36c85d
monkeyhouyi
1
|
309
310
311
312
313
|
request({
url: `/Extend/BaseSpecialAction/${this.dataForm.id} `,
method: "GET",
}).then((res) => {
this.dataForm = res.data;
|
6cd34f81
monkeyhouyi
对接接口优化
|
314
|
this.dataForm.deadline = new Date(ncc.dateFormat(res.data.deadline, 'YYYY-MM-DD HH:mm:ss'));
|
06c7a82f
李宇
最新代码
|
315
|
this.dataForm.creatorTime = new Date(ncc.dateFormat(res.data.creatorTime, 'YYYY-MM-DD HH:mm:ss'));
|
ff36c85d
monkeyhouyi
1
|
316
317
|
this.dataForm.annex = res.data.annex == null ? [] : res.data.annex;
})
|
61009cfc
monkeyhouyi
2024/8/8
|
318
|
}
|
93186f57
monkeyhouyi
前端整改页面
|
319
320
|
});
},
|
ff36c85d
monkeyhouyi
1
|
321
|
dataFormSubmit(type) {
|
06c7a82f
李宇
最新代码
|
322
323
|
console.error({...this.dataForm})
// return
|
ff36c85d
monkeyhouyi
1
|
324
325
326
327
|
this.validateForm(type, () => {
let obj = {
...this.dataForm,
state: type
|
93186f57
monkeyhouyi
前端整改页面
|
328
|
}
|
ff36c85d
monkeyhouyi
1
|
329
330
331
|
let url = !this.dataForm.id ? '/Extend/BaseSpecialAction/Release' : '/Extend/BaseSpecialAction/Update';
let method = !this.dataForm.id ? 'PUT' : 'POST';
this.toPostForm(url, method, obj);
|
93186f57
monkeyhouyi
前端整改页面
|
332
333
|
});
},
|
ff36c85d
monkeyhouyi
1
|
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
|
validateForm(type, callback) {
let list = ['title', 'content'];
switch (type) {
case 0:
list = ['title', 'content'];
break;
case 1:
list = ['title', 'content', 'communicationArea', 'communicationOut'];
break;
case 2:
list = ['title', 'content', 'communicationArea', 'communicationOut', 'relationId', 'deadline'];
break;
default:
break;
}
let Promises = list.map(v => new Promise((resolve, reject) => this.$refs["elForm"].validateField(v, err => resolve(err))));
Promise.all(Promises).then(values => {
if(values.filter(item =>item).length) {
return
} else {
callback && callback(values);
}
});
},
toPostForm(url, method, obj, callback) {
this.btnLoading = true;
request({
url,
method,
data: obj,
}).then((res) => {
this.$message({
message: res.msg,
type: "success",
duration: 1000,
onClose: () => {
callback && callback();
this.btnLoading = false;
(this.visible = false), this.$emit("refresh", true);
},
});
}).catch(() => this.btnLoading = false);
}
|
93186f57
monkeyhouyi
前端整改页面
|
378
379
|
},
};
|
ff36c85d
monkeyhouyi
1
|
380
|
|
4424f41c
monkeyhouyi
网信执法、清单管理静态页面
|
381
|
</script>
|
ce1de261
monkeyhouyi
专项行动
|
382
|
<style lang="scss" scoped>
|
21303a31
monkeyhouyi
修改设计表单页面(由于admin账...
|
383
384
385
386
387
|
.zxDialog {
:deep(.el-dialog__body) {
max-height: 90vh !important;
}
}
|
ce1de261
monkeyhouyi
专项行动
|
388
|
</style>
|