7c396b41 by 田浩浩

111

1 parent dc814a88
...@@ -14,46 +14,33 @@ ...@@ -14,46 +14,33 @@
14 {{ item.nodename }} 14 {{ item.nodename }}
15 </li> 15 </li>
16 </ul> 16 </ul>
17 <el-collapse v-model="activeName" accordion>
18 <el-collapse-item title="业务详情" name="1">
19 <el-form 17 <el-form
20 :model="form" 18 :model="form"
21 v-show="n == 0" 19 v-show="n == 0"
22 :rules="rules"
23 label-width="135px" 20 label-width="135px"
24 ref="ruleForm" 21 ref="ruleForm"
25 > 22 >
26 <el-row> 23 <el-row>
27 <el-col :span="8"> 24 <el-col :span="8">
28 <el-form-item label="权利类型编码">
29 <el-input v-model="form.ywDetail.qllxbm" disabled></el-input>
30 </el-form-item>
31 </el-col>
32 <!-- <el-col :span="8">
33 <el-form-item label="权利类型名称">
34 <el-input v-model="form.ywDetail.qllxmc" disabled></el-input>
35 </el-form-item>
36 </el-col>
37 <el-col :span="8">
38 <el-form-item label="申请分类"> 25 <el-form-item label="申请分类">
39 <el-select v-model="form.ywDetail.sqfl" disabled placeholder="请选择" class="width100"> 26 <el-select v-model="form.ywDetail.sqfl" disabled placeholder="请选择" class="width100">
40 <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> 27 <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
41 </el-option> 28 </el-option>
42 </el-select> 29 </el-select>
43 </el-form-item> 30 </el-form-item>
44 </el-col> --> 31 </el-col>
45 </el-row>
46 <!-- <el-row>
47 <el-col :span="8"> 32 <el-col :span="8">
48 <el-form-item label="登记类型编码"> 33 <el-form-item label="登记业务编码">
49 <el-input v-model="form.ywDetail.djlxbm" disabled></el-input> 34 <el-input v-model="form.ywDetail.djywbm" disabled></el-input>
50 </el-form-item> 35 </el-form-item>
51 </el-col> 36 </el-col>
52 <el-col :span="8"> 37 <el-col :span="8">
53 <el-form-item label="登记类型名称"> 38 <el-form-item label="登记业务名称">
54 <el-input v-model="form.ywDetail.djlxmc" disabled></el-input> 39 <el-input v-model="form.ywDetail.djywmc" disabled></el-input>
55 </el-form-item> 40 </el-form-item>
56 </el-col> 41 </el-col>
42 </el-row>
43 <el-row>
57 <el-col :span="8"> 44 <el-col :span="8">
58 <el-form-item label="发起业务单元类型"> 45 <el-form-item label="发起业务单元类型">
59 <el-select v-model="form.ywDetail.fqywdylx" disabled placeholder="请选择" class="width100"> 46 <el-select v-model="form.ywDetail.fqywdylx" disabled placeholder="请选择" class="width100">
...@@ -62,20 +49,6 @@ ...@@ -62,20 +49,6 @@
62 </el-select> 49 </el-select>
63 </el-form-item> 50 </el-form-item>
64 </el-col> 51 </el-col>
65 </el-row>
66 <el-row>
67 <el-col :span="8">
68 <el-form-item label="登记业务编码">
69 <el-input v-model="form.ywDetail.djywbm" disabled></el-input>
70 </el-form-item>
71 </el-col>
72 <el-col :span="16">
73 <el-form-item label="登记业务名称">
74 <el-input v-model="form.ywDetail.djywmc" disabled></el-input>
75 </el-form-item>
76 </el-col>
77 </el-row>
78 <el-row>
79 <el-col :span="8"> 52 <el-col :span="8">
80 <el-form-item label="是否启用" prop="enabled"> 53 <el-form-item label="是否启用" prop="enabled">
81 <el-radio-group v-model="form.ywDetail.enabled"> 54 <el-radio-group v-model="form.ywDetail.enabled">
...@@ -84,14 +57,23 @@ ...@@ -84,14 +57,23 @@
84 </el-radio-group> 57 </el-radio-group>
85 </el-form-item> 58 </el-form-item>
86 </el-col> 59 </el-col>
87 <el-col :span="16"> 60 <el-col :span="8">
88 <el-form-item label="业务流程ID" prop="flowid"> 61 <el-form-item label="业务流程ID" prop="flowid">
89 <el-input v-model="form.ywDetail.flowid"></el-input> 62 <el-input v-model="form.ywDetail.flowid"></el-input>
90 </el-form-item> 63 </el-form-item>
91 </el-col> 64 </el-col>
92 </el-row> 65 </el-row>
66
93 <el-row> 67 <el-row>
94 <el-col :span="8"> 68 <el-col :span="8">
69 <el-form-item label="登记原因设置" prop="sfqydjyymb">
70 <el-radio-group v-model="form.ywDetail.sfqydjyymb">
71 <el-radio label="1">启用</el-radio>
72 <el-radio label="0">禁用</el-radio>
73 </el-radio-group>
74 </el-form-item>
75 </el-col>
76 <el-col :span="8">
95 <el-form-item label="登记情形及材料"> 77 <el-form-item label="登记情形及材料">
96 <el-input v-model="form.ywDetail.djqxcl" placeholder="仅支持execl文件导入"></el-input> 78 <el-input v-model="form.ywDetail.djqxcl" placeholder="仅支持execl文件导入"></el-input>
97 </el-form-item> 79 </el-form-item>
...@@ -104,47 +86,52 @@ ...@@ -104,47 +86,52 @@
104 </el-col> 86 </el-col>
105 </el-row> 87 </el-row>
106 <el-row> 88 <el-row>
107 <el-col :span="8">
108 <el-form-item label="登记原因设置" prop="sfqydjyymb">
109 <el-radio-group v-model="form.ywDetail.sfqydjyymb">
110 <el-radio label="1">启用</el-radio>
111 <el-radio label="0">禁用</el-radio>
112 </el-radio-group>
113 </el-form-item>
114 </el-col>
115 </el-row>
116 <el-row>
117 <el-col :span="24"> 89 <el-col :span="24">
118 <el-form-item label="登记原因模板" prop="djyy"> 90 <el-form-item label="登记原因模板" prop="djyy">
119 <el-input type="textarea" :rows="4" placeholder="请输入内容" v-model="form.ywDetail.djyy"> 91 <el-input type="textarea" :rows="4" placeholder="请输入内容" v-model="form.ywDetail.djyy">
120 </el-input> 92 </el-input>
121 </el-form-item> 93 </el-form-item>
122 </el-col> 94 </el-col>
123 </el-row> --> 95 </el-row>
124 </el-form> 96 </el-form>
97 <el-collapse accordion>
98 <el-collapse-item title="登记情形设置" name="1">
99 <lb-table :column="djqxCol" border :pagination="false" heightNumSetting :data="form.djqx">
100 </lb-table>
125 </el-collapse-item> 101 </el-collapse-item>
126 <el-collapse-item title="登记情形设置" name="2"> 102 <el-collapse-item title="材料信息设置" name="2">
127 <div> 103 <lb-table :column="clxxCol" border heightNumSetting :pagination="false" :data="form.clxx">
128 控制反馈:通过界面样式和交互动效让用户可以清晰的感知自己的操作; 104 </lb-table>
129 </div>
130 <div>页面反馈:操作后,通过页面元素的变化清晰地展现当前状态。</div>
131 </el-collapse-item> 105 </el-collapse-item>
132 <el-collapse-item title="材料信息设置" name="3"> 106 <el-collapse-item title="刷选条件设置" name="3">
133 <div>简化流程:设计简洁直观的操作流程;</div> 107 <div v-if="form.ywDetail.sfsxql != '0'">
108 <div class="dyztsd-title">
109 <b>请勾选需要查询的权利信息</b>
134 <div> 110 <div>
135 清晰明确:语言表达清晰且表意明确,让用户快速理解进而作出决策; 111 <el-button type="text" @click="handleSelectall">选择全部 </el-button>
112 <el-button type="text" @click="handleInvert">清除全部</el-button>
136 </div> 113 </div>
137 <div>
138 帮助用户识别:界面简单直白,让用户快速识别而非回忆,减少用户记忆负担。
139 </div> 114 </div>
140 </el-collapse-item> 115 <el-divider></el-divider>
141 <el-collapse-item title="刷选条件设置" name="4"> 116 <ul class="qlxx-list">
142 <div> 117 <li v-for="(item, index) in form.sxql" :key="index">
143 用户决策:根据场景可给予用户操作建议或安全提示,但不能代替用户进行决策; 118 <el-checkbox v-model="item.checked">{{ item.sxzdmc }}</el-checkbox>
119 </li>
120 </ul>
144 </div> 121 </div>
145 <div> 122 <b>限制办理状态</b>
146 结果可控:用户可以自由的进行操作,包括撤销、回退和终止当前操作等。 123 <ul class="screen-list">
124 <li v-for="(item, index) in form.sxzt" :key="index">
125 <div class="screen-list-left">
126 <el-switch v-model="item.checked" @change="handleSelect(item)">
127 </el-switch>
128 {{ item.sxzdmc }}
147 </div> 129 </div>
130 <el-radio-group v-model="item.selected" :disabled="!item.checked">
131 <el-radio :label="obj.sxzdz" v-for="(obj, index) in item.children" :key="index">{{ obj.sxzdmc }}</el-radio>
132 </el-radio-group>
133 </li>
134 </ul>
148 </el-collapse-item> 135 </el-collapse-item>
149 </el-collapse> 136 </el-collapse>
150 <div slot="footer" class="dialog-footer"> 137 <div slot="footer" class="dialog-footer">
...@@ -154,6 +141,8 @@ ...@@ -154,6 +141,8 @@
154 </el-dialog> 141 </el-dialog>
155 </template> 142 </template>
156 <script> 143 <script>
144 import { mapGetters } from 'vuex';
145 import { upward, down } from '@/utils/operation'
157 import { getDjlxInfo, getSqdjywDetail } from "@/api/system.js"; 146 import { getDjlxInfo, getSqdjywDetail } from "@/api/system.js";
158 export default { 147 export default {
159 //父组件 传 过来的 值 148 //父组件 传 过来的 值
...@@ -171,7 +160,7 @@ export default { ...@@ -171,7 +160,7 @@ export default {
171 immediate: true, 160 immediate: true,
172 }, 161 },
173 }, 162 },
174 components: {}, 163 components: { },
175 name: "componentDialog", 164 name: "componentDialog",
176 data() { 165 data() {
177 return { 166 return {
...@@ -181,12 +170,224 @@ export default { ...@@ -181,12 +170,224 @@ export default {
181 title: "", 170 title: "",
182 activeName: "1", 171 activeName: "1",
183 form: {}, 172 form: {},
173 djqxCol: [
174 {
175 width: '60',
176 renderHeader: (h, scope) => {
177 return <i class="el-icon-plus pointer" onClick={() => { this.handleAdd() }} style="color:#409EFF"></i>
178 },
179 render: (h, scope) => {
180 return (
181 <i class="el-icon-minus pointer" onClick={() => { this.handleMinus(scope.$index, scope.row) }}></i>
182 )
183 }
184 },
185 {
186 width: '60',
187 label: '序号',
188 type: 'index'
189 },
190 {
191 prop: 'nodecode',
192 width: '105',
193 label: '登记情形编码',
194 render: (h, scope) => {
195 return (
196 <div>
197 <el-input placeholder="登记情形编码" class={{ repeat: scope.row.repeat }} disabled={scope.row.sftsdjqx == '1'}
198 value={scope.row[scope.column.property]}
199 onInput={(val) => { scope.row[scope.column.property] = val }} onBlur={() => { this.nodecodeBlur(scope.$index, scope.row) }} maxlength="8">
200 </el-input>
201 </div>
202 )
203 }
204 },
205 {
206 prop: 'nodename',
207 label: '登记情形名称',
208 render: (h, scope) => {
209 return (
210 <div>
211 <el-input placeholder="登记情形名称" disabled={scope.row.sftsdjqx == '1'}
212 value={scope.row[scope.column.property]}
213 onInput={(val) => { scope.row[scope.column.property] = val }}></el-input>
214 </div>
215 )
216 }
217 },
218 {
219 label: '是否启用登记情形',
220 width: '140',
221 render: (h, scope) => {
222 return (
223 <el-radio-group v-model={scope.row.enabled} disabled={scope.row.sftsdjqx == '1'} onChange={(val) => { scope.row[scope.column.property] = val }}>
224 <el-radio label={'1'}>启用</el-radio>
225 <el-radio label={'0'}>禁用</el-radio>
226 </el-radio-group>
227 )
228 }
229 },
230 {
231 prop: 'djyy',
232 label: '登记原因模板',
233 render: (h, scope) => {
234 return (
235 <div>
236 <el-input placeholder="登记原因模板" disabled={scope.row.sftsdjqx == '1'} value={scope.row[scope.column.property]}
237 onInput={(val) => { scope.row[scope.column.property] = val }}></el-input>
238 </div>
239
240 )
241 }
242 },
243 {
244 label: '是否启用模板',
245 width: '140',
246 render: (h, scope) => {
247 return (
248 <el-radio-group v-model={scope.row.sfqydjyymb} disabled={scope.row.sftsdjqx == '1'} onChange={(val) => { scope.row[scope.column.property] = val }}>
249 <el-radio label={'1'}>启用</el-radio>
250 <el-radio label={'0'}>禁用</el-radio>
251 </el-radio-group>
252 )
253 }
254 },
255 {
256 label: '移动',
257 width: '100',
258 render: (h, scope) => {
259 return (
260 <div>
261 <el-button type='text' disabled={scope.$index == 0} onClick={() => { this.moveUpward(scope.$index, scope.row) }}>上移</el-button>
262 <el-button type='text' disabled={(scope.$index + 1) == this.form.djqx.length} onClick={() => { this.moveDown(scope.$index, scope.row) }}>下移</el-button >
263 </div>
264 )
265 }
266 }
267 ],
268 clxxCol: [
269 {
270 width: '60',
271 renderHeader: (h, scope) => {
272 return <i class="el-icon-plus pointer" onClick={() => { this.handleAdd() }} style="color:#409EFF"></i>
273 },
274 render: (h, scope) => {
275 return (
276 <i class="el-icon-minus pointer" onClick={() => { this.handleMinus(scope.$index, scope.row) }}></i>
277 )
278 }
279 },
280 {
281 width: '60',
282 label: '序号',
283 type: 'index'
284 },
285 {
286 label: '是否必填',
287 width: '100',
288 render: (h, scope) => {
289 return (
290 <el-radio-group v-model={scope.row.isrequired} onChange={(val) => { scope.row[scope.column.property] = val }}>
291 <el-radio label={'1'}></el-radio>
292 <el-radio label={'0'}></el-radio>
293 </el-radio-group>
294 )
295 }
296 },
297 {
298 prop: 'clbm',
299 label: '材料编码',
300 width: '100',
301 render: (h, scope) => {
302 return (
303 <el-input placeholder="材料编码" value={scope.row[scope.column.property]}
304 onInput={(val) => { scope.row[scope.column.property] = val }} maxlength="8"></el-input>
305 )
306 }
307 },
308 {
309 prop: 'clmc',
310 label: '材料名称',
311 render: (h, scope) => {
312 return (
313 <el-input placeholder="材料名称" value={scope.row[scope.column.property]}
314 onInput={(val) => { scope.row[scope.column.property] = val }}></el-input>
315 )
316 }
317 },
318 {
319 prop: 'cllx',
320 label: '材料类型',
321 width: '115',
322 render: (h, scope) => {
323 return (
324 <el-select value={scope.row[scope.column.property]}
325 onChange={(val) => { scope.row[scope.column.property] = val }} clearable>
326 {
327 this.dictData['A40'].map(option => {
328 return (
329 <el-option label={option.dname} value={option.dcode}></el-option>
330 )
331 })
332 }
333 </el-select>
334 )
335 }
336 },
337 {
338 label: '是否公共材料',
339 width: '100',
340 render: (h, scope) => {
341 return (
342 <el-radio-group v-model={scope.row.sfggcl} onChange={(val) => { scope.row[scope.column.property] = val; this.handleSelectGgcl(scope.row) }}>
343 <el-radio label={'1'}></el-radio>
344 <el-radio label={'0'}></el-radio>
345 </el-radio-group>
346 )
347 }
348 },
349 {
350 prop: 'djqxbm',
351 label: '登记情形',
352 width: '180',
353 render: (h, scope) => {
354 return (
355 <el-select disabled={scope.row.sfggcl == '1'} value={scope.row[scope.column.property]}
356 onChange={(val) => { scope.row[scope.column.property] = val }} clearable>
357 {
358 this.form.djqx.map(option => {
359 return (
360 <el-option label={option.nodename} value={option.nodecode}></el-option>
361 )
362 })
363 }
364 </el-select>
365 )
366 }
367 },
368 {
369 label: '移动',
370 width: '90',
371 render: (h, scope) => {
372 return (
373 <div>
374 <el-button type='text' disabled={scope.$index == 0} onClick={() => { this.moveUpward(scope.$index, scope.row) }}>上移</el-button>
375 <el-button type='text' disabled={(scope.$index + 1) == this.form.clxx.length} onClick={() => { this.moveDown(scope.$index, scope.row) }}>下移</el-button >
376 </div>
377 )
378 }
379 }
380 ],
184 }; 381 };
185 }, 382 },
383 computed: {
384 ...mapGetters(['dictData'])
385 },
186 mounted() {}, 386 mounted() {},
187 methods: { 387 methods: {
188 //页面初始化 388 //页面初始化
189 init() { 389 init() {
390 this.tn = 0;
190 getDjlxInfo(this.sqqlRule.bsmSqyw).then((res) => { 391 getDjlxInfo(this.sqqlRule.bsmSqyw).then((res) => {
191 let { result } = res; 392 let { result } = res;
192 this.djlxList = result ? result : []; 393 this.djlxList = result ? result : [];
...@@ -218,6 +419,12 @@ export default { ...@@ -218,6 +419,12 @@ export default {
218 </script> 419 </script>
219 <style lang='scss' scoped> 420 <style lang='scss' scoped>
220 @import "~@/styles/mixin.scss"; 421 @import "~@/styles/mixin.scss";
422 /deep/ .el-dialog {
423 margin: auto !important;
424 height: 90%;
425 width: 80%;
426 overflow: auto;
427 }
221 .form { 428 .form {
222 background: #eee; 429 background: #eee;
223 padding: 0 10px; 430 padding: 0 10px;
......