w-web-perm 1.0.26 → 1.0.28

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.
@@ -925,7 +925,7 @@
925
925
  <br class="clear">
926
926
 
927
927
  <footer>
928
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Mon Jan 27 2025 12:59:51 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
928
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Sat Feb 01 2025 23:22:16 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
929
929
  </footer>
930
930
 
931
931
  <script>prettyPrint();</script>
@@ -275,6 +275,8 @@ function WWebPerm(WOrm, url, db, getUserByToken, verifyBrowserUser, verifyAppUse
275
275
 
276
276
 
277
277
  //params
278
+ let showLanguage = get(opt, 'showLanguage', 'n')
279
+ let language = get(opt, 'language', 'eng')
278
280
  let showModeEditTargets = get(opt, 'showModeEditTargets', 'n')
279
281
  let showModeEditPemis = get(opt, 'showModeEditPemis', 'n')
280
282
  let showModeEditGrups = get(opt, 'showModeEditGrups', 'n')
@@ -283,6 +285,15 @@ function WWebPerm(WOrm, url, db, getUserByToken, verifyBrowserUser, verifyAppUse
283
285
  let modeEditPemis = get(opt, 'modeEditPemis', 'n')
284
286
  let modeEditGrups = get(opt, 'modeEditGrups', 'n')
285
287
  let modeEditUsers = get(opt, 'modeEditUsers', 'n')
288
+ let widthTargetId = get(opt, 'widthTargetId', '')
289
+ let widthTargetDescription = get(opt, 'widthTargetDescription', '')
290
+ let widthPemisName = get(opt, 'widthPemisName', '')
291
+ let widthPemisDescription = get(opt, 'widthPemisDescription', '')
292
+ let widthGrupsName = get(opt, 'widthGrupsName', '')
293
+ let widthGrupsDescription = get(opt, 'widthGrupsDescription', '')
294
+ let widthUsersName = get(opt, 'widthUsersName', '')
295
+ let widthUsersEmail = get(opt, 'widthUsersEmail', '')
296
+ let widthUsersDescription = get(opt, 'widthUsersDescription', '')
286
297
 
287
298
 
288
299
  //mappingBy
@@ -312,10 +323,15 @@ function WWebPerm(WOrm, url, db, getUserByToken, verifyBrowserUser, verifyAppUse
312
323
  //getWebInfor
313
324
  let getWebInfor = (userId) => {
314
325
  return {
326
+
315
327
  webName,
316
328
  webDescription,
317
329
  webLogo,
318
330
  // urlRedirect, //登入失敗就需要轉址, 故須通過html模板取代提供, 無法用api提供
331
+
332
+ showLanguage,
333
+ language,
334
+
319
335
  showModeEditTargets,
320
336
  showModeEditPemis,
321
337
  showModeEditGrups,
@@ -324,6 +340,17 @@ function WWebPerm(WOrm, url, db, getUserByToken, verifyBrowserUser, verifyAppUse
324
340
  modeEditPemis,
325
341
  modeEditGrups,
326
342
  modeEditUsers,
343
+
344
+ widthTargetId,
345
+ widthTargetDescription,
346
+ widthPemisName,
347
+ widthPemisDescription,
348
+ widthGrupsName,
349
+ widthGrupsDescription,
350
+ widthUsersName,
351
+ widthUsersEmail,
352
+ widthUsersDescription,
353
+
327
354
  }
328
355
  }
329
356
 
@@ -838,14 +865,7 @@ function WWebPerm(WOrm, url, db, getUserByToken, verifyBrowserUser, verifyAppUse
838
865
  c = replace(c, '/mperm/', '{sfd}/') //方法同genEntry
839
866
  c = replace(c, '{sfd}', subfolder)
840
867
  c = replace(c, '{urlRedirect}', urlRedirect)
841
- c = replace(c, '{showModeEditTargets}', showModeEditTargets)
842
- c = replace(c, '{showModeEditPemis}', showModeEditPemis)
843
- c = replace(c, '{showModeEditGrups}', showModeEditGrups)
844
- c = replace(c, '{showModeEditUsers}', showModeEditUsers)
845
- c = replace(c, '{modeEditTargets}', modeEditTargets)
846
- c = replace(c, '{modeEditPemis}', modeEditPemis)
847
- c = replace(c, '{modeEditGrups}', modeEditGrups)
848
- c = replace(c, '{modeEditUsers}', modeEditUsers)
868
+ c = replace(c, '{language}', language)
849
869
  fs.writeFileSync(fpEntryOut, c, 'utf8')
850
870
  }
851
871
  catch (err) {
@@ -1262,7 +1282,7 @@ export default WWebPerm
1262
1282
  <br class="clear">
1263
1283
 
1264
1284
  <footer>
1265
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Mon Jan 27 2025 12:59:51 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
1285
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Sat Feb 01 2025 23:22:16 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
1266
1286
  </footer>
1267
1287
 
1268
1288
  <script>prettyPrint();</script>
package/docs/index.html CHANGED
@@ -71,7 +71,7 @@
71
71
  <br class="clear">
72
72
 
73
73
  <footer>
74
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Mon Jan 27 2025 12:59:51 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
74
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Sat Feb 01 2025 23:22:16 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
75
75
  </footer>
76
76
 
77
77
  <script>prettyPrint();</script>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "w-web-perm",
3
- "version": "1.0.26",
3
+ "version": "1.0.28",
4
4
  "main": "dist/w-web-perm.umd.js",
5
5
  "dependencies": {
6
6
  "@mdi/js": "^7.4.47",
package/public/index.html CHANGED
@@ -16,14 +16,7 @@
16
16
  <script>
17
17
  window.___pmwperm___={
18
18
  urlRedirect: '{urlRedirect}',
19
- showModeEditTargets: '{showModeEditTargets}',
20
- showModeEditPemis: '{showModeEditPemis}',
21
- showModeEditGrups: '{showModeEditGrups}',
22
- showModeEditUsers: '{showModeEditUsers}',
23
- modeEditTargets: '{modeEditTargets}',
24
- modeEditPemis: '{modeEditPemis}',
25
- modeEditGrups: '{modeEditGrups}',
26
- modeEditUsers: '{modeEditUsers}',
19
+ language: '{language}',
27
20
  }
28
21
  </script>
29
22
 
@@ -228,6 +228,8 @@ function WWebPerm(WOrm, url, db, getUserByToken, verifyBrowserUser, verifyAppUse
228
228
 
229
229
 
230
230
  //params
231
+ let showLanguage = get(opt, 'showLanguage', 'n')
232
+ let language = get(opt, 'language', 'eng')
231
233
  let showModeEditTargets = get(opt, 'showModeEditTargets', 'n')
232
234
  let showModeEditPemis = get(opt, 'showModeEditPemis', 'n')
233
235
  let showModeEditGrups = get(opt, 'showModeEditGrups', 'n')
@@ -236,6 +238,15 @@ function WWebPerm(WOrm, url, db, getUserByToken, verifyBrowserUser, verifyAppUse
236
238
  let modeEditPemis = get(opt, 'modeEditPemis', 'n')
237
239
  let modeEditGrups = get(opt, 'modeEditGrups', 'n')
238
240
  let modeEditUsers = get(opt, 'modeEditUsers', 'n')
241
+ let widthTargetId = get(opt, 'widthTargetId', '')
242
+ let widthTargetDescription = get(opt, 'widthTargetDescription', '')
243
+ let widthPemisName = get(opt, 'widthPemisName', '')
244
+ let widthPemisDescription = get(opt, 'widthPemisDescription', '')
245
+ let widthGrupsName = get(opt, 'widthGrupsName', '')
246
+ let widthGrupsDescription = get(opt, 'widthGrupsDescription', '')
247
+ let widthUsersName = get(opt, 'widthUsersName', '')
248
+ let widthUsersEmail = get(opt, 'widthUsersEmail', '')
249
+ let widthUsersDescription = get(opt, 'widthUsersDescription', '')
239
250
 
240
251
 
241
252
  //mappingBy
@@ -265,10 +276,15 @@ function WWebPerm(WOrm, url, db, getUserByToken, verifyBrowserUser, verifyAppUse
265
276
  //getWebInfor
266
277
  let getWebInfor = (userId) => {
267
278
  return {
279
+
268
280
  webName,
269
281
  webDescription,
270
282
  webLogo,
271
283
  // urlRedirect, //登入失敗就需要轉址, 故須通過html模板取代提供, 無法用api提供
284
+
285
+ showLanguage,
286
+ language,
287
+
272
288
  showModeEditTargets,
273
289
  showModeEditPemis,
274
290
  showModeEditGrups,
@@ -277,6 +293,17 @@ function WWebPerm(WOrm, url, db, getUserByToken, verifyBrowserUser, verifyAppUse
277
293
  modeEditPemis,
278
294
  modeEditGrups,
279
295
  modeEditUsers,
296
+
297
+ widthTargetId,
298
+ widthTargetDescription,
299
+ widthPemisName,
300
+ widthPemisDescription,
301
+ widthGrupsName,
302
+ widthGrupsDescription,
303
+ widthUsersName,
304
+ widthUsersEmail,
305
+ widthUsersDescription,
306
+
280
307
  }
281
308
  }
282
309
 
@@ -791,14 +818,7 @@ function WWebPerm(WOrm, url, db, getUserByToken, verifyBrowserUser, verifyAppUse
791
818
  c = replace(c, '/mperm/', '{sfd}/') //方法同genEntry
792
819
  c = replace(c, '{sfd}', subfolder)
793
820
  c = replace(c, '{urlRedirect}', urlRedirect)
794
- c = replace(c, '{showModeEditTargets}', showModeEditTargets)
795
- c = replace(c, '{showModeEditPemis}', showModeEditPemis)
796
- c = replace(c, '{showModeEditGrups}', showModeEditGrups)
797
- c = replace(c, '{showModeEditUsers}', showModeEditUsers)
798
- c = replace(c, '{modeEditTargets}', modeEditTargets)
799
- c = replace(c, '{modeEditPemis}', modeEditPemis)
800
- c = replace(c, '{modeEditGrups}', modeEditGrups)
801
- c = replace(c, '{modeEditUsers}', modeEditUsers)
821
+ c = replace(c, '{language}', language)
802
822
  fs.writeFileSync(fpEntryOut, c, 'utf8')
803
823
  }
804
824
  catch (err) {
package/src/App.vue CHANGED
@@ -69,16 +69,21 @@ export default {
69
69
  //setVo, 更換ui內vo, 才能使用廣播技術, 更換語系才能用廣播通知全部組件forceUpdate
70
70
  vo.$ui.setVo(vo)
71
71
 
72
+ //setLang
73
+ let lang = get(window, '___pmwperm___.language', '')
74
+ vo.$ui.setLang(lang, 'app init') //初始化先讀取html內語系設定進行變更
75
+ // console.log('lang', lang)
76
+
72
77
  function loginSuccess(data) {
73
78
  console.log('login success', cloneDeep(data.user))
74
- vo.$ui.updateConnState('已連線')
79
+ vo.$ui.updateConnState('csLogin')
75
80
  vo.$ui.updateUserToken(data.token)
76
81
  vo.$ui.updateUserSelf(data.user)
77
82
  }
78
83
 
79
84
  function loginError(data) {
80
85
  console.log('login error', cloneDeep(data))
81
- vo.$ui.updateConnState(data.text)
86
+ vo.$ui.updateConnState('csErrLogin')
82
87
  vo.$ui.updateUserToken('')
83
88
  let urlRedirect = get(window, '___pmwperm___.urlRedirect', '')
84
89
  if (!isestr(urlRedirect)) {
@@ -121,11 +126,17 @@ export default {
121
126
  computed: {
122
127
 
123
128
  ready: function() {
124
- let connState = get(this, `$store.state.connState`)
125
- let webInfor = get(this, `$store.state.webInfor`)
126
- let b1 = connState === '已連線'
129
+ //console.log('computed ready')
130
+
131
+ let vo = this
132
+
133
+ let connState = get(vo, `$store.state.connState`)
134
+ let webInfor = get(vo, `$store.state.webInfor`)
135
+
136
+ let b1 = connState === 'csLogin'
127
137
  let b2 = iseobj(webInfor)
128
138
  let b = b1 && b2
139
+
129
140
  return b
130
141
  },
131
142
 
@@ -21,13 +21,23 @@
21
21
 
22
22
  <div style="width:100%;"></div>
23
23
 
24
- <div style="padding-right:10px; white-space:nowrap">
24
+ <div
25
+ style="padding-right:10px; white-space:nowrap"
26
+ v-if="showLangSelect"
27
+ >
25
28
  <WTextSelect
26
29
  style="width:100px;"
27
- :items="tgLangs"
28
- v-model="tgLangSelect"
29
- @input="changeLang"
30
- ></WTextSelect>
30
+ :items="langKeys"
31
+ :value="lang"
32
+ @input="toggleLang"
33
+ >
34
+ <template v-slot:select="props">
35
+ {{getLangText(props.item)}}
36
+ </template>
37
+ <template v-slot:item="props">
38
+ {{getLangText(props.item)}}
39
+ </template>
40
+ </WTextSelect>
31
41
  </div>
32
42
 
33
43
  </div>
@@ -61,41 +71,49 @@ export default {
61
71
  },
62
72
  data: function() {
63
73
  return {
64
-
65
74
  mdiMenu,
66
- // menuKey: 'blocks',
67
- userName: 'tester',
68
-
69
- tgLangs: [
70
- {
71
- id: 'cht',
72
- text: '中文',
73
- },
74
- {
75
- id: 'eng',
76
- text: 'English',
77
- },
75
+
76
+ firstSetting: true,
77
+
78
+ showLangSelect: false,
79
+
80
+ langKeys: [
81
+ 'eng',
82
+ 'cht',
78
83
  ],
79
- tgLangSelect: {
80
- id: 'cht',
81
- text: '中文',
84
+ kpLang: {
85
+ 'eng': 'English',
86
+ 'cht': '中文',
82
87
  },
83
88
 
84
89
  }
85
90
  },
86
- beforeMount: function() {
87
- // console.log('beforeMount')
91
+ mounted: function() {
92
+ // console.log('mounted')
88
93
 
89
94
  let vo = this
90
95
 
91
- //setLang
92
- vo.$ui.setLang(vo.tgLangSelect.id)
96
+ //firstSetting
97
+ if (vo.firstSetting) {
98
+ // console.log('webInfor', vo.webInfor)
99
+ let showLanguage = get(vo, 'webInfor.showLanguage', '')
100
+ // console.log('showLanguage', showLanguage)
101
+ vo.showLangSelect = showLanguage === 'y'
102
+ let language = get(vo, 'webInfor.language', '')
103
+ // console.log('language', language)
104
+ vo.$ui.setLang(language, 'layout mounted')
105
+ vo.firstSetting = false
106
+ }
93
107
 
94
108
  },
95
109
  computed: {
96
110
 
97
111
  viewState: function() {
98
- return get(this, `$store.state.viewState`, '')
112
+ //console.log('computed viewState')
113
+
114
+ let vo = this
115
+
116
+ return get(vo, `$store.state.viewState`, '')
99
117
  },
100
118
 
101
119
  heightToolbar: function() {
@@ -106,6 +124,11 @@ export default {
106
124
  return get(vo, `$store.state.heightToolbar`, 0)
107
125
  },
108
126
 
127
+ webInfor: function() {
128
+ let wi = get(this, `$store.state.webInfor`)
129
+ return wi
130
+ },
131
+
109
132
  webName: {
110
133
  get() {
111
134
  let vo = this
@@ -113,8 +136,8 @@ export default {
113
136
  // console.log('get webName1', c)
114
137
  if (!isestr(c)) {
115
138
  c = vo.$t('waitingData')
139
+ // console.log('get webName2', c)
116
140
  }
117
- // console.log('get webName2', c)
118
141
  document.title = c //更換網頁title
119
142
  return c
120
143
  },
@@ -128,17 +151,38 @@ export default {
128
151
 
129
152
  let vo = this
130
153
 
131
- return get(vo, `$store.state.webInfor.webLogo`, '')
154
+ return get(vo, `webInfor.webLogo`, '')
155
+ },
156
+
157
+ lang: function() {
158
+ //console.log('computed webLogo')
159
+
160
+ let vo = this
161
+
162
+ return get(vo, `$store.state.lang`, '')
132
163
  },
133
164
 
134
165
  },
135
166
  methods: {
136
167
 
137
- changeLang: function(msg) {
138
- // console.log('methods changeLang', msg)
168
+ getLangText: function(lang) {
169
+ // console.log('methods getLangText', lang)
170
+
171
+ let vo = this
172
+
173
+ let t = get(vo, `kpLang.${lang}`, '')
174
+
175
+ return t
176
+ },
177
+
178
+ toggleLang: function(lang) {
179
+ // console.log('methods toggleLang', lang)
180
+
139
181
  let vo = this
140
- let lang = msg.id
141
- vo.$ui.setLang(lang)
182
+
183
+ //setLang
184
+ vo.$ui.setLang(lang, 'toggle')
185
+
142
186
  },
143
187
 
144
188
  }
@@ -229,6 +229,8 @@ import cloneDeep from 'lodash-es/cloneDeep.js'
229
229
  import haskey from 'wsemi/src/haskey.mjs'
230
230
  import isestr from 'wsemi/src/isestr.mjs'
231
231
  import iseobj from 'wsemi/src/iseobj.mjs'
232
+ import isnum from 'wsemi/src/isnum.mjs'
233
+ import cdbl from 'wsemi/src/cdbl.mjs'
232
234
  import cstr from 'wsemi/src/cstr.mjs'
233
235
  import arrPull from 'wsemi/src/arrPull.mjs'
234
236
  import WIcon from 'w-component-vue/src/components/WIcon.vue'
@@ -311,6 +313,9 @@ export default {
311
313
  // 'timeUpdate',
312
314
  ],
313
315
 
316
+ widthGrupsName: null,
317
+ widthGrupsDescription: null,
318
+
314
319
  items: [],
315
320
  itemsCheck: [],
316
321
  opt: null,
@@ -329,10 +334,15 @@ export default {
329
334
  //firstSetting
330
335
  if (vo.firstSetting) {
331
336
  // console.log('webInfor', vo.webInfor)
337
+
332
338
  let showModeEditGrups = get(vo, 'webInfor.showModeEditGrups', '')
333
339
  vo.showIsEditable = showModeEditGrups === 'y'
334
340
  let modeEditGrups = get(vo, 'webInfor.modeEditGrups', '')
335
341
  vo.isEditable = modeEditGrups === 'y'
342
+
343
+ vo.widthGrupsName = get(vo, 'webInfor.widthGrupsName', '')
344
+ vo.widthGrupsDescription = get(vo, 'webInfor.widthGrupsDescription', '')
345
+
336
346
  vo.firstSetting = false
337
347
  }
338
348
 
@@ -665,8 +675,8 @@ export default {
665
675
  },
666
676
  defHeadMinWidth: 150,
667
677
  kpHeadWidth: {
668
- 'name': 300,
669
- 'description': 300,
678
+ 'name': isnum(vo.widthGrupsName) ? cdbl(vo.widthGrupsName) : 300,
679
+ 'description': isnum(vo.widthGrupsDescription) ? cdbl(vo.widthGrupsDescription) : 300,
670
680
  'belongUsers': 300,
671
681
  'cpemis': 300,
672
682
  'timeCreate': 220,
@@ -229,6 +229,8 @@ import cloneDeep from 'lodash-es/cloneDeep.js'
229
229
  import haskey from 'wsemi/src/haskey.mjs'
230
230
  import isestr from 'wsemi/src/isestr.mjs'
231
231
  import iseobj from 'wsemi/src/iseobj.mjs'
232
+ import isnum from 'wsemi/src/isnum.mjs'
233
+ import cdbl from 'wsemi/src/cdbl.mjs'
232
234
  import cstr from 'wsemi/src/cstr.mjs'
233
235
  import arrPull from 'wsemi/src/arrPull.mjs'
234
236
  import WIcon from 'w-component-vue/src/components/WIcon.vue'
@@ -311,6 +313,9 @@ export default {
311
313
  // 'timeUpdate',
312
314
  ],
313
315
 
316
+ widthPemisName: null,
317
+ widthPemisDescription: null,
318
+
314
319
  items: [],
315
320
  itemsCheck: [],
316
321
  opt: null,
@@ -329,10 +334,15 @@ export default {
329
334
  //firstSetting
330
335
  if (vo.firstSetting) {
331
336
  // console.log('webInfor', vo.webInfor)
337
+
332
338
  let showModeEditPemis = get(vo, 'webInfor.showModeEditPemis', '')
333
339
  vo.showIsEditable = showModeEditPemis === 'y'
334
340
  let modeEditPemis = get(vo, 'webInfor.modeEditPemis', '')
335
341
  vo.isEditable = modeEditPemis === 'y'
342
+
343
+ vo.widthPemisName = get(vo, 'webInfor.widthPemisName', '')
344
+ vo.widthPemisDescription = get(vo, 'webInfor.widthPemisDescription', '')
345
+
336
346
  vo.firstSetting = false
337
347
  }
338
348
 
@@ -665,8 +675,8 @@ export default {
665
675
  },
666
676
  defHeadMinWidth: 150,
667
677
  kpHeadWidth: {
668
- 'name': 300,
669
- 'description': 300,
678
+ 'name': isnum(vo.widthPemisName) ? cdbl(vo.widthPemisName) : 300,
679
+ 'description': isnum(vo.widthPemisDescription) ? cdbl(vo.widthPemisDescription) : 300,
670
680
  'belongGrups': 300,
671
681
  'crules': 300,
672
682
  'timeCreate': 220,
@@ -226,6 +226,8 @@ import cloneDeep from 'lodash-es/cloneDeep.js'
226
226
  import haskey from 'wsemi/src/haskey.mjs'
227
227
  import isestr from 'wsemi/src/isestr.mjs'
228
228
  import iseobj from 'wsemi/src/iseobj.mjs'
229
+ import isnum from 'wsemi/src/isnum.mjs'
230
+ import cdbl from 'wsemi/src/cdbl.mjs'
229
231
  import cstr from 'wsemi/src/cstr.mjs'
230
232
  import arrPull from 'wsemi/src/arrPull.mjs'
231
233
  import WIcon from 'w-component-vue/src/components/WIcon.vue'
@@ -302,6 +304,9 @@ export default {
302
304
  // 'timeUpdate',
303
305
  ],
304
306
 
307
+ widthTargetId: null,
308
+ widthTargetDescription: null,
309
+
305
310
  items: [],
306
311
  itemsCheck: [],
307
312
  opt: null,
@@ -316,10 +321,15 @@ export default {
316
321
  //firstSetting
317
322
  if (vo.firstSetting) {
318
323
  // console.log('webInfor', vo.webInfor)
324
+
319
325
  let showModeEditTargets = get(vo, 'webInfor.showModeEditTargets', '')
320
326
  vo.showIsEditable = showModeEditTargets === 'y'
321
327
  let modeEditTargets = get(vo, 'webInfor.modeEditTargets', '')
322
328
  vo.isEditable = modeEditTargets === 'y'
329
+
330
+ vo.widthTargetId = get(vo, 'webInfor.widthTargetId', '')
331
+ vo.widthTargetDescription = get(vo, 'webInfor.widthTargetDescription', '')
332
+
323
333
  vo.firstSetting = false
324
334
  }
325
335
 
@@ -571,8 +581,8 @@ export default {
571
581
  },
572
582
  defHeadMinWidth: 150,
573
583
  kpHeadWidth: {
574
- 'id': 300,
575
- 'description': 300,
584
+ 'id': isnum(vo.widthTargetId) ? cdbl(vo.widthTargetId) : 600,
585
+ 'description': isnum(vo.widthTargetId) ? cdbl(vo.widthTargetId) : 600,
576
586
  'timeCreate': 220,
577
587
  'timeUpdate': 220,
578
588
  },
@@ -228,6 +228,8 @@ import cloneDeep from 'lodash-es/cloneDeep.js'
228
228
  import haskey from 'wsemi/src/haskey.mjs'
229
229
  import isestr from 'wsemi/src/isestr.mjs'
230
230
  import iseobj from 'wsemi/src/iseobj.mjs'
231
+ import isnum from 'wsemi/src/isnum.mjs'
232
+ import cdbl from 'wsemi/src/cdbl.mjs'
231
233
  import cstr from 'wsemi/src/cstr.mjs'
232
234
  import arrPull from 'wsemi/src/arrPull.mjs'
233
235
  import WIcon from 'w-component-vue/src/components/WIcon.vue'
@@ -316,6 +318,10 @@ export default {
316
318
  // 'timeUpdate',
317
319
  ],
318
320
 
321
+ widthUsersName: null,
322
+ widthUsersEmail: null,
323
+ widthUsersDescription: null,
324
+
319
325
  items: [],
320
326
  itemsCheck: [],
321
327
  opt: null,
@@ -335,10 +341,16 @@ export default {
335
341
  //firstSetting
336
342
  if (vo.firstSetting) {
337
343
  // console.log('webInfor', vo.webInfor)
344
+
338
345
  let showModeEditUsers = get(vo, 'webInfor.showModeEditUsers', '')
339
346
  vo.showIsEditable = showModeEditUsers === 'y'
340
347
  let modeEditUsers = get(vo, 'webInfor.modeEditUsers', '')
341
348
  vo.isEditable = modeEditUsers === 'y'
349
+
350
+ vo.widthUsersName = get(vo, 'webInfor.widthUsersName', '')
351
+ vo.widthUsersEmail = get(vo, 'webInfor.widthUsersEmail', '')
352
+ vo.widthUsersDescription = get(vo, 'webInfor.widthUsersDescription', '')
353
+
342
354
  vo.firstSetting = false
343
355
  }
344
356
 
@@ -644,6 +656,9 @@ export default {
644
656
  },
645
657
  defHeadMinWidth: 150,
646
658
  kpHeadWidth: {
659
+ 'name': isnum(vo.widthUsersName) ? cdbl(vo.widthUsersName) : 200,
660
+ 'email': isnum(vo.widthUsersEmail) ? cdbl(vo.widthUsersEmail) : 300,
661
+ 'description': isnum(vo.widthUsersDescription) ? cdbl(vo.widthUsersDescription) : 300,
647
662
  'cgrups': 300,
648
663
  'isAdmin': 100,
649
664
  'isActive': 100,
@@ -3,37 +3,49 @@
3
3
  :style="`position:absolute; top:0px; left:0px; width:100%; height:100%; transition:all 0.5s linear; display:flex; align-items:center; justify-content:center;`"
4
4
  >
5
5
 
6
- <template v-if="connState==='已連線' || connState==='連線中...'">
6
+ <template v-if="connState==='csIng'">
7
7
 
8
8
  <img style="width:100px; height:100px;" :src="img_connection">
9
9
 
10
10
  <div style="margin-left:10px;">
11
11
  <div style="color:#aaa;">
12
- {{connState}}
12
+ {{$t('csIng')}}
13
13
  </div>
14
14
  </div>
15
15
 
16
16
  </template>
17
17
 
18
- <template v-else-if="connState==='已登出'">
18
+ <template v-else-if="connState==='csLogin'">
19
+
20
+ <img style="width:100px; height:100px;" :src="img_connection">
21
+
22
+ <div style="margin-left:10px;">
23
+ <div style="color:#aaa;">
24
+ {{$t('csLogin')}}
25
+ </div>
26
+ </div>
27
+
28
+ </template>
29
+
30
+ <template v-else-if="connState==='csLogout'">
19
31
 
20
32
  <img style="width:75px; height:75px;" :src="img_logout">
21
33
 
22
34
  <div style="margin-left:10px;">
23
35
  <div style="color:#aaa;">
24
- {{connState}}
36
+ {{$t('csLogout')}}
25
37
  </div>
26
38
  </div>
27
39
 
28
40
  </template>
29
41
 
30
- <template v-else-if="connState==='無法連線'">
42
+ <template v-else-if="connState==='csErrConn'">
31
43
 
32
44
  <img style="width:75px; height:75px;" :src="img_dissconnection">
33
45
 
34
46
  <div style="margin-left:10px;">
35
47
  <div style="color:#aaa;">
36
- {{connState}}
48
+ {{$t('csErrConn')}}
37
49
  </div>
38
50
  </div>
39
51
 
@@ -45,7 +57,7 @@
45
57
 
46
58
  <div style="margin-left:10px;">
47
59
  <div style="color:#aaa;">
48
- {{connState}}
60
+ {{$t('csErrLogin')}}
49
61
  </div>
50
62
  </div>
51
63
 
@@ -55,7 +67,7 @@
55
67
  </template>
56
68
 
57
69
  <script>
58
- import get from 'lodash-es/get.js'
70
+ import get from 'lodash-es/get.js'
59
71
 
60
72
 
61
73
  export default {