vue2-client 1.2.110 → 1.2.113

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.
Files changed (28) hide show
  1. package/CHANGELOG.md +287 -275
  2. package/package.json +76 -95
  3. package/src/base-client/all.js +62 -66
  4. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  5. package/src/base-client/components/common/XFormTable/XFormTable.vue +514 -514
  6. package/src/base-client/components/common/XFormTable/index.md +96 -96
  7. package/src/base-client/components/iot/DeviceDetailsView/DeviceDetailsView.vue +232 -232
  8. package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsCount.vue +678 -678
  9. package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsException.vue +57 -57
  10. package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsRead.vue +131 -131
  11. package/src/base-client/components/iot/DeviceTypeDetailsView/DeviceTypeDetailsView.vue +300 -300
  12. package/src/base-client/components/ticket/TicketSubmitSuccessView/TicketSubmitSuccessView.vue +532 -532
  13. package/src/base-client/plugins/AppData.js +71 -79
  14. package/src/base-client/plugins/compatible/LoginServiceOA.js +20 -20
  15. package/src/pages/login/Login.vue +279 -274
  16. package/src/pages/resourceManage/orgListManage.vue +98 -98
  17. package/src/router/async/config.async.js +26 -26
  18. package/src/router/index.js +27 -27
  19. package/src/services/api/index.js +39 -39
  20. package/src/services/api/iot/DeviceDetailsView/DeviceDetailsCountApi.js +18 -18
  21. package/src/theme/default/style.less +47 -47
  22. package/src/utils/request.js +270 -270
  23. package/src/utils/util.js +230 -230
  24. package/src/base-client/components/common/ScrollList/SrcollList.vue +0 -113
  25. package/src/base-client/components/common/ScrollList/index.js +0 -3
  26. package/src/base-client/components/iot/DataAnalysisView/DataAnalysisView.vue +0 -244
  27. package/src/base-client/components/iot/DataAnalysisView/index.js +0 -3
  28. package/src/components/dataAnalysisView/UserData.vue +0 -61
@@ -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
@@ -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,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,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
+ }