Browse Source

修复修改主键未添加到数据中的问题

main
likunming 6 months ago
parent
commit
9680c951b0
  1. 14
      io.sc.platform.core.frontend/src/platform/components/grid/GridEditor.vue

14
io.sc.platform.core.frontend/src/platform/components/grid/GridEditor.vue

@ -54,7 +54,7 @@ const save = async () => {
if (validate) {
let dialogFormData = dialogFormRef.value.getData();
const selected = props.grid.getSelectedRow();
if (formStatus === 'edit' && selected[props.grid.props.primaryKey]) {
if (formStatus === 'edit' && selected[props.grid.props.primaryKey] && Tools.isEmpty(dialogFormData[props.grid.props.primaryKey])) {
dialogFormData[props.grid.props.primaryKey] = selected[props.grid.props.primaryKey];
}
let submitFlag = true;
@ -98,7 +98,7 @@ const save = async () => {
method: getMethod(formStatus),
headers: { 'content-type': 'application/json;charset=utf-8;' },
data: dialogFormData,
url: getUrl(formStatus, selected),
url: getUrl(formStatus, dialogFormData),
};
dialog.dialogButtons[0].loading = false;
noErrorAxios(requestParams)
@ -189,7 +189,9 @@ const addData = (rowData) => {
};
const updateData = (rowData) => {
const selected = props.grid.getSelectedRow();
rowData[props.grid.props.primaryKey] = selected[props.grid.props.primaryKey];
if (Tools.isEmpty(rowData[props.grid.props.primaryKey])) {
rowData[props.grid.props.primaryKey] = selected[props.grid.props.primaryKey];
}
rowData[props.grid.props.selectedField] = true;
if (selected['children']) {
rowData['children'] = selected['children'];
@ -205,7 +207,7 @@ const getMethod = (formStatus: string) => {
}
};
const getUrl = (formStatus: string, selected: any) => {
const getUrl = (formStatus: string, formData: any) => {
if (formStatus === 'add' || formStatus === 'clone' || formStatus === 'addTop' || formStatus === 'addChild') {
if (!Tools.isEmpty(props.url.addDataUrl)) {
return props.url.addDataUrl;
@ -214,9 +216,9 @@ const getUrl = (formStatus: string, selected: any) => {
}
} else {
if (!Tools.isEmpty(props.url.editDataUrl)) {
return props.url.editDataUrl + '/' + selected[props.grid.props.primaryKey];
return props.url.editDataUrl + '/' + formData[props.grid.props.primaryKey];
} else {
return props.url.dataUrl + '/' + selected[props.grid.props.primaryKey];
return props.url.dataUrl + '/' + formData[props.grid.props.primaryKey];
}
}
};

Loading…
Cancel
Save