Bläddra i källkod

Merge remote-tracking branch 'origin/master'

侯茂昌 1 år sedan
förälder
incheckning
1204c95119

+ 25 - 0
ruoyi-system/src/main/resources/sql/initialize_sys_tenant_menu.json

@@ -1023,5 +1023,30 @@
         "children": [],
         "tenantName": null,
         "tenantId": null
+    },
+    {
+        "createBy": null,
+        "createTime": "2023-10-11 09:28:10",
+        "updateBy": null,
+        "updateTime": null,
+        "remark": null,
+        "menuId": 3989,
+        "menuName": "操作按钮",
+        "parentName": null,
+        "parentId": 1103,
+        "orderNum": 1,
+        "path": "excuteBtnMange/index",
+        "component": "system/excuteBtnMange/index",
+        "query": null,
+        "isFrame": "1",
+        "isCache": "0",
+        "menuType": "C",
+        "visible": "1",
+        "status": "0",
+        "perms": "",
+        "icon": "button",
+        "children": [],
+        "tenantName": null,
+        "tenantId": null
     }
 ]

+ 10 - 0
ruoyi-ui/src/api/tablelist/commonTable.js

@@ -206,4 +206,14 @@ export function getStatisticList(query) {
     params: query,
     baseURL: process.env.VUE_APP_BASE_API3
   })
+}
+
+// 按钮组操作统一请求
+export function btnCommonApi(data) {
+  return request({
+    url: '/dragform/commonbtn/commonBtnHandle',
+    method: 'post',
+    data: data,
+    baseURL: process.env.VUE_APP_BASE_API3
+  })
 }

+ 118 - 6
ruoyi-ui/src/components/kFormDesign/OptionsEdit.vue

@@ -2,11 +2,39 @@
   <div class="option-edit-wrap">
     <el-button
       type="info"
-      size="default"
+      size="small"
       icon="el-icon-edit"
-      @click="editHandler"
+      @click="editHandler(0)"
+      v-if="selectItem.type == 'select'"
     >
     </el-button>
+    <div class="btn-list" v-else>
+      <el-button
+        type="primary"
+        size="small"
+        icon="el-icon-plus"
+        @click="addHandler"
+        circle
+      >
+      </el-button>
+      <el-button
+        v-for="(btnData, index) in btnList"
+        :key="index"
+        type="info"
+        size="small"
+        icon="el-icon-edit"
+        @click="editHandler(index)"
+      ></el-button>
+      <el-button
+        circle
+        type="danger"
+        size="small"
+        icon="el-icon-minus"
+        @click="minusHandler"
+      >
+      </el-button>
+    </div>
+    <!-- 按钮 -->
     <el-dialog
       title="设置下拉选项数据"
       :visible.sync="isShow"
@@ -317,10 +345,11 @@ import { mapState } from "vuex";
 import getOptionsSqlString from "@/utils/sqlString";
 export default {
   name: "OptionsEdit",
-  props: ["options", "selectItem"],
+  props: ["options", "selectItem", "dynamicKey"],
   components: {},
   data() {
     return {
+      relateOptionShow: false,
       isShow: false,
       flagShow: false,
       flagEditIndex: "",
@@ -379,15 +408,49 @@ export default {
           label: "当前用户相关数据",
         },
       ],
+      //树形数据
+      btnList: [
+        // {
+        //   sql: "",
+        //   echoData: "",
+        // },
+      ],
+      editIndex: "", //当前编辑层级
     };
   },
+  watch: {
+    myDynamicKey: {
+      handler(nval) {
+        this.formData.dynamicName = nval;
+        console.log(this.formData.dynamicName);
+      },
+      deep: true,
+    },
+  },
   computed: {
     ...mapState({
       databaseName: (state) => state.user.dataSource.databaseName,
       databaseType: (state) => state.user.dataSource.databaseType,
     }),
+    domType() {
+      return this.selectItem.type; //select  treeSelect  cascader
+    },
+    myDynamicKey() {
+      return this.dynamicKey;
+    },
   },
   methods: {
+    // 添加一级回调
+    addHandler() {
+      this.btnList.push({
+        sql: "",
+        echoData: "",
+      });
+    },
+    minusHandler() {
+      this.btnList.pop();
+    },
+
     // 重置条件表单数据
     resetFlagFormData() {
       Object.assign(this.flagFormData, {
@@ -401,8 +464,28 @@ export default {
       });
     },
     // 开始编辑回调
-    async editHandler() {
+    async editHandler(editIndex) {
       await this.getAllTable();
+      // if (this.domType == "select") {
+      //   this.isShow = true;
+      // } else {
+      //   this.relateOptionShow = true;
+      // }
+      this.editIndex = editIndex;
+      let currentItem = this.btnList[editIndex];
+      if (currentItem?.echoData) {
+        let { formData, filterTableData, flagFormData } = JSON.parse(
+          currentItem.echoData
+        );
+        this.filterTableData = filterTableData;
+        this.formData = formData;
+        // this.flagFormData = flagFormData;
+      } else {
+        this.btnList[editIndex] = {
+          sql: "",
+          echoData: "",
+        };
+      }
       this.isShow = true;
     },
     // 弹窗取消回调
@@ -413,9 +496,26 @@ export default {
     conformHandler() {
       console.log(this.formData, this.filterTableData);
       let sql = getOptionsSqlString(this.formData, this.filterTableData);
+      // let sqlData = {};
+      // sqlData[this.formData.dynamicName] = sql;
+      let echoData = {
+        formData: {},
+        filterTableData: [],
+        // flagFormData: {},
+      };
+      Object.assign(echoData.formData, this.formData);
+      Object.assign(echoData.filterTableData, this.filterTableData);
+      // Object.assign(echoData.flagFormData, this.flagFormData);
+      echoData.filterTableData.forEach((item) => {
+        delete item.flagFormData.tableField.fieldOptions;
+      });
+      this.btnList[this.editIndex].sql = sql;
+      this.btnList[this.editIndex].echoData = JSON.stringify(echoData);
       let sqlData = {};
-      sqlData[this.formData.dynamicName] = sql;
-      this.$emit("setDynamicKey", this.formData.dynamicName, sqlData);
+      sqlData.dynamicName = this.formData.dynamicName;
+      sqlData.sqls = this.btnList.map((item) => item.sql);
+      sqlData.echoDatas = this.btnList.map((item) => item.echoData);
+      this.$emit("setDynamicKey", sqlData);
 
       console.log(sql);
       this.isShow = false;
@@ -485,6 +585,15 @@ export default {
   },
   async mounted() {
     console.log(this.options, this.selectItem);
+    if (this.selectItem.options.sqlData) {
+      this.btnList = this.selectItem.options.sqlData.echoDatas.map((item) => {
+        return {
+          sql: "",
+          echoData: item,
+        };
+      });
+      console.log(this.btnList);
+    }
   },
 };
 </script>
@@ -495,4 +604,7 @@ export default {
   flex-direction: column;
   align-items: center;
 }
+.btn-list {
+  display: flex;
+}
 </style>

+ 17 - 10
ruoyi-ui/src/views/bpmprocess/scriptManage.vue

@@ -8,14 +8,14 @@
       v-show="showSearch"
       label-width="68px"
     >
-      <!-- <el-form-item label="脚本编码" prop="scriptKey">
+      <el-form-item label="脚本编码" prop="scriptKey">
         <el-input
           v-model="queryParams.scriptKey"
           placeholder="请输入脚本编码"
           clearable
           @keyup.enter.native="handleQuery"
         />
-      </el-form-item> -->
+      </el-form-item>
       <el-form-item label="脚本方法名称" prop="scriptFunctionName">
         <el-input
           v-model="queryParams.scriptFunctionName"
@@ -106,7 +106,7 @@
     >
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="编号" align="center" prop="id" />
-      <!-- <el-table-column label="脚本编码" align="center" prop="scriptKey" /> -->
+      <el-table-column label="脚本编码" align="center" prop="scriptKey" />
       <el-table-column
         label="脚本方法名称"
         align="center"
@@ -170,9 +170,10 @@
     <!-- 添加或修改流程节点脚本对话框 -->
     <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="100px">
-        <!-- <el-form-item label="脚本编码:" prop="scriptKey">
-          <el-input v-model="form.scriptKey" placeholder="请输入脚本编码" />
-        </el-form-item> -->
+ 
+        <el-form-item label="脚本编码:" prop="scriptKey">
+          <el-input v-model="form.scriptKey" placeholder="请输入脚本编码" :disabled="true"/>
+        </el-form-item>
         <el-form-item label="脚本名称:" prop="scriptName">
           <el-input v-model="form.scriptName" placeholder="请输入脚本名称" />
         </el-form-item>
@@ -257,6 +258,7 @@ import {
 } from "@/api/bpmprocess/process";
 import uuid from "@/utils/bpmn/uuid";
 import Editor from "vue2-ace-editor";
+import {v4 as uuidv4} from 'uuid';
 import * as monaco from "monaco-editor";
 
 export default {
@@ -295,8 +297,10 @@ export default {
         industryType: null,
         scriptDescription: null,
       },
+      uuid: uuidv4(),
       // 表单参数
-      form: {},
+      form: {
+      },
       // 表单校验
       rules: {
         scriptName: [
@@ -339,6 +343,7 @@ export default {
     // this.editorInit();
   },
   methods: {
+
     // 编辑器初始化
     editorInit() {
       require("brace/theme/chrome");
@@ -404,9 +409,12 @@ export default {
       this.multiple = !selection.length;
     },
     /** 新增按钮操作 */
-    handleAdd() {
+    handleAdd() { 
+     
       this.monacoEditor?.dispose();
       this.reset();
+      this.form.scriptKey= uuidv4()
+      console.log(this.form.scriptKey);
       this.open = true;
       this.title = "添加流程节点脚本";
       // this.$nextTick(() => {
@@ -441,8 +449,7 @@ export default {
               this.open = false;
               this.getList();
             });
-          } else {
-            this.form.scriptKey = uuid();
+          } else { 
             addScript(this.form).then((response) => {
               this.$modal.msgSuccess("新增成功");
               this.open = false;

+ 0 - 1
ruoyi-ui/src/views/system/bpmnPro/components/Toolbar/tools/Save.vue

@@ -131,7 +131,6 @@ export default {
       let xmlPro = await this.getProcess("xml");
       var xmlObj = this.xmlStr2XmlObj(xmlPro);
       let validateNodeRes = validateNode(xmlObj);
-      console.log(validateNodeRes);
       if (!validateNodeRes.flag) {
         this.$message.error(validateNodeRes.msg);
         return;

+ 2 - 0
ruoyi-ui/src/views/system/bpmnPro/components/bo-utils/getNodeMsg.js

@@ -183,6 +183,8 @@ const blackArr = [
   "process",
   "startEvent",
   "outgoing",
+  "unusualTask",
+  "extensionElements",
   // "task",
   "incoming",
   "outgoing",

+ 41 - 18
ruoyi-ui/src/views/system/excuteBtnMange/index.vue

@@ -300,18 +300,18 @@
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item label="执行流程" prop="btnTableKey">
+              <el-form-item label="执行流程" prop="btnProcessKey">
                 <el-select
-                  v-model="btnGroupFormData.btnTableKey"
+                  v-model="btnGroupFormData.btnProcessKey"
                   placeholder="请选择执行流程"
                   clearable
                   filterable
                 >
                   <el-option
-                    v-for="item in []"
-                    :key="item.fId"
-                    :label="item.dfName"
-                    :value="item.fId"
+                    v-for="item in processOptions"
+                    :key="item.processKey"
+                    :label="item.processName"
+                    :value="item.processKey"
                   >
                   </el-option>
                 </el-select>
@@ -327,9 +327,9 @@
                 >
                   <el-option
                     v-for="item in tableOptions"
-                    :key="item.fId"
-                    :label="item.dfName"
-                    :value="item.fId"
+                    :key="item.tableKey"
+                    :label="item.dtName"
+                    :value="item.tableKey"
                   >
                   </el-option>
                 </el-select>
@@ -345,9 +345,9 @@
                 >
                   <el-option
                     v-for="item in scriptOptions"
-                    :key="item.fId"
-                    :label="item.dfName"
-                    :value="item.fId"
+                    :key="item.scriptKey"
+                    :label="item.scriptName"
+                    :value="item.scriptKey"
                   >
                   </el-option>
                 </el-select>
@@ -538,14 +538,19 @@ export default {
       form: {},
       // 表单校验
       rules: {
-        menuName: [
-          { required: true, message: "菜单名称不能为空", trigger: "blur" },
+        btnParentId: [
+          { required: true, message: "上级按钮不能为空", trigger: "change" },
         ],
-        orderNum: [
-          { required: true, message: "菜单顺序不能为空", trigger: "blur" },
+        btnGroupName: [
+          { required: true, message: "按钮组名不能为空", trigger: "blur" },
         ],
-        path: [
-          { required: true, message: "路由地址不能为空", trigger: "blur" },
+        btnSort: [{ required: true, message: "排序不能为空", trigger: "blur" }],
+        btnType: [
+          {
+            required: true,
+            message: "按钮类型不能为空",
+            trigger: "change",
+          },
         ],
       },
       // 按钮组表单数据
@@ -756,10 +761,28 @@ export default {
         this.title = "修改菜单";
       });
     },
+    // 校验复杂逻辑表单数据
+    myValidate(formData) {
+      // 校验按钮名和按钮必须填一个
+      let res = {};
+      res.flag = true;
+      let nameOrIcon = !!formData.btnName || !!formData.btnIcon;
+      if (!nameOrIcon) {
+        res.flag = false;
+        res.msg = "按钮名称和图标,至少需要有一个!";
+        return res;
+      }
+      return res;
+    },
     /** 提交按钮 */
     submitForm() {
       this.$refs["btnGroupFormRef"].validate(async (valid) => {
         if (valid) {
+          let validateRes = myValidate(this.btnGroupFormData);
+          if (!validateRes.flag) {
+            this.$message.error(validateRes.msg);
+            return;
+          }
           if (this.editType) {
             // 新增按钮组
             this.btnGroupFormData.btnKey = uuidv4();

+ 7 - 2
ruoyi-ui/src/views/system/fromModel/index.vue

@@ -84,11 +84,16 @@ export default {
       });
       let formSQL = {};
       selectArr.forEach((item) => {
+        console.log(item);
         // formSQL = {
         //   ...formSQL,
         //   ...item.options.sqlData,
         // };
-        Object.assign(formSQL, item.options.sqlData);
+        // Object.assign(formSQL, item.options.sqlData);
+        let sqlList = item.options.sqlData.sqls;
+        formSQL[item.options.dynamicKey] = {};
+        formSQL[item.options.dynamicKey].sqls =
+          item.type == "select" ? sqlList[0] : sqlList;
       });
 
       let {
@@ -108,7 +113,7 @@ export default {
           dfHtmlTemplate: editorHtmlJson.toString(),
           dfTableName: mainTableName,
           dfNotes: formDescription,
-          dfFormSql: formSQL,
+          dfFormSql: JSON.stringify(formSQL),
           dfNodeId: formNodeId,
         }).then((res) => {
           console.log(res);

+ 6 - 5
ruoyi-ui/src/views/tableMange/index.vue

@@ -889,12 +889,12 @@ export default {
     // 数据统计字段表名中文
     isShowTableName() {
       let tableComment;
-      this.tableList.forEach(item => {
-        if(item.tableName === this.tableName){
-          tableComment = item.tableComment
+      this.tableList.forEach((item) => {
+        if (item.tableName === this.tableName) {
+          tableComment = item.tableComment;
         }
-      })
-      return tableComment
+      });
+      return tableComment;
     },
     ...mapState({
       databaseName: (state) => state.user.dataSource.databaseName,
@@ -1676,6 +1676,7 @@ export default {
               this.dragTableStatisticList.forEach((item) => {
                 item.tableKey = this.editData.tableKey;
               });
+              console.log(res);
               res1 = await updateStatistic({
                 tableKey: this.editData.tableKey,
                 dragTableStatisticList: this.dragTableStatisticList,

+ 4 - 0
ruoyi-ui/src/views/tablelist/commonTable/BtnMenu.vue

@@ -68,6 +68,10 @@ export default {
 };
 </script>
 <style lang="scss" scoped>
+.myDiv {
+  padding: 5px;
+  box-sizing: border-box;
+}
 .pre-icon {
   margin-right: 5px;
 }

+ 137 - 48
ruoyi-ui/src/views/tablelist/commonTable/listInfo.vue

@@ -208,7 +208,7 @@
         </template>
       </el-table-column>
       <el-table-column
-        v-show="isShowExcuteCol"
+        v-if="isShowExcuteCol"
         label="操作"
         align="center"
         class-name="small-padding fixed-width"
@@ -264,6 +264,7 @@ import {
   listTable,
   unionListTableData,
   getInfoBySqlKey,
+  btnCommonApi,
   addTableData,
   batchEdit,
   getStatisticList,
@@ -274,6 +275,7 @@ import Queryfrom from "@/views/tablelist/commonTable/queryfrom.vue";
 import { camelCase } from "@/utils";
 import { inputDisableComplete } from "@/utils/other";
 import Menu from "./BtnMenu.vue";
+import { checkRole } from "@/utils/permission";
 
 export default {
   name: "listInfo",
@@ -366,6 +368,8 @@ export default {
       excuteBtnArr: [],
       // 下拉框动态数据
       dynamicData: {},
+      // 当前点击按钮的数据
+      currentBtnData: {},
     };
   },
 
@@ -383,6 +387,7 @@ export default {
   },
   computed: {
     isShowExcuteCol() {
+      console.log(!this.excuteBtnArr?.every((arr) => arr.children.length == 0));
       // return true;
       return !this.excuteBtnArr?.every((arr) => arr.children.length == 0);
     },
@@ -455,12 +460,12 @@ export default {
           getStatisticList({
             queryMap: {
               tableKey: this.templateInfo.template.tableKey,
-              queryCriteriaValue: this.queryParams.queryMap.queryCriteriaValue
+              queryCriteriaValue: this.queryParams.queryMap.queryCriteriaValue,
             },
-          }).then(res => {
+          }).then((res) => {
             // console.log('getStatisticList', res);
-            this.statisticList = res.data
-          })
+            this.statisticList = res.data;
+          });
         });
     },
     isUpperCase(char) {
@@ -598,31 +603,79 @@ export default {
     },
 
     /** 修改按钮操作 */
-    handleUpdate(row) {
-      console.log(row);
-      getInfoBySqlKey(this.templateInfo.template.sqlKey).then(({ data }) => {
-        if (!data || !data.dfVueTemplate) {
+    async handleUpdate(row, btnData) {
+      console.log(this.currentBtnData);
+
+      // 新的修改请求
+      try {
+        let payLoad = {
+          basicMap: {
+            btnType: 8,
+            btnKey: this.currentBtnData.btnKey,
+            visible: "false",
+            sqlKey: this.templateInfo.template.sqlKey,
+            tableName: this.tableName,
+          },
+          conditionMap: {},
+        };
+        let primary = camelCase(
+          this.tableName + "_" + this.templateInfo.template?.primaryKey
+        );
+        payLoad.conditionMap[this.templateInfo.template?.primaryKey] =
+          row[primary];
+        let res = await btnCommonApi(payLoad);
+        if (!res.data || !res.data.template.dfVueTemplate) {
           this.$message.error("当前表格未绑定表单!");
           return;
         }
-        // let fieldList = Object.keys(row);
+        res.data.template.dfFormSql &&
+          (this.dynamicData = JSON.parse(res.data.template.dfFormSql));
+        this.addRealFieldName(res.data.result.resultMap);
+        let resultMap = res.data.result.resultMap;
+        // let fieldList = Object.keys(resultMap);
         // let tableName = this.longestCommonSubstring(fieldList);
         // fieldList.forEach((field) => {
         //   let realField = field.replace(tableName, "");
         //   realField = realField[0].toLocaleLowerCase() + realField.substring(1);
-        //   row[realField] = row[field];
+        //   resultMap[realField] = resultMap[field];
         // });
-        this.addRealFieldName(row);
-        Object.assign(this.defaultValue, row);
-        this.jsonData = JSON.parse(data.dfVueTemplate);
+        console.log(resultMap);
+        Object.assign(this.defaultValue, resultMap);
+        this.jsonData = JSON.parse(res.data.template.dfVueTemplate);
         this.open = true;
         this.title = "修改信息";
         this.form.password = this.initPassword;
         this.$nextTick(() => {
-          this.$refs.addFromRef.setData(row);
+          this.$refs.addFromRef.setData(res.data.result.resultMap);
         });
-      });
+      } catch (error) {
+        this.$message.error("网络异常,请稍后再试");
+        console.log(error);
+      }
       return;
+      // getInfoBySqlKey(this.templateInfo.template.sqlKey).then(({ data }) => {
+      //   if (!data || !data.dfVueTemplate) {
+      //     this.$message.error("当前表格未绑定表单!");
+      //     return;
+      //   }
+      //   // let fieldList = Object.keys(row);
+      //   // let tableName = this.longestCommonSubstring(fieldList);
+      //   // fieldList.forEach((field) => {
+      //   //   let realField = field.replace(tableName, "");
+      //   //   realField = realField[0].toLocaleLowerCase() + realField.substring(1);
+      //   //   row[realField] = row[field];
+      //   // });
+      //   this.addRealFieldName(row);
+      //   Object.assign(this.defaultValue, row);
+      //   this.jsonData = JSON.parse(data.dfVueTemplate);
+      //   this.open = true;
+      //   this.title = "修改信息";
+      //   this.form.password = this.initPassword;
+      //   this.$nextTick(() => {
+      //     this.$refs.addFromRef.setData(row);
+      //   });
+      // });
+      // return;
       this.reset();
       const userId = row.userId || this.ids;
       getUser(userId).then((response) => {
@@ -671,7 +724,7 @@ export default {
      *
      * 删除提示信息语句(标识)
      * */
-    handleDelete(row) {
+    handleDelete(row, btnData) {
       let delIds = this.ids;
       let primary = camelCase(this.templateInfo.template?.primaryKey);
       this.addRealFieldName(row);
@@ -681,6 +734,8 @@ export default {
       }
       let data = {
         basicMap: {
+          btnType: 9,
+          btnKey: btnData.btnKey,
           tableName: this.tableName,
         },
         conditionMap: {
@@ -691,7 +746,8 @@ export default {
       this.$modal
         .confirm('是否确认删除"' + delIds + '"的数据项?')
         .then(function () {
-          return delTableData(data);
+          // return delTableData(data);
+          return btnCommonApi(data);
         })
         .then(() => {
           // 调用子组件查询方法 目的是携带上子组件中的查询参数
@@ -780,48 +836,81 @@ export default {
           let data = {
             basicMap: {
               tableName: this.tableName,
+              // btnKey: btnData.btnKey,
+              btnKey: this.currentBtnData.btnKey,
             },
             addListMap: [values],
+            conditionMap: {},
+            commMap: {},
           };
           if (Object.keys(this.defaultValue).length) {
-            let updateData = {
-              // 基本参数
-              basicMap: {
-                // 表名
-                tableName: this.tableName,
-              },
-              conditionMap: {},
-              commMap: {},
-            };
-
+            //修改
             // 后台接收需要是表中字段真实的名称,无所谓驼峰。
-            updateData.conditionMap[this.templateInfo.template?.primaryKey] =
+            data.conditionMap[this.templateInfo.template?.primaryKey] =
               this.defaultValue[
                 camelCase(this.templateInfo.template?.primaryKey)
               ];
             Object.keys(values).map((k) => {
-              updateData.commMap[k] = values[k];
+              data.commMap[k] = values[k];
             });
-            let res = await batchEdit(updateData);
-            if (res.code == 200) {
-              this.$modal.msgSuccess("修改成功");
-            } else {
-              this.$modal.msgError("修改失败");
-            }
-            this.getList();
+            data.basicMap.btnType = 8;
+            data.basicMap.visible = true;
           } else {
-            let res = await addTableData(data);
+            data.basicMap.btnType = 10;
+            data.basicMap.visible = true;
+          }
+          try {
+            let res = await btnCommonApi(data);
             if (res.code == 200) {
-              this.$modal.msgSuccess("添加成功");
+              this.$message.success("操作成功");
             } else {
-              this.$modal.msgError("添加失败");
+              this.$message.error("网络异常,请稍后再试");
             }
-            this.getList();
+          } catch (error) {
+            console.log(error);
+            this.$message.error("网络异常,请稍后再试");
           }
+          // if (Object.keys(this.defaultValue).length) {
+          //   let updateData = {
+          //     // 基本参数
+          //     basicMap: {
+          //       // 表名
+          //       tableName: this.tableName,
+          //     },
+          //     conditionMap: {},
+          //     commMap: {},
+          //   };
+
+          //   // 后台接收需要是表中字段真实的名称,无所谓驼峰。
+          //   updateData.conditionMap[this.templateInfo.template?.primaryKey] =
+          //     this.defaultValue[
+          //       camelCase(this.templateInfo.template?.primaryKey)
+          //     ];
+          //   Object.keys(values).map((k) => {
+          //     updateData.commMap[k] = values[k];
+          //   });
+          //   let res = await batchEdit(updateData);
+          //   if (res.code == 200) {
+          //     this.$modal.msgSuccess("修改成功");
+          //   } else {
+          //     this.$modal.msgError("修改失败");
+          //   }
+          //   this.getList();
+          // } else {
+          //   let res = await addTableData(data);
+          //   if (res.code == 200) {
+          //     this.$modal.msgSuccess("添加成功");
+          //   } else {
+          //     this.$modal.msgError("添加失败");
+          //   }
+          //   this.getList();
+          // }
+          this.getList();
           this.defaultValue = {};
           this.open = false;
         })
         .catch((res) => {
+          console.log(res);
           this.$modal.msgError("表单校验失败,请规范填写数据");
         });
     },
@@ -952,8 +1041,8 @@ export default {
     },
 
     // 内链页面跳转
-    routerHandler(link, type) {
-      console.log(link);
+    routerHandler(btnData, type) {
+      let link = btnData.btnParams;
       if (type == "3") {
         this.$router.push(link);
       } else {
@@ -963,22 +1052,22 @@ export default {
 
     // 操作列回调
     excuteHandler(btnData, row) {
-      console.log(btnData, row);
       let { btnType, btnParams } = btnData;
+      this.currentBtnData = btnData;
       switch (
         btnType //3:内链  6:目录  7:外链  8:修改  9:删除
       ) {
         case "3":
-          this.routerHandler(btnParams, btnType);
+          this.routerHandler(btnData, btnType);
           break;
         case "7":
-          this.routerHandler(btnParams, btnType);
+          this.routerHandler(btnData, btnType);
           break;
         case "8":
-          this.handleUpdate(row);
+          this.handleUpdate(row, btnData);
           break;
         case "9":
-          this.handleDelete(row);
+          this.handleDelete(row, btnData);
           break;
         default:
           break;