w-web-perm 1.0.83 → 1.0.85
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/{chunk-vendors.034f7a87.css → chunk-vendors.18034562.css} +1 -1
- package/dist/index.tmp +1 -1
- package/dist/js/app-legacy.aaaa3681.js +1 -0
- package/dist/js/app.aaaa3681.js +1 -0
- package/dist/js/{chunk-vendors-legacy.d0596078.js → chunk-vendors-legacy.7b6ae0b0.js} +3 -3
- package/dist/js/{chunk-vendors.d0596078.js → chunk-vendors.7b6ae0b0.js} +3 -3
- 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/global.html +1 -1
- package/docs/index.html +1 -1
- package/docs/server_WWebPerm.mjs.html +1 -1
- package/docs/server_procCore.mjs.html +1 -1
- package/docs/src_fetchJson.mjs.html +1 -1
- package/package.json +2 -2
- package/server/procLang.mjs +12 -4
- package/src/components/LayoutContentGrups.vue +6 -6
- package/src/components/LayoutContentPemis.vue +6 -6
- package/src/components/LayoutContentTargets.vue +2 -2
- package/src/components/LayoutContentUsers.vue +5 -3
- package/src/components/ModeSelectChip.vue +182 -0
- package/src/components/RelationChip.vue +114 -0
- package/src/components/RelationChips.vue +375 -0
- package/src/components/VeCgrups.vue +23 -20
- package/src/components/VeCpemis.vue +21 -20
- package/src/components/VeCrules.vue +8 -1
- package/src/components/VeGrupBlngUsers.vue +40 -51
- package/src/components/VePemiBlngGrups.vue +27 -41
- package/tableTags-web-perm.json +1 -1
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/README.md +58 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/diff/server_procLang.mjs.diff +31 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/diff/src_App.vue.diff +19 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/diff/src_components_LayoutContentGrups.vue.diff +40 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/diff/src_components_LayoutContentPemis.vue.diff +40 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/diff/src_components_ModeSelectChip.vue.new.diff +124 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/diff/src_components_RelationChip.vue.new.diff +116 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/diff/src_components_RelationChips.vue.new.diff +152 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/diff/src_components_VeCgrups.vue.diff +76 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/diff/src_components_VeCpemis.vue.diff +76 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/diff/src_components_VeCrules.vue.diff +14 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/diff/src_components_VeGrupBlngUsers.vue.diff +121 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/diff/src_components_VePemiBlngGrups.vue.diff +121 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/server/procLang.mjs +1049 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/src/App.vue +204 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/src/components/LayoutContentGrups.vue +1260 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/src/components/LayoutContentPemis.vue +1262 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/src/components/ModeSelectChip.vue +121 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/src/components/RelationChip.vue +113 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/src/components/RelationChips.vue +149 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/src/components/VeCgrups.vue +943 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/src/components/VeCpemis.vue +943 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/src/components/VeCrules.vue +848 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/src/components/VeGrupBlngUsers.vue +1157 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/src/components/VePemiBlngGrups.vue +1157 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231//351/251/227/350/255/211/346/210/252/345/234/226/A-/347/256/241/347/220/206/346/254/212/351/231/220/344/270/273/350/241/250.png +0 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231//351/251/227/350/255/211/346/210/252/345/234/226/A-/347/256/241/347/220/206/346/254/212/351/231/220/347/276/244/347/265/204/344/270/273/350/241/250.png +0 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231//351/251/227/350/255/211/346/210/252/345/234/226/B1-/347/267/250/350/274/257/346/211/200/345/261/254/346/254/212/351/231/220/347/276/244/347/265/204-/345/260/215/350/251/261/346/241/206.png +0 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231//351/251/227/350/255/211/346/210/252/345/234/226/B2-/347/267/250/350/274/257/346/211/200/345/261/254/346/254/212/351/231/220/347/276/244/347/265/204-hover/346/234/254/351/240/205chip.png +0 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231//351/251/227/350/255/211/346/210/252/345/234/226/B3-/347/267/250/350/274/257/346/211/200/345/261/254/346/254/212/351/231/220/347/276/244/347/265/204-/345/261/225/351/226/213/346/234/254/351/240/205chip/346/270/205/345/226/256.png +0 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231//351/251/227/350/255/211/346/210/252/345/234/226/B4-/347/267/250/350/274/257/346/211/200/345/261/254/346/254/212/351/231/220/347/276/244/347/265/204-/346/234/254/351/240/205chip/345/267/262/347/202/272AND.png +0 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231//351/251/227/350/255/211/346/210/252/345/234/226/B5-/347/267/250/350/274/257/346/211/200/345/261/254/346/254/212/351/231/220/347/276/244/347/265/204-/345/261/225/351/226/213/345/205/250/351/203/250/346/265/256/345/261/244.png +0 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231//351/251/227/350/255/211/346/210/252/345/234/226/B6-/347/267/250/350/274/257/346/211/200/345/261/254/346/254/212/351/231/220/347/276/244/347/265/204-/345/213/276/351/201/270/345/276/214/346/234/254/351/240/205chip/345/234/250/351/246/226/344/275/215.png +0 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231//351/251/227/350/255/211/346/210/252/345/234/226/C1-/347/267/250/350/274/257/344/275/277/347/224/250/346/254/212/351/231/220-/345/260/215/350/251/261/346/241/206.png +0 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231//351/251/227/350/255/211/346/210/252/345/234/226/C2-/347/267/250/350/274/257/344/275/277/347/224/250/346/254/212/351/231/220-hover/345/267/262/345/213/276/351/201/270/345/210/227/346/216/247/345/210/266/351/240/205.png +0 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231//351/251/227/350/255/211/346/210/252/345/234/226/C3-/347/267/250/350/274/257/344/275/277/347/224/250/346/254/212/351/231/220-/345/261/225/351/226/213/346/270/205/345/226/256.png +0 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231//351/251/227/350/255/211/346/210/252/345/234/226/D1-/347/267/250/350/274/257/346/211/200/345/261/254/344/275/277/347/224/250/350/200/205-/345/260/215/350/251/261/346/241/206.png +0 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231//351/251/227/350/255/211/346/210/252/345/234/226/E1-/347/267/250/350/274/257/344/275/277/347/224/250/346/254/212/351/231/220/347/276/244/347/265/204-hover.png +0 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231//351/251/227/350/255/211/346/210/252/345/234/226/E2-/347/267/250/350/274/257/344/275/277/347/224/250/346/254/212/351/231/220/347/276/244/347/265/204-/345/261/225/351/226/213/346/270/205/345/226/256.png +0 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231//351/251/227/350/255/211/346/210/252/345/234/226/F1-/345/261/225/347/244/272/346/211/200/345/261/254/346/254/212/351/231/220/347/276/244/347/265/204-/345/224/257/350/256/200/346/205/213.png +0 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231//351/251/227/350/255/211/346/210/252/345/234/226/F2-/345/261/225/347/244/272/346/211/200/345/261/254/346/254/212/351/231/220/347/276/244/347/265/204-/345/261/225/351/226/213/345/205/250/351/203/250.png +0 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231//351/251/227/350/255/211/346/210/252/345/234/226/G1-zoom-/347/267/250/350/274/257/346/211/200/345/261/254/346/254/212/351/231/220/347/276/244/347/265/204-/345/211/215/345/205/255/345/210/227.png +0 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231//351/251/227/350/255/211/346/210/252/345/234/226/G2-zoom-/347/267/250/350/274/257/346/211/200/345/261/254/346/254/212/351/231/220/347/276/244/347/265/204-hover/346/234/254/351/240/205chip.png +0 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231//351/251/227/350/255/211/346/210/252/345/234/226/G3-zoom-/347/267/250/350/274/257/346/211/200/345/261/254/346/254/212/351/231/220/347/276/244/347/265/204-/345/261/225/351/226/213/346/270/205/345/226/256.png +0 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231//351/251/227/350/255/211/346/210/252/345/234/226/verify.json +390 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231//351/251/227/350/255/211/350/205/263/346/234/254/build.log +93 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231//351/251/227/350/255/211/350/205/263/346/234/254/lint.log +23 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231//351/251/227/350/255/211/350/205/263/346/234/254/zz_perm_probe.mjs +321 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231//351/251/227/350/255/211/350/205/263/346/234/254/zz_perm_zoom.mjs +173 -0
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231//351/251/227/350/255/211/350/205/263/346/234/254/zz_wwp_verify.mjs +330 -0
- package//345/273/272/350/255/260w-aggrid-vue/350/252/277/346/225/264.md +193 -0
- package//345/273/272/350/255/260w-component-vue/350/210/207wsemi/350/252/277/346/225/264.md +76 -0
- package//345/273/272/350/255/260w-web-perm/350/252/277/346/225/264.md +244 -0
- package//346/226/275/345/267/245/345/226/256_/345/273/272/350/255/260w-web-perm/350/252/277/346/225/264.md +166 -0
- package/dist/index.html +0 -4
- package/dist/js/app-legacy.04fa72c9.js +0 -1
- package/dist/js/app.04fa72c9.js +0 -1
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
diff --git a/../rddmanager_2_perm/node_modules/w-web-perm/src/components/VeGrupBlngUsers.vue "b/./w-web-perm\351\232\250\351\231\204\350\263\207\346\226\231/src/components/VeGrupBlngUsers.vue"
|
|
2
|
+
index 796f754..9fb6b7f 100644
|
|
3
|
+
--- a/../rddmanager_2_perm/node_modules/w-web-perm/src/components/VeGrupBlngUsers.vue
|
|
4
|
+
+++ "b/./w-web-perm\351\232\250\351\231\204\350\263\207\346\226\231/src/components/VeGrupBlngUsers.vue"
|
|
5
|
+
@@ -140,31 +140,15 @@
|
|
6
|
+
:opt="opt"
|
|
7
|
+
>
|
|
8
|
+
<template v-slot:cell-render="props">
|
|
9
|
+
- <template v-if="props.key==='grupsNames'">
|
|
10
|
+
- <span v-for="(item, idx) in props.row.grups" :key="idx" style="display:inline-block; line-height:20px; height:20px;">
|
|
11
|
+
- <div style="display:flex;">
|
|
12
|
+
- <div :style="'padding:0px 5px; border-top-left-radius:4px; border-bottom-left-radius:4px; ' + (item.enable === 'y' ? 'border-left:1px solid #ac2451; border-right:1px solid #9e2149; border-top:1px solid #ac2451; border-bottom:1px solid #ac2451; background:#be295a; color:#fff;' : 'border-left:1px solid #aaaaaa; border-right:1px solid #aaaaaa; border-top:1px solid #aaaaaa; border-bottom:1px solid #aaaaaa; background:#ffffff; color:#555;')">
|
|
13
|
+
- {{ item.mode }}
|
|
14
|
+
- </div>
|
|
15
|
+
- <div :style="'padding:0px 5px; border-top-right-radius:4px; border-bottom-right-radius:4px; ' + (item.enable === 'y' ? '_border-left:1px solid #ac2451; border-right:1px solid #ac2451; border-top:1px solid #ac2451; border-bottom:1px solid #ac2451; background:#d22f64; color:#fff;' : '_border-left:1px solid #aaaaaa; border-right:1px solid #aaaaaa; border-top:1px solid #aaaaaa; border-bottom:1px solid #aaaaaa; background:#eeeeee; color:#555;')">
|
|
16
|
+
- {{ item.name }}
|
|
17
|
+
- </div>
|
|
18
|
+
- </div>
|
|
19
|
+
- </span>
|
|
20
|
+
- </template>
|
|
21
|
+
- <WTextSelect
|
|
22
|
+
- v-else-if="props.key==='mode'"
|
|
23
|
+
- :style="`width:${modeSelectWidth}px;`"
|
|
24
|
+
- :items="modeItems"
|
|
25
|
+
- :value="props.row.mode"
|
|
26
|
+
+ <RelationChips
|
|
27
|
+
+ v-if="props.key==='grupsNames'"
|
|
28
|
+
+ :items="props.row.grups"
|
|
29
|
+
:editable="isEditable"
|
|
30
|
+
- :paddingStyle="{v:0,h:10}"
|
|
31
|
+
- :shadow="false"
|
|
32
|
+
- :itemPaddingStyle="{v:8,h:10}"
|
|
33
|
+
- :placementDistX="-10"
|
|
34
|
+
+ :popupTitle="$t('belongGrupsNames')"
|
|
35
|
+
+ :tooltipAll="$t('chipsShowAll')"
|
|
36
|
+
:labelContent="'modeSelect'"
|
|
37
|
+
@input="(item)=>{showVeGrupBlngUsersToggleItemModeByName(props.row.name, item)}"
|
|
38
|
+
- ></WTextSelect>
|
|
39
|
+
+ ></RelationChips>
|
|
40
|
+
<input v-else-if="props.key==='enable'" type="checkbox" :checked="props.value === 'y'" @click="showVeGrupBlngUsersToggleItemEnableByName(props.row.name)" :disabled="!isEditable" />
|
|
41
|
+
<span v-else>{{ props.value }}</span>
|
|
42
|
+
</template>
|
|
43
|
+
@@ -207,7 +191,7 @@ import isestr from 'wsemi/src/isestr.mjs'
|
|
44
|
+
import WDialog from 'w-component-vue/src/components/WDialog.vue'
|
|
45
|
+
import WButtonCircle from 'w-component-vue/src/components/WButtonCircle.vue'
|
|
46
|
+
import WAggridVue from 'w-aggrid-vue/src/components/WAggridVue.vue'
|
|
47
|
+
-import WTextSelect from 'w-component-vue/src/components/WTextSelect.vue'
|
|
48
|
+
+import RelationChips from './RelationChips.vue'
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
export default {
|
|
52
|
+
@@ -215,7 +199,7 @@ export default {
|
|
53
|
+
WDialog,
|
|
54
|
+
WButtonCircle,
|
|
55
|
+
WAggridVue,
|
|
56
|
+
- WTextSelect,
|
|
57
|
+
+ RelationChips,
|
|
58
|
+
},
|
|
59
|
+
props: {
|
|
60
|
+
},
|
|
61
|
+
@@ -244,10 +228,6 @@ export default {
|
|
62
|
+
isEditable: false,
|
|
63
|
+
isModified: false,
|
|
64
|
+
|
|
65
|
+
- //mode 欄之自製下拉(WTextSelect, 取代原生 select 以免彈出清單之 highlight 色由 OS 決定)
|
|
66
|
+
- modeItems: ['OR', 'AND'],
|
|
67
|
+
- modeSelectWidth: 72, //= 最長項 'AND' 文字實寬 + 左右內距 10×2 + 展開箭頭 18 + 邊框 1×2, 實測後定值(見 CLAUDE_experience.md)
|
|
68
|
+
-
|
|
69
|
+
grup: null,
|
|
70
|
+
|
|
71
|
+
items: [],
|
|
72
|
+
@@ -414,21 +394,19 @@ export default {
|
|
73
|
+
let opt = null
|
|
74
|
+
if (size(vo.items) > 0) {
|
|
75
|
+
|
|
76
|
+
- //ks
|
|
77
|
+
+ //ks, 本列自己可改的(是否使用)在左, 由其他權限群組帶來的(所屬權限群組名稱)在右; 合併模式併入 grupsNames 欄之本項 chip(RelationChips), 不再獨立成欄
|
|
78
|
+
let ks = [
|
|
79
|
+
'name',
|
|
80
|
+
- 'grupsNames',
|
|
81
|
+
- 'mode',
|
|
82
|
+
'enable',
|
|
83
|
+
+ 'grupsNames',
|
|
84
|
+
]
|
|
85
|
+
// console.log('ks', ks)
|
|
86
|
+
|
|
87
|
+
//kpHead
|
|
88
|
+
let kpHead = {
|
|
89
|
+
'name': vo.$t('userName'),
|
|
90
|
+
- 'grupsNames': vo.$t('belongGrupsNames'),
|
|
91
|
+
- 'mode': vo.$t('operGrupMode'),
|
|
92
|
+
'enable': vo.$t('operEnable'),
|
|
93
|
+
+ 'grupsNames': vo.$t('belongGrupsNames'),
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
//opt
|
|
97
|
+
@@ -447,7 +425,6 @@ export default {
|
|
98
|
+
'enable': false,
|
|
99
|
+
},
|
|
100
|
+
kpHeadWidth: {
|
|
101
|
+
- 'mode': 100,
|
|
102
|
+
'enable': 100,
|
|
103
|
+
},
|
|
104
|
+
// kpRowDrag: {
|
|
105
|
+
@@ -459,14 +436,14 @@ export default {
|
|
106
|
+
kpHeadFilterType: {
|
|
107
|
+
'name': 'text',
|
|
108
|
+
'grupsNames': 'text',
|
|
109
|
+
- 'mode': 'text',
|
|
110
|
+
'enable': 'text',
|
|
111
|
+
},
|
|
112
|
+
// kpHeadCheckBox: {
|
|
113
|
+
// 'name': true,
|
|
114
|
+
// },
|
|
115
|
+
- kpHeadFocusHighlight: { //雖然效果不完全, 但因按鈕與cell有padding可被點擊, 故還是需要開啟
|
|
116
|
+
+ kpHeadFocusHighlight: { //儲存格內已有自己的控制項(chip 下拉、勾選框), 不再疊儲存格焦點框
|
|
117
|
+
'grupsNames': false,
|
|
118
|
+
+ 'enable': false,
|
|
119
|
+
},
|
|
120
|
+
rowsChange: (rs) => {
|
|
121
|
+
// console.log('rowsChange', rs)
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
diff --git a/../rddmanager_2_perm/node_modules/w-web-perm/src/components/VePemiBlngGrups.vue "b/./w-web-perm\351\232\250\351\231\204\350\263\207\346\226\231/src/components/VePemiBlngGrups.vue"
|
|
2
|
+
index 9c5a143..d2f585b 100644
|
|
3
|
+
--- a/../rddmanager_2_perm/node_modules/w-web-perm/src/components/VePemiBlngGrups.vue
|
|
4
|
+
+++ "b/./w-web-perm\351\232\250\351\231\204\350\263\207\346\226\231/src/components/VePemiBlngGrups.vue"
|
|
5
|
+
@@ -140,31 +140,15 @@
|
|
6
|
+
:opt="opt"
|
|
7
|
+
>
|
|
8
|
+
<template v-slot:cell-render="props">
|
|
9
|
+
- <template v-if="props.key==='pemisNames'">
|
|
10
|
+
- <span v-for="(item, idx) in props.row.pemis" :key="idx" style="display:inline-block; line-height:20px; height:20px;">
|
|
11
|
+
- <div style="display:flex;">
|
|
12
|
+
- <div :style="'padding:0px 5px; border-top-left-radius:4px; border-bottom-left-radius:4px; ' + (item.enable === 'y' ? 'border-left:1px solid #ac2451; border-right:1px solid #9e2149; border-top:1px solid #ac2451; border-bottom:1px solid #ac2451; background:#be295a; color:#fff;' : 'border-left:1px solid #aaaaaa; border-right:1px solid #aaaaaa; border-top:1px solid #aaaaaa; border-bottom:1px solid #aaaaaa; background:#ffffff; color:#555;')">
|
|
13
|
+
- {{ item.mode }}
|
|
14
|
+
- </div>
|
|
15
|
+
- <div :style="'padding:0px 5px; border-top-right-radius:4px; border-bottom-right-radius:4px; ' + (item.enable === 'y' ? '_border-left:1px solid #ac2451; border-right:1px solid #ac2451; border-top:1px solid #ac2451; border-bottom:1px solid #ac2451; background:#d22f64; color:#fff;' : '_border-left:1px solid #aaaaaa; border-right:1px solid #aaaaaa; border-top:1px solid #aaaaaa; border-bottom:1px solid #aaaaaa; background:#eeeeee; color:#555;')">
|
|
16
|
+
- {{ item.name }}
|
|
17
|
+
- </div>
|
|
18
|
+
- </div>
|
|
19
|
+
- </span>
|
|
20
|
+
- </template>
|
|
21
|
+
- <WTextSelect
|
|
22
|
+
- v-else-if="props.key==='mode'"
|
|
23
|
+
- :style="`width:${modeSelectWidth}px;`"
|
|
24
|
+
- :items="modeItems"
|
|
25
|
+
- :value="props.row.mode"
|
|
26
|
+
+ <RelationChips
|
|
27
|
+
+ v-if="props.key==='pemisNames'"
|
|
28
|
+
+ :items="props.row.pemis"
|
|
29
|
+
:editable="isEditable"
|
|
30
|
+
- :paddingStyle="{v:0,h:10}"
|
|
31
|
+
- :shadow="false"
|
|
32
|
+
- :itemPaddingStyle="{v:8,h:10}"
|
|
33
|
+
- :placementDistX="-10"
|
|
34
|
+
+ :popupTitle="$t('belongPemisNames')"
|
|
35
|
+
+ :tooltipAll="$t('chipsShowAll')"
|
|
36
|
+
:labelContent="'modeSelect'"
|
|
37
|
+
@input="(item)=>{showVePemiBlngGrupsToggleItemModeByName(props.row.name, item)}"
|
|
38
|
+
- ></WTextSelect>
|
|
39
|
+
+ ></RelationChips>
|
|
40
|
+
<input v-else-if="props.key==='enable'" type="checkbox" :checked="props.value === 'y'" @click="showVePemiBlngGrupsToggleItemEnableByName(props.row.name)" :disabled="!isEditable" />
|
|
41
|
+
<span v-else>{{ props.value }}</span>
|
|
42
|
+
</template>
|
|
43
|
+
@@ -207,7 +191,7 @@ import isestr from 'wsemi/src/isestr.mjs'
|
|
44
|
+
import WDialog from 'w-component-vue/src/components/WDialog.vue'
|
|
45
|
+
import WButtonCircle from 'w-component-vue/src/components/WButtonCircle.vue'
|
|
46
|
+
import WAggridVue from 'w-aggrid-vue/src/components/WAggridVue.vue'
|
|
47
|
+
-import WTextSelect from 'w-component-vue/src/components/WTextSelect.vue'
|
|
48
|
+
+import RelationChips from './RelationChips.vue'
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
export default {
|
|
52
|
+
@@ -215,7 +199,7 @@ export default {
|
|
53
|
+
WDialog,
|
|
54
|
+
WButtonCircle,
|
|
55
|
+
WAggridVue,
|
|
56
|
+
- WTextSelect,
|
|
57
|
+
+ RelationChips,
|
|
58
|
+
},
|
|
59
|
+
props: {
|
|
60
|
+
},
|
|
61
|
+
@@ -244,10 +228,6 @@ export default {
|
|
62
|
+
isEditable: false,
|
|
63
|
+
isModified: false,
|
|
64
|
+
|
|
65
|
+
- //mode 欄之自製下拉(WTextSelect, 取代原生 select 以免彈出清單之 highlight 色由 OS 決定)
|
|
66
|
+
- modeItems: ['OR', 'AND'],
|
|
67
|
+
- modeSelectWidth: 72, //= 最長項 'AND' 文字實寬 + 左右內距 10×2 + 展開箭頭 18 + 邊框 1×2, 實測後定值(見 CLAUDE_experience.md)
|
|
68
|
+
-
|
|
69
|
+
pemi: null,
|
|
70
|
+
|
|
71
|
+
items: [],
|
|
72
|
+
@@ -414,21 +394,19 @@ export default {
|
|
73
|
+
let opt = null
|
|
74
|
+
if (size(vo.items) > 0) {
|
|
75
|
+
|
|
76
|
+
- //ks
|
|
77
|
+
+ //ks, 本列自己可改的(是否使用)在左, 由其他權限帶來的(所屬權限名稱)在右; 合併模式併入 pemisNames 欄之本項 chip(RelationChips), 不再獨立成欄
|
|
78
|
+
let ks = [
|
|
79
|
+
'name',
|
|
80
|
+
- 'pemisNames',
|
|
81
|
+
- 'mode',
|
|
82
|
+
'enable',
|
|
83
|
+
+ 'pemisNames',
|
|
84
|
+
]
|
|
85
|
+
// console.log('ks', ks)
|
|
86
|
+
|
|
87
|
+
//kpHead
|
|
88
|
+
let kpHead = {
|
|
89
|
+
'name': vo.$t('grupName'),
|
|
90
|
+
- 'pemisNames': vo.$t('belongPemisNames'),
|
|
91
|
+
- 'mode': vo.$t('operPemiMode'),
|
|
92
|
+
'enable': vo.$t('operEnable'),
|
|
93
|
+
+ 'pemisNames': vo.$t('belongPemisNames'),
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
//opt
|
|
97
|
+
@@ -447,7 +425,6 @@ export default {
|
|
98
|
+
'enable': false,
|
|
99
|
+
},
|
|
100
|
+
kpHeadWidth: {
|
|
101
|
+
- 'mode': 100,
|
|
102
|
+
'enable': 100,
|
|
103
|
+
},
|
|
104
|
+
// kpRowDrag: {
|
|
105
|
+
@@ -459,14 +436,14 @@ export default {
|
|
106
|
+
kpHeadFilterType: {
|
|
107
|
+
'name': 'text',
|
|
108
|
+
'pemisNames': 'text',
|
|
109
|
+
- 'mode': 'text',
|
|
110
|
+
'enable': 'text',
|
|
111
|
+
},
|
|
112
|
+
// kpHeadCheckBox: {
|
|
113
|
+
// 'name': true,
|
|
114
|
+
// },
|
|
115
|
+
- kpHeadFocusHighlight: { //雖然效果不完全, 但因按鈕與cell有padding可被點擊, 故還是需要開啟
|
|
116
|
+
+ kpHeadFocusHighlight: { //儲存格內已有自己的控制項(chip 下拉、勾選框), 不再疊儲存格焦點框
|
|
117
|
+
'pemisNames': false,
|
|
118
|
+
+ 'enable': false,
|
|
119
|
+
},
|
|
120
|
+
rowsChange: (rs) => {
|
|
121
|
+
// console.log('rowsChange', rs)
|