diff --git a/mayfly_go_web/src/views/ops/db/SqlExec.vue b/mayfly_go_web/src/views/ops/db/SqlExec.vue
index 2f67310c..a8e10897 100644
--- a/mayfly_go_web/src/views/ops/db/SqlExec.vue
+++ b/mayfly_go_web/src/views/ops/db/SqlExec.vue
@@ -126,6 +126,11 @@
提交
+
+
+ 取消
+
-
+
提交
+
+
+ 取消
+
{
state.queryTab.sql = sql;
state.queryTab.loading = true;
const colAndData: any = await runSql(sql, execRemark);
- state.queryTab.updatedFields = [];
state.queryTab.execRes.data = colAndData.res;
state.queryTab.execRes.tableColumn = colAndData.colNames;
state.queryTab.loading = false;
+ cancelUpdateFields()
} catch (e: any) {
state.queryTab.loading = false;
}
@@ -1196,9 +1207,12 @@ const onRefresh = async (tableName: string) => {
// 查询条件置空
dataTab.condition = '';
dataTab.pageNum = 1;
- setDataTabDatas(dataTab);
+ setDataTabDatas(dataTab).then(()=>{
+ cancelUpdateFields()
+ });
};
+
/**
* 数据tab修改页数
*/
@@ -1476,14 +1490,14 @@ const cellClick = (row: any, column: any, cell: any) => {
if (state.activeName === 'Query'){
currentUpdatedFields = state.queryTab.updatedFields
} else {
- currentUpdatedFields = state.updatedFields;
+ currentUpdatedFields = state.updatedFields[state.nowTableName];
}
// 主键
const primaryKey = await getColumn(state.nowTableName);
const primaryKeyValue = row[primaryKey.columnName];
// 更新字段列信息
const updateColumn = await getColumn(state.nowTableName, property);
- const newField = {div, fieldName: column.rawColumnKey, fieldType: updateColumn.columnType, oldValue: text, newValue: input.value} as FieldsMeta;
+ const newField = {div, fieldName: column.rawColumnKey, row, fieldType: updateColumn.columnType, oldValue: text, newValue: input.value} as FieldsMeta;
// 被修改的字段
const primaryKeyFields = currentUpdatedFields.filter((meta)=>meta.primaryKey === primaryKeyValue)
@@ -1540,7 +1554,7 @@ const cellClick = (row: any, column: any, cell: any) => {
if (state.activeName === 'Query'){
state.queryTab.updatedFields = currentUpdatedFields
} else {
- state.updatedFields = currentUpdatedFields
+ state.updatedFields[state.nowTableName] = currentUpdatedFields
}
}
});
@@ -1554,7 +1568,7 @@ const submitUpdateFields = () =>{
isQuery = true;
currentUpdatedFields = state.queryTab.updatedFields
} else {
- currentUpdatedFields = state.updatedFields
+ currentUpdatedFields = state.updatedFields[state.nowTableName]
}
if(currentUpdatedFields.length <= 0){
return;
@@ -1584,13 +1598,33 @@ const submitUpdateFields = () =>{
state.queryTab.updatedFields = []
doRunSql(state.queryTab.sql)
}else{
- state.updatedFields = []
+ state.updatedFields[state.nowTableName] = []
onRefresh(state.nowTableName)
}
});
}
+const cancelUpdateFields = () => {
+ if (state.activeName === 'Query'){
+ state.queryTab.updatedFields.forEach(a=>{
+ a.fields.forEach(b=>{
+ b.div.classList.remove('update_field_active')
+ b.row[b.fieldName] = b.oldValue
+ })
+ })
+ state.queryTab.updatedFields = []
+ } else {
+ state.updatedFields[state.nowTableName]?.forEach(a=>{
+ a.fields.forEach(b=>{
+ b.div.classList.remove('update_field_active')
+ b.row[b.fieldName] = b.oldValue
+ })
+ })
+ state.updatedFields[state.nowTableName] = []
+ }
+}
+
/**
* 根据字段列名获取字段列信息。
* 若字段列名为空,则返回主键列,若无主键列返回第一个字段列信息(用于获取主键等)