vue2-client 1.2.86 → 1.2.90
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/.env +15 -15
- package/.eslintrc.js +82 -82
- package/CHANGELOG.md +1 -1
- package/package.json +94 -94
- package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +113 -113
- package/src/base-client/components/common/CitySelect/CitySelect.vue +244 -244
- package/src/base-client/components/common/CitySelect/index.js +3 -3
- package/src/base-client/components/common/CitySelect/index.md +109 -109
- package/src/base-client/components/common/CreateQuery/CreateQuery.vue +539 -539
- package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +310 -310
- package/src/base-client/components/common/Upload/index.js +3 -3
- package/src/base-client/components/common/XAddForm/XAddForm.vue +345 -345
- package/src/base-client/components/common/XAddNativeForm/XAddNativeForm.vue +322 -322
- package/src/base-client/components/common/XForm/XForm.vue +268 -268
- package/src/base-client/components/common/XTable/XTable.vue +269 -269
- package/src/base-client/components/iot/DeviceDetailsView/DeviceDetailsView.vue +232 -232
- package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsCount.vue +678 -678
- package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsException.vue +57 -57
- package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsRead.vue +131 -131
- package/src/base-client/components/iot/DeviceTypeDetailsView/DeviceTypeDetailsView.vue +300 -300
- package/src/base-client/components/iot/WebmeterAnalysisView/WebmeterAnalysisView.vue +274 -84
- package/src/base-client/components/ticket/TicketSubmitSuccessView/TicketSubmitSuccessView.vue +532 -532
- package/src/base-client/plugins/compatible/LoginServiceOA.js +20 -20
- package/src/pages/CreateQueryPage.vue +59 -58
- package/src/pages/login/Login.vue +55 -51
- package/src/pages/resourceManage/orgListManage.vue +98 -98
- package/src/router/async/config.async.js +26 -26
- package/src/router/async/router.map.js +60 -60
- package/src/router/index.js +27 -27
- package/src/services/api/WebmeterAnalysisViewApi.js +5 -1
- package/src/services/api/common.js +56 -56
- package/src/services/api/index.js +39 -39
- package/src/services/api/iot/DeviceDetailsView/DeviceDetailsCountApi.js +18 -18
- package/src/services/api/manage.js +16 -16
- package/src/services/api/restTools.js +24 -24
- package/src/theme/default/style.less +47 -47
- package/src/utils/request.js +11 -3
- package/src/utils/util.js +222 -222
- package/vue.config.js +158 -153
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { get } from '@vue2-client/services/api'
|
|
2
|
-
import Vue from 'vue'
|
|
3
|
-
|
|
4
|
-
async function loginStart (name, password) {
|
|
5
|
-
const resource = await get(`/rs/user/${name}/${password}/智慧OA`, {})
|
|
6
|
-
console.log('登陆获取', resource)
|
|
7
|
-
Vue.$login.f = resource
|
|
8
|
-
await Promise.all([Vue.$appdata.load()])
|
|
9
|
-
const login = {
|
|
10
|
-
f: Vue.$login.f,
|
|
11
|
-
jwt: Vue.$login.f.id,
|
|
12
|
-
r: Vue.$login.r
|
|
13
|
-
}
|
|
14
|
-
Vue.$store.commit('account/setLogin', login)
|
|
15
|
-
return resource
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export {
|
|
19
|
-
loginStart
|
|
20
|
-
}
|
|
1
|
+
import { get } from '@vue2-client/services/api'
|
|
2
|
+
import Vue from 'vue'
|
|
3
|
+
|
|
4
|
+
async function loginStart (name, password) {
|
|
5
|
+
const resource = await get(`/rs/user/${name}/${password}/智慧OA`, {})
|
|
6
|
+
console.log('登陆获取', resource)
|
|
7
|
+
Vue.$login.f = resource
|
|
8
|
+
await Promise.all([Vue.$appdata.load()])
|
|
9
|
+
const login = {
|
|
10
|
+
f: Vue.$login.f,
|
|
11
|
+
jwt: Vue.$login.f.id,
|
|
12
|
+
r: Vue.$login.r
|
|
13
|
+
}
|
|
14
|
+
Vue.$store.commit('account/setLogin', login)
|
|
15
|
+
return resource
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export {
|
|
19
|
+
loginStart
|
|
20
|
+
}
|
|
@@ -1,58 +1,59 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div>
|
|
3
|
-
<create-query
|
|
4
|
-
:visible.sync="visible"
|
|
5
|
-
@saveQueryParams="saveQueryParams"
|
|
6
|
-
/>
|
|
7
|
-
<create-simple-form-query
|
|
8
|
-
:visible.sync="createSimpleFormVisible"
|
|
9
|
-
@saveSimpleFormQueryParams="saveSimpleFormQueryParams"
|
|
10
|
-
/>
|
|
11
|
-
<a-button type="primary" style="margin-top: 10px;margin-left: 10px;" @click="showDrawer">打开完整查询配置生成工具</a-button>
|
|
12
|
-
<a-button type="primary" style="margin-top: 10px;margin-left: 10px;" @click="showSimpleFormQueryParamsDrawer">打开基础表单配置生成工具</a-button>
|
|
13
|
-
|
|
14
|
-
</
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
1
|
+
<template>
|
|
2
|
+
<div>
|
|
3
|
+
<create-query
|
|
4
|
+
:visible.sync="visible"
|
|
5
|
+
@saveQueryParams="saveQueryParams"
|
|
6
|
+
/>
|
|
7
|
+
<create-simple-form-query
|
|
8
|
+
:visible.sync="createSimpleFormVisible"
|
|
9
|
+
@saveSimpleFormQueryParams="saveSimpleFormQueryParams"
|
|
10
|
+
/>
|
|
11
|
+
<a-button type="primary" style="margin-top: 10px;margin-left: 10px;" @click="showDrawer">打开完整查询配置生成工具</a-button>
|
|
12
|
+
<a-button type="primary" style="margin-top: 10px;margin-left: 10px;" @click="showSimpleFormQueryParamsDrawer">打开基础表单配置生成工具</a-button>
|
|
13
|
+
<!-- <webmeter-analysis-view/>-->
|
|
14
|
+
</div>
|
|
15
|
+
</template>
|
|
16
|
+
|
|
17
|
+
<script>
|
|
18
|
+
import { post } from '@vue2-client/services/api/restTools'
|
|
19
|
+
|
|
20
|
+
export default {
|
|
21
|
+
name: 'CreateQueryPage',
|
|
22
|
+
data () {
|
|
23
|
+
return {
|
|
24
|
+
visible: false,
|
|
25
|
+
createSimpleFormVisible: false
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
methods: {
|
|
29
|
+
showDrawer () {
|
|
30
|
+
this.visible = true
|
|
31
|
+
},
|
|
32
|
+
showSimpleFormQueryParamsDrawer () {
|
|
33
|
+
this.createSimpleFormVisible = true
|
|
34
|
+
},
|
|
35
|
+
// 存储查询配置信息
|
|
36
|
+
saveQueryParams (source) {
|
|
37
|
+
return post('/webmeterapi/addOrEditQueryParams', {
|
|
38
|
+
source: source
|
|
39
|
+
}).then(res => {
|
|
40
|
+
this.$message.success('保存查询配置成功')
|
|
41
|
+
}, err => {
|
|
42
|
+
console.error(err)
|
|
43
|
+
})
|
|
44
|
+
},
|
|
45
|
+
// 存储基础表单配置信息
|
|
46
|
+
saveSimpleFormQueryParams (source) {
|
|
47
|
+
return post('/webmeterapi/addOrEditSimpleFormQueryParams', {
|
|
48
|
+
source: source
|
|
49
|
+
}).then(res => {
|
|
50
|
+
this.$message.success('保存基础表单配置成功')
|
|
51
|
+
}, err => {
|
|
52
|
+
console.error(err)
|
|
53
|
+
})
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
</script>
|
|
58
|
+
<style lang="less" scoped>
|
|
59
|
+
</style>
|
|
@@ -93,7 +93,7 @@ export default {
|
|
|
93
93
|
}
|
|
94
94
|
case 'OA' : {
|
|
95
95
|
loginStart(name, password).then(this.afterLoginOA).finally(() => { this.logging = false })
|
|
96
|
-
|
|
96
|
+
break
|
|
97
97
|
}
|
|
98
98
|
case 'V4' : {
|
|
99
99
|
V4Login(name, password).then(this.afterLoginV4)
|
|
@@ -116,23 +116,27 @@ export default {
|
|
|
116
116
|
const password = this.form.getFieldValue('password')
|
|
117
117
|
this.logging = false
|
|
118
118
|
const loginRes = res
|
|
119
|
-
const V4Token = { token: res.access_token, expire: res.expires_in }
|
|
120
|
-
this.setV4AccessToken(V4Token)
|
|
121
119
|
// 如果这是用户首次打开本系统,localStorage无法初始化,改用code判断
|
|
122
120
|
let pass = false
|
|
121
|
+
let V4Token = {}
|
|
122
|
+
// 判断是否是第一次使用本系统
|
|
123
123
|
if (res.code) {
|
|
124
124
|
if (res.code === 200) {
|
|
125
125
|
pass = true
|
|
126
|
+
// 如果返回值有code,证明是第一次使用系统,localStorage判断compatible失效
|
|
127
|
+
// token需要从.data中获取
|
|
128
|
+
V4Token = { token: res.data.access_token, expire: res.data.expires_in }
|
|
126
129
|
}
|
|
130
|
+
} else {
|
|
131
|
+
V4Token = { token: res.access_token, expire: res.expires_in }
|
|
127
132
|
}
|
|
133
|
+
this.setV4AccessToken(V4Token)
|
|
128
134
|
// 向本地缓存中临时存储compatible
|
|
129
|
-
console.log(loginRes)
|
|
130
135
|
if (loginRes.access_token || pass) {
|
|
131
136
|
const encrypt = new JSEncrypt()
|
|
132
137
|
encrypt.setPublicKey('MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqPvovSfXcwBbW8cKMCgwqNpsYuzF8RPAPFb7LGsnVo44JhM/xxzDyzoYtdfNmtbIuKVi9PzIsyp6rg+09gbuI6UGwBZ5DWBDBMqv5MPdOF5dCQkB2Bbr5yPfURPENypUz+pBFBg41d+BC+rwRiXELwKy7Y9caD/MtJyHydj8OUwIDAQAB')
|
|
133
138
|
const data = encrypt.encrypt(JSON.stringify({ username: name, password: password }))
|
|
134
139
|
// 获取路由配置
|
|
135
|
-
console.log('开始请求智慧燃气')
|
|
136
140
|
getRoutesConfig(data).then(result => {
|
|
137
141
|
this.$login.login(result).then(() => {
|
|
138
142
|
this.afterGeneral(result)
|
|
@@ -212,59 +216,59 @@ export default {
|
|
|
212
216
|
</script>
|
|
213
217
|
|
|
214
218
|
<style lang="less" scoped>
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
+
.common-layout{
|
|
220
|
+
.top {
|
|
221
|
+
text-align: center;
|
|
222
|
+
.header {
|
|
223
|
+
height: 44px;
|
|
224
|
+
line-height: 44px;
|
|
225
|
+
a {
|
|
226
|
+
text-decoration: none;
|
|
227
|
+
}
|
|
228
|
+
.logo {
|
|
219
229
|
height: 44px;
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
text-decoration: none;
|
|
223
|
-
}
|
|
224
|
-
.logo {
|
|
225
|
-
height: 44px;
|
|
226
|
-
vertical-align: top;
|
|
227
|
-
margin-right: 16px;
|
|
228
|
-
}
|
|
229
|
-
.title {
|
|
230
|
-
font-size: 33px;
|
|
231
|
-
color: @title-color;
|
|
232
|
-
font-family: 'Myriad Pro', 'Helvetica Neue', Arial, Helvetica, sans-serif;
|
|
233
|
-
font-weight: 600;
|
|
234
|
-
position: relative;
|
|
235
|
-
top: 2px;
|
|
236
|
-
}
|
|
230
|
+
vertical-align: top;
|
|
231
|
+
margin-right: 16px;
|
|
237
232
|
}
|
|
238
|
-
.
|
|
239
|
-
font-size:
|
|
240
|
-
color: @
|
|
241
|
-
|
|
242
|
-
|
|
233
|
+
.title {
|
|
234
|
+
font-size: 33px;
|
|
235
|
+
color: @title-color;
|
|
236
|
+
font-family: 'Myriad Pro', 'Helvetica Neue', Arial, Helvetica, sans-serif;
|
|
237
|
+
font-weight: 600;
|
|
238
|
+
position: relative;
|
|
239
|
+
top: 2px;
|
|
243
240
|
}
|
|
244
241
|
}
|
|
245
|
-
.
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
242
|
+
.desc {
|
|
243
|
+
font-size: 14px;
|
|
244
|
+
color: @text-color-second;
|
|
245
|
+
margin-top: 12px;
|
|
246
|
+
margin-bottom: 40px;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
.login{
|
|
250
|
+
width: 368px;
|
|
251
|
+
margin: 0 auto;
|
|
252
|
+
@media screen and (max-width: 576px) {
|
|
253
|
+
width: 95%;
|
|
254
|
+
}
|
|
255
|
+
@media screen and (max-width: 320px) {
|
|
256
|
+
.captcha-button{
|
|
257
|
+
font-size: 14px;
|
|
255
258
|
}
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
259
|
+
}
|
|
260
|
+
.icon {
|
|
261
|
+
font-size: 24px;
|
|
262
|
+
color: @text-color-second;
|
|
263
|
+
margin-left: 16px;
|
|
264
|
+
vertical-align: middle;
|
|
265
|
+
cursor: pointer;
|
|
266
|
+
transition: color 0.3s;
|
|
263
267
|
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
}
|
|
268
|
+
&:hover {
|
|
269
|
+
color: @primary-color;
|
|
267
270
|
}
|
|
268
271
|
}
|
|
269
272
|
}
|
|
273
|
+
}
|
|
270
274
|
</style>
|
|
@@ -1,98 +1,98 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div id="orgListManage">
|
|
3
|
-
<a-card :bordered="false">
|
|
4
|
-
<!--<a-row :gutter="48">-->
|
|
5
|
-
<!--<a-col>-->
|
|
6
|
-
<!--<a-space>-->
|
|
7
|
-
<!--<a-button type="primary" @click="addItem" v-if="!buttonState || buttonState.add">-->
|
|
8
|
-
<!--<a-icon :style="iconStyle" type="plus"/>新增-->
|
|
9
|
-
<!--</a-button>-->
|
|
10
|
-
<!--<a-button-->
|
|
11
|
-
<!--v-if="!buttonState || buttonState.edit"-->
|
|
12
|
-
<!--:loading="editDataLoading"-->
|
|
13
|
-
<!--:disabled="!isModify"-->
|
|
14
|
-
<!--class="btn-success"-->
|
|
15
|
-
<!--type="dashed"-->
|
|
16
|
-
<!--@click="editItem">-->
|
|
17
|
-
<!--<a-icon :style="iconStyle" type="edit"/>修改-->
|
|
18
|
-
<!--</a-button>-->
|
|
19
|
-
<!--<a-button :disabled="!isDelete" type="danger" @click="deleteItem" v-if="!buttonState || buttonState.delete">-->
|
|
20
|
-
<!--<a-icon :style="iconStyle" type="delete"/>删除-->
|
|
21
|
-
<!--</a-button>-->
|
|
22
|
-
<!--</a-space>-->
|
|
23
|
-
<!--<span :style="{ float: 'right', overflow: 'hidden', marginBottom: '8px' }">-->
|
|
24
|
-
<!--<a-button-group>-->
|
|
25
|
-
<!--<a-button @click="toggleIsFormShow">-->
|
|
26
|
-
<!--<a-icon :style="iconStyle" type="vertical-align-top"/>-->
|
|
27
|
-
<!--</a-button>-->
|
|
28
|
-
<!--<a-button @click="refresh(true)">-->
|
|
29
|
-
<!--<a-icon :style="iconStyle" type="reload" />-->
|
|
30
|
-
<!--</a-button>-->
|
|
31
|
-
<!--<a-button @click="showDrawer">-->
|
|
32
|
-
<!--<a-icon :style="iconStyle" type="table" />-->
|
|
33
|
-
<!--</a-button>-->
|
|
34
|
-
<!--<a-button @click="exports">-->
|
|
35
|
-
<!--<a-icon :style="iconStyle" type="cloud-download"/>-->
|
|
36
|
-
<!--</a-button>-->
|
|
37
|
-
<!--</a-button-group>-->
|
|
38
|
-
<!--</span>-->
|
|
39
|
-
<!--</a-col>-->
|
|
40
|
-
<!--</a-row>-->
|
|
41
|
-
<a-table
|
|
42
|
-
:columns="columns"
|
|
43
|
-
:data-source="funTree"
|
|
44
|
-
:pagination="false"
|
|
45
|
-
bordered
|
|
46
|
-
rowKey="id"
|
|
47
|
-
size="middle">
|
|
48
|
-
</a-table>
|
|
49
|
-
</a-card>
|
|
50
|
-
</div>
|
|
51
|
-
</template>
|
|
52
|
-
|
|
53
|
-
<script>
|
|
54
|
-
import { getOrganization, searchFun } from '@vue2-client/base-client/plugins/GetLoginInfoService'
|
|
55
|
-
import { getColumnsJson } from '@vue2-client/services/api'
|
|
56
|
-
export default {
|
|
57
|
-
// 组织管理
|
|
58
|
-
name: 'orgListManage',
|
|
59
|
-
data () {
|
|
60
|
-
return {
|
|
61
|
-
columnsJson: [],
|
|
62
|
-
funTree: [],
|
|
63
|
-
columns: [
|
|
64
|
-
{
|
|
65
|
-
title: '组织名称',
|
|
66
|
-
dataIndex: 'name'
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
title: '排序',
|
|
70
|
-
dataIndex: 'position'
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
title: '组件目录',
|
|
74
|
-
dataIndex: 'f_dir'
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
title: '描述',
|
|
78
|
-
dataIndex: 'f_description'
|
|
79
|
-
}
|
|
80
|
-
]
|
|
81
|
-
}
|
|
82
|
-
},
|
|
83
|
-
created () {
|
|
84
|
-
},
|
|
85
|
-
async mounted () {
|
|
86
|
-
getColumnsJson('orgListManage', (res) => {
|
|
87
|
-
this.columnsJson = res
|
|
88
|
-
})
|
|
89
|
-
const fun = await getOrganization()
|
|
90
|
-
this.funTree = searchFun(fun, '组织机构')
|
|
91
|
-
},
|
|
92
|
-
methods: {
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
</script>
|
|
96
|
-
|
|
97
|
-
<style lang="less">
|
|
98
|
-
</style>
|
|
1
|
+
<template>
|
|
2
|
+
<div id="orgListManage">
|
|
3
|
+
<a-card :bordered="false">
|
|
4
|
+
<!--<a-row :gutter="48">-->
|
|
5
|
+
<!--<a-col>-->
|
|
6
|
+
<!--<a-space>-->
|
|
7
|
+
<!--<a-button type="primary" @click="addItem" v-if="!buttonState || buttonState.add">-->
|
|
8
|
+
<!--<a-icon :style="iconStyle" type="plus"/>新增-->
|
|
9
|
+
<!--</a-button>-->
|
|
10
|
+
<!--<a-button-->
|
|
11
|
+
<!--v-if="!buttonState || buttonState.edit"-->
|
|
12
|
+
<!--:loading="editDataLoading"-->
|
|
13
|
+
<!--:disabled="!isModify"-->
|
|
14
|
+
<!--class="btn-success"-->
|
|
15
|
+
<!--type="dashed"-->
|
|
16
|
+
<!--@click="editItem">-->
|
|
17
|
+
<!--<a-icon :style="iconStyle" type="edit"/>修改-->
|
|
18
|
+
<!--</a-button>-->
|
|
19
|
+
<!--<a-button :disabled="!isDelete" type="danger" @click="deleteItem" v-if="!buttonState || buttonState.delete">-->
|
|
20
|
+
<!--<a-icon :style="iconStyle" type="delete"/>删除-->
|
|
21
|
+
<!--</a-button>-->
|
|
22
|
+
<!--</a-space>-->
|
|
23
|
+
<!--<span :style="{ float: 'right', overflow: 'hidden', marginBottom: '8px' }">-->
|
|
24
|
+
<!--<a-button-group>-->
|
|
25
|
+
<!--<a-button @click="toggleIsFormShow">-->
|
|
26
|
+
<!--<a-icon :style="iconStyle" type="vertical-align-top"/>-->
|
|
27
|
+
<!--</a-button>-->
|
|
28
|
+
<!--<a-button @click="refresh(true)">-->
|
|
29
|
+
<!--<a-icon :style="iconStyle" type="reload" />-->
|
|
30
|
+
<!--</a-button>-->
|
|
31
|
+
<!--<a-button @click="showDrawer">-->
|
|
32
|
+
<!--<a-icon :style="iconStyle" type="table" />-->
|
|
33
|
+
<!--</a-button>-->
|
|
34
|
+
<!--<a-button @click="exports">-->
|
|
35
|
+
<!--<a-icon :style="iconStyle" type="cloud-download"/>-->
|
|
36
|
+
<!--</a-button>-->
|
|
37
|
+
<!--</a-button-group>-->
|
|
38
|
+
<!--</span>-->
|
|
39
|
+
<!--</a-col>-->
|
|
40
|
+
<!--</a-row>-->
|
|
41
|
+
<a-table
|
|
42
|
+
:columns="columns"
|
|
43
|
+
:data-source="funTree"
|
|
44
|
+
:pagination="false"
|
|
45
|
+
bordered
|
|
46
|
+
rowKey="id"
|
|
47
|
+
size="middle">
|
|
48
|
+
</a-table>
|
|
49
|
+
</a-card>
|
|
50
|
+
</div>
|
|
51
|
+
</template>
|
|
52
|
+
|
|
53
|
+
<script>
|
|
54
|
+
import { getOrganization, searchFun } from '@vue2-client/base-client/plugins/GetLoginInfoService'
|
|
55
|
+
import { getColumnsJson } from '@vue2-client/services/api'
|
|
56
|
+
export default {
|
|
57
|
+
// 组织管理
|
|
58
|
+
name: 'orgListManage',
|
|
59
|
+
data () {
|
|
60
|
+
return {
|
|
61
|
+
columnsJson: [],
|
|
62
|
+
funTree: [],
|
|
63
|
+
columns: [
|
|
64
|
+
{
|
|
65
|
+
title: '组织名称',
|
|
66
|
+
dataIndex: 'name'
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
title: '排序',
|
|
70
|
+
dataIndex: 'position'
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
title: '组件目录',
|
|
74
|
+
dataIndex: 'f_dir'
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
title: '描述',
|
|
78
|
+
dataIndex: 'f_description'
|
|
79
|
+
}
|
|
80
|
+
]
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
created () {
|
|
84
|
+
},
|
|
85
|
+
async mounted () {
|
|
86
|
+
getColumnsJson('orgListManage', (res) => {
|
|
87
|
+
this.columnsJson = res
|
|
88
|
+
})
|
|
89
|
+
const fun = await getOrganization()
|
|
90
|
+
this.funTree = searchFun(fun, '组织机构')
|
|
91
|
+
},
|
|
92
|
+
methods: {
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
</script>
|
|
96
|
+
|
|
97
|
+
<style lang="less">
|
|
98
|
+
</style>
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import routerMap from './router.map'
|
|
2
|
-
import { parseRoutes } from '@vue2-client/utils/routerUtil'
|
|
3
|
-
|
|
4
|
-
// 异步路由配置
|
|
5
|
-
const routesConfig = [
|
|
6
|
-
'login',
|
|
7
|
-
'submitTicket',
|
|
8
|
-
'root',
|
|
9
|
-
{
|
|
10
|
-
router: 'exp404',
|
|
11
|
-
path: '*',
|
|
12
|
-
name: '404'
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
router: 'exp403',
|
|
16
|
-
path: '/403',
|
|
17
|
-
name: '403'
|
|
18
|
-
}
|
|
19
|
-
]
|
|
20
|
-
|
|
21
|
-
const options = {
|
|
22
|
-
mode: 'history',
|
|
23
|
-
routes: parseRoutes(routesConfig, routerMap)
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export default options
|
|
1
|
+
import routerMap from './router.map'
|
|
2
|
+
import { parseRoutes } from '@vue2-client/utils/routerUtil'
|
|
3
|
+
|
|
4
|
+
// 异步路由配置
|
|
5
|
+
const routesConfig = [
|
|
6
|
+
'login',
|
|
7
|
+
'submitTicket',
|
|
8
|
+
'root',
|
|
9
|
+
{
|
|
10
|
+
router: 'exp404',
|
|
11
|
+
path: '*',
|
|
12
|
+
name: '404'
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
router: 'exp403',
|
|
16
|
+
path: '/403',
|
|
17
|
+
name: '403'
|
|
18
|
+
}
|
|
19
|
+
]
|
|
20
|
+
|
|
21
|
+
const options = {
|
|
22
|
+
mode: 'history',
|
|
23
|
+
routes: parseRoutes(routesConfig, routerMap)
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export default options
|