zhangyanpeng
2024-08-27 a8961c1d00c17a5aa2658884df9479ed6fba94c3
module/config/page/sys_menu_edit.html
@@ -43,7 +43,7 @@
                     {
                        name: "sys_menunotpage",
                        dataname: "sys_menu",
                        filter: " page_id is null",
                        filter: " page_id is null ",
                        isnotoption: false, //true:不是选项
                        code:"id",//是下拉选项时设置
                        label:"name",//是下拉选项时设置
@@ -51,7 +51,7 @@
                     {
                        name: "modelByPage",
                        dataname: "sys_model",
                        filter: "is_detail='F'",
                        filter: "open_type='page'",
                        isnotoption: false, //true:不是选项
                        code:"id",//是下拉选项时设置
                        label:"name",//是下拉选项时设置
@@ -59,7 +59,7 @@
                     {
                        name: "modelBydetail",
                        dataname: "sys_model",
                        filter: "is_detail='T'",
                        filter: "open_type in ('popup','tab')",
                        isnotoption: false, //true:不是选项
                        code:"id",//是下拉选项时设置
                        label:"name",//是下拉选项时设置
@@ -92,7 +92,7 @@
                     {isshow: "T", field: "model_id", labelchinese: "模型选择", inputtype: "select", optionsgroup: "", colspan: 1, group_name: "页面配置", buttonarrayname: [{type: "", buttonname:"模型维护", icon: "", code:"showfile", classname: "form_showfile"}]},
                     {isshow: "T", field: "dataname", labelchinese: "数据对象", inputtype: "", optionsgroup: "", group_name: "页面配置", buttonarrayname: [{type: "", buttonname:"对象维护", icon: "", code:"showfile", classname: "form_showfile"}]},
                     {isshow: "T", field: "buttons", labelchinese: "功能选择", inputtype: "checkboxobj", optionsgroup: "", colspan: 2, group_name: "页面配置"},
                     {isshow: "T", field: "detail_model_id", labelchinese: "详情模型选择", inputtype: "select", optionsgroup: "", colspan: 2, group_name: "页面配置", labelwidth: "120", visiblefilterrule: "buttons:Add、Edit、FormDetail"},
                     {isshow: "T", field: "detail_model_id", labelchinese: "详情模型选择", inputtype: "select", optionsgroup: "", colspan: 2, group_name: "页面配置", labelwidth: "120", visiblefilterrule: "buttons:Add、Edit、FormDetail", buttonarrayname: [{type: "", buttonname:"详情模型维护", icon: "", code:"detail_model", classname: "form_showfile"},{type: "", buttonname:"详情页配置", icon: "", code:"popup_detail_model", classname: ""}]},
                  ],
                  
                  tableFields_table: [
@@ -134,7 +134,7 @@
               },
               created() {
                  let clientHeight = document.documentElement.clientHeight;
                  this.tableHeight = clientHeight - 250 - 32;
                  this.tableHeight = clientHeight - 250 - 32 - 10;
                  
               },
               
@@ -211,12 +211,14 @@
                  menuToPageTree(oldmenus) {
                     var me = this;
                     oldmenus.map(om=>{
                        if (om.id && om.open_type && om.open_type == "arrange") {
                        if (om.id && om.open_type && om.open_type == "arrange" && om.page_id) {
                           om.isnot_nodeadd = true; // 节点不可新增
                        }
                        else if (om.id && !om.page_id) {
                        else if (om.id && !om.page_id ) {
                           // om.isnot_nodeadd = true; // 节点不可新增
                           om.isnot_nodeedit = true; // 节点不可改
                           // om.isnot_nodeedit = true; // 节点不可改
                           om.ishnodeadd = true;
                           om.isnot_nodedel = true; // 节点不可删
                        }
                        else {
@@ -471,7 +473,7 @@
                        var parent_ids_ = [];
                        var parent_ids = this.getParents(data_.parent_id, this.options_menumap, parent_ids_);
                        
                        data_.parent_id = parent_ids
                        data_.parent_id = parent_ids_
                     }
                     data_.buttons = []
                     data_.detail_model_id = ""
@@ -507,13 +509,28 @@
                        width: "900px",
                        height: "340px",
                        icon: "icon-product",
                        text: "菜单新增",
                        text: "新增页面",
                        id: "sys_menu_add",//totab: true时需设置,用于判断是否已打开此页面
                        url: "module/config/page/sys_menu_add.html",
                        data: data,
                        delta: {},
                        sceneCode: "add",//"refuseedit",//"approval", //"add"//"browse",
                        callback: function(obj, callback) {
                           me.options_menutree = clone(obj.treeoptions)
                           var sys_menunotpage_ = clone(obj.listoptions);
                           me.options_menumap = {}
                           sys_menunotpage_.map(m=>{
                              me.options_menumap[m.id] = m;
                           })
                           var formFields_ = clone(me.formFields)
                           formFields_.map(f=>{
                              if(f.field == "parent_id") {
                                 f.options = (me.options_menutree)
                              }
                           })
                           me.formFields = clone(formFields_)
                           me.getMenuAll();
                           if (callback) {
                              callback();
@@ -535,6 +552,19 @@
                        data: data,
                        sceneCode: "edit",
                        callback: function(options_obj, callback) {
                           me.options_menutree = clone(obj.treeoptions)
                           var sys_menunotpage_ = clone(obj.listoptions);
                           me.options_menumap = {}
                           sys_menunotpage_.map(m=>{
                              me.options_menumap[m.id] = m;
                           })
                           var formFields_ = clone(me.formFields)
                           formFields_.map(f=>{
                              if(f.field == "parent_id") {
                                 f.options = (me.options_menutree)
                              }
                           })
                           me.formFields = clone(formFields_)
                           me.getMenuAll();
                           if (callback) {
                              callback();
@@ -615,6 +645,35 @@
                           },
                        },
                        
                        detail_model_id: {
                           buttonarray: {
                              onclick: function(obj) {
                                 if (obj.buttonobj.code == "popup_detail_model") {
                                    let sceneCode = "add"
                                    var config = {
                                       totab: false, //true: 以Tab导航的方式打开
                                       width: "900px",
                                       height: "500px",
                                       icon: "icon-product",
                                       text: "编辑页配置",
                                       id: "popup_tablefield_edit" + sceneCode,//totab: true时需设置,用于判断是否已打开此页面
                                       url: "module/config/page/popup/popup_tablefield_edit.html",
                                       dataname: me.dataname,
                                       data: {},
                                       delta: {dataname: me.dataname, tabledata: me.tableData, tablefields: me.tableFields_form},
                                       sceneCode: sceneCode,//"refuseedit",//"approval", //"add"//"browse",
                                       callback: function(obj, callback) {
                                          me.tableData = clone(obj.tableData)
                                          if (callback) {
                                             callback();
                                          }
                                       }
                                    };
                                    me.doPopupByPublic(config);
                                 }
                              },
                           },
                        },
                        model_id: {
                           buttonarray: {
                              onclick: function(obj) {
@@ -625,7 +684,7 @@
                              onchange: function(obj,row,callback) { //下拉展开事件
                                 let param_ = {
                                    dataname: "sys_model",//获取经销商对应收货地址
                                    filter:"is_detail='F'",
                                    filter:"open_type='page'",
                                 }
                                 Server.call("root/data/getEntitySet", param_, function(result) {
                                    if (result && result.data && result.data.entityset) {
@@ -749,13 +808,26 @@
                        width: "900px",
                        height: "340px",
                        icon: "icon-product",
                        text: "菜单新增",
                        text: "新增菜单",
                        id: "sys_menu_add",//totab: true时需设置,用于判断是否已打开此页面
                        url: "module/config/page/sys_menu_add.html",
                        data: data,
                        delta: {},
                        sceneCode: "addmenu",//"refuseedit",//"approval", //"add"//"browse",
                        callback: function(obj, callback) {
                           me.options_menutree = clone(obj.treeoptions)
                           var sys_menunotpage_ = clone(obj.listoptions);
                           me.options_menumap = {}
                           sys_menunotpage_.map(m=>{
                              me.options_menumap[m.id] = m;
                           })
                           var formFields_ = clone(me.formFields)
                           formFields_.map(f=>{
                              if(f.field == "parent_id") {
                                 f.options = (me.options_menutree)
                              }
                           })
                           me.formFields = clone(formFields_)
                           me.getMenuAll();
                           if (callback) {
                              callback();
@@ -770,7 +842,7 @@
                     var entity_ = clone(this.formData);
                     var entity_menu = {
                        id: entity_.id,
                        parent_id: entity_.parent_id,
                        parent_id: entity_.parent_id[entity_.parent_id.length - 1],
                        icon: entity_.icon,
                        title: entity_.title
                     };
@@ -845,6 +917,7 @@
                           last_update_time: datetime_,
                           label_chinese: r.label_chinese,
                           is_list: r.is_list ? r.is_list : false,
                           is_form: r.is_form ? r.is_form : false,
                           is_filter: r.is_filter ? r.is_filter : false,
                           list_order_no: r.list_order_no ? r.list_order_no : 0,
                           form_order_no: r.form_order_no ? r.form_order_no : 0,
@@ -897,10 +970,15 @@
                     var entity_data_field = [];
                     var entity_data_property = [];
                      */
                     entity_page_button_add.map(ba=>{
                        me.saveData("sys_page_button", ba, function() {
                     me.saveButtonAdd(entity_page_button_add, function() {
                        me.saveButtonDel(entity_page_button_del, function() {
                           me.onRefreshCacheByPageId(entity_page.id);
                        })
                     })
                     // entity_page_button_add.map(ba=>{
                     //    me.saveData("sys_page_button", ba, function() {
                     //    })
                     // })
                     entity_data_field.map(df=>{
                        me.saveData("sys_data_field", df, function() {
                        })
@@ -910,10 +988,39 @@
                        })
                     })
                     
                     entity_page_button_del.map(bd=>{
                        me.delData("sys_page_button", bd, function() {
                     // entity_page_button_del.map(bd=>{
                     //    me.delData("sys_page_button", bd, function() {
                     //    })
                     // })
                  },
                  saveButtonAdd(list, callback) {
                     var me = this;
                     if (list.length) {
                        let buttonadd_ = list[0];
                        me.saveData("sys_page_button", buttonadd_, function() {
                           console.log("新增按键");
                           list.remove(buttonadd_)
                           me.saveButtonAdd(list, callback)
                        })
                     })
                     }
                     else {
                        callback()
                     }
                  },
                  saveButtonDel(list, callback) {
                     var me = this;
                     if (list.length) {
                        let buttonadd_ = list[0];
                        me.delData("sys_page_button", buttonadd_, function() {
                           console.log("删除按键");
                           list.remove(buttonadd_)
                           me.saveButtonDel(list, callback)
                        })
                     }
                     else {
                        callback()
                     }
                  },
                   
                  saveData(dataname, data, callback) {
@@ -956,6 +1063,9 @@
                           if (callback) {
                              callback()
                           }
                           else {
                              console.log("刷新页面");
                           }
                        }
                     });
                  },
@@ -983,6 +1093,11 @@
             overflow: hidden;
             position: relative;
             padding-left: 20px;
         }
         .h_form_group {
            height: 32px;
            line-height: 32px;
            margin-top: 5px !important;
         }
      </style>
      
@@ -1030,12 +1145,12 @@
                        <!-- 工具栏 -->
                        <div style="float: right; margin-right: 18px">
                           <el-button-group style="margin-left: 3px">
                              <el-button @click="saveRowTable":icon="buttonsconfig.save.icon">{{buttonsconfig.save.name}}</el-button>
                              <el-button @click="saveRowTable":icon="buttonsconfig.save.icon" :disabled="!formData.page_id">{{buttonsconfig.save.name}}</el-button>
                           </el-button-group>
                        </div>
                     </div>
                        
                     <div style="margin: 16px;">
                     <div style="margin: 0 10px;">
                        <h-form
                           ref="form1"
                           :form-attr="formAttr"
@@ -1046,7 +1161,7 @@
                        </h-form>
                        
                        <h-table
                           v-if="isRefresh && tableFields.length"
                           v-if="isRefresh && tableFields.length && formData.page_id"
                           ref="table1"
                           :table-fields="tableFields" 
                           :table-data="tableData"