cuiqian2004
2024-11-04 368dbde6b3ee39a3ac0cdac5089a9ce56ef525f8
5601 open comm_dlg
5个文件已修改
2887 ■■■■ 已修改文件
manifest.json 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/modal/3018_2.vue 624 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/modal/5600.vue 754 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/modal/5601.vue 750 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/modal/5602.vue 755 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manifest.json
@@ -2,8 +2,8 @@
    "name" : "MoboxPDA",
    "appid" : "__UNI__56D451E",
    "description" : "",
    "versionName" : "1131",
    "versionCode" : 1131,
    "versionName" : "1133",
    "versionCode" : 1133,
    "transformPx" : false,
    /* 5+App特有相关 */
    "app-plus" : {
pages/modal/3018_2.vue
@@ -14,8 +14,7 @@
                            :class="item.disabled?'input-disabled':''" v-model="item.value" :localdata="item.dict"
                            @change="onchange(item)" :disabled="item.disabled" :clear="false"></uni-data-select>
                        <!-- 文本框/数字框 -->
                        <view class="input-wrapper"
                            v-if="(item.name=='Input' || item.name=='InputNumber')">
                        <view class="input-wrapper" v-if="(item.name=='Input' || item.name=='InputNumber')">
                            <text v-if="item.setting.prefix" class="uni-icon" :class="[item.setting.prefix]"
                                @change="classAttr_extButton(item)">&#xe568;</text>
                            <input class="uni-input" :class="item.disabled?'input-disabled':''"
@@ -58,8 +57,7 @@
                            :class="item.disabled?'input-disabled':''" :disabled="item.disabled" v-model="item.value"
                            @change="onModelValue(item)" />
                        <!-- 日期时间 -->
                        <view class="input-wrapper"
                            v-if="(item.name=='TimePicker' || item.name=='DatePicker')">
                        <view class="input-wrapper" v-if="(item.name=='TimePicker' || item.name=='DatePicker')">
                            <picker mode="date" class="date_iput" :class="item.disabled?'input-disabled':''"
                                :disabled="item.disabled" :value="item.value" @change="onModelValue(item)">
                                <view class="picker">{{item.value}}</view>
@@ -72,8 +70,7 @@
                            :span="item.setting.spanList?item.setting.spanList[key]:24 / item.setting.col">
                            <uni-forms-item v-if="cols!=null  && cols.show==true" :label="cols.label +':'"
                                :label-width="cols.labelWidth+'px'">
                                <view class="input-wrapper"
                                    v-if="(cols.name=='Input' || cols.name=='InputNumber') ">
                                <view class="input-wrapper" v-if="(cols.name=='Input' || cols.name=='InputNumber') ">
                                    <text v-if="cols.setting.prefix" class="uni-icon" :class="[cols.setting.prefix]"
                                        @change="onchange(cols)">&#xe568;</text>
                                    <input class="uni-input" :class="cols.disabled?'input-disabled':''"
@@ -146,7 +143,8 @@
            </view>
            <button type="default" @tap="sava" class="btn_add" v-if="dropdownBtns.length==0 && btnName != ''"
                :class="saving?'btn_disabled':''" :disabled="saving">{{btnName}}</button>
            <button type="default" @tap="cancel" :class="(dropdownBtns.length> 0 || btnName != '')?'btn_cancel':'btn_cancel2'">{{translateSys('cancel')}}</button>
            <button type="default" @tap="cancel"
                :class="(dropdownBtns.length> 0 || btnName != '')?'btn_cancel':'btn_cancel2'">{{translateSys('cancel')}}</button>
        </view>
        <!-- 普通弹窗 top bottom center left right -->
@@ -547,159 +545,11 @@
                                var action = actionlist[i];
                                if (action.action_type == 'set_dlg_attr') {
                                    var result = action.value;
                                    for (var i = 0; i < result.length; i++) {
                                        if (result[i].choice_list) {
                                            for (var c = 0; c < $this.head_styledef.form.items
                                                .length; c++) {
                                                var attr = $this.head_styledef.form.items[c];
                                                if (attr.name != 'Layout') {
                                                    if (attr.fieldId == result[i].attr) {
                                                        var dictItemList = [];
                                                        for (var d in result[i].choice_list) {
                                                            var val = result[i].choice_list[d];
                                                            dictItemList.push({
                                                                "CN_S_NAME": val,
                                                                "CN_S_VALUE": val,
                                                                "text": val,
                                                                "value": val
                                                            });
                                                        }
                                                        attr.dict = dictItemList;
                                                    }
                                                } else if (attr.name == 'Layout') {
                                                    attr.setting.colList.forEach(col => {
                                                        if (col) {
                                                            if (col.fieldId == result[
                                                                    i]
                                                                .attr) {
                                                                var dictItemList = [];
                                                                for (var d in result[i]
                                                                        .choice_list) {
                                                                    var val = result[i]
                                                                        .choice_list[
                                                                            d];
                                                                    dictItemList.push({
                                                                        "CN_S_NAME": val,
                                                                        "CN_S_VALUE": val,
                                                                        "text": val,
                                                                        "value": val
                                                                    });
                                                                }
                                                                col.dict =
                                                                    dictItemList;
                                                            }
                                                        }
                                                    });
                                                }
                                            }
                                        }
                                        for (var c = 0; c < $this.$data.head_styledef.form
                                            .items
                                            .length; c++) {
                                            var attr = $this.$data.head_styledef.form.items[c];
                                            // console.log(attr[j].Name+'=='+result[i].attr);
                                            //判断表单里是否有返回字段,没有就装载到model里,点击确定提交的时候带上这些数据
                                            if ($this.head_styledef.form.model[result[i]
                                                    .attr] ==
                                                undefined) {
                                                $this.head_styledef.form.model[result[i]
                                                        .attr] =
                                                    result[i]
                                                    .value;
                                            }
                                            //判断是否是栅格表单
                                            if (attr.name != 'Layout') {
                                                if (attr.fieldId == result[i].attr) {
                                                    attr.value = '';
                                                    attr.oldvalue = '';
                                                    attr.value = result[i].value;
                                                    attr.oldvalue = result[i].value;
                                                    $this.head_styledef.form.model[attr
                                                            .fieldId] =
                                                        result[
                                                            i].value;
                                                }
                                            } else if (attr.name == 'Layout') {
                                                attr.setting.colList.forEach(col => {
                                                    if (col) {
                                                        if (col.fieldId == result[i]
                                                            .attr) {
                                                            col.value = '';
                                                            col.oldvalue = '';
                                                            col.value = result[i]
                                                                .value;
                                                            col.oldvalue = result[i]
                                                                .value;
                                                            $this.head_styledef.form
                                                                .model[
                                                                    col
                                                                    .fieldId] = result[
                                                                    i]
                                                                .value;
                                                        }
                                                    }
                                                });
                                            }
                                        }
                                        var length = 0;
                                        if (!$this.$data.refdatastore.filter(function(s) {
                                                return result[i].attr == s.attr
                                            }).length) {
                                            length = 1;
                                            $this.$data.refdatastore.push(result[i]);
                                        }
                                        if (length == 0) {
                                            for (var j = 0; j < $this.$data.refdatastore
                                                .length; j++) {
                                                if ($this.$data.refdatastore[j].attr == result[
                                                        i]
                                                    .attr) {
                                                    $this.$data.refdatastore[j].value = result[
                                                            i]
                                                        .value;
                                                }
                                            }
                                        }
                                    }
                                    $this.setFormValues(result)
                                } else if (data.action[i].action_type == 'set_dlg_attr_show') {
                                    var result = action.value;
                                    result.forEach(async (attr, key) => {
                                        $this.$data.head_styledef.form.items
                                            .forEach(
                                                async (
                                                    ele, index) => {
                                                    //判断是否是栅格表单
                                                    if (ele.name != 'Layout') {
                                                        if (ele.fieldId == attr
                                                            .attr) {
                                                            ele.show = attr
                                                                .show;
                                                        }
                                                    } else if (ele.name ==
                                                        'Layout') {
                                                        ele.setting.colList
                                                            .forEach(
                                                                col => {
                                                                    if (col) {
                                                                        if (col
                                                                            .fieldId ==
                                                                            attr
                                                                            .attr
                                                                        ) {
                                                                            col.show =
                                                                                attr
                                                                                .show;
                                                                        }
                                                                    }
                                                                });
                                                    }
                                                });
                                    });
                                    var head_styledef = JSON.parse(JSON.stringify($this.$data
                                        .head_styledef));
                                    $this.$data.head_styledef = [];
                                    $this.$data.head_styledef = head_styledef;
                                    $this.hideFormItems(result)
                                    // console.log($this.$data.head_styledef);
                                } else {
                                    uni.showModal({
@@ -976,17 +826,6 @@
                    });
                    return;
                }
                // var fieldId = $this.$data.popupParam.item.fieldId;
                // $this.head_styledef.form.model[fieldId] = name;
                // console.log(fieldId,$this.$data.popupParam.item);
                // for (var c = 0; c < $this.$data.head_styledef.form.items.length; c++) {
                //     var attr = $this.$data.head_styledef.form.items[c];
                //     if (attr.fieldId == fieldId) {
                //         attr.value = name;
                //     }
                // }
                // console.log(data);
                // console.log($this.head_styledef.form);
                var callback_eventid = $this.$data.popupParam.button_callback.trim();
                var info = {
                    eventid: callback_eventid,
@@ -1115,157 +954,10 @@
                                var action = actionlist[i];
                                if (action.action_type == 'set_dlg_attr') {
                                    var result = action.value;
                                    for (var i = 0; i < result.length; i++) {
                                        if (result[i].choice_list) {
                                            for (var c = 0; c < $this.head_styledef.form.items
                                                .length; c++) {
                                                var attr = $this.head_styledef.form.items[c];
                                                if (attr.name != 'Layout') {
                                                    if (attr.fieldId == result[i].attr) {
                                                        var dictItemList = [];
                                                        for (var d in result[i].choice_list) {
                                                            var val = result[i].choice_list[d];
                                                            dictItemList.push({
                                                                "CN_S_NAME": val,
                                                                "CN_S_VALUE": val,
                                                                "text": val,
                                                                "value": val
                                                            });
                                                        }
                                                        attr.dict = dictItemList;
                                                    }
                                                } else if (attr.name == 'Layout') {
                                                    attr.setting.colList.forEach(col => {
                                                        if (col) {
                                                            if (col.fieldId == result[
                                                                    i]
                                                                .attr) {
                                                                var dictItemList = [];
                                                                for (var d in result[i]
                                                                        .choice_list) {
                                                                    var val = result[i]
                                                                        .choice_list[
                                                                            d];
                                                                    dictItemList.push({
                                                                        "CN_S_NAME": val,
                                                                        "CN_S_VALUE": val,
                                                                        "text": val,
                                                                        "value": val
                                                                    });
                                                                }
                                                                col.dict =
                                                                    dictItemList;
                                                            }
                                                        }
                                                    });
                                                }
                                            }
                                        }
                                        for (var c = 0; c < $this.$data.head_styledef.form
                                            .items
                                            .length; c++) {
                                            var attr = $this.$data.head_styledef.form.items[c];
                                            // console.log(attr[j].Name+'=='+result[i].attr);
                                            //判断表单里是否有返回字段,没有就装载到model里,点击确定提交的时候带上这些数据
                                            if ($this.head_styledef.form.model[result[i]
                                                    .attr] ==
                                                undefined) {
                                                $this.head_styledef.form.model[result[i]
                                                        .attr] =
                                                    result[i]
                                                    .value;
                                            }
                                            //判断是否是栅格表单
                                            if (attr.name != 'Layout') {
                                                if (attr.fieldId == result[i].attr) {
                                                    attr.value = '';
                                                    attr.oldvalue = '';
                                                    attr.value = result[i].value;
                                                    attr.oldvalue = result[i].value;
                                                    $this.head_styledef.form.model[attr
                                                            .fieldId] =
                                                        result[i]
                                                        .value;
                                                }
                                            } else if (attr.name == 'Layout') {
                                                attr.setting.colList.forEach(col => {
                                                    if (col) {
                                                        if (col.fieldId == result[i]
                                                            .attr) {
                                                            col.value = '';
                                                            col.oldvalue = '';
                                                            col.value = result[i]
                                                                .value;
                                                            col.oldvalue = result[i]
                                                                .value;
                                                            $this.head_styledef.form
                                                                .model[col
                                                                    .fieldId] = result[
                                                                    i].value;
                                                        }
                                                    }
                                                });
                                            }
                                        }
                                        var length = 0;
                                        if (!$this.$data.refdatastore.filter(function(s) {
                                                return result[i].attr == s.attr
                                            }).length) {
                                            length = 1;
                                            $this.$data.refdatastore.push(result[i]);
                                        }
                                        if (length == 0) {
                                            for (var j = 0; j < $this.$data.refdatastore
                                                .length; j++) {
                                                if ($this.$data.refdatastore[j].attr == result[
                                                        i]
                                                    .attr) {
                                                    $this.$data.refdatastore[j].value = result[
                                                            i]
                                                        .value;
                                                }
                                            }
                                        }
                                    }
                                    $this.setFormValues(result)
                                } else if (action.action_type == 'set_dlg_attr_show') {
                                    var result = action.value;
                                    result.forEach(async (attr, key) => {
                                        $this.$data.head_styledef.form.items
                                            .forEach(
                                                async (ele,
                                                    index) => {
                                                    //判断是否是栅格表单
                                                    if (ele.name != 'Layout') {
                                                        if (ele.fieldId == attr
                                                            .attr) {
                                                            ele.show = attr
                                                                .show;
                                                        }
                                                    } else if (ele.name ==
                                                        'Layout') {
                                                        ele.setting.colList
                                                            .forEach(
                                                                col => {
                                                                    if (col) {
                                                                        if (col
                                                                            .fieldId ==
                                                                            attr
                                                                            .attr
                                                                        ) {
                                                                            col.show =
                                                                                attr
                                                                                .show;
                                                                        }
                                                                    }
                                                                });
                                                    }
                                                });
                                    });
                                    var head_styledef = JSON.parse(JSON.stringify($this.$data
                                        .head_styledef));
                                    $this.$data.head_styledef = [];
                                    $this.$data.head_styledef = head_styledef;
                                    $this.hideFormItems(result)
                                    // console.log($this.$data.head_styledef);
                                } else if (action.action_type == 'set_global_attr') {
                                    $this.$data.global_attr = action.value || [];
@@ -1555,11 +1247,17 @@
                                    } else if (action.action_type == 'open_common_dlg') {
        
                                        if (val.common_dlg_id == 'check_list') {
                                            $this.setData({check_list:val.config})
                                            $this.setData({
                                                check_list: val.config
                                            })
                                            if (val.config.appear_style == 'sideslip') //判断是否是侧滑
                                                $this.setData({popupType:"right"})
                                                $this.setData({
                                                    popupType: "right"
                                                })
                                            else
                                            $this.setData({popupType:"center"})
                                                $this.setData({
                                                    popupType: "center"
                                                })
                                            // open 方法传入参数 等同在 uni-popup 组件上绑定 type属性
                                            $this.$refs.popup.open($this.popupType);
                                            var popupParam = {
@@ -1568,7 +1266,9 @@
                                                req: req,
                                                data_attr: data_attr
                                            }
                                            $this.setData({popupParam:popupParam})
                                            $this.setData({
                                                popupParam: popupParam
                                            })
                                        }
                                    } else if (action.action_type == 'open_project_query_dlg') {
                                        //console.log(action.value.select_range);
@@ -1685,6 +1385,7 @@
            },
            add() {
                const $this = this
                uni.showLoading({
                    title: this.translateSys("loading"),
                    mask: true
@@ -1730,55 +1431,52 @@
                };
                console.log(dataInfo);
                // return
                dataObjCreate(dataInfo).then(result => {
                dataObjCreate(dataInfo).then(res => {
                    uni.hideLoading();
                    if (result.action) {
                        var action = JSON.parse(result.action);
                        console.log(action);
                        if (action.ret == '0') {
                            if (action.ret != 0) {
                    let data = res.lua_result
                    if (data.ret != 0) {
                        var tip = data.err_info ? typeof data.err_info == 'string' ? data
                            .err_info :
                            data
                            .err_info.join('<br/>') : '';
                        if (data.ret == 801) {
                            if (this.param.Only_Script_Error) {
                                let pos = tip.indexOf(":");
                                if (pos > -1) tip = tip.substring(pos + 1);
                            }
                                uni.showModal({
                                    title: this.translateSys("tip"),
                                    content: this.translate('execute_script_failed') +
                                        this
                                        .translateSys('comma') + this.translate(
                                            'result') +
                                        this
                                        .translateSys('colon') + action.result,
                                content: tip,
                                showCancel: false,
                                confirmText: this.translateSys("cancel")
                            });
                        } else uni.showModal({
                            title: this.translateSys("tip"),
                            content: tip + ',' + this.translateSys('tip') + ':' + data
                                .ret,
                                    showCancel: false,
                                    confirmText: this.translateSys("cancel")
                                });
                                this.saving = false
                                return;
                            }
                            if (action.info) {
                                uni.showModal({
                        return false
                    } else {
                        var tip = data.info ? typeof data.info == 'string' ? data.info : data
                            .info
                            .join(
                                '<br/>') : '';
                        if (tip) uni.showModal({
                                    title: this.translateSys("tip"),
                                    content: this.translate('execute_script_failed') +
                                        this
                                        .translateSys('comma') +
                                        this.translateSys('colon') + action.info,
                            content: tip,
                                    showCancel: false,
                                    confirmText: this.translateSys("cancel")
                                });
                                return;
                            }
                            if (action.result_type == '0') {
                                uni.showToast({
                                    title: action.result,
                                    icon: "success",
                                    duration: 3000
                                });
                            }
                            // "{"ret":0, "result_type":0, "result":"创建成功123123123","info":""}"
                        }
                    } else
                        uni.showToast({
                            title: this.translate('create_success'),
                            icon: "success",
                            duration: 3000
                        });
                    if (!this.$data.param.After_Btn_Not_Refresh) {
                        //刷新
                        uni.redirectTo({
@@ -1786,7 +1484,24 @@
                                    .param) +
                                "&titlename=" + this.$data.title
                        });
                        } else {
                            var actionlist = data.action;
                            if (actionlist) {
                                console.log(actionlist);
                                for (var i = 0; i < actionlist.length; i++) {
                                    var action = actionlist[i];
                                    if (action.action_type == 'set_dlg_attr') {
                                        $this.setFormValues(action.value)
                                    } else if (data.action[i].action_type == 'set_dlg_attr_show') {
                                        var result = action.value;
                                        $this.hideFormItems(result)
                    }
                                }
                            }
                        }
                    }
                    // this.class_attr_init();
@@ -1794,6 +1509,7 @@
                }).catch(ex => {
                    console.log(ex);
                    this.saving = false
                    uni.hideLoading();
                    uni.showModal({
                        title: this.translateSys("tip"),
@@ -1803,8 +1519,167 @@
                    });
                });
            },
            setFormValues(data) {
                const $this = this
                for (var i = 0; i < data.length; i++) {
                    if (data[i].choice_list) {
                        for (var c = 0; c < $this.head_styledef.form.items
                            .length; c++) {
                            var attr = $this.head_styledef.form.items[c];
                            if (attr.name != 'Layout') {
                                if (attr.fieldId == data[i].attr) {
                                    var dictItemList = [];
                                    for (var d in data[i].choice_list) {
                                        var val = data[i].choice_list[d];
                                        dictItemList.push({
                                            "CN_S_NAME": val,
                                            "CN_S_VALUE": val,
                                            "text": val,
                                            "value": val
                                        });
                                    }
                                    attr.dict = dictItemList;
                                }
                            } else if (attr.name == 'Layout') {
                                attr.setting.colList.forEach(col => {
                                    if (col) {
                                        if (col.fieldId == data[
                                                i]
                                            .attr) {
                                            var dictItemList = [];
                                            for (var d in data[i]
                                                    .choice_list) {
                                                var val = data[i]
                                                    .choice_list[
                                                        d];
                                                dictItemList.push({
                                                    "CN_S_NAME": val,
                                                    "CN_S_VALUE": val,
                                                    "text": val,
                                                    "value": val
                                                });
                                            }
                                            col.dict =
                                                dictItemList;
                                        }
                                    }
                                });
                            }
                        }
                    }
                    for (var c = 0; c < $this.$data.head_styledef.form
                        .items
                        .length; c++) {
                        var attr = $this.$data.head_styledef.form.items[c];
                        // console.log(attr[j].Name+'=='+data[i].attr);
                        //判断表单里是否有返回字段,没有就装载到model里,点击确定提交的时候带上这些数据
                        if ($this.head_styledef.form.model[data[i]
                                .attr] ==
                            undefined) {
                            $this.head_styledef.form.model[data[i]
                                    .attr] =
                                data[i]
                                .value;
                        }
                        //判断是否是栅格表单
                        if (attr.name != 'Layout') {
                            if (attr.fieldId == data[i].attr) {
                                attr.value = '';
                                attr.oldvalue = '';
                                attr.value = data[i].value;
                                attr.oldvalue = data[i].value;
                                $this.head_styledef.form.model[attr
                                        .fieldId] =
                                    data[
                                        i].value;
                            }
                        } else if (attr.name == 'Layout') {
                            attr.setting.colList.forEach(col => {
                                if (col) {
                                    if (col.fieldId == data[i]
                                        .attr) {
                                        col.value = '';
                                        col.oldvalue = '';
                                        col.value = data[i]
                                            .value;
                                        col.oldvalue = data[i]
                                            .value;
                                        $this.head_styledef.form
                                            .model[
                                                col
                                                .fieldId] = data[
                                                i]
                                            .value;
                                    }
                                }
                            });
                        }
                    }
                    var length = 0;
                    if (!$this.$data.refdatastore.filter(function(s) {
                            return data[i].attr == s.attr
                        }).length) {
                        length = 1;
                        $this.$data.refdatastore.push(data[i]);
                    }
                    if (length == 0) {
                        for (var j = 0; j < $this.$data.refdatastore
                            .length; j++) {
                            if ($this.$data.refdatastore[j].attr == data[
                                    i]
                                .attr) {
                                $this.$data.refdatastore[j].value = data[
                                        i]
                                    .value;
                            }
                        }
                    }
                }
            },
            hideFormItems(data) {
                const $this = this
                data.forEach(async (attr, key) => {
                    $this.$data.head_styledef.form.items
                        .forEach(
                            async (
                                ele, index) => {
                                //判断是否是栅格表单
                                if (ele.name != 'Layout') {
                                    if (ele.fieldId == attr
                                        .attr) {
                                        ele.show = attr
                                            .show;
                                    }
                                } else if (ele.name ==
                                    'Layout') {
                                    ele.setting.colList
                                        .forEach(
                                            col => {
                                                if (col) {
                                                    if (col
                                                        .fieldId ==
                                                        attr
                                                        .attr
                                                    ) {
                                                        col.show =
                                                            attr
                                                            .show;
                                                    }
                                                }
                                            });
                                }
                            });
                });
                var head_styledef = JSON.parse(JSON.stringify($this.$data
                    .head_styledef));
                $this.$data.head_styledef = [];
                $this.$data.head_styledef = head_styledef;
            },
            afterOK() {
                this.saving = true
                const $this = this
                var obj_attr = this.head_styledef.form.model;
                // console.log(obj_attr);
                var input_param = {
@@ -1872,9 +1747,28 @@
                            showCancel: false,
                            confirmText: this.translateSys("cancel")
                        });
                        var result = data.result;
                        if (!this.$data.param.After_Btn_Not_Refresh) {
                            //刷新
                            uni.redirectTo({
                                url: '../modal/3018_2?param=' + JSON.stringify(this.$data
                                        .param) +
                                    "&titlename=" + this.$data.title
                            });
                        } else {
                            var actionlist = data.action;
                            if (actionlist) {
                                console.log(actionlist);
                                for (var i = 0; i < actionlist.length; i++) {
                                    var action = actionlist[i];
                                    if (action.action_type == 'set_dlg_attr') {
                                        $this.setFormValues(action.value)
                                    } else if (data.action[i].action_type == 'set_dlg_attr_show') {
                                        var result = action.value;
                                        $this.hideFormItems(result)
                                    }
                                }
                            }
                        }
                    }
                    this.saving = false
@@ -1933,6 +1827,7 @@
                }
            },
            onTriggerEvent(btn, enviroment) {
                const $this = this
                var obj_attr = this.head_styledef.form.model;
                // console.log(obj_attr);
                var input_param = {
@@ -1999,7 +1894,19 @@
                            confirmText: this.translateSys("cancel")
                        });
                        var result = data.result;
                        var actionlist = data.action;
                        if (actionlist) {
                            console.log(actionlist);
                            for (var i = 0; i < actionlist.length; i++) {
                                var action = actionlist[i];
                                if (action.action_type == 'set_dlg_attr') {
                                    $this.setFormValues(action.value)
                                } else if (data.action[i].action_type == 'set_dlg_attr_show') {
                                    var result = action.value;
                                    $this.hideFormItems(result)
                                }
                            }
                        }
                    }
@@ -2201,6 +2108,7 @@
                float: right;
                display: inline-block;
            }
            .btn_cancel2 {
                width: 90%;
                margin: 0 10rpx;
pages/modal/5600.vue
@@ -14,7 +14,7 @@
                <view class="input-wrapper" :style="{'width':`calc(96% - ${item.labelWidth}px)`}"
                    v-if="item.name=='Input' || item.name=='InputNumber'">
                    <text v-if="item.setting.prefix" class="uni-icon" :class="[item.setting.prefix]"
                        @click="onEnterChange(item)">&#xe568;</text>
                        @click="classAttr_extButton(item)">&#xe568;</text>
                    <input class="uni-input" :class="item.disabled?'input-disabled':''"
                        :type="item.name=='Input'?'text':'number'" v-model="item.value" :disabled="item.disabled"
                        :placeholder="item.placeholder"
@@ -22,7 +22,7 @@
                        :focus="focusFieldId == item.fieldId" @focus="ontap(index,item)" @click="onClick(item)"
                        @keyup.enter="onEnterChange(item)" @blur="onEnterChange(item)"  :maxlength="-1"/>
                    <text v-if="item.setting.suffix" class="uni-icon" :class="[item.setting.suffix]"
                        @click="onEnterChange(item)">&#xe568;</text>
                        @click="classAttr_extButton(item)">&#xe568;</text>
                </view>
            </view>
@@ -163,14 +163,30 @@
                </div>
            </view>
        </view>
        <!-- <view class="view-bottom" v-if="current==0 && param.Sub_Page[0].OK_Button==true">
            <button type="default" @tap="cancel" class="btn_cancel">取消</button>
            <button type="primary" @tap="ok" class="btn_add">确定</button>
    <view>
            <uni-popup class="view-popup" ref="popup" background-color="#fff" @change="popupChange">
                <view class="popup-header">{{check_list.title}}</view>
                <view class="popup-content" :class="{ 'popup-height': popupType === 'left' || popupType === 'right' }"
                    :style="{'width':check_list.width?check_list.width+'px':'200px','height':check_list.height?check_list.height+'px':'88%'}">
                    <view class="popup-cont" :style="{'height':check_list.height?check_list.height-45+'px':'415px'}">
                        <view class="view_popup_CheckList" v-for="(item,index) in check_list.items">
                            <checkbox-group class="check_list" @change="checkChange" :data-ischeck="item.check"
                                :data-index="index" :style="{'margin-left': '10rpx'}">
                                <label>
                                    <checkbox :value="item.check" :checked="item.check" />
                                    <text>{{item.name}}</text>
                                </label>
                            </checkbox-group>
        </view>
        <view class="view-bottom" v-if="current==1 && param.Sub_Page[1].OK_Button==true">
            <button type="default" @tap="cancel" class="btn_cancel">取消</button>
            <button type="primary" @tap="ok2" class="btn_add">确定</button>
        </view> -->
                    </view>
                    <view class="popup-footer">
                        <button type="default" @tap="popup_sava" class="btn_popup_add">{{translateSys('ok')}}</button>
                        <button type="default" @tap="popup_cancel"
                            class="btn_popup_cancel">{{translateSys('cancel')}}</button>
                    </view>
                </view>
            </uni-popup>
        </view>
    </view>
</template>
@@ -222,6 +238,13 @@
                selectAttrObj: {},
                okLoading: false,
                ok2Loading: false,
                global_attr: [],
                refdatastore: [], //引用数据存储区// {attr:'G_PRJ_' + bindattr + '_ID', value:info.id}
                popupType: "center",
                check_list: {},
                popupParam: {},
            };
        },
        onLoad(options) {
@@ -620,21 +643,44 @@
                    var attr = item.fieldId;
                    this.head_styledef.form.model[attr] = item.value;
                    var onChangeEvent = item.bind.onChangeEvent; //内容变化后事件
                    var onSuffixClickCallbackEvent = item.bind.onSuffixClickCallbackEvent; //后图标点击事件
                    var onSuffixClickEvent = item.bind.onSuffixClickEvent; //后图标点击回调
                    var isflag = false;
                    if (onChangeEvent.id) { //内容变化后事件
                        this.onChange(onChangeEvent);
                    }
                    // if(onSuffixClickCallbackEvent.id){   //后图标点击事件
                    //   this.onSuffixClick(onSuffixClickCallbackEvent);
                    // }
                    // if(onSuffixClickEvent.id){   //后图标点击回调
                    //   this.onSuffixClickCallback(onSuffixClickEvent);
                    // }
                }
            },
            classAttr_extButton(item) {
                var onSuffixClickCallbackEvent = item.bind.onSuffixClickCallbackEvent; //后图标点击事件
                var onSuffixClickEvent = item.bind.onSuffixClickEvent; //后图标点击回调
                if (!onSuffixClickCallbackEvent.id) {
                    uni.showModal({
                        title: this.translateSys("tip"),
                        content: this.translate('icon_click_callback_empty'),
                        showCancel: false,
                        confirmText: this.translateSys("cancel")
                    });
                    return;
                }
                if (!onSuffixClickEvent.id) {
                    uni.showModal({
                        title: this.translateSys("tip"),
                        content: this.translate('icon_click_event_empty'),
                        showCancel: false,
                        confirmText: this.translateSys("cancel")
                    });
                    return;
                }
                this.$data.popupType = 'right'
                // open 方法传入参数 等同在 uni-popup 组件上绑定 type属性
                this.$refs.popup.open(this.popupType);
                this.dataObjRunCustomEvent_Return(onSuffixClickCallbackEvent.id, '', onSuffixClickEvent.id,
                    item);
            },
            getDetailAttrList(list, selectButton) {
                const detailAttrList = [];
                list.forEach(style => {
@@ -1497,6 +1543,635 @@
                this.activelist[value].active = true;
                // console.log(this.$data.activelist);
            },
            popupChange(e) {
                console.log('当前模式:' + e.type + ',状态:' + e.show);
            },
            checkChange(e) { //弹框check选择
                // console.log(e.target.dataset);
                var index = e.target.dataset.index;
                var ischeck = e.target.dataset.ischeck;
                var data = this.$data.check_list.items;
                // this.$data.check_list.items=[];
                if (this.$data.check_list.multiple_choice == "0") { //判断时单选还是多选
                    for (var i in data) {
                        data[i].check = false;
                    }
                }
                data[index].check = ischeck ? false : true;
                this.$data.check_list.items = data;
            },
            popup_cancel(e) { //弹框取消
                this.$refs.popup.close();
            },
            popup_sava(e) { //弹框确定
                var $this = this;
                var items = $this.$data.check_list.items;
                var data = [];
                var name = "";
                for (var i = 0; i < items.length; i++) {
                    if (items[i].check == true) {
                        if (name)
                            name += ';';
                        name += items[i].name;
                        data.push({
                            id: items[i].id,
                            name: items[i].name
                        });
                    }
                }
                if (!$this.$data.popupParam) {
                    uni.showModal({
                        title: this.translateSys("tip"),
                        content: "popupParam为空!",
                        showCancel: false,
                        confirmText: this.translateSys("cancel")
                    });
                    return;
                }
                if (data.length == 0) {
                    uni.showModal({
                        title: this.translateSys("tip"),
                        content: this.translate("tip_no_select_data"),
                        showCancel: false,
                        confirmText: this.translateSys("cancel")
                    });
                    return;
                }
                var callback_eventid = $this.$data.popupParam.button_callback.trim();
                var info = {
                    eventid: callback_eventid,
                    edtype: "0",
                    projectid: '',
                    rclsid: '',
                    robjid: '',
                    userlogin: '',
                    clsid: $this.$data.ClsID,
                    objid: "",
                    attr: $this.$data.popupParam.req,
                    dataJson: data
                }
                $this.DataObjRunCustomEvent(info, $this.$data.popupParam.data_attr);
                this.$refs.popup.close();
            },
            async DataObjRunCustomEvent(info, data_attr) {
                var $this = this;
                var enviroment = {
                    'function': '3000', // 功能点编号
                    cls_id: this.$data.ClsID, // 功能点主数据类标识
                    'button': 'top', // top/bottom
                    button_name: this.translateSys('add2'),
                    master: {
                        cls_id: this.$data.ClsID, // button=bottom时 master的cls_id
                        //obj_id: ''  // button=bottom时 master的obj_id
                    }
                };
                if (data_attr) {
                    enviroment.edit_dlg = {
                        type: 'small', //小窗口
                        class_id: this.$data.ClsID, //当前数据类id
                    }
                    if (data_attr) {
                        enviroment.edit_dlg.form_control = { //所属的表单控件
                            name: data_attr.Name, //字段属性
                            text: data_attr.DispName, //显示文本
                            group_name: data_attr.GroupName, //属性组
                            type: data_attr.Type, //字段类型
                            readonly: data_attr.ReadOnly, //是否只读
                            button_img: data_attr.button_img, //引用按钮的图标
                            button_tooltip: data_attr.button_tooltip //引用按钮的tooltip
                        }
                    }
                }
                enviroment = Base64.encode(JSON.stringify(enviroment)); //将字符串转换为base64编码
                var input_param = Base64.encode(JSON.stringify(info.attr)); //将字符串转换为base64编码
                var global_attr = Base64.encode(JSON.stringify(this.$data.global_attr)); //将字符串转换为base64编码
                if (info.dataJson)
                    info.dataJson = Base64.encode(JSON.stringify(info.dataJson)); //将字符串转换为base64编码
                var obj_attr = {};
                info.attr.forEach(item => {
                    obj_attr[item.attr] = item.value;
                });
                if (!info.eventid.includes('{')) info.eventid = '{' + info.eventid + '}';
                var dataInfo = {
                    ed_type: info.edtype,
                    start_transaction: true,
                    class_id: info.clsid,
                    class_name: '',
                    event_id: info.eventid,
                    event_name: '',
                    data_obj_id: info.objid,
                    obj_attr: obj_attr,
                    prj_id: info.projectid,
                    ref_cls_id: info.rclsid,
                    rel_obj_id: info.robjid,
                    user_login: info.userlogin,
                    data_json: info.dataJson,
                    compose_info: '',
                    ext_info: enviroment,
                    global_attr: global_attr,
                    input_param: input_param,
                };
                console.log(dataInfo);
                // return;
                runCustomEvent(dataInfo).then(data => {
                    if (data.ret != 0) {
                        var tip = data.err_info ? typeof data.err_info == 'string' ? data
                            .err_info :
                            data
                            .err_info.join('<br/>') : '';
                        if (data.ret == 801) {
                            if (this.param.Only_Script_Error) {
                                let pos = tip.indexOf(":");
                                if (pos > -1) tip = tip.substring(pos + 1);
                            }
                            uni.showModal({
                                title: this.translateSys("tip"),
                                content: tip,
                                showCancel: false,
                                confirmText: this.translateSys("cancel")
                            });
                        } else uni.showModal({
                            title: this.translateSys("tip"),
                            content: tip + ',' + this.translateSys('tip') + ':' + data
                                .ret,
                            showCancel: false,
                            confirmText: this.translateSys("cancel")
                        });
                        return false
                    } else {
                        var tip = data.info ? typeof data.info == 'string' ? data.info : data
                            .info
                            .join(
                                '<br/>') : '';
                        if (tip) uni.showModal({
                            title: this.translateSys("tip"),
                            content: tip,
                            showCancel: false,
                            confirmText: this.translateSys("cancel")
                        });
                        var actionlist = data.action;
                        if (actionlist) {
                            console.log(actionlist);
                            for (var i = 0; i < actionlist.length; i++) {
                                var action = actionlist[i];
                                if (action.action_type == 'set_dlg_attr') {
                                    var result = action.value;
                                    $this.setFormValues(result)
                                } else if (action.action_type == 'set_dlg_attr_show') {
                                    var result = action.value;
                                    result.forEach(async (attr, key) => {
                                        $this.$data.head_styledef.form.items
                                            .forEach(
                                                async (ele,
                                                    index) => {
                                                    //判断是否是栅格表单
                                                    if (ele.name != 'Layout') {
                                                        if (ele.fieldId == attr
                                                            .attr) {
                                                            ele.show = attr
                                                                .show;
                                                        }
                                                    } else if (ele.name ==
                                                        'Layout') {
                                                        ele.setting.colList
                                                            .forEach(
                                                                col => {
                                                                    if (col) {
                                                                        if (col
                                                                            .fieldId ==
                                                                            attr
                                                                            .attr
                                                                        ) {
                                                                            col.show =
                                                                                attr
                                                                                .show;
                                                                        }
                                                                    }
                                                                });
                                                    }
                                                });
                                    });
                                    var head_styledef = JSON.parse(JSON.stringify($this.$data
                                        .head_styledef));
                                    $this.$data.head_styledef = [];
                                    $this.$data.head_styledef = head_styledef;
                                    // console.log($this.$data.head_styledef);
                                } else if (action.action_type == 'set_global_attr') {
                                    $this.$data.global_attr = action.value || [];
                                } else {
                                    uni.showModal({
                                        title: this.translateSys("tip"),
                                        content: this.translateSys(
                                                "quotation_mark_left") +
                                            action
                                            .action_type + this.translateSys(
                                                "quotation_mark_right") + this
                                            .translate(
                                                "tip_action_unprocessed"),
                                        showCancel: false,
                                        confirmText: this.translateSys("cancel")
                                    });
                                }
                            }
                        }
                        console.log($this.head_styledef);
                        if (data.result) {
                            var result = data.result;
                            for (var i = 0; i < result.length; i++) {
                                for (var c = 0; c < $this.$data.head_styledef.form.items
                                    .length; c++) {
                                    var attr = $this.$data.head_styledef.form.items[c];
                                    //判断表单里是否有返回字段,没有就装载到model里,点击确定提交的时候带上这些数据
                                    if ($this.head_styledef.form.model[result[i].attr] ==
                                        undefined) {
                                        $this.head_styledef.form.model[result[i].attr] =
                                            result[i]
                                            .value;
                                    }
                                    //判断是否是栅格表单
                                    if (attr.name != 'Layout') {
                                        if (attr.fieldId == result[i].attr) {
                                            attr.value = '';
                                            attr.oldvalue = '';
                                            attr.value = result[i].value;
                                            attr.oldvalue = result[i].value;
                                            $this.head_styledef.form.model[attr.fieldId] =
                                                result[i]
                                                .value;
                                        }
                                    } else if (attr.name == 'Layout') {
                                        attr.setting.colList.forEach(col => {
                                            if (col) {
                                                if (col.fieldId == result[i].attr) {
                                                    col.value = '';
                                                    col.oldvalue = '';
                                                    col.value = result[i].value;
                                                    col.oldvalue = result[i].value;
                                                    $this.head_styledef.form.model[col
                                                            .fieldId] =
                                                        result[i].value;
                                                }
                                            }
                                        });
                                    }
                                }
                                var length = 0;
                                if (!$this.$data.refdatastore.filter(function(s) {
                                        return result[i].attr == s.attr
                                    }).length) {
                                    length = 1;
                                    $this.$data.refdatastore.push(result[i]);
                                }
                                if (length == 0) {
                                    for (var j = 0; j < $this.$data.refdatastore.length; j++) {
                                        if ($this.$data.refdatastore[j].attr == result[i]
                                            .attr) {
                                            $this.$data.refdatastore[j].value = result[i]
                                                .value;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }).catch(ex => {
                    // console.log(ex);
                    let exStr = JSON.stringify(ex)
                    if (exStr == "{}")
                        exStr = ex
                    let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
                    uni.showModal({
                        title: this.translateSys("error") + "3.1",
                        content: exStr,
                        showCancel: false,
                        confirmText: this.translateSys("cancel")
                    });
                });
            },
            dataObjRunCustomEvent_Return(eventid, data_attr, button_callback, item) {
                const $this = this
                var enviroment = {
                    'function': '3000', // 功能点编号
                    cls_id: $this.ClsID, // 功能点主数据类标识
                    'button': 'top', // top/bottom
                    button_name: $this.translateSys('add2'),
                    master: {
                        cls_id: $this.ClsID, // button=bottom时 master的cls_id
                        //obj_id: ''  // button=bottom时 master的obj_id
                    }
                };
                var obj_attr = $this.head_styledef.form.model;
                console.log(obj_attr);
                var req = Object.keys(obj_attr).map((a) => ({
                    attr: a,
                    value: obj_attr[a] || "",
                }));
                if ($this.refdatastore.length > 0) {
                    for (var i = 0; i < $this.refdatastore.length; i++) {
                        if (!req.filter(function(s) {
                                return $this.refdatastore[i].attr == s.name
                            }).length) {
                            req.push({
                                'attr': $this.refdatastore[i].attr,
                                'value': $this.refdatastore[i].value
                            });
                        }
                    }
                }
                var extinfo = enviroment;
                extinfo.edit_dlg = {
                    type: 'small', //小窗口
                    class_id: $this.ClsID, //当前数据类id
                }
                extinfo = Base64.encode(JSON.stringify(extinfo)); //将字符串转换为base64编码
                var global_attr = Base64.encode(JSON.stringify($this.global_attr)); //将字符串转换为base64编码
                var obj_attr = {};
                req.forEach(item2 => {
                    obj_attr[item2.attr] = item2.value;
                });
                let input_param = Base64.encode(
                    JSON.stringify(
                        Object.keys(obj_attr).map((a) => ({
                            attr: a,
                            value: obj_attr[a] || "",
                        }))
                    )
                );
                if (!eventid.includes('{')) eventid = '{' + eventid + '}';
                var dataInfo = {
                    ed_type: "0",
                    start_transaction: true,
                    class_id: $this.ClsID,
                    class_name: '',
                    event_id: eventid,
                    event_name: '',
                    data_obj_id: '',
                    obj_attr: obj_attr,
                    prj_id: '',
                    ref_cls_id: '',
                    rel_obj_id: '',
                    user_login: '',
                    data_json: [],
                    compose_info: '',
                    ext_info: extinfo,
                    global_attr: global_attr,
                    input_param: input_param,
                };
                console.log(dataInfo);
                // return;
                runCustomEvent(dataInfo).then(data => {
                    if (data.ret != 0) {
                        var tip = data.err_info ? typeof data.err_info == 'string' ? data
                            .err_info :
                            data
                            .err_info.join('<br/>') : '';
                        if (data.ret == 801) {
                            if ($this.param.Only_Script_Error) {
                                let pos = tip.indexOf(":");
                                if (pos > -1) tip = tip.substring(pos + 1);
                            }
                            uni.showModal({
                                title: $this.translateSys("tip"),
                                content: tip,
                                showCancel: false,
                                confirmText: $this.translateSys("cancel")
                            });
                        } else uni.showModal({
                            title: $this.translateSys("tip"),
                            content: tip + ',' + $this.translateSys('tip') + ':' + data
                                .ret,
                            showCancel: false,
                            confirmText: $this.translateSys("cancel")
                        });
                        return false
                    } else {
                        var tip = data.info ? typeof data.info == 'string' ? data.info : data
                            .info
                            .join(
                                '<br/>') : '';
                        if (tip) uni.showModal({
                            title: $this.translateSys("tip"),
                            content: tip,
                            showCancel: false,
                            confirmText: $this.translateSys("cancel")
                        });
                        if (data != "") {
                            var actions = data.action;
                            if (actions) {
                                for (var i = 0; i < actions.length; i++) {
                                    var action = actions[i];
                                    console.log(action)
                                    var val = action.value;
                                    var enviroment = JSON.stringify(enviroment);
                                    if (action.action_type == 'open_panel') {
                                        var d = dialog({
                                            title: '<i class="ace-icon fa fa-info-circle"></i> ' +
                                                $this.translateSys("tip"),
                                            content: $this.translateSys(
                                                    "quotation_mark_left") +
                                                action
                                                .action_type + $this.translateSys(
                                                    "quotation_mark_right") + $this
                                                .translate(
                                                    "tip_action_unprocessed")
                                        });
                                        d.show();
                                    } else if (action.action_type == 'open_select_userdlg') {
                                        var style = val.style;
                                        // style == 'user' ? '选择人员' : style == 'department' ? '选择部门' : style == 'role' ? '选择角色' : ''
                                        var param = {
                                            item: item,
                                            button_callback: button_callback,
                                            req: req,
                                            data_attr: data_attr
                                        }
                                        uni.navigateTo({
                                            url: '../selpsn/index?mulit=false&param=' +
                                                JSON
                                                .stringify(
                                                    param),
                                            events: {
                                                AddPer(data, param) {
                                                    // console.log(param);
                                                    console.log(data);
                                                    var callback_eventid = param
                                                        .button_callback
                                                        .trim();
                                                    var info = {
                                                        eventid: callback_eventid,
                                                        edtype: "0",
                                                        projectid: '',
                                                        rclsid: '',
                                                        robjid: '',
                                                        userlogin: '',
                                                        clsid: $this.$data.param
                                                            .DataCls
                                                            .id,
                                                        objid: "",
                                                        attr: param.req,
                                                        inputparameter: data,
                                                        dataJson: [],
                                                    }
                                                    $this.DataObjRunCustomEvent(info,
                                                        param
                                                        .data_attr);
                                                }
                                            }
                                        });
                                    } else if (action.action_type == 'open_data_query_dlg') {
                                        var d = dialog({
                                            title: '<i class="ace-icon fa fa-info-circle"></i> ' +
                                                $this.translateSys("tip"),
                                            content: $this.translateSys(
                                                    "quotation_mark_left") +
                                                action
                                                .action_type + $this.translateSys(
                                                    "quotation_mark_right") + $this
                                                .translate(
                                                    "tip_action_unprocessed")
                                        });
                                        d.show();
                                    } else if (action.action_type == 'open_common_dlg') {
                                        if (val.common_dlg_id == 'check_list') {
                                            $this.setData({
                                                check_list: val.config
                                            })
                                            if (val.config.appear_style == 'sideslip') //判断是否是侧滑
                                                $this.setData({
                                                    popupType: "right"
                                                })
                                            else
                                                $this.setData({
                                                    popupType: "center"
                                                })
                                            // open 方法传入参数 等同在 uni-popup 组件上绑定 type属性
                                            $this.$refs.popup.open($this.popupType);
                                            var popupParam = {
                                                item: item,
                                                button_callback: button_callback,
                                                req: req,
                                                data_attr: data_attr
                                            }
                                            $this.setData({
                                                popupParam: popupParam
                                            })
                                        }
                                    } else if (action.action_type == 'open_project_query_dlg') {
                                        //console.log(action.value.select_range);
                                        //console.log(action.value.mulit_select);
                                        var priRel = '-1';
                                        if (action.value.select_range == '全部相关')
                                            priRel = '0';
                                        else if (action.value.select_range == '我负责的项目')
                                            priRel = '1';
                                        else if (action.value.select_range == '我创建的')
                                            priRel = '2';
                                        else if (action.value.select_range == '我参与的' || action
                                            .value
                                            .select_range == '我参加的')
                                            priRel = '3';
                                        else if (action.value.select_range == '我关注的')
                                            priRel = '4';
                                        else if (action.value.select_range == '我下属的项目')
                                            priRel = '5';
                                        var param_ = {
                                            item: item,
                                            button_callback: button_callback,
                                            req: req
                                        }
                                        uni.navigateTo({
                                            url: '../selPrj/index?relation=' + priRel +
                                                '&param=' +
                                                JSON.stringify(param_),
                                            events: {
                                                AddPer(data, param) {
                                                    var attr = param.item.fieldId;
                                                    $this.head_styledef.form.model[
                                                            attr] =
                                                        data[0].ID +
                                                        ';' + data[0].Name;
                                                    // $this.$data.classAttrList[param.index].Attr[param.iindex].Value=data[0].Name;
                                                    // $this.$data.classAttrList[param.index].Attr[param.iindex].ValID=data[0].ID+';'+data[0].Name;
                                                    var callback_eventid = param
                                                        .button_callback
                                                        .trim();
                                                    if (callback_eventid) {
                                                        var info = {
                                                            eventid: callback_eventid,
                                                            edtype: "2",
                                                            projectid: data[0].ID,
                                                            rclsid: "",
                                                            robjid: "",
                                                            userlogin: "",
                                                            clsid: $this.$data
                                                                .param
                                                                .DataCls.id,
                                                            objid: "",
                                                            attr: param.req,
                                                            dataJson: [],
                                                        }
                                                        $this.DataObjRunCustomEvent(
                                                            info);
                                                    }
                                                }
                                            }
                                        });
                                    } else {
                                        uni.showModal({
                                            title: $this.translateSys("tip"),
                                            content: $this.translateSys(
                                                    "quotation_mark_left") +
                                                action.action_type + $this.translateSys(
                                                    "quotation_mark_right") + $this
                                                .translate(
                                                    "tip_action_unprocessed"),
                                            showCancel: false,
                                            confirmText: $this.translateSys("cancel")
                                        });
                                    }
                                }
                            }
                        } else {
                            uni.showModal({
                                title: $this.translateSys('tip') + "5.2",
                                content: $this.translateSys("quotation_mark_left") +
                                    "before_click_button" + $this.translateSys(
                                        "quotation_mark_right") + $this.translateSys(
                                        "comma") + 'event_id' + eventid,
                                showCancel: false,
                                confirmText: $this.translateSys("cancel")
                            });
                        }
                    }
                }).catch(ex => {
                    // console.log(ex);
                    let exStr = JSON.stringify(ex)
                    if (exStr == "{}")
                        exStr = ex
                    let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
                    uni.showModal({
                        title: $this.translateSys('tip') + "5.1",
                        content: exStr,
                        showCancel: false,
                        confirmText: $this.translateSys("cancel")
                    });
                });
            },
            //确定
            ok() {
                this.Before_OK_Event = this.param.Sub_Page[0].Before_ok;
@@ -2389,6 +3064,51 @@
        .demo-uni-row .uni-input {
            width: calc(100% - 120px);
        }
        .popup-header {
            font-size: 42rpx;
            font-weight: bold;
            margin: 20rpx 20rpx 0px 20rpx;
        }
        .view_popup_CheckList {
            margin-bottom: 20rpx;
        }
        .popup-footer {
            float: right;
            position: absolute;
            bottom: 0;
            right: 20rpx;
        }
        button.btn_popup_add {
            width: 180rpx;
            margin-top: 50rpx;
            margin-right: 20rpx;
            padding: 15rpx;
            line-height: 1.5;
            background: #27A6E1;
            border: none;
            color: #fff;
            font-size: 38rpx;
            font-weight: bold;
            /* float: left; */
            display: inline-block;
        }
        button.btn_popup_cancel {
            width: 180rpx;
            margin-top: 50rpx;
            padding: 15rpx;
            line-height: 1.5;
            background: #27A6E1;
            border: none;
            color: #fff;
            font-size: 38rpx;
            font-weight: bold;
            /* float: right; */
            display: inline-block;
        }
    }
pages/modal/5601.vue
@@ -11,14 +11,15 @@
                        :readonly="item.disabled" :clear-icon="false" :popup-title="item.label"></uni-data-picker>
                    <view class="input-wrapper" v-if="item.name=='Input' || item.name=='InputNumber'">
                        <text v-if="item.setting.prefix" class="uni-icon" :class="[item.setting.prefix]"
                            @click="onEnterChange(item)">&#xe568;</text>
                            @click="classAttr_extButton(item)">&#xe568;</text>
                        <input class="uni-input" :class="item.disabled?'input-disabled':''"
                            :style="{'padding-left':item.setting.prefix?0 : '8rpx','right':item.setting.suffix?0 : '8rpx'}"
                            :type="item.name=='Input'?'text':'number'" v-model="item.value" :disabled="item.disabled"
                            :placeholder="item.placeholder" :focus="focusFieldId == item.fieldId" @focus="ontap(item)"
                            @click="onClick(item)" @keyup.enter="onEnterChange(item)" @blur="onEnterChange(item)"  :maxlength="-1"/>
                            @click="onClick(item)" @keyup.enter="onEnterChange(item)" @blur="onEnterChange(item)"
                            :maxlength="-1" />
                        <text v-if="item.setting.suffix" class="uni-icon" :class="[item.setting.suffix]"
                            @click="onEnterChange(item)"></text>
                            @click="classAttr_extButton(item)"></text>
                    </view>
                </uni-forms-item>
                <!-- 栅格布局 -->
@@ -32,7 +33,7 @@
                                :readonly="col.disabled" :clear-icon="false" :popup-title="col.label"></uni-data-picker>
                            <view class="input-wrapper" v-if="col.name=='Input' || col.name=='InputNumber'">
                                <text v-if="col.setting.prefix" class="uni-icon" :class="[col.setting.prefix]"
                                    @click="onEnterChange(col)">&#xe568;</text>
                                    @click="classAttr_extButton(col)">&#xe568;</text>
                                <input class="uni-input" :class="col.disabled?'input-disabled':''"
                                    :style="{'padding-left':col.setting.prefix?0 : '8px','right':col.setting.suffix?0 : '8px'}"
                                    :type="col.name=='Input'?'text':'number'" v-model="col.value"
@@ -40,7 +41,7 @@
                                    :focus="focusFieldId == col.fieldId" @focus="ontap(col)" @click="onClick(col)"
                                    @keyup.enter="onEnterChange(col)" @blur="onEnterChange(col)"  :maxlength="-1"/>
                                <text v-if="col.setting.suffix" class="uni-icon" :class="[col.setting.suffix]"
                                    @click="onEnterChange(col)"></text>
                                    @click="classAttr_extButton(col)"></text>
                            </view>
                        </uni-forms-item>
                    </uni-col>
@@ -136,6 +137,30 @@
                </div>
            </view>
        </view>
        <view>
            <uni-popup class="view-popup" ref="popup" background-color="#fff" @change="popupChange">
                <view class="popup-header">{{check_list.title}}</view>
                <view class="popup-content" :class="{ 'popup-height': popupType === 'left' || popupType === 'right' }"
                    :style="{'width':check_list.width?check_list.width+'px':'200px','height':check_list.height?check_list.height+'px':'88%'}">
                    <view class="popup-cont" :style="{'height':check_list.height?check_list.height-45+'px':'415px'}">
                        <view class="view_popup_CheckList" v-for="(item,index) in check_list.items">
                            <checkbox-group class="check_list" @change="checkChange" :data-ischeck="item.check"
                                :data-index="index" :style="{'margin-left': '10rpx'}">
                                <label>
                                    <checkbox :value="item.check" :checked="item.check" />
                                    <text>{{item.name}}</text>
                                </label>
                            </checkbox-group>
                        </view>
                    </view>
                    <view class="popup-footer">
                        <button type="default" @tap="popup_sava" class="btn_popup_add">{{translateSys('ok')}}</button>
                        <button type="default" @tap="popup_cancel"
                            class="btn_popup_cancel">{{translateSys('cancel')}}</button>
                    </view>
                </view>
            </uni-popup>
        </view>
    </view>
</template>
@@ -176,6 +201,12 @@
                active_id: '',
                selectAttrObj: {},
                global_attr: [],
                refdatastore: [], //引用数据存储区// {attr:'G_PRJ_' + bindattr + '_ID', value:info.id}
                popupType: "center",
                check_list: {},
                popupParam: {},
            };
        },
        computed: {
@@ -583,10 +614,6 @@
                    var attr = item.fieldId;
                    this.head_styledef.form.model[attr] = item.value;
                    var onChangeEvent = item.bind.onChangeEvent; //内容变化后事件
                    var onSuffixClickCallbackEvent = item.bind
                        .onSuffixClickCallbackEvent; //后图标点击事件
                    var onSuffixClickEvent = item.bind.onSuffixClickEvent; //后图标点击回调
                    var isflag = false;
                    if (onChangeEvent.id) { //内容变化后事件
                        this.onChange(onChangeEvent);
@@ -594,6 +621,36 @@
                }
            },
            classAttr_extButton(item) {
                var onSuffixClickCallbackEvent = item.bind.onSuffixClickCallbackEvent; //后图标点击事件
                var onSuffixClickEvent = item.bind.onSuffixClickEvent; //后图标点击回调
                if (!onSuffixClickCallbackEvent.id) {
                    uni.showModal({
                        title: this.translateSys("tip"),
                        content: this.translate('icon_click_callback_empty'),
                        showCancel: false,
                        confirmText: this.translateSys("cancel")
                    });
                    return;
                }
                if (!onSuffixClickEvent.id) {
                    uni.showModal({
                        title: this.translateSys("tip"),
                        content: this.translate('icon_click_event_empty'),
                        showCancel: false,
                        confirmText: this.translateSys("cancel")
                    });
                    return;
                }
                this.$data.popupType = 'right'
                // open 方法传入参数 等同在 uni-popup 组件上绑定 type属性
                this.$refs.popup.open(this.popupType);
                this.dataObjRunCustomEvent_Return(onSuffixClickCallbackEvent.id, '', onSuffixClickEvent.id,
                    item);
            },
            getDetailAttrList(pageData) {
                const detailAttrList = [];
                if (pageData.DefList) {
@@ -1521,6 +1578,636 @@
                $this.runCustomEvent(pageData, event, input_param, list);
            },
            popupChange(e) {
                console.log('当前模式:' + e.type + ',状态:' + e.show);
            },
            checkChange(e) { //弹框check选择
                // console.log(e.target.dataset);
                var index = e.target.dataset.index;
                var ischeck = e.target.dataset.ischeck;
                var data = this.$data.check_list.items;
                // this.$data.check_list.items=[];
                if (this.$data.check_list.multiple_choice == "0") { //判断时单选还是多选
                    for (var i in data) {
                        data[i].check = false;
                    }
                }
                data[index].check = ischeck ? false : true;
                this.$data.check_list.items = data;
            },
            popup_cancel(e) { //弹框取消
                this.$refs.popup.close();
            },
            popup_sava(e) { //弹框确定
                var $this = this;
                var items = $this.$data.check_list.items;
                var data = [];
                var name = "";
                for (var i = 0; i < items.length; i++) {
                    if (items[i].check == true) {
                        if (name)
                            name += ';';
                        name += items[i].name;
                        data.push({
                            id: items[i].id,
                            name: items[i].name
                        });
                    }
                }
                if (!$this.$data.popupParam) {
                    uni.showModal({
                        title: this.translateSys("tip"),
                        content: "popupParam为空!",
                        showCancel: false,
                        confirmText: this.translateSys("cancel")
                    });
                    return;
                }
                if (data.length == 0) {
                    uni.showModal({
                        title: this.translateSys("tip"),
                        content: this.translate("tip_no_select_data"),
                        showCancel: false,
                        confirmText: this.translateSys("cancel")
                    });
                    return;
                }
                var callback_eventid = $this.$data.popupParam.button_callback.trim();
                var info = {
                    eventid: callback_eventid,
                    edtype: "0",
                    projectid: '',
                    rclsid: '',
                    robjid: '',
                    userlogin: '',
                    clsid: $this.$data.ClsID,
                    objid: "",
                    attr: $this.$data.popupParam.req,
                    dataJson: data
                }
                $this.DataObjRunCustomEvent(info, $this.$data.popupParam.data_attr);
                this.$refs.popup.close();
            },
            async DataObjRunCustomEvent(info, data_attr) {
                var $this = this;
                var enviroment = {
                    'function': '3000', // 功能点编号
                    cls_id: this.$data.ClsID, // 功能点主数据类标识
                    'button': 'top', // top/bottom
                    button_name: this.translateSys('add2'),
                    master: {
                        cls_id: this.$data.ClsID, // button=bottom时 master的cls_id
                        //obj_id: ''  // button=bottom时 master的obj_id
                    }
                };
                if (data_attr) {
                    enviroment.edit_dlg = {
                        type: 'small', //小窗口
                        class_id: this.$data.ClsID, //当前数据类id
                    }
                    if (data_attr) {
                        enviroment.edit_dlg.form_control = { //所属的表单控件
                            name: data_attr.Name, //字段属性
                            text: data_attr.DispName, //显示文本
                            group_name: data_attr.GroupName, //属性组
                            type: data_attr.Type, //字段类型
                            readonly: data_attr.ReadOnly, //是否只读
                            button_img: data_attr.button_img, //引用按钮的图标
                            button_tooltip: data_attr.button_tooltip //引用按钮的tooltip
                        }
                    }
                }
                enviroment = Base64.encode(JSON.stringify(enviroment)); //将字符串转换为base64编码
                var input_param = Base64.encode(JSON.stringify(info.attr)); //将字符串转换为base64编码
                var global_attr = Base64.encode(JSON.stringify(this.$data.global_attr)); //将字符串转换为base64编码
                if (info.dataJson)
                    info.dataJson = Base64.encode(JSON.stringify(info.dataJson)); //将字符串转换为base64编码
                var obj_attr = {};
                info.attr.forEach(item => {
                    obj_attr[item.attr] = item.value;
                });
                if (!info.eventid.includes('{')) info.eventid = '{' + info.eventid + '}';
                var dataInfo = {
                    ed_type: info.edtype,
                    start_transaction: true,
                    class_id: info.clsid,
                    class_name: '',
                    event_id: info.eventid,
                    event_name: '',
                    data_obj_id: info.objid,
                    obj_attr: obj_attr,
                    prj_id: info.projectid,
                    ref_cls_id: info.rclsid,
                    rel_obj_id: info.robjid,
                    user_login: info.userlogin,
                    data_json: info.dataJson,
                    compose_info: '',
                    ext_info: enviroment,
                    global_attr: global_attr,
                    input_param: input_param,
                };
                console.log(dataInfo);
                // return;
                runCustomEvent(dataInfo).then(data => {
                    if (data.ret != 0) {
                        var tip = data.err_info ? typeof data.err_info == 'string' ? data
                            .err_info :
                            data
                            .err_info.join('<br/>') : '';
                        if (data.ret == 801) {
                            if (this.param.Only_Script_Error) {
                                let pos = tip.indexOf(":");
                                if (pos > -1) tip = tip.substring(pos + 1);
                            }
                            uni.showModal({
                                title: this.translateSys("tip"),
                                content: tip,
                                showCancel: false,
                                confirmText: this.translateSys("cancel")
                            });
                        } else uni.showModal({
                            title: this.translateSys("tip"),
                            content: tip + ',' + this.translateSys('tip') + ':' + data
                                .ret,
                            showCancel: false,
                            confirmText: this.translateSys("cancel")
                        });
                        return false
                    } else {
                        var tip = data.info ? typeof data.info == 'string' ? data.info : data
                            .info
                            .join(
                                '<br/>') : '';
                        if (tip) uni.showModal({
                            title: this.translateSys("tip"),
                            content: tip,
                            showCancel: false,
                            confirmText: this.translateSys("cancel")
                        });
                        var actionlist = data.action;
                        if (actionlist) {
                            console.log(actionlist);
                            for (var i = 0; i < actionlist.length; i++) {
                                var action = actionlist[i];
                                if (action.action_type == 'set_dlg_attr') {
                                    var result = action.value;
                                    $this.setFormValues(result)
                                } else if (action.action_type == 'set_dlg_attr_show') {
                                    var result = action.value;
                                    result.forEach(async (attr, key) => {
                                        $this.$data.head_styledef.form.items
                                            .forEach(
                                                async (ele,
                                                    index) => {
                                                    //判断是否是栅格表单
                                                    if (ele.name != 'Layout') {
                                                        if (ele.fieldId == attr
                                                            .attr) {
                                                            ele.show = attr
                                                                .show;
                                                        }
                                                    } else if (ele.name ==
                                                        'Layout') {
                                                        ele.setting.colList
                                                            .forEach(
                                                                col => {
                                                                    if (col) {
                                                                        if (col
                                                                            .fieldId ==
                                                                            attr
                                                                            .attr
                                                                        ) {
                                                                            col.show =
                                                                                attr
                                                                                .show;
                                                                        }
                                                                    }
                                                                });
                                                    }
                                                });
                                    });
                                    var head_styledef = JSON.parse(JSON.stringify($this.$data
                                        .head_styledef));
                                    $this.$data.head_styledef = [];
                                    $this.$data.head_styledef = head_styledef;
                                    // console.log($this.$data.head_styledef);
                                } else if (action.action_type == 'set_global_attr') {
                                    $this.$data.global_attr = action.value || [];
                                } else {
                                    uni.showModal({
                                        title: this.translateSys("tip"),
                                        content: this.translateSys(
                                                "quotation_mark_left") +
                                            action
                                            .action_type + this.translateSys(
                                                "quotation_mark_right") + this
                                            .translate(
                                                "tip_action_unprocessed"),
                                        showCancel: false,
                                        confirmText: this.translateSys("cancel")
                                    });
                                }
                            }
                        }
                        console.log($this.head_styledef);
                        if (data.result) {
                            var result = data.result;
                            for (var i = 0; i < result.length; i++) {
                                for (var c = 0; c < $this.$data.head_styledef.form.items
                                    .length; c++) {
                                    var attr = $this.$data.head_styledef.form.items[c];
                                    //判断表单里是否有返回字段,没有就装载到model里,点击确定提交的时候带上这些数据
                                    if ($this.head_styledef.form.model[result[i].attr] ==
                                        undefined) {
                                        $this.head_styledef.form.model[result[i].attr] =
                                            result[i]
                                            .value;
                                    }
                                    //判断是否是栅格表单
                                    if (attr.name != 'Layout') {
                                        if (attr.fieldId == result[i].attr) {
                                            attr.value = '';
                                            attr.oldvalue = '';
                                            attr.value = result[i].value;
                                            attr.oldvalue = result[i].value;
                                            $this.head_styledef.form.model[attr.fieldId] =
                                                result[i]
                                                .value;
                                        }
                                    } else if (attr.name == 'Layout') {
                                        attr.setting.colList.forEach(col => {
                                            if (col) {
                                                if (col.fieldId == result[i].attr) {
                                                    col.value = '';
                                                    col.oldvalue = '';
                                                    col.value = result[i].value;
                                                    col.oldvalue = result[i].value;
                                                    $this.head_styledef.form.model[col
                                                            .fieldId] =
                                                        result[i].value;
                                                }
                                            }
                                        });
                                    }
                                }
                                var length = 0;
                                if (!$this.$data.refdatastore.filter(function(s) {
                                        return result[i].attr == s.attr
                                    }).length) {
                                    length = 1;
                                    $this.$data.refdatastore.push(result[i]);
                                }
                                if (length == 0) {
                                    for (var j = 0; j < $this.$data.refdatastore.length; j++) {
                                        if ($this.$data.refdatastore[j].attr == result[i]
                                            .attr) {
                                            $this.$data.refdatastore[j].value = result[i]
                                                .value;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }).catch(ex => {
                    // console.log(ex);
                    let exStr = JSON.stringify(ex)
                    if (exStr == "{}")
                        exStr = ex
                    let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
                    uni.showModal({
                        title: this.translateSys("error") + "3.1",
                        content: exStr,
                        showCancel: false,
                        confirmText: this.translateSys("cancel")
                    });
                });
            },
            dataObjRunCustomEvent_Return(eventid, data_attr, button_callback, item) {
                console.log("dataObjRunCustomEvent_Return",eventid,data_attr,button_callback)
                const $this = this
                var enviroment = {
                    'function': '3000', // 功能点编号
                    cls_id: $this.ClsID, // 功能点主数据类标识
                    'button': 'top', // top/bottom
                    button_name: $this.translateSys('add2'),
                    master: {
                        cls_id: $this.ClsID, // button=bottom时 master的cls_id
                        //obj_id: ''  // button=bottom时 master的obj_id
                    }
                };
                var obj_attr = $this.head_styledef.form.model;
                console.log(obj_attr);
                var req = Object.keys(obj_attr).map((a) => ({
                    attr: a,
                    value: obj_attr[a] || "",
                }));
                if ($this.refdatastore.length > 0) {
                    for (var i = 0; i < $this.refdatastore.length; i++) {
                        if (!req.filter(function(s) {
                                return $this.refdatastore[i].attr == s.name
                            }).length) {
                            req.push({
                                'attr': $this.refdatastore[i].attr,
                                'value': $this.refdatastore[i].value
                            });
                        }
                    }
                }
                var extinfo = enviroment;
                extinfo.edit_dlg = {
                    type: 'small', //小窗口
                    class_id: $this.ClsID, //当前数据类id
                }
                extinfo = Base64.encode(JSON.stringify(extinfo)); //将字符串转换为base64编码
                var global_attr = Base64.encode(JSON.stringify($this.global_attr)); //将字符串转换为base64编码
                var obj_attr = {};
                req.forEach(item2 => {
                    obj_attr[item2.attr] = item2.value;
                });
                let input_param = Base64.encode(
                    JSON.stringify(
                        Object.keys(obj_attr).map((a) => ({
                            attr: a,
                            value: obj_attr[a] || "",
                        }))
                    )
                );
                if (!eventid.includes('{')) eventid = '{' + eventid + '}';
                var dataInfo = {
                    ed_type: "0",
                    start_transaction: true,
                    class_id: $this.ClsID,
                    class_name: '',
                    event_id: eventid,
                    event_name: '',
                    data_obj_id: '',
                    obj_attr: obj_attr,
                    prj_id: '',
                    ref_cls_id: '',
                    rel_obj_id: '',
                    user_login: '',
                    data_json: [],
                    compose_info: '',
                    ext_info: extinfo,
                    global_attr: global_attr,
                    input_param: input_param,
                };
                console.log(dataInfo);
                // return;
                runCustomEvent(dataInfo).then(data => {
                    if (data.ret != 0) {
                        var tip = data.err_info ? typeof data.err_info == 'string' ? data
                            .err_info :
                            data
                            .err_info.join('<br/>') : '';
                        if (data.ret == 801) {
                            if ($this.param.Only_Script_Error) {
                                let pos = tip.indexOf(":");
                                if (pos > -1) tip = tip.substring(pos + 1);
                            }
                            uni.showModal({
                                title: $this.translateSys("tip"),
                                content: tip,
                                showCancel: false,
                                confirmText: $this.translateSys("cancel")
                            });
                        } else uni.showModal({
                            title: $this.translateSys("tip"),
                            content: tip + ',' + $this.translateSys('tip') + ':' + data
                                .ret,
                            showCancel: false,
                            confirmText: $this.translateSys("cancel")
                        });
                        return false
                    } else {
                        var tip = data.info ? typeof data.info == 'string' ? data.info : data
                            .info
                            .join(
                                '<br/>') : '';
                        if (tip) uni.showModal({
                            title: $this.translateSys("tip"),
                            content: tip,
                            showCancel: false,
                            confirmText: $this.translateSys("cancel")
                        });
                        if (data != "") {
                            var actions = data.action;
                            if (actions) {
                                for (var i = 0; i < actions.length; i++) {
                                    var action = actions[i];
                                    console.log(action)
                                    var val = action.value;
                                    var enviroment = JSON.stringify(enviroment);
                                    if (action.action_type == 'open_panel') {
                                        var d = dialog({
                                            title: '<i class="ace-icon fa fa-info-circle"></i> ' +
                                                $this.translateSys("tip"),
                                            content: $this.translateSys(
                                                    "quotation_mark_left") +
                                                action
                                                .action_type + $this.translateSys(
                                                    "quotation_mark_right") + $this
                                                .translate(
                                                    "tip_action_unprocessed")
                                        });
                                        d.show();
                                    } else if (action.action_type == 'open_select_userdlg') {
                                        var style = val.style;
                                        // style == 'user' ? '选择人员' : style == 'department' ? '选择部门' : style == 'role' ? '选择角色' : ''
                                        var param = {
                                            item: item,
                                            button_callback: button_callback,
                                            req: req,
                                            data_attr: data_attr
                                        }
                                        uni.navigateTo({
                                            url: '../selpsn/index?mulit=false&param=' +
                                                JSON
                                                .stringify(
                                                    param),
                                            events: {
                                                AddPer(data, param) {
                                                    // console.log(param);
                                                    console.log(data);
                                                    var callback_eventid = param
                                                        .button_callback
                                                        .trim();
                                                    var info = {
                                                        eventid: callback_eventid,
                                                        edtype: "0",
                                                        projectid: '',
                                                        rclsid: '',
                                                        robjid: '',
                                                        userlogin: '',
                                                        clsid: $this.$data.param
                                                            .DataCls
                                                            .id,
                                                        objid: "",
                                                        attr: param.req,
                                                        inputparameter: data,
                                                        dataJson: [],
                                                    }
                                                    $this.DataObjRunCustomEvent(info,
                                                        param
                                                        .data_attr);
                                                }
                                            }
                                        });
                                    } else if (action.action_type == 'open_data_query_dlg') {
                                        var d = dialog({
                                            title: '<i class="ace-icon fa fa-info-circle"></i> ' +
                                                $this.translateSys("tip"),
                                            content: $this.translateSys(
                                                    "quotation_mark_left") +
                                                action
                                                .action_type + $this.translateSys(
                                                    "quotation_mark_right") + $this
                                                .translate(
                                                    "tip_action_unprocessed")
                                        });
                                        d.show();
                                    } else if (action.action_type == 'open_common_dlg') {
                                        if (val.common_dlg_id == 'check_list') {
                                            $this.setData({
                                                check_list: val.config
                                            })
                                            if (val.config.appear_style == 'sideslip') //判断是否是侧滑
                                                $this.setData({
                                                    popupType: "right"
                                                })
                                            else
                                                $this.setData({
                                                    popupType: "center"
                                                })
                                            // open 方法传入参数 等同在 uni-popup 组件上绑定 type属性
                                            $this.$refs.popup.open($this.popupType);
                                            var popupParam = {
                                                item: item,
                                                button_callback: button_callback,
                                                req: req,
                                                data_attr: data_attr
                                            }
                                            $this.setData({
                                                popupParam: popupParam
                                            })
                                        }
                                    } else if (action.action_type == 'open_project_query_dlg') {
                                        //console.log(action.value.select_range);
                                        //console.log(action.value.mulit_select);
                                        var priRel = '-1';
                                        if (action.value.select_range == '全部相关')
                                            priRel = '0';
                                        else if (action.value.select_range == '我负责的项目')
                                            priRel = '1';
                                        else if (action.value.select_range == '我创建的')
                                            priRel = '2';
                                        else if (action.value.select_range == '我参与的' || action
                                            .value
                                            .select_range == '我参加的')
                                            priRel = '3';
                                        else if (action.value.select_range == '我关注的')
                                            priRel = '4';
                                        else if (action.value.select_range == '我下属的项目')
                                            priRel = '5';
                                        var param_ = {
                                            item: item,
                                            button_callback: button_callback,
                                            req: req
                                        }
                                        uni.navigateTo({
                                            url: '../selPrj/index?relation=' + priRel +
                                                '&param=' +
                                                JSON.stringify(param_),
                                            events: {
                                                AddPer(data, param) {
                                                    var attr = param.item.fieldId;
                                                    $this.head_styledef.form.model[
                                                            attr] =
                                                        data[0].ID +
                                                        ';' + data[0].Name;
                                                    // $this.$data.classAttrList[param.index].Attr[param.iindex].Value=data[0].Name;
                                                    // $this.$data.classAttrList[param.index].Attr[param.iindex].ValID=data[0].ID+';'+data[0].Name;
                                                    var callback_eventid = param
                                                        .button_callback
                                                        .trim();
                                                    if (callback_eventid) {
                                                        var info = {
                                                            eventid: callback_eventid,
                                                            edtype: "2",
                                                            projectid: data[0].ID,
                                                            rclsid: "",
                                                            robjid: "",
                                                            userlogin: "",
                                                            clsid: $this.$data
                                                                .param
                                                                .DataCls.id,
                                                            objid: "",
                                                            attr: param.req,
                                                            dataJson: [],
                                                        }
                                                        $this.DataObjRunCustomEvent(
                                                            info);
                                                    }
                                                }
                                            }
                                        });
                                    } else {
                                        uni.showModal({
                                            title: $this.translateSys("tip"),
                                            content: $this.translateSys(
                                                    "quotation_mark_left") +
                                                action.action_type + $this.translateSys(
                                                    "quotation_mark_right") + $this
                                                .translate(
                                                    "tip_action_unprocessed"),
                                            showCancel: false,
                                            confirmText: $this.translateSys("cancel")
                                        });
                                    }
                                }
                            }
                        } else {
                            uni.showModal({
                                title: $this.translateSys('tip') + "5.2",
                                content: $this.translateSys("quotation_mark_left") +
                                    "before_click_button" + $this.translateSys(
                                        "quotation_mark_right") + $this.translateSys(
                                        "comma") + 'event_id' + eventid,
                                showCancel: false,
                                confirmText: $this.translateSys("cancel")
                            });
                        }
                    }
                }).catch(ex => {
                    // console.log(ex);
                    let exStr = JSON.stringify(ex)
                    if (exStr == "{}")
                        exStr = ex
                    let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
                    uni.showModal({
                        title: $this.translateSys('tip') + "5.1",
                        content: exStr,
                        showCancel: false,
                        confirmText: $this.translateSys("cancel")
                    });
                });
            },
            onPanelClick(value, id) {
                // console.log(value);
                this.active_id = id;
@@ -2378,6 +3065,51 @@
            border-radius: 5px;
        }
        .popup-header {
            font-size: 42rpx;
            font-weight: bold;
            margin: 20rpx 20rpx 0px 20rpx;
        }
        .view_popup_CheckList {
            margin-bottom: 20rpx;
        }
        .popup-footer {
            float: right;
            position: absolute;
            bottom: 0;
            right: 20rpx;
        }
        button.btn_popup_add {
            width: 180rpx;
            margin-top: 50rpx;
            margin-right: 20rpx;
            padding: 15rpx;
            line-height: 1.5;
            background: #27A6E1;
            border: none;
            color: #fff;
            font-size: 38rpx;
            font-weight: bold;
            /* float: left; */
            display: inline-block;
        }
        button.btn_popup_cancel {
            width: 180rpx;
            margin-top: 50rpx;
            padding: 15rpx;
            line-height: 1.5;
            background: #27A6E1;
            border: none;
            color: #fff;
            font-size: 38rpx;
            font-weight: bold;
            /* float: right; */
            display: inline-block;
        }
    }
pages/modal/5602.vue
@@ -20,7 +20,7 @@
                <view class="input-wrapper" :style="{'width':`calc(96% - ${item.labelWidth}px)`}"
                    v-if="item.name=='Input' || item.name=='InputNumber'">
                    <text v-if="item.setting.prefix" class="uni-icon" :class="[item.setting.prefix]"
                        @click="onEnterChange(item)">&#xe568;</text>
                        @click="classAttr_extButton(item)">&#xe568;</text>
                    <input class="uni-input" :class="item.disabled?'input-disabled':''"
                        :type="item.name=='Input'?'text':'number'" v-model="item.value" :disabled="item.disabled"
                        :placeholder="item.placeholder"
@@ -28,7 +28,7 @@
                        :focus="focusFieldId == item.fieldId" @focus="ontap(index,item)" @click="onClick(item)"
                        @keyup.enter="onEnterChange(item)" @blur="onEnterChange(item)"  :maxlength="-1"/>
                    <text v-if="item.setting.suffix" class="uni-icon" :class="[item.setting.suffix]"
                        @click="onEnterChange(item)">&#xe568;</text>
                        @click="classAttr_extButton(item)">&#xe568;</text>
                </view>
            </view>
        </view>
@@ -168,14 +168,31 @@
            </view>
        </view>
        <!-- <view v-if="current==0 && param.Sub_Page[0].OK_Button==true">
            <button type="default" @tap="cancel" class="btn_cancel">取消</button>
            <button type="primary" @tap="ok" class="btn_add">确定</button>
        <view>
            <uni-popup class="view-popup" ref="popup" background-color="#fff" @change="popupChange">
                <view class="popup-header">{{check_list.title}}</view>
                <view class="popup-content" :class="{ 'popup-height': popupType === 'left' || popupType === 'right' }"
                    :style="{'width':check_list.width?check_list.width+'px':'200px','height':check_list.height?check_list.height+'px':'88%'}">
                    <view class="popup-cont" :style="{'height':check_list.height?check_list.height-45+'px':'415px'}">
                        <view class="view_popup_CheckList" v-for="(item,index) in check_list.items">
                            <checkbox-group class="check_list" @change="checkChange" :data-ischeck="item.check"
                                :data-index="index" :style="{'margin-left': '10rpx'}">
                                <label>
                                    <checkbox :value="item.check" :checked="item.check" />
                                    <text>{{item.name}}</text>
                                </label>
                            </checkbox-group>
        </view>
        <view v-if="current==1 && param.Sub_Page[1].OK_Button==true">
            <button type="default" @tap="cancel" class="btn_cancel">取消</button>
            <button type="primary" @tap="ok2" class="btn_add">确定</button>
        </view> -->
                    </view>
                    <view class="popup-footer">
                        <button type="default" @tap="popup_sava" class="btn_popup_add">{{translateSys('ok')}}</button>
                        <button type="default" @tap="popup_cancel"
                            class="btn_popup_cancel">{{translateSys('cancel')}}</button>
                    </view>
                </view>
            </uni-popup>
        </view>
    </view>
</template>
@@ -226,6 +243,13 @@
                activelist: [],
                okLoading: false,
                ok2Loading: false,
                global_attr: [],
                refdatastore: [], //引用数据存储区// {attr:'G_PRJ_' + bindattr + '_ID', value:info.id}
                popupType: "center",
                check_list: {},
                popupParam: {},
            };
        },
        onLoad(options) {
@@ -613,21 +637,43 @@
                    var attr = item.fieldId;
                    this.head_styledef.form.model[attr] = item.value;
                    var onChangeEvent = item.bind.onChangeEvent; //内容变化后事件
                    var onSuffixClickCallbackEvent = item.bind.onSuffixClickCallbackEvent; //后图标点击事件
                    var onSuffixClickEvent = item.bind.onSuffixClickEvent; //后图标点击回调
                    var isflag = false;
                    if (onChangeEvent.id) { //内容变化后事件
                        this.onChange(onChangeEvent);
                    }
                    // if(onSuffixClickCallbackEvent.id){   //后图标点击事件
                    //   this.onSuffixClick(onSuffixClickCallbackEvent);
                    // }
                    // if(onSuffixClickEvent.id){   //后图标点击回调
                    //   this.onSuffixClickCallback(onSuffixClickEvent);
                    // }
                }
            },
            classAttr_extButton(item) {
                var onSuffixClickCallbackEvent = item.bind.onSuffixClickCallbackEvent; //后图标点击事件
                var onSuffixClickEvent = item.bind.onSuffixClickEvent; //后图标点击回调
                if (!onSuffixClickCallbackEvent.id) {
                    uni.showModal({
                        title: this.translateSys("tip"),
                        content: this.translate('icon_click_callback_empty'),
                        showCancel: false,
                        confirmText: this.translateSys("cancel")
                    });
                    return;
                }
                if (!onSuffixClickEvent.id) {
                    uni.showModal({
                        title: this.translateSys("tip"),
                        content: this.translate('icon_click_event_empty'),
                        showCancel: false,
                        confirmText: this.translateSys("cancel")
                    });
                    return;
                }
                this.$data.popupType = 'right'
                // open 方法传入参数 等同在 uni-popup 组件上绑定 type属性
                this.$refs.popup.open(this.popupType);
                this.dataObjRunCustomEvent_Return(onSuffixClickCallbackEvent.id, '', onSuffixClickEvent.id,
                    item);
            },
            getDetailAttrList(list, selectButton) {
                const detailAttrList = [];
                list.forEach(style => {
@@ -1484,6 +1530,634 @@
                this.activelist[value].active = true;
                // console.log(this.$data.activelist);
            },
            popupChange(e) {
                console.log('当前模式:' + e.type + ',状态:' + e.show);
            },
            checkChange(e) { //弹框check选择
                // console.log(e.target.dataset);
                var index = e.target.dataset.index;
                var ischeck = e.target.dataset.ischeck;
                var data = this.$data.check_list.items;
                // this.$data.check_list.items=[];
                if (this.$data.check_list.multiple_choice == "0") { //判断时单选还是多选
                    for (var i in data) {
                        data[i].check = false;
                    }
                }
                data[index].check = ischeck ? false : true;
                this.$data.check_list.items = data;
            },
            popup_cancel(e) { //弹框取消
                this.$refs.popup.close();
            },
            popup_sava(e) { //弹框确定
                var $this = this;
                var items = $this.$data.check_list.items;
                var data = [];
                var name = "";
                for (var i = 0; i < items.length; i++) {
                    if (items[i].check == true) {
                        if (name)
                            name += ';';
                        name += items[i].name;
                        data.push({
                            id: items[i].id,
                            name: items[i].name
                        });
                    }
                }
                if (!$this.$data.popupParam) {
                    uni.showModal({
                        title: this.translateSys("tip"),
                        content: "popupParam为空!",
                        showCancel: false,
                        confirmText: this.translateSys("cancel")
                    });
                    return;
                }
                if (data.length == 0) {
                    uni.showModal({
                        title: this.translateSys("tip"),
                        content: this.translate("tip_no_select_data"),
                        showCancel: false,
                        confirmText: this.translateSys("cancel")
                    });
                    return;
                }
                var callback_eventid = $this.$data.popupParam.button_callback.trim();
                var info = {
                    eventid: callback_eventid,
                    edtype: "0",
                    projectid: '',
                    rclsid: '',
                    robjid: '',
                    userlogin: '',
                    clsid: $this.$data.ClsID,
                    objid: "",
                    attr: $this.$data.popupParam.req,
                    dataJson: data
                }
                $this.DataObjRunCustomEvent(info, $this.$data.popupParam.data_attr);
                this.$refs.popup.close();
            },
            async DataObjRunCustomEvent(info, data_attr) {
                var $this = this;
                var enviroment = {
                    'function': '3000', // 功能点编号
                    cls_id: this.$data.ClsID, // 功能点主数据类标识
                    'button': 'top', // top/bottom
                    button_name: this.translateSys('add2'),
                    master: {
                        cls_id: this.$data.ClsID, // button=bottom时 master的cls_id
                        //obj_id: ''  // button=bottom时 master的obj_id
                    }
                };
                if (data_attr) {
                    enviroment.edit_dlg = {
                        type: 'small', //小窗口
                        class_id: this.$data.ClsID, //当前数据类id
                    }
                    if (data_attr) {
                        enviroment.edit_dlg.form_control = { //所属的表单控件
                            name: data_attr.Name, //字段属性
                            text: data_attr.DispName, //显示文本
                            group_name: data_attr.GroupName, //属性组
                            type: data_attr.Type, //字段类型
                            readonly: data_attr.ReadOnly, //是否只读
                            button_img: data_attr.button_img, //引用按钮的图标
                            button_tooltip: data_attr.button_tooltip //引用按钮的tooltip
                        }
                    }
                }
                enviroment = Base64.encode(JSON.stringify(enviroment)); //将字符串转换为base64编码
                var input_param = Base64.encode(JSON.stringify(info.attr)); //将字符串转换为base64编码
                var global_attr = Base64.encode(JSON.stringify(this.$data.global_attr)); //将字符串转换为base64编码
                if (info.dataJson)
                    info.dataJson = Base64.encode(JSON.stringify(info.dataJson)); //将字符串转换为base64编码
                var obj_attr = {};
                info.attr.forEach(item => {
                    obj_attr[item.attr] = item.value;
                });
                if (!info.eventid.includes('{')) info.eventid = '{' + info.eventid + '}';
                var dataInfo = {
                    ed_type: info.edtype,
                    start_transaction: true,
                    class_id: info.clsid,
                    class_name: '',
                    event_id: info.eventid,
                    event_name: '',
                    data_obj_id: info.objid,
                    obj_attr: obj_attr,
                    prj_id: info.projectid,
                    ref_cls_id: info.rclsid,
                    rel_obj_id: info.robjid,
                    user_login: info.userlogin,
                    data_json: info.dataJson,
                    compose_info: '',
                    ext_info: enviroment,
                    global_attr: global_attr,
                    input_param: input_param,
                };
                console.log(dataInfo);
                // return;
                runCustomEvent(dataInfo).then(data => {
                    if (data.ret != 0) {
                        var tip = data.err_info ? typeof data.err_info == 'string' ? data
                            .err_info :
                            data
                            .err_info.join('<br/>') : '';
                        if (data.ret == 801) {
                            if (this.param.Only_Script_Error) {
                                let pos = tip.indexOf(":");
                                if (pos > -1) tip = tip.substring(pos + 1);
                            }
                            uni.showModal({
                                title: this.translateSys("tip"),
                                content: tip,
                                showCancel: false,
                                confirmText: this.translateSys("cancel")
                            });
                        } else uni.showModal({
                            title: this.translateSys("tip"),
                            content: tip + ',' + this.translateSys('tip') + ':' + data
                                .ret,
                            showCancel: false,
                            confirmText: this.translateSys("cancel")
                        });
                        return false
                    } else {
                        var tip = data.info ? typeof data.info == 'string' ? data.info : data
                            .info
                            .join(
                                '<br/>') : '';
                        if (tip) uni.showModal({
                            title: this.translateSys("tip"),
                            content: tip,
                            showCancel: false,
                            confirmText: this.translateSys("cancel")
                        });
                        var actionlist = data.action;
                        if (actionlist) {
                            console.log(actionlist);
                            for (var i = 0; i < actionlist.length; i++) {
                                var action = actionlist[i];
                                if (action.action_type == 'set_dlg_attr') {
                                    var result = action.value;
                                    $this.setFormValues(result)
                                } else if (action.action_type == 'set_dlg_attr_show') {
                                    var result = action.value;
                                    result.forEach(async (attr, key) => {
                                        $this.$data.head_styledef.form.items
                                            .forEach(
                                                async (ele,
                                                    index) => {
                                                    //判断是否是栅格表单
                                                    if (ele.name != 'Layout') {
                                                        if (ele.fieldId == attr
                                                            .attr) {
                                                            ele.show = attr
                                                                .show;
                                                        }
                                                    } else if (ele.name ==
                                                        'Layout') {
                                                        ele.setting.colList
                                                            .forEach(
                                                                col => {
                                                                    if (col) {
                                                                        if (col
                                                                            .fieldId ==
                                                                            attr
                                                                            .attr
                                                                        ) {
                                                                            col.show =
                                                                                attr
                                                                                .show;
                                                                        }
                                                                    }
                                                                });
                                                    }
                                                });
                                    });
                                    var head_styledef = JSON.parse(JSON.stringify($this.$data
                                        .head_styledef));
                                    $this.$data.head_styledef = [];
                                    $this.$data.head_styledef = head_styledef;
                                    // console.log($this.$data.head_styledef);
                                } else if (action.action_type == 'set_global_attr') {
                                    $this.$data.global_attr = action.value || [];
                                } else {
                                    uni.showModal({
                                        title: this.translateSys("tip"),
                                        content: this.translateSys(
                                                "quotation_mark_left") +
                                            action
                                            .action_type + this.translateSys(
                                                "quotation_mark_right") + this
                                            .translate(
                                                "tip_action_unprocessed"),
                                        showCancel: false,
                                        confirmText: this.translateSys("cancel")
                                    });
                                }
                            }
                        }
                        console.log($this.head_styledef);
                        if (data.result) {
                            var result = data.result;
                            for (var i = 0; i < result.length; i++) {
                                for (var c = 0; c < $this.$data.head_styledef.form.items
                                    .length; c++) {
                                    var attr = $this.$data.head_styledef.form.items[c];
                                    //判断表单里是否有返回字段,没有就装载到model里,点击确定提交的时候带上这些数据
                                    if ($this.head_styledef.form.model[result[i].attr] ==
                                        undefined) {
                                        $this.head_styledef.form.model[result[i].attr] =
                                            result[i]
                                            .value;
                                    }
                                    //判断是否是栅格表单
                                    if (attr.name != 'Layout') {
                                        if (attr.fieldId == result[i].attr) {
                                            attr.value = '';
                                            attr.oldvalue = '';
                                            attr.value = result[i].value;
                                            attr.oldvalue = result[i].value;
                                            $this.head_styledef.form.model[attr.fieldId] =
                                                result[i]
                                                .value;
                                        }
                                    } else if (attr.name == 'Layout') {
                                        attr.setting.colList.forEach(col => {
                                            if (col) {
                                                if (col.fieldId == result[i].attr) {
                                                    col.value = '';
                                                    col.oldvalue = '';
                                                    col.value = result[i].value;
                                                    col.oldvalue = result[i].value;
                                                    $this.head_styledef.form.model[col
                                                            .fieldId] =
                                                        result[i].value;
                                                }
                                            }
                                        });
                                    }
                                }
                                var length = 0;
                                if (!$this.$data.refdatastore.filter(function(s) {
                                        return result[i].attr == s.attr
                                    }).length) {
                                    length = 1;
                                    $this.$data.refdatastore.push(result[i]);
                                }
                                if (length == 0) {
                                    for (var j = 0; j < $this.$data.refdatastore.length; j++) {
                                        if ($this.$data.refdatastore[j].attr == result[i]
                                            .attr) {
                                            $this.$data.refdatastore[j].value = result[i]
                                                .value;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }).catch(ex => {
                    // console.log(ex);
                    let exStr = JSON.stringify(ex)
                    if (exStr == "{}")
                        exStr = ex
                    let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
                    uni.showModal({
                        title: this.translateSys("error") + "3.1",
                        content: exStr,
                        showCancel: false,
                        confirmText: this.translateSys("cancel")
                    });
                });
            },
            dataObjRunCustomEvent_Return(eventid, data_attr, button_callback, item) {
                const $this = this
                var enviroment = {
                    'function': '3000', // 功能点编号
                    cls_id: $this.ClsID, // 功能点主数据类标识
                    'button': 'top', // top/bottom
                    button_name: $this.translateSys('add2'),
                    master: {
                        cls_id: $this.ClsID, // button=bottom时 master的cls_id
                        //obj_id: ''  // button=bottom时 master的obj_id
                    }
                };
                var obj_attr = $this.head_styledef.form.model;
                console.log(obj_attr);
                var req = Object.keys(obj_attr).map((a) => ({
                    attr: a,
                    value: obj_attr[a] || "",
                }));
                if ($this.refdatastore.length > 0) {
                    for (var i = 0; i < $this.refdatastore.length; i++) {
                        if (!req.filter(function(s) {
                                return $this.refdatastore[i].attr == s.name
                            }).length) {
                            req.push({
                                'attr': $this.refdatastore[i].attr,
                                'value': $this.refdatastore[i].value
                            });
                        }
                    }
                }
                var extinfo = enviroment;
                extinfo.edit_dlg = {
                    type: 'small', //小窗口
                    class_id: $this.ClsID, //当前数据类id
                }
                extinfo = Base64.encode(JSON.stringify(extinfo)); //将字符串转换为base64编码
                var global_attr = Base64.encode(JSON.stringify($this.global_attr)); //将字符串转换为base64编码
                var obj_attr = {};
                req.forEach(item2 => {
                    obj_attr[item2.attr] = item2.value;
                });
                let input_param = Base64.encode(
                    JSON.stringify(
                        Object.keys(obj_attr).map((a) => ({
                            attr: a,
                            value: obj_attr[a] || "",
                        }))
                    )
                );
                if (!eventid.includes('{')) eventid = '{' + eventid + '}';
                var dataInfo = {
                    ed_type: "0",
                    start_transaction: true,
                    class_id: $this.ClsID,
                    class_name: '',
                    event_id: eventid,
                    event_name: '',
                    data_obj_id: '',
                    obj_attr: obj_attr,
                    prj_id: '',
                    ref_cls_id: '',
                    rel_obj_id: '',
                    user_login: '',
                    data_json: [],
                    compose_info: '',
                    ext_info: extinfo,
                    global_attr: global_attr,
                    input_param: input_param,
                };
                console.log(dataInfo);
                // return;
                runCustomEvent(dataInfo).then(data => {
                    if (data.ret != 0) {
                        var tip = data.err_info ? typeof data.err_info == 'string' ? data
                            .err_info :
                            data
                            .err_info.join('<br/>') : '';
                        if (data.ret == 801) {
                            if ($this.param.Only_Script_Error) {
                                let pos = tip.indexOf(":");
                                if (pos > -1) tip = tip.substring(pos + 1);
                            }
                            uni.showModal({
                                title: $this.translateSys("tip"),
                                content: tip,
                                showCancel: false,
                                confirmText: $this.translateSys("cancel")
                            });
                        } else uni.showModal({
                            title: $this.translateSys("tip"),
                            content: tip + ',' + $this.translateSys('tip') + ':' + data
                                .ret,
                            showCancel: false,
                            confirmText: $this.translateSys("cancel")
                        });
                        return false
                    } else {
                        var tip = data.info ? typeof data.info == 'string' ? data.info : data
                            .info
                            .join(
                                '<br/>') : '';
                        if (tip) uni.showModal({
                            title: $this.translateSys("tip"),
                            content: tip,
                            showCancel: false,
                            confirmText: $this.translateSys("cancel")
                        });
                        if (data != "") {
                            var actions = data.action;
                            if (actions) {
                                for (var i = 0; i < actions.length; i++) {
                                    var action = actions[i];
                                    console.log(action)
                                    var val = action.value;
                                    var enviroment = JSON.stringify(enviroment);
                                    if (action.action_type == 'open_panel') {
                                        var d = dialog({
                                            title: '<i class="ace-icon fa fa-info-circle"></i> ' +
                                                $this.translateSys("tip"),
                                            content: $this.translateSys(
                                                    "quotation_mark_left") +
                                                action
                                                .action_type + $this.translateSys(
                                                    "quotation_mark_right") + $this
                                                .translate(
                                                    "tip_action_unprocessed")
                                        });
                                        d.show();
                                    } else if (action.action_type == 'open_select_userdlg') {
                                        var style = val.style;
                                        // style == 'user' ? '选择人员' : style == 'department' ? '选择部门' : style == 'role' ? '选择角色' : ''
                                        var param = {
                                            item: item,
                                            button_callback: button_callback,
                                            req: req,
                                            data_attr: data_attr
                                        }
                                        uni.navigateTo({
                                            url: '../selpsn/index?mulit=false&param=' +
                                                JSON
                                                .stringify(
                                                    param),
                                            events: {
                                                AddPer(data, param) {
                                                    // console.log(param);
                                                    console.log(data);
                                                    var callback_eventid = param
                                                        .button_callback
                                                        .trim();
                                                    var info = {
                                                        eventid: callback_eventid,
                                                        edtype: "0",
                                                        projectid: '',
                                                        rclsid: '',
                                                        robjid: '',
                                                        userlogin: '',
                                                        clsid: $this.$data.param
                                                            .DataCls
                                                            .id,
                                                        objid: "",
                                                        attr: param.req,
                                                        inputparameter: data,
                                                        dataJson: [],
                                                    }
                                                    $this.DataObjRunCustomEvent(info,
                                                        param
                                                        .data_attr);
                                                }
                                            }
                                        });
                                    } else if (action.action_type == 'open_data_query_dlg') {
                                        var d = dialog({
                                            title: '<i class="ace-icon fa fa-info-circle"></i> ' +
                                                $this.translateSys("tip"),
                                            content: $this.translateSys(
                                                    "quotation_mark_left") +
                                                action
                                                .action_type + $this.translateSys(
                                                    "quotation_mark_right") + $this
                                                .translate(
                                                    "tip_action_unprocessed")
                                        });
                                        d.show();
                                    } else if (action.action_type == 'open_common_dlg') {
                                        if (val.common_dlg_id == 'check_list') {
                                            $this.setData({
                                                check_list: val.config
                                            })
                                            if (val.config.appear_style == 'sideslip') //判断是否是侧滑
                                                $this.setData({
                                                    popupType: "right"
                                                })
                                            else
                                                $this.setData({
                                                    popupType: "center"
                                                })
                                            // open 方法传入参数 等同在 uni-popup 组件上绑定 type属性
                                            $this.$refs.popup.open($this.popupType);
                                            var popupParam = {
                                                item: item,
                                                button_callback: button_callback,
                                                req: req,
                                                data_attr: data_attr
                                            }
                                            $this.setData({
                                                popupParam: popupParam
                                            })
                                        }
                                    } else if (action.action_type == 'open_project_query_dlg') {
                                        //console.log(action.value.select_range);
                                        //console.log(action.value.mulit_select);
                                        var priRel = '-1';
                                        if (action.value.select_range == '全部相关')
                                            priRel = '0';
                                        else if (action.value.select_range == '我负责的项目')
                                            priRel = '1';
                                        else if (action.value.select_range == '我创建的')
                                            priRel = '2';
                                        else if (action.value.select_range == '我参与的' || action
                                            .value
                                            .select_range == '我参加的')
                                            priRel = '3';
                                        else if (action.value.select_range == '我关注的')
                                            priRel = '4';
                                        else if (action.value.select_range == '我下属的项目')
                                            priRel = '5';
                                        var param_ = {
                                            item: item,
                                            button_callback: button_callback,
                                            req: req
                                        }
                                        uni.navigateTo({
                                            url: '../selPrj/index?relation=' + priRel +
                                                '&param=' +
                                                JSON.stringify(param_),
                                            events: {
                                                AddPer(data, param) {
                                                    var attr = param.item.fieldId;
                                                    $this.head_styledef.form.model[
                                                            attr] =
                                                        data[0].ID +
                                                        ';' + data[0].Name;
                                                    // $this.$data.classAttrList[param.index].Attr[param.iindex].Value=data[0].Name;
                                                    // $this.$data.classAttrList[param.index].Attr[param.iindex].ValID=data[0].ID+';'+data[0].Name;
                                                    var callback_eventid = param
                                                        .button_callback
                                                        .trim();
                                                    if (callback_eventid) {
                                                        var info = {
                                                            eventid: callback_eventid,
                                                            edtype: "2",
                                                            projectid: data[0].ID,
                                                            rclsid: "",
                                                            robjid: "",
                                                            userlogin: "",
                                                            clsid: $this.$data
                                                                .param
                                                                .DataCls.id,
                                                            objid: "",
                                                            attr: param.req,
                                                            dataJson: [],
                                                        }
                                                        $this.DataObjRunCustomEvent(
                                                            info);
                                                    }
                                                }
                                            }
                                        });
                                    } else {
                                        uni.showModal({
                                            title: $this.translateSys("tip"),
                                            content: $this.translateSys(
                                                    "quotation_mark_left") +
                                                action.action_type + $this.translateSys(
                                                    "quotation_mark_right") + $this
                                                .translate(
                                                    "tip_action_unprocessed"),
                                            showCancel: false,
                                            confirmText: $this.translateSys("cancel")
                                        });
                                    }
                                }
                            }
                        } else {
                            uni.showModal({
                                title: $this.translateSys('tip') + "5.2",
                                content: $this.translateSys("quotation_mark_left") +
                                    "before_click_button" + $this.translateSys(
                                        "quotation_mark_right") + $this.translateSys(
                                        "comma") + 'event_id' + eventid,
                                showCancel: false,
                                confirmText: $this.translateSys("cancel")
                            });
                        }
                    }
                }).catch(ex => {
                    // console.log(ex);
                    let exStr = JSON.stringify(ex)
                    if (exStr == "{}")
                        exStr = ex
                    let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
                    uni.showModal({
                        title: $this.translateSys('tip') + "5.1",
                        content: exStr,
                        showCancel: false,
                        confirmText: $this.translateSys("cancel")
                    });
                });
            },
            //确定
            ok() {
@@ -2377,5 +3051,52 @@
        .demo-uni-row .uni-input {
            width: calc(100% - 120px);
        }
        .popup-header {
            font-size: 42rpx;
            font-weight: bold;
            margin: 20rpx 20rpx 0px 20rpx;
        }
        .view_popup_CheckList {
            margin-bottom: 20rpx;
        }
        .popup-footer {
            float: right;
            position: absolute;
            bottom: 0;
            right: 20rpx;
        }
        button.btn_popup_add {
            width: 180rpx;
            margin-top: 50rpx;
            margin-right: 20rpx;
            padding: 15rpx;
            line-height: 1.5;
            background: #27A6E1;
            border: none;
            color: #fff;
            font-size: 38rpx;
            font-weight: bold;
            /* float: left; */
            display: inline-block;
        }
        button.btn_popup_cancel {
            width: 180rpx;
            margin-top: 50rpx;
            padding: 15rpx;
            line-height: 1.5;
            background: #27A6E1;
            border: none;
            color: #fff;
            font-size: 38rpx;
            font-weight: bold;
            /* float: right; */
            display: inline-block;
        }
    }
</style>