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.
Files changed (86) hide show
  1. package/dist/css/{chunk-vendors.034f7a87.css → chunk-vendors.18034562.css} +1 -1
  2. package/dist/index.tmp +1 -1
  3. package/dist/js/app-legacy.aaaa3681.js +1 -0
  4. package/dist/js/app.aaaa3681.js +1 -0
  5. package/dist/js/{chunk-vendors-legacy.d0596078.js → chunk-vendors-legacy.7b6ae0b0.js} +3 -3
  6. package/dist/js/{chunk-vendors.d0596078.js → chunk-vendors.7b6ae0b0.js} +3 -3
  7. package/dist/w-web-perm.umd.js +2 -2
  8. package/dist/w-web-perm.umd.js.map +1 -1
  9. package/docs/WWebPerm.html +1 -1
  10. package/docs/global.html +1 -1
  11. package/docs/index.html +1 -1
  12. package/docs/server_WWebPerm.mjs.html +1 -1
  13. package/docs/server_procCore.mjs.html +1 -1
  14. package/docs/src_fetchJson.mjs.html +1 -1
  15. package/package.json +2 -2
  16. package/server/procLang.mjs +12 -4
  17. package/src/components/LayoutContentGrups.vue +6 -6
  18. package/src/components/LayoutContentPemis.vue +6 -6
  19. package/src/components/LayoutContentTargets.vue +2 -2
  20. package/src/components/LayoutContentUsers.vue +5 -3
  21. package/src/components/ModeSelectChip.vue +182 -0
  22. package/src/components/RelationChip.vue +114 -0
  23. package/src/components/RelationChips.vue +375 -0
  24. package/src/components/VeCgrups.vue +23 -20
  25. package/src/components/VeCpemis.vue +21 -20
  26. package/src/components/VeCrules.vue +8 -1
  27. package/src/components/VeGrupBlngUsers.vue +40 -51
  28. package/src/components/VePemiBlngGrups.vue +27 -41
  29. package/tableTags-web-perm.json +1 -1
  30. package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/README.md +58 -0
  31. package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/diff/server_procLang.mjs.diff +31 -0
  32. package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/diff/src_App.vue.diff +19 -0
  33. package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/diff/src_components_LayoutContentGrups.vue.diff +40 -0
  34. package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/diff/src_components_LayoutContentPemis.vue.diff +40 -0
  35. 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
  36. 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
  37. 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
  38. package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/diff/src_components_VeCgrups.vue.diff +76 -0
  39. package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/diff/src_components_VeCpemis.vue.diff +76 -0
  40. package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/diff/src_components_VeCrules.vue.diff +14 -0
  41. package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/diff/src_components_VeGrupBlngUsers.vue.diff +121 -0
  42. package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/diff/src_components_VePemiBlngGrups.vue.diff +121 -0
  43. package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/server/procLang.mjs +1049 -0
  44. package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/src/App.vue +204 -0
  45. package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/src/components/LayoutContentGrups.vue +1260 -0
  46. package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/src/components/LayoutContentPemis.vue +1262 -0
  47. package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/src/components/ModeSelectChip.vue +121 -0
  48. package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/src/components/RelationChip.vue +113 -0
  49. package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/src/components/RelationChips.vue +149 -0
  50. package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/src/components/VeCgrups.vue +943 -0
  51. package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/src/components/VeCpemis.vue +943 -0
  52. package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/src/components/VeCrules.vue +848 -0
  53. package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/src/components/VeGrupBlngUsers.vue +1157 -0
  54. package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/src/components/VePemiBlngGrups.vue +1157 -0
  55. 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
  56. 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
  57. 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
  58. 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
  59. 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
  60. 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
  61. 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
  62. 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
  63. 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
  64. 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
  65. 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
  66. 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
  67. 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
  68. 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
  69. 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
  70. 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
  71. 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
  72. 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
  73. 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
  74. 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
  75. 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
  76. 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
  77. 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
  78. 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
  79. 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
  80. package//345/273/272/350/255/260w-aggrid-vue/350/252/277/346/225/264.md +193 -0
  81. package//345/273/272/350/255/260w-component-vue/350/210/207wsemi/350/252/277/346/225/264.md +76 -0
  82. package//345/273/272/350/255/260w-web-perm/350/252/277/346/225/264.md +244 -0
  83. 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
  84. package/dist/index.html +0 -4
  85. package/dist/js/app-legacy.04fa72c9.js +0 -1
  86. 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)