wangshaoping 3 months ago
parent
commit
09bfb25a33
  1. 6
      io.sc.platform.core.frontend/src/platform/components/grid/WGrid.vue
  2. 6
      io.sc.platform.core.frontend/src/platform/components/select/WGridSelect.vue
  3. 18
      io.sc.platform.core.frontend/src/platform/components/toolbar/WToolbar.vue

6
io.sc.platform.core.frontend/src/platform/components/grid/WGrid.vue

@ -1546,7 +1546,11 @@ const removeLocalData = (target) => {
result.forEach((item) => {
table.rows.splice(
table.rows.findIndex((v) => {
return v[props.primaryKey] === item[props.primaryKey] || v[rowKey_] === item[rowKey_];
if (!Tools.isEmpty(v[props.primaryKey]) && Tools.isEmpty(item[props.primaryKey])) {
return v[props.primaryKey] === item[props.primaryKey];
} else {
return v[rowKey_] === item[rowKey_];
}
}),
1,
);

6
io.sc.platform.core.frontend/src/platform/components/select/WGridSelect.vue

@ -312,13 +312,13 @@ const rowClick = (args) => {
watch(
() => modelValue.value,
(newVal, oldVal) => {
fieldMethodsClass.updateValue(newVal);
async (newVal, oldVal) => {
if (Tools.isEmpty(newVal)) {
fieldMethodsClass.clearObjectValue();
} else if (newVal !== oldVal && needFetchData.value) {
fetchData(newVal);
await fetchData(newVal);
}
fieldMethodsClass.updateValue(newVal);
},
);

18
io.sc.platform.core.frontend/src/platform/components/toolbar/WToolbar.vue

@ -452,7 +452,6 @@ const tickedComputed = computed(() => {
});
const buttonClick = async (button) => {
let beforeResult = true;
const context = {};
const args = {
selected: firstSelectedComputed.value,
@ -463,16 +462,29 @@ const buttonClick = async (button) => {
context: context,
selectedColName: props.grid.getSelectedCell()['colName'],
};
if (button.enableIf && !button.enableIf(args)) {
return;
}
let beforeResult = true;
if (button.beforeClick) {
beforeResult = await button.beforeClick(args);
}
if (beforeResult && button.click) {
await button.click({ ...args, _click: button._click });
let callAfterEditorOpen = true;
const clickProps = { ...args };
if (button._click) {
callAfterEditorOpen = false;
clickProps['_click'] = (_args: any) => {
button._click(_args || args);
callAfterEditorOpen = true;
};
}
await button.click(clickProps);
nextTick(async () => {
if (button.afterClick) {
await button.afterClick(args);
}
if (button.afterEditorOpen) {
if (button.afterEditorOpen && callAfterEditorOpen) {
button.afterEditorOpen(args);
}
});

Loading…
Cancel
Save