w-web-perm 1.0.24 → 1.0.26
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/dist/css/{app.f22995d1.css → app.d0e43dcc.css} +1 -1
- package/dist/index.tmp +9 -1
- package/dist/js/app-legacy.b0850281.js +2 -0
- package/dist/js/app-legacy.b0850281.js.map +1 -0
- package/dist/js/app.db01fef5.js +2 -0
- package/dist/js/app.db01fef5.js.map +1 -0
- package/dist/js/chunk-vendors-legacy.0432e7bc.js +13 -0
- package/dist/js/chunk-vendors-legacy.0432e7bc.js.map +1 -0
- package/dist/js/chunk-vendors.0432e7bc.js +13 -0
- package/dist/js/chunk-vendors.0432e7bc.js.map +1 -0
- package/dist/w-web-perm.umd.js +2 -2
- package/dist/w-web-perm.umd.js.map +1 -1
- package/docs/WWebPerm.html +1 -1
- package/docs/WWebPerm.mjs.html +30 -2
- package/docs/index.html +1 -1
- package/package.json +5 -5
- package/public/index.html +8 -0
- package/server/WWebPerm.mjs +29 -1
- package/src/App.vue +6 -1
- package/src/components/Layout.vue +0 -11
- package/src/components/LayoutContent.vue +22 -22
- package/src/components/LayoutContentGrups.vue +378 -97
- package/src/components/LayoutContentPemis.vue +422 -100
- package/src/components/LayoutContentTargets.vue +225 -55
- package/src/components/LayoutContentUsers.vue +256 -69
- package/src/components/VeCgrups.vue +28 -35
- package/src/components/VeCpemis.vue +28 -35
- package/src/components/VeCrules.vue +25 -31
- package/src/components/VeGrupBlngUsers.vue +63 -36
- package/src/components/VePemiBlngGrups.vue +63 -36
- package/src/schema/tables/pemis.mjs +1 -1
- package/src/store/mutations.mjs +77 -10
- package/srv.mjs +9 -1
- package/tableTags-web-perm.json +1 -1
- package/dist/js/app-legacy.128a1ced.js +0 -2
- package/dist/js/app-legacy.128a1ced.js.map +0 -1
- package/dist/js/app.128a1ced.js +0 -2
- package/dist/js/app.128a1ced.js.map +0 -1
- package/dist/js/chunk-vendors-legacy.d89048a8.js +0 -13
- package/dist/js/chunk-vendors-legacy.d89048a8.js.map +0 -1
- package/dist/js/chunk-vendors.d89048a8.js +0 -13
- package/dist/js/chunk-vendors.d89048a8.js.map +0 -1
- package/g.mjs +0 -0
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<WDialog
|
|
3
3
|
:show.sync="bShow"
|
|
4
|
-
:title="
|
|
4
|
+
:title="isEditable?$t('grupBlngEditUsers'):$t('grupBlngEditUsersForDisplay')"
|
|
5
5
|
:icon="mdiFormatListCheckbox"
|
|
6
6
|
:minWidth="800"
|
|
7
7
|
:maxWidth="800"
|
|
8
8
|
:fullscreen="fullscreen"
|
|
9
9
|
:contentBackgroundColor="'#fff'"
|
|
10
10
|
:headerBtns="useHeaderBtns"
|
|
11
|
-
:hasSaveBtn="isModified"
|
|
11
|
+
:hasSaveBtn="isEditable && isModified"
|
|
12
12
|
:save-btn-tooltip="$t('save')"
|
|
13
13
|
:close-btn-tooltip="$t('close')"
|
|
14
14
|
@click-btns="clickBtns"
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
<div>
|
|
21
21
|
|
|
22
22
|
<div
|
|
23
|
-
style="
|
|
23
|
+
style="_border-bottom:1px solid #ddd; background:#fff;"
|
|
24
24
|
v-domresize
|
|
25
25
|
@domresize="resizeHead"
|
|
26
26
|
>
|
|
@@ -39,7 +39,10 @@
|
|
|
39
39
|
</div>
|
|
40
40
|
|
|
41
41
|
<!-- 功能區 -->
|
|
42
|
-
<div
|
|
42
|
+
<div
|
|
43
|
+
style="padding:5px; background:#fff; display:flex; align-items:center;"
|
|
44
|
+
v-if="isEditable"
|
|
45
|
+
>
|
|
43
46
|
|
|
44
47
|
<template>
|
|
45
48
|
|
|
@@ -57,7 +60,7 @@
|
|
|
57
60
|
@click="showVeGrupBlngUsersToggleItemsEnableAllYes"
|
|
58
61
|
></WButtonCircle>
|
|
59
62
|
|
|
60
|
-
<div style="padding-left:
|
|
63
|
+
<div style="padding-left:4px;"></div>
|
|
61
64
|
|
|
62
65
|
</template>
|
|
63
66
|
|
|
@@ -77,7 +80,7 @@
|
|
|
77
80
|
@click="showVeGrupBlngUsersToggleItemsEnableAllNo"
|
|
78
81
|
></WButtonCircle>
|
|
79
82
|
|
|
80
|
-
<div style="padding-left:
|
|
83
|
+
<div style="padding-left:4px;"></div>
|
|
81
84
|
|
|
82
85
|
</template>
|
|
83
86
|
|
|
@@ -97,7 +100,7 @@
|
|
|
97
100
|
@click="showVeGrupBlngUsersToggleItemsEnableAllInv"
|
|
98
101
|
></WButtonCircle>
|
|
99
102
|
|
|
100
|
-
<div style="padding-left:
|
|
103
|
+
<div style="padding-left:4px;"></div>
|
|
101
104
|
|
|
102
105
|
</template>
|
|
103
106
|
|
|
@@ -117,7 +120,7 @@
|
|
|
117
120
|
@click="deleteItemsCheck"
|
|
118
121
|
></WButtonCircle>
|
|
119
122
|
|
|
120
|
-
<div style="padding-left:
|
|
123
|
+
<div style="padding-left:4px;"></div>
|
|
121
124
|
|
|
122
125
|
</template>
|
|
123
126
|
|
|
@@ -152,9 +155,6 @@ import get from 'lodash-es/get.js'
|
|
|
152
155
|
import set from 'lodash-es/set.js'
|
|
153
156
|
import each from 'lodash-es/each.js'
|
|
154
157
|
import map from 'lodash-es/map.js'
|
|
155
|
-
import trim from 'lodash-es/trim.js'
|
|
156
|
-
import uniq from 'lodash-es/uniq.js'
|
|
157
|
-
import find from 'lodash-es/find.js'
|
|
158
158
|
import size from 'lodash-es/size.js'
|
|
159
159
|
import filter from 'lodash-es/filter.js'
|
|
160
160
|
import join from 'lodash-es/join.js'
|
|
@@ -162,18 +162,11 @@ import sortBy from 'lodash-es/sortBy.js'
|
|
|
162
162
|
import isEqual from 'lodash-es/isEqual.js'
|
|
163
163
|
import cloneDeep from 'lodash-es/cloneDeep.js'
|
|
164
164
|
import genPm from 'wsemi/src/genPm.mjs'
|
|
165
|
-
import sep from 'wsemi/src/sep.mjs'
|
|
166
165
|
import haskey from 'wsemi/src/haskey.mjs'
|
|
167
166
|
import delay from 'wsemi/src/delay.mjs'
|
|
168
167
|
import iseobj from 'wsemi/src/iseobj.mjs'
|
|
169
168
|
import isestr from 'wsemi/src/isestr.mjs'
|
|
170
169
|
import WDialog from 'w-component-vue/src/components/WDialog.vue'
|
|
171
|
-
import WText from 'w-component-vue/src/components/WText.vue'
|
|
172
|
-
import WTextSuggest from 'w-component-vue/src/components/WTextSuggest.vue'
|
|
173
|
-
import WSwitch from 'w-component-vue/src/components/WSwitch.vue'
|
|
174
|
-
import WCheckbox from 'w-component-vue/src/components/WCheckbox.vue'
|
|
175
|
-
import WIcon from 'w-component-vue/src/components/WIcon.vue'
|
|
176
|
-
import WButtonChip from 'w-component-vue/src/components/WButtonChip.vue'
|
|
177
170
|
import WButtonCircle from 'w-component-vue/src/components/WButtonCircle.vue'
|
|
178
171
|
import WAggridVueDyn from 'w-component-vue/src/components/WAggridVueDyn.vue'
|
|
179
172
|
|
|
@@ -181,12 +174,6 @@ import WAggridVueDyn from 'w-component-vue/src/components/WAggridVueDyn.vue'
|
|
|
181
174
|
export default {
|
|
182
175
|
components: {
|
|
183
176
|
WDialog,
|
|
184
|
-
WText,
|
|
185
|
-
WTextSuggest,
|
|
186
|
-
WSwitch,
|
|
187
|
-
WCheckbox,
|
|
188
|
-
WIcon,
|
|
189
|
-
WButtonChip,
|
|
190
177
|
WButtonCircle,
|
|
191
178
|
WAggridVueDyn,
|
|
192
179
|
},
|
|
@@ -213,6 +200,7 @@ export default {
|
|
|
213
200
|
panelHeight: 100,
|
|
214
201
|
headHeight: 100,
|
|
215
202
|
|
|
203
|
+
isEditable: false,
|
|
216
204
|
isModified: false,
|
|
217
205
|
|
|
218
206
|
grup: null,
|
|
@@ -378,7 +366,7 @@ export default {
|
|
|
378
366
|
let kpHead = {
|
|
379
367
|
'name': vo.$t('userName'),
|
|
380
368
|
'grupsNames': vo.$t('belongGrupsNames'),
|
|
381
|
-
'mode': vo.$t('
|
|
369
|
+
'mode': vo.$t('operGrupEnable'),
|
|
382
370
|
'enable': vo.$t('operMode'),
|
|
383
371
|
}
|
|
384
372
|
|
|
@@ -389,13 +377,14 @@ export default {
|
|
|
389
377
|
keys: ks,
|
|
390
378
|
kpHead,
|
|
391
379
|
autoFitColumn: true,
|
|
380
|
+
defCellEditable: false, //vo.isEditable,
|
|
392
381
|
defHeadFilter: true,
|
|
393
382
|
defCellAlignH: 'left',
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
383
|
+
kpCellEditable: {
|
|
384
|
+
'name': vo.isEditable,
|
|
385
|
+
'mode': false,
|
|
386
|
+
'enable': false,
|
|
387
|
+
},
|
|
399
388
|
kpHeadWidth: {
|
|
400
389
|
'mode': 100,
|
|
401
390
|
'enable': 100,
|
|
@@ -462,7 +451,7 @@ export default {
|
|
|
462
451
|
// console.log('mode', mode, k, r)
|
|
463
452
|
|
|
464
453
|
let t = `
|
|
465
|
-
<select onchange="$vo.$dg.showVeGrupBlngUsersToggleItemModeByName('${name}',this.value)">
|
|
454
|
+
<select onchange="$vo.$dg.showVeGrupBlngUsersToggleItemModeByName('${name}',this.value)" ${vo.isEditable ? '' : 'disabled'}>
|
|
466
455
|
<option value="OR" ${mode === 'OR' ? 'selected' : ''}>OR</option>
|
|
467
456
|
<option value="AND" ${mode === 'AND' ? 'selected' : ''}>AND</option>
|
|
468
457
|
</select>
|
|
@@ -478,7 +467,7 @@ export default {
|
|
|
478
467
|
// console.log('name', name, k, r)
|
|
479
468
|
|
|
480
469
|
let t = `
|
|
481
|
-
<input type="checkbox" ${v === 'y' ? 'checked' : ''} onclick="$vo.$dg.showVeGrupBlngUsersToggleItemEnableByName('${name}')" />
|
|
470
|
+
<input type="checkbox" ${v === 'y' ? 'checked' : ''} onclick="$vo.$dg.showVeGrupBlngUsersToggleItemEnableByName('${name}')" ${vo.isEditable ? '' : 'disabled'} />
|
|
482
471
|
`
|
|
483
472
|
|
|
484
473
|
return t
|
|
@@ -576,10 +565,33 @@ export default {
|
|
|
576
565
|
return rows
|
|
577
566
|
},
|
|
578
567
|
|
|
568
|
+
fltKpGrup: function(kp) {
|
|
569
|
+
// console.log('fltKpGrup', kp)
|
|
570
|
+
|
|
571
|
+
let vo = this
|
|
572
|
+
|
|
573
|
+
//_kp
|
|
574
|
+
let _kp = {}
|
|
575
|
+
each(vo.grups, (v, k) => {
|
|
576
|
+
_kp[v.name] = true
|
|
577
|
+
})
|
|
578
|
+
// console.log('_kp', _kp)
|
|
579
|
+
|
|
580
|
+
//kpt
|
|
581
|
+
let kpt = {}
|
|
582
|
+
each(kp, (v, k) => {
|
|
583
|
+
if (haskey(_kp, k)) {
|
|
584
|
+
kpt[k] = v
|
|
585
|
+
}
|
|
586
|
+
})
|
|
587
|
+
|
|
588
|
+
return kpt
|
|
589
|
+
},
|
|
590
|
+
|
|
579
591
|
genItems: function(grup, users) {
|
|
580
592
|
// console.log('genItems', grup, users)
|
|
581
593
|
|
|
582
|
-
|
|
594
|
+
let vo = this
|
|
583
595
|
|
|
584
596
|
//items
|
|
585
597
|
let items = map(users, (u) => {
|
|
@@ -588,6 +600,10 @@ export default {
|
|
|
588
600
|
let kpGrup = JSON5.parse(u.cgrups)
|
|
589
601
|
// console.log(u.name, 'kpGrup', kpGrup)
|
|
590
602
|
|
|
603
|
+
//fltKpGrup
|
|
604
|
+
kpGrup = vo.fltKpGrup(kpGrup)
|
|
605
|
+
// console.log(u.name, 'kpGrup(fltKpGrup)', kpGrup)
|
|
606
|
+
|
|
591
607
|
//mode, enable, grups
|
|
592
608
|
let mode = 'OR'
|
|
593
609
|
let enable = 'n'
|
|
@@ -670,6 +686,10 @@ export default {
|
|
|
670
686
|
let kpGrup = JSON5.parse(u.cgrups)
|
|
671
687
|
// console.log(u.name, 'kpGrup', kpGrup)
|
|
672
688
|
|
|
689
|
+
//fltKpGrup
|
|
690
|
+
kpGrup = vo.fltKpGrup(kpGrup)
|
|
691
|
+
// console.log(u.name, 'kpGrup(fltKpGrup)', kpGrup)
|
|
692
|
+
|
|
673
693
|
//mode
|
|
674
694
|
let mode = get(rows, `${ku}.mode`, '')
|
|
675
695
|
if (mode !== 'OR' && mode !== 'AND') {
|
|
@@ -1103,8 +1123,8 @@ export default {
|
|
|
1103
1123
|
|
|
1104
1124
|
},
|
|
1105
1125
|
|
|
1106
|
-
show: function (
|
|
1107
|
-
// console.log('methods show',
|
|
1126
|
+
show: function (msg) {
|
|
1127
|
+
// console.log('methods show', msg)
|
|
1108
1128
|
|
|
1109
1129
|
let vo = this
|
|
1110
1130
|
|
|
@@ -1114,15 +1134,22 @@ export default {
|
|
|
1114
1134
|
//default
|
|
1115
1135
|
vo.isModified = false
|
|
1116
1136
|
|
|
1137
|
+
//isEditable, grup
|
|
1138
|
+
let isEditable = get(msg, 'isEditable', false)
|
|
1139
|
+
let grup = get(msg, 'grup', {})
|
|
1140
|
+
|
|
1117
1141
|
//grup
|
|
1118
1142
|
grup = cloneDeep(grup)
|
|
1119
|
-
vo.grup = grup
|
|
1120
1143
|
|
|
1121
1144
|
//users
|
|
1122
1145
|
let users = cloneDeep(vo.users)
|
|
1123
1146
|
|
|
1124
1147
|
//items
|
|
1125
1148
|
let items = vo.genItems(grup, users)
|
|
1149
|
+
|
|
1150
|
+
//save
|
|
1151
|
+
vo.isEditable = isEditable
|
|
1152
|
+
vo.grup = grup
|
|
1126
1153
|
vo.items = items
|
|
1127
1154
|
|
|
1128
1155
|
//genOpt
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<WDialog
|
|
3
3
|
:show.sync="bShow"
|
|
4
|
-
:title="
|
|
4
|
+
:title="isEditable?$t('pemiBlngEditGrups'):$t('pemiBlngEditGrupsForDisplay')"
|
|
5
5
|
:icon="mdiFormatListCheckbox"
|
|
6
6
|
:minWidth="800"
|
|
7
7
|
:maxWidth="800"
|
|
8
8
|
:fullscreen="fullscreen"
|
|
9
9
|
:contentBackgroundColor="'#fff'"
|
|
10
10
|
:headerBtns="useHeaderBtns"
|
|
11
|
-
:hasSaveBtn="isModified"
|
|
11
|
+
:hasSaveBtn="isEditable && isModified"
|
|
12
12
|
:save-btn-tooltip="$t('save')"
|
|
13
13
|
:close-btn-tooltip="$t('close')"
|
|
14
14
|
@click-btns="clickBtns"
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
<div>
|
|
21
21
|
|
|
22
22
|
<div
|
|
23
|
-
style="
|
|
23
|
+
style="_border-bottom:1px solid #ddd; background:#fff;"
|
|
24
24
|
v-domresize
|
|
25
25
|
@domresize="resizeHead"
|
|
26
26
|
>
|
|
@@ -39,7 +39,10 @@
|
|
|
39
39
|
</div>
|
|
40
40
|
|
|
41
41
|
<!-- 功能區 -->
|
|
42
|
-
<div
|
|
42
|
+
<div
|
|
43
|
+
style="padding:5px; background:#fff; display:flex; align-items:center;"
|
|
44
|
+
v-if="isEditable"
|
|
45
|
+
>
|
|
43
46
|
|
|
44
47
|
<template>
|
|
45
48
|
|
|
@@ -57,7 +60,7 @@
|
|
|
57
60
|
@click="showVePemiBlngGrupsToggleItemsEnableAllYes"
|
|
58
61
|
></WButtonCircle>
|
|
59
62
|
|
|
60
|
-
<div style="padding-left:
|
|
63
|
+
<div style="padding-left:4px;"></div>
|
|
61
64
|
|
|
62
65
|
</template>
|
|
63
66
|
|
|
@@ -77,7 +80,7 @@
|
|
|
77
80
|
@click="showVePemiBlngGrupsToggleItemsEnableAllNo"
|
|
78
81
|
></WButtonCircle>
|
|
79
82
|
|
|
80
|
-
<div style="padding-left:
|
|
83
|
+
<div style="padding-left:4px;"></div>
|
|
81
84
|
|
|
82
85
|
</template>
|
|
83
86
|
|
|
@@ -97,7 +100,7 @@
|
|
|
97
100
|
@click="showVePemiBlngGrupsToggleItemsEnableAllInv"
|
|
98
101
|
></WButtonCircle>
|
|
99
102
|
|
|
100
|
-
<div style="padding-left:
|
|
103
|
+
<div style="padding-left:4px;"></div>
|
|
101
104
|
|
|
102
105
|
</template>
|
|
103
106
|
|
|
@@ -117,7 +120,7 @@
|
|
|
117
120
|
@click="deleteItemsCheck"
|
|
118
121
|
></WButtonCircle>
|
|
119
122
|
|
|
120
|
-
<div style="padding-left:
|
|
123
|
+
<div style="padding-left:4px;"></div>
|
|
121
124
|
|
|
122
125
|
</template>
|
|
123
126
|
|
|
@@ -152,9 +155,6 @@ import get from 'lodash-es/get.js'
|
|
|
152
155
|
import set from 'lodash-es/set.js'
|
|
153
156
|
import each from 'lodash-es/each.js'
|
|
154
157
|
import map from 'lodash-es/map.js'
|
|
155
|
-
import trim from 'lodash-es/trim.js'
|
|
156
|
-
import uniq from 'lodash-es/uniq.js'
|
|
157
|
-
import find from 'lodash-es/find.js'
|
|
158
158
|
import size from 'lodash-es/size.js'
|
|
159
159
|
import filter from 'lodash-es/filter.js'
|
|
160
160
|
import join from 'lodash-es/join.js'
|
|
@@ -162,18 +162,11 @@ import sortBy from 'lodash-es/sortBy.js'
|
|
|
162
162
|
import isEqual from 'lodash-es/isEqual.js'
|
|
163
163
|
import cloneDeep from 'lodash-es/cloneDeep.js'
|
|
164
164
|
import genPm from 'wsemi/src/genPm.mjs'
|
|
165
|
-
import sep from 'wsemi/src/sep.mjs'
|
|
166
165
|
import haskey from 'wsemi/src/haskey.mjs'
|
|
167
166
|
import delay from 'wsemi/src/delay.mjs'
|
|
168
167
|
import iseobj from 'wsemi/src/iseobj.mjs'
|
|
169
168
|
import isestr from 'wsemi/src/isestr.mjs'
|
|
170
169
|
import WDialog from 'w-component-vue/src/components/WDialog.vue'
|
|
171
|
-
import WText from 'w-component-vue/src/components/WText.vue'
|
|
172
|
-
import WTextSuggest from 'w-component-vue/src/components/WTextSuggest.vue'
|
|
173
|
-
import WSwitch from 'w-component-vue/src/components/WSwitch.vue'
|
|
174
|
-
import WCheckbox from 'w-component-vue/src/components/WCheckbox.vue'
|
|
175
|
-
import WIcon from 'w-component-vue/src/components/WIcon.vue'
|
|
176
|
-
import WButtonChip from 'w-component-vue/src/components/WButtonChip.vue'
|
|
177
170
|
import WButtonCircle from 'w-component-vue/src/components/WButtonCircle.vue'
|
|
178
171
|
import WAggridVueDyn from 'w-component-vue/src/components/WAggridVueDyn.vue'
|
|
179
172
|
|
|
@@ -181,12 +174,6 @@ import WAggridVueDyn from 'w-component-vue/src/components/WAggridVueDyn.vue'
|
|
|
181
174
|
export default {
|
|
182
175
|
components: {
|
|
183
176
|
WDialog,
|
|
184
|
-
WText,
|
|
185
|
-
WTextSuggest,
|
|
186
|
-
WSwitch,
|
|
187
|
-
WCheckbox,
|
|
188
|
-
WIcon,
|
|
189
|
-
WButtonChip,
|
|
190
177
|
WButtonCircle,
|
|
191
178
|
WAggridVueDyn,
|
|
192
179
|
},
|
|
@@ -213,6 +200,7 @@ export default {
|
|
|
213
200
|
panelHeight: 100,
|
|
214
201
|
headHeight: 100,
|
|
215
202
|
|
|
203
|
+
isEditable: false,
|
|
216
204
|
isModified: false,
|
|
217
205
|
|
|
218
206
|
pemi: null,
|
|
@@ -378,7 +366,7 @@ export default {
|
|
|
378
366
|
let kpHead = {
|
|
379
367
|
'name': vo.$t('grupName'),
|
|
380
368
|
'pemisNames': vo.$t('belongPemisNames'),
|
|
381
|
-
'mode': vo.$t('
|
|
369
|
+
'mode': vo.$t('operPemiEnable'),
|
|
382
370
|
'enable': vo.$t('operMode'),
|
|
383
371
|
}
|
|
384
372
|
|
|
@@ -389,13 +377,14 @@ export default {
|
|
|
389
377
|
keys: ks,
|
|
390
378
|
kpHead,
|
|
391
379
|
autoFitColumn: true,
|
|
380
|
+
defCellEditable: false, //vo.isEditable,
|
|
392
381
|
defHeadFilter: true,
|
|
393
382
|
defCellAlignH: 'left',
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
383
|
+
kpCellEditable: {
|
|
384
|
+
'name': vo.isEditable,
|
|
385
|
+
'mode': false,
|
|
386
|
+
'enable': false,
|
|
387
|
+
},
|
|
399
388
|
kpHeadWidth: {
|
|
400
389
|
'mode': 100,
|
|
401
390
|
'enable': 100,
|
|
@@ -462,7 +451,7 @@ export default {
|
|
|
462
451
|
// console.log('mode', mode, k, r)
|
|
463
452
|
|
|
464
453
|
let t = `
|
|
465
|
-
<select onchange="$vo.$dg.showVePemiBlngGrupsToggleItemModeByName('${name}',this.value)">
|
|
454
|
+
<select onchange="$vo.$dg.showVePemiBlngGrupsToggleItemModeByName('${name}',this.value)" ${vo.isEditable ? '' : 'disabled'}>
|
|
466
455
|
<option value="OR" ${mode === 'OR' ? 'selected' : ''}>OR</option>
|
|
467
456
|
<option value="AND" ${mode === 'AND' ? 'selected' : ''}>AND</option>
|
|
468
457
|
</select>
|
|
@@ -478,7 +467,7 @@ export default {
|
|
|
478
467
|
// console.log('name', name, k, r)
|
|
479
468
|
|
|
480
469
|
let t = `
|
|
481
|
-
<input type="checkbox" ${v === 'y' ? 'checked' : ''} onclick="$vo.$dg.showVePemiBlngGrupsToggleItemEnableByName('${name}')" />
|
|
470
|
+
<input type="checkbox" ${v === 'y' ? 'checked' : ''} onclick="$vo.$dg.showVePemiBlngGrupsToggleItemEnableByName('${name}')" ${vo.isEditable ? '' : 'disabled'} />
|
|
482
471
|
`
|
|
483
472
|
|
|
484
473
|
return t
|
|
@@ -576,10 +565,33 @@ export default {
|
|
|
576
565
|
return rows
|
|
577
566
|
},
|
|
578
567
|
|
|
568
|
+
fltKpPemi: function(kp) {
|
|
569
|
+
// console.log('fltKpPemi', kp)
|
|
570
|
+
|
|
571
|
+
let vo = this
|
|
572
|
+
|
|
573
|
+
//_kp
|
|
574
|
+
let _kp = {}
|
|
575
|
+
each(vo.pemis, (v, k) => {
|
|
576
|
+
_kp[v.name] = true
|
|
577
|
+
})
|
|
578
|
+
// console.log('_kp', _kp)
|
|
579
|
+
|
|
580
|
+
//kpt
|
|
581
|
+
let kpt = {}
|
|
582
|
+
each(kp, (v, k) => {
|
|
583
|
+
if (haskey(_kp, k)) {
|
|
584
|
+
kpt[k] = v
|
|
585
|
+
}
|
|
586
|
+
})
|
|
587
|
+
|
|
588
|
+
return kpt
|
|
589
|
+
},
|
|
590
|
+
|
|
579
591
|
genItems: function(pemi, grups) {
|
|
580
592
|
// console.log('genItems', pemi, grups)
|
|
581
593
|
|
|
582
|
-
|
|
594
|
+
let vo = this
|
|
583
595
|
|
|
584
596
|
//items
|
|
585
597
|
let items = map(grups, (g) => {
|
|
@@ -588,6 +600,10 @@ export default {
|
|
|
588
600
|
let kpPemi = JSON5.parse(g.cpemis)
|
|
589
601
|
// console.log(g.name, 'kpPemi', kpPemi)
|
|
590
602
|
|
|
603
|
+
//fltKpPemi
|
|
604
|
+
kpPemi = vo.fltKpPemi(kpPemi)
|
|
605
|
+
// console.log(g.name, 'kpPemi(fltKpPemi)', kpPemi)
|
|
606
|
+
|
|
591
607
|
//mode, enable, pemis
|
|
592
608
|
let mode = 'OR'
|
|
593
609
|
let enable = 'n'
|
|
@@ -670,6 +686,10 @@ export default {
|
|
|
670
686
|
let kpPemi = JSON5.parse(g.cpemis)
|
|
671
687
|
// console.log(g.name, 'kpPemi', kpPemi)
|
|
672
688
|
|
|
689
|
+
//fltKpPemi
|
|
690
|
+
kpPemi = vo.fltKpPemi(kpPemi)
|
|
691
|
+
// console.log(g.name, 'kpPemi(fltKpPemi)', kpPemi)
|
|
692
|
+
|
|
673
693
|
//mode
|
|
674
694
|
let mode = get(rows, `${kg}.mode`, '')
|
|
675
695
|
if (mode !== 'OR' && mode !== 'AND') {
|
|
@@ -1103,8 +1123,8 @@ export default {
|
|
|
1103
1123
|
|
|
1104
1124
|
},
|
|
1105
1125
|
|
|
1106
|
-
show: function (
|
|
1107
|
-
// console.log('methods show',
|
|
1126
|
+
show: function (msg) {
|
|
1127
|
+
// console.log('methods show', msg)
|
|
1108
1128
|
|
|
1109
1129
|
let vo = this
|
|
1110
1130
|
|
|
@@ -1114,15 +1134,22 @@ export default {
|
|
|
1114
1134
|
//default
|
|
1115
1135
|
vo.isModified = false
|
|
1116
1136
|
|
|
1137
|
+
//isEditable, pemi
|
|
1138
|
+
let isEditable = get(msg, 'isEditable', false)
|
|
1139
|
+
let pemi = get(msg, 'pemi', {})
|
|
1140
|
+
|
|
1117
1141
|
//grup
|
|
1118
1142
|
pemi = cloneDeep(pemi)
|
|
1119
|
-
vo.pemi = pemi
|
|
1120
1143
|
|
|
1121
1144
|
//grups
|
|
1122
1145
|
let grups = cloneDeep(vo.grups)
|
|
1123
1146
|
|
|
1124
1147
|
//items
|
|
1125
1148
|
let items = vo.genItems(pemi, grups)
|
|
1149
|
+
|
|
1150
|
+
//save
|
|
1151
|
+
vo.isEditable = isEditable
|
|
1152
|
+
vo.pemi = pemi
|
|
1126
1153
|
vo.items = items
|
|
1127
1154
|
|
|
1128
1155
|
//genOpt
|