From ea0ea5275f6ea45b99eb83bca24b8923c8e13848 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BB=95=E5=B5=A9?= <17854119262@163.com> Date: Sat, 6 Jul 2024 11:06:09 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E5=BB=BA=E8=A1=A8-?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E5=90=8D=E4=BF=AE=E6=94=B9=E5=90=8E=EF=BC=8C?= =?UTF-8?q?=E7=BC=96=E8=BE=91=E6=97=B6=E8=BF=98=E6=98=AF=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E7=94=9F=E6=88=90=E7=9A=84=E5=AD=97=E6=AE=B5=E5=90=8D=E7=9A=84?= =?UTF-8?q?bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../formdesign/modal/AutomaticModal.vue | 102 ++++++++++++++---- 1 file changed, 82 insertions(+), 20 deletions(-) diff --git a/src/views/demo/onlineform/formdesign/modal/AutomaticModal.vue b/src/views/demo/onlineform/formdesign/modal/AutomaticModal.vue index a3bef025..6a6e71be 100644 --- a/src/views/demo/onlineform/formdesign/modal/AutomaticModal.vue +++ b/src/views/demo/onlineform/formdesign/modal/AutomaticModal.vue @@ -38,7 +38,7 @@ @@ -65,6 +65,8 @@ v-model:value="record.dbColumnName" :disabled="!isNewFormItem(record)" @change="record.dbColumnName = record.dbColumnName.toLowerCase()" + @focus="focusDbColumnName = record.dbColumnName" + @blur="replaceInJsonDbColumnName(record.dbColumnName)" /> @@ -152,6 +154,7 @@ let dbColumnInfo = { tableName: '', dbColumnName: '', + field: '', dataType: '', length: 0, columnDescription: '', @@ -171,7 +174,7 @@ // 不需要添加的表结构 let notComponentArray = ['Divider', 'Button']; // 需要特殊处理的表结构 - let fieldArray = ['MapGeom']; + let mapGeomArray = 'MapGeom'; let gridArray = ['Grid', 'Card', 'CardGroup', 'Tabs']; // 异步传参 @@ -297,10 +300,11 @@ // 过滤分割线、按钮 if (item.component && !notComponentArray.includes(item.component)) { // 图斑组件 - if (fieldArray.includes(item.field)) { + if (mapGeomArray == item.component) { db_temp.dbColumnInfoList.push({ tableName: db_temp.tableName, dbColumnName: 'gid', + field: item.field, dataType: 'varchar', length: 200, columnDescription: '图斑组件id', @@ -312,6 +316,7 @@ db_temp.dbColumnInfoList.push({ tableName: db_temp.tableName, dbColumnName: 'geom', + field: item.field, dataType: 'geometry(GEOMETRY)', length: 0, columnDescription: '图斑组件', @@ -366,7 +371,7 @@ ch.csType = 'string'; } // 选项卡-图斑组件/布局组件 - else if (fieldArray.includes(ch.field) || gridArray.includes(ch.component)) { + else if (mapGeomArray == ch.component || gridArray.includes(ch.component)) { getSchemeByscheme( ch, dbCode, @@ -382,7 +387,10 @@ else { let temp = cloneDeep(dbColumnInfo); temp.tableName = db_temp.tableName.toLowerCase(); - temp.dbColumnName = (ch.component + ch.field).toLowerCase(); + temp.dbColumnName = + getDbColumnNameFormOldDb(db_temp.tableName, ch.field) || + (ch.component + ch.field).toLowerCase(); + temp.field = ch.field; temp.length = 200; temp.dataType = 'varchar'; temp.columnDescription = ch.label; @@ -417,7 +425,10 @@ // 普通组件 let temp = cloneDeep(dbColumnInfo); temp.tableName = db_temp.tableName.toLowerCase(); - temp.dbColumnName = (item.component + item.field).toLowerCase(); + temp.dbColumnName = + getDbColumnNameFormOldDb(db_temp.tableName, item.field) || + (item.component + item.field).toLowerCase(); + temp.field = item.field; temp.length = 200; temp.dataType = 'varchar'; temp.columnDescription = item.label; @@ -492,7 +503,7 @@ schemas?.forEach((item: any, index: number) => { // 过滤分割线、按钮 if (item.component && !notComponentArray.includes(item.component)) { - if (fieldArray.includes(item.field)) { + if (mapGeomArray == item.component) { // 子表-图斑组件 item.componentProps.dataTable = db_temp.tableName; item.componentProps.fieldName = 'gid'; @@ -537,7 +548,7 @@ ch.csType = 'string'; } // 选项卡-图斑组件/布局组件 - else if (fieldArray.includes(ch.field) || gridArray.includes(ch.component)) { + else if (mapGeomArray == ch.component || gridArray.includes(ch.component)) { getSchemeByscheme( ch, dbCode, @@ -553,7 +564,10 @@ else { let temp = cloneDeep(dbColumnInfo); temp.tableName = db_temp.tableName.toLowerCase(); - temp.dbColumnName = (ch.component + ch.field).toLowerCase(); + temp.dbColumnName = + getDbColumnNameFormOldDb(db_temp.tableName, ch.field) || + (ch.component + ch.field).toLowerCase(); + temp.field = ch.field; temp.length = 200; temp.dataType = 'varchar'; temp.columnDescription = ch.label; @@ -590,7 +604,7 @@ ch.csType = 'string'; } // 卡片布局-图斑组件/布局组件 - else if (fieldArray.includes(ch.field) || gridArray.includes(ch.component)) { + else if (mapGeomArray == ch.component || gridArray.includes(ch.component)) { getSchemeByscheme( ch, dbCode, @@ -606,7 +620,10 @@ else { let temp = cloneDeep(dbColumnInfo); temp.tableName = db_temp.tableName.toLowerCase(); - temp.dbColumnName = (ch.component + ch.field).toLowerCase(); + temp.dbColumnName = + getDbColumnNameFormOldDb(db_temp.tableName, ch.field) || + (ch.component + ch.field).toLowerCase(); + temp.field = ch.field; temp.length = 200; temp.dataType = 'varchar'; temp.columnDescription = ch.label; @@ -643,7 +660,7 @@ ch.csType = 'string'; } // 栅格布局-图斑组件/布局组件 - else if (fieldArray.includes(ch.field) || gridArray.includes(ch.component)) { + else if (mapGeomArray == ch.component || gridArray.includes(ch.component)) { getSchemeByscheme( ch, dbCode, @@ -659,7 +676,10 @@ else { let temp = cloneDeep(dbColumnInfo); temp.tableName = db_temp.tableName.toLowerCase(); - temp.dbColumnName = (ch.component + ch.field).toLowerCase(); + temp.dbColumnName = + getDbColumnNameFormOldDb(db_temp.tableName, ch.field) || + (ch.component + ch.field).toLowerCase(); + temp.field = ch.field; temp.length = 200; temp.dataType = 'varchar'; temp.columnDescription = ch.label; @@ -697,7 +717,7 @@ ch.csType = 'string'; } // 卡片组-图斑组件/布局组件 - else if (fieldArray.includes(ch.field) || gridArray.includes(ch.component)) { + else if (mapGeomArray == ch.component || gridArray.includes(ch.component)) { getSchemeByscheme( ch, dbCode, @@ -713,7 +733,10 @@ else { let temp = cloneDeep(dbColumnInfo); temp.tableName = db_temp.tableName.toLowerCase(); - temp.dbColumnName = (ch.component + ch.field).toLowerCase(); + temp.dbColumnName = + getDbColumnNameFormOldDb(db_temp.tableName, ch.field) || + (ch.component + ch.field).toLowerCase(); + temp.field = ch.field; temp.length = 200; temp.dataType = 'varchar'; temp.columnDescription = ch.label; @@ -733,7 +756,10 @@ else { let temp = cloneDeep(dbColumnInfo); temp.tableName = db_temp.tableName.toLowerCase(); - temp.dbColumnName = (item.component + item.field).toLowerCase(); + temp.dbColumnName = + getDbColumnNameFormOldDb(db_temp.tableName, item.field) || + (item.component + item.field).toLowerCase(); + temp.field = item.field; temp.length = 200; temp.dataType = 'varchar'; temp.columnDescription = item.label; @@ -792,6 +818,20 @@ } }); } + // 获取上一次保存的字段名 + function getDbColumnNameFormOldDb(tableName, field) { + let dbColumnNameFromOldDb = ''; + oldDb.forEach((old) => { + if (old.tableName == tableName) { + old.dbColumnInfoList.forEach((dbColumnInfo) => { + if (dbColumnInfo.field == field) { + dbColumnNameFromOldDb = dbColumnInfo.dbColumnName; + } + }); + } + }); + return dbColumnNameFromOldDb; + } // 提交 async function submit() { @@ -807,7 +847,7 @@ if (db.name != db.tableName) { // scheme let scheme_replace = saveFormDatas.scheme.scheme; - scheme_replace = replaceInJson(scheme_replace, db.name, db.tableName); + scheme_replace = replaceInJsonTableName(scheme_replace, db.name, db.tableName); saveFormDatas.scheme.scheme = scheme_replace; // db @@ -934,15 +974,33 @@ } // 表名变化后修改表单里的表名 - function replaceInJson(jsonString, itemToReplace, newItem) { + function replaceInJsonTableName(jsonString, itemToReplace, newItem) { // 使用动态生成的正则表达式进行全局替换 // 注意需要对itemToReplace中的特殊字符进行转义 - let escapedItem = itemToReplace.replace(/[-/\\^$*+?.()|[\]{}]/g, '\\$&'); + let escapedItem = ('"dataTable":"' + itemToReplace + '"').replace( + /[-/\\^$*+?.()|[\]{}]/g, + '\\$&', + ); let regex = new RegExp(escapedItem, 'g'); - let replacedJsonString = jsonString.replace(regex, newItem); + let replacedJsonString = jsonString.replace(regex, '"dataTable":"' + newItem + '"'); return replacedJsonString; } + // 当前获取焦点的字段名 + let focusDbColumnName = ''; + // 字段名变化后修改表单里的字段名 + function replaceInJsonDbColumnName(newItem) { + // 使用动态生成的正则表达式进行全局替换 + // 注意需要对focusDbColumnName中的特殊字符进行转义 + let scheme_replace = saveFormDatas.scheme.scheme; + let escapedItem = ('"fieldName":"' + focusDbColumnName + '"').replace( + /[-/\\^$*+?.()|[\]{}]/g, + '\\$&', + ); + let regex = new RegExp(escapedItem, 'g'); + saveFormDatas.scheme.scheme = scheme_replace.replace(regex, '"fieldName":"' + newItem + '"'); + } + // 设置子表的relationField function getRelationField() { // 确定primaryKey @@ -1041,6 +1099,10 @@ } }); }); + // 图斑组件特殊处理 + if (['gid', 'geom'].includes(item.dbColumnName)) { + flag = false; + } return flag; } From 03eae8877b190c802e1dc096278f37ca47e830fe Mon Sep 17 00:00:00 2001 From: Zhufu <1176354795@qq.com> Date: Sat, 6 Jul 2024 11:14:07 +0800 Subject: [PATCH 2/7] =?UTF-8?q?#2=20=E6=B7=BB=E5=8A=A0=E4=B8=8A=E4=B8=80?= =?UTF-8?q?=E6=9D=A1-=E4=B8=8B=E4=B8=80=E6=9D=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bootstraps/auditinfo/MapList/index.vue | 32 ++++++++++++++----- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/src/views/demo/bootstraps/auditinfo/MapList/index.vue b/src/views/demo/bootstraps/auditinfo/MapList/index.vue index 92c78740..7504099e 100644 --- a/src/views/demo/bootstraps/auditinfo/MapList/index.vue +++ b/src/views/demo/bootstraps/auditinfo/MapList/index.vue @@ -118,6 +118,8 @@
上一条 下一条 @@ -200,6 +200,8 @@ const dataList = ref([]); const total = ref(0); + const pageNumber = ref(1) + const pageSizeNumber = ref(10) function query() { params.value.page = 1; getTaskList(); @@ -256,11 +258,18 @@ } const prevData = async () => { if(showDataIndex.value === 0){ - message.warning('已经是第一条数据了') - return + if(params.value.page === 1){ + message.warning('已经是第一条数据了') + return + } + pageNumber.value = pageNumber.value - 1 + params.value.page = params.value.page -1 + await getTaskList(); + showDataIndex.value = dataList.value.length -1 + }else{ + showDataIndex.value = showDataIndex.value -1 } handoffShow.value = false - showDataIndex.value = showDataIndex.value -1 let record = dataList.value[showDataIndex.value] let data = await getDetail({ code: record.processcode }); let scheme = JSON.parse(data.scheme.content); @@ -273,11 +282,18 @@ } const nextData = async () => { if(showDataIndex.value === dataList.value.length -1){ - message.warning('已经是最后一条数据了') - return + if(Math.ceil(total.value / pageSizeNumber.value) === pageNumber.value){ + message.warning('已经是最后一条数据了') + return + } + pageNumber.value = pageNumber.value + 1 + params.value.page = params.value.page + 1 + await getTaskList(); + showDataIndex.value = 0 + }else{ + showDataIndex.value = showDataIndex.value + 1 } handoffShow.value = false - showDataIndex.value = showDataIndex.value + 1 let record = dataList.value[showDataIndex.value] let data = await getDetail({ code: record.processcode }); let scheme = JSON.parse(data.scheme.content); From 639fedc3fc8411043d6b036e0ba0d42473d4ca28 Mon Sep 17 00:00:00 2001 From: Zhufu <1176354795@qq.com> Date: Sat, 6 Jul 2024 14:01:50 +0800 Subject: [PATCH 3/7] =?UTF-8?q?#10=20=E5=BE=85=E5=88=A4=E5=AE=9A=20=3D>=20?= =?UTF-8?q?=E5=BE=85=E5=A1=AB=E6=8A=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/demo/bootstraps/curbspotcity/util.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/demo/bootstraps/curbspotcity/util.ts b/src/views/demo/bootstraps/curbspotcity/util.ts index fc534be6..5bfaceea 100644 --- a/src/views/demo/bootstraps/curbspotcity/util.ts +++ b/src/views/demo/bootstraps/curbspotcity/util.ts @@ -25,7 +25,7 @@ export const measureOptions = [ ] export const mapStatusOptions = [ { label: '待接收', value: 0 }, - { label: '待判定', value: 1 }, + { label: '待填报', value: 1 }, { label: '待整改', value: 2 }, { label: '待审核', value: 3 }, { label: '已完成', value: 4 }, From a0a44ea42f72271455370affc9d671b58fca087c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=A6=8D?= <1455167345@qq.com> Date: Sat, 6 Jul 2024 14:16:24 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E7=82=B9=E5=AE=8C?= =?UTF-8?q?=E4=B8=93=E6=A0=8F=E7=AE=A1=E7=90=86=E5=90=8E=E7=82=B9=E5=85=B6?= =?UTF-8?q?=E4=BB=96=E8=8F=9C=E5=8D=95=E7=A9=BA=E7=99=BD=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/demo/system/specialcolumn/index.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/demo/system/specialcolumn/index.vue b/src/views/demo/system/specialcolumn/index.vue index 24aa907c..3991cba1 100644 --- a/src/views/demo/system/specialcolumn/index.vue +++ b/src/views/demo/system/specialcolumn/index.vue @@ -31,8 +31,8 @@ +
-