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
54
55
56
57
58
59
60
61
|
<el-form-item label="附件" prop="annex">
<NCC-UploadFz
v-model="dataForm.annex"
:fileSize="5"
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>
|
73755355
monkeyhouyi
优化
|
120
|
|
93186f57
monkeyhouyi
前端整改页面
|
121
122
123
|
</el-form>
</el-row>
<span slot="footer" class="dialog-footer">
|
ff36c85d
monkeyhouyi
1
|
124
125
126
127
|
<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
前端整改页面
|
128
|
</span>
|
ce1de261
monkeyhouyi
专项行动
|
129
130
131
132
133
134
135
136
137
|
<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
前端整改页面
|
138
|
</el-dialog>
|
4424f41c
monkeyhouyi
网信执法、清单管理静态页面
|
139
140
|
</template>
<script>
|
93186f57
monkeyhouyi
前端整改页面
|
141
|
import request from "@/utils/request";
|
6cd34f81
monkeyhouyi
对接接口优化
|
142
|
import ncc from "@/utils/ncc.js"
|
93186f57
monkeyhouyi
前端整改页面
|
143
144
145
146
147
148
|
import { getDictionaryDataSelector } from "@/api/systemData/dictionary";
import { previewDataInterface } from "@/api/systemData/dataInterface";
export default {
components: {},
props: [],
data() {
|
ff36c85d
monkeyhouyi
1
|
149
150
151
152
153
154
155
156
157
158
159
160
161
162
|
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
前端整改页面
|
163
164
165
166
|
return {
loading: false,
visible: false,
isDetail: false,
|
ff36c85d
monkeyhouyi
1
|
167
|
editType: '', // 修改类型
|
93186f57
monkeyhouyi
前端整改页面
|
168
169
170
|
dataForm: {
id: "",
id: undefined,
|
93186f57
monkeyhouyi
前端整改页面
|
171
172
173
|
title: undefined,
content: undefined,
releaseTime: undefined,
|
93186f57
monkeyhouyi
前端整改页面
|
174
175
|
annex: [],
communicationArea: [],
|
ce1de261
monkeyhouyi
专项行动
|
176
|
communicationOut: [],
|
93186f57
monkeyhouyi
前端整改页面
|
177
178
179
180
181
|
state: undefined,
creatorUserId: undefined,
creatorTime: undefined,
lastModifyUserId: undefined,
lastModifyTime: undefined,
|
ce1de261
monkeyhouyi
专项行动
|
182
|
deadline: undefined,
|
2201a66b
monkeyhouyi
专项性行动-首页联动
|
183
|
relationId: undefined,
|
93186f57
monkeyhouyi
前端整改页面
|
184
185
|
},
rules: {
|
ff36c85d
monkeyhouyi
1
|
186
187
188
189
190
191
|
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
前端整改页面
|
192
193
|
},
areaOptions: [],
|
ce1de261
monkeyhouyi
专项行动
|
194
195
196
|
communicationOutOptions: [],
BaseList:[],
viewportHeight: 0,
|
f4b94cea
monkeyhouyi
跳转表单路径修改
|
197
198
|
// nestedPageUrl:"http://8.130.38.56:8043/old/#/onlineDev/webDesign/indexNew",
nestedPageUrl:"http://118.122.147.194:5000/old/#/onlineDev/webDesign/indexNew",
|
ce1de261
monkeyhouyi
专项行动
|
199
|
dialogVisible: false,
|
2201a66b
monkeyhouyi
专项性行动-首页联动
|
200
|
btnLoading: false
|
93186f57
monkeyhouyi
前端整改页面
|
201
202
203
204
205
206
|
};
},
computed: {},
watch: {},
created() {
this.initAreaTypeList();
|
ce1de261
monkeyhouyi
专项行动
|
207
208
209
210
211
|
this.initCommunicationOutOptions();
this.updateViewportHeight();
this.getDataForm();
// 监听窗口大小变化事件
window.addEventListener('resize', this.updateViewportHeight);
|
93186f57
monkeyhouyi
前端整改页面
|
212
213
|
},
mounted() {},
|
ce1de261
monkeyhouyi
专项行动
|
214
215
216
217
|
beforeDestroy() {
// 移除窗口大小变化事件监听器
window.removeEventListener('resize', this.updateViewportHeight);
},
|
93186f57
monkeyhouyi
前端整改页面
|
218
|
methods: {
|
ce1de261
monkeyhouyi
专项行动
|
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
|
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
专项行动
|
235
236
|
});
},
|
93186f57
monkeyhouyi
前端整改页面
|
237
238
239
240
241
|
async initAreaTypeList() {
let list = this.$store.state.meta.area;
!list && (list = await this.$store.dispatch("getTypeListByCode", "area"));
this.areaOptions = list;
},
|
ce1de261
monkeyhouyi
专项行动
|
242
243
244
245
|
async initCommunicationOutOptions() {
let list = this.$store.state.meta.externalAssistanceList;
!list && (list = await this.$store.dispatch("getTypeListByCode", "externalAssistance"));
this.communicationOutOptions = list;
|
93186f57
monkeyhouyi
前端整改页面
|
246
|
},
|
ce1de261
monkeyhouyi
专项行动
|
247
248
249
250
251
252
253
254
255
256
257
|
// 全选
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
前端整改页面
|
258
|
},
|
ce1de261
monkeyhouyi
专项行动
|
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
|
// 反选
closeAreaAll(type) {
if(type == 'area') {
this.dataForm.communicationArea = this.areaOptions
.filter(
(option) => !this.dataForm.communicationArea.includes(option.id)
)
.map((option) => option.id);
} else {
this.dataForm.communicationOut = this.communicationOutOptions
.filter(
(option) => !this.dataForm.communicationOut.includes(option.id)
)
.map((option) => option.id);
}
},
|
93186f57
monkeyhouyi
前端整改页面
|
276
277
278
|
goBack() {
this.$emit("refresh");
},
|
61009cfc
monkeyhouyi
2024/8/8
|
279
|
init(row, isDetail) {
|
8f1d4460
monkeyhouyi
实现专项行动详情查看
|
280
|
this.dataForm.id = row ? row.id : '';
|
93186f57
monkeyhouyi
前端整改页面
|
281
282
|
this.visible = true;
this.isDetail = isDetail || false;
|
ff36c85d
monkeyhouyi
1
|
283
|
this.editType = row ? row.state : '';
|
93186f57
monkeyhouyi
前端整改页面
|
284
285
|
this.$nextTick(() => {
this.$refs["elForm"].resetFields();
|
61009cfc
monkeyhouyi
2024/8/8
|
286
|
if(this.dataForm.id) {
|
ff36c85d
monkeyhouyi
1
|
287
288
289
290
291
|
request({
url: `/Extend/BaseSpecialAction/${this.dataForm.id} `,
method: "GET",
}).then((res) => {
this.dataForm = res.data;
|
6cd34f81
monkeyhouyi
对接接口优化
|
292
|
this.dataForm.deadline = new Date(ncc.dateFormat(res.data.deadline, 'YYYY-MM-DD HH:mm:ss'));
|
ff36c85d
monkeyhouyi
1
|
293
294
|
this.dataForm.annex = res.data.annex == null ? [] : res.data.annex;
})
|
61009cfc
monkeyhouyi
2024/8/8
|
295
|
}
|
93186f57
monkeyhouyi
前端整改页面
|
296
297
|
});
},
|
ff36c85d
monkeyhouyi
1
|
298
|
dataFormSubmit(type) {
|
ff36c85d
monkeyhouyi
1
|
299
300
301
302
|
this.validateForm(type, () => {
let obj = {
...this.dataForm,
state: type
|
93186f57
monkeyhouyi
前端整改页面
|
303
|
}
|
ff36c85d
monkeyhouyi
1
|
304
305
306
|
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
前端整改页面
|
307
308
|
});
},
|
ff36c85d
monkeyhouyi
1
|
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
|
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
前端整改页面
|
353
354
|
},
};
|
ff36c85d
monkeyhouyi
1
|
355
|
|
4424f41c
monkeyhouyi
网信执法、清单管理静态页面
|
356
|
</script>
|
ce1de261
monkeyhouyi
专项行动
|
357
|
<style lang="scss" scoped>
|
21303a31
monkeyhouyi
修改设计表单页面(由于admin账...
|
358
359
360
361
362
|
.zxDialog {
:deep(.el-dialog__body) {
max-height: 90vh !important;
}
}
|
ce1de261
monkeyhouyi
专项行动
|
363
|
</style>
|