查看: 12855|回复: 5

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

升级   9.42%

66

主题

178

回帖

942

积分

注册会员

Rank: 2

积分
942
发表于 2022-10-27 15:58:43 | 显示全部楼层 |阅读模式
因为内容管理的表单在某个字段为完结状态后就隐藏编辑按钮了,但是我现在需要在预览界面修改reader(读者)的数据,可以实现吗?组件虽然把readonly改成了false,但是读者组件不可以用reload(),  所以还是无法修改。管理员有什么方法或建议吗?
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2022-10-28 10:10:03 | 显示全部楼层
阅读状态不可直接修改字段,您可以做一个按钮弹出框来修改读者,然后调用接口保存document
回复

使用道具 举报

升级   9.42%

66

主题

178

回帖

942

积分

注册会员

Rank: 2

积分
942
发表于 2022-10-28 10:21:57 | 显示全部楼层
论坛管理员 发表于 2022-10-28 10:10
阅读状态不可直接修改字段,您可以做一个按钮弹出框来修改读者,然后调用接口保存document ...

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

[JavaScript] 纯文本查看 复制代码
// 弹窗
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(){
    },
});

回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 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();

就可以加载人员组件
回复

使用道具 举报

升级   9.42%

66

主题

178

回帖

942

积分

注册会员

Rank: 2

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

好的,谢谢
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2022-10-31 15:52:32 | 显示全部楼层
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系客服 关注微信 下载APP 返回顶部 返回列表
viewthread