w-web-perm 1.0.4 → 1.0.5
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/README.md +9 -4
- package/dist/css/app.c07ac905.css +1 -0
- package/dist/index.tmp +1 -1
- package/dist/js/app-legacy.08662a52.js +2 -0
- package/dist/js/app-legacy.08662a52.js.map +1 -0
- package/dist/js/app.08662a52.js +2 -0
- package/dist/js/app.08662a52.js.map +1 -0
- package/dist/js/chunk-vendors-legacy.01754e13.js +13 -0
- package/dist/js/chunk-vendors-legacy.01754e13.js.map +1 -0
- package/dist/js/chunk-vendors.01754e13.js +13 -0
- package/dist/js/chunk-vendors.01754e13.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 +41 -5
- package/docs/WWebPerm.mjs.html +341 -25
- package/docs/index.html +1 -1
- package/{g.mDb.mjs → g.backupDb.mjs} +1 -1
- package/g.initialData.mjs +111 -0
- package/{g.mInitialTestData.mjs → g.initialTestData.mjs} +1 -1
- package/g.provideRuleGroups.mjs +56 -0
- package/g.provideTargets.mjs +57 -0
- package/g.provideUsers.mjs +45 -0
- package/package.json +2 -7
- package/public/index.html +1 -1
- package/server/WWebPerm.mjs +340 -24
- package/server/provideRuleGroups.mjs +65 -0
- package/server/provideTargets.mjs +59 -0
- package/server/provideUsers.mjs +68 -0
- package/src/App.vue +2 -10
- package/src/components/Common/CheckYes.vue +2 -2
- package/src/components/Common/CheckYesNo.vue +3 -3
- package/src/components/Common/LoadingWinBar.vue +1 -1
- package/src/components/LayoutContent.vue +35 -62
- package/src/components/LayoutContentGroups.vue +64 -61
- package/src/components/LayoutContentTargets.vue +52 -53
- package/src/components/LayoutContentUsers.vue +62 -60
- package/src/components/VeUser.vue +18 -26
- package/src/components/ruleGroup.vue +11 -11
- package/src/main.js +0 -2
- package/src/schema/tables/ruleGroups.mjs +11 -11
- package/src/schema/tables/targets.mjs +6 -9
- package/src/schema/tables/users.mjs +5 -5
- package/src/store/mutations.mjs +324 -69
- package/srv.mjs +10 -11
- package/tableTags-web-perm.json +1 -1
- package/dist/css/app.79b4b59b.css +0 -1
- package/dist/css/chunk-vendors.99633b53.css +0 -5
- package/dist/js/app-legacy.48e6e535.js +0 -2
- package/dist/js/app-legacy.48e6e535.js.map +0 -1
- package/dist/js/app.7f6428ac.js +0 -2
- package/dist/js/app.7f6428ac.js.map +0 -1
- package/dist/js/chunk-vendors-legacy.7cb6c366.js +0 -13
- package/dist/js/chunk-vendors-legacy.7cb6c366.js.map +0 -1
- package/dist/js/chunk-vendors.7cb6c366.js +0 -13
- package/dist/js/chunk-vendors.7cb6c366.js.map +0 -1
- package/g.mInitialData.mjs +0 -147
- package/src/plugins/mVuetify.mjs +0 -12
package/src/App.vue
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
2
|
+
<div
|
|
3
3
|
v-domresize
|
|
4
4
|
@domresize="resize"
|
|
5
5
|
>
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
<VeUser></VeUser>
|
|
18
18
|
|
|
19
|
-
</
|
|
19
|
+
</div>
|
|
20
20
|
</template>
|
|
21
21
|
|
|
22
22
|
<script>
|
|
@@ -124,14 +124,6 @@ button {
|
|
|
124
124
|
font-family: inherit;
|
|
125
125
|
}
|
|
126
126
|
|
|
127
|
-
.v-application, .v-application--wrap {
|
|
128
|
-
font-family: inherit;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
.v-chip {
|
|
132
|
-
cursor: inherit;
|
|
133
|
-
}
|
|
134
|
-
|
|
135
127
|
.fade-enter-active {
|
|
136
128
|
animation: go 1s;
|
|
137
129
|
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<WConfirm
|
|
3
3
|
:show.sync="bShow"
|
|
4
|
-
:title="'
|
|
4
|
+
:title="$t('systemMessage')"
|
|
5
5
|
:content="content"
|
|
6
6
|
:_contentColor="'white'"
|
|
7
7
|
:_contentIconColor="'white'"
|
|
8
8
|
:_contentBackgroundColor="'orange lighten-5'"
|
|
9
9
|
:headerBackgroundColor="'grey lighten-3'"
|
|
10
10
|
:hasNoBtn="false"
|
|
11
|
-
:yesBtnText="'
|
|
11
|
+
:yesBtnText="$t('ok')"
|
|
12
12
|
@click-yes="clickUnit()"
|
|
13
13
|
></WConfirm>
|
|
14
14
|
</template>
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<WConfirm
|
|
3
3
|
:show.sync="bShow"
|
|
4
|
-
:title="'
|
|
4
|
+
:title="$t('systemMessage')"
|
|
5
5
|
:content="content"
|
|
6
6
|
:_contentColor="'white'"
|
|
7
7
|
:_contentIconColor="'white'"
|
|
8
8
|
:_contentBackgroundColor="'orange lighten-5'"
|
|
9
9
|
:_titleColor="'white'"
|
|
10
10
|
:headerBackgroundColor="'grey lighten-3'"
|
|
11
|
-
:noBtnText="'
|
|
12
|
-
:yesBtnText="'
|
|
11
|
+
:noBtnText="$t('no')"
|
|
12
|
+
:yesBtnText="$t('yes')"
|
|
13
13
|
@click-no="clickBtn(false)"
|
|
14
14
|
@click-yes="clickBtn(true)"
|
|
15
15
|
></WConfirm>
|
|
@@ -14,8 +14,9 @@
|
|
|
14
14
|
:drawerWidthMin="drawerWidthMin"
|
|
15
15
|
:drawerWidthMax="drawerWidthMax"
|
|
16
16
|
:mode="'from-left'"
|
|
17
|
-
:afloat="drawerAfloat"
|
|
18
17
|
:dragDrawerWidth="true"
|
|
18
|
+
:autoSwitch="true"
|
|
19
|
+
:switchWidth="drawerWidth*2.3"
|
|
19
20
|
>
|
|
20
21
|
|
|
21
22
|
<template v-slot:drawer="props">
|
|
@@ -71,7 +72,7 @@
|
|
|
71
72
|
<template>
|
|
72
73
|
|
|
73
74
|
<LayoutContentTargets
|
|
74
|
-
v-if="menuKey==='
|
|
75
|
+
v-if="menuKey==='targets'"
|
|
75
76
|
></LayoutContentTargets>
|
|
76
77
|
|
|
77
78
|
<LayoutContentGroups
|
|
@@ -123,12 +124,9 @@
|
|
|
123
124
|
</template>
|
|
124
125
|
|
|
125
126
|
<script>
|
|
126
|
-
import { mdiGamepadCircle, mdiStackOverflow, mdiAccountGroupOutline
|
|
127
|
+
import { mdiGamepadCircle, mdiStackOverflow, mdiAccountGroupOutline } from '@mdi/js/mdi.js'
|
|
127
128
|
import get from 'lodash/get'
|
|
128
|
-
|
|
129
|
-
// import each from 'lodash/each'
|
|
130
|
-
// import cloneDeep from 'lodash/cloneDeep'
|
|
131
|
-
// import pmSeries from 'wsemi/src/pmSeries.mjs'
|
|
129
|
+
import find from 'lodash/find'
|
|
132
130
|
import WDrawer from 'w-component-vue/src/components/WDrawer.vue'
|
|
133
131
|
import WButtonCircle from 'w-component-vue/src/components/WButtonCircle.vue'
|
|
134
132
|
import WListVertical from 'w-component-vue/src/components/WListVertical.vue'
|
|
@@ -147,46 +145,16 @@ export default {
|
|
|
147
145
|
LayoutContentUsers,
|
|
148
146
|
},
|
|
149
147
|
props: {
|
|
150
|
-
// menuKey: {
|
|
151
|
-
// type: String,
|
|
152
|
-
// default: '',
|
|
153
|
-
// },
|
|
154
148
|
},
|
|
155
149
|
data: function() {
|
|
156
|
-
let menus = [
|
|
157
|
-
{
|
|
158
|
-
key: 'blocks',
|
|
159
|
-
text: '管理區塊',
|
|
160
|
-
icon: mdiGamepadCircle,
|
|
161
|
-
},
|
|
162
|
-
{
|
|
163
|
-
key: 'groups',
|
|
164
|
-
text: '權限群組',
|
|
165
|
-
icon: mdiStackOverflow,
|
|
166
|
-
},
|
|
167
|
-
{
|
|
168
|
-
key: 'users',
|
|
169
|
-
text: '使用者權限',
|
|
170
|
-
icon: mdiAccountGroupOutline,
|
|
171
|
-
},
|
|
172
|
-
// {
|
|
173
|
-
// key: 'logs',
|
|
174
|
-
// text: '事件紀錄',
|
|
175
|
-
// icon: mdiBallotRecountOutline,
|
|
176
|
-
// },
|
|
177
|
-
]
|
|
178
150
|
return {
|
|
179
151
|
|
|
180
|
-
menuKey: '
|
|
181
|
-
menus,
|
|
182
|
-
menuActive: menus[0],
|
|
152
|
+
menuKey: 'targets',
|
|
183
153
|
|
|
184
154
|
panelWidth: 0,
|
|
185
|
-
panelWidthTemp: 0,
|
|
186
155
|
panelHeight: 0,
|
|
187
156
|
|
|
188
157
|
drawer: true,
|
|
189
|
-
drawerAfloat: false,
|
|
190
158
|
drawerWidth: 180,
|
|
191
159
|
drawerWidthMin: 150,
|
|
192
160
|
drawerWidthMax: 300,
|
|
@@ -199,6 +167,35 @@ export default {
|
|
|
199
167
|
return get(this, '$store.state.syncState')
|
|
200
168
|
},
|
|
201
169
|
|
|
170
|
+
menus: function() {
|
|
171
|
+
let vo = this
|
|
172
|
+
let ms = [
|
|
173
|
+
{
|
|
174
|
+
key: 'targets',
|
|
175
|
+
text: vo.$t('managementTargets'),
|
|
176
|
+
icon: mdiGamepadCircle,
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
key: 'groups',
|
|
180
|
+
text: vo.$t('permissionGroups'),
|
|
181
|
+
icon: mdiStackOverflow,
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
key: 'users',
|
|
185
|
+
text: vo.$t('userPermissions'),
|
|
186
|
+
icon: mdiAccountGroupOutline,
|
|
187
|
+
},
|
|
188
|
+
]
|
|
189
|
+
return ms
|
|
190
|
+
},
|
|
191
|
+
|
|
192
|
+
menuActive: function() {
|
|
193
|
+
let vo = this
|
|
194
|
+
let r = find(vo.menus, { key: vo.menuKey })
|
|
195
|
+
// console.log(r)
|
|
196
|
+
return r
|
|
197
|
+
},
|
|
198
|
+
|
|
202
199
|
},
|
|
203
200
|
methods: {
|
|
204
201
|
|
|
@@ -212,30 +209,6 @@ export default {
|
|
|
212
209
|
vo.panelHeight = msg.snew.clientHeight
|
|
213
210
|
// console.log('vo.panelHeight', vo.panelHeight)
|
|
214
211
|
|
|
215
|
-
//modeResize
|
|
216
|
-
let modeResize = '' //寬度可能相同故得有預設空字串的種類
|
|
217
|
-
if (vo.panelWidth > vo.panelWidthTemp) {
|
|
218
|
-
modeResize = 'toLarge'
|
|
219
|
-
}
|
|
220
|
-
else if (vo.panelWidth < vo.panelWidthTemp) {
|
|
221
|
-
modeResize = 'toSmall'
|
|
222
|
-
}
|
|
223
|
-
// console.log('modeResize', modeResize, vo.panelWidth, vo.panelWidthTemp)
|
|
224
|
-
|
|
225
|
-
//drawer
|
|
226
|
-
if (vo.drawer && modeResize === 'toSmall' && vo.panelWidth < 1.7 * vo.drawerWidthMax) { //已開啟抽屜且為變窄時才偵測
|
|
227
|
-
vo.drawer = false
|
|
228
|
-
}
|
|
229
|
-
else if (!vo.drawer && modeResize === 'toLarge' && vo.panelWidth >= 1.7 * vo.drawerWidthMax) { //已隱藏抽屜且為變寬時才偵測
|
|
230
|
-
vo.drawer = true
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
//drawerAfloat
|
|
234
|
-
vo.drawerAfloat = vo.panelWidth < 1.7 * vo.drawerWidthMax
|
|
235
|
-
|
|
236
|
-
//save
|
|
237
|
-
vo.panelWidthTemp = vo.panelWidth
|
|
238
|
-
|
|
239
212
|
},
|
|
240
213
|
|
|
241
214
|
}
|
|
@@ -7,37 +7,35 @@
|
|
|
7
7
|
>
|
|
8
8
|
|
|
9
9
|
<div
|
|
10
|
-
style="border-bottom:1px solid #ddd;"
|
|
10
|
+
style="border-bottom:1px solid #ddd; background:#fff;"
|
|
11
11
|
v-domresize
|
|
12
12
|
@domresize="resizeHead"
|
|
13
13
|
>
|
|
14
14
|
|
|
15
15
|
<!-- 標題區 -->
|
|
16
|
-
<div style="padding:
|
|
17
|
-
<div style="padding:5px 15px 5px 5px;
|
|
18
|
-
<div style="display:flex; align-items:center;">
|
|
16
|
+
<div style="display:inline-block; vertical-align:top; padding:10px 0px 5px 20px;">
|
|
17
|
+
<div style="display:flex; align-items:center; padding:5px 15px 5px 5px; border-bottom:3px solid #FF9100;">
|
|
19
18
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
<div style="padding-left:10px; font-size:1.3rem; color:#d3912c;">
|
|
26
|
-
管理權限群組
|
|
27
|
-
</div>
|
|
19
|
+
<WIcon
|
|
20
|
+
:icon="mdiStackOverflow"
|
|
21
|
+
:color="'#FF9800'"
|
|
22
|
+
></WIcon>
|
|
28
23
|
|
|
24
|
+
<div style="padding-left:10px; font-size:1.3rem; color:#d3912c;">
|
|
25
|
+
{{$t('permissionGroups')}}
|
|
29
26
|
</div>
|
|
27
|
+
|
|
30
28
|
</div>
|
|
31
29
|
</div>
|
|
32
30
|
|
|
33
31
|
<!-- 編輯設定區 -->
|
|
34
|
-
<div style="
|
|
32
|
+
<div style="display:inline-block; vertical-align:top;">
|
|
35
33
|
|
|
36
|
-
<div style="padding:
|
|
34
|
+
<div style="padding:15px 20px 15px 20px; background:#fff;">
|
|
37
35
|
|
|
38
36
|
<div style="display:flex;">
|
|
39
37
|
<WSwitch
|
|
40
|
-
:text="'
|
|
38
|
+
:text="$t('isEditabled')"
|
|
41
39
|
:checkedSwitchCircleColor="'#D81B60'"
|
|
42
40
|
:checkedSwitchCircleColorHover="'#f26'"
|
|
43
41
|
:checkedSwitchBarColor="'#F8BBD0'"
|
|
@@ -48,37 +46,35 @@
|
|
|
48
46
|
|
|
49
47
|
<div style="padding-top:5px; font-size:0.8rem; _color:#f26;" v-if="isOperatable">
|
|
50
48
|
<div style="padding:3px 0px;">
|
|
51
|
-
1.
|
|
49
|
+
1. {{$t('groupMsg1')}}
|
|
52
50
|
</div>
|
|
53
51
|
<div style="padding:3px 0px;">
|
|
54
|
-
2.
|
|
55
|
-
</div>
|
|
56
|
-
<div style="padding:3px 0px;">
|
|
57
|
-
3. 此區域變更時將自動儲存。
|
|
52
|
+
2. {{$t('groupMsg2')}}
|
|
58
53
|
</div>
|
|
59
54
|
</div>
|
|
60
55
|
|
|
61
56
|
</div>
|
|
62
57
|
|
|
63
|
-
|
|
64
|
-
style="padding:10px 10px 12px 10px; border-top:1px solid #F48FB1; border-bottom:1px solid #F48FB1; background:#FCE4EC; display:flex; align-items:center; justify-content:flex-end;"
|
|
65
|
-
v-if="isModified"
|
|
66
|
-
>
|
|
67
|
-
|
|
68
|
-
<WButtonChip
|
|
69
|
-
:paddingStyle="{v:0,h:11}"
|
|
70
|
-
:text="'儲存變更'"
|
|
71
|
-
:icon="mdiCloudUploadOutline"
|
|
72
|
-
:backgroundColor="'rgba(255,0,50,0.7)'"
|
|
73
|
-
:backgroundColorHover="'rgba(255,0,50,0.8)'"
|
|
74
|
-
:textColor="'#eee'"
|
|
75
|
-
:textColorHover="'#fff'"
|
|
76
|
-
:iconColor="'#eee'"
|
|
77
|
-
:iconColorHover="'#fff'"
|
|
78
|
-
@click="saveGroups"
|
|
79
|
-
></WButtonChip>
|
|
58
|
+
</div>
|
|
80
59
|
|
|
81
|
-
|
|
60
|
+
<!-- 儲存變更提示區 -->
|
|
61
|
+
<div
|
|
62
|
+
style="padding:10px 10px 12px 10px; border-top:1px solid #F48FB1; border-bottom:1px solid #F48FB1; background:#FCE4EC; display:flex; align-items:center; justify-content:flex-end;"
|
|
63
|
+
v-if="isModified"
|
|
64
|
+
>
|
|
65
|
+
|
|
66
|
+
<WButtonChip
|
|
67
|
+
:paddingStyle="{v:0,h:11}"
|
|
68
|
+
:text="$t('saveChanges')"
|
|
69
|
+
:icon="mdiCloudUploadOutline"
|
|
70
|
+
:backgroundColor="'rgba(255,0,50,0.7)'"
|
|
71
|
+
:backgroundColorHover="'rgba(255,0,50,0.8)'"
|
|
72
|
+
:textColor="'#eee'"
|
|
73
|
+
:textColorHover="'#fff'"
|
|
74
|
+
:iconColor="'#eee'"
|
|
75
|
+
:iconColorHover="'#fff'"
|
|
76
|
+
@click="saveGroups"
|
|
77
|
+
></WButtonChip>
|
|
82
78
|
|
|
83
79
|
</div>
|
|
84
80
|
|
|
@@ -101,8 +97,8 @@
|
|
|
101
97
|
:draggable="isOperatable"
|
|
102
98
|
:editableClose="isOperatable"
|
|
103
99
|
:editableInput="isOperatable"
|
|
104
|
-
:addButtonText="'
|
|
105
|
-
:addButtonTooltip="'
|
|
100
|
+
:addButtonText="$t('addGroup')"
|
|
101
|
+
:addButtonTooltip="$t('addPermissionGroup')"
|
|
106
102
|
:addButtonTextColor="'#eee'"
|
|
107
103
|
:addButtonTextColorHover="'#fff'"
|
|
108
104
|
:addButtonIconColor="'#eee'"
|
|
@@ -132,7 +128,7 @@
|
|
|
132
128
|
style="padding:20px; _color:#666; font-size:0.85rem;"
|
|
133
129
|
v-else
|
|
134
130
|
>
|
|
135
|
-
|
|
131
|
+
{{$t('groupMsgNoPick')}}
|
|
136
132
|
</div>
|
|
137
133
|
|
|
138
134
|
</div>
|
|
@@ -140,7 +136,7 @@
|
|
|
140
136
|
</div>
|
|
141
137
|
|
|
142
138
|
<div style="padding:10px 15px; font-size:0.8rem;" v-else>
|
|
143
|
-
|
|
139
|
+
{{$t('waitingData')}}
|
|
144
140
|
</div>
|
|
145
141
|
|
|
146
142
|
</div>
|
|
@@ -161,6 +157,7 @@ import cloneDeep from 'lodash/cloneDeep'
|
|
|
161
157
|
import genID from 'wsemi/src/genID.mjs'
|
|
162
158
|
import isestr from 'wsemi/src/isestr.mjs'
|
|
163
159
|
import iseobj from 'wsemi/src/iseobj.mjs'
|
|
160
|
+
import cstr from 'wsemi/src/cstr.mjs'
|
|
164
161
|
import waitFun from 'wsemi/src/waitFun.mjs'
|
|
165
162
|
import WIcon from 'w-component-vue/src/components/WIcon.vue'
|
|
166
163
|
import WButtonChip from 'w-component-vue/src/components/WButtonChip.vue'
|
|
@@ -192,7 +189,7 @@ export default {
|
|
|
192
189
|
groupInforHeight: 100,
|
|
193
190
|
|
|
194
191
|
firstLoading: true,
|
|
195
|
-
isOperatable:
|
|
192
|
+
isOperatable: true,
|
|
196
193
|
isModified: false,
|
|
197
194
|
|
|
198
195
|
groupsTrans: [],
|
|
@@ -318,12 +315,14 @@ export default {
|
|
|
318
315
|
getDescription: function(g) {
|
|
319
316
|
// console.log('methods getDescription', g)
|
|
320
317
|
|
|
318
|
+
let vo = this
|
|
319
|
+
|
|
321
320
|
//r
|
|
322
321
|
let r = get(g, 'description', '')
|
|
323
322
|
|
|
324
323
|
//check
|
|
325
324
|
if (!isestr(r)) {
|
|
326
|
-
r = '
|
|
325
|
+
r = vo.$t('noDescription')
|
|
327
326
|
}
|
|
328
327
|
|
|
329
328
|
return r
|
|
@@ -365,7 +364,7 @@ export default {
|
|
|
365
364
|
//g
|
|
366
365
|
let g = {
|
|
367
366
|
id: genID(),
|
|
368
|
-
name: '
|
|
367
|
+
name: vo.$t('newGroup'),
|
|
369
368
|
crules: `{ "___all___": { "show": "n", "active": "n" } }`,
|
|
370
369
|
order: orderMax,
|
|
371
370
|
}
|
|
@@ -378,7 +377,7 @@ export default {
|
|
|
378
377
|
|
|
379
378
|
//check
|
|
380
379
|
if (errTemp !== null) {
|
|
381
|
-
vo.$alert(
|
|
380
|
+
vo.$alert(`${vo.$t('failedToAddPermissionGroup')}: ${errTemp}`, { type: 'error' })
|
|
382
381
|
}
|
|
383
382
|
|
|
384
383
|
//gn
|
|
@@ -392,7 +391,7 @@ export default {
|
|
|
392
391
|
// console.log('gn', gn)
|
|
393
392
|
|
|
394
393
|
//alert
|
|
395
|
-
vo.$alert(
|
|
394
|
+
vo.$alert(vo.$t('successfulToAddPermissionGroup'))
|
|
396
395
|
|
|
397
396
|
}
|
|
398
397
|
|
|
@@ -403,7 +402,7 @@ export default {
|
|
|
403
402
|
// })
|
|
404
403
|
.catch((err) => {
|
|
405
404
|
console.log('catch', err)
|
|
406
|
-
vo.$alert(
|
|
405
|
+
vo.$alert(vo.$t('anUnexpectedErrorOccurred'), { type: 'error' })
|
|
407
406
|
})
|
|
408
407
|
.finally(() => {
|
|
409
408
|
|
|
@@ -426,11 +425,13 @@ export default {
|
|
|
426
425
|
let g = get(msg, 'item', {})
|
|
427
426
|
|
|
428
427
|
//name
|
|
429
|
-
let name = get(g, 'name', '
|
|
428
|
+
let name = get(g, 'name', vo.$t('unknow'))
|
|
430
429
|
|
|
431
430
|
//showCheckYesNo
|
|
432
431
|
let bExit = false
|
|
433
|
-
|
|
432
|
+
let t_confirmToDeletePermissionGroup = vo.$t('confirmToDeletePermissionGroup')
|
|
433
|
+
t_confirmToDeletePermissionGroup = t_confirmToDeletePermissionGroup.replace('{name}', name)
|
|
434
|
+
await vo.$dg.showCheckYesNo(t_confirmToDeletePermissionGroup)
|
|
434
435
|
.catch(() => {
|
|
435
436
|
bExit = true
|
|
436
437
|
})
|
|
@@ -449,7 +450,7 @@ export default {
|
|
|
449
450
|
|
|
450
451
|
//check
|
|
451
452
|
if (errTemp !== null) {
|
|
452
|
-
vo.$alert(
|
|
453
|
+
vo.$alert(`${vo.$t('failedToDeletePermissionGroup')}: ${errTemp}`, { type: 'error' })
|
|
453
454
|
return
|
|
454
455
|
}
|
|
455
456
|
|
|
@@ -464,7 +465,7 @@ export default {
|
|
|
464
465
|
// console.log('gn', gn)
|
|
465
466
|
|
|
466
467
|
//alert
|
|
467
|
-
vo.$alert(
|
|
468
|
+
vo.$alert(vo.$t('successfulToDeletePermissionGroup'))
|
|
468
469
|
|
|
469
470
|
}
|
|
470
471
|
|
|
@@ -475,7 +476,7 @@ export default {
|
|
|
475
476
|
// })
|
|
476
477
|
.catch((err) => {
|
|
477
478
|
console.log('catch', err)
|
|
478
|
-
vo.$alert(
|
|
479
|
+
vo.$alert(vo.$t('anUnexpectedErrorOccurred'), { type: 'error' })
|
|
479
480
|
})
|
|
480
481
|
.finally(() => {
|
|
481
482
|
|
|
@@ -522,7 +523,7 @@ export default {
|
|
|
522
523
|
|
|
523
524
|
//check
|
|
524
525
|
if (errTemp !== null) {
|
|
525
|
-
vo.$alert(
|
|
526
|
+
vo.$alert(`${vo.$t('failedToChangeOrderPermissionGroup')}: ${errTemp}`, { type: 'error' })
|
|
526
527
|
return
|
|
527
528
|
}
|
|
528
529
|
|
|
@@ -540,7 +541,7 @@ export default {
|
|
|
540
541
|
// console.log('gsn', gsn)
|
|
541
542
|
|
|
542
543
|
//alert
|
|
543
|
-
vo.$alert(
|
|
544
|
+
vo.$alert(vo.$t('successfulToChangeOrderPermissionGroup'))
|
|
544
545
|
|
|
545
546
|
}
|
|
546
547
|
|
|
@@ -551,7 +552,7 @@ export default {
|
|
|
551
552
|
// })
|
|
552
553
|
.catch((err) => {
|
|
553
554
|
console.log('catch', err)
|
|
554
|
-
vo.$alert(
|
|
555
|
+
vo.$alert(vo.$t('anUnexpectedErrorOccurred'), { type: 'error' })
|
|
555
556
|
})
|
|
556
557
|
.finally(() => {
|
|
557
558
|
|
|
@@ -569,7 +570,7 @@ export default {
|
|
|
569
570
|
|
|
570
571
|
//check
|
|
571
572
|
if (!isestr(group.name)) {
|
|
572
|
-
vo.$alert(
|
|
573
|
+
vo.$alert(vo.$t('rememberToGivePermissionGroupName'), { type: 'warning' })
|
|
573
574
|
}
|
|
574
575
|
|
|
575
576
|
//modify
|
|
@@ -597,7 +598,9 @@ export default {
|
|
|
597
598
|
let b = false
|
|
598
599
|
each(vo.groupsTrans, (v, k) => {
|
|
599
600
|
if (!isestr(v.name)) {
|
|
600
|
-
vo.$
|
|
601
|
+
let t_isPermissionGroupNameEmpty = vo.$t('isPermissionGroupNameEmpty')
|
|
602
|
+
t_isPermissionGroupNameEmpty = t_isPermissionGroupNameEmpty.replace('{n}', cstr(k + 1))
|
|
603
|
+
vo.$alert(t_isPermissionGroupNameEmpty, { type: 'error' })
|
|
601
604
|
b = true
|
|
602
605
|
}
|
|
603
606
|
})
|
|
@@ -627,7 +630,7 @@ export default {
|
|
|
627
630
|
|
|
628
631
|
//check
|
|
629
632
|
if (errTemp !== null) {
|
|
630
|
-
vo.$alert(
|
|
633
|
+
vo.$alert(`${vo.$t('failedToSavePermissionGroup')}: ${errTemp}`, { type: 'error' })
|
|
631
634
|
return
|
|
632
635
|
}
|
|
633
636
|
|
|
@@ -635,7 +638,7 @@ export default {
|
|
|
635
638
|
vo.isModified = false
|
|
636
639
|
|
|
637
640
|
//alert
|
|
638
|
-
vo.$alert(
|
|
641
|
+
vo.$alert(vo.$t('successfulToSavePermissionGroup'))
|
|
639
642
|
|
|
640
643
|
}
|
|
641
644
|
|
|
@@ -646,7 +649,7 @@ export default {
|
|
|
646
649
|
// })
|
|
647
650
|
.catch((err) => {
|
|
648
651
|
console.log('catch', err)
|
|
649
|
-
vo.$alert(
|
|
652
|
+
vo.$alert(vo.$t('anUnexpectedErrorOccurred'), { type: 'error' })
|
|
650
653
|
})
|
|
651
654
|
.finally(() => {
|
|
652
655
|
|