zhangyanpeng
2024-08-27 18b3ce08993914c17336ff4e4f70af9a2d0b14c1
module/model/model_iframe.html
@@ -25,9 +25,9 @@
                        name: "sys_model",
                        dataname: "sys_model",
                        filter: "",
                        isnotoption: false, //true:不是选项
                        code:"id",//是下拉选项时设置
                        label:"url",//是下拉选项时设置
                        isnotoption: false,
                        code:"id",
                        label:"url",
                     },
                  ],
                  dataRequestObj: {},
@@ -40,11 +40,9 @@
                  if (window.top.tab.selected.option.page_id) {
                     let page_id = window.top.tab.selected.option.page_id;
                     var sys_page_model = {
                        name: "sys_page_model", // 页面对应的模型
                        name: "sys_page_model",
                        dataname: "sys_page_model",
                        // url: "root/data/getEntitySet",
                        // paramsobj: {dataname: "sys_page_model", filter:"sys_page_model.page_id='" + page_id + "'"},
                        isnotoption: true, //true:不是选项
                        isnotoption: true,
                        filter: "sys_page_model.page_id='" + page_id + "'"
                     }
                     this.dataRequest.push(sys_page_model);
@@ -57,8 +55,6 @@
                     var result = {};
                     this.loadRequestData(this.dataRequest, result, function(data) {
                        me.dataRequestObj = data;
                        //预加载数据后给哪些字段设置options或formatterjson
                        if (me.dataRequestObj.sys_model) {
                            me.sys_model_map = me.dataRequestObj.sys_model.map.sys_model;
                        }
@@ -66,77 +62,37 @@
                            me.sys_page_model = me.dataRequestObj.sys_page_model[0];
                        }
                        
                        me.initData();
                        // 以服务的方式调用的 Loading 需要异步关闭
                        me.$nextTick(() => { 
                            hideLoading();
                           me.initData();
                        });
                     });
                  }
                  else {
                     // 以服务的方式调用的 Loading 需要异步关闭
                     this.$nextTick(() => { 
                        hideLoading();
                        me.initData();
                     });
                  }
               },
               
               methods:{
                  initData() {
                     // if (this.sys_page_model.sys_model__url.substring(0, 18) == "module/model/page/") {
                     //    this.iframe_url = "./page/" + this.sys_page_model.sys_model__url.substring(18);
                     // }
                     if(this.sys_page_model.sys_model__url.substring(0, 7) == "module/") {
                        this.iframe_url = window.top.config.url_page + this.sys_page_model.sys_model__url;
                     }
                     else {
                        this.iframe_url = this.sys_page_model.sys_model__url
                     }
                  },
                  
                  getReportToken() {
                     var me = this;
                     
                     var param_ = "";
                     if (window.top.vue.userinfo.currentactor.actor_type == "Customer") { // 经销商
                        param_ = "&actor=" + window.top.vue.userinfo.currentactor.actor_type + "&accountId=" + window.top.vue.userinfo.currentactor.target_id
                     }
                     else if (window.top.vue.userinfo.currentactor.actor_type == "Sales") { // 销售
                        param_ = "&actor=" + window.top.vue.userinfo.currentactor.actor_type + "&positionID=" + window.top.vue.userinfo.currentactor.target_id + "&level=" + window.top.vue.userinfo.position_level_field
                     }
                     else if (window.top.vue.userinfo.currentactor.actor_type == "Business" || window.top.vue.userinfo.currentactor.actor_type == "Org") { // 商务、运营
                        param_ = "&actor=" + window.top.vue.userinfo.currentactor.actor_type //+ "&positionID=" + window.top.vue.userinfo.currentactor.target_id
                     }
                     else if (window.top.vue.userinfo.currentactor.actor_type == "Admin") { // Admin
                        param_ = "&actor=" + window.top.vue.userinfo.currentactor.actor_type
                     }
                     if (param_) {
                        this.reporturl += param_
                     if (this.iframe_url.indexOf("?") > 0) {
                        this.iframe_url = this.iframe_url + "&" + "v=" + createCode("v");
                     }
                     else {
                        this.$message({
                           message: '该角色没有报表页面权限',
                           type: 'warning'
                        });
                        return;
                        this.iframe_url = this.iframe_url + "?" + "v=" + createCode("v");
                     }
                     var param = {
                        type: "get",
                     }
                     Server.call("rootreport/login/cross/domain?fine_username="+window.top.config.report_user.name+"&fine_password="+window.top.config.report_user.password+"&validity=-2", param, function(result) {
                        // 以服务的方式调用的 Loading 需要异步关闭
                        me.$nextTick(() => {
                           hideLoading();
                        });
                        me.iframe_url = window.top.config.url_root + "rootreport/view/form?" + me.reporturl;
                        me.iframe_url = me.sys_page_model.sys_model__url
                        // me.iframe_url = window.top.config.url_report + "/view/form?" + me.reporturl;
                     });
                  }
                  },
               }
            });
         };
@@ -147,7 +103,6 @@
      </script>
      
      <style>
         /*  在vue.js中 v-cloak 这个指令是防止页面加载时出现 vuejs 的变量名而设计的 */
         [v-cloak] {
            display: none !important;
         }