vue2-client 1.2.46 → 1.2.47

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 (55) hide show
  1. package/docs/notice.md +22 -22
  2. package/package.json +1 -1
  3. package/src/App.vue +99 -99
  4. package/src/base-client/all.js +61 -61
  5. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +104 -104
  6. package/src/base-client/components/common/AmapMarker/index.js +3 -3
  7. package/src/base-client/components/common/FormGroupEdit/FormGroupEdit.vue +149 -149
  8. package/src/base-client/components/common/ScrollList/SrcollList.vue +113 -113
  9. package/src/base-client/components/common/ScrollList/index.js +3 -3
  10. package/src/base-client/components/common/XForm/XForm.vue +275 -275
  11. package/src/base-client/components/iot/CustomerDetailsView/CustomerDetailsView.vue +225 -225
  12. package/src/base-client/components/iot/DataAnalysisView/DataAnalysisView.vue +244 -244
  13. package/src/base-client/components/iot/DeviceBrandDetailsView/DeviceBrandDetailsView.vue +452 -452
  14. package/src/base-client/components/iot/DeviceDetailsView/DeviceDetailsView.vue +236 -236
  15. package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsCount.vue +330 -330
  16. package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsInstructOperate.vue +121 -121
  17. package/src/base-client/components/iot/DeviceTypeDetailsView/DeviceTypeDetailsView.vue +276 -276
  18. package/src/base-client/components/iot/InstructDetailsView/InstructDetailsView.vue +469 -469
  19. package/src/base-client/components/iot/LogDetailsView/LogDetailsView.vue +379 -379
  20. package/src/base-client/components/iot/MeterDetailsView/MeterDetailsView.vue +359 -359
  21. package/src/base-client/components/iot/MeterDetailsView/part/MeterDetailsCount.vue +335 -335
  22. package/src/base-client/components/iot/MeterDetailsView/part/MeterDetailsException.vue +184 -184
  23. package/src/base-client/components/iot/MeterDetailsView/part/MeterDetailsHandPlan.vue +291 -291
  24. package/src/base-client/components/iot/MeterDetailsView/part/MeterDetailsInstruct.vue +236 -236
  25. package/src/base-client/components/iot/MeterDetailsView/part/MeterDetailsMain.vue +256 -256
  26. package/src/base-client/components/iot/MeterDetailsView/part/MeterDetailsSellGas.vue +189 -189
  27. package/src/base-client/components/iot/WebmeterAnalysisView/WebmeterAnalysisView.vue +722 -722
  28. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +231 -231
  29. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +247 -247
  30. package/src/base-client/components/ticket/EmployeeDetailsView/EmployeeDetailsView.vue +370 -370
  31. package/src/base-client/components/ticket/TicketDetailsView/part/TicketDetailsFlow.vue +260 -260
  32. package/src/base-client/plugins/AppData.js +67 -67
  33. package/src/base-client/plugins/GetLoginInfoService.js +252 -252
  34. package/src/components/exception/ExceptionPage.vue +70 -70
  35. package/src/components/setting/Setting.vue +235 -235
  36. package/src/config/index.js +3 -3
  37. package/src/layouts/SinglePageView.vue +78 -78
  38. package/src/layouts/header/HeaderNotice.vue +97 -97
  39. package/src/pages/exception/403.vue +21 -21
  40. package/src/pages/exception/404.vue +21 -21
  41. package/src/pages/exception/500.vue +21 -21
  42. package/src/pages/report/ReportTableHome.vue +28 -28
  43. package/src/pages/resourceManage/depListManage.vue +23 -23
  44. package/src/pages/resourceManage/funListManage.vue +23 -23
  45. package/src/pages/resourceManage/index.js +15 -15
  46. package/src/pages/resourceManage/orgListManage.vue +98 -98
  47. package/src/pages/resourceManage/roleListManage.vue +23 -23
  48. package/src/pages/resourceManage/staffListManage.vue +23 -23
  49. package/src/pages/system/ticket/submitTicketSuccess.vue +248 -248
  50. package/src/services/api/common.js +47 -47
  51. package/src/services/api/index.js +39 -39
  52. package/src/services/user.js +34 -34
  53. package/src/utils/indexedDB.js +146 -146
  54. package/src/utils/map-utils.js +17 -0
  55. package/src/utils/routerUtil.js +359 -359
@@ -1,149 +1,149 @@
1
- <template>
2
- <a-drawer
3
- title="选择参数组"
4
- placement="right"
5
- :width="isMobile ? screenWidth : screenWidth * 0.85"
6
- :visible="visible"
7
- @close="onClose"
8
- >
9
- <x-add-form
10
- business-title="参数设置"
11
- business-type="编辑"
12
- :visible.sync="editQueryVisible"
13
- :json-data="formObj.formJson"
14
- :modify-model-data="this.modifyModelData[this.formObj.groupName]"
15
- :loading="loading"
16
- @onSubmit="submit"/>
17
- <a-list
18
- :grid="{gutter: 24, lg: 4, md: 3, sm: 1, xs: 1}"
19
- :dataSource="columnJson.groups"
20
- >
21
- <a-list-item slot="renderItem" slot-scope="item">
22
- <a-card :hoverable="true" @click="toEdit(item)">
23
- <a-card-meta >
24
- <div style="margin-bottom: 3px" slot="title">{{ item.group }}</div>
25
- <a-icon type="tags" slot="avatar" :style="{ fontSize:'2em' }"/>
26
- <div class="meta-content" slot="description">{{ item.describe }}</div>
27
- </a-card-meta>
28
- </a-card>
29
- </a-list-item>
30
- </a-list>
31
- </a-drawer>
32
- </template>
33
-
34
- <script>
35
- import { mapState } from 'vuex'
36
- import XAddForm from '@vue2-client/base-client/components/common/XAddForm/XAddForm'
37
- import { commonApi, post } from '@vue2-client/services/api'
38
-
39
- export default {
40
- name: 'FormGroupEdit',
41
- components: {
42
- XAddForm
43
- },
44
- data () {
45
- return {
46
- // 页面宽度
47
- screenWidth: document.documentElement.clientWidth,
48
- // 是否显示参数下发抽屉
49
- editQueryVisible: false,
50
- targetIndex: 0,
51
- columnJson: {},
52
- editIndex: -1,
53
- formObj: {
54
- groupName: '',
55
- formJson: []
56
- },
57
- // 参数设置业务执行状态
58
- loading: false
59
- }
60
- },
61
- mounted () {
62
- this.initView()
63
- },
64
- computed: {
65
- ...mapState('setting', ['isMobile'])
66
- },
67
- props: {
68
- visible: {
69
- type: Boolean,
70
- default: false
71
- },
72
- modifyModelData: {
73
- type: Object,
74
- default: () => {
75
- return {}
76
- }
77
- }
78
- },
79
- watch: {
80
- visible (rel) {
81
- if (rel) {
82
- this.initView()
83
- }
84
- }
85
- },
86
- methods: {
87
- // 初始化组件
88
- initView () {
89
- this.$emit('getColumnJson', val => {
90
- this.columnJson = val
91
- })
92
- },
93
- toEdit (item) {
94
- post(commonApi.getColumnsJson, { queryObject: item }).then(res => {
95
- this.formObj = res
96
- this.editQueryVisible = true
97
- })
98
- },
99
- onClose () {
100
- this.$emit('update:visible', false)
101
- },
102
- submit (res) {
103
- if (res.valid) {
104
- this.loading = true
105
- const requestParameters = {
106
- paramsJson: {}
107
- }
108
- requestParameters.paramsJson[this.formObj.groupName] = {}
109
- for (const key of Object.keys(res.form)) {
110
- const realKey = key.substring(key.indexOf('_') + 1)
111
- requestParameters.paramsJson[this.formObj.groupName][realKey] = res.form[key]
112
- }
113
- this.$emit('onSubmit', requestParameters, result => {
114
- if (result) {
115
- this.$message.success('参数设置成功!')
116
- } else {
117
- this.$message.error('参数设置失败!')
118
- }
119
- this.loading = false
120
- this.editQueryVisible = false
121
- })
122
- } else {
123
- return false
124
- }
125
- }
126
- }
127
- }
128
- </script>
129
- <style lang="less" scoped>
130
- .card-avatar {
131
- width: 48px;
132
- height: 48px;
133
- border-radius: 48px;
134
- }
135
- .new-btn{
136
- border-radius: 2px;
137
- width: 100%;
138
- height: 187px;
139
- }
140
- .meta-content{
141
- position: relative;
142
- overflow: hidden;
143
- text-overflow: ellipsis;
144
- display: -webkit-box;
145
- height: 64px;
146
- -webkit-line-clamp: 3;
147
- -webkit-box-orient: vertical;
148
- }
149
- </style>
1
+ <template>
2
+ <a-drawer
3
+ title="选择参数组"
4
+ placement="right"
5
+ :width="isMobile ? screenWidth : screenWidth * 0.85"
6
+ :visible="visible"
7
+ @close="onClose"
8
+ >
9
+ <x-add-form
10
+ business-title="参数设置"
11
+ business-type="编辑"
12
+ :visible.sync="editQueryVisible"
13
+ :json-data="formObj.formJson"
14
+ :modify-model-data="this.modifyModelData[this.formObj.groupName]"
15
+ :loading="loading"
16
+ @onSubmit="submit"/>
17
+ <a-list
18
+ :grid="{gutter: 24, lg: 4, md: 3, sm: 1, xs: 1}"
19
+ :dataSource="columnJson.groups"
20
+ >
21
+ <a-list-item slot="renderItem" slot-scope="item">
22
+ <a-card :hoverable="true" @click="toEdit(item)">
23
+ <a-card-meta >
24
+ <div style="margin-bottom: 3px" slot="title">{{ item.group }}</div>
25
+ <a-icon type="tags" slot="avatar" :style="{ fontSize:'2em' }"/>
26
+ <div class="meta-content" slot="description">{{ item.describe }}</div>
27
+ </a-card-meta>
28
+ </a-card>
29
+ </a-list-item>
30
+ </a-list>
31
+ </a-drawer>
32
+ </template>
33
+
34
+ <script>
35
+ import { mapState } from 'vuex'
36
+ import XAddForm from '@vue2-client/base-client/components/common/XAddForm/XAddForm'
37
+ import { commonApi, post } from '@vue2-client/services/api'
38
+
39
+ export default {
40
+ name: 'FormGroupEdit',
41
+ components: {
42
+ XAddForm
43
+ },
44
+ data () {
45
+ return {
46
+ // 页面宽度
47
+ screenWidth: document.documentElement.clientWidth,
48
+ // 是否显示参数下发抽屉
49
+ editQueryVisible: false,
50
+ targetIndex: 0,
51
+ columnJson: {},
52
+ editIndex: -1,
53
+ formObj: {
54
+ groupName: '',
55
+ formJson: []
56
+ },
57
+ // 参数设置业务执行状态
58
+ loading: false
59
+ }
60
+ },
61
+ mounted () {
62
+ this.initView()
63
+ },
64
+ computed: {
65
+ ...mapState('setting', ['isMobile'])
66
+ },
67
+ props: {
68
+ visible: {
69
+ type: Boolean,
70
+ default: false
71
+ },
72
+ modifyModelData: {
73
+ type: Object,
74
+ default: () => {
75
+ return {}
76
+ }
77
+ }
78
+ },
79
+ watch: {
80
+ visible (rel) {
81
+ if (rel) {
82
+ this.initView()
83
+ }
84
+ }
85
+ },
86
+ methods: {
87
+ // 初始化组件
88
+ initView () {
89
+ this.$emit('getColumnJson', val => {
90
+ this.columnJson = val
91
+ })
92
+ },
93
+ toEdit (item) {
94
+ post(commonApi.getColumnsJson, { queryObject: item }).then(res => {
95
+ this.formObj = res
96
+ this.editQueryVisible = true
97
+ })
98
+ },
99
+ onClose () {
100
+ this.$emit('update:visible', false)
101
+ },
102
+ submit (res) {
103
+ if (res.valid) {
104
+ this.loading = true
105
+ const requestParameters = {
106
+ paramsJson: {}
107
+ }
108
+ requestParameters.paramsJson[this.formObj.groupName] = {}
109
+ for (const key of Object.keys(res.form)) {
110
+ const realKey = key.substring(key.indexOf('_') + 1)
111
+ requestParameters.paramsJson[this.formObj.groupName][realKey] = res.form[key]
112
+ }
113
+ this.$emit('onSubmit', requestParameters, result => {
114
+ if (result) {
115
+ this.$message.success('参数设置成功!')
116
+ } else {
117
+ this.$message.error('参数设置失败!')
118
+ }
119
+ this.loading = false
120
+ this.editQueryVisible = false
121
+ })
122
+ } else {
123
+ return false
124
+ }
125
+ }
126
+ }
127
+ }
128
+ </script>
129
+ <style lang="less" scoped>
130
+ .card-avatar {
131
+ width: 48px;
132
+ height: 48px;
133
+ border-radius: 48px;
134
+ }
135
+ .new-btn{
136
+ border-radius: 2px;
137
+ width: 100%;
138
+ height: 187px;
139
+ }
140
+ .meta-content{
141
+ position: relative;
142
+ overflow: hidden;
143
+ text-overflow: ellipsis;
144
+ display: -webkit-box;
145
+ height: 64px;
146
+ -webkit-line-clamp: 3;
147
+ -webkit-box-orient: vertical;
148
+ }
149
+ </style>
@@ -1,113 +1,113 @@
1
- <template>
2
- <a-list
3
- :data-source="model.rows"
4
- :bordered="bordered"
5
- v-infinite-scroll="handleInfiniteOnLoad"
6
- class="srcoll-list-infinite-container"
7
- :infinite-scroll-disabled="busy"
8
- :infinite-scroll-distance="distance"
9
- >
10
- <a-list-item slot="renderItem" class="srcoll_list_li" slot-scope="item,index" @click="selectItem(index,item)">
11
- <slot :item="item" :index="index" >
12
- </slot>
13
- </a-list-item>
14
- <div v-if="loading && !busy" class="srcoll-list-loading-container">
15
- <a-spin />
16
- </div>
17
- </a-list>
18
- </template>
19
-
20
- <script>
21
- import infiniteScroll from 'vue-infinite-scroll'
22
- import { post } from '@vue2-client/services/api/restTools'
23
-
24
- export default {
25
- name: 'SrcollList1',
26
- directives: { infiniteScroll },
27
- props: {
28
- 'busy': { // 是否执行回调
29
- type: Boolean,
30
- default: false
31
- },
32
- 'distance': { // 距底部多少像素触发回调
33
- type: Number,
34
- default: 1
35
- },
36
- 'bordered': { // 是否显示列表边框
37
- type: Boolean,
38
- default: true
39
- },
40
- 'model': {
41
- type: Object,
42
- default: () => {
43
- return {}
44
- }
45
- }
46
- },
47
- data () {
48
- return {
49
- selectRow: {},
50
- loading: false
51
- }
52
- },
53
- mounted () {
54
- },
55
- methods: {
56
- selectItem (index, item) {
57
- this.$emit('selectItem', index, item)
58
- },
59
- handleInfiniteOnLoad () {
60
- this.loading = true
61
- if (this.model.pageNo < this.model.totalPage || this.model.pageNo == 0) {
62
- this.model.pageNo = this.model.pageNo + 1
63
- post(this.model.url, { data: this.model }).then((res) => {
64
- this.model.rows = this.model.rows.concat(res.data).map((item, index) => ({ ...item, index }))
65
- this.loading = false
66
- this.model.totalPage = res.totalPage
67
- this.model.totalCount = res.totalCount
68
- })
69
- } else {
70
- this.loading = false
71
- }
72
- },
73
- search () {
74
- this.model.pageNo = 0
75
- this.model.rows = []
76
- this.handleInfiniteOnLoad()
77
- }
78
- }
79
- }
80
- </script>
81
-
82
- <style scoped>
83
- .srcoll-list-infinite-container {
84
- border-radius: 4px;
85
- height: 100%;
86
- overflow-y: scroll;
87
- }
88
- /*滚动条样式*/
89
- .srcoll-list-infinite-container::-webkit-scrollbar {
90
- width: 4px;
91
- /*height: 4px;*/
92
- }
93
- .srcoll-list-infinite-container::-webkit-scrollbar-thumb {
94
- border-radius: 10px;
95
- -webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
96
- background: rgba(0,0,0,0.2);
97
- }
98
- .srcoll-list-infinite-container::-webkit-scrollbar-track {
99
- -webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
100
- border-radius: 0;
101
- background: rgba(0,0,0,0.1);
102
-
103
- }
104
- .srcoll-list-loading-container {
105
- position: absolute;
106
- bottom: 10%;
107
- width: 100%;
108
- text-align: center;
109
- }
110
- .srcoll_list_li:hover{
111
- background-color: rgb(203,234,241);
112
- }
113
- </style>
1
+ <template>
2
+ <a-list
3
+ :data-source="model.rows"
4
+ :bordered="bordered"
5
+ v-infinite-scroll="handleInfiniteOnLoad"
6
+ class="srcoll-list-infinite-container"
7
+ :infinite-scroll-disabled="busy"
8
+ :infinite-scroll-distance="distance"
9
+ >
10
+ <a-list-item slot="renderItem" class="srcoll_list_li" slot-scope="item,index" @click="selectItem(index,item)">
11
+ <slot :item="item" :index="index" >
12
+ </slot>
13
+ </a-list-item>
14
+ <div v-if="loading && !busy" class="srcoll-list-loading-container">
15
+ <a-spin />
16
+ </div>
17
+ </a-list>
18
+ </template>
19
+
20
+ <script>
21
+ import infiniteScroll from 'vue-infinite-scroll'
22
+ import { post } from '@vue2-client/services/api/restTools'
23
+
24
+ export default {
25
+ name: 'SrcollList1',
26
+ directives: { infiniteScroll },
27
+ props: {
28
+ 'busy': { // 是否执行回调
29
+ type: Boolean,
30
+ default: false
31
+ },
32
+ 'distance': { // 距底部多少像素触发回调
33
+ type: Number,
34
+ default: 1
35
+ },
36
+ 'bordered': { // 是否显示列表边框
37
+ type: Boolean,
38
+ default: true
39
+ },
40
+ 'model': {
41
+ type: Object,
42
+ default: () => {
43
+ return {}
44
+ }
45
+ }
46
+ },
47
+ data () {
48
+ return {
49
+ selectRow: {},
50
+ loading: false
51
+ }
52
+ },
53
+ mounted () {
54
+ },
55
+ methods: {
56
+ selectItem (index, item) {
57
+ this.$emit('selectItem', index, item)
58
+ },
59
+ handleInfiniteOnLoad () {
60
+ this.loading = true
61
+ if (this.model.pageNo < this.model.totalPage || this.model.pageNo == 0) {
62
+ this.model.pageNo = this.model.pageNo + 1
63
+ post(this.model.url, { data: this.model }).then((res) => {
64
+ this.model.rows = this.model.rows.concat(res.data).map((item, index) => ({ ...item, index }))
65
+ this.loading = false
66
+ this.model.totalPage = res.totalPage
67
+ this.model.totalCount = res.totalCount
68
+ })
69
+ } else {
70
+ this.loading = false
71
+ }
72
+ },
73
+ search () {
74
+ this.model.pageNo = 0
75
+ this.model.rows = []
76
+ this.handleInfiniteOnLoad()
77
+ }
78
+ }
79
+ }
80
+ </script>
81
+
82
+ <style scoped>
83
+ .srcoll-list-infinite-container {
84
+ border-radius: 4px;
85
+ height: 100%;
86
+ overflow-y: scroll;
87
+ }
88
+ /*滚动条样式*/
89
+ .srcoll-list-infinite-container::-webkit-scrollbar {
90
+ width: 4px;
91
+ /*height: 4px;*/
92
+ }
93
+ .srcoll-list-infinite-container::-webkit-scrollbar-thumb {
94
+ border-radius: 10px;
95
+ -webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
96
+ background: rgba(0,0,0,0.2);
97
+ }
98
+ .srcoll-list-infinite-container::-webkit-scrollbar-track {
99
+ -webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
100
+ border-radius: 0;
101
+ background: rgba(0,0,0,0.1);
102
+
103
+ }
104
+ .srcoll-list-loading-container {
105
+ position: absolute;
106
+ bottom: 10%;
107
+ width: 100%;
108
+ text-align: center;
109
+ }
110
+ .srcoll_list_li:hover{
111
+ background-color: rgb(203,234,241);
112
+ }
113
+ </style>
@@ -1,3 +1,3 @@
1
- import SrcollList from './SrcollList'
2
-
3
- export default SrcollList
1
+ import SrcollList from './SrcollList'
2
+
3
+ export default SrcollList