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.
Files changed (31) hide show
  1. package/CHANGELOG.md +223 -219
  2. package/package.json +1 -1
  3. package/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox.vue +3 -3
  4. package/src/base-client/components/common/AmapMarker/index.js +3 -3
  5. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1 -1
  6. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +1 -1
  7. package/src/base-client/components/common/ScrollList/SrcollList.vue +113 -113
  8. package/src/base-client/components/common/ScrollList/index.js +3 -3
  9. package/src/base-client/components/common/XForm/XFormItem.vue +1 -1
  10. package/src/base-client/components/common/XTable/XTable.vue +269 -269
  11. package/src/base-client/components/iot/DeviceDetailsView/DeviceDetailsView.vue +232 -232
  12. package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsCount.vue +678 -678
  13. package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsException.vue +57 -57
  14. package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsRead.vue +131 -131
  15. package/src/base-client/components/iot/DeviceTypeDetailsView/DeviceTypeDetailsView.vue +300 -300
  16. package/src/base-client/components/iot/WebmeterAnalysisView/WebmeterAnalysisView.vue +770 -770
  17. package/src/base-client/components/ticket/TicketSubmitSuccessView/TicketSubmitSuccessView.vue +532 -532
  18. package/src/base-client/plugins/AppData.js +81 -70
  19. package/src/base-client/plugins/compatible/LoginServiceOA.js +20 -20
  20. package/src/pages/login/Login.vue +39 -1
  21. package/src/pages/resourceManage/orgListManage.vue +98 -98
  22. package/src/router/async/config.async.js +26 -26
  23. package/src/router/index.js +27 -27
  24. package/src/services/api/WebmeterAnalysisViewApi.js +20 -20
  25. package/src/services/api/index.js +39 -39
  26. package/src/services/api/iot/DeviceDetailsView/DeviceDetailsCountApi.js +18 -18
  27. package/src/services/apiService.js +1 -0
  28. package/src/services/user.js +8 -1
  29. package/src/theme/default/style.less +47 -47
  30. package/src/utils/map-utils.js +5 -2
  31. 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
- const GetAppDataService = {
4
- install (Vue) {
5
- // 给vue增添对话框显示方法
6
- Vue.$appdata = Vue.prototype.$appdata = GetAppDataService
7
- },
8
- async load () {
9
- const params = {}
10
- await post(manageApi.getDictionaryValue, {}).then((res) => {
11
- Object.assign(params, res)
12
- const badgeItemArray = {}
13
- for (const key of Object.keys(params)) {
14
- badgeItemArray[key] = {}
15
- for (const item of params[key]) {
16
- if (item.status) {
17
- badgeItemArray[key][item.value] = {
18
- status: item.status,
19
- text: item.text
20
- }
21
- }
22
- }
23
- }
24
- // 追加参数
25
- localStorage.setItem(process.env.VUE_APP_DICTIONARY_KEY, JSON.stringify(params))
26
- localStorage.setItem(process.env.VUE_APP_BADGE_KEY, JSON.stringify(badgeItemArray))
27
- })
28
- // 获取省市区数据
29
- await post(manageApi.getDivisionsOhChina, {}).then((res) => {
30
- // 追加参数
31
- localStorage.setItem(process.env.VUE_APP_DIVISIONSOHCHINA, JSON.stringify(res))
32
- })
33
- },
34
- // 返回树形省市区
35
- getDivisionsOhChinaForTree () {
36
- const str = localStorage.getItem(process.env.VUE_APP_DIVISIONSOHCHINA)
37
- return handleTree(JSON.parse(str), 'code', 'parentcode')
38
- },
39
- // 返回列表省市区
40
- getDivisionsOhChinaForList () {
41
- const str = localStorage.getItem(process.env.VUE_APP_DIVISIONSOHCHINA)
42
- return JSON.parse(str)
43
- },
44
- getDictionaryList (key) {
45
- const str = localStorage.getItem(process.env.VUE_APP_DICTIONARY_KEY)
46
- const object = JSON.parse(str)
47
- return object[key]
48
- },
49
- getParam (key, value) {
50
- const str = localStorage.getItem(process.env.VUE_APP_BADGE_KEY)
51
- const object = JSON.parse(str)
52
- const result = object[key]
53
- if (result && result.hasOwnProperty(value)) {
54
- return result[value]
55
- } else {
56
- return null
57
- }
58
- },
59
- getParams () {
60
- const str = localStorage.getItem(process.env.VUE_APP_DICTIONARY_KEY)
61
- const object = JSON.parse(str)
62
- return object
63
- },
64
- getSingleValues () {
65
- const str = localStorage.getItem(process.env.VUE_APP_BADGE_KEY)
66
- const object = JSON.parse(str)
67
- return object
68
- }
69
- }
70
- export default GetAppDataService
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
@@ -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 }