vue2-client 1.3.0 → 1.3.3

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 (106) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/index.js +30 -28
  3. package/package.json +1 -1
  4. package/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox.vue +225 -225
  5. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +777 -777
  6. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +553 -553
  7. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +165 -163
  8. package/src/base-client/components/common/Upload/Upload.vue +161 -158
  9. package/src/base-client/components/common/XAddForm/XAddForm.vue +349 -349
  10. package/src/base-client/components/common/XAddNativeForm/XAddNativeForm.vue +321 -322
  11. package/src/base-client/components/common/XForm/XForm.vue +273 -268
  12. package/src/base-client/components/common/XForm/XFormItem.vue +387 -371
  13. package/src/base-client/components/common/XFormTable/XFormTable.vue +8 -7
  14. package/src/base-client/components/common/XTable/XTable.vue +278 -274
  15. package/src/base-client/components/{iot → system}/LogDetailsView/LogDetailsView.vue +0 -0
  16. package/src/base-client/components/{iot → system}/LogDetailsView/index.js +0 -0
  17. package/src/base-client/components/{iot → system}/LogDetailsView/index.md +0 -0
  18. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -280
  19. package/src/base-client/components/ticket/TicketDetailsView/TicketDetailsView.vue +806 -804
  20. package/src/base-client/components/ticket/TicketSubmitSuccessView/TicketSubmitSuccessView.vue +24 -24
  21. package/src/base-client/plugins/PagedList.js +177 -176
  22. package/src/components/STable/index.js +318 -316
  23. package/src/components/index.js +36 -36
  24. package/src/components/table/StandardTable.vue +141 -142
  25. package/src/components/tool/TagSelect.vue +83 -83
  26. package/src/layouts/header/AdminHeader.vue +104 -109
  27. package/src/layouts/header/HeaderNotice.vue +167 -199
  28. package/src/layouts/header/InstitutionDetail.vue +181 -182
  29. package/src/pages/CreateQueryPage.vue +65 -59
  30. package/src/pages/system/dictionary/index.vue +43 -41
  31. package/src/pages/system/file/Info.vue +56 -0
  32. package/src/pages/system/file/index.vue +317 -0
  33. package/src/pages/system/queryParams/index.vue +43 -41
  34. package/src/pages/system/ticket/index.vue +458 -452
  35. package/src/pages/system/ticket/submitTicketSuccess.vue +206 -203
  36. package/src/router/async/config.async.js +2 -1
  37. package/src/router/async/router.map.js +56 -60
  38. package/src/services/api/DictionaryDetailsViewApi.js +6 -6
  39. package/src/services/api/LogDetailsViewApi.js +10 -10
  40. package/src/services/api/QueryParamsDetailsViewApi.js +6 -6
  41. package/src/services/api/TicketDetailsViewApi.js +42 -40
  42. package/src/services/api/commonTempTable.js +10 -0
  43. package/src/services/api/index.js +2 -24
  44. package/src/services/api/manage.js +8 -16
  45. package/src/utils/excel/Blob.js +181 -181
  46. package/src/utils/excel/Export2Excel.js +141 -142
  47. package/src/utils/i18n.js +80 -80
  48. package/src/utils/request.js +4 -4
  49. package/src/utils/routerUtil.js +358 -350
  50. package/src/utils/theme-color-replacer-extend.js +91 -92
  51. package/vue.config.js +109 -163
  52. package/src/base-client/all.js +0 -62
  53. package/src/base-client/components/iot/CustomerDetailsView/CustomerDetailsView.vue +0 -225
  54. package/src/base-client/components/iot/CustomerDetailsView/index.js +0 -3
  55. package/src/base-client/components/iot/CustomerDetailsView/index.md +0 -40
  56. package/src/base-client/components/iot/DataAnalysisUser/DataAnalysisUser.vue +0 -127
  57. package/src/base-client/components/iot/DataAnalysisUser/index.js +0 -3
  58. package/src/base-client/components/iot/DeviceBrandDetailsView/DeviceBrandDetailsView.vue +0 -452
  59. package/src/base-client/components/iot/DeviceBrandDetailsView/index.js +0 -3
  60. package/src/base-client/components/iot/DeviceDetailsView/DeviceDetailsView.vue +0 -232
  61. package/src/base-client/components/iot/DeviceDetailsView/index.js +0 -3
  62. package/src/base-client/components/iot/DeviceDetailsView/index.md +0 -41
  63. package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsCount.vue +0 -678
  64. package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsException.vue +0 -57
  65. package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsInstruct.vue +0 -122
  66. package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsInstructOperate.vue +0 -121
  67. package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsMain.vue +0 -269
  68. package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsRead.vue +0 -131
  69. package/src/base-client/components/iot/DeviceDetailsView/part/index.js +0 -8
  70. package/src/base-client/components/iot/DeviceTypeDetailsView/DeviceTypeDetailsView.vue +0 -300
  71. package/src/base-client/components/iot/DeviceTypeDetailsView/index.js +0 -3
  72. package/src/base-client/components/iot/InstructDetailsView/InstructDetailsView.vue +0 -464
  73. package/src/base-client/components/iot/InstructDetailsView/index.js +0 -3
  74. package/src/base-client/components/iot/InstructDetailsView/index.md +0 -43
  75. package/src/base-client/components/iot/MeterDetailsView/MeterDetailsView.vue +0 -352
  76. package/src/base-client/components/iot/MeterDetailsView/index.js +0 -3
  77. package/src/base-client/components/iot/MeterDetailsView/index.md +0 -41
  78. package/src/base-client/components/iot/MeterDetailsView/part/MeterDetailsCount.vue +0 -330
  79. package/src/base-client/components/iot/MeterDetailsView/part/MeterDetailsException.vue +0 -179
  80. package/src/base-client/components/iot/MeterDetailsView/part/MeterDetailsHandPlan.vue +0 -285
  81. package/src/base-client/components/iot/MeterDetailsView/part/MeterDetailsInstruct.vue +0 -230
  82. package/src/base-client/components/iot/MeterDetailsView/part/MeterDetailsMain.vue +0 -251
  83. package/src/base-client/components/iot/MeterDetailsView/part/MeterDetailsSellGas.vue +0 -184
  84. package/src/base-client/components/iot/MeterDetailsView/part/index.js +0 -9
  85. package/src/base-client/components/iot/WebmeterAnalysisView/WebmeterAnalysisView.vue +0 -960
  86. package/src/base-client/components/iot/WebmeterAnalysisView/index.js +0 -3
  87. package/src/base-client/components/iot/WebmeterAnalysisView/index.md +0 -42
  88. package/src/base-client/components/ticket/EmployeeDetailsView/EmployeeDetailsView.vue +0 -370
  89. package/src/base-client/components/ticket/EmployeeDetailsView/index.js +0 -3
  90. package/src/base-client/components/ticket/EmployeeDetailsView/index.md +0 -28
  91. package/src/components/Charts/DataUserOrderSituation.vue +0 -77
  92. package/src/components/Charts/DataUserReporting.vue +0 -74
  93. package/src/components/Charts/DataUserSituation.vue +0 -107
  94. package/src/services/api/CustomerDetailsViewApi.js +0 -6
  95. package/src/services/api/DeviceBrandDetailsViewApi.js +0 -14
  96. package/src/services/api/DeviceDetailsViewApi.js +0 -10
  97. package/src/services/api/DeviceTypeDetailsViewApi.js +0 -6
  98. package/src/services/api/EmployeeDetailsViewApi.js +0 -12
  99. package/src/services/api/FormGroupEditApi.js +0 -6
  100. package/src/services/api/InstructDetailsViewApi.js +0 -12
  101. package/src/services/api/MeterDetailsViewApi.js +0 -24
  102. package/src/services/api/WebmeterAnalysisViewApi.js +0 -24
  103. package/src/services/api/applyInstallApi.js +0 -14
  104. package/src/services/api/iot/DeviceDetailsView/DeviceDetailsCountApi.js +0 -18
  105. package/src/services/api/iot.js +0 -7
  106. package/src/services/api/service.js +0 -12
@@ -0,0 +1,317 @@
1
+ <template>
2
+ <div>
3
+ <a-card :bordered="false">
4
+ <a-row>
5
+ <a-col :sm="8" :xs="24">
6
+ <info :bordered="true" :value="`${this.coll.filesNum}个文件`" title="所有文件数量"/>
7
+ </a-col>
8
+ <a-col :sm="8" :xs="24">
9
+ <info :bordered="true" :value="`${this.coll.weekFiles}个文件`" title="本周上传文件数量"/>
10
+ </a-col>
11
+ <a-col :sm="8" :xs="24">
12
+ <info :value="`${this.coll.fileSize} mb`" title="储存用量"/>
13
+ </a-col>
14
+ </a-row>
15
+ </a-card>
16
+ <a-card
17
+ :bordered="false"
18
+ style="margin-top: 24px"
19
+ title="文件仓库列表">
20
+ <div v-show="!loading" class="operate">
21
+ <a-button icon="plus" style="width: 100%" type="dashed" @click="add_edit">添加</a-button>
22
+ </div>
23
+ <a-list :loading="loading" size="large">
24
+ <a-list-item v-for="(item, index) in data" :key="index">
25
+ <a-list-item-meta :description="item.f_describe">
26
+ <a-avatar
27
+ slot="avatar"
28
+ :icon="item.f_stock_type ==='oss'?'cloud-server':'hdd'"
29
+ :style="{ backgroundColor: '#1890ff', color: item.progress?'rgba(255,255,255)':'rgba(255,255,255, 0.50)' }"
30
+ shape="square"
31
+ size="large"
32
+ />
33
+ <a slot="title">{{ item.f_name }}</a>
34
+ </a-list-item-meta>
35
+ <div slot="actions">
36
+ <a-button
37
+ block
38
+ type="link"
39
+ @click="add_edit(item)">
40
+ 编辑
41
+ </a-button>
42
+ </div>
43
+ <div
44
+ class="
45
+ list-content">
46
+ <div class="list-content-item" style="width: 150px">
47
+ <span style="color:rgba(0,0,0, 0.65)">仓库类型</span>
48
+ <p>{{ item.f_stock_type }}</p>
49
+ </div>
50
+ <div class="list-content-item" style="width: 150px">
51
+ <span style="color:rgba(0,0,0, 0.65)">根目录</span>
52
+ <p>{{ item.f_root_path }}{{ item.f_alias }}</p>
53
+ </div>
54
+ <div class="list-content-item" style="width: 150px">
55
+ <span style="color:rgba(0,0,0, 0.65)">文件大小</span>
56
+ <p>{{ item.file_size }} mb</p>
57
+ </div>
58
+ <div class="list-content-item">
59
+ <a-progress :percent="Number(item.progress.toFixed(2))" style="width: 180px"/>
60
+ </div>
61
+ </div>
62
+ </a-list-item>
63
+ </a-list>
64
+ <a-modal
65
+ :maskClosable="false"
66
+ :title="form.id ? '修改仓库信息':'新增仓库信息'"
67
+ :visible="visible"
68
+ @cancel="handleCancel"
69
+ @ok="handleOk"
70
+ >
71
+ <a-form-model
72
+ ref="formModel"
73
+ :model="form"
74
+ :rules="itemRules"
75
+ layout="vertical">
76
+ <a-row :gutter="24">
77
+ <a-col :span="12">
78
+ <a-form-model-item label="仓库名称" prop="f_name">
79
+ <a-input v-model="form.f_name" placeholder="仓库名称"/>
80
+ </a-form-model-item>
81
+ </a-col>
82
+ <!-- <a-col :span="12">-->
83
+ <!-- <a-form-model-item label="仓库别名" prop="f_alias">-->
84
+ <!-- <a-input placeholder="仓库名称" v-model="form.f_alias"/>-->
85
+ <!-- </a-form-model-item>-->
86
+ <!-- </a-col>-->
87
+ <a-col :span="12">
88
+ <a-form-model-item
89
+ label="仓库类型"
90
+ prop="f_stock_type">
91
+ <a-select v-model="form.f_stock_type">
92
+ <a-select-option key="server">服务器</a-select-option>
93
+ <a-select-option key="oss">对象存储</a-select-option>
94
+ </a-select>
95
+ </a-form-model-item>
96
+ </a-col>
97
+ <a-col :span="24">
98
+
99
+ <a-form-model-item
100
+ label="根目录"
101
+ prop="f_alias">
102
+ <a-input v-model="form.f_alias" placeholder="根目录" @blur="aliasBlur">
103
+ <!-- TODO 先这么写单独文件服务出来后根据文件地址服务写 -->
104
+ <a-select slot="addonBefore" v-model="form.f_root_path" default-value="D:\nginx-resource\" style="width: 13rem">
105
+ <a-select-option value="D:\nginx-resource\">
106
+ D:\nginx-resource\
107
+ </a-select-option>
108
+ </a-select>
109
+ </a-input>
110
+ </a-form-model-item>
111
+ </a-col>
112
+ </a-row>
113
+ <a-row v-for="(item,index) in form.f_lower_path_json" :key="index" :gutter="24">
114
+ <a-col :span="12">
115
+ <a-form-model-item :label="`扩展路径 ${index+1}`">
116
+ <a-popconfirm
117
+ :visible="pop_visible[index]"
118
+ cancel-text="取消"
119
+ ok-text="确认"
120
+ placement="topLeft"
121
+ title="是否要删除此条扩展路径"
122
+ @cancel="refresh_pop()"
123
+ @confirm="executeDelLower(index)"
124
+ >
125
+ <a-icon slot="icon" style="color: red" type="question-circle-o"/>
126
+ <a-input
127
+ v-model="form.f_lower_path_json[index].value"
128
+ placeholder="扩展路径"
129
+ @keydown.delete="delLower(index)"
130
+ @keydown.enter="delLower(index,'enter')"/>
131
+ </a-popconfirm>
132
+ </a-form-model-item>
133
+ </a-col>
134
+ <a-col :span="12">
135
+ <a-form-model-item :label="`扩展路径 ${index+1} 描述`">
136
+ <a-input v-model="form.f_lower_path_json[index].label" placeholder="扩展路径描述"/>
137
+ </a-form-model-item>
138
+ </a-col>
139
+ </a-row>
140
+ <a-form-item>
141
+ <a-button style="width: 100%" type="dashed" @click="addLower">
142
+ <a-icon type="plus"/>
143
+ 添加一个扩展路径
144
+ </a-button>
145
+ </a-form-item>
146
+ <a-form-item>
147
+ <a-input v-model="form.f_describe" placeholder="仓库描述"/>
148
+ </a-form-item>
149
+ </a-form-model>
150
+ </a-modal>
151
+ </a-card>
152
+ </div>
153
+ </template>
154
+
155
+ <script>
156
+ import Info from './Info'
157
+ import { post } from '@vue2-client/services/api/restTools'
158
+
159
+ export default {
160
+ name: 'FileManager',
161
+ components: { Info },
162
+ data () {
163
+ return {
164
+ data: [],
165
+ visible: false,
166
+ rules: '',
167
+ coll: {
168
+ filesNum: 0,
169
+ fileSize: 0,
170
+ weekFiles: 0
171
+ },
172
+ loading: false,
173
+ form: {
174
+ f_name: '',
175
+ f_alias: '',
176
+ f_describe: '',
177
+ f_stock_type: 'server',
178
+ f_root_path: '',
179
+ f_lower_path_json: [],
180
+ f_lower_path_vec: []
181
+ },
182
+ pop_visible: [],
183
+ itemRules: {
184
+ f_name: [{ required: true, message: '请输入仓库名称', trigger: 'blur' }],
185
+ f_alias: [{ required: true, message: '仓库根目录路径不正确', pattern: /^((?:[a-zA-Z0-9]+\\?)*)$/, trigger: 'blur' }],
186
+ f_stock_type: [{ required: true, message: '请选择仓库类型', trigger: 'blur' }],
187
+ },
188
+ }
189
+ },
190
+ mounted () {
191
+ this.getStockList()
192
+ },
193
+ methods: {
194
+ // 请求仓库列表
195
+ getStockList () {
196
+ this.loading = true
197
+ // 请求仓库列表
198
+ post('/af-system/getFilesStock', {}).then(res => {
199
+ this.data = res.sort((a, b) => a.progress - b.progress)
200
+ // 请求仓库列表
201
+ post('/af-system/getFilesColl', {}).then(res => {
202
+ this.coll = res
203
+ this.loading = false
204
+ })
205
+ })
206
+ .catch(e => {
207
+ })
208
+ },
209
+ // 添加扩展路径
210
+ addLower () {
211
+ this.form.f_lower_path_json.push({ label: '', value: '' })
212
+ this.refresh_pop()
213
+ },
214
+ delLower (index, type) {
215
+ if (this.pop_visible[index]) {
216
+ // 如果提示框打开则直接删除
217
+ if (type === 'enter') {
218
+ this.executeDelLower(index)
219
+ }
220
+ } else {
221
+ // 否则提示
222
+ if (!this.form.f_lower_path_json[index].value) {
223
+ this.pop_visible[index] = true
224
+ this.pop_visible = JSON.parse(JSON.stringify(this.pop_visible))
225
+ }
226
+ }
227
+ },
228
+ // 删除扩展路径
229
+ executeDelLower (index) {
230
+ if (!this.form.f_lower_path_json[index].value) {
231
+ this.form.f_lower_path_json.splice(index, 1)
232
+ }
233
+ this.refresh_pop()
234
+ },
235
+ // 刷新 控制删除提示框的 数组
236
+ refresh_pop () {
237
+ this.pop_visible = Array(this.form.f_lower_path_json.length).fill(false)
238
+ },
239
+ add_edit (item = {}) {
240
+ // todo 添加或者修改
241
+ this.form = Object.assign({
242
+ f_name: '',
243
+ f_alias: '',
244
+ f_describe: '',
245
+ f_stock_type: 'server',
246
+ f_root_path: '',
247
+ f_lower_path_json: [],
248
+ f_lower_path_vec: []
249
+ }, item)
250
+ this.visible = true
251
+ },
252
+ handleOk () {
253
+ this.$refs.formModel.validate(valid => {
254
+ if (valid) {
255
+ const countLower = this.form.f_lower_path_json.filter(item => !/^[A-Za-z]+$/.test(item.value))
256
+ if (countLower.length > 0) {
257
+ this.$message.error(`${countLower.map(item => item.label).join(';')},输入不合法,扩展路径应仅有大小写字母构成`)
258
+ return
259
+ }
260
+ const server = this.form.f_stock_type === 'server' && /^[a-zA-Z]:\\(?:\w+\\?)*$/.test(this.form.f_root_path)
261
+ const cloud = this.form.f_stock_type === 'oss' && /^\/(?:[^/]+\/)*$/.test(this.form.f_root_path)
262
+ if (!(server || cloud)) {
263
+ this.$message.error(`${this.form.f_stock_type === 'server' ? '根目录路径不正确,示例:E:\\demo' : '根目录路径不正确,示例:/img-1251014762/blog'}`)
264
+ return
265
+ }
266
+ this.submitStock()
267
+ }
268
+ })
269
+ },
270
+ submitStock () {
271
+ // 保存仓库信息
272
+ post('/webMeterEntity/t_files_manager', this.form).then(res => {
273
+ this.$message.success('提交成功')
274
+ this.visible = false
275
+ this.getStockList()
276
+ }).catch(e => {
277
+ })
278
+ // todo
279
+ },
280
+ handleCancel () {
281
+ this.visible = !this.visible
282
+ this.$refs.formModel.resetFields()
283
+ },
284
+ aliasBlur () {
285
+ if (this.form.f_alias.substr(this.form.f_alias.length - 1, this.form.f_alias.length) === '\\') {
286
+ this.form.f_alias = this.form.f_alias.substr(0, this.form.f_alias.length - 1)
287
+ }
288
+ }
289
+ }
290
+ }
291
+ </script>
292
+
293
+ <style lang="less" scoped>
294
+ .ant-avatar-lg {
295
+ width: 48px;
296
+ height: 48px;
297
+ line-height: 48px;
298
+ }
299
+
300
+ .list-content-item {
301
+ color: rgba(0, 0, 0, .45);
302
+ display: inline-block;
303
+ vertical-align: middle;
304
+ font-size: 14px;
305
+ margin-left: 40px;
306
+
307
+ span {
308
+ line-height: 20px;
309
+ }
310
+
311
+ p {
312
+ margin-top: 4px;
313
+ margin-bottom: 0;
314
+ line-height: 22px;
315
+ }
316
+ }
317
+ </style>
@@ -1,41 +1,43 @@
1
- <template>
2
- <a-card :bordered="false">
3
- <query-params-details-view
4
- :visible.sync="detailVisible"
5
- :id="selectId"
6
- v-if="selectId"
7
- />
8
- <x-form-table
9
- title="查询配置"
10
- :queryParamsName="queryParamsName"
11
- @action="toDetail">
12
- </x-form-table>
13
- </a-card>
14
- </template>
15
-
16
- <script>
17
- import XFormTable from '@vue2-client/base-client/components/common/XFormTable/XFormTable'
18
-
19
- export default {
20
- name: 'QueryParams',
21
- components: {
22
- XFormTable
23
- },
24
- data () {
25
- return {
26
- // 选中的编号
27
- selectId: undefined,
28
- // 查询配置文件名
29
- queryParamsName: 'queryParams',
30
- // 是否显示详情抽屉
31
- detailVisible: false
32
- }
33
- },
34
- methods: {
35
- toDetail (record, id) {
36
- this.selectId = id + ''
37
- this.detailVisible = true
38
- }
39
- }
40
- }
41
- </script>
1
+ <template>
2
+ <a-card :bordered="false">
3
+ <query-params-details-view
4
+ v-if="selectId"
5
+ :id="selectId"
6
+ :visible.sync="detailVisible"
7
+ />
8
+ <x-form-table
9
+ :queryParamsName="queryParamsName"
10
+ title="查询配置"
11
+ @action="toDetail">
12
+ </x-form-table>
13
+ </a-card>
14
+ </template>
15
+
16
+ <script>
17
+ import XFormTable from '@vue2-client/base-client/components/common/XFormTable/XFormTable'
18
+ import QueryParamsDetailsView from '@/base-client/components/system/QueryParamsDetailsView'
19
+
20
+ export default {
21
+ name: 'QueryParams',
22
+ components: {
23
+ XFormTable,
24
+ QueryParamsDetailsView
25
+ },
26
+ data () {
27
+ return {
28
+ // 选中的编号
29
+ selectId: undefined,
30
+ // 查询配置文件名
31
+ queryParamsName: 'queryParams',
32
+ // 是否显示详情抽屉
33
+ detailVisible: false
34
+ }
35
+ },
36
+ methods: {
37
+ toDetail (record, id) {
38
+ this.selectId = id + ''
39
+ this.detailVisible = true
40
+ }
41
+ }
42
+ }
43
+ </script>