victor007 发表于 2022-10-27 15:58:43

内容管理的预览界面,可以用代码控制某个组件可编辑吗?

因为内容管理的表单在某个字段为完结状态后就隐藏编辑按钮了,但是我现在需要在预览界面修改reader(读者)的数据,可以实现吗?组件虽然把readonly改成了false,但是读者组件不可以用reload(),所以还是无法修改。管理员有什么方法或建议吗?

论坛管理员 发表于 2022-10-28 10:10:03

阅读状态不可直接修改字段,您可以做一个按钮弹出框来修改读者,然后调用接口保存document

victor007 发表于 2022-10-28 10:21:57

论坛管理员 发表于 2022-10-28 10:10
阅读状态不可直接修改字段,您可以做一个按钮弹出框来修改读者,然后调用接口保存document ...

我就是做的弹窗(this.form.dialog()),弹窗内容取的读者组件,但是仍然不能编辑。

// 弹窗
var _self = this;
this.form.dialog({
    "title": "修改阅读权限",
    "width": "1200",
    "height": "300",
    "isMax" : true,
    "container" : this.form.app.content,
    "moduleName": "table_reader", //内容为表单上的组件,标识为div_1
    "buttonList" : [
      {
            "type": "ok", //(string) 样式,彩色底的按钮
            "text": "确定", //(string)text:按钮显示名称
            "action": function(){ //(function) 按钮对应的点击事件
                //do something,this指向本对话框对象
                this.close();
            }
      },
      {
            "type": "cancel", //(string) 样式,灰色底的按钮
            "text": "取消",
            "action": function(){
                //do something
                this.close();
            }
      }
    ],
    "onQueryClose": function(){
      _self.form.get("div_privilege").node.hide();
      _self.form.get("table_reader").node.hide();
    },
    "onPostClose": function() {
    },
    "onQueryShow":function(){
      _self.form.get("div_privilege").node.show();
      _self.form.get("table_reader").node.show();
    },
    "onPostShow": function(){
    },
});

论坛管理员 发表于 2022-10-28 16:24:04

不能使用提供的系统组件,阅读状态会把系统组件都设置为只读的,需要自己写一个出来
比如您拖一个div控件,在div的load事件中写如下脚本
debugger;
MWF.xDesktop.requireApp("Template", "MDomItem", null, false);
var container = this.form.get("readerDiv").node;
var readers = this.form.readers = new MDomItem(container, {
    "name" : "readers",
    "type" : "org",
    "orgType" : "identity",
    "units" : [],
    "count" : 0,
    "style" : {
      "border" : "1px solid #ddd",
      "min-height" : "30px",
      "width" : "100%",
      "overflow" : "hidden"
    }
}, null, this.target.form.app)
readers.load();

就可以加载人员组件

victor007 发表于 2022-10-31 13:16:09

论坛管理员 发表于 2022-10-28 16:24
不能使用提供的系统组件,阅读状态会把系统组件都设置为只读的,需要自己写一个出来
比如您拖一个div控件, ...

好的,谢谢

论坛管理员 发表于 2022-10-31 15:52:32

:handshake
页: [1]
查看完整版本: 内容管理的预览界面,可以用代码控制某个组件可编辑吗?