|
|
@ -4,10 +4,11 @@ |
|
|
|
:title="dialog.title" |
|
|
|
v-bind="bindDialogComputed" |
|
|
|
:buttons="dialog.buttons" |
|
|
|
@hide=" |
|
|
|
@before-hide=" |
|
|
|
() => { |
|
|
|
saveLoading = false; |
|
|
|
tools.table.store.inlineEditStatus = Constant.EDIT_STATUS.NONE; |
|
|
|
dialogFormRef.resetValidation(); |
|
|
|
} |
|
|
|
" |
|
|
|
> |
|
|
@ -79,20 +80,22 @@ const dialog = { |
|
|
|
const data = dialogFormRef.value.getData(); |
|
|
|
const row = tools.dataFM.getRow(tools.table.rows, cellSelected.row[Constant.FIELD_NAMES.ROW_KEY], false); |
|
|
|
if (row) { |
|
|
|
row[cellSelected.colName] = data[cellSelected.colName]; |
|
|
|
// 判定是否需要往后端发送修改操作 |
|
|
|
if (!tools.props.localMode) { |
|
|
|
const data = GridTools.removeExtraFields(toRaw(row)); |
|
|
|
const url = getUrl(data[tools.props.primaryKey]); |
|
|
|
const oldData = GridTools.removeExtraFields(toRaw(row)); |
|
|
|
const newData = { ...oldData, ...data }; |
|
|
|
const url = getUrl(oldData[tools.props.primaryKey]); |
|
|
|
const callback = () => { |
|
|
|
saveLoading.value = false; |
|
|
|
updateLocalData(row, data, cellSelected); |
|
|
|
dialogRef.value.hide(); |
|
|
|
}; |
|
|
|
const errorCallback = () => { |
|
|
|
saveLoading.value = false; |
|
|
|
}; |
|
|
|
tools.reqApiFM.save('PUT', data, url, dialogFormRef.value, callback, errorCallback); |
|
|
|
tools.reqApiFM.save('PUT', newData, url, dialogFormRef.value, callback, errorCallback); |
|
|
|
} else { |
|
|
|
updateLocalData(row, data, cellSelected); |
|
|
|
dialogRef.value.hide(); |
|
|
|
} |
|
|
|
} |
|
|
@ -103,6 +106,10 @@ const dialog = { |
|
|
|
], |
|
|
|
}; |
|
|
|
|
|
|
|
const updateLocalData = (row, data, cellSelected) => { |
|
|
|
row[cellSelected.colName] = data[cellSelected.colName]; |
|
|
|
}; |
|
|
|
|
|
|
|
const getUrl = (primaryKey) => { |
|
|
|
if (!Tools.isEmpty(tools.table.url.editDataUrl)) { |
|
|
|
return tools.table.url.editDataUrl + '/' + primaryKey; |
|
|
|