woodao-pc-ui 0.0.61 → 0.0.63

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.63",
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.63"};
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=5c99049c&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_5c99049c_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");
@@ -174166,8 +174166,9 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174166
174166
  class: "custom-input my-input",
174167
174167
  modelValue: row[column.field],
174168
174168
  "onUpdate:modelValue": $event => row[column.field] = $event,
174169
- placeholder: ""
174170
- }, null, 8, ["modelValue", "onUpdate:modelValue"])]),
174169
+ placeholder: "",
174170
+ onBlur: $event => _ctx.handleInputBlur(row, column.field, $event)
174171
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "onBlur"])]),
174171
174172
  number_edit: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(({
174172
174173
  row,
174173
174174
  column
@@ -174176,8 +174177,9 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174176
174177
  class: "custom-input my-input",
174177
174178
  modelValue: row[column.field],
174178
174179
  "onUpdate:modelValue": $event => row[column.field] = $event,
174179
- placeholder: ""
174180
- }, null, 8, ["modelValue", "onUpdate:modelValue"])]),
174180
+ placeholder: "",
174181
+ onBlur: $event => _ctx.handleInputBlur(row, column.field, $event)
174182
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "onBlur"])]),
174181
174183
  date_edit: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(({
174182
174184
  row,
174183
174185
  column
@@ -174193,8 +174195,9 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174193
174195
  "onUpdate:modelValue": $event => row[column.field] = $event,
174194
174196
  type: "date",
174195
174197
  "range-separator": "-",
174196
- placeholder: ''
174197
- }, null, 8, ["modelValue", "onUpdate:modelValue"])]),
174198
+ placeholder: '',
174199
+ onBlur: $event => _ctx.handleInputBlur(row, column.field, $event)
174200
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "onBlur"])]),
174198
174201
  month_edit: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(({
174199
174202
  row,
174200
174203
  column
@@ -174210,14 +174213,15 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174210
174213
  "onUpdate:modelValue": $event => row[column.field] = $event,
174211
174214
  type: "month",
174212
174215
  "range-separator": "-",
174213
- placeholder: ''
174214
- }, null, 8, ["modelValue", "onUpdate:modelValue"])]),
174216
+ placeholder: '',
174217
+ onBlur: $event => _ctx.handleInputBlur(row, column.field, $event)
174218
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "onBlur"])]),
174215
174219
  year_edit: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(({
174216
174220
  row,
174217
174221
  column
174218
174222
  }) => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createVNode)(_component_el_date_picker, {
174219
- "value-format": "YYYY-MM",
174220
- format: "YYYY-MM",
174223
+ "value-format": "YYYY",
174224
+ format: "YYYY",
174221
174225
  style: {
174222
174226
  "width": "130px"
174223
174227
  },
@@ -174227,8 +174231,9 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174227
174231
  "onUpdate:modelValue": $event => row[column.field] = $event,
174228
174232
  type: "year",
174229
174233
  "range-separator": "-",
174230
- placeholder: ''
174231
- }, null, 8, ["modelValue", "onUpdate:modelValue"])]),
174234
+ placeholder: '',
174235
+ onBlur: $event => _ctx.handleInputBlur(row, column.field, $event)
174236
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "onBlur"])]),
174232
174237
  selectOfSysObjectDef_edit: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(({
174233
174238
  row,
174234
174239
  column
@@ -174240,6 +174245,7 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174240
174245
  filterable: true,
174241
174246
  clearable: true,
174242
174247
  disabled: false,
174248
+ onChange: $event => _ctx.handleSelectChange(row, column.field, $event),
174243
174249
  style: {
174244
174250
  "width": "100%"
174245
174251
  },
@@ -174253,7 +174259,7 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174253
174259
  }, null, 8, ["value", "label"]);
174254
174260
  }), 128))]),
174255
174261
  _: 2
174256
- }, 1032, ["modelValue", "onUpdate:modelValue"])]),
174262
+ }, 1032, ["modelValue", "onUpdate:modelValue", "onChange"])]),
174257
174263
  sysCodingDrop_edit: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(({
174258
174264
  row,
174259
174265
  column
@@ -174263,8 +174269,9 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174263
174269
  filterable: row.filterable === true,
174264
174270
  bindValue: row[column.field],
174265
174271
  bindLabel: column.title,
174266
- isVxeMode: true
174267
- }, null, 8, ["sysCode", "item", "filterable", "bindValue", "bindLabel"])]),
174272
+ isVxeMode: true,
174273
+ onSelectChange: $event => _ctx.handleSelectChange(row, column.field, $event)
174274
+ }, null, 8, ["sysCode", "item", "filterable", "bindValue", "bindLabel", "onSelectChange"])]),
174268
174275
  selectByParentCode_edit: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(({
174269
174276
  row,
174270
174277
  column
@@ -174275,8 +174282,9 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174275
174282
  filterable: _ctx.item.filterable === true,
174276
174283
  bindValue: row[column.field],
174277
174284
  bindLabel: column.title,
174278
- isVxeMode: true
174279
- }, null, 8, ["dictCode", "keyCodeOfParent", "item", "filterable", "bindValue", "bindLabel"])]),
174285
+ isVxeMode: true,
174286
+ onSelectChange: $event => _ctx.handleSelectChange(row, column.field, $event)
174287
+ }, null, 8, ["dictCode", "keyCodeOfParent", "item", "filterable", "bindValue", "bindLabel", "onSelectChange"])]),
174280
174288
  selPeople_edit: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(({
174281
174289
  row,
174282
174290
  column
@@ -174297,7 +174305,7 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174297
174305
  };
174298
174306
  })]), 1040, ["onPageChange", "onCellClick", "onCheckboxChange", "onCurrentChange", "onCellMouseenter", "onCellMouseleave", "onCellDblclick"]);
174299
174307
  }
174300
- ;// ./src/package/Grid/BaseGrid.vue?vue&type=template&id=2ecb6084&scoped=true
174308
+ ;// ./src/package/Grid/BaseGrid.vue?vue&type=template&id=5c99049c&scoped=true
174301
174309
 
174302
174310
  ;// ./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
174311
 
@@ -174331,14 +174339,24 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174331
174339
  enableSingleRowSelection: {
174332
174340
  type: Boolean,
174333
174341
  default: true
174342
+ },
174343
+ // 新增:表格模式控制
174344
+ // 'view' - 查看模式:点击行会取消其他行的勾选(单选效果)
174345
+ // 'edit' - 编辑模式:点击行不会取消其他行的勾选(多选效果)
174346
+ tableMode: {
174347
+ type: String,
174348
+ default: 'view',
174349
+ validator: value => ['view', 'edit'].includes(value)
174334
174350
  }
174335
174351
  },
174336
- emits: ['page-change', 'cell-click', 'checkbox-change', 'current-change', 'cell-mouseenter', 'cell-mouseleave', 'cell-dblclick'],
174352
+ emits: ['page-change', 'cell-click', 'checkbox-change', 'current-change', 'cell-mouseenter', 'cell-mouseleave', 'cell-dblclick', 'batch-edit'],
174337
174353
  setup(props, context) {
174338
174354
  const xGrid = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(null);
174339
174355
  let lastClickedRow = null;
174356
+ // 存储初始值,用于比较是否有变化
174357
+ const initialValues = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(new Map());
174340
174358
 
174341
- // 单元格点击事件:模拟点击 checkbox 的行为
174359
+ // 单元格点击事件:根据模式决定是否取消其他行勾选
174342
174360
  async function handleCellClick({
174343
174361
  row,
174344
174362
  rowIndex,
@@ -174374,13 +174392,23 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174374
174392
  }
174375
174393
  lastClickedRow = row;
174376
174394
 
174377
- // 点击行时:选中当前行,取消其他行的勾选(单选效果)
174378
- await $grid.clearCheckboxRow();
174379
- await $grid.clearCurrentRow();
174395
+ // 根据表格模式决定行为
174396
+ if (props.tableMode === 'view') {
174397
+ // 查看模式:点击行时选中当前行,取消其他行的勾选(单选效果)
174398
+ await $grid.clearCheckboxRow();
174399
+ await $grid.clearCurrentRow();
174380
174400
 
174381
- // 选中当前行
174382
- await $grid.setCheckboxRow(row, true);
174383
- await $grid.setCurrentRow(row);
174401
+ // 选中当前行
174402
+ await $grid.setCheckboxRow(row, true);
174403
+ await $grid.setCurrentRow(row);
174404
+ } else if (props.tableMode === 'edit') {
174405
+ // 编辑模式:点击行时切换当前行的勾选状态,不取消其他行的勾选(多选效果)
174406
+ // 修复:使用正确的方法检查行是否被勾选
174407
+ const checkboxRecords = await $grid.getCheckboxRecords();
174408
+ const isChecked = checkboxRecords.some(record => record && record.id === row.id);
174409
+ await $grid.setCheckboxRow(row, !isChecked);
174410
+ await $grid.setCurrentRow(row);
174411
+ }
174384
174412
  const rows = await $grid.getCheckboxRecords();
174385
174413
  // 过滤掉 undefined 和 null 值,避免 toString() 错误
174386
174414
  const validRows = rows ? rows.filter(row => row != null) : [];
@@ -174421,6 +174449,90 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174421
174449
  await $grid.setCurrentRow(lastClickedRow);
174422
174450
  }
174423
174451
  }
174452
+
174453
+ // 处理输入框失去焦点事件
174454
+ function handleInputBlur(row, field, event) {
174455
+ // 只在编辑模式下处理批量编辑
174456
+ if (props.tableMode !== 'edit') {
174457
+ return;
174458
+ }
174459
+ const newValue = event.target ? event.target.value : event;
174460
+ const rowId = row.id;
174461
+ const fieldKey = `${rowId}_${field}`;
174462
+
174463
+ // 获取初始值
174464
+ const initialValue = initialValues.value.get(fieldKey);
174465
+
174466
+ // 检查值是否真的发生了变化
174467
+ if (initialValue !== undefined && initialValue === newValue) {
174468
+ // 值没有变化,不执行批量编辑
174469
+ return;
174470
+ }
174471
+
174472
+ // 获取所有选中的行
174473
+ const selectedRows = xGrid.value?.getCheckboxRecords() || [];
174474
+
174475
+ // 如果没有选中行或只有当前行,不执行批量编辑
174476
+ if (selectedRows.length <= 1) {
174477
+ return;
174478
+ }
174479
+
174480
+ // 检查当前行是否在选中行中
174481
+ const isCurrentRowSelected = selectedRows.some(selectedRow => selectedRow.id === rowId);
174482
+ if (!isCurrentRowSelected) {
174483
+ return;
174484
+ }
174485
+
174486
+ // 执行批量编辑
174487
+ context.emit('batch-edit', {
174488
+ currentRow: row,
174489
+ field: field,
174490
+ newValue: newValue,
174491
+ selectedRows: selectedRows
174492
+ });
174493
+ }
174494
+
174495
+ // 处理选择器变化事件
174496
+ function handleSelectChange(row, field, value) {
174497
+ // 只在编辑模式下处理批量编辑
174498
+ if (props.tableMode !== 'edit') {
174499
+ return;
174500
+ }
174501
+ const rowId = row.id;
174502
+
174503
+ // 获取所有选中的行
174504
+ const selectedRows = xGrid.value?.getCheckboxRecords() || [];
174505
+
174506
+ // 如果没有选中行或只有当前行,不执行批量编辑
174507
+ if (selectedRows.length <= 1) {
174508
+ return;
174509
+ }
174510
+
174511
+ // 检查当前行是否在选中行中
174512
+ const isCurrentRowSelected = selectedRows.some(selectedRow => selectedRow.id === rowId);
174513
+ if (!isCurrentRowSelected) {
174514
+ return;
174515
+ }
174516
+
174517
+ // 执行批量编辑
174518
+ context.emit('batch-edit', {
174519
+ currentRow: row,
174520
+ field: field,
174521
+ newValue: value,
174522
+ selectedRows: selectedRows
174523
+ });
174524
+ }
174525
+
174526
+ // 监听单元格进入编辑状态,记录初始值
174527
+ function handleCellEditStart({
174528
+ row,
174529
+ column
174530
+ }) {
174531
+ if (props.tableMode === 'edit') {
174532
+ const fieldKey = `${row.id}_${column.field}`;
174533
+ initialValues.value.set(fieldKey, row[column.field]);
174534
+ }
174535
+ }
174424
174536
  function handlePageChange(...args) {
174425
174537
  context.emit('page-change', ...args);
174426
174538
  }
@@ -174464,32 +174576,11 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174464
174576
  let arr = JSON.parse(storageUtils/* default */.A.getSessionItem("selSysObjectData"));
174465
174577
  if (arr && arr.length > 0) {
174466
174578
  selSysObjectData.value = arr;
174467
- console_browserify_default().log(selSysObjectData.value, 'selSysObjectData11111');
174579
+ console.log(selSysObjectData.value, 'selSysObjectData11111');
174468
174580
  return false;
174469
174581
  }
174470
- /* let params = {
174471
- };
174472
- let page = false;
174473
- let queryCommand = new QueryCommand({
174474
- url: SysConfigUtils.niftyUrl + "/pub/sys_object_def/list_for_select",
174475
- });
174476
- //执行查询操作
174477
- queryCommand.executeQuery({
174478
- params,
174479
- successFun: (backData) => {
174480
- backData.forEach((item, index) => {
174481
- item.label = item.objDes
174482
- item.value = item.objName
174483
- })
174484
- selSysObjectData.value = backData
174485
- StorageUtils.addSessionItem("selSysObjectData", JSON.stringify(backData));
174486
- },
174487
- errorFun: (backData) => {
174488
- },
174489
- });*/
174490
174582
  };
174491
174583
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onMounted)(() => {
174492
-
174493
174584
  //编辑模式下 获取数据
174494
174585
  // if (){
174495
174586
  // getSysListForSelect()
@@ -174509,6 +174600,9 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174509
174600
  handleMouseEnter,
174510
174601
  handleMouseLeave,
174511
174602
  handleDBLClick,
174603
+ handleInputBlur,
174604
+ handleSelectChange,
174605
+ handleCellEditStart,
174512
174606
  getCheckboxRecords,
174513
174607
  getSelectedRows,
174514
174608
  getSelectedRow
@@ -174517,10 +174611,10 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174517
174611
  }));
174518
174612
  ;// ./src/package/Grid/BaseGrid.vue?vue&type=script&lang=js
174519
174613
 
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
174614
+ ;// ./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=5c99049c&scoped=true&lang=css
174521
174615
  // extracted by mini-css-extract-plugin
174522
174616
 
174523
- ;// ./src/package/Grid/BaseGrid.vue?vue&type=style&index=0&id=2ecb6084&scoped=true&lang=css
174617
+ ;// ./src/package/Grid/BaseGrid.vue?vue&type=style&index=0&id=5c99049c&scoped=true&lang=css
174524
174618
 
174525
174619
  ;// ./src/package/Grid/BaseGrid.vue
174526
174620
 
@@ -174530,7 +174624,7 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174530
174624
  ;
174531
174625
 
174532
174626
 
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"]])
174627
+ const BaseGrid_exports_ = /*#__PURE__*/(0,exportHelper/* default */.A)(BaseGridvue_type_script_lang_js, [['render',BaseGridvue_type_template_id_5c99049c_scoped_true_render],['__scopeId',"data-v-5c99049c"]])
174534
174628
 
174535
174629
  /* harmony default export */ var BaseGrid = (BaseGrid_exports_);
174536
174630
  ;// ./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.63"};
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=5c99049c&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_5c99049c_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");
@@ -174166,8 +174166,9 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174166
174166
  class: "custom-input my-input",
174167
174167
  modelValue: row[column.field],
174168
174168
  "onUpdate:modelValue": $event => row[column.field] = $event,
174169
- placeholder: ""
174170
- }, null, 8, ["modelValue", "onUpdate:modelValue"])]),
174169
+ placeholder: "",
174170
+ onBlur: $event => _ctx.handleInputBlur(row, column.field, $event)
174171
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "onBlur"])]),
174171
174172
  number_edit: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(({
174172
174173
  row,
174173
174174
  column
@@ -174176,8 +174177,9 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174176
174177
  class: "custom-input my-input",
174177
174178
  modelValue: row[column.field],
174178
174179
  "onUpdate:modelValue": $event => row[column.field] = $event,
174179
- placeholder: ""
174180
- }, null, 8, ["modelValue", "onUpdate:modelValue"])]),
174180
+ placeholder: "",
174181
+ onBlur: $event => _ctx.handleInputBlur(row, column.field, $event)
174182
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "onBlur"])]),
174181
174183
  date_edit: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(({
174182
174184
  row,
174183
174185
  column
@@ -174193,8 +174195,9 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174193
174195
  "onUpdate:modelValue": $event => row[column.field] = $event,
174194
174196
  type: "date",
174195
174197
  "range-separator": "-",
174196
- placeholder: ''
174197
- }, null, 8, ["modelValue", "onUpdate:modelValue"])]),
174198
+ placeholder: '',
174199
+ onBlur: $event => _ctx.handleInputBlur(row, column.field, $event)
174200
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "onBlur"])]),
174198
174201
  month_edit: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(({
174199
174202
  row,
174200
174203
  column
@@ -174210,14 +174213,15 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174210
174213
  "onUpdate:modelValue": $event => row[column.field] = $event,
174211
174214
  type: "month",
174212
174215
  "range-separator": "-",
174213
- placeholder: ''
174214
- }, null, 8, ["modelValue", "onUpdate:modelValue"])]),
174216
+ placeholder: '',
174217
+ onBlur: $event => _ctx.handleInputBlur(row, column.field, $event)
174218
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "onBlur"])]),
174215
174219
  year_edit: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(({
174216
174220
  row,
174217
174221
  column
174218
174222
  }) => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createVNode)(_component_el_date_picker, {
174219
- "value-format": "YYYY-MM",
174220
- format: "YYYY-MM",
174223
+ "value-format": "YYYY",
174224
+ format: "YYYY",
174221
174225
  style: {
174222
174226
  "width": "130px"
174223
174227
  },
@@ -174227,8 +174231,9 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174227
174231
  "onUpdate:modelValue": $event => row[column.field] = $event,
174228
174232
  type: "year",
174229
174233
  "range-separator": "-",
174230
- placeholder: ''
174231
- }, null, 8, ["modelValue", "onUpdate:modelValue"])]),
174234
+ placeholder: '',
174235
+ onBlur: $event => _ctx.handleInputBlur(row, column.field, $event)
174236
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "onBlur"])]),
174232
174237
  selectOfSysObjectDef_edit: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(({
174233
174238
  row,
174234
174239
  column
@@ -174240,6 +174245,7 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174240
174245
  filterable: true,
174241
174246
  clearable: true,
174242
174247
  disabled: false,
174248
+ onChange: $event => _ctx.handleSelectChange(row, column.field, $event),
174243
174249
  style: {
174244
174250
  "width": "100%"
174245
174251
  },
@@ -174253,7 +174259,7 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174253
174259
  }, null, 8, ["value", "label"]);
174254
174260
  }), 128))]),
174255
174261
  _: 2
174256
- }, 1032, ["modelValue", "onUpdate:modelValue"])]),
174262
+ }, 1032, ["modelValue", "onUpdate:modelValue", "onChange"])]),
174257
174263
  sysCodingDrop_edit: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(({
174258
174264
  row,
174259
174265
  column
@@ -174263,8 +174269,9 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174263
174269
  filterable: row.filterable === true,
174264
174270
  bindValue: row[column.field],
174265
174271
  bindLabel: column.title,
174266
- isVxeMode: true
174267
- }, null, 8, ["sysCode", "item", "filterable", "bindValue", "bindLabel"])]),
174272
+ isVxeMode: true,
174273
+ onSelectChange: $event => _ctx.handleSelectChange(row, column.field, $event)
174274
+ }, null, 8, ["sysCode", "item", "filterable", "bindValue", "bindLabel", "onSelectChange"])]),
174268
174275
  selectByParentCode_edit: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(({
174269
174276
  row,
174270
174277
  column
@@ -174275,8 +174282,9 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174275
174282
  filterable: _ctx.item.filterable === true,
174276
174283
  bindValue: row[column.field],
174277
174284
  bindLabel: column.title,
174278
- isVxeMode: true
174279
- }, null, 8, ["dictCode", "keyCodeOfParent", "item", "filterable", "bindValue", "bindLabel"])]),
174285
+ isVxeMode: true,
174286
+ onSelectChange: $event => _ctx.handleSelectChange(row, column.field, $event)
174287
+ }, null, 8, ["dictCode", "keyCodeOfParent", "item", "filterable", "bindValue", "bindLabel", "onSelectChange"])]),
174280
174288
  selPeople_edit: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(({
174281
174289
  row,
174282
174290
  column
@@ -174297,7 +174305,7 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174297
174305
  };
174298
174306
  })]), 1040, ["onPageChange", "onCellClick", "onCheckboxChange", "onCurrentChange", "onCellMouseenter", "onCellMouseleave", "onCellDblclick"]);
174299
174307
  }
174300
- ;// ./src/package/Grid/BaseGrid.vue?vue&type=template&id=2ecb6084&scoped=true
174308
+ ;// ./src/package/Grid/BaseGrid.vue?vue&type=template&id=5c99049c&scoped=true
174301
174309
 
174302
174310
  ;// ./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
174311
 
@@ -174331,14 +174339,24 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174331
174339
  enableSingleRowSelection: {
174332
174340
  type: Boolean,
174333
174341
  default: true
174342
+ },
174343
+ // 新增:表格模式控制
174344
+ // 'view' - 查看模式:点击行会取消其他行的勾选(单选效果)
174345
+ // 'edit' - 编辑模式:点击行不会取消其他行的勾选(多选效果)
174346
+ tableMode: {
174347
+ type: String,
174348
+ default: 'view',
174349
+ validator: value => ['view', 'edit'].includes(value)
174334
174350
  }
174335
174351
  },
174336
- emits: ['page-change', 'cell-click', 'checkbox-change', 'current-change', 'cell-mouseenter', 'cell-mouseleave', 'cell-dblclick'],
174352
+ emits: ['page-change', 'cell-click', 'checkbox-change', 'current-change', 'cell-mouseenter', 'cell-mouseleave', 'cell-dblclick', 'batch-edit'],
174337
174353
  setup(props, context) {
174338
174354
  const xGrid = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(null);
174339
174355
  let lastClickedRow = null;
174356
+ // 存储初始值,用于比较是否有变化
174357
+ const initialValues = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(new Map());
174340
174358
 
174341
- // 单元格点击事件:模拟点击 checkbox 的行为
174359
+ // 单元格点击事件:根据模式决定是否取消其他行勾选
174342
174360
  async function handleCellClick({
174343
174361
  row,
174344
174362
  rowIndex,
@@ -174374,13 +174392,23 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174374
174392
  }
174375
174393
  lastClickedRow = row;
174376
174394
 
174377
- // 点击行时:选中当前行,取消其他行的勾选(单选效果)
174378
- await $grid.clearCheckboxRow();
174379
- await $grid.clearCurrentRow();
174395
+ // 根据表格模式决定行为
174396
+ if (props.tableMode === 'view') {
174397
+ // 查看模式:点击行时选中当前行,取消其他行的勾选(单选效果)
174398
+ await $grid.clearCheckboxRow();
174399
+ await $grid.clearCurrentRow();
174380
174400
 
174381
- // 选中当前行
174382
- await $grid.setCheckboxRow(row, true);
174383
- await $grid.setCurrentRow(row);
174401
+ // 选中当前行
174402
+ await $grid.setCheckboxRow(row, true);
174403
+ await $grid.setCurrentRow(row);
174404
+ } else if (props.tableMode === 'edit') {
174405
+ // 编辑模式:点击行时切换当前行的勾选状态,不取消其他行的勾选(多选效果)
174406
+ // 修复:使用正确的方法检查行是否被勾选
174407
+ const checkboxRecords = await $grid.getCheckboxRecords();
174408
+ const isChecked = checkboxRecords.some(record => record && record.id === row.id);
174409
+ await $grid.setCheckboxRow(row, !isChecked);
174410
+ await $grid.setCurrentRow(row);
174411
+ }
174384
174412
  const rows = await $grid.getCheckboxRecords();
174385
174413
  // 过滤掉 undefined 和 null 值,避免 toString() 错误
174386
174414
  const validRows = rows ? rows.filter(row => row != null) : [];
@@ -174421,6 +174449,90 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174421
174449
  await $grid.setCurrentRow(lastClickedRow);
174422
174450
  }
174423
174451
  }
174452
+
174453
+ // 处理输入框失去焦点事件
174454
+ function handleInputBlur(row, field, event) {
174455
+ // 只在编辑模式下处理批量编辑
174456
+ if (props.tableMode !== 'edit') {
174457
+ return;
174458
+ }
174459
+ const newValue = event.target ? event.target.value : event;
174460
+ const rowId = row.id;
174461
+ const fieldKey = `${rowId}_${field}`;
174462
+
174463
+ // 获取初始值
174464
+ const initialValue = initialValues.value.get(fieldKey);
174465
+
174466
+ // 检查值是否真的发生了变化
174467
+ if (initialValue !== undefined && initialValue === newValue) {
174468
+ // 值没有变化,不执行批量编辑
174469
+ return;
174470
+ }
174471
+
174472
+ // 获取所有选中的行
174473
+ const selectedRows = xGrid.value?.getCheckboxRecords() || [];
174474
+
174475
+ // 如果没有选中行或只有当前行,不执行批量编辑
174476
+ if (selectedRows.length <= 1) {
174477
+ return;
174478
+ }
174479
+
174480
+ // 检查当前行是否在选中行中
174481
+ const isCurrentRowSelected = selectedRows.some(selectedRow => selectedRow.id === rowId);
174482
+ if (!isCurrentRowSelected) {
174483
+ return;
174484
+ }
174485
+
174486
+ // 执行批量编辑
174487
+ context.emit('batch-edit', {
174488
+ currentRow: row,
174489
+ field: field,
174490
+ newValue: newValue,
174491
+ selectedRows: selectedRows
174492
+ });
174493
+ }
174494
+
174495
+ // 处理选择器变化事件
174496
+ function handleSelectChange(row, field, value) {
174497
+ // 只在编辑模式下处理批量编辑
174498
+ if (props.tableMode !== 'edit') {
174499
+ return;
174500
+ }
174501
+ const rowId = row.id;
174502
+
174503
+ // 获取所有选中的行
174504
+ const selectedRows = xGrid.value?.getCheckboxRecords() || [];
174505
+
174506
+ // 如果没有选中行或只有当前行,不执行批量编辑
174507
+ if (selectedRows.length <= 1) {
174508
+ return;
174509
+ }
174510
+
174511
+ // 检查当前行是否在选中行中
174512
+ const isCurrentRowSelected = selectedRows.some(selectedRow => selectedRow.id === rowId);
174513
+ if (!isCurrentRowSelected) {
174514
+ return;
174515
+ }
174516
+
174517
+ // 执行批量编辑
174518
+ context.emit('batch-edit', {
174519
+ currentRow: row,
174520
+ field: field,
174521
+ newValue: value,
174522
+ selectedRows: selectedRows
174523
+ });
174524
+ }
174525
+
174526
+ // 监听单元格进入编辑状态,记录初始值
174527
+ function handleCellEditStart({
174528
+ row,
174529
+ column
174530
+ }) {
174531
+ if (props.tableMode === 'edit') {
174532
+ const fieldKey = `${row.id}_${column.field}`;
174533
+ initialValues.value.set(fieldKey, row[column.field]);
174534
+ }
174535
+ }
174424
174536
  function handlePageChange(...args) {
174425
174537
  context.emit('page-change', ...args);
174426
174538
  }
@@ -174464,32 +174576,11 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174464
174576
  let arr = JSON.parse(storageUtils/* default */.A.getSessionItem("selSysObjectData"));
174465
174577
  if (arr && arr.length > 0) {
174466
174578
  selSysObjectData.value = arr;
174467
- console_browserify_default().log(selSysObjectData.value, 'selSysObjectData11111');
174579
+ console.log(selSysObjectData.value, 'selSysObjectData11111');
174468
174580
  return false;
174469
174581
  }
174470
- /* let params = {
174471
- };
174472
- let page = false;
174473
- let queryCommand = new QueryCommand({
174474
- url: SysConfigUtils.niftyUrl + "/pub/sys_object_def/list_for_select",
174475
- });
174476
- //执行查询操作
174477
- queryCommand.executeQuery({
174478
- params,
174479
- successFun: (backData) => {
174480
- backData.forEach((item, index) => {
174481
- item.label = item.objDes
174482
- item.value = item.objName
174483
- })
174484
- selSysObjectData.value = backData
174485
- StorageUtils.addSessionItem("selSysObjectData", JSON.stringify(backData));
174486
- },
174487
- errorFun: (backData) => {
174488
- },
174489
- });*/
174490
174582
  };
174491
174583
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onMounted)(() => {
174492
-
174493
174584
  //编辑模式下 获取数据
174494
174585
  // if (){
174495
174586
  // getSysListForSelect()
@@ -174509,6 +174600,9 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174509
174600
  handleMouseEnter,
174510
174601
  handleMouseLeave,
174511
174602
  handleDBLClick,
174603
+ handleInputBlur,
174604
+ handleSelectChange,
174605
+ handleCellEditStart,
174512
174606
  getCheckboxRecords,
174513
174607
  getSelectedRows,
174514
174608
  getSelectedRow
@@ -174517,10 +174611,10 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174517
174611
  }));
174518
174612
  ;// ./src/package/Grid/BaseGrid.vue?vue&type=script&lang=js
174519
174613
 
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
174614
+ ;// ./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=5c99049c&scoped=true&lang=css
174521
174615
  // extracted by mini-css-extract-plugin
174522
174616
 
174523
- ;// ./src/package/Grid/BaseGrid.vue?vue&type=style&index=0&id=2ecb6084&scoped=true&lang=css
174617
+ ;// ./src/package/Grid/BaseGrid.vue?vue&type=style&index=0&id=5c99049c&scoped=true&lang=css
174524
174618
 
174525
174619
  ;// ./src/package/Grid/BaseGrid.vue
174526
174620
 
@@ -174530,7 +174624,7 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174530
174624
  ;
174531
174625
 
174532
174626
 
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"]])
174627
+ const BaseGrid_exports_ = /*#__PURE__*/(0,exportHelper/* default */.A)(BaseGridvue_type_script_lang_js, [['render',BaseGridvue_type_template_id_5c99049c_scoped_true_render],['__scopeId',"data-v-5c99049c"]])
174534
174628
 
174535
174629
  /* harmony default export */ var BaseGrid = (BaseGrid_exports_);
174536
174630
  ;// ./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.63"};
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=5c99049c&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_5c99049c_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");
@@ -174166,8 +174166,9 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174166
174166
  class: "custom-input my-input",
174167
174167
  modelValue: row[column.field],
174168
174168
  "onUpdate:modelValue": $event => row[column.field] = $event,
174169
- placeholder: ""
174170
- }, null, 8, ["modelValue", "onUpdate:modelValue"])]),
174169
+ placeholder: "",
174170
+ onBlur: $event => _ctx.handleInputBlur(row, column.field, $event)
174171
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "onBlur"])]),
174171
174172
  number_edit: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(({
174172
174173
  row,
174173
174174
  column
@@ -174176,8 +174177,9 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174176
174177
  class: "custom-input my-input",
174177
174178
  modelValue: row[column.field],
174178
174179
  "onUpdate:modelValue": $event => row[column.field] = $event,
174179
- placeholder: ""
174180
- }, null, 8, ["modelValue", "onUpdate:modelValue"])]),
174180
+ placeholder: "",
174181
+ onBlur: $event => _ctx.handleInputBlur(row, column.field, $event)
174182
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "onBlur"])]),
174181
174183
  date_edit: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(({
174182
174184
  row,
174183
174185
  column
@@ -174193,8 +174195,9 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174193
174195
  "onUpdate:modelValue": $event => row[column.field] = $event,
174194
174196
  type: "date",
174195
174197
  "range-separator": "-",
174196
- placeholder: ''
174197
- }, null, 8, ["modelValue", "onUpdate:modelValue"])]),
174198
+ placeholder: '',
174199
+ onBlur: $event => _ctx.handleInputBlur(row, column.field, $event)
174200
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "onBlur"])]),
174198
174201
  month_edit: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(({
174199
174202
  row,
174200
174203
  column
@@ -174210,14 +174213,15 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174210
174213
  "onUpdate:modelValue": $event => row[column.field] = $event,
174211
174214
  type: "month",
174212
174215
  "range-separator": "-",
174213
- placeholder: ''
174214
- }, null, 8, ["modelValue", "onUpdate:modelValue"])]),
174216
+ placeholder: '',
174217
+ onBlur: $event => _ctx.handleInputBlur(row, column.field, $event)
174218
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "onBlur"])]),
174215
174219
  year_edit: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(({
174216
174220
  row,
174217
174221
  column
174218
174222
  }) => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createVNode)(_component_el_date_picker, {
174219
- "value-format": "YYYY-MM",
174220
- format: "YYYY-MM",
174223
+ "value-format": "YYYY",
174224
+ format: "YYYY",
174221
174225
  style: {
174222
174226
  "width": "130px"
174223
174227
  },
@@ -174227,8 +174231,9 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174227
174231
  "onUpdate:modelValue": $event => row[column.field] = $event,
174228
174232
  type: "year",
174229
174233
  "range-separator": "-",
174230
- placeholder: ''
174231
- }, null, 8, ["modelValue", "onUpdate:modelValue"])]),
174234
+ placeholder: '',
174235
+ onBlur: $event => _ctx.handleInputBlur(row, column.field, $event)
174236
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "onBlur"])]),
174232
174237
  selectOfSysObjectDef_edit: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(({
174233
174238
  row,
174234
174239
  column
@@ -174240,6 +174245,7 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174240
174245
  filterable: true,
174241
174246
  clearable: true,
174242
174247
  disabled: false,
174248
+ onChange: $event => _ctx.handleSelectChange(row, column.field, $event),
174243
174249
  style: {
174244
174250
  "width": "100%"
174245
174251
  },
@@ -174253,7 +174259,7 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174253
174259
  }, null, 8, ["value", "label"]);
174254
174260
  }), 128))]),
174255
174261
  _: 2
174256
- }, 1032, ["modelValue", "onUpdate:modelValue"])]),
174262
+ }, 1032, ["modelValue", "onUpdate:modelValue", "onChange"])]),
174257
174263
  sysCodingDrop_edit: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(({
174258
174264
  row,
174259
174265
  column
@@ -174263,8 +174269,9 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174263
174269
  filterable: row.filterable === true,
174264
174270
  bindValue: row[column.field],
174265
174271
  bindLabel: column.title,
174266
- isVxeMode: true
174267
- }, null, 8, ["sysCode", "item", "filterable", "bindValue", "bindLabel"])]),
174272
+ isVxeMode: true,
174273
+ onSelectChange: $event => _ctx.handleSelectChange(row, column.field, $event)
174274
+ }, null, 8, ["sysCode", "item", "filterable", "bindValue", "bindLabel", "onSelectChange"])]),
174268
174275
  selectByParentCode_edit: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(({
174269
174276
  row,
174270
174277
  column
@@ -174275,8 +174282,9 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174275
174282
  filterable: _ctx.item.filterable === true,
174276
174283
  bindValue: row[column.field],
174277
174284
  bindLabel: column.title,
174278
- isVxeMode: true
174279
- }, null, 8, ["dictCode", "keyCodeOfParent", "item", "filterable", "bindValue", "bindLabel"])]),
174285
+ isVxeMode: true,
174286
+ onSelectChange: $event => _ctx.handleSelectChange(row, column.field, $event)
174287
+ }, null, 8, ["dictCode", "keyCodeOfParent", "item", "filterable", "bindValue", "bindLabel", "onSelectChange"])]),
174280
174288
  selPeople_edit: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(({
174281
174289
  row,
174282
174290
  column
@@ -174297,7 +174305,7 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174297
174305
  };
174298
174306
  })]), 1040, ["onPageChange", "onCellClick", "onCheckboxChange", "onCurrentChange", "onCellMouseenter", "onCellMouseleave", "onCellDblclick"]);
174299
174307
  }
174300
- ;// ./src/package/Grid/BaseGrid.vue?vue&type=template&id=2ecb6084&scoped=true
174308
+ ;// ./src/package/Grid/BaseGrid.vue?vue&type=template&id=5c99049c&scoped=true
174301
174309
 
174302
174310
  ;// ./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
174311
 
@@ -174331,14 +174339,24 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174331
174339
  enableSingleRowSelection: {
174332
174340
  type: Boolean,
174333
174341
  default: true
174342
+ },
174343
+ // 新增:表格模式控制
174344
+ // 'view' - 查看模式:点击行会取消其他行的勾选(单选效果)
174345
+ // 'edit' - 编辑模式:点击行不会取消其他行的勾选(多选效果)
174346
+ tableMode: {
174347
+ type: String,
174348
+ default: 'view',
174349
+ validator: value => ['view', 'edit'].includes(value)
174334
174350
  }
174335
174351
  },
174336
- emits: ['page-change', 'cell-click', 'checkbox-change', 'current-change', 'cell-mouseenter', 'cell-mouseleave', 'cell-dblclick'],
174352
+ emits: ['page-change', 'cell-click', 'checkbox-change', 'current-change', 'cell-mouseenter', 'cell-mouseleave', 'cell-dblclick', 'batch-edit'],
174337
174353
  setup(props, context) {
174338
174354
  const xGrid = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(null);
174339
174355
  let lastClickedRow = null;
174356
+ // 存储初始值,用于比较是否有变化
174357
+ const initialValues = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(new Map());
174340
174358
 
174341
- // 单元格点击事件:模拟点击 checkbox 的行为
174359
+ // 单元格点击事件:根据模式决定是否取消其他行勾选
174342
174360
  async function handleCellClick({
174343
174361
  row,
174344
174362
  rowIndex,
@@ -174374,13 +174392,23 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174374
174392
  }
174375
174393
  lastClickedRow = row;
174376
174394
 
174377
- // 点击行时:选中当前行,取消其他行的勾选(单选效果)
174378
- await $grid.clearCheckboxRow();
174379
- await $grid.clearCurrentRow();
174395
+ // 根据表格模式决定行为
174396
+ if (props.tableMode === 'view') {
174397
+ // 查看模式:点击行时选中当前行,取消其他行的勾选(单选效果)
174398
+ await $grid.clearCheckboxRow();
174399
+ await $grid.clearCurrentRow();
174380
174400
 
174381
- // 选中当前行
174382
- await $grid.setCheckboxRow(row, true);
174383
- await $grid.setCurrentRow(row);
174401
+ // 选中当前行
174402
+ await $grid.setCheckboxRow(row, true);
174403
+ await $grid.setCurrentRow(row);
174404
+ } else if (props.tableMode === 'edit') {
174405
+ // 编辑模式:点击行时切换当前行的勾选状态,不取消其他行的勾选(多选效果)
174406
+ // 修复:使用正确的方法检查行是否被勾选
174407
+ const checkboxRecords = await $grid.getCheckboxRecords();
174408
+ const isChecked = checkboxRecords.some(record => record && record.id === row.id);
174409
+ await $grid.setCheckboxRow(row, !isChecked);
174410
+ await $grid.setCurrentRow(row);
174411
+ }
174384
174412
  const rows = await $grid.getCheckboxRecords();
174385
174413
  // 过滤掉 undefined 和 null 值,避免 toString() 错误
174386
174414
  const validRows = rows ? rows.filter(row => row != null) : [];
@@ -174421,6 +174449,90 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174421
174449
  await $grid.setCurrentRow(lastClickedRow);
174422
174450
  }
174423
174451
  }
174452
+
174453
+ // 处理输入框失去焦点事件
174454
+ function handleInputBlur(row, field, event) {
174455
+ // 只在编辑模式下处理批量编辑
174456
+ if (props.tableMode !== 'edit') {
174457
+ return;
174458
+ }
174459
+ const newValue = event.target ? event.target.value : event;
174460
+ const rowId = row.id;
174461
+ const fieldKey = `${rowId}_${field}`;
174462
+
174463
+ // 获取初始值
174464
+ const initialValue = initialValues.value.get(fieldKey);
174465
+
174466
+ // 检查值是否真的发生了变化
174467
+ if (initialValue !== undefined && initialValue === newValue) {
174468
+ // 值没有变化,不执行批量编辑
174469
+ return;
174470
+ }
174471
+
174472
+ // 获取所有选中的行
174473
+ const selectedRows = xGrid.value?.getCheckboxRecords() || [];
174474
+
174475
+ // 如果没有选中行或只有当前行,不执行批量编辑
174476
+ if (selectedRows.length <= 1) {
174477
+ return;
174478
+ }
174479
+
174480
+ // 检查当前行是否在选中行中
174481
+ const isCurrentRowSelected = selectedRows.some(selectedRow => selectedRow.id === rowId);
174482
+ if (!isCurrentRowSelected) {
174483
+ return;
174484
+ }
174485
+
174486
+ // 执行批量编辑
174487
+ context.emit('batch-edit', {
174488
+ currentRow: row,
174489
+ field: field,
174490
+ newValue: newValue,
174491
+ selectedRows: selectedRows
174492
+ });
174493
+ }
174494
+
174495
+ // 处理选择器变化事件
174496
+ function handleSelectChange(row, field, value) {
174497
+ // 只在编辑模式下处理批量编辑
174498
+ if (props.tableMode !== 'edit') {
174499
+ return;
174500
+ }
174501
+ const rowId = row.id;
174502
+
174503
+ // 获取所有选中的行
174504
+ const selectedRows = xGrid.value?.getCheckboxRecords() || [];
174505
+
174506
+ // 如果没有选中行或只有当前行,不执行批量编辑
174507
+ if (selectedRows.length <= 1) {
174508
+ return;
174509
+ }
174510
+
174511
+ // 检查当前行是否在选中行中
174512
+ const isCurrentRowSelected = selectedRows.some(selectedRow => selectedRow.id === rowId);
174513
+ if (!isCurrentRowSelected) {
174514
+ return;
174515
+ }
174516
+
174517
+ // 执行批量编辑
174518
+ context.emit('batch-edit', {
174519
+ currentRow: row,
174520
+ field: field,
174521
+ newValue: value,
174522
+ selectedRows: selectedRows
174523
+ });
174524
+ }
174525
+
174526
+ // 监听单元格进入编辑状态,记录初始值
174527
+ function handleCellEditStart({
174528
+ row,
174529
+ column
174530
+ }) {
174531
+ if (props.tableMode === 'edit') {
174532
+ const fieldKey = `${row.id}_${column.field}`;
174533
+ initialValues.value.set(fieldKey, row[column.field]);
174534
+ }
174535
+ }
174424
174536
  function handlePageChange(...args) {
174425
174537
  context.emit('page-change', ...args);
174426
174538
  }
@@ -174464,32 +174576,11 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174464
174576
  let arr = JSON.parse(storageUtils/* default */.A.getSessionItem("selSysObjectData"));
174465
174577
  if (arr && arr.length > 0) {
174466
174578
  selSysObjectData.value = arr;
174467
- console_browserify_default().log(selSysObjectData.value, 'selSysObjectData11111');
174579
+ console.log(selSysObjectData.value, 'selSysObjectData11111');
174468
174580
  return false;
174469
174581
  }
174470
- /* let params = {
174471
- };
174472
- let page = false;
174473
- let queryCommand = new QueryCommand({
174474
- url: SysConfigUtils.niftyUrl + "/pub/sys_object_def/list_for_select",
174475
- });
174476
- //执行查询操作
174477
- queryCommand.executeQuery({
174478
- params,
174479
- successFun: (backData) => {
174480
- backData.forEach((item, index) => {
174481
- item.label = item.objDes
174482
- item.value = item.objName
174483
- })
174484
- selSysObjectData.value = backData
174485
- StorageUtils.addSessionItem("selSysObjectData", JSON.stringify(backData));
174486
- },
174487
- errorFun: (backData) => {
174488
- },
174489
- });*/
174490
174582
  };
174491
174583
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onMounted)(() => {
174492
-
174493
174584
  //编辑模式下 获取数据
174494
174585
  // if (){
174495
174586
  // getSysListForSelect()
@@ -174509,6 +174600,9 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174509
174600
  handleMouseEnter,
174510
174601
  handleMouseLeave,
174511
174602
  handleDBLClick,
174603
+ handleInputBlur,
174604
+ handleSelectChange,
174605
+ handleCellEditStart,
174512
174606
  getCheckboxRecords,
174513
174607
  getSelectedRows,
174514
174608
  getSelectedRow
@@ -174517,10 +174611,10 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174517
174611
  }));
174518
174612
  ;// ./src/package/Grid/BaseGrid.vue?vue&type=script&lang=js
174519
174613
 
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
174614
+ ;// ./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=5c99049c&scoped=true&lang=css
174521
174615
  // extracted by mini-css-extract-plugin
174522
174616
 
174523
- ;// ./src/package/Grid/BaseGrid.vue?vue&type=style&index=0&id=2ecb6084&scoped=true&lang=css
174617
+ ;// ./src/package/Grid/BaseGrid.vue?vue&type=style&index=0&id=5c99049c&scoped=true&lang=css
174524
174618
 
174525
174619
  ;// ./src/package/Grid/BaseGrid.vue
174526
174620
 
@@ -174530,7 +174624,7 @@ function BaseGridvue_type_template_id_2ecb6084_scoped_true_render(_ctx, _cache,
174530
174624
  ;
174531
174625
 
174532
174626
 
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"]])
174627
+ const BaseGrid_exports_ = /*#__PURE__*/(0,exportHelper/* default */.A)(BaseGridvue_type_script_lang_js, [['render',BaseGridvue_type_template_id_5c99049c_scoped_true_render],['__scopeId',"data-v-5c99049c"]])
174534
174628
 
174535
174629
  /* harmony default export */ var BaseGrid = (BaseGrid_exports_);
174536
174630
  ;// ./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