w-web-perm 1.0.85 → 1.1.1
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/index.tmp +1 -1
- package/dist/js/{chunk-vendors-legacy.7b6ae0b0.js → chunk-vendors-legacy.dc1d9630.js} +2 -2
- package/dist/js/{chunk-vendors.7b6ae0b0.js → chunk-vendors.dc1d9630.js} +2 -2
- 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 +12 -12
- 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 +0 -58
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/diff/server_procLang.mjs.diff +0 -31
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/diff/src_App.vue.diff +0 -19
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/diff/src_components_LayoutContentGrups.vue.diff +0 -40
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/diff/src_components_LayoutContentPemis.vue.diff +0 -40
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/diff/src_components_ModeSelectChip.vue.new.diff +0 -124
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/diff/src_components_RelationChip.vue.new.diff +0 -116
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/diff/src_components_RelationChips.vue.new.diff +0 -152
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/diff/src_components_VeCgrups.vue.diff +0 -76
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/diff/src_components_VeCpemis.vue.diff +0 -76
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/diff/src_components_VeCrules.vue.diff +0 -14
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/diff/src_components_VeGrupBlngUsers.vue.diff +0 -121
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/diff/src_components_VePemiBlngGrups.vue.diff +0 -121
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/server/procLang.mjs +0 -1049
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/src/App.vue +0 -204
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/src/components/LayoutContentGrups.vue +0 -1260
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/src/components/LayoutContentPemis.vue +0 -1262
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/src/components/ModeSelectChip.vue +0 -121
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/src/components/RelationChip.vue +0 -113
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/src/components/RelationChips.vue +0 -149
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/src/components/VeCgrups.vue +0 -943
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/src/components/VeCpemis.vue +0 -943
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/src/components/VeCrules.vue +0 -848
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/src/components/VeGrupBlngUsers.vue +0 -1157
- package/w-web-perm/351/232/250/351/231/204/350/263/207/346/226/231/src/components/VePemiBlngGrups.vue +0 -1157
- 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 +0 -390
- 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 +0 -93
- 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 +0 -23
- 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 +0 -321
- 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 +0 -173
- 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 +0 -330
- package//345/273/272/350/255/260w-aggrid-vue/350/252/277/346/225/264.md +0 -193
- package//345/273/272/350/255/260w-component-vue/350/210/207wsemi/350/252/277/346/225/264.md +0 -76
- package//345/273/272/350/255/260w-web-perm/350/252/277/346/225/264.md +0 -244
- 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 +0 -166
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
--- /dev/null 2026-09-15 21:52:30.000000000 +0800
|
|
2
|
-
+++ "./w-web-perm�\232��\231\204�\207�\226\231/src/components/RelationChips.vue" 2026-09-15 21:52:29.978398800 +0800
|
|
3
|
-
@@ -0,0 +1,149 @@
|
|
4
|
-
+<template>
|
|
5
|
-
+ <span style="white-space:nowrap;">
|
|
6
|
-
+
|
|
7
|
-
+ <!-- 展開全部: 固定在最左, 不隨 chip 溢出被裁; 點擊以浮層列出全部 chip(可換行、可捲動) -->
|
|
8
|
-
+ <!-- WPopup(WTooltip) 之 displayType: 'block' 為 inline-block、'line' 為 block(命名與 CSS 相反), 此處須為行內元素以與其後之 chip 同列 -->
|
|
9
|
-
+ <template v-if="n > 0">
|
|
10
|
-
+ <WPopup
|
|
11
|
-
+ style="vertical-align:middle;"
|
|
12
|
-
+ :displayType="'block'"
|
|
13
|
-
+ :isolated="true"
|
|
14
|
-
+ :placement="'bottom-start'"
|
|
15
|
-
+ :paddingStyle="{v:8,h:10}"
|
|
16
|
-
+ :minWidth="320"
|
|
17
|
-
+ :maxWidth="560"
|
|
18
|
-
+ :labelContent="labelContentAll"
|
|
19
|
-
+ >
|
|
20
|
-
+ <template v-slot:trigger>
|
|
21
|
-
+ <div
|
|
22
|
-
+ :style="`display:inline-flex; align-items:center; box-sizing:border-box; height:22px; margin-right:4px; padding:0 6px; border:1px solid ${hoverAll?'#888':'#aaa'}; border-radius:4px; background:${hoverAll?'#f5f5f5':'#fff'}; color:${hoverAll?'#333':'#555'}; font-size:12px; line-height:20px; vertical-align:middle; cursor:pointer; user-select:none; transition:all 0.3s;`"
|
|
23
|
-
+ :title="tooltipAll"
|
|
24
|
-
+ @mouseenter="hoverAll=true"
|
|
25
|
-
+ @mouseleave="hoverAll=false"
|
|
26
|
-
+ >
|
|
27
|
-
+ <WIcon
|
|
28
|
-
+ :icon="mdiDotsHorizontal"
|
|
29
|
-
+ :size="14"
|
|
30
|
-
+ :color="hoverAll?'#333':'#555'"
|
|
31
|
-
+ :colorHover="'#333'"
|
|
32
|
-
+ ></WIcon>
|
|
33
|
-
+ <span style="padding-left:3px;">{{ n }}</span>
|
|
34
|
-
+ </div>
|
|
35
|
-
+ </template>
|
|
36
|
-
+ <template v-slot:content>
|
|
37
|
-
+ <div style="font-size:12px; color:#666; padding-bottom:6px;">
|
|
38
|
-
+ {{ usePopupTitle }}
|
|
39
|
-
+ </div>
|
|
40
|
-
+ <!-- 最大高 50vh: 於 900px 高之視窗自列位往下展開仍留得住底邊, 超過即於浮層內捲動 -->
|
|
41
|
-
+ <div style="display:flex; flex-wrap:wrap; gap:4px 6px; max-height:50vh; max-width:540px; overflow:auto;">
|
|
42
|
-
+ <RelationChip
|
|
43
|
-
+ v-for="(item, kitem) in itemsSorted"
|
|
44
|
-
+ :key="`p-${kitem}`"
|
|
45
|
-
+ :name="item.name"
|
|
46
|
-
+ :mode="item.mode"
|
|
47
|
-
+ :isCurrent="item.enable==='y'"
|
|
48
|
-
+ :editable="false"
|
|
49
|
-
+ :nameMaxWidth="600"
|
|
50
|
-
+ ></RelationChip>
|
|
51
|
-
+ </div>
|
|
52
|
-
+ </template>
|
|
53
|
-
+ </WPopup>
|
|
54
|
-
+ </template>
|
|
55
|
-
+
|
|
56
|
-
+ <!-- 儲存格內之 chip: 本項永遠第 1 顆; 相鄰間距 4px; 溢出由儲存格裁切 -->
|
|
57
|
-
+ <RelationChip
|
|
58
|
-
+ v-for="(item, kitem) in itemsSorted"
|
|
59
|
-
+ :key="`c-${kitem}`"
|
|
60
|
-
+ :style="`margin-right:4px;`"
|
|
61
|
-
+ :name="item.name"
|
|
62
|
-
+ :mode="item.mode"
|
|
63
|
-
+ :isCurrent="item.enable==='y'"
|
|
64
|
-
+ :editable="editable"
|
|
65
|
-
+ :labelContent="labelContent"
|
|
66
|
-
+ @input="(item)=>{$emit('input',item)}"
|
|
67
|
-
+ ></RelationChip>
|
|
68
|
-
+
|
|
69
|
-
+ </span>
|
|
70
|
-
+</template>
|
|
71
|
-
+
|
|
72
|
-
+<script>
|
|
73
|
-
+import { mdiDotsHorizontal } from '@mdi/js/mdi.js'
|
|
74
|
-
+import get from 'lodash-es/get.js'
|
|
75
|
-
+import size from 'lodash-es/size.js'
|
|
76
|
-
+import filter from 'lodash-es/filter.js'
|
|
77
|
-
+import WIcon from 'w-component-vue/src/components/WIcon.vue'
|
|
78
|
-
+import WPopup from 'w-component-vue/src/components/WPopup.vue'
|
|
79
|
-
+import RelationChip from './RelationChip.vue'
|
|
80
|
-
+
|
|
81
|
-
+
|
|
82
|
-
+//關聯 chip 列表(供 VeGrupBlngUsers 之「所屬權限群組名稱」欄與 VePemiBlngGrups 之「所屬權限名稱」欄)
|
|
83
|
-
+// - items: genItems 產生之 grups/pemis 陣列, 各項含 name、mode、enable('y' 為本項)
|
|
84
|
-
+// - 顯示順序: enable='y'(本項)永遠第 1 顆, 其餘依原順序; 只改顯示, 不改儲存之 cgrups/cpemis 字串(權限合併結果與順序無關, 見 mShare.mjs 之 mergeRules)
|
|
85
|
-
+// - 本項 chip 之模式段即下拉(RelationChip 之 ModeSelectChip), 變更以 input 事件回傳新模式, 由呼叫端沿用既有 showXxxToggleItemModeByName 處理
|
|
86
|
-
+// - 「展開全部」鈕固定於最左, 浮層(WPopup, Teleport 至 body, 與 WDialog 共用 z-index 池故可疊於對話框上)內以 flex-wrap 列出全部 chip
|
|
87
|
-
+export default {
|
|
88
|
-
+ components: {
|
|
89
|
-
+ WIcon,
|
|
90
|
-
+ WPopup,
|
|
91
|
-
+ RelationChip,
|
|
92
|
-
+ },
|
|
93
|
-
+ props: {
|
|
94
|
-
+ items: {
|
|
95
|
-
+ type: Array,
|
|
96
|
-
+ default: () => [],
|
|
97
|
-
+ },
|
|
98
|
-
+ editable: {
|
|
99
|
-
+ type: Boolean,
|
|
100
|
-
+ default: false,
|
|
101
|
-
+ },
|
|
102
|
-
+ popupTitle: { //浮層標題所用之欄名(如「所屬權限名稱」), 與數量合成 chipsPopupTitle
|
|
103
|
-
+ type: String,
|
|
104
|
-
+ default: '',
|
|
105
|
-
+ },
|
|
106
|
-
+ tooltipAll: {
|
|
107
|
-
+ type: String,
|
|
108
|
-
+ default: '',
|
|
109
|
-
+ },
|
|
110
|
-
+ labelContent: { //本項 chip 之模式下拉浮層之 wtlp 屬性值
|
|
111
|
-
+ type: String,
|
|
112
|
-
+ default: 'modeSelect',
|
|
113
|
-
+ },
|
|
114
|
-
+ labelContentAll: { //展開全部之浮層之 wtlp 屬性值
|
|
115
|
-
+ type: String,
|
|
116
|
-
+ default: 'relationChipsAll',
|
|
117
|
-
+ },
|
|
118
|
-
+ },
|
|
119
|
-
+ data: function() {
|
|
120
|
-
+ return {
|
|
121
|
-
+ mdiDotsHorizontal,
|
|
122
|
-
+ hoverAll: false,
|
|
123
|
-
+ }
|
|
124
|
-
+ },
|
|
125
|
-
+ computed: {
|
|
126
|
-
+
|
|
127
|
-
+ n: function() {
|
|
128
|
-
+ let vo = this
|
|
129
|
-
+ return size(vo.items)
|
|
130
|
-
+ },
|
|
131
|
-
+
|
|
132
|
-
+ itemsSorted: function() {
|
|
133
|
-
+ let vo = this
|
|
134
|
-
+ let a = filter(vo.items, (v) => get(v, 'enable', '') === 'y')
|
|
135
|
-
+ let b = filter(vo.items, (v) => get(v, 'enable', '') !== 'y')
|
|
136
|
-
+ return [...a, ...b]
|
|
137
|
-
+ },
|
|
138
|
-
+
|
|
139
|
-
+ usePopupTitle: function() {
|
|
140
|
-
+ let vo = this
|
|
141
|
-
+ let t = vo.$t('chipsPopupTitle')
|
|
142
|
-
+ t = t.replace('{title}', vo.popupTitle)
|
|
143
|
-
+ t = t.replace('{n}', vo.n)
|
|
144
|
-
+ return t
|
|
145
|
-
+ },
|
|
146
|
-
+
|
|
147
|
-
+ },
|
|
148
|
-
+}
|
|
149
|
-
+</script>
|
|
150
|
-
+
|
|
151
|
-
+<style scoped>
|
|
152
|
-
+</style>
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
diff --git a/../rddmanager_2_perm/node_modules/w-web-perm/src/components/VeCgrups.vue "b/./w-web-perm\351\232\250\351\231\204\350\263\207\346\226\231/src/components/VeCgrups.vue"
|
|
2
|
-
index b51b65d..0408bc8 100644
|
|
3
|
-
--- a/../rddmanager_2_perm/node_modules/w-web-perm/src/components/VeCgrups.vue
|
|
4
|
-
+++ "b/./w-web-perm\351\232\250\351\231\204\350\263\207\346\226\231/src/components/VeCgrups.vue"
|
|
5
|
-
@@ -128,19 +128,13 @@
|
|
6
|
-
>
|
|
7
|
-
<template v-slot:cell-render="props">
|
|
8
|
-
<span v-if="props.key==='name'">{{ props.value }}</span>
|
|
9
|
-
- <WTextSelect
|
|
10
|
-
+ <ModeSelectChip
|
|
11
|
-
v-else-if="props.key==='mode'"
|
|
12
|
-
- :style="`width:${modeSelectWidth}px;`"
|
|
13
|
-
- :items="modeItems"
|
|
14
|
-
:value="props.row.mode"
|
|
15
|
-
- :editable="isEditable"
|
|
16
|
-
- :paddingStyle="{v:0,h:10}"
|
|
17
|
-
- :shadow="false"
|
|
18
|
-
- :itemPaddingStyle="{v:8,h:10}"
|
|
19
|
-
- :placementDistX="-10"
|
|
20
|
-
+ :editable="isEditable && props.row.enable === 'y'"
|
|
21
|
-
:labelContent="'modeSelect'"
|
|
22
|
-
@input="(item)=>{showVeCgrupsToggleItemModeByName(props.row.name, item)}"
|
|
23
|
-
- ></WTextSelect>
|
|
24
|
-
+ ></ModeSelectChip>
|
|
25
|
-
<input v-else-if="props.key==='enable'" type="checkbox" :checked="props.value === 'y'" @click="showVeCgrupsToggleItemEnableByName(props.row.name)" :disabled="!isEditable" />
|
|
26
|
-
<span v-else>{{ props.value }}</span>
|
|
27
|
-
</template>
|
|
28
|
-
@@ -180,7 +174,7 @@ import isestr from 'wsemi/src/isestr.mjs'
|
|
29
|
-
import WDialog from 'w-component-vue/src/components/WDialog.vue'
|
|
30
|
-
import WButtonCircle from 'w-component-vue/src/components/WButtonCircle.vue'
|
|
31
|
-
import WAggridVue from 'w-aggrid-vue/src/components/WAggridVue.vue'
|
|
32
|
-
-import WTextSelect from 'w-component-vue/src/components/WTextSelect.vue'
|
|
33
|
-
+import ModeSelectChip from './ModeSelectChip.vue'
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
export default {
|
|
37
|
-
@@ -188,7 +182,7 @@ export default {
|
|
38
|
-
WDialog,
|
|
39
|
-
WButtonCircle,
|
|
40
|
-
WAggridVue,
|
|
41
|
-
- WTextSelect,
|
|
42
|
-
+ ModeSelectChip,
|
|
43
|
-
},
|
|
44
|
-
props: {
|
|
45
|
-
},
|
|
46
|
-
@@ -217,10 +211,6 @@ export default {
|
|
47
|
-
isEditable: false,
|
|
48
|
-
isModified: false,
|
|
49
|
-
|
|
50
|
-
- //mode 欄之自製下拉(WTextSelect, 取代原生 select 以免彈出清單之 highlight 色由 OS 決定)
|
|
51
|
-
- modeItems: ['OR', 'AND'],
|
|
52
|
-
- modeSelectWidth: 72, //= 最長項 'AND' 文字實寬 + 左右內距 10×2 + 展開箭頭 18 + 邊框 1×2, 實測後定值(見 CLAUDE_experience.md)
|
|
53
|
-
-
|
|
54
|
-
user: null,
|
|
55
|
-
|
|
56
|
-
items: [],
|
|
57
|
-
@@ -410,7 +400,7 @@ export default {
|
|
58
|
-
'enable': false,
|
|
59
|
-
},
|
|
60
|
-
kpHeadWidth: {
|
|
61
|
-
- 'mode': 100,
|
|
62
|
-
+ 'mode': 90, //ModeSelectChip 寬 56 + 儲存格內距 11×2 = 78, 留餘裕
|
|
63
|
-
'enable': 100,
|
|
64
|
-
},
|
|
65
|
-
// kpRowDrag: {
|
|
66
|
-
@@ -427,6 +417,10 @@ export default {
|
|
67
|
-
kpHeadCheckBox: {
|
|
68
|
-
'name': true,
|
|
69
|
-
},
|
|
70
|
-
+ kpHeadFocusHighlight: { //儲存格內已有自己的控制項(模式下拉、勾選框), 不再疊儲存格焦點框
|
|
71
|
-
+ 'mode': false,
|
|
72
|
-
+ 'enable': false,
|
|
73
|
-
+ },
|
|
74
|
-
rowsChange: (rs) => {
|
|
75
|
-
// console.log('rowsChange', rs)
|
|
76
|
-
// console.log('rowsChange cloneDeep(vo.opt.rows)', cloneDeep(vo.opt.rows))
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
diff --git a/../rddmanager_2_perm/node_modules/w-web-perm/src/components/VeCpemis.vue "b/./w-web-perm\351\232\250\351\231\204\350\263\207\346\226\231/src/components/VeCpemis.vue"
|
|
2
|
-
index 7abe87e..8aac5db 100644
|
|
3
|
-
--- a/../rddmanager_2_perm/node_modules/w-web-perm/src/components/VeCpemis.vue
|
|
4
|
-
+++ "b/./w-web-perm\351\232\250\351\231\204\350\263\207\346\226\231/src/components/VeCpemis.vue"
|
|
5
|
-
@@ -128,19 +128,13 @@
|
|
6
|
-
>
|
|
7
|
-
<template v-slot:cell-render="props">
|
|
8
|
-
<span v-if="props.key==='name'">{{ props.value }}</span>
|
|
9
|
-
- <WTextSelect
|
|
10
|
-
+ <ModeSelectChip
|
|
11
|
-
v-else-if="props.key==='mode'"
|
|
12
|
-
- :style="`width:${modeSelectWidth}px;`"
|
|
13
|
-
- :items="modeItems"
|
|
14
|
-
:value="props.row.mode"
|
|
15
|
-
- :editable="isEditable"
|
|
16
|
-
- :paddingStyle="{v:0,h:10}"
|
|
17
|
-
- :shadow="false"
|
|
18
|
-
- :itemPaddingStyle="{v:8,h:10}"
|
|
19
|
-
- :placementDistX="-10"
|
|
20
|
-
+ :editable="isEditable && props.row.enable === 'y'"
|
|
21
|
-
:labelContent="'modeSelect'"
|
|
22
|
-
@input="(item)=>{showVeCpemisToggleItemModeByName(props.row.name, item)}"
|
|
23
|
-
- ></WTextSelect>
|
|
24
|
-
+ ></ModeSelectChip>
|
|
25
|
-
<input v-else-if="props.key==='enable'" type="checkbox" :checked="props.value === 'y'" @click="showVeCpemisToggleItemEnableByName(props.row.name)" :disabled="!isEditable" />
|
|
26
|
-
<span v-else>{{ props.value }}</span>
|
|
27
|
-
</template>
|
|
28
|
-
@@ -180,7 +174,7 @@ import isestr from 'wsemi/src/isestr.mjs'
|
|
29
|
-
import WDialog from 'w-component-vue/src/components/WDialog.vue'
|
|
30
|
-
import WButtonCircle from 'w-component-vue/src/components/WButtonCircle.vue'
|
|
31
|
-
import WAggridVue from 'w-aggrid-vue/src/components/WAggridVue.vue'
|
|
32
|
-
-import WTextSelect from 'w-component-vue/src/components/WTextSelect.vue'
|
|
33
|
-
+import ModeSelectChip from './ModeSelectChip.vue'
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
export default {
|
|
37
|
-
@@ -188,7 +182,7 @@ export default {
|
|
38
|
-
WDialog,
|
|
39
|
-
WButtonCircle,
|
|
40
|
-
WAggridVue,
|
|
41
|
-
- WTextSelect,
|
|
42
|
-
+ ModeSelectChip,
|
|
43
|
-
},
|
|
44
|
-
props: {
|
|
45
|
-
},
|
|
46
|
-
@@ -217,10 +211,6 @@ export default {
|
|
47
|
-
isEditable: false,
|
|
48
|
-
isModified: false,
|
|
49
|
-
|
|
50
|
-
- //mode 欄之自製下拉(WTextSelect, 取代原生 select 以免彈出清單之 highlight 色由 OS 決定)
|
|
51
|
-
- modeItems: ['OR', 'AND'],
|
|
52
|
-
- modeSelectWidth: 72, //= 最長項 'AND' 文字實寬 + 左右內距 10×2 + 展開箭頭 18 + 邊框 1×2, 實測後定值(見 CLAUDE_experience.md)
|
|
53
|
-
-
|
|
54
|
-
grup: null,
|
|
55
|
-
|
|
56
|
-
items: [],
|
|
57
|
-
@@ -410,7 +400,7 @@ export default {
|
|
58
|
-
'enable': false,
|
|
59
|
-
},
|
|
60
|
-
kpHeadWidth: {
|
|
61
|
-
- 'mode': 100,
|
|
62
|
-
+ 'mode': 90, //ModeSelectChip 寬 56 + 儲存格內距 11×2 = 78, 留餘裕
|
|
63
|
-
'enable': 100,
|
|
64
|
-
},
|
|
65
|
-
// kpRowDrag: {
|
|
66
|
-
@@ -427,6 +417,10 @@ export default {
|
|
67
|
-
kpHeadCheckBox: {
|
|
68
|
-
'name': true,
|
|
69
|
-
},
|
|
70
|
-
+ kpHeadFocusHighlight: { //儲存格內已有自己的控制項(模式下拉、勾選框), 不再疊儲存格焦點框
|
|
71
|
-
+ 'mode': false,
|
|
72
|
-
+ 'enable': false,
|
|
73
|
-
+ },
|
|
74
|
-
rowsChange: (rs) => {
|
|
75
|
-
// console.log('rowsChange', rs)
|
|
76
|
-
// console.log('rowsChange cloneDeep(vo.opt.rows)', cloneDeep(vo.opt.rows))
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
diff --git a/../rddmanager_2_perm/node_modules/w-web-perm/src/components/VeCrules.vue "b/./w-web-perm\351\232\250\351\231\204\350\263\207\346\226\231/src/components/VeCrules.vue"
|
|
2
|
-
index a456c45..deb9b64 100644
|
|
3
|
-
--- a/../rddmanager_2_perm/node_modules/w-web-perm/src/components/VeCrules.vue
|
|
4
|
-
+++ "b/./w-web-perm\351\232\250\351\231\204\350\263\207\346\226\231/src/components/VeCrules.vue"
|
|
5
|
-
@@ -402,6 +402,9 @@ export default {
|
|
6
|
-
kpHeadCheckBox: {
|
|
7
|
-
'id': true,
|
|
8
|
-
},
|
|
9
|
-
+ kpHeadFocusHighlight: { //儲存格內已有自己的控制項(勾選框), 不再疊儲存格焦點框, 與其餘關聯對話框一致
|
|
10
|
-
+ 'enable': false,
|
|
11
|
-
+ },
|
|
12
|
-
rowsChange: (rs) => {
|
|
13
|
-
// console.log('rowsChange', rs)
|
|
14
|
-
// console.log('rowsChange cloneDeep(vo.opt.rows)', cloneDeep(vo.opt.rows))
|
|
@@ -1,121 +0,0 @@
|
|
|
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)
|
|
@@ -1,121 +0,0 @@
|
|
|
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)
|