From 4f2d13e6de729a08bf96a391fdd21f1cc8f48453 Mon Sep 17 00:00:00 2001 From: wujingjing <gersonwu@qq.com> Date: 星期五, 20 九月 2024 13:03:28 +0800 Subject: [PATCH] 自动加注释 --- src/views/project/yw/lowCode/sqlAmis/edit/SqlAmisEdit.vue | 48 ++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 40 insertions(+), 8 deletions(-) diff --git a/src/views/project/yw/lowCode/sqlAmis/edit/SqlAmisEdit.vue b/src/views/project/yw/lowCode/sqlAmis/edit/SqlAmisEdit.vue index 973c4d4..08b1351 100644 --- a/src/views/project/yw/lowCode/sqlAmis/edit/SqlAmisEdit.vue +++ b/src/views/project/yw/lowCode/sqlAmis/edit/SqlAmisEdit.vue @@ -40,14 +40,14 @@ <el-button type="primary" @click="addArg">娣诲姞</el-button> </div> <el-table class="flex-auto" :data="args" border> - <el-table-column prop="name" label="鍚嶇О" show-overflow-tooltip> + <el-table-column prop="name" width="150" label="鍚嶇О" show-overflow-tooltip> <template #default="scope"> <el-input v-model="scope.row.name" @input="argsInput"></el-input> </template> </el-table-column> - <el-table-column prop="prompt" label="鎻愮ず璇�" show-overflow-tooltip> + <el-table-column prop="prompt" width="450" label="鎻愮ず璇�" show-overflow-tooltip> <template #default="scope"> - <el-input v-model="scope.row.prompt" @input="argsInput"></el-input> + <el-input type="textarea" :rows="2" v-model="scope.row.prompt" @input="argsInput"></el-input> </template> </el-table-column> <el-table-column prop="check" label="缂虹渷鍊�" show-overflow-tooltip> @@ -82,7 +82,6 @@ </el-select> </div> <codemirror - ref="sqlCodemirrorRef" class="overflow-auto" style="height: calc(100% - 36px)" v-model="currentDockConfig.sql" @@ -155,6 +154,39 @@ emit('backLastPage'); }; const currentRs = ref<AmisDockConfig>(null); + +const getWithTemplateDataCommentSql = (sql: string, data: any) => { + if (!Array.isArray(data)) { + return sql; + } + const first = data[0]; + if (!_.isObjectLike(first)) { + return sql; + } + const firstKeyList = Object.keys(first); + // 鍊间负瀵硅薄 + if (_.isObjectLike(first[firstKeyList[0]])) { + return sql; + } + + + + let comment = ''; + firstKeyList.map((key, index, array) => { + const value = JSON.stringify(first[key]); + comment += `-- "${key}": ${value}\n`; + }); + + const reg = new RegExp(`^\\s*(\\s*--\\s*".*"\\s*:.*\\n)+`) + // 宸茬粡瀛樺湪锛屼竴瀹氳鏇挎崲鎴愭渶鏂扮殑 + if (reg.test(sql)) { + const replaceStr = sql.replace(reg,comment); + return replaceStr; + } + + const result = comment+sql; + return result; +}; const dockRowChange = (row) => { currentRs.value = row; currentDockConfig.value = dockConfigList.value.find((item) => item.id === currentRs.value.recordId) ?? { @@ -163,6 +195,9 @@ sql: '', database: defaultSelectDatabase ?? databaseList.value[0]?.id ?? null, }; + const templateData = extraInfoMap.value.get(row.recordId).templateData; + + currentDockConfig.value.sql = getWithTemplateDataCommentSql(currentDockConfig.value.sql,templateData) }; const currentDockConfig = ref(null); /** @description 璺緞鍒嗛殧绗� */ @@ -444,10 +479,7 @@ updateSqlAndRs(); } }); -const sqlCodemirrorRef= useCompRef(Codemirror); -const beforeChange = (cm,change) => { - -}; + // watch(() => sqlCodemirrorRef.value, (codeMirrorRef) => { // codeMirrorRef. // }) -- Gitblit v1.9.3