cloud-web-corejs 1.0.208 → 1.0.209

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "cloud-web-corejs",
3
3
  "private": false,
4
- "version": "1.0.208",
4
+ "version": "1.0.209",
5
5
  "scripts": {
6
6
  "dev": "vue-cli-service serve",
7
7
  "lint": "eslint --ext .js,.vue src",
@@ -0,0 +1,544 @@
1
+ <template>
2
+ <div id="containt">
3
+ <el-tabs v-model="activeName" class="tab-box">
4
+ <el-tab-pane :label="$t1('列表')" name="second">
5
+ <div class="grid-height">
6
+ <vxe-grid ref="table-m1" v-bind="vxeOption" @resizable-change="$vxeTableUtil.onColumnWitchChange"
7
+ @custom="$vxeTableUtil.customHandle">
8
+ <template #form>
9
+ <div class="clearfix screen-btns">
10
+ <div class="fl">
11
+ <vxe-button status="primary" type="text" plain class="button-sty" icon="el-icon-plus" @click="addMenu()">
12
+ {{ $t1('新增一级菜单') }}
13
+ </vxe-button>
14
+ </div>
15
+ <div class="fr">
16
+ <vxe-button icon="el-icon-brush" class="button-sty" @click="resetEvent" type="text" status="primary"
17
+ plain>{{ $t1('重置') }}
18
+ </vxe-button>
19
+ <vxe-button status="warning" icon="el-icon-search" class="button-sty" @click="searchEvent">
20
+ {{ $t1('搜索') }}
21
+ </vxe-button>
22
+ </div>
23
+ </div>
24
+ <vxe-form ref="form" class="screen-box" title-width="92px" title-align="right" :data="formData"
25
+ @submit="searchEvent">
26
+ <vxe-form-item :title="$t1('菜单名称')+':'" field="menuName">
27
+ <template v-slot>
28
+ <el-input v-model="formData.menuName" size="small" clearable/>
29
+ </template>
30
+ </vxe-form-item>
31
+ <vxe-form-item :title="$t1('菜单编码')+':'" field="menuCode">
32
+ <template v-slot>
33
+ <el-input v-model="formData.menuCode" size="small" clearable/>
34
+ </template>
35
+ </vxe-form-item>
36
+ <vxe-form-item :title="$t1('是否启用')+':'" field="enabled">
37
+ <template v-slot>
38
+ <el-select v-model="formData.enabled" clearable>
39
+ <el-option value="true" :label="$t1('启用')"></el-option>
40
+ <el-option value="false" :label="$t1('禁用')"></el-option>
41
+ </el-select>
42
+ </template>
43
+ </vxe-form-item>
44
+ </vxe-form>
45
+ </template>
46
+ <template #menuImgEdit="{row,rowIndex}">
47
+ <el-popover
48
+ placement="bottom"
49
+ width="680"
50
+ trigger="click"
51
+ :ref="'menuImg'+rowIndex"
52
+ >
53
+ <div class="icons-box">
54
+ <div class="item iconfont" v-for="(item,index) in iconList" :key="index"
55
+ :class="[item,row.menuImg === item ? 'on':'']" @click="checkMenuImg(row,item,rowIndex)"></div>
56
+ </div>
57
+ <label class="icons-box_select" :class="{noNone:(!!row.menuImg)}" slot="reference">
58
+ <i :class="row.menuImg" class="iconfont"></i>
59
+ <i class="el-icon-arrow-down"></i>
60
+ <i class="el-icon-circle-close icon-box_del" @click.stop="clearMenuImg(row)"></i>
61
+ </label>
62
+ </el-popover>
63
+
64
+ </template>
65
+ <template #operate="obj">
66
+ <div class="cell-operate">
67
+ <template v-if="$refs['table-m1'].isActiveByRow(obj.row)">
68
+ <a @click="saveRowEvent(obj)" class="a-link">
69
+ <el-tooltip :enterable="false" effect="dark" :content="$t1('保存')" placement="top"
70
+ popper-class="tooltip-skin"><i class="el-icon-circle-check"></i></el-tooltip>
71
+ </a>
72
+ <a @click="cancleRowEvent(obj)" class="a-link" v-if="hasSaveRow(obj.row)">
73
+ <el-tooltip :enterable="false" effect="dark" :content="$t1('取消行编辑')" placement="top"
74
+ popper-class="tooltip-skin"><i class="el-icon-circle-close"></i></el-tooltip>
75
+ </a>
76
+ <a @click="removeRowEvent(obj)" class="a-link" v-if="!hasSaveRow(obj.row)">
77
+ <el-tooltip :enterable="false" effect="dark" :content="$t1('删除')" placement="top"
78
+ popper-class="tooltip-skin"><i class="el-icon-delete"></i></el-tooltip>
79
+ </a>
80
+ </template>
81
+ <template v-else>
82
+ <a class="a-link" @click="addMenu(obj)" v-if="obj.row && !obj.row.parent">
83
+ <el-tooltip :enterable="false" effect="dark" :content="$t1('新增')" placement="top"
84
+ popper-class="tooltip-skin"><i class="el-icon-circle-plus-outline"></i></el-tooltip>
85
+ </a>
86
+ <a @click="editRowEvent(obj)" class="a-link" v-if="obj.row">
87
+ <el-tooltip :enterable="false" effect="dark" :content="$t1('行编辑')" placement="top"
88
+ popper-class="tooltip-skin"><i class="el-icon-edit-outline"></i></el-tooltip>
89
+ </a>
90
+ </template>
91
+ </div>
92
+ </template>
93
+ </vxe-grid>
94
+ </div>
95
+ </el-tab-pane>
96
+ </el-tabs>
97
+ </div>
98
+ </template>
99
+
100
+ <script>
101
+ import {tableTreeMixins} from '@base/mixins/tableTree/index.js';
102
+
103
+ export default {
104
+ name: 'workbench_menu:list',
105
+ components: {},
106
+ mixins: [tableTreeMixins],
107
+ mounted() {
108
+ this.initTableList();
109
+ },
110
+ data() {
111
+ let that = this;
112
+ return {
113
+ activeName: 'second',
114
+ dataId: '',
115
+ formData: {},
116
+ vxeOption: {},
117
+ iconList: [
118
+ "icon-shangji-shangjiguanli",
119
+ "icon-daifahuodingdan",
120
+ "icon-jichuziliao",
121
+ "icon-zuzhi",
122
+ "icon-shujujianmo",
123
+ "icon-wenjianguanli",
124
+ "icon-guanli1",
125
+ "icon-dianshang",
126
+ "icon-ziyuan",
127
+ "icon-feiyongguanli",
128
+ "icon-yunpingtai",
129
+ "icon-yingxiao",
130
+ "icon-biaodanguanli",
131
+ "icon-baobiao",
132
+ "icon-yusuanguanli",
133
+ "icon-baoxiao",
134
+ "icon-yanfa",
135
+ "icon-hetong",
136
+ "icon-danjuliuchengshezhi",
137
+ "icon-shenqingguanli",
138
+ "icon-xitongshezhi",
139
+ "icon-icon-servicenetwork",
140
+ "icon-a-zu96",
141
+ "icon-chanpin2",
142
+ "icon-shangpin2",
143
+ "icon-tuihuanhuo1",
144
+ "icon-wenquantiaocha",
145
+ "icon-cangchu",
146
+ "icon-caigou",
147
+ "icon-churuku",
148
+ "icon-fl-gouwuche",
149
+ "icon-shangpinfenlei",
150
+ "icon-shangpinshangxiajia",
151
+ "icon-taocanxinxi_changgui",
152
+ "icon-kehuchaxun",
153
+ "icon-shangpin-canshumoban",
154
+ "icon-shangpinguanli-shangpinweihu",
155
+ "icon-kehubiangeng",
156
+ "icon-shanghuguanxiweihu",
157
+ "icon-kehuxinzeng",
158
+ "icon-dunpaibaowei",
159
+ "icon-a-061_bijiben",
160
+ "icon-a-061_gengduo",
161
+ "icon-a-061_gouwu-12",
162
+ "icon-a-061_jianzhu-17",
163
+ "icon-a-061_shuben",
164
+ "icon-a-061_jinbi",
165
+ "icon-a-061_guangbo",
166
+ "icon-a-061_shuqian",
167
+ "icon-a-061_shangpin",
168
+ "icon-a-061_kuaidi",
169
+ "icon-a-061_wenjian",
170
+ "icon-a-061_xiaoxi",
171
+ "icon-a-rongqi262",
172
+ "icon-a-rongqi256",
173
+ "icon-a-rongqi265",
174
+ "icon-a-rongqi285",
175
+ "icon-huomiao-mianxing",
176
+ "icon-dingwei-mianxing",
177
+ "icon-xiuxian-mianxing",
178
+ "icon-shuju-wenjianliebiao",
179
+ "icon-chexing-pinpailiebiao",
180
+ "icon-yonghu-gongzuodanwei",
181
+ "icon-shujujieguo",
182
+ "icon-gongyingshangguanli",
183
+ "icon-xitong-quanxianguanli",
184
+ "icon-shujuguanli",
185
+ "icon-yonghushenhe",
186
+ "icon-gongyingshangliebiao",
187
+ "icon-xiaoliangliebiao",
188
+ "icon-chexing-ruanjianbanben",
189
+ "icon-xitong-meijuguanli",
190
+ "icon-huiyuan-qiyeguanli",
191
+ "icon-chexing-ruanjianbanben1",
192
+ "icon-shuju-ceshiguihua",
193
+ "icon-yonghuliebiao",
194
+ "icon-yonghuguanli",
195
+ "icon-xitong-jiaoseguanli",
196
+ "icon-chexingliebiao",
197
+ "icon-chexingguanli",
198
+ "icon-shujujiegou",
199
+ "icon-huiyuanyonghu",
200
+ "icon-huiyuan-quanxianguanli",
201
+ "icon-shexiangtouqiehuan",
202
+ "icon-luyin",
203
+ "icon-yingpianjiesuo",
204
+ "icon-yingpianjiasuo",
205
+ "icon-qianlu",
206
+ "icon-luxiangjiasuo",
207
+ "icon-a-yonghuliebiao3x",
208
+ "icon-a-yijianfankui3x",
209
+ "icon-a-chanpinshangjiaguanli3x",
210
+ "icon-a-kefufankui3x",
211
+ "icon-a-zhanghaoguanli3x",
212
+ "icon-a-kefu3x",
213
+ "icon-a-kesu3x",
214
+ "icon-a-ribaobiaoshuju3x",
215
+ "icon-a-tuikuan3x",
216
+ "icon-gudingmianzhi",
217
+ "icon-manjianquan",
218
+ "icon-xiangouhuodong",
219
+ "icon-youhuiquan",
220
+ "icon-Xyuanhuodong",
221
+ "icon-shangpindongcha",
222
+ "icon-zhijianghuodong",
223
+ "icon-shizhongshezhi",
224
+ "icon-kasuceshi",
225
+ "icon-SDkarongliang",
226
+ "icon-sudubuchang",
227
+ "icon-sududanwei",
228
+ "icon-GPSxinxi",
229
+ "icon-GPSxianshi",
230
+ "icon-GPSshuiyin",
231
+ "icon-a-shouhui3x",
232
+ "icon-a-yunyingpeizhi3x",
233
+ "icon-biaotitubiao",
234
+ "icon-tubiao1",
235
+ "icon-tubiao18",
236
+ "icon-tubiao28",
237
+ "icon-tiyugonggongsheshi",
238
+ "icon-tubiaoliebiao",
239
+ "icon-VRtubiao",
240
+ "icon-tubiaoAzitubiao",
241
+ "icon-tubiao2",
242
+ "icon-tubiao-",
243
+ "icon-tubiao-1",
244
+ "icon-tubiao-2",
245
+ "icon-tubiao-3",
246
+ "icon-tubiao3",
247
+ "icon-a-tubiao-daqijiayou",
248
+ "icon-charge-fill",
249
+ "icon-book-fill",
250
+ "icon-device-set-fill",
251
+ "icon-dynamic-password-fill",
252
+ "icon-map-fill",
253
+ "icon-security-fill",
254
+ "icon-tool-fill",
255
+ "icon-readcard-fill",
256
+ "icon-chaye",
257
+ "icon-baoxian",
258
+ "icon-dadou",
259
+ "icon-nongye",
260
+ "icon-nongyeqixiang",
261
+ "icon-pingguo",
262
+ "icon-nongyebaoxian",
263
+ "icon-yaogan",
264
+ "icon-zhiwu",
265
+ "icon-weixing",
266
+ "icon-qixiang",
267
+ "icon-zuowu",
268
+ "icon-qiyeguanli-2",
269
+ "icon-qiyeshenhe-2",
270
+ "icon-xiaoxi",
271
+ "icon-xunhuan",
272
+ "icon-zoushi",
273
+ "icon-bushu",
274
+ "icon-duanlian",
275
+ "icon-gaojing",
276
+ "icon-renyuan",
277
+ "icon-tubiao4",
278
+ "icon-wangguan",
279
+ "icon-wangluo",
280
+ "icon-fenzhi",
281
+ "icon-gongchang",
282
+ "icon-zhihuizhongxin",
283
+ "icon-mti-an-gongmaoqiye",
284
+ "icon-mti-an-zhongdaweixianyuan",
285
+ "icon-mti-cheng-huanjing",
286
+ "icon-mti-cheng-lvhua",
287
+ "icon-mti-di-dimianchenjiang",
288
+ "icon-mti-cheng-fengli",
289
+ "icon-mti-di-qiangzhentai",
290
+ "icon-mti-dong-yinhuan",
291
+ "icon-mti-dong-jiaotongshigu",
292
+ "icon-mti-dong-jianzhugongdi",
293
+ "icon-mti-fang-jiangyuliang",
294
+ "icon-mti-dong-weihuapin",
295
+ "icon-mti-gu-shengtaihuanjing",
296
+ "icon-mti-ying-daochang",
297
+ "icon-mti-sen-shumuziyuanfenbu",
298
+ "icon-mti-gongdi",
299
+ "icon-mti-ying-moshiqiehuan",
300
+ "icon-mti-ying-tongxunbaozhang",
301
+ "icon-mti-ying-qidongyuan",
302
+ "icon-mti-ying-jishuidian",
303
+ "icon-mti-ying-zaihoufupan",
304
+ "icon-wodeshequ2",
305
+ "icon-service-line-1",
306
+ "icon-notice-manage-fill",
307
+ "icon-announcement-fill",
308
+ "icon-box-noise-fill",
309
+ 'icon-zhengjiquanxianx',
310
+ 'icon-gongshi',
311
+ 'icon-gongshi1',
312
+ 'icon-shouye-yanfaguanli',
313
+ 'icon-yanfaguanli-rizhiguanli',
314
+ 'icon-yanfaguanli-xiangmuguanli',
315
+ 'icon-yanfaguanli-wendingxing',
316
+ 'icon-yanfaguanli-xuqiuguanli',
317
+ 'icon-zhengjibeijian',
318
+ 'icon-zhengjishiyan',
319
+ 'icon-yanfafeiyong',
320
+ 'icon-yusuanjisuan',
321
+ 'icon-feiyongtongji',
322
+ 'icon-gongshiguanli'
323
+ ],
324
+ };
325
+ },
326
+ methods: {
327
+ searchEvent() {
328
+ this.$refs['table-m1'].commitProxy('reload');
329
+ },
330
+ resetEvent() {
331
+ this.formData = {};
332
+ this.$refs['table-m1'].commitProxy('reload');
333
+ },
334
+ initTableList() {
335
+ let that = this;
336
+ let tableOption = {
337
+ vue: this,
338
+ tableRef: 'table-m1',
339
+ tableName: 'user_workbench_menu_list-m1',
340
+ path: USER_PREFIX + '/workbench_menu/list',
341
+ treeNodeUrl: USER_PREFIX + '/workbench_menu/listChildren',
342
+ editSaveUrl: USER_PREFIX + '/workbench_menu/save',
343
+ editDefaultRow: () => {
344
+ return {enabled: true};
345
+ },
346
+ param: () => {
347
+ return this.formData;
348
+ },
349
+ treeNodeParam: row => {
350
+ return {
351
+ parent: row.id,
352
+ enabled: this.formData.enabled
353
+ };
354
+ },
355
+ config: {
356
+ treeConfig: {
357
+ parentField: 'parent'
358
+ },
359
+ scrollX:{
360
+ enabled: false
361
+ }
362
+ },
363
+ columns: [
364
+ {type: 'checkbox', width: 48, resizable: false, fixed: 'left'},
365
+ {
366
+ title: this.$t1('菜单名称'),
367
+ field: 'menuName',
368
+ width: 250,
369
+ fixed: 'left',
370
+ treeNode: true,
371
+ editRender: {name: 'input'},
372
+ slots: {
373
+ default: ({row}) => {
374
+ return [
375
+ <a
376
+ class="levitate-tips"
377
+ onclick={event => {
378
+ event.stopPropagation();
379
+ this.$refs['table-m1'].toggleTreeExpand(row);
380
+ }}
381
+ >
382
+ {row.menuName}
383
+ </a>
384
+ ];
385
+ }
386
+ }
387
+ },
388
+ {
389
+ field: 'menuCode',
390
+ title: this.$t1('菜单编码'),
391
+ width: 250,
392
+ editRender: {},
393
+ slots: {
394
+ edit: ({row}) => {
395
+ return [<el-input v-model={row.menuCode}/>];
396
+ }
397
+ }
398
+ },
399
+ {
400
+ field: 'enabled',
401
+ title: this.$t1('是否启用'),
402
+ width: 150,
403
+ editRender: {
404
+ name: '$select',
405
+ events: {
406
+ change: () => {
407
+ this.$forceUpdate();
408
+ }
409
+ },
410
+ options: [
411
+ {
412
+ label: this.$t1('启用'),
413
+ value: true
414
+ },
415
+ {
416
+ label: this.$t1('禁用'),
417
+ value: false
418
+ }
419
+ ]
420
+ },
421
+ slots: {
422
+ default: ({row}) => {
423
+ if (row.enabled) {
424
+ return [<div class="txt-status">{this.$t1('启用')}</div>];
425
+ } else {
426
+ return [<div class="txt-status s-3">{this.$t1('禁用')}</div>];
427
+ }
428
+ }
429
+ }
430
+ },
431
+ {field: 'orders', title: this.$t1('序号'), width: 100,
432
+ editRender: {},
433
+ slots: {
434
+ edit: ({row}) => {
435
+ if(row.orders===null)row.orders = undefined;
436
+ return [<base-input-number v-model={row.orders}/>];
437
+ }
438
+ }},
439
+ {
440
+ field: 'menuImg',
441
+ title: this.$t1('图标'),
442
+ width: 150,
443
+ editRender: {},
444
+ slots: {
445
+ default: ({row}) => {
446
+ return [
447
+ <i class={"iconfont " + row.menuImg}></i>
448
+ ];
449
+ },
450
+ edit: "menuImgEdit"
451
+ }
452
+ },
453
+ {
454
+ field: 'menuImgColor',
455
+ title: this.$t1('图标颜色'),
456
+ width: 150,
457
+ editRender: {},
458
+ slots: {
459
+ default: ({row}) => {
460
+ if(!!row.menuImgColor){
461
+ return [<el-color-picker class="menu-color" v-model={row.menuImgColor} disabled={true} />];
462
+ }
463
+ },
464
+ edit: ({row}) => {
465
+ return [<el-color-picker v-model={row.menuImgColor}/>];
466
+ }
467
+ }
468
+ },
469
+ {
470
+ field: 'note',
471
+ title: this.$t1('说明'),
472
+ width: 350,
473
+ editRender: {},
474
+ slots: {
475
+ edit: ({row}) => {
476
+ return [<el-input v-model={row.note}/>];
477
+ }
478
+ }
479
+ },
480
+ {title: this.$t1('创建时间'), field: 'createDate', width: 150},
481
+ {title: this.$t1('更新时间'), field: 'modifyDate', width: 150},
482
+ {
483
+ width: 100,
484
+ title: '',
485
+ fixed: 'right',
486
+ sortable: false,
487
+ slots: {default: 'operate'}
488
+ }
489
+ ]
490
+ };
491
+ this.$vxeTableUtil.initVxeTable(tableOption).then(opts => {
492
+ this.vxeOption = opts;
493
+ });
494
+ },
495
+ addMenu(parentParam) {
496
+ if (parentParam) {
497
+ this.insertChildEvent(parentParam);
498
+ } else {
499
+ this.insertTopRow(this.$refs['table-m1']);
500
+ }
501
+ },
502
+ checkMenuImg(row, menuImg, rowIndex) {
503
+ row.menuImg = menuImg;
504
+ this.$refs['menuImg' + rowIndex].showPopper = false;
505
+ },
506
+ clearMenuImg(row) {
507
+ row.menuImg = null;
508
+ }
509
+ }
510
+ };
511
+ </script>
512
+ <style scoped lang="scss">
513
+ .el-select-dropdown__item .iconfont {
514
+ vertical-align: middle;
515
+ margin-right: 3px;
516
+ }
517
+
518
+ .icons-box_select {
519
+ .el-icon-circle-close {
520
+ display: none;
521
+ }
522
+ }
523
+
524
+ .icons-box_select.noNone:hover {
525
+ .el-icon-arrow-down {
526
+ display: none;
527
+ }
528
+
529
+ .el-icon-circle-close {
530
+ display: inline-block;
531
+ }
532
+ }
533
+ ::v-deep .menu-color .el-color-picker__mask{
534
+ background-color: unset;
535
+ cursor: default;
536
+ }
537
+ ::v-deep .menu-color .el-color-picker__trigger {
538
+ cursor: default;
539
+ }
540
+ ::v-deep .menu-color .el-icon-arrow-down{
541
+ display: none;
542
+ }
543
+
544
+ </style>