tianheng-ui 0.1.52 → 0.1.54

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.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "tianheng-ui",
3
3
  "description": "A Vue.js project",
4
- "version": "0.1.52",
4
+ "version": "0.1.54",
5
5
  "author": "shu lang <403732931@qq.com>",
6
6
  "license": "MIT",
7
7
  "private": false,
@@ -218,6 +218,7 @@ export default {
218
218
  }
219
219
  this.hendleElementRemoteData(item);
220
220
  },
221
+ // 获取组件的远端数据
221
222
  hendleElementRemoteData(item) {
222
223
  if (!item.options.remote) return;
223
224
  if (item.type === "upload" || item.type === "button") return;
@@ -229,17 +230,17 @@ export default {
229
230
  method: api.method,
230
231
  headers: api.headers
231
232
  };
233
+
234
+ // 因为是组件的远端接口,优先级:默认值 > 路由参数
232
235
  const params = {};
233
236
  for (let e of api.inParams) {
234
237
  const value =
235
- getProperty(this.models, e.pAlias) ||
236
- getProperty(this.query, e.pAlias) ||
237
- null;
238
- setProperty(params, e.pAlias, value);
238
+ e.defaultValue || getProperty(this.query, e.alias) || null;
239
+ setProperty(params, e.alias, value);
239
240
  }
240
241
  if (api.needPage) {
241
- params.pageNum = 1;
242
- params.pageSize = 20;
242
+ params.pageNum = params.pageNum || 1;
243
+ params.pageSize = params.pageSize || 20;
243
244
  }
244
245
  if (["get", "delete"].includes(api.method.toLowerCase()))
245
246
  requestConfig.params = params;
@@ -271,12 +272,6 @@ export default {
271
272
  const api = this.formConfig.config.network[val];
272
273
  if (!api) return this.$message.warning("未知的接口,请检查配置信息");
273
274
 
274
- const requestConfig = {
275
- url: api.url,
276
- method: api.method,
277
- headers: api.headers
278
- };
279
-
280
275
  let params = {};
281
276
  const inParams = api.inParams;
282
277
  const initParams = list => {
@@ -290,11 +285,16 @@ export default {
290
285
  });
291
286
  };
292
287
  initParams(inParams);
293
-
294
288
  if (api.needPage) {
295
- params.pageNum = 1;
296
- params.pageSize = 20;
289
+ params.pageNum = params.pageNum || 1;
290
+ params.pageSize = params.pageNum || 20;
297
291
  }
292
+
293
+ const requestConfig = {
294
+ url: api.url,
295
+ method: api.method,
296
+ headers: api.headers
297
+ };
298
298
  if (["get", "delete"].includes(api.method.toLowerCase()))
299
299
  requestConfig.params = params;
300
300
  else requestConfig.data = params;
@@ -15,11 +15,13 @@ export const table = {
15
15
  pageInfo: {
16
16
  show: true,
17
17
  options: {
18
- pageCount: 0,
19
- pageSize: 20,
20
- currentPage: 1,
21
- total: 0,
22
- sizes: [10, 20, 50, 100],
18
+ pageCount: 0, //总页数
19
+ pageSize: 20, //每页条数
20
+ pageSizeName: "pageSize",
21
+ currentPage: 1, //当前页数
22
+ currentPageName: "pageNum",
23
+ total: 0, //总条数
24
+ sizes: [10, 20, 50, 100], //每页显示个数
23
25
  layout: "total,sizes,prev,pager,next,jumper"
24
26
  },
25
27
  style: {
@@ -33,7 +33,7 @@
33
33
  :disabled="item.style.disabled || loadingDel"
34
34
  :loading="item.style.loading"
35
35
  @click="pop = true"
36
- >{{ item.name }}</el-button
36
+ >{{ item.text }}</el-button
37
37
  >
38
38
  </el-popover>
39
39
  <el-button
@@ -49,7 +49,7 @@
49
49
  :disabled="item.style.disabled"
50
50
  :loading="item.style.loading"
51
51
  @click="handleClick(item)"
52
- >{{ item.name }}</el-button
52
+ >{{ item.text }}</el-button
53
53
  >
54
54
  </template>
55
55
  </div>
@@ -16,13 +16,13 @@
16
16
  {{ column.label }}
17
17
  </div>
18
18
  <div class="table-list-item-row-value" :style="valueStyle">
19
- {{ groupItem[column.prop] != null ? groupItem[column.prop] : "" }}
19
+ {{ groupItem[column.pAlias] != null ? groupItem[column.pAlias] : "" }}
20
20
  </div>
21
21
  </div>
22
22
  <div class="table-list-item-tools">
23
23
  <el-button
24
24
  v-for="button in config.actions"
25
- :key="button.name"
25
+ :key="button.type"
26
26
  :type="button.style.type"
27
27
  :icon="button.style.icon"
28
28
  :plain="button.style.plain"
@@ -13,7 +13,7 @@
13
13
  :disabled="item.style.disabled || disabled[item.act]"
14
14
  :loading="item.style.loading"
15
15
  @click="handleClick(item)"
16
- >{{ item.name }}</el-button
16
+ >{{ item.text }}</el-button
17
17
  >
18
18
  </el-form-item>
19
19
  </el-form>
@@ -43,7 +43,7 @@
43
43
  :page-size="tableConfig.pageInfo.options.pageSize"
44
44
  :page-sizes="tableConfig.pageInfo.options.sizes"
45
45
  :layout="tableConfig.pageInfo.options.layout"
46
- :total="1000"
46
+ :total="tableConfig.pageInfo.options.total"
47
47
  >
48
48
  </el-pagination>
49
49
  </template>
@@ -53,15 +53,16 @@
53
53
  v-model="dialog.show"
54
54
  :title="dialog.action.name"
55
55
  :modal-append-to-body="false"
56
- :z-index="9999"
56
+ :showFooter="false"
57
57
  @on-affirm="handleDialogAffirm"
58
58
  @on-close="handleDialogClose"
59
59
  >
60
60
  <th-form-generate
61
61
  v-if="formConfig"
62
+ ref="formGenerate"
62
63
  :config="formConfig"
63
64
  :value="dialog.data"
64
- ref="formGenerate"
65
+ @button-submit="handleFormButtonSubmit"
65
66
  >
66
67
  </th-form-generate>
67
68
  </th-dialog>
@@ -385,34 +386,38 @@ export default {
385
386
  },
386
387
 
387
388
  // 请求拦截器,返回请求体
388
- requestInterceptors(paramsData, networkId, actionType) {
389
- const config = this.networkConfig[networkId];
390
- if (!config) {
391
- this.$message.error("未知的请求接口,请检查配置信息");
389
+ requestInterceptors(queryParams, networkId, action) {
390
+ const api = this.networkConfig[networkId];
391
+ if (!api) {
392
+ this.$message.error("未知的接口,请检查配置信息");
392
393
  return;
393
394
  }
394
395
 
395
396
  const request = {
396
- url: config.url,
397
- method: config.method,
398
- headers: { ...config.headers, actionType }
397
+ url: api.url,
398
+ method: api.method,
399
+ headers: api.headers
399
400
  };
400
401
  let params = {};
401
- switch (actionType) {
402
+ switch (action) {
402
403
  case "list":
403
- for (let key of Object.keys(config.inParams)) {
404
- params[key] = paramsData[key] || this.query[key];
404
+ for (const item of api.inParams) {
405
+ params[item.pAlias] =
406
+ queryParams[item.pAlias] || this.query[item.pAlias];
405
407
  }
406
408
  if (this.tableConfig.pageInfo.show) {
407
- params.current = this.tableConfig.pageInfo.options.currentPage;
408
- params.size = this.tableConfig.pageInfo.options.pageSize;
409
+ const pageInfo = this.tableConfig.pageInfo.options;
410
+ params[pageInfo.currentPageName || "pageNum"] =
411
+ pageInfo.currentPage;
412
+ params[pageInfo.pageSizeName || "pageSize"] = pageInfo.pageSize;
409
413
  }
410
414
  break;
411
415
  case "add":
412
416
  case "edit":
413
417
  case "delete":
414
- for (let key of Object.keys(config.inParams)) {
415
- params[key] = paramsData[key];
418
+ for (const item of api.inParams) {
419
+ params[item.pAlias] =
420
+ queryParams[item.pAlias] || this.query[item.pAlias];
416
421
  }
417
422
  break;
418
423
  case "batchDelete":
@@ -427,7 +432,8 @@ export default {
427
432
  break;
428
433
  }
429
434
 
430
- if (config.method.toLowerCase() === "get") request.params = params;
435
+ if (["get", "delete"].includes(api.method.toLowerCase()))
436
+ request.params = params;
431
437
  else request.data = params;
432
438
 
433
439
  return request;
@@ -497,6 +503,7 @@ export default {
497
503
  },
498
504
  // 弹窗关闭
499
505
  handleDialogClose() {
506
+ this.dialog.show = false;
500
507
  this.formConfig = null;
501
508
  },
502
509
 
@@ -505,6 +512,12 @@ export default {
505
512
  },
506
513
  handleSelectionChange(val) {
507
514
  this.tableSelectionData = val;
515
+ },
516
+
517
+ // 表单提交按钮事件回调
518
+ handleFormButtonSubmit() {
519
+ this.handleDialogClose();
520
+ this.requestListData();
508
521
  }
509
522
  }
510
523
  };
@@ -174,6 +174,14 @@
174
174
  >
175
175
  </el-radio-group>
176
176
  </el-form-item>
177
+ <el-form-item label="分页参数">
178
+ <el-input placeholder="请输入" v-model="config.table.pageInfo.options.currentPageName">
179
+ <template slot="prepend">页码</template>
180
+ </el-input>
181
+ <el-input placeholder="请输入" v-model="config.table.pageInfo.options.pageSizeName">
182
+ <template slot="prepend">条数</template>
183
+ </el-input>
184
+ </el-form-item>
177
185
  <el-form-item>
178
186
  <el-tooltip slot="label" effect="light" placement="top">
179
187
  <div slot="content">