sql715 1 сар өмнө
parent
commit
7cf169503c

+ 5 - 2
zkqy-ui/src/mixins/common.js

@@ -34,9 +34,12 @@ export default {
     refresh() {
       try {
         // 获取调用堆栈
-        const stack = new Error().stack || '';
+        let path = this.$route.path
+        // /ydyq/formCreateMange
+        // const stack = new Error().stack || '';
         // 如果调用链包含 form-create.esm.js 或 dragMenu,跳过执行
-        if (stack.includes('form-create.esm.js') || stack.includes('dragMenu')) {
+        if ( path == '/ydyq/formCreateMange' || path == '/ydyq/formCreate') {
+
           this.$forceUpdate()
           return;
         }

+ 0 - 1
zkqy-ui/src/store/modules/permission.js

@@ -88,7 +88,6 @@ const permission = {
 // 遍历后台传来的路由字符串,转换为组件对象
 function filterAsyncRouter(asyncRouterMap, lastRouter = false, type = false) {
   return asyncRouterMap.filter(route => {
-    console.log('[route.component]',route.component)
     if (type && route.children) {
       route.children = filterChildren(route.children)
     }

+ 3 - 0
zkqy-ui/src/store/modules/user.js

@@ -101,6 +101,8 @@ const user = {
         getInfo().then(res => {
           const user = res.user
           const nickName = res.user?.nickName
+          const dataSource = res.dataSource?.databaseName
+          sessionStorage.setItem("dataSource",dataSource);
           commit('SET_USER_ID', res.user.userId)
           commit('SET_NICKNAME', nickName)
           const avatar = (user.avatar == "" || user.avatar == null) ? require("@/assets/images/profile.jpg") : process.env.VUE_APP_BASE_API + user.avatar;
@@ -141,6 +143,7 @@ const user = {
           commit('SET_ROLES', [])
           commit('SET_PERMISSIONS', [])
           commit('SET_TENANT', {})
+          sessionStorage.removeItem("dataSource");
           removeToken()
           localStorage.clear();
           sessionStorage.clear();

+ 9 - 4
zkqy-ui/src/views/formCreate/components/FcDesigner.vue

@@ -543,7 +543,6 @@ export default defineComponent({
             }
             return orgRule(...args);
         };
-
         const data = reactive({
             cacheProps: {},
             operation: {
@@ -758,18 +757,22 @@ export default defineComponent({
             }
         });
 
-        watch(() => data.activeRule, (newVal) => {
+        watch(() => data.activeRule, (newVal,oldVal) => {
             console.log('[监听] activeRule 发生变化:', {
-                newVal: newVal?._fc_id,
+                newVal,
                 oldVal: data.activeRule?._fc_id
             });
             newVal && methods.updateRuleFormData();
+           
+            vm.$emit('activeRuleChange', {
+                newVal
+            });
         }, { deep: true, flush: 'post' }); // 深度监听,延迟到 DOM 更新后触发
-
         watch(() => data.customForm?.isShow, (newVal) => {
             console.log('[监听] customForm.isShow 发生变化:', newVal);
         });
         watch(() => data.preview.state, function (n) {
+            console.log('n',n)
             if (!n) {
                 nextTick(() => {
                     data.previewStatus = 'form';
@@ -805,6 +808,7 @@ export default defineComponent({
         };
 
         watch(() => locale.value, (n) => {
+            console.log('[监听] locale.value 发生变化:',locale.value)
             _t = n ? useLocale(locale).t : globalT;
             const formVal = data.form.api.formData && data.form.api.formData();
             const baseFormVal = data.baseForm.api.formData && data.baseForm.api.formData();
@@ -1709,6 +1713,7 @@ export default defineComponent({
                         data.dragForm.api.clearValidateState(rule.__fc__.id);
                     });
                 }
+
             },
             dragStart(children) {
                 // console.log('top dragStart')

+ 17 - 16
zkqy-ui/src/views/formCreate/components/zkqyMenu/zkqyTable.vue

@@ -60,13 +60,14 @@ export default {
     return this.$store.state.formCreate.labelData || [];
   },
   tableData() {
-    return this.formData;
+    return []
+    // return this.formData;
   },
   columns() {
-    return (this.labelData || []).map(item => ({
-      prop: item.value,
-      label: item.label
-    }));
+    // return (this.labelData || []).map(item => ({
+    //   prop: item.value,
+    //   label: item.label
+    // }));
   }
   },
   methods: {
@@ -85,17 +86,17 @@ export default {
       console.log('this.policyData', this.policyData)
     },
     handleDelete(index, row) {
-            // 删除确认弹窗
-            this.$msgbox.confirm('确认删除该行数据?', '提示', {
-                confirmButtonText: '确定',
-                cancelButtonText: '取消',
-                type: 'warning'
-            }).then(() => {
-                this.tableData.splice(index, 1);
-                this.$message.success("删除成功");
-            }).catch(() => {
-                this.$message.info("已取消删除");
-            });
+            // // 删除确认弹窗
+            // this.$msgbox.confirm('确认删除该行数据?', '提示', {
+            //     confirmButtonText: '确定',
+            //     cancelButtonText: '取消',
+            //     type: 'warning'
+            // }).then(() => {
+            //     this.tableData.splice(index, 1);
+            //     this.$message.success("删除成功");
+            // }).catch(() => {
+            //     this.$message.info("已取消删除");
+            // });
         }
   },
 

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 718 - 199
zkqy-ui/src/views/formCreate/layout/home/formCreateMange.vue


+ 1 - 0
zkqy-ui/src/views/formCreate/layout/home/index.vue

@@ -157,6 +157,7 @@ export default {
       if (rowData instanceof PointerEvent || rowData instanceof Event) {
         row = this.selection[0]
       } else {
+        console.log('rowData',rowData)
         row = rowData
       }
       // console.log('修改按钮被点击', row);

+ 11 - 11
zkqy-ui/src/views/formCreate/layout/home/navigationBar.vue

@@ -10,11 +10,11 @@
     <el-table v-loading="loading" :data="mobilePageNavigationBarList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="主键" align="center" prop="id" />
-      <el-table-column label="绑定页面id" align="center" prop="pageId" />
-      <el-table-column label="绑定页面名称" align="center" prop="pageName" />
+<!--      <el-table-column label="绑定页面id" align="center" prop="pageId" />-->
       <el-table-column label="导航条名称" align="center" prop="name" />
+      <el-table-column label="绑定页面名称" align="center" prop="pageName" />
       <el-table-column label="导航条顺序" align="center" prop="barOrder" />
-      <el-table-column label="绑定页面类型" align="center" prop="type" />
+<!--      <el-table-column label="绑定页面类型" align="center" prop="type" />-->
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-dropdown>
@@ -41,22 +41,22 @@
 
     <el-dialog :title="title" :visible.sync="open" width="550px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" class="dialog_form">
-        <el-form-item label="绑定页面id" prop="pageId">
-          <el-select v-model="form.pageId" placeholder="请选择绑定页面id">
+        <el-form-item label="导航条名称" prop="name">
+          <el-input v-model="form.name" placeholder="请输入导航条名称" />
+        </el-form-item>
+        <el-form-item label="绑定页面" prop="pageId">
+          <el-select v-model="form.pageId" placeholder="请选择绑定页面">
             <el-option v-for="item in listAllMobilePageDesignData" :key="item.value" :label="item.label"
               :value="item.value">
             </el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="导航条名称" prop="name">
-          <el-input v-model="form.name" placeholder="请输入导航条名称" />
-        </el-form-item>
         <el-form-item label="导航条顺序" prop="barOrder">
           <el-input v-model.number="form.barOrder" type="number" min="1" placeholder="请输入导航条顺序" />
         </el-form-item>
-        <el-form-item label="绑定页面类型" prop="type">
-          <el-input v-model="form.type" placeholder="请输入绑定页面类型" />
-        </el-form-item>
+<!--        <el-form-item label="绑定页面类型" prop="type">-->
+<!--          <el-input v-model="form.type" placeholder="请输入绑定页面类型" />-->
+<!--        </el-form-item>-->
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitForm">确 定</el-button>

+ 56 - 38
zkqy-ui/src/views/formCreate/layout/home/templateJs/zkqyTable.js

@@ -1,8 +1,9 @@
 // zkqyTable.template.js
-export default (columns, formInDatabase, zkqyTablePageJson) => `
+export default (columns, zkqyTablePageJson, dataSource,url) => `
 // ====== 自定义代码开始 ======
 var zkqyTable = {
     name: 'zkqyTable',
+    props: ['pageId'], // 声明接收的 props
     template: \`
     <div class="zkqy-table">
         <div class="table-container">
@@ -58,15 +59,15 @@ var zkqyTable = {
             policyData: {},
             currentPage4: 1,
             tableList: [{
-                tableName: '${formInDatabase}',
+                pageId: '',
                 total: 0,
                 pageSize: 2,
                 pageNum: 1
             }],
-            baseUrl: 'http://192.168.10.103:8088',
+            baseUrl: '${url}',
             headers: {
                 Accept: 'application/json',
-                Authorization: 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6ImI1ODdhZjdkLTQ0ZGMtNGMyMS05MmViLTE5YjIyMmFmNGY2MSJ9.dFMXetyerkB9Mc6yFetO2cWg64TQeeMW1EOmNQgWpKXCFBVpKfy2YUZjMdIuFxt_PnT5QlEQErRCIpLKgiypgQ',
+                dbname:'${dataSource}',
                 'Content-Type': 'application/json'
             },
         };
@@ -85,7 +86,12 @@ var zkqyTable = {
                 return;
             }
             let formId = this.zkqyTablePageJson[0]?.props?.updateZkqyTableRow
-            let searchId = this.radio?.id
+            let searchId;
+            let zj = this.zkqyTablePageJson[0].columns.find(item=>item.tableType=="primary")
+            if(zj.tableName){
+                let v = zj.tableName+'@id'
+                  searchId = this.radio[v]
+            }
             if(!formId){
                 this.\$message.warning("请配置跳转页面");
                 return
@@ -108,7 +114,7 @@ var zkqyTable = {
             this.getTableLimitInfo({ 
                 pageNum: this.tableList[0].pageNum, 
                 pageSize: this.tableList[0].pageSize,
-                tableName: this.tableList[0].tableName 
+                pageId: this.pageId 
             });
         },
         handleCurrentChange(val) {
@@ -116,29 +122,35 @@ var zkqyTable = {
             this.getTableLimitInfo({ 
                 pageNum: this.tableList[0].pageNum, 
                 pageSize: this.tableList[0].pageSize,
-                tableName: this.tableList[0].tableName 
+                pageId: this.pageId 
             });
         },
         handleDelete(index, row) {
-            this.\$msgbox.confirm('确认删除id为' + row.id + '这行数据?', '提示', {
+            // console.log(row)
+            // let zj = this.zkqyTablePageJson[0].columns.find(item=>item.tableType=="primary")
+            // if(zj.tableName){
+            //     let v = zj.tableName+'@id'
+            //       searchId = this.radio[v]
+            // }
+            let id = this.zkqyTablePageJson[0]?.columns[0]?.tableName +'@id'
+            this.\$msgbox.confirm('确认删除id为' + row[id] + '这行数据?', '提示', {
                 confirmButtonText: '确定',
                 cancelButtonText: '取消',
                 type: 'warning'
             }).then(() => {
                 this.tableData.splice(index, 1);
-                let { tableName } = this.tableList[0];
-                this.deleteTableData(row.id, tableName);
+                this.deleteTableData(row[id], this.pageId );
             }).catch(() => {
                 this.\$message.info("已取消删除");
             });
         },
-        async deleteTableData(lineId, tableName) {
-             const endpoint = '/system/mobilePageDesignData/normal/deleteData';
+        async deleteTableData(lineId, pageId) {
+             const endpoint = 'api/mobilePageDesignData/normal/deleteData';
              try {
                const url = this.baseUrl + endpoint;
                  const requestBody = {
                      lineId: lineId,
-                     tableName: tableName
+                     pageId: pageId
                  };
                  const response = await fetch(url, {
                      method: 'POST',
@@ -152,9 +164,9 @@ var zkqyTable = {
                  console.log('删除结果:', result);
                  if (result.code == 200) {
                      this.$message.success('删除成功');
-                     let {tableName,pageNum,pageSize} =this.tableList[0]
+                     let {pageId,pageNum,pageSize} =this.tableList[0]
                      // 删除成功后刷新表格数据
-                     this.getTableLimitInfo({tableName,pageNum,pageSize})
+                     this.getTableLimitInfo({pageId,pageNum,pageSize})
                      return true;
                  } else {
                      this.$message.error(result.message || '删除失败');
@@ -167,7 +179,7 @@ var zkqyTable = {
              }
          },
          async getTableLimitInfo(params = {}) {
-            const endpoint = '/system/mobilePageDesignData/tableLimitInfo';
+            const endpoint = 'api/mobilePageDesignData/muti/tableLimitInfo';
             await this.fetchGet(endpoint, params, (data) => {
                 if (data.code === 200) {
                     this.tableData = data.rows;
@@ -180,18 +192,12 @@ var zkqyTable = {
         async queryMobileClickAddData(params = {}) {
             let formId = params;
             params ={}
-            const endpoint = '/system/mobilePageDesignData/queryMobileClickAddData/'+ formId;
+            
+            let pageId = this.pageId
+            console.log('pageId',pageId)
+            const endpoint = 'api/mobilePageDesignData/queryMobileClickAddData/'+ formId;
             await this.fetchGet(endpoint , params,(data) => {
                 if (data.code === 200) {
-                    // let encodedHtml = data.data.htmlData;
-                    // let decodedHtml = decodeURIComponent(encodedHtml);
-                    // const newWindow = window.open(); // 打开一个新窗口
-                    //     if (newWindow) {
-                    //     newWindow.document.write(decodedHtml);
-                    //     newWindow.document.close(); // 关闭文档流
-                    // } else {
-                    //     console.warn('接口返回非 200 状态:', data);
-                    // }
                     const decodedHtml = decodeURIComponent(data.data.htmlData);
             
                     // 创建全屏 iframe
@@ -204,6 +210,8 @@ var zkqyTable = {
                     // 清空页面并插入 iframe
                     document.body.innerHTML = '';
                     document.body.appendChild(iframe);
+                    // 将 pageId 存储到 localStorage
+                    localStorage.setItem('sharedPageId', pageId);   
                 }
             });
         },
@@ -211,19 +219,27 @@ var zkqyTable = {
             let formId = params.formId;
             let searchId = params.searchId;
             params = {}
-            const endpoint = '/system/mobilePageDesignData/queryMobileClickUpdateData/'+formId +'/'+searchId;
+            // 移除指定的 localStorage 键
+            // localStorage.removeItem('sharedPageId');
+
+            const endpoint = 'api/mobilePageDesignData/queryMobileClickUpdateData/'+this.pageId +'/'+formId +'/'+searchId;
             await this.fetchGet(endpoint , params,(data) => {
                 if (data.code === 200) {
-                    let encodedHtml = data.data.htmlData;
-                    let decodedHtml = decodeURIComponent(encodedHtml);
-                    const newWindow = window.open(); // 打开一个新窗口
-                        if (newWindow) {
-                        newWindow.document.write(decodedHtml);
-                        newWindow.document.close(); // 关闭文档流
-                    } else {
-                        console.warn('接口返回非 200 状态:', data);
+                        const decodedHtml = decodeURIComponent(data.data.htmlData);
+                
+                        // 创建全屏 iframe
+                        const iframe = document.createElement('iframe');
+                        iframe.srcdoc = decodedHtml;
+                        iframe.style.width = '100%';
+                        iframe.style.height = '100vh';
+                        iframe.style.border = 'none';
+                        
+                        // 清空页面并插入 iframe
+                        document.body.innerHTML = '';
+                        document.body.appendChild(iframe);
+                        // 将 pageId 存储到 localStorage
+                        localStorage.setItem('sharedPageId', pageId);   
                     }
-                }
             });
         },
         async fetchGet(endpoint, params = {}, successCallback) {
@@ -260,8 +276,10 @@ var zkqyTable = {
             }
          },
     mounted() {
-        let { tableName, pageNum, pageSize } = this.tableList[0];
-        this.getTableLimitInfo({ tableName, pageNum, pageSize });
+        console.log('父组件传递的 options:', this.pageId);
+        this.tableList[0].pageId = this.pageId
+        let { pageId, pageNum, pageSize } = this.tableList[0];
+        this.getTableLimitInfo({ pageId, pageNum, pageSize });
     }
 };
 

+ 0 - 2
zkqy-ui/src/views/treeTable/index.vue

@@ -5,7 +5,6 @@
     <!-- 上层按钮 -->
     <DynamicButtonGroup :buttons="buttons" />
     <!-- 中间渲染 -->
-    <!--  -->
     <el-table v-loading="loading" :data="tableList" ref="tableRef" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="树形表主键" align="center" prop="treeTablePrimaryKey" />
@@ -103,7 +102,6 @@ export default {
   },
   created() {
     this.getList();
-
   },
   beforeRouteEnter(to, from, next) {
     next(vm => {

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно