agilebuilder-ui 1.0.73 → 1.0.74-tmp2

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.
@@ -25,7 +25,7 @@
25
25
  multiple="multiple"
26
26
  :capture="'environment'"
27
27
  name="file"
28
- :accept="myAccept"
28
+ :accept="accept"
29
29
  style="display: none"
30
30
  @change="uploadFiles"
31
31
  />
@@ -36,7 +36,7 @@
36
36
  :capture="'environment'"
37
37
  name="file"
38
38
  style="display: none"
39
- :accept="myAccept"
39
+ :accept="accept"
40
40
  @change="uploadFiles"
41
41
  />
42
42
  </template>
@@ -47,7 +47,7 @@
47
47
  type="file"
48
48
  multiple="multiple"
49
49
  name="file"
50
- :accept="myAccept"
50
+ :accept="accept"
51
51
  style="display: none"
52
52
  @change="uploadFiles"
53
53
  />
@@ -57,7 +57,7 @@
57
57
  type="file"
58
58
  name="file"
59
59
  style="display: none"
60
- :accept="myAccept"
60
+ :accept="accept"
61
61
  @change="uploadFiles"
62
62
  />
63
63
  </template>
@@ -264,7 +264,7 @@ function removeFile(param) {
264
264
  emits('remove', { rmFiles: [file], serverFiles: fileListResult.value, index: param.index })
265
265
  }
266
266
  }
267
- function pickBrowserFiles() {
267
+ function pickBrowserFiles(grid) {
268
268
  if (props.openCameraOrChoosePhoto && props.openCameraOrChoosePhoto === 'openCamera') {
269
269
  // 只打开相机
270
270
  myAccept.value = 'image/*'
@@ -324,7 +324,7 @@ async function uploadBrowserFile() {
324
324
  if (props.beforeUpload && typeof props.beforeUpload === 'function') {
325
325
  const isMobile = true
326
326
  // eslint-disable-next-line no-useless-call
327
- isCanUpload = props.beforeUpload({fileObj, files:selectFiles, isMobile, pageContext: props.pageContext, configureObj: props.configure})
327
+ isCanUpload = props.beforeUpload({fileObj, selectFiles, files:selectFiles, isMobile, pageContext: props.pageContext, configureObj: props.configure})
328
328
  }
329
329
  }
330
330
  }
@@ -80,6 +80,19 @@ let baseURL = props.baseURL
80
80
 
81
81
  const baseAPI = window.$vueApp.config.globalProperties.baseAPI
82
82
 
83
+ // const handleRemove = (file: Object) => {
84
+ // console.log(file)
85
+ // }
86
+
87
+ // const handlePictureCardPreview = (file: Object) => {
88
+ // dialogImageUrl.value = file.url!
89
+ // dialogVisible.value = true
90
+
91
+ // }
92
+
93
+ // const handleDownload = (file: Object) => {
94
+ // console.log(file)
95
+ // }
83
96
  const fileListResult = ref(props.fileList)
84
97
  console.log('file-upload-component---fileListResult=', fileListResult.value)
85
98
  function changeFileList(fileList: any) {
@@ -1,34 +1,24 @@
1
1
  <template>
2
2
  <div>
3
- <file-upload-app
3
+ <!-- <file-upload-app
4
4
  v-if="userAgent === 'app'"
5
5
  ref="fileUploadRef"
6
- :file-list="fileList"
6
+ :file-lis="fileList"
7
+ :system-code="systemCode"
7
8
  :multiple="multiple"
8
9
  :disabled="disabled"
9
- :open-camera-or-choose-photo="openCameraOrChoosePhoto"
10
+ :limit-file-size="limitFileSize"
11
+ :component-id="componentId"
12
+ :component-name="componentName"
10
13
  :options="options"
11
- :fileInfo="fileInfo"
12
- :systemCode="systemCode"
13
- :accept="accept"
14
- :limit="limit"
15
- :limitFileSize="limitFileSize"
16
- :placeholder="placeholder"
17
- :action="action"
18
- :headers="headers"
19
- :beforeUpload="beforeUpload"
20
- :onSuccess="onSuccess"
21
- :beforeRemove="beforeRemove"
22
- :onRemove="onRemove"
23
- :beforeDownload="beforeDownload"
24
- :pageContext="pageContext"
25
- :configure="configure"
26
- :openFsUpload="openFsUpload"
14
+ :list-code="listCode"
27
15
  @uploadend="uploadedFile"
28
16
  @remove="removeFile"
29
- />
17
+ @pickup-file="pickupFiles"
18
+ @close="$emit('close')"
19
+ /> -->
20
+ <!-- v-if="userAgent === 'browser'" -->
30
21
  <file-upload-browser
31
- v-else-if="userAgent === 'browser'"
32
22
  ref="fileUploadRef"
33
23
  :file-list="fileList"
34
24
  :multiple="multiple"
@@ -51,6 +41,7 @@
51
41
  :pageContext="pageContext"
52
42
  :configure="configure"
53
43
  :openFsUpload="openFsUpload"
44
+ @pickup-file="pickupFiles"
54
45
  @uploadend="uploadedFile"
55
46
  @remove="removeFile"
56
47
  />
@@ -60,7 +51,7 @@
60
51
  import { ref, defineEmits } from 'vue'
61
52
  import { ElMessage } from 'element-plus'
62
53
  import { useI18n } from 'vue-i18n'
63
- import FileUploadApp from './file-upload-app.vue'
54
+ // import FileUploadApp from './file-upload-app.vue'
64
55
  import FileUploadBrowser from './file-upload-browser.vue'
65
56
  import apis from './api.js'
66
57
 
@@ -232,6 +223,10 @@ function removeFile({ rmFiles, serverFiles, newFiles }) {
232
223
  emits('remove', { rmFiles, serverFiles, newFiles })
233
224
  }
234
225
  }
226
+ // 选择文件之后的事件
227
+ function pickupFiles(files) {
228
+ emits('pickup-file', files)
229
+ }
235
230
  // 移动端选择文件结束
236
231
  function pickFileDone(data) {
237
232
  if (userAgent.value === 'app') {
@@ -249,7 +244,6 @@ function clearTempFile() {
249
244
  fileUploadRef.value.clearQueenFile()
250
245
  }
251
246
  }
252
- defineExpose({pickFileDone,uploadFileDone})
253
247
  </script>
254
248
 
255
249
  <style lang="scss" scoped></style>
@@ -122,8 +122,7 @@ if (!props.headers || !props.headers['Authorization']) {
122
122
  props.headers.Authorization = getToken()
123
123
  }
124
124
  const handleBeforeUpload = (file: File) => {
125
- const isMobile = false
126
- return props.beforeUpload({fileObj: file, files:[file], isMobile, pageContext: props.pageContext, configureObj: props.configure})
125
+ return props.beforeUpload(file)
127
126
  }
128
127
  const onSuccess = (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => {
129
128
  // eslint-disable-next-line vue/no-mutating-props
@@ -220,7 +220,7 @@ function getDevPlatformPermissions(roleCodes) {
220
220
 
221
221
 
222
222
  function getCurrentUserMobilePermissions (loginName) {
223
- return request.get(window.$vueApp.config.globalProperties.baseAPI + '/sso/current-users/mobile-permissions?loginName=' + encodeURI(loginName) + '&_t=' + new Date().getTime())
223
+ return request.get(Vue.prototype.baseAPI + '/sso/current-users/mobile-permissions?loginName=' + encodeURI(loginName) + '&_t=' + new Date().getTime())
224
224
  }
225
225
 
226
226
  export default {
package/src/permission.js CHANGED
@@ -8,17 +8,17 @@ import { ElMessage as Message } from 'element-plus'
8
8
  import * as Vue from 'vue'
9
9
  import authApi from './utils/auth-api'
10
10
 
11
- import {cacheAllLanguagesUtil, getLocaleByLang, cacheCurrentLanguageUtil} from './utils/common-util'
11
+ import { cacheAllLanguagesUtil, getLocaleByLang, cacheCurrentLanguageUtil } from './utils/common-util'
12
12
 
13
13
  // 首次加载业务系统时,获得用户的语言
14
14
  function initUserLanguage() {
15
15
  return new Promise((resolve, reject) => {
16
- cacheCurrentLanguageUtil(window.$http).then((lang) => {
17
- const locale = getLocaleByLang(lang)
18
- // i18n.locale = locale // 关键语句
19
- window.$locale = locale
20
- resolve()
21
- })
16
+ cacheCurrentLanguageUtil(window.$http).then((lang) => {
17
+ const locale = getLocaleByLang(lang)
18
+ // i18n.locale = locale // 关键语句
19
+ window.$locale = locale
20
+ resolve()
21
+ })
22
22
  })
23
23
  }
24
24
 
@@ -27,13 +27,7 @@ function cacheAllLanguages() {
27
27
  return cacheAllLanguagesUtil(window.$http)
28
28
  }
29
29
 
30
- const whiteList = [
31
- '/login',
32
- '/update-password',
33
- '/forget-password',
34
- '/reset-password',
35
- '/redirect',
36
- ] // 不重定向白名单
30
+ const whiteList = ['/login', '/update-password', '/forget-password', '/reset-password', '/redirect'] // 不重定向白名单
37
31
 
38
32
  let devpJWTKey = '_devpJWT'
39
33
  let runDevpJWTKey = '_runDevpJWT'
@@ -59,12 +53,12 @@ router.beforeEach((to, from, next) => {
59
53
  let token
60
54
  // 是否是开发环境功能
61
55
  let isDevp = isDevpSystem()
62
- if(authApi.getSessionCache(runDevpJWTKey)) {
56
+ if (authApi.getSessionCache(runDevpJWTKey)) {
63
57
  // setToken(authApi.getSessionCache(runDevpJWTKey))
64
58
  token = authApi.getSessionCache(runDevpJWTKey)
65
59
  console.log('router.beforeEach-authApi.getSessionCache(_runDevpJWT)=', authApi.getSessionCache(runDevpJWTKey))
66
60
  }
67
- if(!token) {
61
+ if (!token) {
68
62
  token = getToken()
69
63
  }
70
64
  console.log('router.beforeEach-token=', token)
@@ -83,10 +77,15 @@ router.beforeEach((to, from, next) => {
83
77
  setToken(token)
84
78
  }
85
79
  }
86
- if (to.query && to.query._systemName_) {
87
- // 表示需要设置浏览器页签名
88
- window.top.document.title = to.query._systemName_
89
- }
80
+ // if (to.query) {
81
+ // if (to.query._systemName_) {
82
+ // window.top.document.title = to.query._systemName_
83
+ // }
84
+ // if (to.query.customSystem) {
85
+ // window.$vueApp.config.globalProperties.currentSystem = to.query.customSystem
86
+ // }
87
+ // // 表示需要设置浏览器页签名
88
+ // }
90
89
  // console.log('router.beforeEach-getToken()=', token)
91
90
  // 表示需要显示菜单。为了控制是否需要走获得有权限的菜单集合的接口。单点登录跳转到表单页面时不需要请求菜单,提高页面显示速度。
92
91
  let isNeedMenu
@@ -100,14 +99,9 @@ router.beforeEach((to, from, next) => {
100
99
  }
101
100
  console.log('iMatrix-router.beforeEach2-isNeedMenu==', isNeedMenu)
102
101
  if (
103
- ([
104
- '/update-password',
105
- '/forget-password',
106
- '/reset-password',
107
- '/redirect',
108
- ].indexOf(to.path) === -1 ||
109
- store.getters.whiteList.indexOf(to.path) !== -1) &&
110
- token
102
+ (['/update-password', '/forget-password', '/reset-password', '/redirect'].indexOf(to.path) === -1 ||
103
+ store.getters.whiteList.indexOf(to.path) !== -1) &&
104
+ token
111
105
  ) {
112
106
  if (to.path === '/login') {
113
107
  next({ path: '/', query: to.query })
@@ -115,104 +109,99 @@ router.beforeEach((to, from, next) => {
115
109
  } else {
116
110
  console.log('router.beforeEach-to.path!=login')
117
111
  if (store.getters.name === '') {
112
+ if (to.query) {
113
+ if (to.query._systemName_) {
114
+ window.top.document.title = to.query._systemName_
115
+ }
116
+ if (to.query.customSystem && to.query.customSystem !== 'undefined' && to.query.customSystem !== 'null') {
117
+ window.$vueApp.config.globalProperties.currentSystem = to.query.customSystem
118
+ }
119
+ // 表示需要设置浏览器页签名
120
+ }
118
121
  // 表示刷新了页面(例如点击了一级菜单)后,会重新走该方法
119
122
  console.log('router.beforeEach-store.getters.name === ""')
120
123
  store
121
- .dispatch('isLoginTimeOut')
122
- .then((result) => {
123
- if (result === true) {
124
- store.dispatch('clearToken').then(() => {
125
- next({ path: '/', replace: true })
126
- NProgress.done()
127
- })
128
- } else {
129
- store
130
- .dispatch('getCurrentUser')
131
- .then((user) => {
132
- return new Promise((resolve, reject) => {
133
- initUserLanguage().then(()=>{
134
- resolve(user)
135
- })
136
- })
137
- }).then((user)=>{
138
- return new Promise((resolve, reject) => {
139
- cacheAllLanguages().then(()=>{
140
- resolve(user)
141
- })
142
- })
143
- }).then((user)=>{
144
- console.log('router.beforeEach-getCurrentUser')
145
- const devpRoleCodes = authApi.getSessionCache(runCurrentRoleKey)
146
- if(!isDevp && devpRoleCodes){
147
- // 表示是开发环境设计时生成的运行平台的JWT,且缓存了项目权限编码,对应运行平台的岗位编码
148
- // console.log('开发环境设计时生成的运行平台的JWT,且缓存了项目权限编码时,!isDevp && devpRoleCodes')
149
- return store.dispatch(
150
- 'getDevPlatformPermissions',
151
- devpRoleCodes
152
- )
153
- } else {
154
- // 开发平台本身的功能或直接平台功能时
155
- // console.log('开发平台本身的功能或直接平台功能时')
156
- return store.dispatch(
157
- 'getCurrentUserPermissions',
158
- user.loginName
159
- )
160
- }
161
- })
162
- .then((permissions) => {
163
- return store.dispatch('generateRoutes', permissions)
164
- })
165
- .then(() => {
166
- if (isNeedMenu) {
167
- // 需要显示左侧菜单 并 不是开发平台时,开发平台的菜单需要在设计项目时获得
168
- console.log('iMatrix-router.beforeEach2-getPermissionMenus')
169
- return store.dispatch('getPermissionMenus', window.$vueApp.config.globalProperties.currentSystem)
170
- } else {
171
- return new Promise((resolve, reject) => {
172
- resolve()
173
- })
174
- }
124
+ .dispatch('isLoginTimeOut')
125
+ .then((result) => {
126
+ if (result === true) {
127
+ store.dispatch('clearToken').then(() => {
128
+ next({ path: '/', replace: true })
129
+ NProgress.done()
130
+ })
131
+ } else {
132
+ store
133
+ .dispatch('getCurrentUser')
134
+ .then((user) => {
135
+ return new Promise((resolve, reject) => {
136
+ initUserLanguage().then(() => {
137
+ resolve(user)
175
138
  })
176
- .then(() => {
177
- // 根据roles权限生成可访问的路由表
178
- console.log(
179
- 'router.beforeEach-generateRoutes==to=',
180
- to,
181
- ',from=',
182
- from
183
- )
184
- store.getters.protectedRouters.forEach(item =>{
185
- router.addRoute(item)
186
- })
187
- // 404等错误路由一定要放到受权限保护的路由之后
188
- // router.addRoutes(errorRouterMap)
189
- window.sessionStorage.setItem(
190
- new Date().getTime() + '-name=null-from~~toPath',
191
- from.path + '~~' + to.path
192
- )
193
- next({ ...to, replace: true })
139
+ })
140
+ })
141
+ .then((user) => {
142
+ return new Promise((resolve, reject) => {
143
+ cacheAllLanguages().then(() => {
144
+ resolve(user)
194
145
  })
195
- .catch((err) => {
196
- store.dispatch('clearToken').then(() => {
197
- Message.error(
198
- err || 'Verification failed, please login again'
199
- )
200
- next({ path: '/' })
201
- })
146
+ })
147
+ })
148
+ .then((user) => {
149
+ console.log('router.beforeEach-getCurrentUser')
150
+ const devpRoleCodes = authApi.getSessionCache(runCurrentRoleKey)
151
+ if (!isDevp && devpRoleCodes) {
152
+ // 表示是开发环境设计时生成的运行平台的JWT,且缓存了项目权限编码,对应运行平台的岗位编码
153
+ // console.log('开发环境设计时生成的运行平台的JWT,且缓存了项目权限编码时,!isDevp && devpRoleCodes')
154
+ return store.dispatch('getDevPlatformPermissions', devpRoleCodes)
155
+ } else {
156
+ // 开发平台本身的功能或直接平台功能时
157
+ // console.log('开发平台本身的功能或直接平台功能时')
158
+ return store.dispatch('getCurrentUserPermissions', user.loginName)
159
+ }
160
+ })
161
+ .then((permissions) => {
162
+ return store.dispatch('generateRoutes', permissions)
163
+ })
164
+ .then(() => {
165
+ if (isNeedMenu) {
166
+ // 需要显示左侧菜单 并 不是开发平台时,开发平台的菜单需要在设计项目时获得
167
+ console.log('iMatrix-router.beforeEach2-getPermissionMenus')
168
+ return store.dispatch('getPermissionMenus', window.$vueApp.config.globalProperties.currentSystem)
169
+ } else {
170
+ return new Promise((resolve, reject) => {
171
+ resolve()
202
172
  })
203
- }
204
- })
205
- .catch((err) => {
206
- store.dispatch('clearToken').then(() => {
207
- Message.error(err || 'Verification failed, please login again')
208
- next({ path: '/' })
209
- })
173
+ }
174
+ })
175
+ .then(() => {
176
+ // 根据roles权限生成可访问的路由表
177
+ console.log('router.beforeEach-generateRoutes==to=', to, ',from=', from)
178
+ store.getters.protectedRouters.forEach((item) => {
179
+ router.addRoute(item)
180
+ })
181
+ // 404等错误路由一定要放到受权限保护的路由之后
182
+ // router.addRoutes(errorRouterMap)
183
+ window.sessionStorage.setItem(
184
+ new Date().getTime() + '-name=null-from~~toPath',
185
+ from.path + '~~' + to.path
186
+ )
187
+ next({ ...to, replace: true })
188
+ })
189
+ .catch((err) => {
190
+ store.dispatch('clearToken').then(() => {
191
+ Message.error(err || 'Verification failed, please login again')
192
+ next({ path: '/' })
193
+ })
194
+ })
195
+ }
196
+ })
197
+ .catch((err) => {
198
+ store.dispatch('clearToken').then(() => {
199
+ Message.error(err || 'Verification failed, please login again')
200
+ next({ path: '/' })
210
201
  })
202
+ })
211
203
  } else {
212
- console.log(
213
- 'router.beforeEach-store.getters.name ==',
214
- store.getters.name
215
- )
204
+ console.log('router.beforeEach-store.getters.name ==', store.getters.name)
216
205
  if (isNeedMenu) {
217
206
  // 需要显示左侧菜单
218
207
  let systemCode = window.$vueApp.config.globalProperties.currentSystem
@@ -228,10 +217,7 @@ router.beforeEach((to, from, next) => {
228
217
  }
229
218
  }
230
219
  } else {
231
- if (
232
- whiteList.indexOf(to.path) !== -1 ||
233
- store.getters.whiteList.indexOf(to.path) !== -1
234
- ) {
220
+ if (whiteList.indexOf(to.path) !== -1 || store.getters.whiteList.indexOf(to.path) !== -1) {
235
221
  next()
236
222
  } else {
237
223
  // 必须使用to.fullPath,fullPath是带有参数的,to.path没有参数,会导致跳转到的页面参数丢失
@@ -265,4 +265,14 @@
265
265
  }
266
266
  }
267
267
  }
268
+
269
+ 运行时工具栏样式
270
+ .amb-widget-tools-parent{
271
+ margin-bottom: 20px;
272
+ }
273
+ .amb-widget-container-tool{
274
+ display: flex;
275
+ overflow-x: auto;
276
+ padding: 10px 0;
277
+ }
268
278
  }
@@ -286,7 +286,7 @@
286
286
  }
287
287
 
288
288
  .el-menu-item{
289
- color: $--menu-dont-color;
289
+ color: #FFFFFF;
290
290
  }
291
291
 
292
292
  .el-menu-item:hover{
@@ -320,4 +320,13 @@
320
320
  color: #FFFFFF;
321
321
  background-color: $--menu-hove-background-color;
322
322
  }
323
+ 运行时工具栏样式
324
+ .amb-widget-tools-parent{
325
+ margin-bottom: 20px;
326
+ }
327
+ .amb-widget-container-tool{
328
+ display: flex;
329
+ overflow-x: auto;
330
+ padding: 10px 0;
331
+ }
323
332
  }
@@ -276,4 +276,14 @@
276
276
  .el-sub-menu__title:hover{
277
277
  background-color: $--menu-hove-background-color;
278
278
  }
279
+
280
+ 运行时工具栏样式
281
+ .amb-widget-tools-parent{
282
+ margin-bottom: 20px;
283
+ }
284
+ .amb-widget-container-tool{
285
+ display: flex;
286
+ overflow-x: auto;
287
+ padding: 10px 0;
288
+ }
279
289
  }