woodao-pc-ui 0.0.61 → 0.0.62

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,6 +1,6 @@
1
1
  {
2
2
  "name": "woodao-pc-ui",
3
- "version": "0.0.61",
3
+ "version": "0.0.62",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "serve": "vue-cli-service serve",
@@ -161259,7 +161259,7 @@ function useEcharts(dom, theme) {
161259
161259
  return instance;
161260
161260
  }
161261
161261
  ;// ./package.json
161262
- var package_namespaceObject = {"rE":"0.0.61"};
161262
+ var package_namespaceObject = {"rE":"0.0.62"};
161263
161263
  ;// ./src/setting/index.ts
161264
161264
 
161265
161265
  const primaryColors = (/* unused pure expression or super */ null && (["#409eff", "#13C2C2", "#F5222D", "#722ED1", "#f7acbc", "#ef5b9c", "#bd6758", "#f47920", "#2e3a1f", "#b2d235", "#121a2a", "#6a6da9", "#867892", "#fcaf17", "#76becc", "#1b315e", "#b4532a", "#008792"]));
@@ -174137,9 +174137,9 @@ const BaseFormItem_exports_ = /*#__PURE__*/(0,exportHelper/* default */.A)(BaseF
174137
174137
  const BaseForm_exports_ = /*#__PURE__*/(0,exportHelper/* default */.A)(BaseFormvue_type_script_lang_ts, [['render',BaseFormvue_type_template_id_ad37d90c_scoped_true_ts_true_render],['__scopeId',"data-v-ad37d90c"]])
174138
174138
 
174139
174139
  /* harmony default export */ var BaseForm = (BaseForm_exports_);
174140
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/package/Grid/BaseGrid.vue?vue&type=template&id=2ecb6084&scoped=true
174140
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/package/Grid/BaseGrid.vue?vue&type=template&id=02a812c0&scoped=true
174141
174141
 
174142
- function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache, $props, $setup, $data, $options) {
174142
+ function BaseGridvue_type_template_id_02a812c0_scoped_true_render(_ctx, _cache, $props, $setup, $data, $options) {
174143
174143
  const _component_el_input = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveComponent)("el-input");
174144
174144
  const _component_el_date_picker = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveComponent)("el-date-picker");
174145
174145
  const _component_el_option = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveComponent)("el-option");
@@ -174297,7 +174297,7 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174297
174297
  };
174298
174298
  })]), 1040, ["onPageChange", "onCellClick", "onCheckboxChange", "onCurrentChange", "onCellMouseenter", "onCellMouseleave", "onCellDblclick"]);
174299
174299
  }
174300
- ;// ./src/package/Grid/BaseGrid.vue?vue&type=template&id=2ecb6084&scoped=true
174300
+ ;// ./src/package/Grid/BaseGrid.vue?vue&type=template&id=02a812c0&scoped=true
174301
174301
 
174302
174302
  ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/package/Grid/BaseGrid.vue?vue&type=script&lang=js
174303
174303
 
@@ -174331,6 +174331,14 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174331
174331
  enableSingleRowSelection: {
174332
174332
  type: Boolean,
174333
174333
  default: true
174334
+ },
174335
+ // 新增:表格模式控制
174336
+ // 'view' - 查看模式:点击行会取消其他行的勾选(单选效果)
174337
+ // 'edit' - 编辑模式:点击行不会取消其他行的勾选(多选效果)
174338
+ tableMode: {
174339
+ type: String,
174340
+ default: 'view',
174341
+ validator: value => ['view', 'edit'].includes(value)
174334
174342
  }
174335
174343
  },
174336
174344
  emits: ['page-change', 'cell-click', 'checkbox-change', 'current-change', 'cell-mouseenter', 'cell-mouseleave', 'cell-dblclick'],
@@ -174338,7 +174346,7 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174338
174346
  const xGrid = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(null);
174339
174347
  let lastClickedRow = null;
174340
174348
 
174341
- // 单元格点击事件:模拟点击 checkbox 的行为
174349
+ // 单元格点击事件:根据模式决定是否取消其他行勾选
174342
174350
  async function handleCellClick({
174343
174351
  row,
174344
174352
  rowIndex,
@@ -174374,13 +174382,21 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174374
174382
  }
174375
174383
  lastClickedRow = row;
174376
174384
 
174377
- // 点击行时:选中当前行,取消其他行的勾选(单选效果)
174378
- await $grid.clearCheckboxRow();
174379
- await $grid.clearCurrentRow();
174385
+ // 根据表格模式决定行为
174386
+ if (props.tableMode === 'view') {
174387
+ // 查看模式:点击行时选中当前行,取消其他行的勾选(单选效果)
174388
+ await $grid.clearCheckboxRow();
174389
+ await $grid.clearCurrentRow();
174380
174390
 
174381
- // 选中当前行
174382
- await $grid.setCheckboxRow(row, true);
174383
- await $grid.setCurrentRow(row);
174391
+ // 选中当前行
174392
+ await $grid.setCheckboxRow(row, true);
174393
+ await $grid.setCurrentRow(row);
174394
+ } else if (props.tableMode === 'edit') {
174395
+ // 编辑模式:点击行时切换当前行的勾选状态,不取消其他行的勾选(多选效果)
174396
+ const isChecked = await $grid.isCheckboxRowByRow(row);
174397
+ await $grid.setCheckboxRow(row, !isChecked);
174398
+ await $grid.setCurrentRow(row);
174399
+ }
174384
174400
  const rows = await $grid.getCheckboxRecords();
174385
174401
  // 过滤掉 undefined 和 null 值,避免 toString() 错误
174386
174402
  const validRows = rows ? rows.filter(row => row != null) : [];
@@ -174517,10 +174533,10 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174517
174533
  }));
174518
174534
  ;// ./src/package/Grid/BaseGrid.vue?vue&type=script&lang=js
174519
174535
 
174520
- ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-12.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/package/Grid/BaseGrid.vue?vue&type=style&index=0&id=2ecb6084&scoped=true&lang=css
174536
+ ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-12.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/package/Grid/BaseGrid.vue?vue&type=style&index=0&id=02a812c0&scoped=true&lang=css
174521
174537
  // extracted by mini-css-extract-plugin
174522
174538
 
174523
- ;// ./src/package/Grid/BaseGrid.vue?vue&type=style&index=0&id=2ecb6084&scoped=true&lang=css
174539
+ ;// ./src/package/Grid/BaseGrid.vue?vue&type=style&index=0&id=02a812c0&scoped=true&lang=css
174524
174540
 
174525
174541
  ;// ./src/package/Grid/BaseGrid.vue
174526
174542
 
@@ -174530,7 +174546,7 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174530
174546
  ;
174531
174547
 
174532
174548
 
174533
- const BaseGrid_exports_ = /*#__PURE__*/(0,exportHelper/* default */.A)(BaseGridvue_type_script_lang_js, [['render',BaseGridvue_type_template_id_2ecb6084_scoped_true_render],['__scopeId',"data-v-2ecb6084"]])
174549
+ const BaseGrid_exports_ = /*#__PURE__*/(0,exportHelper/* default */.A)(BaseGridvue_type_script_lang_js, [['render',BaseGridvue_type_template_id_02a812c0_scoped_true_render],['__scopeId',"data-v-02a812c0"]])
174534
174550
 
174535
174551
  /* harmony default export */ var BaseGrid = (BaseGrid_exports_);
174536
174552
  ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/package/Grid/GoVxeGrid.vue?vue&type=template&id=5ae8129d&scoped=true
@@ -161259,7 +161259,7 @@ function useEcharts(dom, theme) {
161259
161259
  return instance;
161260
161260
  }
161261
161261
  ;// ./package.json
161262
- var package_namespaceObject = {"rE":"0.0.61"};
161262
+ var package_namespaceObject = {"rE":"0.0.62"};
161263
161263
  ;// ./src/setting/index.ts
161264
161264
 
161265
161265
  const primaryColors = (/* unused pure expression or super */ null && (["#409eff", "#13C2C2", "#F5222D", "#722ED1", "#f7acbc", "#ef5b9c", "#bd6758", "#f47920", "#2e3a1f", "#b2d235", "#121a2a", "#6a6da9", "#867892", "#fcaf17", "#76becc", "#1b315e", "#b4532a", "#008792"]));
@@ -174137,9 +174137,9 @@ const BaseFormItem_exports_ = /*#__PURE__*/(0,exportHelper/* default */.A)(BaseF
174137
174137
  const BaseForm_exports_ = /*#__PURE__*/(0,exportHelper/* default */.A)(BaseFormvue_type_script_lang_ts, [['render',BaseFormvue_type_template_id_ad37d90c_scoped_true_ts_true_render],['__scopeId',"data-v-ad37d90c"]])
174138
174138
 
174139
174139
  /* harmony default export */ var BaseForm = (BaseForm_exports_);
174140
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-84.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/package/Grid/BaseGrid.vue?vue&type=template&id=2ecb6084&scoped=true
174140
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-84.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/package/Grid/BaseGrid.vue?vue&type=template&id=02a812c0&scoped=true
174141
174141
 
174142
- function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache, $props, $setup, $data, $options) {
174142
+ function BaseGridvue_type_template_id_02a812c0_scoped_true_render(_ctx, _cache, $props, $setup, $data, $options) {
174143
174143
  const _component_el_input = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveComponent)("el-input");
174144
174144
  const _component_el_date_picker = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveComponent)("el-date-picker");
174145
174145
  const _component_el_option = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveComponent)("el-option");
@@ -174297,7 +174297,7 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174297
174297
  };
174298
174298
  })]), 1040, ["onPageChange", "onCellClick", "onCheckboxChange", "onCurrentChange", "onCellMouseenter", "onCellMouseleave", "onCellDblclick"]);
174299
174299
  }
174300
- ;// ./src/package/Grid/BaseGrid.vue?vue&type=template&id=2ecb6084&scoped=true
174300
+ ;// ./src/package/Grid/BaseGrid.vue?vue&type=template&id=02a812c0&scoped=true
174301
174301
 
174302
174302
  ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-84.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/package/Grid/BaseGrid.vue?vue&type=script&lang=js
174303
174303
 
@@ -174331,6 +174331,14 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174331
174331
  enableSingleRowSelection: {
174332
174332
  type: Boolean,
174333
174333
  default: true
174334
+ },
174335
+ // 新增:表格模式控制
174336
+ // 'view' - 查看模式:点击行会取消其他行的勾选(单选效果)
174337
+ // 'edit' - 编辑模式:点击行不会取消其他行的勾选(多选效果)
174338
+ tableMode: {
174339
+ type: String,
174340
+ default: 'view',
174341
+ validator: value => ['view', 'edit'].includes(value)
174334
174342
  }
174335
174343
  },
174336
174344
  emits: ['page-change', 'cell-click', 'checkbox-change', 'current-change', 'cell-mouseenter', 'cell-mouseleave', 'cell-dblclick'],
@@ -174338,7 +174346,7 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174338
174346
  const xGrid = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(null);
174339
174347
  let lastClickedRow = null;
174340
174348
 
174341
- // 单元格点击事件:模拟点击 checkbox 的行为
174349
+ // 单元格点击事件:根据模式决定是否取消其他行勾选
174342
174350
  async function handleCellClick({
174343
174351
  row,
174344
174352
  rowIndex,
@@ -174374,13 +174382,21 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174374
174382
  }
174375
174383
  lastClickedRow = row;
174376
174384
 
174377
- // 点击行时:选中当前行,取消其他行的勾选(单选效果)
174378
- await $grid.clearCheckboxRow();
174379
- await $grid.clearCurrentRow();
174385
+ // 根据表格模式决定行为
174386
+ if (props.tableMode === 'view') {
174387
+ // 查看模式:点击行时选中当前行,取消其他行的勾选(单选效果)
174388
+ await $grid.clearCheckboxRow();
174389
+ await $grid.clearCurrentRow();
174380
174390
 
174381
- // 选中当前行
174382
- await $grid.setCheckboxRow(row, true);
174383
- await $grid.setCurrentRow(row);
174391
+ // 选中当前行
174392
+ await $grid.setCheckboxRow(row, true);
174393
+ await $grid.setCurrentRow(row);
174394
+ } else if (props.tableMode === 'edit') {
174395
+ // 编辑模式:点击行时切换当前行的勾选状态,不取消其他行的勾选(多选效果)
174396
+ const isChecked = await $grid.isCheckboxRowByRow(row);
174397
+ await $grid.setCheckboxRow(row, !isChecked);
174398
+ await $grid.setCurrentRow(row);
174399
+ }
174384
174400
  const rows = await $grid.getCheckboxRecords();
174385
174401
  // 过滤掉 undefined 和 null 值,避免 toString() 错误
174386
174402
  const validRows = rows ? rows.filter(row => row != null) : [];
@@ -174517,10 +174533,10 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174517
174533
  }));
174518
174534
  ;// ./src/package/Grid/BaseGrid.vue?vue&type=script&lang=js
174519
174535
 
174520
- ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-56.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-56.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-56.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/package/Grid/BaseGrid.vue?vue&type=style&index=0&id=2ecb6084&scoped=true&lang=css
174536
+ ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-56.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-56.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-56.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/package/Grid/BaseGrid.vue?vue&type=style&index=0&id=02a812c0&scoped=true&lang=css
174521
174537
  // extracted by mini-css-extract-plugin
174522
174538
 
174523
- ;// ./src/package/Grid/BaseGrid.vue?vue&type=style&index=0&id=2ecb6084&scoped=true&lang=css
174539
+ ;// ./src/package/Grid/BaseGrid.vue?vue&type=style&index=0&id=02a812c0&scoped=true&lang=css
174524
174540
 
174525
174541
  ;// ./src/package/Grid/BaseGrid.vue
174526
174542
 
@@ -174530,7 +174546,7 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174530
174546
  ;
174531
174547
 
174532
174548
 
174533
- const BaseGrid_exports_ = /*#__PURE__*/(0,exportHelper/* default */.A)(BaseGridvue_type_script_lang_js, [['render',BaseGridvue_type_template_id_2ecb6084_scoped_true_render],['__scopeId',"data-v-2ecb6084"]])
174549
+ const BaseGrid_exports_ = /*#__PURE__*/(0,exportHelper/* default */.A)(BaseGridvue_type_script_lang_js, [['render',BaseGridvue_type_template_id_02a812c0_scoped_true_render],['__scopeId',"data-v-02a812c0"]])
174534
174550
 
174535
174551
  /* harmony default export */ var BaseGrid = (BaseGrid_exports_);
174536
174552
  ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-84.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/package/Grid/GoVxeGrid.vue?vue&type=template&id=5ae8129d&scoped=true
@@ -161259,7 +161259,7 @@ function useEcharts(dom, theme) {
161259
161259
  return instance;
161260
161260
  }
161261
161261
  ;// ./package.json
161262
- var package_namespaceObject = {"rE":"0.0.61"};
161262
+ var package_namespaceObject = {"rE":"0.0.62"};
161263
161263
  ;// ./src/setting/index.ts
161264
161264
 
161265
161265
  const primaryColors = (/* unused pure expression or super */ null && (["#409eff", "#13C2C2", "#F5222D", "#722ED1", "#f7acbc", "#ef5b9c", "#bd6758", "#f47920", "#2e3a1f", "#b2d235", "#121a2a", "#6a6da9", "#867892", "#fcaf17", "#76becc", "#1b315e", "#b4532a", "#008792"]));
@@ -174137,9 +174137,9 @@ const BaseFormItem_exports_ = /*#__PURE__*/(0,exportHelper/* default */.A)(BaseF
174137
174137
  const BaseForm_exports_ = /*#__PURE__*/(0,exportHelper/* default */.A)(BaseFormvue_type_script_lang_ts, [['render',BaseFormvue_type_template_id_ad37d90c_scoped_true_ts_true_render],['__scopeId',"data-v-ad37d90c"]])
174138
174138
 
174139
174139
  /* harmony default export */ var BaseForm = (BaseForm_exports_);
174140
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-128.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/package/Grid/BaseGrid.vue?vue&type=template&id=2ecb6084&scoped=true
174140
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-128.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/package/Grid/BaseGrid.vue?vue&type=template&id=02a812c0&scoped=true
174141
174141
 
174142
- function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache, $props, $setup, $data, $options) {
174142
+ function BaseGridvue_type_template_id_02a812c0_scoped_true_render(_ctx, _cache, $props, $setup, $data, $options) {
174143
174143
  const _component_el_input = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveComponent)("el-input");
174144
174144
  const _component_el_date_picker = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveComponent)("el-date-picker");
174145
174145
  const _component_el_option = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveComponent)("el-option");
@@ -174297,7 +174297,7 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174297
174297
  };
174298
174298
  })]), 1040, ["onPageChange", "onCellClick", "onCheckboxChange", "onCurrentChange", "onCellMouseenter", "onCellMouseleave", "onCellDblclick"]);
174299
174299
  }
174300
- ;// ./src/package/Grid/BaseGrid.vue?vue&type=template&id=2ecb6084&scoped=true
174300
+ ;// ./src/package/Grid/BaseGrid.vue?vue&type=template&id=02a812c0&scoped=true
174301
174301
 
174302
174302
  ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-128.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/package/Grid/BaseGrid.vue?vue&type=script&lang=js
174303
174303
 
@@ -174331,6 +174331,14 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174331
174331
  enableSingleRowSelection: {
174332
174332
  type: Boolean,
174333
174333
  default: true
174334
+ },
174335
+ // 新增:表格模式控制
174336
+ // 'view' - 查看模式:点击行会取消其他行的勾选(单选效果)
174337
+ // 'edit' - 编辑模式:点击行不会取消其他行的勾选(多选效果)
174338
+ tableMode: {
174339
+ type: String,
174340
+ default: 'view',
174341
+ validator: value => ['view', 'edit'].includes(value)
174334
174342
  }
174335
174343
  },
174336
174344
  emits: ['page-change', 'cell-click', 'checkbox-change', 'current-change', 'cell-mouseenter', 'cell-mouseleave', 'cell-dblclick'],
@@ -174338,7 +174346,7 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174338
174346
  const xGrid = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(null);
174339
174347
  let lastClickedRow = null;
174340
174348
 
174341
- // 单元格点击事件:模拟点击 checkbox 的行为
174349
+ // 单元格点击事件:根据模式决定是否取消其他行勾选
174342
174350
  async function handleCellClick({
174343
174351
  row,
174344
174352
  rowIndex,
@@ -174374,13 +174382,21 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174374
174382
  }
174375
174383
  lastClickedRow = row;
174376
174384
 
174377
- // 点击行时:选中当前行,取消其他行的勾选(单选效果)
174378
- await $grid.clearCheckboxRow();
174379
- await $grid.clearCurrentRow();
174385
+ // 根据表格模式决定行为
174386
+ if (props.tableMode === 'view') {
174387
+ // 查看模式:点击行时选中当前行,取消其他行的勾选(单选效果)
174388
+ await $grid.clearCheckboxRow();
174389
+ await $grid.clearCurrentRow();
174380
174390
 
174381
- // 选中当前行
174382
- await $grid.setCheckboxRow(row, true);
174383
- await $grid.setCurrentRow(row);
174391
+ // 选中当前行
174392
+ await $grid.setCheckboxRow(row, true);
174393
+ await $grid.setCurrentRow(row);
174394
+ } else if (props.tableMode === 'edit') {
174395
+ // 编辑模式:点击行时切换当前行的勾选状态,不取消其他行的勾选(多选效果)
174396
+ const isChecked = await $grid.isCheckboxRowByRow(row);
174397
+ await $grid.setCheckboxRow(row, !isChecked);
174398
+ await $grid.setCurrentRow(row);
174399
+ }
174384
174400
  const rows = await $grid.getCheckboxRecords();
174385
174401
  // 过滤掉 undefined 和 null 值,避免 toString() 错误
174386
174402
  const validRows = rows ? rows.filter(row => row != null) : [];
@@ -174517,10 +174533,10 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174517
174533
  }));
174518
174534
  ;// ./src/package/Grid/BaseGrid.vue?vue&type=script&lang=js
174519
174535
 
174520
- ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-100.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-100.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-100.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/package/Grid/BaseGrid.vue?vue&type=style&index=0&id=2ecb6084&scoped=true&lang=css
174536
+ ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-100.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-100.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-100.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/package/Grid/BaseGrid.vue?vue&type=style&index=0&id=02a812c0&scoped=true&lang=css
174521
174537
  // extracted by mini-css-extract-plugin
174522
174538
 
174523
- ;// ./src/package/Grid/BaseGrid.vue?vue&type=style&index=0&id=2ecb6084&scoped=true&lang=css
174539
+ ;// ./src/package/Grid/BaseGrid.vue?vue&type=style&index=0&id=02a812c0&scoped=true&lang=css
174524
174540
 
174525
174541
  ;// ./src/package/Grid/BaseGrid.vue
174526
174542
 
@@ -174530,7 +174546,7 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174530
174546
  ;
174531
174547
 
174532
174548
 
174533
- const BaseGrid_exports_ = /*#__PURE__*/(0,exportHelper/* default */.A)(BaseGridvue_type_script_lang_js, [['render',BaseGridvue_type_template_id_2ecb6084_scoped_true_render],['__scopeId',"data-v-2ecb6084"]])
174549
+ const BaseGrid_exports_ = /*#__PURE__*/(0,exportHelper/* default */.A)(BaseGridvue_type_script_lang_js, [['render',BaseGridvue_type_template_id_02a812c0_scoped_true_render],['__scopeId',"data-v-02a812c0"]])
174534
174550
 
174535
174551
  /* harmony default export */ var BaseGrid = (BaseGrid_exports_);
174536
174552
  ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-128.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/package/Grid/GoVxeGrid.vue?vue&type=template&id=5ae8129d&scoped=true