@vipl520/dk-ui 1.0.38 → 1.0.39

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. package/dist/index.js +41 -6
  2. package/dist/index.min.js +9 -9
  3. package/dist/index.min.js.map +1 -1
  4. package/dist/index.min.mjs +8 -8
  5. package/dist/index.min.mjs.map +1 -1
  6. package/dist/index.mjs +41 -6
  7. package/dist/web-types.json +1 -1
  8. package/es/table/index.d.ts +15 -0
  9. package/es/table/src/components/ComSearch.vue2.mjs +0 -2
  10. package/es/table/src/components/ComSearch.vue2.mjs.map +1 -1
  11. package/es/table/src/props.d.ts +4 -0
  12. package/es/table/src/props.mjs +6 -0
  13. package/es/table/src/props.mjs.map +1 -1
  14. package/es/table/src/table.vue.d.ts +9 -0
  15. package/es/table/src/table.vue2.mjs +4 -1
  16. package/es/table/src/table.vue2.mjs.map +1 -1
  17. package/es/table/utils/dkTable.mjs +17 -1
  18. package/es/table/utils/dkTable.mjs.map +1 -1
  19. package/es/table/utils/dkTableApi.d.ts +6 -0
  20. package/es/table/utils/dkTableApi.mjs +14 -2
  21. package/es/table/utils/dkTableApi.mjs.map +1 -1
  22. package/lib/table/index.d.ts +15 -0
  23. package/lib/table/src/components/ComSearch.vue2.js +0 -2
  24. package/lib/table/src/components/ComSearch.vue2.js.map +1 -1
  25. package/lib/table/src/props.d.ts +4 -0
  26. package/lib/table/src/props.js +6 -0
  27. package/lib/table/src/props.js.map +1 -1
  28. package/lib/table/src/table.vue.d.ts +9 -0
  29. package/lib/table/src/table.vue2.js +4 -1
  30. package/lib/table/src/table.vue2.js.map +1 -1
  31. package/lib/table/utils/dkTable.js +17 -1
  32. package/lib/table/utils/dkTable.js.map +1 -1
  33. package/lib/table/utils/dkTableApi.d.ts +6 -0
  34. package/lib/table/utils/dkTableApi.js +14 -2
  35. package/lib/table/utils/dkTableApi.js.map +1 -1
  36. package/package.json +1 -1
package/dist/index.mjs CHANGED
@@ -25038,6 +25038,12 @@ const tableProps = {
25038
25038
  return ["refresh", "add", "export_csv", "edit", "delete", "comSearch", "quickSearch", "columnDisplay", "recycle"];
25039
25039
  },
25040
25040
  type: Array
25041
+ },
25042
+ hideButtons: {
25043
+ default: () => {
25044
+ return [];
25045
+ },
25046
+ type: Array
25041
25047
  }
25042
25048
  };
25043
25049
 
@@ -28064,6 +28070,8 @@ Sortable.mount(Remove, Revert);
28064
28070
  class dkTableApi {
28065
28071
  controllerUrl;
28066
28072
  actionUrl;
28073
+ requestConfig = {};
28074
+ // 新增:用于存储配置的request参数
28067
28075
  constructor(controllerUrl) {
28068
28076
  if (!controllerUrl.endsWith("/")) {
28069
28077
  controllerUrl += "/";
@@ -28089,6 +28097,13 @@ class dkTableApi {
28089
28097
  // 回收站还原
28090
28098
  ]);
28091
28099
  }
28100
+ /**
28101
+ * 配置request参数
28102
+ * @param config 包含HTTP方法、请求头等额外参数的对象
28103
+ */
28104
+ configureRequest(config) {
28105
+ this.requestConfig = { ...config };
28106
+ }
28092
28107
  /**
28093
28108
  * 获取表格配置
28094
28109
  */
@@ -28096,7 +28111,9 @@ class dkTableApi {
28096
28111
  return request(
28097
28112
  {
28098
28113
  url: this.actionUrl.get("table"),
28099
- method: "post"
28114
+ method: "post",
28115
+ ...this.requestConfig
28116
+ // 将requestConfig的内容展开到request的参数中
28100
28117
  },
28101
28118
  {
28102
28119
  code_error_show: true
@@ -28141,7 +28158,8 @@ class dkTableApi {
28141
28158
  {
28142
28159
  url: this.actionUrl.get("index"),
28143
28160
  method: "get",
28144
- params: filter
28161
+ params: filter,
28162
+ ...this.requestConfig
28145
28163
  },
28146
28164
  {
28147
28165
  code_error_show: true
@@ -28374,6 +28392,8 @@ class dkTable {
28374
28392
  return true;
28375
28393
  }
28376
28394
  getIndex = () => {
28395
+ if (!this.runBefore("api", { name: "getIndex" }))
28396
+ return;
28377
28397
  if (!this.runBefore("getIndex"))
28378
28398
  return;
28379
28399
  this.table.loading = true;
@@ -28387,6 +28407,8 @@ class dkTable {
28387
28407
  });
28388
28408
  };
28389
28409
  getTable = (cache = false) => {
28410
+ if (!this.runBefore("api", { name: "getTable" }))
28411
+ return;
28390
28412
  if (!this.runBefore("getTable"))
28391
28413
  return;
28392
28414
  this.table.columnLoading = true;
@@ -28416,6 +28438,8 @@ class dkTable {
28416
28438
  * 显示回收站
28417
28439
  */
28418
28440
  async showRecycle() {
28441
+ if (!this.runBefore("api", { name: "getRecycleTable" }))
28442
+ return;
28419
28443
  if (!this.runBefore("getRecycleTable"))
28420
28444
  return;
28421
28445
  this.recycleTable.showDialogLoading = true;
@@ -28430,6 +28454,8 @@ class dkTable {
28430
28454
  * 获取回收站列表
28431
28455
  */
28432
28456
  getRecycleIndex = () => {
28457
+ if (!this.runBefore("api", { name: "getRecycleIndex" }))
28458
+ return;
28433
28459
  if (!this.runBefore("getRecycleIndex"))
28434
28460
  return;
28435
28461
  this.recycleTable.loading = true;
@@ -28445,7 +28471,9 @@ class dkTable {
28445
28471
  * @param cache
28446
28472
  */
28447
28473
  getRecycleTable = (cache = false) => {
28448
- if (!this.runBefore("getTable"))
28474
+ if (!this.runBefore("api", { name: "getRecycleTable" }))
28475
+ return;
28476
+ if (!this.runBefore("getRecycleTable"))
28449
28477
  return;
28450
28478
  this.recycleTable.columnLoading = true;
28451
28479
  if (cache) {
@@ -28554,6 +28582,8 @@ class dkTable {
28554
28582
  if (!data.row || !data.field.prop)
28555
28583
  return;
28556
28584
  if (Object.keys(data.row).length === 0) ;
28585
+ if (!this.runBefore("api", { name: "fieldChange" }))
28586
+ return;
28557
28587
  data.row.loading = true;
28558
28588
  this.api.postData("edit", {
28559
28589
  [this.table.pk]: data.row[this.table.pk],
@@ -28590,6 +28620,8 @@ class dkTable {
28590
28620
  };
28591
28621
  // 删除
28592
28622
  postDel = (ids) => {
28623
+ if (!this.runBefore("api", { name: "postDel" }))
28624
+ return;
28593
28625
  if (!this.runBefore("postDel", { ids }))
28594
28626
  return;
28595
28627
  this.api.del(ids).then((res) => {
@@ -28662,6 +28694,8 @@ class dkTable {
28662
28694
  } else {
28663
28695
  this.form.edit_id = 0;
28664
28696
  }
28697
+ if (!this.runBefore("api", { name: "toggleForm" }))
28698
+ return;
28665
28699
  this.api.form(this.form.edit_id).then((res) => {
28666
28700
  this.form.ref.setFormData(res.data);
28667
28701
  this.form.ref.show();
@@ -29813,7 +29847,6 @@ var _sfc_main$f = /* @__PURE__ */ defineComponent({
29813
29847
  } else if (fieldDataTemp.render == "time" && (fieldDataTemp.operator == "RANGE" || fieldDataTemp.operator == "NOT RANGE")) {
29814
29848
  if (DkTable.comSearch.form[key] && DkTable.comSearch.form[key].length >= 2) {
29815
29849
  val = DkTable.comSearch.form[key][0] + "," + DkTable.comSearch.form[key][1];
29816
- console.log("val", val, DkTable.comSearch.form[key]);
29817
29850
  }
29818
29851
  } else if (fieldDataTemp.operator == "RANGE" || fieldDataTemp.operator == "NOT RANGE") {
29819
29852
  if (!DkTable.comSearch.form[key + "-start"] && !DkTable.comSearch.form[key + "-end"]) {
@@ -29832,7 +29865,6 @@ var _sfc_main$f = /* @__PURE__ */ defineComponent({
29832
29865
  });
29833
29866
  }
29834
29867
  }
29835
- console.log("comSearchData", comSearchData);
29836
29868
  DkTable.onTableAction("com-search", comSearchData);
29837
29869
  };
29838
29870
  const onResetForm = () => {
@@ -31438,6 +31470,9 @@ var _sfc_main$b = /* @__PURE__ */ defineComponent({
31438
31470
  DkTable.table.ref = TableRef.value;
31439
31471
  DkTable.form.ref = FormRef.value;
31440
31472
  });
31473
+ const effectiveButtons = computed(() => {
31474
+ return [...new Set(props.buttons.filter((button) => !props.hideButtons.includes(button)))];
31475
+ });
31441
31476
  const onTableSizeChange = (val) => {
31442
31477
  DkTable.onTableAction("page-size-change", { size: val });
31443
31478
  };
@@ -31543,7 +31578,7 @@ var _sfc_main$b = /* @__PURE__ */ defineComponent({
31543
31578
  createCommentVNode("\u9876\u90E8\u83DC\u5355"),
31544
31579
  createVNode(DkTableHeader, {
31545
31580
  size: "default",
31546
- buttons: _ctx.buttons
31581
+ buttons: effectiveButtons.value
31547
31582
  }, createSlots({
31548
31583
  _: 2
31549
31584
  /* DYNAMIC */
@@ -2,7 +2,7 @@
2
2
  "$schema": "http://json.schemastore.org/web-types",
3
3
  "framework": "vue",
4
4
  "name": "dk",
5
- "version": "1.0.37",
5
+ "version": "1.0.38",
6
6
  "js-types-syntax": "typescript",
7
7
  "description-markup": "markdown",
8
8
  "contributions": {
@@ -8,6 +8,7 @@ export declare const Table: import("@vipl520/utils").WithInstall<{
8
8
  tableBefore?: Record<string, any> | undefined;
9
9
  tableAfter?: Record<string, any> | undefined;
10
10
  buttons?: unknown[] | undefined;
11
+ hideButtons?: unknown[] | undefined;
11
12
  style?: unknown;
12
13
  key?: string | number | symbol | undefined;
13
14
  ref?: import("vue").VNodeRef | undefined;
@@ -87,6 +88,10 @@ export declare const Table: import("@vipl520/utils").WithInstall<{
87
88
  default: () => string[];
88
89
  type: ArrayConstructor;
89
90
  };
91
+ hideButtons: {
92
+ default: () => never[];
93
+ type: ArrayConstructor;
94
+ };
90
95
  }>>, {
91
96
  DkTable: import("./utils/dkTable").default;
92
97
  TableRef: import("vue").Ref<any>;
@@ -97,6 +102,7 @@ export declare const Table: import("@vipl520/utils").WithInstall<{
97
102
  tableBefore: Record<string, any>;
98
103
  tableAfter: Record<string, any>;
99
104
  buttons: unknown[];
105
+ hideButtons: unknown[];
100
106
  }, {}, string, {}> & {
101
107
  beforeCreate?: ((() => void) | (() => void)[]) | undefined;
102
108
  created?: ((() => void) | (() => void)[]) | undefined;
@@ -138,6 +144,10 @@ export declare const Table: import("@vipl520/utils").WithInstall<{
138
144
  default: () => string[];
139
145
  type: ArrayConstructor;
140
146
  };
147
+ hideButtons: {
148
+ default: () => never[];
149
+ type: ArrayConstructor;
150
+ };
141
151
  }>> & import("vue").ShallowUnwrapRef<{
142
152
  DkTable: import("./utils/dkTable").default;
143
153
  TableRef: import("vue").Ref<any>;
@@ -167,6 +177,10 @@ export declare const Table: import("@vipl520/utils").WithInstall<{
167
177
  default: () => string[];
168
178
  type: ArrayConstructor;
169
179
  };
180
+ hideButtons: {
181
+ default: () => never[];
182
+ type: ArrayConstructor;
183
+ };
170
184
  }>>, {
171
185
  DkTable: import("./utils/dkTable").default;
172
186
  TableRef: import("vue").Ref<any>;
@@ -177,6 +191,7 @@ export declare const Table: import("@vipl520/utils").WithInstall<{
177
191
  tableBefore: Record<string, any>;
178
192
  tableAfter: Record<string, any>;
179
193
  buttons: unknown[];
194
+ hideButtons: unknown[];
180
195
  }, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
181
196
  $slots: Partial<Record<NonNullable<string | number>, (_: {}) => any>> & Partial<Record<string, (_: any) => any>> & {
182
197
  columnPrepend?(_: {}): any;
@@ -91,7 +91,6 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
91
91
  } else if (fieldDataTemp.render == "time" && (fieldDataTemp.operator == "RANGE" || fieldDataTemp.operator == "NOT RANGE")) {
92
92
  if (DkTable.comSearch.form[key] && DkTable.comSearch.form[key].length >= 2) {
93
93
  val = DkTable.comSearch.form[key][0] + "," + DkTable.comSearch.form[key][1];
94
- console.log("val", val, DkTable.comSearch.form[key]);
95
94
  }
96
95
  } else if (fieldDataTemp.operator == "RANGE" || fieldDataTemp.operator == "NOT RANGE") {
97
96
  if (!DkTable.comSearch.form[key + "-start"] && !DkTable.comSearch.form[key + "-end"]) {
@@ -110,7 +109,6 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
110
109
  });
111
110
  }
112
111
  }
113
- console.log("comSearchData", comSearchData);
114
112
  DkTable.onTableAction("com-search", comSearchData);
115
113
  };
116
114
  const onResetForm = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"ComSearch.vue2.mjs","sources":["../../../../src/table/src/components/ComSearch.vue"],"sourcesContent":["<template>\n <div ref=\"el\" class=\"table-com-search\">\n <el-form label-position=\"top\" :model=\"DkTable.comSearch.form\" @submit.prevent=\"\" @keyup.enter=\"onComSearch\">\n <el-row>\n <template v-for=\"(item, idx) in DkTable.table.column\" :key=\"idx\">\n <template v-if=\"item.operator !== false\">\n <!-- 自定义渲染 component、slot -->\n <el-col\n v-if=\"item.comSearchRender == 'customRender' || item.comSearchRender == 'slot'\"\n :span=\"spans.common\"\n >\n <!-- 外部可以使用 :deep() 选择器修改css样式 -->\n <div class=\"com-search-col\">\n <div v-if=\"item.comSearchShowLabel !== false\" class=\"com-search-col-label\">\n {{ item.label }}\n </div>\n <div class=\"com-search-col-input\">\n <!-- 自定义组件/函数渲染 -->\n <component\n :is=\"item.comSearchComponent\"\n v-if=\"item.comSearchRender == 'customRender'\"\n v-model=\"DkTable.comSearch.form[item.prop!]\"\n v-bind=\"item.comSearchProps\"\n :placeholder=\"item.operatorPlaceholder\"\n ></component>\n\n <!-- 自定义渲染-slot -->\n <slot v-else-if=\"item.comSearchRender == 'slot'\" :name=\"item.comSearchSlotName\"></slot>\n </div>\n </div>\n </el-col>\n\n <!-- 时间范围 -->\n <el-col\n v-else-if=\"item.render == 'datetime' && (item.operator == 'RANGE' || item.operator == 'NOT RANGE')\"\n :span=\"spans.datetime\"\n >\n <div class=\"com-search-col\">\n <div v-if=\"item.comSearchShowLabel !== false\" class=\"com-search-col-label\">\n {{ item.label }}\n </div>\n <div class=\"com-search-col-input-range\">\n <el-date-picker\n v-model=\"DkTable.comSearch.form[item.prop!]\"\n class=\"datetime-picker\"\n :default-value=\"\n DkTable.comSearch.form[item.prop! + '-default']\n ? DkTable.comSearch.form[item.prop! + '-default']\n : [new Date(), new Date()]\n \"\n :type=\"item.comSearchRender == 'date' ? 'daterange' : 'datetimerange'\"\n range-separator=\"到\"\n start-placeholder=\"开始日期\"\n end-placeholder=\"结束日期\"\n :value-format=\"item.comSearchRender == 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DD HH:mm:ss'\"\n :teleported=\"false\"\n />\n </div>\n </div>\n </el-col>\n <!--时间范围-->\n <el-col\n v-else-if=\"item.render == 'time' && (item.operator == 'RANGE' || item.operator == 'NOT RANGE')\"\n :span=\"spans.datetime\"\n >\n <div class=\"com-search-col\">\n <div v-if=\"item.comSearchShowLabel !== false\" class=\"com-search-col-label\">\n {{ item.label }}\n </div>\n <div class=\"com-search-col-input-range\">\n <el-time-picker\n v-model=\"DkTable.comSearch.form[item.prop!]\"\n is-range\n range-separator=\"到\"\n format=\"HH:mm:ss\"\n value-format=\"HH:mm:ss\"\n start-placeholder=\"开始时间\"\n end-placeholder=\"结束时间\"\n ></el-time-picker>\n </div>\n </div>\n </el-col>\n <el-col v-else :span=\"spans.common\">\n <div class=\"com-search-col\">\n <div v-if=\"item.comSearchShowLabel !== false\" class=\"com-search-col-label\">\n {{ item.label }}\n </div>\n <!-- 数字范围 -->\n <div v-if=\"item.operator == 'RANGE' || item.operator == 'NOT RANGE'\" class=\"com-search-col-input-range\">\n <el-input\n v-model=\"DkTable.comSearch.form[item.prop! + '-start']\"\n :placeholder=\"item.operatorPlaceholder\"\n type=\"string\"\n :clearable=\"true\"\n ></el-input>\n <div class=\"range-separator\">到</div>\n <el-input\n v-model=\"DkTable.comSearch.form[item.prop! + '-end']\"\n :placeholder=\"item.operatorPlaceholder\"\n type=\"string\"\n :clearable=\"true\"\n ></el-input>\n </div>\n <!-- 是否 [NOT] NULL -->\n <div v-else-if=\"item.operator == 'NULL' || item.operator == 'NOT NULL'\" class=\"com-search-col-input\">\n <el-checkbox\n v-model=\"DkTable.comSearch.form[item.prop!]\"\n :label=\"item.operator\"\n size=\"large\"\n ></el-checkbox>\n </div>\n <div v-else-if=\"item.operator\" class=\"com-search-col-input\">\n <!-- 时间筛选 -->\n <el-date-picker\n v-if=\"item.render == 'datetime' || item.comSearchRender == 'date'\"\n v-model=\"DkTable.comSearch.form[item.prop!]\"\n class=\"datetime-picker\"\n :type=\"item.comSearchRender == 'date' ? 'date' : 'datetime'\"\n :value-format=\"item.comSearchRender == 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DD HH:mm:ss'\"\n :placeholder=\"item.operatorPlaceholder\"\n :default-value=\"\n DkTable.comSearch.form[item.prop! + '-default']\n ? DkTable.comSearch.form[item.prop! + '-default']\n : new Date()\n \"\n :teleported=\"false\"\n />\n <!-- 年筛选 -->\n <el-date-picker\n v-if=\"item.render == 'year'\"\n v-model=\"DkTable.comSearch.form[item.prop!]\"\n class=\"datetime-picker\"\n type=\"year\"\n value-format=\"YYYY\"\n style=\"width: 100%\"\n :placeholder=\"item.operatorPlaceholder\"\n />\n <!-- tag、tags、select -->\n <el-select\n v-else-if=\"\n (item.render == 'tag' || item.render == 'tags' || item.comSearchRender == 'select') &&\n item.replaceValue\n \"\n v-model=\"DkTable.comSearch.form[item.prop!]\"\n :placeholder=\"item.operatorPlaceholder\"\n :clearable=\"true\"\n >\n <el-option\n v-for=\"(opt, okey) in item.replaceValue\"\n :key=\"item.prop! + okey\"\n :label=\"opt\"\n :value=\"okey\"\n />\n </el-select>\n\n <!-- 远程 select -->\n <dk-select\n v-else-if=\"item.comSearchRender == 'remoteSelect'\"\n v-model=\"DkTable.comSearch.form[item.prop!]\"\n filterable\n :placeholder=\"item.operatorPlaceholder\"\n :remote-url=\"item.remoteUrl\"\n ></dk-select>\n\n <!-- 开关 -->\n <el-select\n v-else-if=\"item.render == 'switch'\"\n v-model=\"DkTable.comSearch.form[item.prop!]\"\n :placeholder=\"item.operatorPlaceholder\"\n :clearable=\"true\"\n >\n <template v-if=\"!isEmpty(item.replaceValue)\">\n <el-option\n v-for=\"(opt, okey) in item.replaceValue\"\n :key=\"item.prop! + okey\"\n :label=\"opt\"\n :value=\"okey\"\n />\n </template>\n <template v-else>\n <el-option label=\"开\" value=\"1\" />\n <el-option label=\"关\" value=\"0\" />\n </template>\n </el-select>\n\n <!-- 字符串 -->\n <el-input\n v-else\n v-model=\"DkTable.comSearch.form[item.prop!]\"\n :placeholder=\"item.operatorPlaceholder\"\n type=\"string\"\n :clearable=\"true\"\n ></el-input>\n </div>\n </div>\n </el-col>\n </template>\n </template>\n <el-col :xs=\"24\" :sm=\"6\">\n <div class=\"com-search-col pl-20\">\n <el-button v-blur type=\"primary\" @click=\"onComSearch\"> 搜索</el-button>\n <el-button @click=\"onResetForm()\">重置</el-button>\n </div>\n </el-col>\n </el-row>\n </el-form>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { inject, ref, computed } from 'vue'\nimport { isEmpty } from 'lodash-es'\nimport { useElementSize } from '@vueuse/core'\nimport DkTableClass from '../../utils/dkTable'\n\nconst DkTable = inject('DkTable') as DkTableClass\nconst el: any = ref(null)\nconst { width } = useElementSize(el) // 当前组件宽度\nconst spans = computed(() => {\n if (width.value < 768) {\n return {\n common: 24,\n datetime: 24,\n }\n }\n if (width.value < 900) {\n return {\n common: 12,\n datetime: 24,\n }\n }\n if (width.value < 1200) {\n return {\n common: 8,\n datetime: 16,\n }\n }\n return {\n common: 6,\n datetime: 12,\n }\n})\nconst onComSearch = () => {\n const comSearchData: comSearchData[] = []\n for (const key in DkTable.comSearch.form) {\n if (!DkTable.comSearch.fieldData.has(key)) {\n continue\n }\n let val = ''\n const fieldDataTemp = DkTable.comSearch.fieldData.get(key)\n if (\n fieldDataTemp.render == 'datetime' &&\n (fieldDataTemp.operator == 'RANGE' || fieldDataTemp.operator == 'NOT RANGE')\n ) {\n // 时间范围组件返回的是时间数组\n if (DkTable.comSearch.form[key] && DkTable.comSearch.form[key].length >= 2) {\n // 数组转字符串,以实现通过url参数传递预设搜索值\n if (fieldDataTemp.comSearchRender == 'date') {\n val = DkTable.comSearch.form[key][0] + ' 00:00:00' + ',' + DkTable.comSearch.form[key][1] + ' 23:59:59'\n } else {\n val = DkTable.comSearch.form[key][0] + ',' + DkTable.comSearch.form[key][1]\n }\n }\n } else if (\n fieldDataTemp.render == 'time' &&\n (fieldDataTemp.operator == 'RANGE' || fieldDataTemp.operator == 'NOT RANGE')\n ) {\n // 时间范围组件返回的是时间数组\n if (DkTable.comSearch.form[key] && DkTable.comSearch.form[key].length >= 2) {\n // 数组转字符串,以实现通过url参数传递预设搜索值\n // if (fieldDataTemp.comSearchRender == 'date') {\n // val = DkTable.comSearch.form[key][0] + ' 00:00:00' + ',' + DkTable.comSearch.form[key][1] + ' 23:59:59'\n // } else {\n val = DkTable.comSearch.form[key][0] + ',' + DkTable.comSearch.form[key][1]\n console.log('val', val, DkTable.comSearch.form[key])\n // }\n }\n } else if (fieldDataTemp.operator == 'RANGE' || fieldDataTemp.operator == 'NOT RANGE') {\n // 普通的范围筛选,DkTable在初始化时已准备好start和end字段\n if (!DkTable.comSearch.form[key + '-start'] && !DkTable.comSearch.form[key + '-end']) {\n continue\n }\n val = DkTable.comSearch.form[key + '-start'] + ',' + DkTable.comSearch.form[key + '-end']\n } else if (DkTable.comSearch.form[key]) {\n val = DkTable.comSearch.form[key]\n }\n\n if (val) {\n comSearchData.push({\n field: key,\n val,\n operator: fieldDataTemp.operator,\n render: fieldDataTemp.render,\n })\n }\n }\n\n console.log('comSearchData', comSearchData)\n DkTable.onTableAction('com-search', comSearchData)\n}\n\nconst onResetForm = () => {\n // 封装好的onResetForm在此处不能使用\n for (const key in DkTable.comSearch.form) {\n DkTable.comSearch.form[key] = ''\n }\n onComSearch()\n}\n</script>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ComSearch.vue2.mjs","sources":["../../../../src/table/src/components/ComSearch.vue"],"sourcesContent":["<template>\n <div ref=\"el\" class=\"table-com-search\">\n <el-form label-position=\"top\" :model=\"DkTable.comSearch.form\" @submit.prevent=\"\" @keyup.enter=\"onComSearch\">\n <el-row>\n <template v-for=\"(item, idx) in DkTable.table.column\" :key=\"idx\">\n <template v-if=\"item.operator !== false\">\n <!-- 自定义渲染 component、slot -->\n <el-col\n v-if=\"item.comSearchRender == 'customRender' || item.comSearchRender == 'slot'\"\n :span=\"spans.common\"\n >\n <!-- 外部可以使用 :deep() 选择器修改css样式 -->\n <div class=\"com-search-col\">\n <div v-if=\"item.comSearchShowLabel !== false\" class=\"com-search-col-label\">\n {{ item.label }}\n </div>\n <div class=\"com-search-col-input\">\n <!-- 自定义组件/函数渲染 -->\n <component\n :is=\"item.comSearchComponent\"\n v-if=\"item.comSearchRender == 'customRender'\"\n v-model=\"DkTable.comSearch.form[item.prop!]\"\n v-bind=\"item.comSearchProps\"\n :placeholder=\"item.operatorPlaceholder\"\n ></component>\n\n <!-- 自定义渲染-slot -->\n <slot v-else-if=\"item.comSearchRender == 'slot'\" :name=\"item.comSearchSlotName\"></slot>\n </div>\n </div>\n </el-col>\n\n <!-- 时间范围 -->\n <el-col\n v-else-if=\"item.render == 'datetime' && (item.operator == 'RANGE' || item.operator == 'NOT RANGE')\"\n :span=\"spans.datetime\"\n >\n <div class=\"com-search-col\">\n <div v-if=\"item.comSearchShowLabel !== false\" class=\"com-search-col-label\">\n {{ item.label }}\n </div>\n <div class=\"com-search-col-input-range\">\n <el-date-picker\n v-model=\"DkTable.comSearch.form[item.prop!]\"\n class=\"datetime-picker\"\n :default-value=\"\n DkTable.comSearch.form[item.prop! + '-default']\n ? DkTable.comSearch.form[item.prop! + '-default']\n : [new Date(), new Date()]\n \"\n :type=\"item.comSearchRender == 'date' ? 'daterange' : 'datetimerange'\"\n range-separator=\"到\"\n start-placeholder=\"开始日期\"\n end-placeholder=\"结束日期\"\n :value-format=\"item.comSearchRender == 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DD HH:mm:ss'\"\n :teleported=\"false\"\n />\n </div>\n </div>\n </el-col>\n <!--时间范围-->\n <el-col\n v-else-if=\"item.render == 'time' && (item.operator == 'RANGE' || item.operator == 'NOT RANGE')\"\n :span=\"spans.datetime\"\n >\n <div class=\"com-search-col\">\n <div v-if=\"item.comSearchShowLabel !== false\" class=\"com-search-col-label\">\n {{ item.label }}\n </div>\n <div class=\"com-search-col-input-range\">\n <el-time-picker\n v-model=\"DkTable.comSearch.form[item.prop!]\"\n is-range\n range-separator=\"到\"\n format=\"HH:mm:ss\"\n value-format=\"HH:mm:ss\"\n start-placeholder=\"开始时间\"\n end-placeholder=\"结束时间\"\n ></el-time-picker>\n </div>\n </div>\n </el-col>\n <el-col v-else :span=\"spans.common\">\n <div class=\"com-search-col\">\n <div v-if=\"item.comSearchShowLabel !== false\" class=\"com-search-col-label\">\n {{ item.label }}\n </div>\n <!-- 数字范围 -->\n <div v-if=\"item.operator == 'RANGE' || item.operator == 'NOT RANGE'\" class=\"com-search-col-input-range\">\n <el-input\n v-model=\"DkTable.comSearch.form[item.prop! + '-start']\"\n :placeholder=\"item.operatorPlaceholder\"\n type=\"string\"\n :clearable=\"true\"\n ></el-input>\n <div class=\"range-separator\">到</div>\n <el-input\n v-model=\"DkTable.comSearch.form[item.prop! + '-end']\"\n :placeholder=\"item.operatorPlaceholder\"\n type=\"string\"\n :clearable=\"true\"\n ></el-input>\n </div>\n <!-- 是否 [NOT] NULL -->\n <div v-else-if=\"item.operator == 'NULL' || item.operator == 'NOT NULL'\" class=\"com-search-col-input\">\n <el-checkbox\n v-model=\"DkTable.comSearch.form[item.prop!]\"\n :label=\"item.operator\"\n size=\"large\"\n ></el-checkbox>\n </div>\n <div v-else-if=\"item.operator\" class=\"com-search-col-input\">\n <!-- 时间筛选 -->\n <el-date-picker\n v-if=\"item.render == 'datetime' || item.comSearchRender == 'date'\"\n v-model=\"DkTable.comSearch.form[item.prop!]\"\n class=\"datetime-picker\"\n :type=\"item.comSearchRender == 'date' ? 'date' : 'datetime'\"\n :value-format=\"item.comSearchRender == 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DD HH:mm:ss'\"\n :placeholder=\"item.operatorPlaceholder\"\n :default-value=\"\n DkTable.comSearch.form[item.prop! + '-default']\n ? DkTable.comSearch.form[item.prop! + '-default']\n : new Date()\n \"\n :teleported=\"false\"\n />\n <!-- 年筛选 -->\n <el-date-picker\n v-if=\"item.render == 'year'\"\n v-model=\"DkTable.comSearch.form[item.prop!]\"\n class=\"datetime-picker\"\n type=\"year\"\n value-format=\"YYYY\"\n style=\"width: 100%\"\n :placeholder=\"item.operatorPlaceholder\"\n />\n <!-- tag、tags、select -->\n <el-select\n v-else-if=\"\n (item.render == 'tag' || item.render == 'tags' || item.comSearchRender == 'select') &&\n item.replaceValue\n \"\n v-model=\"DkTable.comSearch.form[item.prop!]\"\n :placeholder=\"item.operatorPlaceholder\"\n :clearable=\"true\"\n >\n <el-option\n v-for=\"(opt, okey) in item.replaceValue\"\n :key=\"item.prop! + okey\"\n :label=\"opt\"\n :value=\"okey\"\n />\n </el-select>\n\n <!-- 远程 select -->\n <dk-select\n v-else-if=\"item.comSearchRender == 'remoteSelect'\"\n v-model=\"DkTable.comSearch.form[item.prop!]\"\n filterable\n :placeholder=\"item.operatorPlaceholder\"\n :remote-url=\"item.remoteUrl\"\n ></dk-select>\n\n <!-- 开关 -->\n <el-select\n v-else-if=\"item.render == 'switch'\"\n v-model=\"DkTable.comSearch.form[item.prop!]\"\n :placeholder=\"item.operatorPlaceholder\"\n :clearable=\"true\"\n >\n <template v-if=\"!isEmpty(item.replaceValue)\">\n <el-option\n v-for=\"(opt, okey) in item.replaceValue\"\n :key=\"item.prop! + okey\"\n :label=\"opt\"\n :value=\"okey\"\n />\n </template>\n <template v-else>\n <el-option label=\"开\" value=\"1\" />\n <el-option label=\"关\" value=\"0\" />\n </template>\n </el-select>\n\n <!-- 字符串 -->\n <el-input\n v-else\n v-model=\"DkTable.comSearch.form[item.prop!]\"\n :placeholder=\"item.operatorPlaceholder\"\n type=\"string\"\n :clearable=\"true\"\n ></el-input>\n </div>\n </div>\n </el-col>\n </template>\n </template>\n <el-col :xs=\"24\" :sm=\"6\">\n <div class=\"com-search-col pl-20\">\n <el-button v-blur type=\"primary\" @click=\"onComSearch\"> 搜索</el-button>\n <el-button @click=\"onResetForm()\">重置</el-button>\n </div>\n </el-col>\n </el-row>\n </el-form>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { inject, ref, computed } from 'vue'\nimport { isEmpty } from 'lodash-es'\nimport { useElementSize } from '@vueuse/core'\nimport DkTableClass from '../../utils/dkTable'\n\nconst DkTable = inject('DkTable') as DkTableClass\nconst el: any = ref(null)\nconst { width } = useElementSize(el) // 当前组件宽度\nconst spans = computed(() => {\n if (width.value < 768) {\n return {\n common: 24,\n datetime: 24,\n }\n }\n if (width.value < 900) {\n return {\n common: 12,\n datetime: 24,\n }\n }\n if (width.value < 1200) {\n return {\n common: 8,\n datetime: 16,\n }\n }\n return {\n common: 6,\n datetime: 12,\n }\n})\nconst onComSearch = () => {\n const comSearchData: comSearchData[] = []\n for (const key in DkTable.comSearch.form) {\n if (!DkTable.comSearch.fieldData.has(key)) {\n continue\n }\n let val = ''\n const fieldDataTemp = DkTable.comSearch.fieldData.get(key)\n if (\n fieldDataTemp.render == 'datetime' &&\n (fieldDataTemp.operator == 'RANGE' || fieldDataTemp.operator == 'NOT RANGE')\n ) {\n // 时间范围组件返回的是时间数组\n if (DkTable.comSearch.form[key] && DkTable.comSearch.form[key].length >= 2) {\n // 数组转字符串,以实现通过url参数传递预设搜索值\n if (fieldDataTemp.comSearchRender == 'date') {\n val = DkTable.comSearch.form[key][0] + ' 00:00:00' + ',' + DkTable.comSearch.form[key][1] + ' 23:59:59'\n } else {\n val = DkTable.comSearch.form[key][0] + ',' + DkTable.comSearch.form[key][1]\n }\n }\n } else if (\n fieldDataTemp.render == 'time' &&\n (fieldDataTemp.operator == 'RANGE' || fieldDataTemp.operator == 'NOT RANGE')\n ) {\n // 时间范围组件返回的是时间数组\n if (DkTable.comSearch.form[key] && DkTable.comSearch.form[key].length >= 2) {\n // 数组转字符串,以实现通过url参数传递预设搜索值\n // if (fieldDataTemp.comSearchRender == 'date') {\n // val = DkTable.comSearch.form[key][0] + ' 00:00:00' + ',' + DkTable.comSearch.form[key][1] + ' 23:59:59'\n // } else {\n val = DkTable.comSearch.form[key][0] + ',' + DkTable.comSearch.form[key][1]\n // console.log('val', val, DkTable.comSearch.form[key])\n // }\n }\n } else if (fieldDataTemp.operator == 'RANGE' || fieldDataTemp.operator == 'NOT RANGE') {\n // 普通的范围筛选,DkTable在初始化时已准备好start和end字段\n if (!DkTable.comSearch.form[key + '-start'] && !DkTable.comSearch.form[key + '-end']) {\n continue\n }\n val = DkTable.comSearch.form[key + '-start'] + ',' + DkTable.comSearch.form[key + '-end']\n } else if (DkTable.comSearch.form[key]) {\n val = DkTable.comSearch.form[key]\n }\n\n if (val) {\n comSearchData.push({\n field: key,\n val,\n operator: fieldDataTemp.operator,\n render: fieldDataTemp.render,\n })\n }\n }\n\n // console.log('comSearchData', comSearchData)\n DkTable.onTableAction('com-search', comSearchData)\n}\n\nconst onResetForm = () => {\n // 封装好的onResetForm在此处不能使用\n for (const key in DkTable.comSearch.form) {\n DkTable.comSearch.form[key] = ''\n }\n onComSearch()\n}\n</script>\n"],"names":[],"mappings":"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"}
@@ -20,5 +20,9 @@ export declare const tableProps: {
20
20
  default: () => string[];
21
21
  type: ArrayConstructor;
22
22
  };
23
+ hideButtons: {
24
+ default: () => never[];
25
+ type: ArrayConstructor;
26
+ };
23
27
  };
24
28
  export type TableProps = ExtractPropTypes<typeof tableProps>;
@@ -24,6 +24,12 @@ const tableProps = {
24
24
  return ["refresh", "add", "export_csv", "edit", "delete", "comSearch", "quickSearch", "columnDisplay", "recycle"];
25
25
  },
26
26
  type: Array
27
+ },
28
+ hideButtons: {
29
+ default: () => {
30
+ return [];
31
+ },
32
+ type: Array
27
33
  }
28
34
  };
29
35
 
@@ -1 +1 @@
1
- {"version":3,"file":"props.mjs","sources":["../../../src/table/src/props.ts"],"sourcesContent":["import type { ExtractPropTypes } from 'vue'\n// import ElTableNext from 'el-table-next'\n\nexport const tableProps = {\n tableApi: {\n default: '',\n type: String,\n },\n cacheTable: {\n default: true,\n type: Boolean,\n },\n tableBefore: {\n default: () => {\n return {}\n },\n type: Object,\n },\n tableAfter: {\n default: () => {\n return {}\n },\n type: Object,\n },\n buttons: {\n default: () => {\n return ['refresh', 'add', 'export_csv', 'edit', 'delete', 'comSearch', 'quickSearch', 'columnDisplay', 'recycle']\n },\n type: Array,\n },\n}\n\nexport type TableProps = ExtractPropTypes<typeof tableProps>\n"],"names":[],"mappings":"AAGO,MAAM,UAAa,GAAA;AAAA,EACxB,QAAU,EAAA;AAAA,IACR,OAAS,EAAA,EAAA;AAAA,IACT,IAAM,EAAA,MAAA;AAAA,GACR;AAAA,EACA,UAAY,EAAA;AAAA,IACV,OAAS,EAAA,IAAA;AAAA,IACT,IAAM,EAAA,OAAA;AAAA,GACR;AAAA,EACA,WAAa,EAAA;AAAA,IACX,SAAS,MAAM;AACb,MAAA,OAAO,EAAC,CAAA;AAAA,KACV;AAAA,IACA,IAAM,EAAA,MAAA;AAAA,GACR;AAAA,EACA,UAAY,EAAA;AAAA,IACV,SAAS,MAAM;AACb,MAAA,OAAO,EAAC,CAAA;AAAA,KACV;AAAA,IACA,IAAM,EAAA,MAAA;AAAA,GACR;AAAA,EACA,OAAS,EAAA;AAAA,IACP,SAAS,MAAM;AACb,MAAO,OAAA,CAAC,WAAW,KAAO,EAAA,YAAA,EAAc,QAAQ,QAAU,EAAA,WAAA,EAAa,aAAe,EAAA,eAAA,EAAiB,SAAS,CAAA,CAAA;AAAA,KAClH;AAAA,IACA,IAAM,EAAA,KAAA;AAAA,GACR;AACF;;;;"}
1
+ {"version":3,"file":"props.mjs","sources":["../../../src/table/src/props.ts"],"sourcesContent":["import type { ExtractPropTypes } from 'vue'\n// import ElTableNext from 'el-table-next'\n\nexport const tableProps = {\n tableApi: {\n default: '',\n type: String,\n },\n cacheTable: {\n default: true,\n type: Boolean,\n },\n tableBefore: {\n default: () => {\n return {}\n },\n type: Object,\n },\n tableAfter: {\n default: () => {\n return {}\n },\n type: Object,\n },\n buttons: {\n default: () => {\n return ['refresh', 'add', 'export_csv', 'edit', 'delete', 'comSearch', 'quickSearch', 'columnDisplay', 'recycle']\n },\n type: Array,\n },\n hideButtons: {\n default: () => {\n return []\n },\n type: Array,\n },\n}\n\nexport type TableProps = ExtractPropTypes<typeof tableProps>\n"],"names":[],"mappings":"AAGO,MAAM,UAAa,GAAA;AAAA,EACxB,QAAU,EAAA;AAAA,IACR,OAAS,EAAA,EAAA;AAAA,IACT,IAAM,EAAA,MAAA;AAAA,GACR;AAAA,EACA,UAAY,EAAA;AAAA,IACV,OAAS,EAAA,IAAA;AAAA,IACT,IAAM,EAAA,OAAA;AAAA,GACR;AAAA,EACA,WAAa,EAAA;AAAA,IACX,SAAS,MAAM;AACb,MAAA,OAAO,EAAC,CAAA;AAAA,KACV;AAAA,IACA,IAAM,EAAA,MAAA;AAAA,GACR;AAAA,EACA,UAAY,EAAA;AAAA,IACV,SAAS,MAAM;AACb,MAAA,OAAO,EAAC,CAAA;AAAA,KACV;AAAA,IACA,IAAM,EAAA,MAAA;AAAA,GACR;AAAA,EACA,OAAS,EAAA;AAAA,IACP,SAAS,MAAM;AACb,MAAO,OAAA,CAAC,WAAW,KAAO,EAAA,YAAA,EAAc,QAAQ,QAAU,EAAA,WAAA,EAAa,aAAe,EAAA,eAAA,EAAiB,SAAS,CAAA,CAAA;AAAA,KAClH;AAAA,IACA,IAAM,EAAA,KAAA;AAAA,GACR;AAAA,EACA,WAAa,EAAA;AAAA,IACX,SAAS,MAAM;AACb,MAAA,OAAO,EAAC,CAAA;AAAA,KACV;AAAA,IACA,IAAM,EAAA,KAAA;AAAA,GACR;AACF;;;;"}
@@ -20,6 +20,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
20
20
  default: () => string[];
21
21
  type: ArrayConstructor;
22
22
  };
23
+ hideButtons: {
24
+ default: () => never[];
25
+ type: ArrayConstructor;
26
+ };
23
27
  }, {
24
28
  DkTable: DkTableClass;
25
29
  TableRef: import("vue").Ref<any>;
@@ -45,12 +49,17 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
45
49
  default: () => string[];
46
50
  type: ArrayConstructor;
47
51
  };
52
+ hideButtons: {
53
+ default: () => never[];
54
+ type: ArrayConstructor;
55
+ };
48
56
  }>>, {
49
57
  tableApi: string;
50
58
  cacheTable: boolean;
51
59
  tableBefore: Record<string, any>;
52
60
  tableAfter: Record<string, any>;
53
61
  buttons: unknown[];
62
+ hideButtons: unknown[];
54
63
  }, {}>, Partial<Record<NonNullable<string | number>, (_: {}) => any>> & Partial<Record<string, (_: any) => any>> & {
55
64
  columnPrepend?(_: {}): any;
56
65
  columnAppend?(_: {}): any;
@@ -31,6 +31,9 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
31
31
  DkTable.table.ref = TableRef.value;
32
32
  DkTable.form.ref = FormRef.value;
33
33
  });
34
+ const effectiveButtons = computed(() => {
35
+ return [...new Set(props.buttons.filter((button) => !props.hideButtons.includes(button)))];
36
+ });
34
37
  const onTableSizeChange = (val) => {
35
38
  DkTable.onTableAction("page-size-change", { size: val });
36
39
  };
@@ -147,7 +150,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
147
150
  createCommentVNode("\u9876\u90E8\u83DC\u5355"),
148
151
  createVNode(DkTableHeader, {
149
152
  size: "default",
150
- buttons: _ctx.buttons
153
+ buttons: effectiveButtons.value
151
154
  }, createSlots({
152
155
  _: 2
153
156
  /* DYNAMIC */
@@ -1 +1 @@
1
- {"version":3,"file":"table.vue2.mjs","sources":["../../../src/table/src/table.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'DkTable',\n});\n</script>\n<template>\n <div class=\"dk-table\">\n <!--顶部菜单-->\n <DkTableHeader size=\"default\" :buttons=\"buttons\">\n <template v-for=\"(slot, idx) in $slots\" :key=\"idx\" #[idx]>\n <slot :name=\"idx\"></slot>\n </template>\n </DkTableHeader>\n <!--表格-->\n <el-table\n ref=\"TableRef\"\n v-loading=\"DkTable.table.loading\"\n class=\"dk-data-table w100\"\n header-cell-class-name=\"table-header-cell\"\n :default-expand-all=\"DkTable.table.expandAll\"\n :data=\"DkTable.table.data\"\n :row-key=\"DkTable.table.pk\"\n stripe\n v-bind=\"$attrs\"\n @select-all=\"onSelectAll\"\n @select=\"onSelect\"\n @selection-change=\"onSelectionChange\"\n @sort-change=\"onSortChange\"\n @cell-dblclick=\"ondblclick\"\n >\n <slot name=\"columnPrepend\"></slot>\n <template v-for=\"(item, key) in DkTable.table.column\">\n <template v-if=\"item.show !== false\">\n <!-- 渲染为 slot -->\n <el-table-column v-if=\"item.slotName\" :key=\"key\" v-bind=\"{ ...item }\">\n <template #default=\"scope\">\n <slot :name=\"item.slotName\" v-bind=\"scope\">\n <dk-field-render\n :key=\"\n key +\n '-' +\n scope.$index +\n '-' +\n item.render +\n '-' +\n (item.prop ? '-' + item.prop + '-' + scope.row[item.prop] : '')\n \"\n :field=\"item\"\n :row=\"scope.row\"\n :column=\"scope.column\"\n :index=\"scope.$index\"\n />\n </slot>\n </template>\n </el-table-column>\n <el-table-column v-else :key=\"key + 'default'\" v-bind=\"{ ...item }\"></el-table-column>\n </template>\n </template>\n <slot name=\"columnAppend\"></slot>\n </el-table>\n\n <div class=\"table-pagination\">\n <el-pagination\n :current-page=\"DkTable.table.filter!.page\"\n :page-size=\"DkTable.table.filter!.limit\"\n :page-sizes=\"pageSizes\"\n background\n :layout=\"'sizes,total, ->, prev, pager, next, jumper'\"\n :total=\"DkTable.table.total\"\n @size-change=\"onTableSizeChange\"\n @current-change=\"onTableCurrentChange\"\n ></el-pagination>\n </div>\n </div>\n <dk-form ref=\"FormRef\" :is-dialog=\"true\" @submit=\"DkTable.onSubmit\">\n <template #buttons>\n <el-button type=\"primary\" :loading=\"DkTable.form.ref.buttonLoading\" @click=\"DkTable.form.ref.checkForm\">\n {{ DkTable.form.operateIds!.length > 0 ? '保存并编辑下一项' : '提交' }}\n </el-button>\n </template>\n </dk-form>\n <RecycleDialog></RecycleDialog>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, onMounted, nextTick, provide, computed } from 'vue'\nimport { tableProps } from './props'\nimport DkTableClass from '../utils/dkTable'\nimport DkTableHeader from './components/header.vue'\nimport DkFieldRender from './components/FieldRender.vue'\nimport RecycleDialog from './components/RecycleDialog.vue'\n\n\n\nconst props = defineProps(tableProps)\nconst FormRef = ref()\n// 表格的Ref\nconst TableRef = ref()\n// 表格的对象\nconst DkTable = new DkTableClass(props.tableApi, props.tableBefore, props.tableAfter)\n\nprovide('DkTable', DkTable)\n// 获取表格信息\nonMounted(() => {\n DkTable.getTable(props.cacheTable)?.then(() => {\n DkTable.getIndex()?.then(() => {\n nextTick(() => {\n DkTable.dragSort()\n })\n })\n DkTable.initComSearch()\n })\n DkTable.table.ref = TableRef.value\n DkTable.form.ref = FormRef.value\n})\n\nconst onTableSizeChange = (val: number) => {\n DkTable.onTableAction('page-size-change', { size: val })\n}\n\nconst onTableCurrentChange = (val: number) => {\n DkTable.onTableAction('current-page-change', { page: val })\n}\n\n// 双击\nconst ondblclick = (row: any) => {\n DkTable.toggleForm('Edit', [row[DkTable.table.pk!]])\n}\n\nconst onSortChange = ({ order, prop }: { order: string; prop: string }) => {\n DkTable.onTableAction('sort-change', {\n prop,\n order: order ? (order == 'ascending' ? 'asc' : 'desc') : '',\n })\n}\n\nconst pageSizes = computed(() => {\n const defaultSizes = [10, 20, 50, 100]\n if (DkTable.table.filter!.limit) {\n if (!defaultSizes.includes(DkTable.table.filter!.limit)) {\n defaultSizes.push(DkTable.table.filter!.limit)\n }\n }\n return defaultSizes\n})\n\n/*\n * 手动选择时,同时选择子级\n */\nconst onSelect = (selection: TableRow[], row: TableRow) => {\n if (\n selection.some((item: TableRow) => {\n return row[DkTable.table.pk!] === item[DkTable.table.pk!]\n })\n ) {\n if (row.children) {\n selectChildren(row.children, true)\n }\n } else {\n if (row.children) {\n selectChildren(row.children, false)\n }\n }\n}\n\n/**\n /*\n * 全选和取消全选\n * 实现子级同时选择和取消选中\n */\nconst onSelectAll = (selection: TableRow[]) => {\n if (isSelectAll(selection.map((row: TableRow) => row[DkTable.table.pk!].toString()))) {\n // eslint-disable-next-line array-callback-return\n selection.map((row: TableRow) => {\n if (row.children) {\n selectChildren(row.children, true)\n }\n })\n } else {\n TableRef.value?.clearSelection()\n }\n}\n\n/*\n * 是否是全选操作\n * 只检查第一个元素是否被选择\n * 全选时:selectIds为所有元素的id\n * 取消全选时:selectIds为所有子元素的id\n */\nconst isSelectAll = (selectIds: string[]) => {\n const data = DkTable.table.data as TableRow[]\n // eslint-disable-next-line no-unreachable-loop\n for (const key in data) {\n return selectIds.includes(data[key][DkTable.table.pk!].toString())\n }\n return false\n}\n\n/*\n * 选择子项-递归\n */\nconst selectChildren = (children: TableRow[], type: boolean) => {\n // eslint-disable-next-line array-callback-return\n children.map((j: TableRow) => {\n toggleSelection(j, type)\n if (j.children) {\n selectChildren(j.children, type)\n }\n })\n}\n\n/*\n * 执行选择操作\n */\nconst toggleSelection = (row: TableRow, type: boolean) => {\n if (row) {\n nextTick(() => {\n TableRef.value?.toggleRowSelection(row, type)\n })\n }\n}\n\n/*\n * 记录选择的项\n */\nconst onSelectionChange = (selection: TableRow[]) => {\n DkTable.onTableAction('selection-change', selection)\n}\n\n/*\n * 设置折叠所有-递归\n */\nconst setUnFoldAll = (children: TableRow[], unfold: boolean) => {\n for (const key in children) {\n TableRef.value?.toggleRowExpansion(children[key], unfold)\n if (children[key].children) {\n setUnFoldAll(children[key].children!, unfold)\n }\n }\n}\n\n/*\n * 折叠所有\n */\nconst unFoldAll = (unfold: boolean) => {\n setUnFoldAll(DkTable.table.data!, unfold)\n}\n\nconst slotNames = computed(() => {\n const column = DkTable.table.column\n const slotNames = []\n for (let i = 0; i < column.length; i++) {\n if (column[i].slotName) {\n slotNames.push(column[i].slotName)\n }\n }\n return slotNames\n})\n\nonMounted(() => {\n // injectTablePrimaryMethods()\n})\n\ndefineExpose({\n DkTable,\n TableRef,\n FormRef,\n})\n</script>\n<style lang=\"scss\"></style>\n"],"names":["__MACROS_defineComponent","DkTableClass","slotNames"],"mappings":"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"}
1
+ {"version":3,"file":"table.vue2.mjs","sources":["../../../src/table/src/table.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'DkTable',\n});\n</script>\n<template>\n <div class=\"dk-table\">\n <!--顶部菜单-->\n <DkTableHeader size=\"default\" :buttons=\"effectiveButtons\">\n <template v-for=\"(slot, idx) in $slots\" :key=\"idx\" #[idx]>\n <slot :name=\"idx\"></slot>\n </template>\n </DkTableHeader>\n <!--表格-->\n <el-table\n ref=\"TableRef\"\n v-loading=\"DkTable.table.loading\"\n class=\"dk-data-table w100\"\n header-cell-class-name=\"table-header-cell\"\n :default-expand-all=\"DkTable.table.expandAll\"\n :data=\"DkTable.table.data\"\n :row-key=\"DkTable.table.pk\"\n stripe\n v-bind=\"$attrs\"\n @select-all=\"onSelectAll\"\n @select=\"onSelect\"\n @selection-change=\"onSelectionChange\"\n @sort-change=\"onSortChange\"\n @cell-dblclick=\"ondblclick\"\n >\n <slot name=\"columnPrepend\"></slot>\n <template v-for=\"(item, key) in DkTable.table.column\">\n <template v-if=\"item.show !== false\">\n <!-- 渲染为 slot -->\n <el-table-column v-if=\"item.slotName\" :key=\"key\" v-bind=\"{ ...item }\">\n <template #default=\"scope\">\n <slot :name=\"item.slotName\" v-bind=\"scope\">\n <dk-field-render\n :key=\"\n key +\n '-' +\n scope.$index +\n '-' +\n item.render +\n '-' +\n (item.prop ? '-' + item.prop + '-' + scope.row[item.prop] : '')\n \"\n :field=\"item\"\n :row=\"scope.row\"\n :column=\"scope.column\"\n :index=\"scope.$index\"\n />\n </slot>\n </template>\n </el-table-column>\n <el-table-column v-else :key=\"key + 'default'\" v-bind=\"{ ...item }\"></el-table-column>\n </template>\n </template>\n <slot name=\"columnAppend\"></slot>\n </el-table>\n\n <div class=\"table-pagination\">\n <el-pagination\n :current-page=\"DkTable.table.filter!.page\"\n :page-size=\"DkTable.table.filter!.limit\"\n :page-sizes=\"pageSizes\"\n background\n :layout=\"'sizes,total, ->, prev, pager, next, jumper'\"\n :total=\"DkTable.table.total\"\n @size-change=\"onTableSizeChange\"\n @current-change=\"onTableCurrentChange\"\n ></el-pagination>\n </div>\n </div>\n <dk-form ref=\"FormRef\" :is-dialog=\"true\" @submit=\"DkTable.onSubmit\">\n <template #buttons>\n <el-button type=\"primary\" :loading=\"DkTable.form.ref.buttonLoading\" @click=\"DkTable.form.ref.checkForm\">\n {{ DkTable.form.operateIds!.length > 0 ? '保存并编辑下一项' : '提交' }}\n </el-button>\n </template>\n </dk-form>\n <RecycleDialog></RecycleDialog>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, onMounted, nextTick, provide, computed } from 'vue'\nimport { tableProps } from './props'\nimport DkTableClass from '../utils/dkTable'\nimport DkTableHeader from './components/header.vue'\nimport DkFieldRender from './components/FieldRender.vue'\nimport RecycleDialog from './components/RecycleDialog.vue'\n\n\n\nconst props = defineProps(tableProps)\nconst FormRef = ref()\n// 表格的Ref\nconst TableRef = ref()\n// 表格的对象\nconst DkTable = new DkTableClass(props.tableApi, props.tableBefore, props.tableAfter)\n\nprovide('DkTable', DkTable)\n// 获取表格信息\nonMounted(() => {\n DkTable.getTable(props.cacheTable)?.then(() => {\n DkTable.getIndex()?.then(() => {\n nextTick(() => {\n DkTable.dragSort()\n })\n })\n DkTable.initComSearch()\n })\n DkTable.table.ref = TableRef.value\n DkTable.form.ref = FormRef.value\n})\n\nconst effectiveButtons = computed(() => {\n return [...new Set(props.buttons.filter((button) => !props.hideButtons.includes(button)))]\n})\n\nconst onTableSizeChange = (val: number) => {\n DkTable.onTableAction('page-size-change', { size: val })\n}\n\nconst onTableCurrentChange = (val: number) => {\n DkTable.onTableAction('current-page-change', { page: val })\n}\n\n// 双击\nconst ondblclick = (row: any) => {\n DkTable.toggleForm('Edit', [row[DkTable.table.pk!]])\n}\n\nconst onSortChange = ({ order, prop }: { order: string; prop: string }) => {\n DkTable.onTableAction('sort-change', {\n prop,\n order: order ? (order == 'ascending' ? 'asc' : 'desc') : '',\n })\n}\n\nconst pageSizes = computed(() => {\n const defaultSizes = [10, 20, 50, 100]\n if (DkTable.table.filter!.limit) {\n if (!defaultSizes.includes(DkTable.table.filter!.limit)) {\n defaultSizes.push(DkTable.table.filter!.limit)\n }\n }\n return defaultSizes\n})\n\n/*\n * 手动选择时,同时选择子级\n */\nconst onSelect = (selection: TableRow[], row: TableRow) => {\n if (\n selection.some((item: TableRow) => {\n return row[DkTable.table.pk!] === item[DkTable.table.pk!]\n })\n ) {\n if (row.children) {\n selectChildren(row.children, true)\n }\n } else {\n if (row.children) {\n selectChildren(row.children, false)\n }\n }\n}\n\n/**\n /*\n * 全选和取消全选\n * 实现子级同时选择和取消选中\n */\nconst onSelectAll = (selection: TableRow[]) => {\n if (isSelectAll(selection.map((row: TableRow) => row[DkTable.table.pk!].toString()))) {\n // eslint-disable-next-line array-callback-return\n selection.map((row: TableRow) => {\n if (row.children) {\n selectChildren(row.children, true)\n }\n })\n } else {\n TableRef.value?.clearSelection()\n }\n}\n\n/*\n * 是否是全选操作\n * 只检查第一个元素是否被选择\n * 全选时:selectIds为所有元素的id\n * 取消全选时:selectIds为所有子元素的id\n */\nconst isSelectAll = (selectIds: string[]) => {\n const data = DkTable.table.data as TableRow[]\n // eslint-disable-next-line no-unreachable-loop\n for (const key in data) {\n return selectIds.includes(data[key][DkTable.table.pk!].toString())\n }\n return false\n}\n\n/*\n * 选择子项-递归\n */\nconst selectChildren = (children: TableRow[], type: boolean) => {\n // eslint-disable-next-line array-callback-return\n children.map((j: TableRow) => {\n toggleSelection(j, type)\n if (j.children) {\n selectChildren(j.children, type)\n }\n })\n}\n\n/*\n * 执行选择操作\n */\nconst toggleSelection = (row: TableRow, type: boolean) => {\n if (row) {\n nextTick(() => {\n TableRef.value?.toggleRowSelection(row, type)\n })\n }\n}\n\n/*\n * 记录选择的项\n */\nconst onSelectionChange = (selection: TableRow[]) => {\n DkTable.onTableAction('selection-change', selection)\n}\n\n/*\n * 设置折叠所有-递归\n */\nconst setUnFoldAll = (children: TableRow[], unfold: boolean) => {\n for (const key in children) {\n TableRef.value?.toggleRowExpansion(children[key], unfold)\n if (children[key].children) {\n setUnFoldAll(children[key].children!, unfold)\n }\n }\n}\n\n/*\n * 折叠所有\n */\nconst unFoldAll = (unfold: boolean) => {\n setUnFoldAll(DkTable.table.data!, unfold)\n}\n\nconst slotNames = computed(() => {\n const column = DkTable.table.column\n const slotNames = []\n for (let i = 0; i < column.length; i++) {\n if (column[i].slotName) {\n slotNames.push(column[i].slotName)\n }\n }\n return slotNames\n})\n\nonMounted(() => {\n // injectTablePrimaryMethods()\n})\n\ndefineExpose({\n DkTable,\n TableRef,\n FormRef,\n})\n</script>\n<style lang=\"scss\"></style>\n"],"names":["__MACROS_defineComponent","DkTableClass","slotNames"],"mappings":"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"}
@@ -101,6 +101,8 @@ class dkTable {
101
101
  return true;
102
102
  }
103
103
  getIndex = () => {
104
+ if (!this.runBefore("api", { name: "getIndex" }))
105
+ return;
104
106
  if (!this.runBefore("getIndex"))
105
107
  return;
106
108
  this.table.loading = true;
@@ -114,6 +116,8 @@ class dkTable {
114
116
  });
115
117
  };
116
118
  getTable = (cache = false) => {
119
+ if (!this.runBefore("api", { name: "getTable" }))
120
+ return;
117
121
  if (!this.runBefore("getTable"))
118
122
  return;
119
123
  this.table.columnLoading = true;
@@ -143,6 +147,8 @@ class dkTable {
143
147
  * 显示回收站
144
148
  */
145
149
  async showRecycle() {
150
+ if (!this.runBefore("api", { name: "getRecycleTable" }))
151
+ return;
146
152
  if (!this.runBefore("getRecycleTable"))
147
153
  return;
148
154
  this.recycleTable.showDialogLoading = true;
@@ -157,6 +163,8 @@ class dkTable {
157
163
  * 获取回收站列表
158
164
  */
159
165
  getRecycleIndex = () => {
166
+ if (!this.runBefore("api", { name: "getRecycleIndex" }))
167
+ return;
160
168
  if (!this.runBefore("getRecycleIndex"))
161
169
  return;
162
170
  this.recycleTable.loading = true;
@@ -172,7 +180,9 @@ class dkTable {
172
180
  * @param cache
173
181
  */
174
182
  getRecycleTable = (cache = false) => {
175
- if (!this.runBefore("getTable"))
183
+ if (!this.runBefore("api", { name: "getRecycleTable" }))
184
+ return;
185
+ if (!this.runBefore("getRecycleTable"))
176
186
  return;
177
187
  this.recycleTable.columnLoading = true;
178
188
  if (cache) {
@@ -282,6 +292,8 @@ class dkTable {
282
292
  return;
283
293
  if (Object.keys(data.row).length === 0) {
284
294
  }
295
+ if (!this.runBefore("api", { name: "fieldChange" }))
296
+ return;
285
297
  data.row.loading = true;
286
298
  this.api.postData("edit", {
287
299
  [this.table.pk]: data.row[this.table.pk],
@@ -318,6 +330,8 @@ class dkTable {
318
330
  };
319
331
  // 删除
320
332
  postDel = (ids) => {
333
+ if (!this.runBefore("api", { name: "postDel" }))
334
+ return;
321
335
  if (!this.runBefore("postDel", { ids }))
322
336
  return;
323
337
  this.api.del(ids).then((res) => {
@@ -390,6 +404,8 @@ class dkTable {
390
404
  } else {
391
405
  this.form.edit_id = 0;
392
406
  }
407
+ if (!this.runBefore("api", { name: "toggleForm" }))
408
+ return;
393
409
  this.api.form(this.form.edit_id).then((res) => {
394
410
  this.form.ref.setFormData(res.data);
395
411
  this.form.ref.show();