vue2-client 1.2.33 → 1.2.36

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 (27) hide show
  1. package/.eslintrc.js +82 -81
  2. package/CHANGELOG.md +21 -0
  3. package/package.json +1 -1
  4. package/src/base-client/all.js +59 -57
  5. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +1342 -1308
  6. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +752 -752
  7. package/src/base-client/components/common/Upload/Upload.vue +124 -0
  8. package/src/base-client/components/common/Upload/index.js +3 -0
  9. package/src/base-client/components/common/XAddForm/XAddForm.vue +338 -337
  10. package/src/base-client/components/common/XAddNativeForm/index.js +3 -3
  11. package/src/base-client/components/common/XAddNativeForm/index.md +56 -56
  12. package/src/base-client/components/common/XForm/XFormItem.vue +280 -307
  13. package/src/base-client/components/common/XFormTable/XFormTable.vue +4 -4
  14. package/src/base-client/components/common/XFormTable/index.md +94 -94
  15. package/src/base-client/components/common/XTable/index.md +255 -255
  16. package/src/base-client/components/ticket/TicketSubmitSuccessView/TicketSubmitSuccessView.vue +5 -1
  17. package/src/config/config.js +2 -0
  18. package/src/layouts/AdminLayout.vue +2 -2
  19. package/src/layouts/tabs/TabsView.vue +6 -0
  20. package/src/pages/resourceManage/resourceManageMain.vue +0 -1
  21. package/src/pages/system/ticket/index.vue +29 -26
  22. package/src/router/index.js +1 -1
  23. package/src/services/api/EmployeeDetailsViewApi.js +16 -16
  24. package/src/services/api/applyInstallApi.js +14 -14
  25. package/src/services/api/restTools.js +24 -23
  26. package/src/utils/request.js +1 -0
  27. package/vue.config.js +143 -143
@@ -1,255 +1,255 @@
1
- # XTable
2
-
3
- 动态表格控件,根据JSON配置生成一个完整的动态表格
4
-
5
-
6
- ## 何时使用
7
-
8
- 当需要一个动态生成的表格时
9
-
10
-
11
- 引用方式:
12
-
13
- ```javascript
14
- import XTable from '@vue2-client/base-client/components/XTable/XTable'
15
-
16
- export default {
17
- components: {
18
- XTable
19
- }
20
- }
21
- ```
22
-
23
-
24
-
25
- ## 代码演示
26
-
27
- ```html
28
- <x-table
29
- v-if="loaded"
30
- :json-data="json"
31
- :queryParamsName="queryParamsName"
32
- @loadData="loadData"
33
- :form="form"
34
- />
35
- ```
36
-
37
- ## API
38
-
39
- | 参数 | 说明 | 类型 | 默认值 |
40
- |-----------------|--------------------------|--------|------|
41
- | jsonData | JSON配置,根据[工具>查询配置生成]功能生成 | Object | {} |
42
- | queryParamsName | 查询配置JSON文件名 | String | null |
43
- | loadData | 数据的加载事件 | event | - |
44
- | form | 查询表单 | Object | {} |
45
- | fixedQueryForm | 固定查询表单,会和查询表单合并查询 | Object | {} |
46
- | @action | 表格详情列的单击事件 | event | - |
47
-
48
- ## 例子1
49
- ----
50
- (基础使用)
51
-
52
- ```vue
53
- <template>
54
- <x-table
55
- v-if="loaded"
56
- :json-data="columnItemJson"
57
- :queryParamsName="queryParamsName"
58
- @loadData="loadData"
59
- @action="toDetail"
60
- :form="form"
61
- />
62
- </template>
63
-
64
- <script>
65
- import XTable from '@vue2-client/base-client/components/XTable/XTable'
66
-
67
- export default {
68
- components: {
69
- XTable
70
- },
71
- data() {
72
- return {
73
- // 加载查询参数JSON配置文件是否完成
74
- loaded: false,
75
- // 从查询参数JSON配置中得到的生成表格列的JSON
76
- columnItemJson: undefined,
77
- // 表单
78
- form: {},
79
- // 查询配置文件名
80
- queryParamsName: 'instructQueryParams',
81
- }
82
- },
83
- created() {
84
- this.getQueryJson()
85
- },
86
- methods: {
87
- // 加载查询参数JSON配置文件
88
- getQueryJson() {
89
- this.columnItemJson = [
90
- {
91
- "scopedSlots":{
92
- "customRender":"id"
93
- },
94
- "slotType":"ellipsis",
95
- "dataIndex":"id",
96
- "width":108,
97
- "title":"编号",
98
- "slotValue":8
99
- },
100
- {
101
- "scopedSlots":{
102
- "customRender":"f_userinfo_code"
103
- },
104
- "slotType":"ellipsis",
105
- "dataIndex":"f_userinfo_code",
106
- "width":164,
107
- "title":"用户编号",
108
- "slotValue":16
109
- },
110
- {
111
- "scopedSlots":{
112
- "customRender":"f_meternumber"
113
- },
114
- "slotType":"ellipsis",
115
- "dataIndex":"f_meternumber",
116
- "width":164,
117
- "title":"表号",
118
- "slotValue":16
119
- },
120
- {
121
- "scopedSlots":{
122
- "customRender":"f_user_name"
123
- },
124
- "slotType":"ellipsis",
125
- "dataIndex":"f_user_name",
126
- "width":164,
127
- "title":"用户姓名",
128
- "slotValue":16
129
- },
130
- {
131
- "scopedSlots":{
132
- "customRender":"f_address"
133
- },
134
- "slotType":"ellipsis",
135
- "dataIndex":"f_address",
136
- "width":220,
137
- "title":"用户地址",
138
- "slotValue":24
139
- },
140
- {
141
- "scopedSlots":{
142
- "customRender":"f_instruct_type"
143
- },
144
- "slotType":"ellipsis",
145
- "dataIndex":"f_instruct_type",
146
- "width":164,
147
- "title":"指令类型",
148
- "slotValue":16
149
- },
150
- {
151
- "scopedSlots":{
152
- "customRender":"f_instruct_title"
153
- },
154
- "slotType":"ellipsis",
155
- "dataIndex":"f_instruct_title",
156
- "width":164,
157
- "title":"指令说明",
158
- "slotValue":16
159
- },
160
- {
161
- "scopedSlots":{
162
- "customRender":"f_instruct_state"
163
- },
164
- "slotType":"badge",
165
- "dataIndex":"f_instruct_state",
166
- "title":"指令状态",
167
- "slotKeyMap":"instructStateMap"
168
- },
169
- {
170
- "scopedSlots":{
171
- "customRender":"f_receive_state"
172
- },
173
- "slotType":"ellipsis",
174
- "dataIndex":"f_receive_state",
175
- "width":164,
176
- "title":"响应结果",
177
- "slotValue":16
178
- },
179
- {
180
- "scopedSlots":{
181
- "customRender":"f_instruct_date"
182
- },
183
- "slotType":"dateTime",
184
- "dataIndex":"f_instruct_date",
185
- "width":160,
186
- "title":"生成时间"
187
- },
188
- {
189
- "scopedSlots":{
190
- "customRender":"f_inputtor"
191
- },
192
- "slotType":"ellipsis",
193
- "dataIndex":"f_inputtor",
194
- "width":164,
195
- "title":"操作人",
196
- "slotValue":16
197
- },
198
- {
199
- "scopedSlots":{
200
- "customRender":"action"
201
- },
202
- "slotType":"action",
203
- "dataIndex":"action",
204
- "title":"操作"
205
- }
206
- ]
207
- this.loaded = true
208
- },
209
- // 加载表格数据
210
- loadData (requestParameters, callback) {
211
- // 你可以在requestParameters中追加传递给后台的额外参数
212
- // 发起通用查询请求
213
- const result = query(requestParameters)
214
- // 将结果回调给表格
215
- callback(result)
216
- },
217
- // 点击操作列时的方法
218
- toDetail (record, id) {
219
- console.debug('你点击了操作列:'+record)
220
- }
221
- }
222
- }
223
- </script>
224
- ```
225
-
226
- 注意事项
227
- ----
228
-
229
- > 本组件已经实现了自适应布局,在不同分辨率下的设备均可得到基本理想的展示效果
230
- >
231
- > 以上示例查询参数配置为后台生成后的结果,此处为了方便调试,所以直接写在了代码中,实际使用请通过发起请求获取查询参数配置
232
- ```vue
233
- <script>
234
- import { commonApi } from '@vue2-client/base-client/api/common'
235
- import Vue from 'vue'
236
-
237
- export default {
238
- data () {
239
- return {
240
- // 查询配置文件名
241
- queryParamsName: 'instructQueryParams'
242
- }
243
- },
244
- methods: {
245
- getColumnsJson () {
246
- Vue.resetpost(commonApi.getColumnsJson, {str: this.queryParamsName}).then((res) => {
247
- this.formItemJson = res.formJson
248
- this.columnItemJson = res.columnJson
249
- this.loaded = true
250
- })
251
- }
252
- }
253
- }
254
- </script>
255
- ```
1
+ # XTable
2
+
3
+ 动态表格控件,根据JSON配置生成一个完整的动态表格
4
+
5
+
6
+ ## 何时使用
7
+
8
+ 当需要一个动态生成的表格时
9
+
10
+
11
+ 引用方式:
12
+
13
+ ```javascript
14
+ import XTable from '@vue2-client/base-client/components/XTable/XTable'
15
+
16
+ export default {
17
+ components: {
18
+ XTable
19
+ }
20
+ }
21
+ ```
22
+
23
+
24
+
25
+ ## 代码演示
26
+
27
+ ```html
28
+ <x-table
29
+ v-if="loaded"
30
+ :json-data="json"
31
+ :queryParamsName="queryParamsName"
32
+ @loadData="loadData"
33
+ :form="form"
34
+ />
35
+ ```
36
+
37
+ ## API
38
+
39
+ | 参数 | 说明 | 类型 | 默认值 |
40
+ |-----------------|--------------------------|--------|------|
41
+ | jsonData | JSON配置,根据[工具>查询配置生成]功能生成 | Object | {} |
42
+ | queryParamsName | 查询配置JSON文件名 | String | null |
43
+ | loadData | 数据的加载事件 | event | - |
44
+ | form | 查询表单 | Object | {} |
45
+ | fixedQueryForm | 固定查询表单,会和查询表单合并查询 | Object | {} |
46
+ | @action | 表格详情列的单击事件 | event | - |
47
+
48
+ ## 例子1
49
+ ----
50
+ (基础使用)
51
+
52
+ ```vue
53
+ <template>
54
+ <x-table
55
+ v-if="loaded"
56
+ :json-data="columnItemJson"
57
+ :queryParamsName="queryParamsName"
58
+ @loadData="loadData"
59
+ @action="toDetail"
60
+ :form="form"
61
+ />
62
+ </template>
63
+
64
+ <script>
65
+ import XTable from '@vue2-client/base-client/components/XTable/XTable'
66
+
67
+ export default {
68
+ components: {
69
+ XTable
70
+ },
71
+ data() {
72
+ return {
73
+ // 加载查询参数JSON配置文件是否完成
74
+ loaded: false,
75
+ // 从查询参数JSON配置中得到的生成表格列的JSON
76
+ columnItemJson: undefined,
77
+ // 表单
78
+ form: {},
79
+ // 查询配置文件名
80
+ queryParamsName: 'instructQueryParams',
81
+ }
82
+ },
83
+ created() {
84
+ this.getQueryJson()
85
+ },
86
+ methods: {
87
+ // 加载查询参数JSON配置文件
88
+ getQueryJson() {
89
+ this.columnItemJson = [
90
+ {
91
+ "scopedSlots":{
92
+ "customRender":"id"
93
+ },
94
+ "slotType":"ellipsis",
95
+ "dataIndex":"id",
96
+ "width":108,
97
+ "title":"编号",
98
+ "slotValue":8
99
+ },
100
+ {
101
+ "scopedSlots":{
102
+ "customRender":"f_userinfo_code"
103
+ },
104
+ "slotType":"ellipsis",
105
+ "dataIndex":"f_userinfo_code",
106
+ "width":164,
107
+ "title":"用户编号",
108
+ "slotValue":16
109
+ },
110
+ {
111
+ "scopedSlots":{
112
+ "customRender":"f_meternumber"
113
+ },
114
+ "slotType":"ellipsis",
115
+ "dataIndex":"f_meternumber",
116
+ "width":164,
117
+ "title":"表号",
118
+ "slotValue":16
119
+ },
120
+ {
121
+ "scopedSlots":{
122
+ "customRender":"f_user_name"
123
+ },
124
+ "slotType":"ellipsis",
125
+ "dataIndex":"f_user_name",
126
+ "width":164,
127
+ "title":"用户姓名",
128
+ "slotValue":16
129
+ },
130
+ {
131
+ "scopedSlots":{
132
+ "customRender":"f_address"
133
+ },
134
+ "slotType":"ellipsis",
135
+ "dataIndex":"f_address",
136
+ "width":220,
137
+ "title":"用户地址",
138
+ "slotValue":24
139
+ },
140
+ {
141
+ "scopedSlots":{
142
+ "customRender":"f_instruct_type"
143
+ },
144
+ "slotType":"ellipsis",
145
+ "dataIndex":"f_instruct_type",
146
+ "width":164,
147
+ "title":"指令类型",
148
+ "slotValue":16
149
+ },
150
+ {
151
+ "scopedSlots":{
152
+ "customRender":"f_instruct_title"
153
+ },
154
+ "slotType":"ellipsis",
155
+ "dataIndex":"f_instruct_title",
156
+ "width":164,
157
+ "title":"指令说明",
158
+ "slotValue":16
159
+ },
160
+ {
161
+ "scopedSlots":{
162
+ "customRender":"f_instruct_state"
163
+ },
164
+ "slotType":"badge",
165
+ "dataIndex":"f_instruct_state",
166
+ "title":"指令状态",
167
+ "slotKeyMap":"instructStateMap"
168
+ },
169
+ {
170
+ "scopedSlots":{
171
+ "customRender":"f_receive_state"
172
+ },
173
+ "slotType":"ellipsis",
174
+ "dataIndex":"f_receive_state",
175
+ "width":164,
176
+ "title":"响应结果",
177
+ "slotValue":16
178
+ },
179
+ {
180
+ "scopedSlots":{
181
+ "customRender":"f_instruct_date"
182
+ },
183
+ "slotType":"dateTime",
184
+ "dataIndex":"f_instruct_date",
185
+ "width":160,
186
+ "title":"生成时间"
187
+ },
188
+ {
189
+ "scopedSlots":{
190
+ "customRender":"f_inputtor"
191
+ },
192
+ "slotType":"ellipsis",
193
+ "dataIndex":"f_inputtor",
194
+ "width":164,
195
+ "title":"操作人",
196
+ "slotValue":16
197
+ },
198
+ {
199
+ "scopedSlots":{
200
+ "customRender":"action"
201
+ },
202
+ "slotType":"action",
203
+ "dataIndex":"action",
204
+ "title":"操作"
205
+ }
206
+ ]
207
+ this.loaded = true
208
+ },
209
+ // 加载表格数据
210
+ loadData (requestParameters, callback) {
211
+ // 你可以在requestParameters中追加传递给后台的额外参数
212
+ // 发起通用查询请求
213
+ const result = query(requestParameters)
214
+ // 将结果回调给表格
215
+ callback(result)
216
+ },
217
+ // 点击操作列时的方法
218
+ toDetail (record, id) {
219
+ console.debug('你点击了操作列:'+record)
220
+ }
221
+ }
222
+ }
223
+ </script>
224
+ ```
225
+
226
+ 注意事项
227
+ ----
228
+
229
+ > 本组件已经实现了自适应布局,在不同分辨率下的设备均可得到基本理想的展示效果
230
+ >
231
+ > 以上示例查询参数配置为后台生成后的结果,此处为了方便调试,所以直接写在了代码中,实际使用请通过发起请求获取查询参数配置
232
+ ```vue
233
+ <script>
234
+ import { commonApi } from '@vue2-client/base-client/api/common'
235
+ import Vue from 'vue'
236
+
237
+ export default {
238
+ data () {
239
+ return {
240
+ // 查询配置文件名
241
+ queryParamsName: 'instructQueryParams'
242
+ }
243
+ },
244
+ methods: {
245
+ getColumnsJson () {
246
+ Vue.resetpost(commonApi.getColumnsJson, {str: this.queryParamsName}).then((res) => {
247
+ this.formItemJson = res.formJson
248
+ this.columnItemJson = res.columnJson
249
+ this.loaded = true
250
+ })
251
+ }
252
+ }
253
+ }
254
+ </script>
255
+ ```
@@ -440,7 +440,11 @@ export default {
440
440
  // 获取工单创建以来过了多久,单位:秒
441
441
  timePass () {
442
442
  const now = new Date().getTime()
443
- return Math.floor((now - this.details.createdTimestamp) / 1000)
443
+ let result = Math.floor((now - this.details.createdTimestamp) / 1000)
444
+ if (result < 0) {
445
+ result = 0
446
+ }
447
+ return result
444
448
  },
445
449
  // 获取工单详情
446
450
  getTicketDetail () {
@@ -4,6 +4,8 @@ module.exports = {
4
4
  color: '#1890ff',
5
5
  mode: 'dark'
6
6
  },
7
+ fixedHeader: true,
8
+ fixedTabs: true,
7
9
  multiPage: true,
8
10
  asyncRoutes: true,
9
11
  animate: {
@@ -47,7 +47,7 @@ export default {
47
47
  components: { Setting, SideMenu, Drawer, PageFooter, AdminHeader },
48
48
  data () {
49
49
  return {
50
- minHeight: window.innerHeight - 64 - 122,
50
+ minHeight: window.innerHeight - 64 - 1,
51
51
  collapsed: false,
52
52
  showSetting: false,
53
53
  drawerOpen: false
@@ -156,7 +156,7 @@ export default {
156
156
  }
157
157
  }
158
158
  .admin-layout-content{
159
- padding: 24px 24px 0;
159
+ padding: 24px;
160
160
  /*overflow-x: hidden;*/
161
161
  /*min-height: calc(100vh - 64px - 122px);*/
162
162
  }
@@ -353,3 +353,9 @@ export default {
353
353
  }
354
354
  }
355
355
  </style>
356
+
357
+ <style scoped>
358
+ .tabs-view-content >>> .ant-card:only-of-type {
359
+ min-height: calc(100vh - 64px - 56px - 16px);
360
+ }
361
+ </style>
@@ -53,6 +53,5 @@
53
53
  <style lang="less">
54
54
  #resourceManageMain {
55
55
  background-color: @gray-1;
56
- height: calc(100vh - 117px);
57
56
  }
58
57
  </style>