vue2-client 1.2.81 → 1.2.84
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/CHANGELOG.md +223 -219
- package/package.json +1 -1
- package/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox.vue +3 -3
- package/src/base-client/components/common/AmapMarker/index.js +3 -3
- package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1 -1
- package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +1 -1
- package/src/base-client/components/common/ScrollList/SrcollList.vue +113 -113
- package/src/base-client/components/common/ScrollList/index.js +3 -3
- package/src/base-client/components/common/XForm/XFormItem.vue +1 -1
- 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 +770 -770
- package/src/base-client/components/ticket/TicketSubmitSuccessView/TicketSubmitSuccessView.vue +532 -532
- package/src/base-client/plugins/AppData.js +81 -70
- package/src/base-client/plugins/compatible/LoginServiceOA.js +20 -20
- package/src/pages/login/Login.vue +39 -1
- package/src/pages/resourceManage/orgListManage.vue +98 -98
- package/src/router/async/config.async.js +26 -26
- package/src/router/index.js +27 -27
- package/src/services/api/WebmeterAnalysisViewApi.js +20 -20
- package/src/services/api/index.js +39 -39
- package/src/services/api/iot/DeviceDetailsView/DeviceDetailsCountApi.js +18 -18
- package/src/services/apiService.js +1 -0
- package/src/services/user.js +8 -1
- package/src/theme/default/style.less +47 -47
- package/src/utils/map-utils.js +5 -2
- package/src/utils/request.js +53 -2
|
@@ -1,70 +1,81 @@
|
|
|
1
|
-
import { manageApi, post } from '@vue2-client/services/api'
|
|
2
|
-
import { handleTree } from '@vue2-client/utils/util'
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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
|
-
const
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
const
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
}
|
|
70
|
-
|
|
1
|
+
import { manageApi, post } from '@vue2-client/services/api'
|
|
2
|
+
import { handleTree } from '@vue2-client/utils/util'
|
|
3
|
+
|
|
4
|
+
const GetAppDataService = {
|
|
5
|
+
install (Vue) {
|
|
6
|
+
// 给vue增添对话框显示方法
|
|
7
|
+
Vue.$appdata = Vue.prototype.$appdata = GetAppDataService
|
|
8
|
+
},
|
|
9
|
+
async load () {
|
|
10
|
+
const params = {}
|
|
11
|
+
await post(manageApi.getDictionaryValue, {}).then((res) => {
|
|
12
|
+
// 从本地缓存中读取compatible
|
|
13
|
+
const setting = localStorage.getItem('compatible')
|
|
14
|
+
// 判断是否是V4环境
|
|
15
|
+
if (setting === 'V4') {
|
|
16
|
+
// 如果是V4,从返回值中,data取值
|
|
17
|
+
Object.assign(params, res.data)
|
|
18
|
+
} else {
|
|
19
|
+
Object.assign(params, res)
|
|
20
|
+
}
|
|
21
|
+
const badgeItemArray = {}
|
|
22
|
+
for (const key of Object.keys(params)) {
|
|
23
|
+
badgeItemArray[key] = {}
|
|
24
|
+
for (const item of params[key]) {
|
|
25
|
+
if (item.status) {
|
|
26
|
+
badgeItemArray[key][item.value] = {
|
|
27
|
+
status: item.status,
|
|
28
|
+
text: item.text
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
// 追加参数
|
|
34
|
+
localStorage.setItem(process.env.VUE_APP_DICTIONARY_KEY, JSON.stringify(params))
|
|
35
|
+
localStorage.setItem(process.env.VUE_APP_BADGE_KEY, JSON.stringify(badgeItemArray))
|
|
36
|
+
// 清除compatible
|
|
37
|
+
localStorage.removeItem('compatible')
|
|
38
|
+
})
|
|
39
|
+
// 获取省市区数据
|
|
40
|
+
await post(manageApi.getDivisionsOhChina, {}).then((res) => {
|
|
41
|
+
// 追加参数
|
|
42
|
+
localStorage.setItem(process.env.VUE_APP_DIVISIONSOHCHINA, JSON.stringify(res))
|
|
43
|
+
})
|
|
44
|
+
},
|
|
45
|
+
// 返回树形省市区
|
|
46
|
+
getDivisionsOhChinaForTree () {
|
|
47
|
+
const str = localStorage.getItem(process.env.VUE_APP_DIVISIONSOHCHINA)
|
|
48
|
+
return handleTree(JSON.parse(str), 'code', 'parentcode')
|
|
49
|
+
},
|
|
50
|
+
// 返回列表省市区
|
|
51
|
+
getDivisionsOhChinaForList () {
|
|
52
|
+
const str = localStorage.getItem(process.env.VUE_APP_DIVISIONSOHCHINA)
|
|
53
|
+
return JSON.parse(str)
|
|
54
|
+
},
|
|
55
|
+
getDictionaryList (key) {
|
|
56
|
+
const str = localStorage.getItem(process.env.VUE_APP_DICTIONARY_KEY)
|
|
57
|
+
const object = JSON.parse(str)
|
|
58
|
+
return object[key]
|
|
59
|
+
},
|
|
60
|
+
getParam (key, value) {
|
|
61
|
+
const str = localStorage.getItem(process.env.VUE_APP_BADGE_KEY)
|
|
62
|
+
const object = JSON.parse(str)
|
|
63
|
+
const result = object[key]
|
|
64
|
+
if (result && result.hasOwnProperty(value)) {
|
|
65
|
+
return result[value]
|
|
66
|
+
} else {
|
|
67
|
+
return null
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
getParams () {
|
|
71
|
+
const str = localStorage.getItem(process.env.VUE_APP_DICTIONARY_KEY)
|
|
72
|
+
const object = JSON.parse(str)
|
|
73
|
+
return object
|
|
74
|
+
},
|
|
75
|
+
getSingleValues () {
|
|
76
|
+
const str = localStorage.getItem(process.env.VUE_APP_BADGE_KEY)
|
|
77
|
+
const object = JSON.parse(str)
|
|
78
|
+
return object
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
export default GetAppDataService
|
|
@@ -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
|
+
}
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
|
|
55
55
|
<script>
|
|
56
56
|
import CommonLayout from '@vue2-client/layouts/CommonLayout'
|
|
57
|
-
import { getRoutesConfig, login } from '@vue2-client/services/user'
|
|
57
|
+
import { getRoutesConfig, login, V4Login } from '@vue2-client/services/user'
|
|
58
58
|
import { setAuthorization } from '@vue2-client/utils/request'
|
|
59
59
|
import { loadRoutes, funcToRouter } from '@vue2-client/utils/routerUtil'
|
|
60
60
|
import { mapMutations, mapState } from 'vuex'
|
|
@@ -95,6 +95,10 @@ export default {
|
|
|
95
95
|
loginStart(name, password).then(this.afterLoginOA).finally(() => { this.logging = false })
|
|
96
96
|
break
|
|
97
97
|
}
|
|
98
|
+
case 'V4' : {
|
|
99
|
+
V4Login(name, password).then(this.afterLoginV4)
|
|
100
|
+
break
|
|
101
|
+
}
|
|
98
102
|
}
|
|
99
103
|
}
|
|
100
104
|
})
|
|
@@ -107,6 +111,35 @@ export default {
|
|
|
107
111
|
this.setACCESSTOKEN(result.password)
|
|
108
112
|
this.$router.push(this.homePage).catch(() => {})
|
|
109
113
|
},
|
|
114
|
+
afterLoginV4 (res) {
|
|
115
|
+
const name = this.form.getFieldValue('name')
|
|
116
|
+
const password = this.form.getFieldValue('password')
|
|
117
|
+
this.logging = false
|
|
118
|
+
const loginRes = res
|
|
119
|
+
const V4Token = { token: res.data.access_token, expire: res.data.expires_in }
|
|
120
|
+
this.setV4AccessToken(V4Token)
|
|
121
|
+
// 向本地缓存中临时存储compatible
|
|
122
|
+
localStorage.setItem('compatible', this.compatible)
|
|
123
|
+
if (loginRes.code === 200) {
|
|
124
|
+
const encrypt = new JSEncrypt()
|
|
125
|
+
encrypt.setPublicKey('MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqPvovSfXcwBbW8cKMCgwqNpsYuzF8RPAPFb7LGsnVo44JhM/xxzDyzoYtdfNmtbIuKVi9PzIsyp6rg+09gbuI6UGwBZ5DWBDBMqv5MPdOF5dCQkB2Bbr5yPfURPENypUz+pBFBg41d+BC+rwRiXELwKy7Y9caD/MtJyHydj8OUwIDAQAB')
|
|
126
|
+
const data = encrypt.encrypt(JSON.stringify({ username: name, password: password }))
|
|
127
|
+
// 获取路由配置
|
|
128
|
+
console.log('开始请求智慧燃气')
|
|
129
|
+
getRoutesConfig(data).then(result => {
|
|
130
|
+
this.$login.login(result).then(() => {
|
|
131
|
+
this.afterGeneral(result)
|
|
132
|
+
if (result.deps === '用户工单登记') {
|
|
133
|
+
this.$router.push(this.ticketPage).catch(() => {})
|
|
134
|
+
} else {
|
|
135
|
+
this.$router.push(this.homePage).catch(() => {})
|
|
136
|
+
}
|
|
137
|
+
})
|
|
138
|
+
})
|
|
139
|
+
} else {
|
|
140
|
+
this.error = loginRes.msg
|
|
141
|
+
}
|
|
142
|
+
},
|
|
110
143
|
afterLogin (res) {
|
|
111
144
|
const name = this.form.getFieldValue('name')
|
|
112
145
|
const password = this.form.getFieldValue('password')
|
|
@@ -161,6 +194,11 @@ export default {
|
|
|
161
194
|
// 格式化时间获取年月日, 登陆过期时间
|
|
162
195
|
const dateAfter = new Date(timestamp)
|
|
163
196
|
setAuthorization({ token: data, expireAt: dateAfter })
|
|
197
|
+
},
|
|
198
|
+
setV4AccessToken (data) {
|
|
199
|
+
localStorage.setItem('ACCESS_TOKEN', data.token)
|
|
200
|
+
localStorage.setItem('ACCESS_TOKEN_EXPIRES', data.expire)
|
|
201
|
+
setAuthorization({ token: data.token, expire: data.expire })
|
|
164
202
|
}
|
|
165
203
|
}
|
|
166
204
|
}
|
|
@@ -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
|
package/src/router/index.js
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import { formatRoutes } from '@vue2-client/utils/routerUtil'
|
|
2
|
-
|
|
3
|
-
// 不需要登录拦截的路由配置
|
|
4
|
-
const loginIgnore = {
|
|
5
|
-
names: ['404', '403'], // 根据路由名称匹配
|
|
6
|
-
paths: ['/login', '/submitTicket'], // 根据路由fullPath匹配
|
|
7
|
-
/**
|
|
8
|
-
* 判断路由是否包含在该配置中
|
|
9
|
-
* @param route vue-router 的 route 对象
|
|
10
|
-
* @returns {boolean}
|
|
11
|
-
*/
|
|
12
|
-
includes (route) {
|
|
13
|
-
return this.names.includes(route.name) || this.paths.includes(route.path)
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* 初始化路由实例
|
|
19
|
-
* @param isAsync 是否异步路由模式
|
|
20
|
-
* @returns {RouterOptions}
|
|
21
|
-
*/
|
|
22
|
-
function initRouter (isAsync) {
|
|
23
|
-
const options = require('./async/config.async').default
|
|
24
|
-
formatRoutes(options.routes)
|
|
25
|
-
return options
|
|
26
|
-
}
|
|
27
|
-
export { loginIgnore, initRouter }
|
|
1
|
+
import { formatRoutes } from '@vue2-client/utils/routerUtil'
|
|
2
|
+
|
|
3
|
+
// 不需要登录拦截的路由配置
|
|
4
|
+
const loginIgnore = {
|
|
5
|
+
names: ['404', '403'], // 根据路由名称匹配
|
|
6
|
+
paths: ['/login', '/submitTicket'], // 根据路由fullPath匹配
|
|
7
|
+
/**
|
|
8
|
+
* 判断路由是否包含在该配置中
|
|
9
|
+
* @param route vue-router 的 route 对象
|
|
10
|
+
* @returns {boolean}
|
|
11
|
+
*/
|
|
12
|
+
includes (route) {
|
|
13
|
+
return this.names.includes(route.name) || this.paths.includes(route.path)
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* 初始化路由实例
|
|
19
|
+
* @param isAsync 是否异步路由模式
|
|
20
|
+
* @returns {RouterOptions}
|
|
21
|
+
*/
|
|
22
|
+
function initRouter (isAsync) {
|
|
23
|
+
const options = require('./async/config.async').default
|
|
24
|
+
formatRoutes(options.routes)
|
|
25
|
+
return options
|
|
26
|
+
}
|
|
27
|
+
export { loginIgnore, initRouter }
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
const WebmeterAnalysisViewApi = {
|
|
2
|
-
// 查询:指令数统计
|
|
3
|
-
instructSumCount: '/webmeterapi/foreignaidInstructSumCountData',
|
|
4
|
-
// 查询:抄表数统计
|
|
5
|
-
meteReadSumCount: '/webmeterapi/foreignaidMetereadSumCountData',
|
|
6
|
-
// 查询:近一周抄表量数据
|
|
7
|
-
meteReadDataByWeek: '/webmeterapi/foreignaidMetereadDataByWeekData',
|
|
8
|
-
// 查询:在用表具数
|
|
9
|
-
usingMeterSumCount: '/webmeterapi/foreignaidUsingMeterSumCountData',
|
|
10
|
-
// 查询:近一周在用表具数数据
|
|
11
|
-
usingMeterDataByWeek: '/webmeterapi/foreignaidUsingMeterDataByWeekData',
|
|
12
|
-
// 查询:指令成功率统计
|
|
13
|
-
instructRateOfSuccess: '/webmeterapi/foreignaidInstructRateOfSuccessData',
|
|
14
|
-
// 查询:按表厂抄表量统计
|
|
15
|
-
handMeterSumCountData: '/webmeterapi/foreignaidHandMeterSumCountData',
|
|
16
|
-
// 查询:统计用气量数据
|
|
17
|
-
useGasSumCount: '/webmeterapi/foreignaidUseGasSumCountData'
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export { WebmeterAnalysisViewApi }
|
|
1
|
+
const WebmeterAnalysisViewApi = {
|
|
2
|
+
// 查询:指令数统计
|
|
3
|
+
instructSumCount: '/webmeterapi/foreignaidInstructSumCountData',
|
|
4
|
+
// 查询:抄表数统计
|
|
5
|
+
meteReadSumCount: '/webmeterapi/foreignaidMetereadSumCountData',
|
|
6
|
+
// 查询:近一周抄表量数据
|
|
7
|
+
meteReadDataByWeek: '/webmeterapi/foreignaidMetereadDataByWeekData',
|
|
8
|
+
// 查询:在用表具数
|
|
9
|
+
usingMeterSumCount: '/webmeterapi/foreignaidUsingMeterSumCountData',
|
|
10
|
+
// 查询:近一周在用表具数数据
|
|
11
|
+
usingMeterDataByWeek: '/webmeterapi/foreignaidUsingMeterDataByWeekData',
|
|
12
|
+
// 查询:指令成功率统计
|
|
13
|
+
instructRateOfSuccess: '/webmeterapi/foreignaidInstructRateOfSuccessData',
|
|
14
|
+
// 查询:按表厂抄表量统计
|
|
15
|
+
handMeterSumCountData: '/webmeterapi/foreignaidHandMeterSumCountData',
|
|
16
|
+
// 查询:统计用气量数据
|
|
17
|
+
useGasSumCount: '/webmeterapi/foreignaidUseGasSumCountData'
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export { WebmeterAnalysisViewApi }
|