vue2-client 1.2.117 → 1.3.2
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 +304 -287
- package/package.json +76 -76
- package/src/base-client/all.js +62 -62
- package/src/base-client/components/common/CreateQuery/CreateQuery.vue +551 -547
- package/src/base-client/components/common/XCard/XCard.vue +64 -64
- package/src/base-client/components/common/XFormTable/XFormTable.vue +503 -514
- package/src/base-client/components/common/XFormTable/index.md +96 -96
- 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/InstructDetailsView/InstructDetailsView.vue +464 -461
- package/src/base-client/components/ticket/TicketSubmitSuccessView/TicketSubmitSuccessView.vue +532 -532
- package/src/base-client/plugins/AppData.js +71 -71
- package/src/base-client/plugins/compatible/LoginServiceOA.js +20 -20
- package/src/pages/login/Login.vue +277 -277
- package/src/pages/resourceManage/orgListManage.vue +98 -98
- package/src/router/async/config.async.js +27 -26
- package/src/router/index.js +27 -27
- package/src/services/api/common.js +58 -58
- package/src/services/api/index.js +39 -39
- package/src/services/api/iot/DeviceDetailsView/DeviceDetailsCountApi.js +18 -18
- package/src/store/mutation-types.js +2 -2
- package/src/theme/default/style.less +47 -47
- package/src/utils/request.js +225 -225
- package/src/utils/routerUtil.js +358 -350
- package/src/utils/util.js +230 -230
|
@@ -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,27 @@
|
|
|
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
|
-
|
|
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
|
+
config: routesConfig
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
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,58 +1,58 @@
|
|
|
1
|
-
import { METHOD, request } from '@vue2-client/utils/request'
|
|
2
|
-
import { indexedDB } from '@vue2-client/utils/indexedDB'
|
|
3
|
-
|
|
4
|
-
const commonApi = {
|
|
5
|
-
// 获取表格列配置
|
|
6
|
-
getColumnsJson: '/
|
|
7
|
-
// 通用查询
|
|
8
|
-
query: '
|
|
9
|
-
//
|
|
10
|
-
queryWithResource: '
|
|
11
|
-
// 通用新增/修改
|
|
12
|
-
addOrModify: '
|
|
13
|
-
// 通用删除
|
|
14
|
-
delete: '
|
|
15
|
-
// 获取字典键列表
|
|
16
|
-
getDictionaryParam: '/
|
|
17
|
-
// 获取所有员工及其部门的级联菜单数据
|
|
18
|
-
getEmpTree: '/
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* 带缓存查询的表格配置文件查询
|
|
23
|
-
* @param queryParamsName 配置名称
|
|
24
|
-
* @param callback 回调函数
|
|
25
|
-
*/
|
|
26
|
-
export function getColumnsJson (queryParamsName, callback) {
|
|
27
|
-
indexedDB.getByWeb(queryParamsName, commonApi.getColumnsJson, { str: queryParamsName }, callback)
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
*
|
|
32
|
-
*/
|
|
33
|
-
export function query (parameter) {
|
|
34
|
-
return request(
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* 通用表单查询
|
|
39
|
-
*/
|
|
40
|
-
export function queryWithResource (parameter, api = commonApi.queryWithResource) {
|
|
41
|
-
return request(api, METHOD.POST, parameter)
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* 通用新增/修改
|
|
46
|
-
*/
|
|
47
|
-
export function addOrModify (parameter, api = commonApi.addOrModify) {
|
|
48
|
-
return request(api, METHOD.POST, parameter)
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* 通用删除
|
|
53
|
-
*/
|
|
54
|
-
export function remove (parameter) {
|
|
55
|
-
return request(
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
export { commonApi }
|
|
1
|
+
import { METHOD, request } from '@vue2-client/utils/request'
|
|
2
|
+
import { indexedDB } from '@vue2-client/utils/indexedDB'
|
|
3
|
+
|
|
4
|
+
const commonApi = {
|
|
5
|
+
// 获取表格列配置
|
|
6
|
+
getColumnsJson: '/af-system/getColumns',
|
|
7
|
+
// 通用查询
|
|
8
|
+
query: 'commonQuery',
|
|
9
|
+
// 表单查询
|
|
10
|
+
queryWithResource: 'commonQueryWithResource',
|
|
11
|
+
// 通用新增/修改
|
|
12
|
+
addOrModify: 'commonAddOrModify',
|
|
13
|
+
// 通用删除
|
|
14
|
+
delete: 'commonDelete',
|
|
15
|
+
// 获取字典键列表
|
|
16
|
+
getDictionaryParam: '/af-system/getDictionaryParam',
|
|
17
|
+
// 获取所有员工及其部门的级联菜单数据
|
|
18
|
+
getEmpTree: '/af-system/getEmpTree',
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* 带缓存查询的表格配置文件查询
|
|
23
|
+
* @param queryParamsName 配置名称
|
|
24
|
+
* @param callback 回调函数
|
|
25
|
+
*/
|
|
26
|
+
export function getColumnsJson (queryParamsName, callback) {
|
|
27
|
+
indexedDB.getByWeb(queryParamsName, commonApi.getColumnsJson, { str: queryParamsName }, callback)
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* 通用查询
|
|
32
|
+
*/
|
|
33
|
+
export function query (parameter, api = commonApi.query, serviceName = 'af-system') {
|
|
34
|
+
return request('/' + serviceName + '/' + api, METHOD.POST, parameter, null)
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* 通用表单查询
|
|
39
|
+
*/
|
|
40
|
+
export function queryWithResource (parameter, api = commonApi.queryWithResource, serviceName = 'af-system') {
|
|
41
|
+
return request('/' + serviceName + '/' + api, METHOD.POST, parameter, null)
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* 通用新增/修改
|
|
46
|
+
*/
|
|
47
|
+
export function addOrModify (parameter, api = commonApi.addOrModify, serviceName = 'af-system') {
|
|
48
|
+
return request('/' + serviceName + '/' + api, METHOD.POST, parameter, null)
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* 通用删除
|
|
53
|
+
*/
|
|
54
|
+
export function remove (parameter, api = commonApi.delete, serviceName = 'af-system') {
|
|
55
|
+
return request('/' + serviceName + '/' + api, METHOD.POST, parameter, null)
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export { commonApi }
|
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
import { commonApi, getColumnsJson, query, addOrModify, remove } from '@vue2-client/services/api/common'
|
|
2
|
-
import { CustomerDetailsViewApi } from '@vue2-client/services/api/CustomerDetailsViewApi'
|
|
3
|
-
import { DeviceBrandDetailsViewApi } from '@vue2-client/services/api/DeviceBrandDetailsViewApi'
|
|
4
|
-
import { DeviceDetailsViewApi } from '@vue2-client/services/api/DeviceDetailsViewApi'
|
|
5
|
-
import { DeviceTypeDetailsViewApi } from '@vue2-client/services/api/DeviceTypeDetailsViewApi'
|
|
6
|
-
import { DictionaryDetailsViewApi } from '@vue2-client/services/api/DictionaryDetailsViewApi'
|
|
7
|
-
import { EmployeeDetailsViewApi } from '@vue2-client/services/api/EmployeeDetailsViewApi'
|
|
8
|
-
import { FormGroupEditApi } from '@vue2-client/services/api/FormGroupEditApi'
|
|
9
|
-
import { InstructDetailsViewApi } from '@vue2-client/services/api/InstructDetailsViewApi'
|
|
10
|
-
import { iotApi } from '@vue2-client/services/api/iot'
|
|
11
|
-
import { LogDetailsViewApi } from '@vue2-client/services/api/LogDetailsViewApi'
|
|
12
|
-
import { manageApi } from '@vue2-client/services/api/manage'
|
|
13
|
-
import { MeterDetailsViewApi } from '@vue2-client/services/api/MeterDetailsViewApi'
|
|
14
|
-
import { QueryParamsDetailsViewApi } from '@vue2-client/services/api/QueryParamsDetailsViewApi'
|
|
15
|
-
import { get, post } from '@vue2-client/services/api/restTools'
|
|
16
|
-
import { serviceApi } from '@vue2-client/services/api/service'
|
|
17
|
-
import { TicketDetailsViewApi } from '@vue2-client/services/api/TicketDetailsViewApi'
|
|
18
|
-
import { WebmeterAnalysisViewApi } from '@vue2-client/services/api/WebmeterAnalysisViewApi'
|
|
19
|
-
|
|
20
|
-
export {
|
|
21
|
-
commonApi, getColumnsJson, query, addOrModify, remove,
|
|
22
|
-
CustomerDetailsViewApi,
|
|
23
|
-
DeviceBrandDetailsViewApi,
|
|
24
|
-
DeviceDetailsViewApi,
|
|
25
|
-
DeviceTypeDetailsViewApi,
|
|
26
|
-
DictionaryDetailsViewApi,
|
|
27
|
-
EmployeeDetailsViewApi,
|
|
28
|
-
FormGroupEditApi,
|
|
29
|
-
InstructDetailsViewApi,
|
|
30
|
-
iotApi,
|
|
31
|
-
LogDetailsViewApi,
|
|
32
|
-
manageApi,
|
|
33
|
-
MeterDetailsViewApi,
|
|
34
|
-
QueryParamsDetailsViewApi,
|
|
35
|
-
get, post,
|
|
36
|
-
serviceApi,
|
|
37
|
-
TicketDetailsViewApi,
|
|
38
|
-
WebmeterAnalysisViewApi
|
|
39
|
-
}
|
|
1
|
+
import { commonApi, getColumnsJson, query, addOrModify, remove } from '@vue2-client/services/api/common'
|
|
2
|
+
import { CustomerDetailsViewApi } from '@vue2-client/services/api/CustomerDetailsViewApi'
|
|
3
|
+
import { DeviceBrandDetailsViewApi } from '@vue2-client/services/api/DeviceBrandDetailsViewApi'
|
|
4
|
+
import { DeviceDetailsViewApi } from '@vue2-client/services/api/DeviceDetailsViewApi'
|
|
5
|
+
import { DeviceTypeDetailsViewApi } from '@vue2-client/services/api/DeviceTypeDetailsViewApi'
|
|
6
|
+
import { DictionaryDetailsViewApi } from '@vue2-client/services/api/DictionaryDetailsViewApi'
|
|
7
|
+
import { EmployeeDetailsViewApi } from '@vue2-client/services/api/EmployeeDetailsViewApi'
|
|
8
|
+
import { FormGroupEditApi } from '@vue2-client/services/api/FormGroupEditApi'
|
|
9
|
+
import { InstructDetailsViewApi } from '@vue2-client/services/api/InstructDetailsViewApi'
|
|
10
|
+
import { iotApi } from '@vue2-client/services/api/iot'
|
|
11
|
+
import { LogDetailsViewApi } from '@vue2-client/services/api/LogDetailsViewApi'
|
|
12
|
+
import { manageApi } from '@vue2-client/services/api/manage'
|
|
13
|
+
import { MeterDetailsViewApi } from '@vue2-client/services/api/MeterDetailsViewApi'
|
|
14
|
+
import { QueryParamsDetailsViewApi } from '@vue2-client/services/api/QueryParamsDetailsViewApi'
|
|
15
|
+
import { get, post } from '@vue2-client/services/api/restTools'
|
|
16
|
+
import { serviceApi } from '@vue2-client/services/api/service'
|
|
17
|
+
import { TicketDetailsViewApi } from '@vue2-client/services/api/TicketDetailsViewApi'
|
|
18
|
+
import { WebmeterAnalysisViewApi } from '@vue2-client/services/api/WebmeterAnalysisViewApi'
|
|
19
|
+
|
|
20
|
+
export {
|
|
21
|
+
commonApi, getColumnsJson, query, addOrModify, remove,
|
|
22
|
+
CustomerDetailsViewApi,
|
|
23
|
+
DeviceBrandDetailsViewApi,
|
|
24
|
+
DeviceDetailsViewApi,
|
|
25
|
+
DeviceTypeDetailsViewApi,
|
|
26
|
+
DictionaryDetailsViewApi,
|
|
27
|
+
EmployeeDetailsViewApi,
|
|
28
|
+
FormGroupEditApi,
|
|
29
|
+
InstructDetailsViewApi,
|
|
30
|
+
iotApi,
|
|
31
|
+
LogDetailsViewApi,
|
|
32
|
+
manageApi,
|
|
33
|
+
MeterDetailsViewApi,
|
|
34
|
+
QueryParamsDetailsViewApi,
|
|
35
|
+
get, post,
|
|
36
|
+
serviceApi,
|
|
37
|
+
TicketDetailsViewApi,
|
|
38
|
+
WebmeterAnalysisViewApi
|
|
39
|
+
}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
const DeviceDetailsCountApi = {
|
|
2
|
-
// 获取设备使用天数
|
|
3
|
-
getDeviceUsedDaySum: '/webmeterapi/getDeviceUsedDaySum',
|
|
4
|
-
// 获取设备累计上报次数和近七天上报情况
|
|
5
|
-
getDeviceUploadTimesCount: '/webmeterapi/getDeviceUploadTimesCount',
|
|
6
|
-
// 获取设备累计失联次数和近三个月失联情况
|
|
7
|
-
getDeviceLostContactCount: '/webmeterapi/getDeviceLostContactCount',
|
|
8
|
-
// 获取设备指令下发成功率
|
|
9
|
-
getInstructRateOfSuccess: '/webmeterapi/getInstructRateOfSuccess',
|
|
10
|
-
// 获取设备上报情况
|
|
11
|
-
getDeviceUploadCountData: '/webmeterapi/getDeviceUploadCountData',
|
|
12
|
-
// 获取设备失联情况
|
|
13
|
-
getDeviceLostContactCountData: '/webmeterapi/getDeviceLostContactCountData',
|
|
14
|
-
// 获取设备失联排行榜
|
|
15
|
-
getDeviceLostContactRankData: '/webmeterapi/getDeviceLostContactRankData'
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export { DeviceDetailsCountApi }
|
|
1
|
+
const DeviceDetailsCountApi = {
|
|
2
|
+
// 获取设备使用天数
|
|
3
|
+
getDeviceUsedDaySum: '/webmeterapi/getDeviceUsedDaySum',
|
|
4
|
+
// 获取设备累计上报次数和近七天上报情况
|
|
5
|
+
getDeviceUploadTimesCount: '/webmeterapi/getDeviceUploadTimesCount',
|
|
6
|
+
// 获取设备累计失联次数和近三个月失联情况
|
|
7
|
+
getDeviceLostContactCount: '/webmeterapi/getDeviceLostContactCount',
|
|
8
|
+
// 获取设备指令下发成功率
|
|
9
|
+
getInstructRateOfSuccess: '/webmeterapi/getInstructRateOfSuccess',
|
|
10
|
+
// 获取设备上报情况
|
|
11
|
+
getDeviceUploadCountData: '/webmeterapi/getDeviceUploadCountData',
|
|
12
|
+
// 获取设备失联情况
|
|
13
|
+
getDeviceLostContactCountData: '/webmeterapi/getDeviceLostContactCountData',
|
|
14
|
+
// 获取设备失联排行榜
|
|
15
|
+
getDeviceLostContactRankData: '/webmeterapi/getDeviceLostContactRankData'
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export { DeviceDetailsCountApi }
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const ACCESS_TOKEN = 'Access-Token'
|
|
2
|
-
export const V4_ACCESS_TOKEN = 'Authorization'
|
|
1
|
+
export const ACCESS_TOKEN = 'Access-Token'
|
|
2
|
+
export const V4_ACCESS_TOKEN = 'Authorization'
|
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
.week-mode{
|
|
2
|
-
overflow: hidden;
|
|
3
|
-
filter: invert(80%);
|
|
4
|
-
}
|
|
5
|
-
.beauty-scroll{
|
|
6
|
-
scrollbar-color: @primary-color @primary-2;
|
|
7
|
-
scrollbar-width: thin;
|
|
8
|
-
-ms-overflow-style:none;
|
|
9
|
-
position: relative;
|
|
10
|
-
&::-webkit-scrollbar{
|
|
11
|
-
width: 3px;
|
|
12
|
-
height: 1px;
|
|
13
|
-
}
|
|
14
|
-
&::-webkit-scrollbar-thumb {
|
|
15
|
-
border-radius: 3px;
|
|
16
|
-
background: @primary-color;
|
|
17
|
-
}
|
|
18
|
-
&::-webkit-scrollbar-track {
|
|
19
|
-
-webkit-box-shadow: inset 0 0 1px rgba(0,0,0,0);
|
|
20
|
-
border-radius: 3px;
|
|
21
|
-
background: @primary-3;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
.split-right{
|
|
25
|
-
&:not(:last-child) {
|
|
26
|
-
border-right: 1px solid rgba(98, 98, 98, 0.2);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
.disabled{
|
|
30
|
-
cursor: not-allowed;
|
|
31
|
-
color: @disabled-color;
|
|
32
|
-
pointer-events: none;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
::-webkit-scrollbar{
|
|
36
|
-
width: 5px;
|
|
37
|
-
height: 5px;
|
|
38
|
-
}
|
|
39
|
-
::-webkit-scrollbar-thumb {
|
|
40
|
-
border-radius: 3px;
|
|
41
|
-
background: @primary-3;
|
|
42
|
-
}
|
|
43
|
-
::-webkit-scrollbar-track {
|
|
44
|
-
-webkit-box-shadow: inset 0 0 1px rgba(0,0,0,0);
|
|
45
|
-
border-radius: 3px;
|
|
46
|
-
background: @primary-1;
|
|
47
|
-
}
|
|
1
|
+
.week-mode{
|
|
2
|
+
overflow: hidden;
|
|
3
|
+
filter: invert(80%);
|
|
4
|
+
}
|
|
5
|
+
.beauty-scroll{
|
|
6
|
+
scrollbar-color: @primary-color @primary-2;
|
|
7
|
+
scrollbar-width: thin;
|
|
8
|
+
-ms-overflow-style:none;
|
|
9
|
+
position: relative;
|
|
10
|
+
&::-webkit-scrollbar{
|
|
11
|
+
width: 3px;
|
|
12
|
+
height: 1px;
|
|
13
|
+
}
|
|
14
|
+
&::-webkit-scrollbar-thumb {
|
|
15
|
+
border-radius: 3px;
|
|
16
|
+
background: @primary-color;
|
|
17
|
+
}
|
|
18
|
+
&::-webkit-scrollbar-track {
|
|
19
|
+
-webkit-box-shadow: inset 0 0 1px rgba(0,0,0,0);
|
|
20
|
+
border-radius: 3px;
|
|
21
|
+
background: @primary-3;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
.split-right{
|
|
25
|
+
&:not(:last-child) {
|
|
26
|
+
border-right: 1px solid rgba(98, 98, 98, 0.2);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
.disabled{
|
|
30
|
+
cursor: not-allowed;
|
|
31
|
+
color: @disabled-color;
|
|
32
|
+
pointer-events: none;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
::-webkit-scrollbar{
|
|
36
|
+
width: 5px;
|
|
37
|
+
height: 5px;
|
|
38
|
+
}
|
|
39
|
+
::-webkit-scrollbar-thumb {
|
|
40
|
+
border-radius: 3px;
|
|
41
|
+
background: @primary-3;
|
|
42
|
+
}
|
|
43
|
+
::-webkit-scrollbar-track {
|
|
44
|
+
-webkit-box-shadow: inset 0 0 1px rgba(0,0,0,0);
|
|
45
|
+
border-radius: 3px;
|
|
46
|
+
background: @primary-1;
|
|
47
|
+
}
|