cuiqian2004
2025-02-19 625badef071d0931b3868b2ba672d51ce2cc5b91
action set_subtable_page_row 处理 condition
15个文件已修改
1058 ■■■■ 已修改文件
App.vue 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
What's New.txt 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
locale/en.json 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
locale/es.json 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
locale/zh-Hans.json 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
locale/zh-Hant.json 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manifest.json 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/login/index.vue 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/modal/3018_2.vue 75 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/modal/3037_2.vue 80 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/modal/3200.vue 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/modal/3200_view.vue 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/modal/5600.vue 221 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/modal/5601.vue 342 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/modal/5602.vue 158 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
App.vue
@@ -22,6 +22,16 @@
            this.initscan();
        },
        onShow: function() {
            const args = plus.runtime.arguments || ""
            if(args)
            {
                uni.showModal({
                    title: "App参数",
                    content: args,
                    showCancel: false,
                    confirmText:"cancel"
                });
            }
            console.log('App Show')
        },
        onHide: function() {
What's New.txt
@@ -1,3 +1,5 @@
2025.02.19
1.action set_subtable_page_row 处理 condition
2024.08.20
1.获取pda功能需要判断权限
2024.08.16
locale/en.json
@@ -120,5 +120,7 @@
    "page.cannot_related_function": "Do not support jumping to function points",
    "page.function_not_exist": "Function point does not exist!",
    "page.function_not_edit_dlg": "This function point does not have an editing window configured!",
    "page.no_find_attr_diaplay": "No attributes found to display!"
    "page.no_find_attr_diaplay": "No attributes found to display!",
    "page.illegal_dividend":  "Illegal dividend ",
    "page.unrecognized_operator": "unrecognized operator "
}
locale/es.json
@@ -119,8 +119,7 @@
    "page.cannot_related_function": "No se admite saltar a un punto funcional",
    "page.function_not_exist": "¡¡ los puntos funcionales no existen!",
    "page.function_not_edit_dlg": "¡¡ el punto de función no está configurado para la ventana de edición!",
    "page.no_find_attr_diaplay": "¡¡ no se han encontrado atributos visibles!"
    "page.no_find_attr_diaplay": "¡¡ no se han encontrado atributos visibles!",
    "page.illegal_dividend":  "División ilegal ",
    "page.unrecognized_operator": "Operador no reconocido "
}
locale/zh-Hans.json
@@ -125,10 +125,9 @@
    "page.function_not_exist": "功能点不存在!",
    "page.function_not_edit_dlg": "该功能点未配置编辑窗口!",
    "page.no_find_attr_diaplay": "未找到可显示的的属性!",
    "page.cannot_prj_function": "暂时未支持选择项目接口!"
    "page.cannot_prj_function": "暂时未支持选择项目接口!",
    "page.illegal_dividend": "非法被除数",
    "page.unrecognized_operator": "无法识别的操作符"
}
locale/zh-Hant.json
@@ -58,11 +58,11 @@
    "sys.unrealized": "未實現",
    "sys.select": "选择",
    "sys.please": "请",
    "page.server": "服務地址",
    "page.mobox3_app_type": "mobox3 pda應用類型",
    "page.mobox3_port": "mobox3服務埠",
    "page.input_server": "請輸入服務地址",
    "page.input_server": "請輸入服務地址",
    "page.set_server": "設定服務",
    "page.tip_app_update": "系統有新版本,是否需要更新?",
    "page.tip_no_web_server": "未輸入網站地址,請重新配寘輸入",
@@ -119,9 +119,8 @@
    "page.cannot_related_function": "不支持跳轉到功能點",
    "page.function_not_exist": "功能點不存在!",
    "page.function_not_edit_dlg": "該功能點未配寘編輯視窗!",
    "page.no_find_attr_diaplay": "未找到可顯示的的内容!"
    "page.no_find_attr_diaplay": "未找到可顯示的的内容!",
    "page.illegal_dividend": "非法被除數",
    "page.unrecognized_operator": "無法識別的操作符"
}
manifest.json
@@ -2,8 +2,8 @@
    "name" : "MoboxPDA",
    "appid" : "__UNI__56D451E",
    "description" : "",
    "versionName" : "1.1.38",
    "versionCode" : 1138,
    "versionName" : "1.1.40",
    "versionCode" : 1140,
    "transformPx" : false,
    /* 5+App特有相关 */
    "app-plus" : {
@@ -42,11 +42,13 @@
                    "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
                    "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
                ],
                "abiFilters" : [ "armeabi-v7a", "arm64-v8a" ]
                "abiFilters" : [ "armeabi-v7a", "arm64-v8a" ],
                "schemes" : "wmspda"
            },
            /* ios打包配置 */
            "ios" : {
                "dSYMs" : false
                "dSYMs" : false,
                "urltypes" : "wmspda"
            },
            /* SDK配置 */
            "sdkConfigs" : {
pages/login/index.vue
@@ -70,7 +70,10 @@
            </uni-popup>
            <!-- 版本升级弹窗结束 -->
        </view>
        <!-- <button @click="onClickWms">登录wms</button>
        <view class="webview">
            <web-view ref="webview" src="http://115.29.185.26:5000/mobox3/#/"></web-view>
        </view> -->
    </view>
</template>
@@ -400,6 +403,13 @@
                }
            },
            onClickWms()
            {
                let otherAppSchemeURL = "testapp://pages/index/index"; // 替换为目标app的scheme URL
                plus.runtime.openURL(otherAppSchemeURL, function(error) {
                    console.error('打开应用失败: ', error);
                }, "uni.TeatApp");
            },
            translate(t) {
                if (typeof this.$t == "function") return this.$t(`page.${t}`)
                else return t;
@@ -409,8 +419,16 @@
                else return t;
            },
        },
        onLoad() {
        onLoad(options) {
            //获取mac地址
            let tip=`login:account:${options.account || ""},password:${options.password || ""}`
            // console.log(options);
            uni.showModal({
                title: "参数",
                content: tip,
                showCancel: false,
                confirmText:"cancel"
            });
            var url = utils.session.getValue('server');
            var username = utils.session.getValue('account');
            var userpwd = utils.session.getValue('password');
pages/modal/3018_2.vue
@@ -5,7 +5,7 @@
            <uni-forms ref="baseForm" label-align="right">
                <view class="v-headStyle" v-for="(item,index) in head_styledef.form.items">
                    <!-- 普通布局 -->
                    <uni-forms-item v-if="item.name != 'Layout'&& item.show==true" :label="item.label +':' "
                    <uni-forms-item v-if="item.name != 'Layout'&& item.show==true" :label="item.label ? item.label +':':'' "
                        :label-width="item.labelWidth+'px'">
                        <!-- <text class="txt_title" :style="{'width':item.labelWidth+'px'}">{{item.label}}:</text> -->
                        <!-- 下拉框-单选 item.useDict?item.dict:item.selections-->
@@ -36,17 +36,17 @@
                        </view>
                        <!-- 复选框 -->
                        <checkbox-group class="check_rememberPwd" v-if="item.name=='Checkbox'"
                            :class="item.disabled?'input-disabled':''" @change="onModelValue(item)"
                            :disabled="item.disabled" :data-ischeck="item.value">
                            <label>
                                <checkbox :value="item.value" :checked="item.value" />
                                <text>{{item.label}}</text>
                            :class="item.disabled?'input-disabled':''" :disabled="item.disabled"
                            @change="onCheckBoxValue" :data-attr="item.fieldId">
                            <label v-for="(item2) in item.selections" :key="item2.value">
                                <checkbox :value="item2.value" :checked="item.value.includes(item2.value)" />
                                <text>{{item2.label}}</text>
                            </label>
                        </checkbox-group>
                        <!-- 单选框 -->
                        <radio-group class="check_rememberPwd" v-if="item.name=='Radio'"
                            :class="item.disabled?'input-disabled':''" :disabled="item.disabled"
                            @change="onModelValue(item)">
                            @change="onRadioBoxValue" :data-attr="item.fieldId">
                            <label v-for="(item2) in item.selections" :key="item2.value">
                                <radio :value="item2.value" :checked="item2.value === item.value" />
                                <text>{{item2.label}}</text>
@@ -68,7 +68,7 @@
                    <uni-row class="demo-uni-row" v-if="item.name=='Layout'">
                        <uni-col v-for="(cols,key) in item.setting.colList"
                            :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 +':'"
                            <uni-forms-item v-if="cols!=null  && cols.show==true" :label="cols.label? cols.label +':':''"
                                :label-width="cols.labelWidth+'px'">
                                <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]"
@@ -98,17 +98,16 @@
                                <!-- 复选框 -->
                                <checkbox-group class="check_rememberPwd" v-if="cols.name=='Checkbox'"
                                    :class="cols.disabled?'input-disabled':''" :disabled="cols.disabled"
                                    @change="onModelValue(cols)" :data-ischeck="cols.value"
                                    :style="{'margin-left':'10rpx'}">
                                    <label>
                                        <checkbox :value="cols.value" :checked="cols.value" />
                                        <text>{{cols.label}}</text>
                                    @change="onCheckBoxValue" :data-attr="cols.fieldId">
                                    <label v-for="(cols2) in cols.selections" :key="cols2.value">
                                        <checkbox :value="cols2.value" :checked="cols.value.includes(cols2.value)" />
                                        <text>{{cols2.label}}</text>
                                    </label>
                                </checkbox-group>
                                <!-- 单选框 -->
                                <radio-group class="check_rememberPwd" v-if="cols.name=='Radio'"
                                    :class="cols.disabled?'input-disabled':''" :disabled="cols.disabled"
                                    @change="onModelValue(cols)">
                                    @change="onRadioBoxValue" :data-attr="cols.fieldId">
                                    <label v-for="(cols2) in cols.selections" :key="cols2.value">
                                        <radio :value="cols2.value" :checked="cols2.value === cols.value" />
                                        <text>{{cols2.label}}</text>
@@ -388,6 +387,24 @@
                                    await $this.DictGetInfo(ele.bind.dict,
                                        styledefHead.form.model,
                                        ele);
                                } else {
                                    if (ele?.name === "Select") {
                                        const selections = ele?.selections || []
                                        //有默认值,显示默认值
                                        let itemName = ele.value || "";
                                        if (itemName) {
                                            styledefHead.form
                                                .model[ele.fieldId] = itemName;
                                        }
                                        ele.dict = selections.map((a) => {
                                            return {
                                                value: a.value,
                                                text: a.label
                                            }
                                        })
                                    }
                                }
                                if ($this.focusFieldId == "") {
                                    if (ele.name == 'Input' || ele.name ==
@@ -408,6 +425,25 @@
                                                .dict,
                                                styledefHead.form
                                                .model, col);
                                        } else {
                                            if (col?.name === "Select") {
                                                const selections = col?.selections || []
                                                //有默认值,显示默认值
                                                let itemName = col.value || "";
                                                if (itemName) {
                                                    styledefHead.form
                                                        .model[col.fieldId] = itemName;
                                                }
                                                col.dict = selections.map((a) => {
                                                    return {
                                                        value: a.value,
                                                        text: a.label
                                                    }
                                                })
                                            }
                                        }
                                        if ($this.focusFieldId == "") {
                                            if (col.name == 'Input' || col
@@ -828,6 +864,17 @@
            onModelValue(item) { //绑定Model值
                var attr = item.fieldId;
                this.head_styledef.form.model[attr] = item.value;
                console.log(item.value)
            },
            onCheckBoxValue(e) { //绑定Model值
                let values = e.detail.value || []
                let attr = e.currentTarget?.dataset?.attr || ""
                this.head_styledef.form.model[attr] = values;
            },
            onRadioBoxValue(e) { //绑定Model值
                let value = e.detail.value || ""
                let attr = e.currentTarget?.dataset?.attr || ""
                this.head_styledef.form.model[attr] = value;
            },
            classAttr_extButton(item) {
                var onSuffixClickCallbackEvent = item.bind.onSuffixClickCallbackEvent; //后图标点击事件
pages/modal/3037_2.vue
@@ -39,16 +39,17 @@
                </view>
                <!-- 复选框 -->
                <checkbox-group class="check_rememberPwd" v-if="item.name=='Checkbox'"
                    :class="item.disabled?'input-disabled':''" @change="onModelValue(item)" :disabled="item.disabled"
                    :data-ischeck="item.value" :style="{'margin-left':'10rpx'}">
                    <label>
                        <checkbox :value="item.value" :checked="item.value" />
                        <text>{{item.label}}</text>
                    :class="item.disabled?'input-disabled':''" :disabled="item.disabled" @change="onCheckBoxValue"
                    :data-attr="item.fieldId">
                    <label v-for="(item2) in item.selections" :key="item2.value">
                        <checkbox :value="item2.value" :checked="item.value.includes(item2.value)" />
                        <text>{{item2.label}}</text>
                    </label>
                </checkbox-group>
                <!-- 单选框 -->
                <radio-group class="check_rememberPwd" v-if="item.name=='Radio'"
                    :class="item.disabled?'input-disabled':''" :disabled="item.disabled" @change="onModelValue(item)">
                    :class="item.disabled?'input-disabled':''" :disabled="item.disabled" @change="onRadioBoxValue"
                    :data-attr="item.fieldId">
                    <label v-for="(item2) in item.selections" :key="item2.value">
                        <radio :value="item2.value" :checked="item2.value === item.value" />
                        <text>{{item2.label}}</text>
@@ -128,17 +129,17 @@
                            </view>
                            <!-- 复选框 -->
                            <checkbox-group class="check_rememberPwd" v-if="item.name=='Checkbox'"
                                :class="item.disabled?'input-disabled':''" @change="onModelValue(item)"
                                :data-ischeck="item.value" :disabled="item.disabled" :style="{'margin-left':'10rpx'}">
                                <label>
                                    <checkbox :value="item.value" :checked="item.value" />
                                    <text>{{item.label}}</text>
                                :class="item.disabled?'input-disabled':''" :disabled="item.disabled" @change="onCheckBoxValue"
                                :data-attr="item.fieldId">
                                <label v-for="(item2) in item.selections" :key="item2.value">
                                    <checkbox :value="item2.value" :checked="item.value.includes(item2.value)" />
                                    <text>{{item2.label}}</text>
                                </label>
                            </checkbox-group>
                            <!-- 单选框 -->
                            <radio-group class="check_rememberPwd" v-if="item.name=='Radio'"
                                :class="item.disabled?'input-disabled':''" :disabled="item.disabled"
                                :style="{'margin-left':'10rpx'}" @change="onModelValue(item)">
                                :style="{'margin-left':'10rpx'}" @change="onRadioBoxValue" :data-attr="cols.fieldId">
                                <label v-for="(item2) in item.selections" :key="item2.value">
                                    <radio :value="item2.value" :checked="item2.value === item.value" />
                                    <text>{{item2.label}}</text>
@@ -194,17 +195,17 @@
                                    <!-- 复选框 -->
                                    <checkbox-group class="check_rememberPwd" v-if="cols.name=='Checkbox'"
                                        :class="cols.disabled?'input-disabled':''" :disabled="cols.disabled"
                                        @change="onModelValue(cols)" :data-ischeck="cols.value"
                                        :style="{'margin-left':'10rpx'}">
                                        <label>
                                            <checkbox :value="cols.value" :checked="cols.value" />
                                            <text>{{cols.label}}</text>
                                        @change="onCheckBoxValue" :data-attr="cols.fieldId">
                                        <label v-for="(cols2) in cols.selections" :key="cols2.value">
                                            <checkbox :value="cols2.value"
                                                :checked="cols.value.includes(cols2.value)" />
                                            <text>{{cols2.label}}</text>
                                        </label>
                                    </checkbox-group>
                                    <!-- 单选框 -->
                                    <radio-group class="check_rememberPwd" v-if="cols.name=='Radio'"
                                        :class="cols.disabled?'input-disabled':''" :disabled="cols.disabled"
                                        @change="onModelValue(cols)">
                                        @change="onRadioBoxValue " :data-attr="cols.fieldId">
                                        <label v-for="(cols2) in cols.selections" :key="cols2.value">
                                            <radio :value="cols2.value" :checked="cols2.value === cols.value" />
                                            <text>{{cols2.label}}</text>
@@ -411,6 +412,23 @@
                            ele.show = true;
                            if (ele.useDict == true) { //判断useDict是否使用字典
                                await this.DictGetInfo(ele.bind.dict, index, 'mast');
                            } else {
                                if (ele?.name === "Select") {
                                    const selections = ele?.selections || []
                                    //有默认值,显示默认值
                                    let itemName = ele.value || "";
                                    if (itemName) {
                                        $this.head_styledef.form
                                            .model[ele.fieldId] = itemName;
                                    }
                                    $this.head_styledef.form.items[index].dict = selections.map((a) => {
                                        return {
                                            value: a.value,
                                            text: a.label
                                        }
                                    })
                                }
                            }
                        });
                    }
@@ -455,6 +473,21 @@
                        $this.detail1_styledef.form.items.forEach(async (ele, index) => {
                            if (ele.useDict == true) { //判断useDict是否使用字典
                                await this.DictGetInfo(ele.bind.dict, index, 'sub');
                            } else {
                                if (ele?.name === "Select") {
                                    const selections = ele?.selections || []
                                    //有默认值,显示默认值
                                    let itemName = ele.value || "";
                                    if (itemName) {
                                        $this.detail1_styledef.form.items[ele.fieldId] = itemName;
                                    }
                                    $this.detail1_styledef.form.items[index].dict = selections.map((a) => {
                                        return {
                                            value: a.value,
                                            text: a.label
                                        }
                                    })
                                }
                            }
                        });
                    }
@@ -965,6 +998,17 @@
                    }
                }
            },
            onCheckBoxValue(e) { //绑定Model值
                let values = e.detail.value || []
                let attr = e.currentTarget?.dataset?.attr || ""
                this.head_styledef.form.model[attr] = values;
            },
            onRadioBoxValue(e) { //绑定Model值
                let value = e.detail.value || ""
                let attr = e.currentTarget?.dataset?.attr || ""
                this.head_styledef.form.model[attr] = value;
            },
            onModelValue(item) { //绑定Model值
                //console.log(e.target)
                var attr = item.fieldId;
pages/modal/3200.vue
@@ -16,7 +16,7 @@
                        :placeholder="item.placeholder"
                        :style="{'width':item.setting.prefix && item.setting.suffix?'78%':item.setting.prefix || item.setting.suffix?'87%':'96%'}"
                        :focus="focusMateria" @focus="ontap(item)" @keyup.enter="onEnterChange(item)"
                        @blur="onEnterChange(item)"  :maxlength="-1"/>
                        @blur="onEnterChange(item)" :maxlength="-1" />
                    <text v-if="item.setting.suffix" class="uni-icon" :class="[item.setting.suffix]"
                        @click="onEnterChange(item)">&#xe568;</text>
                </view>
@@ -50,9 +50,8 @@
                                    <view v-if="item.name!='Layout'">
                                        <text class="txt_title"
                                            :style="{'width':item.labelWidth+'px'}">{{item.label}}:</text>
                                    <!-- 文本框/数字框 -->
                                        <view class="dv_input"
                                            v-if="(item.name=='Input' || item.name=='InputNumber')">
                                        <!-- 文本框/数字框 -->
                                        <view class="dv_input" v-if="(item.name=='Input' || item.name=='InputNumber')">
                                            <text v-if="item.setting.prefix" class="uni-icon"
                                                :class="[item.setting.prefix]" @change="onChange(item)">&#xe568;</text>
                                            <input class="uni-input" :class="item.disabled?'input-disabled':''"
@@ -60,7 +59,8 @@
                                                v-model="item.value" :disabled="item.disabled"
                                                :placeholder="item.placeholder"
                                                :style="{'width':item.setting.prefix && item.setting.suffix?'78%':item.setting.prefix || item.setting.suffix?'87%':'96%'}"
                                                :focus="focusMateria" @focus="ontap(item)" @blur="onevent(item)" :maxlength="-1"/>
                                                :focus="focusMateria" @focus="ontap(item)" @blur="onevent(item)"
                                                :maxlength="-1" />
                                            <text v-if="item.setting.suffix" class="uni-icon"
                                                :class="[item.setting.suffix]" @click="onChange(item)">&#xe568;</text>
                                        </view>
@@ -79,18 +79,20 @@
                                        </view>
                                        <!-- 复选框 -->
                                        <checkbox-group class="check_rememberPwd" v-if="item.name=='Checkbox'"
                                            :class="item.disabled?'input-disabled':''" @change="onModelValue(item)"
                                            :data-ischeck="item.value" :disabled="item.disabled"
                                            :style="{'margin-left':'10rpx'}">
                                            <label>
                                                <checkbox :value="item.value" :checked="item.value" />
                                                <text>{{item.label}}</text>
                                            :class="item.disabled?'input-disabled':''" :disabled="item.disabled"
                                            @change="onCheckBoxValue" :data-attr="item.fieldId">
                                            <label v-for="(item2) in item.selections" :key="item2.value">
                                                <checkbox :value="item2.value"
                                                    :checked="item.value.includes(item2.value)" />
                                                <text>{{item2.label}}</text>
                                            </label>
                                        </checkbox-group>
                                        <!-- 单选框 -->
                                        <radio-group class="check_rememberPwd" v-if="item.name=='Radio'"
                                            :class="item.disabled?'input-disabled':''" :disabled="item.disabled"
                                            :style="{'margin-left':'10rpx'}" @change="onModelValue(item)">
                                            :style="{'margin-left':'10rpx'}" @change="onModelValue(item)"
                                            :data-attr="item.fieldId">
                                            <label v-for="(item2) in item.selections" :key="item2.value">
                                                <radio :value="item2.value" :checked="item2.value === item.value" />
                                                <text>{{item2.label}}</text>
@@ -127,21 +129,19 @@
                                                        v-model="cols.value" :disabled="cols.disabled"
                                                        :placeholder="cols.placeholder"
                                                        :style="{'width':cols.setting.prefix && cols.setting.suffix?'78%':cols.setting.prefix || cols.setting.suffix?'87%':'96%'}"
                                                        :focus="focusMateria" @focus="ontap(cols)"
                                                        @blur="onevent(cols)"  :maxlength="-1"/>
                                                        :focus="focusMateria" @focus="ontap(cols)" @blur="onevent(cols)"
                                                        :maxlength="-1" />
                                                    <text v-if="cols.setting.suffix" class="uni-icon"
                                                        :class="[cols.setting.suffix]"
                                                        @click="onChange(cols)">&#xe568;</text>
                                                </view>
                                                <!-- 下拉框-单选 cols.useDict?cols.dict:cols.selections-->
                                                <uni-data-select id="dv_select"
                                                    v-if="cols.name=='Select'"
                                                <uni-data-select id="dv_select" v-if="cols.name=='Select'"
                                                    :class="cols.disabled?'input-disabled':''" v-model="cols.value"
                                                    :localdata="cols.dict" @change="onChange(cols)"
                                                    :disabled="cols.disabled" :clear="false"></uni-data-select>
                                                <!-- 多行文本 -->
                                                <view class="input-wrapper"
                                                    v-if="cols.name=='Textarea'">
                                                <view class="input-wrapper" v-if="cols.name=='Textarea'">
                                                    <textarea class="uni-input" :value="cols.value"
                                                        :class="cols.disabled?'input-disabled':''"
                                                        :placeholder="cols.placeholder" @blur="onModelValue(cols)"
@@ -150,12 +150,12 @@
                                                </view>
                                                <!-- 复选框 -->
                                                <checkbox-group class="check_rememberPwd" v-if="cols.name=='Checkbox'"
                                                    :class="cols.disabled?'input-disabled':''" :disabled="item.disabled"
                                                    @change="onModelValue(cols)" :data-ischeck="cols.value"
                                                    :style="{'margin-left':'10rpx'}">
                                                    <label>
                                                        <checkbox :value="cols.value" :checked="cols.value" />
                                                        <text>{{cols.label}}</text>
                                                    :class="cols.disabled?'input-disabled':''" :disabled="cols.disabled"
                                                    @change="onCheckBoxValue" :data-attr="cols.fieldId">
                                                    <label v-for="(cols2) in cols.selections" :key="cols2.value">
                                                        <checkbox :value="cols2.value"
                                                            :checked="cols.value.includes(cols2.value)" />
                                                        <text>{{cols2.label}}</text>
                                                    </label>
                                                </checkbox-group>
                                                <!-- 单选框 -->
@@ -487,7 +487,25 @@
                            console.log(ele.useDict);
                            if (ele.useDict == true) { //判断useDict是否使用字典
                                await this.DictGetInfo(ele.bind.dict, index, 'mast');
                            } else {
                                if (ele?.name === "Select") {
                                    const selections = ele?.selections || []
                                    //有默认值,显示默认值
                                    let itemName = ele.value || "";
                                    if (itemName) {
                                        $this.head_styledef.form
                                            .model[ele.fieldId] = itemName;
                                    }
                                    $this.head_styledef.form.items[index].dict = selections.map((a) => {
                                        return {
                                            value: a.value,
                                            text: a.label
                                        }
                                    })
                                }
                            }
                        });
                    }
pages/modal/3200_view.vue
@@ -17,15 +17,15 @@
                            <view v-if="item.name!='Layout'">
                                <text class="txt_title" :style="{'width':item.labelWidth+'px'}">{{item.label}}:</text>
                                <!-- 文本框/数字框 -->
                                <view class="dv_input"
                                    v-if="(item.name=='Input' || item.name=='InputNumber') ">
                                <view class="dv_input" v-if="(item.name=='Input' || item.name=='InputNumber') ">
                                    <text v-if="item.setting.prefix" class="uni-icon" :class="[item.setting.prefix]"
                                        @change="onChange(item)">&#xe568;</text>
                                    <input class="uni-input" :class="item.disabled?'input-disabled':''"
                                        :type="item.name=='Input'?'text':item.name=='InputNumber'?'number':'text'"
                                        v-model="item.value" :disabled="item.disabled" :placeholder="item.placeholder"
                                        :style="{'width':item.setting.prefix && item.setting.suffix?'78%':item.setting.prefix || item.setting.suffix?'87%':'96%'}"
                                        :focus="focusMateria" @focus="ontap(item)" @blur="onevent(item)"  :maxlength="-1"/>
                                        :focus="focusMateria" @focus="ontap(item)" @blur="onevent(item)"
                                        :maxlength="-1" />
                                    <text v-if="item.setting.suffix" class="uni-icon" :class="[item.setting.suffix]"
                                        @click="onChange(item)">&#xe568;</text>
                                </view>
@@ -43,18 +43,17 @@
                                </view>
                                <!-- 复选框 -->
                                <checkbox-group class="check_rememberPwd" v-if="item.name=='Checkbox'"
                                    :class="item.disabled?'input-disabled':''" @change="onModelValue(item)"
                                    :data-ischeck="item.value" :disabled="item.disabled"
                                    :style="{'margin-left':'10rpx'}">
                                    <label>
                                        <checkbox :value="item.value" :checked="item.value" />
                                        <text>{{item.label}}</text>
                                    :class="item.disabled?'input-disabled':''" :disabled="item.disabled"
                                    @change="onCheckBoxValue" :data-attr="item.fieldId">
                                    <label v-for="(item2) in item.selections" :key="item2.value">
                                        <checkbox :value="item2.value" :checked="item.value.includes(item2.value)" />
                                        <text>{{item2.label}}</text>
                                    </label>
                                </checkbox-group>
                                <!-- 单选框 -->
                                <radio-group class="check_rememberPwd" v-if="item.name=='Radio'"
                                    :class="item.disabled?'input-disabled':''" :disabled="item.disabled" :style="{'margin-left':'10rpx'}"
                                    @change="onModelValue(item)">
                                    :class="item.disabled?'input-disabled':''" :disabled="item.disabled"
                                    :style="{'margin-left':'10rpx'}" @change="onModelValue(item)">
                                    <label v-for="(item2) in item.selections" :key="item2.value">
                                        <radio :value="item2.value" :checked="item2.value === item.value" />
                                        <text>{{item2.label}}</text>
@@ -80,8 +79,7 @@
                                    <view v-if="cols!=null">
                                        <text class="txt_title"
                                            :style="{'width':cols.labelWidth+'px'}">{{cols.label}}:</text>
                                        <view class="dv_input"
                                            v-if="(cols.name=='Input' || cols.name=='InputNumber') ">
                                        <view class="dv_input" 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':''"
@@ -89,7 +87,8 @@
                                                v-model="cols.value" :disabled="cols.disabled"
                                                :placeholder="cols.placeholder"
                                                :style="{'width':cols.setting.prefix && cols.setting.suffix?'78%':cols.setting.prefix || cols.setting.suffix?'87%':'96%'}"
                                                :focus="focusMateria" @focus="ontap(cols)" @blur="onevent(cols)"  :maxlength="-1"/>
                                                :focus="focusMateria" @focus="ontap(cols)" @blur="onevent(cols)"
                                                :maxlength="-1" />
                                            <text v-if="cols.setting.suffix" class="uni-icon"
                                                :class="[cols.setting.suffix]" @click="onChange(cols)">&#xe568;</text>
                                        </view>
@@ -108,18 +107,18 @@
                                        </view>
                                        <!-- 复选框 -->
                                        <checkbox-group class="check_rememberPwd" v-if="cols.name=='Checkbox'"
                                            :class="cols.disabled?'input-disabled':''" :disabled="item.disabled"
                                            @change="onModelValue(cols)" :data-ischeck="cols.value"
                                            :style="{'margin-left':'10rpx'}">
                                            <label>
                                                <checkbox :value="cols.value" :checked="cols.value" />
                                                <text>{{cols.label}}</text>
                                            :class="cols.disabled?'input-disabled':''" :disabled="cols.disabled"
                                            @change="onCheckBoxValue" :data-attr="cols.fieldId">
                                            <label v-for="(cols2) in cols.selections" :key="cols2.value">
                                                <checkbox :value="cols2.value"
                                                    :checked="cols.value.includes(cols2.value)" />
                                                <text>{{cols2.label}}</text>
                                            </label>
                                        </checkbox-group>
                                        <!-- 单选框 -->
                                        <radio-group class="check_rememberPwd" v-if="cols.name=='Radio'"
                                            :class="cols.disabled?'input-disabled':''" :disabled="cols.disabled" :style="{'margin-left':'10rpx'}"
                                            @change="onModelValue(cols)">
                                            :class="cols.disabled?'input-disabled':''" :disabled="cols.disabled"
                                            :style="{'margin-left':'10rpx'}" @change="onModelValue(cols)">
                                            <label v-for="(cols2) in cols.selections" :key="cols2.value">
                                                <radio :value="cols2.value" :checked="cols2.value === cols.value" />
                                                <text>{{cols2.label}}</text>
pages/modal/5600.vue
@@ -20,7 +20,7 @@
                        :placeholder="item.placeholder"
                        :style="{'width':item.setting.prefix && item.setting.suffix?'78%':item.setting.prefix || item.setting.suffix?'87%':'96%'}"
                        :focus="focusFieldId == item.fieldId" @focus="ontap(index,item)" @click="onClick(item)"
                        @keyup.enter="onEnterChange(item)" @blur="onEnterChange(item)"  :maxlength="-1"/>
                        @keyup.enter="onEnterChange(item)" @blur="onEnterChange(item)" :maxlength="-1" />
                    <text v-if="item.setting.suffix" class="uni-icon" :class="[item.setting.suffix]"
                        @click="classAttr_extButton(item)">&#xe568;</text>
                </view>
@@ -59,7 +59,7 @@
                                                    <input class="uni-input" v-if="!item.disabled"
                                                        :type="item.name=='InputNumber'?'number':'text'"
                                                        v-model="item.value" :disabled="item.disabled"
                                                        :placeholder="item.placeholder"  :maxlength="-1"/>
                                                        :placeholder="item.placeholder" :maxlength="-1" />
                                                </view>
                                                <!-- 栅格布局 -->
                                                <uni-row class="demo-uni-row" v-if="item.name=='Layout'">
@@ -73,7 +73,7 @@
                                                            <input class="uni-input" v-if="!cols.disabled"
                                                                :type="cols.name=='InputNumber'?'number':'text'"
                                                                v-model="cols.value" :disabled="cols.disabled"
                                                                :placeholder="cols.placeholder"  :maxlength="-1"/>
                                                                :placeholder="cols.placeholder" :maxlength="-1" />
                                                        </view>
                                                    </uni-col>
                                                </uni-row>
@@ -163,7 +163,7 @@
                </div>
            </view>
        </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' }"
@@ -238,8 +238,8 @@
                selectAttrObj: {},
                okLoading: false,
                ok2Loading: false,
                global_attr: [],
                refdatastore: [], //引用数据存储区// {attr:'G_PRJ_' + bindattr + '_ID', value:info.id}
                popupType: "center",
@@ -375,6 +375,23 @@
                        $this.$data.head_styledef.form.items.forEach(async (ele, index) => {
                            if (ele.useDict == true) { //判断useDict是否使用字典
                                await this.DictGetInfo(ele.bind.dict, index, 'mast');
                            } else {
                                if (ele?.name === "Select") {
                                    const selections = ele?.selections || []
                                    //有默认值,显示默认值
                                    let itemName = ele.value || "";
                                    if (itemName) {
                                        $this.head_styledef.form
                                            .model[ele.fieldId] = itemName;
                                    }
                                    $this.head_styledef.form.items[index].dict = selections.map((a) => {
                                        return {
                                            value: a.value,
                                            text: a.label
                                        }
                                    })
                                }
                            }
                            if ($this.focusFieldId == "") {
                                if (ele.name == 'Input' || ele.name == 'InputNumber') {
@@ -426,6 +443,23 @@
                        $this.detail1_styledef.form.items.forEach(async (ele, index) => {
                            if (ele.useDict == true) { //判断useDict是否使用字典
                                await this.DictGetInfo(ele.bind.dict, index, 'sub');
                            } else {
                                if (ele?.name === "Select") {
                                    const selections = ele?.selections || []
                                    //有默认值,显示默认值
                                    let itemName = ele.value || "";
                                    if (itemName) {
                                        $this.detail1_styledef.form
                                            .model[ele.fieldId] = itemName;
                                    }
                                    $this.detail1_styledef.form.items[index].dict = selections.map((a) => {
                                        return {
                                            value: a.value,
                                            text: a.label
                                        }
                                    })
                                }
                            }
                        });
                    }
@@ -482,7 +516,7 @@
                    var itemName = '';
                    (result.dict_item_list || []).forEach((item) => {
                        if (item.is_default == '1')
                            itemName =  item.name
                            itemName = item.name
                        list.push({
                            text: item.value ? item.value : item.name,
                            value: item.name,
@@ -629,13 +663,13 @@
                    if (onChangeEvent.id) { //内容变化后事件
                        this.onChange(onChangeEvent);
                    }
                }
            },
            classAttr_extButton(item) {
                var onSuffixClickCallbackEvent = item.bind.onSuffixClickCallbackEvent; //后图标点击事件
                var onSuffixClickEvent = item.bind.onSuffixClickEvent; //后图标点击回调
                if (!onSuffixClickCallbackEvent.id) {
                    uni.showModal({
                        title: this.translateSys("tip"),
@@ -657,11 +691,11 @@
                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 => {
@@ -1042,6 +1076,9 @@
                    number1 = parseInt(value1)
                if (value2)
                    number2 = parseInt(value2)
                if (!operation) {
                    return value2;
                }
                if (operation == "+") {
                    return number1 + number2
                } else if (operation == "-") {
@@ -1049,11 +1086,17 @@
                } else if (operation == "*") {
                    return number1 * number2
                } else if (operation == "/") {
                    if (number2)
                        return number1 / number2
                    else
                        return number1
                } else return number2
                    if (number2) return number1 / number2;
                    else {
                        throw new Error(`${this.translate("illegal_dividend")}'${value2}'`);
                        return 0;
                    }
                } else if (operation == "=") {
                    return value2;
                } else {
                    throw new Error(`${this.translate("unrecognized_operator")}'${operation}'`);
                    return 0;
                }
            },
            //更新分页签中的列表项内容
@@ -1067,29 +1110,94 @@
                }
                detailStyleDefList.forEach(ele => {
                    value.row.forEach((rowData) => {
                        if (ele.form.objId == rowData.id) {
                            rowData.attrs.forEach(attr => {
                                ele.form.items.forEach(ele2 => {
                                    if (ele2.name != 'Layout') {
                                        if (ele2.fieldId == attr.attr) {
                                            ele2.value = $this.operationNumber(ele2.value,
                                                attr.value, attr.operation)
                                        }
                                    } else if (ele2.name == 'Layout') {
                                        ele2.setting.colList.forEach(col => {
                                            if (col) {
                                                if (col.fieldId == attr.attr) {
                                                    col.value = $this
                                                        .operationNumber(col.value,
                                                            attr.value, attr
                                                            .operation)
                                                }
                        if (rowData.id) {
                            if (ele.form.objId == rowData.id) {
                                rowData.attrs.forEach(attr => {
                                    ele.form.items.forEach(ele2 => {
                                        if (ele2.name != 'Layout') {
                                            if (ele2.fieldId == attr.attr) {
                                                ele2.value = $this.operationNumber(ele2
                                                    .value,
                                                    attr.value, attr.operation)
                                            }
                                        })
                                    }
                                        } else if (ele2.name == 'Layout') {
                                            ele2.setting.colList.forEach(col => {
                                                if (col) {
                                                    if (col.fieldId == attr.attr) {
                                                        col.value = $this
                                                            .operationNumber(col
                                                                .value,
                                                                attr.value, attr
                                                                .operation)
                                                    }
                                                }
                                            })
                                        }
                                    });
                                });
                            });
                            }
                        } else if (rowData.condition) {
                            const conditions = rowData.condition;
                            let bFindCondition = true;
                            for (let i in conditions) {
                                const condition = conditions[i];
                                let bFind = false;
                                for (let i2 in ele.form.items) {
                                    const ele2 = ele.form.items[i2];
                                    if (ele2.name != "Layout") {
                                        if (ele2.fieldId == condition.attr) {
                                            if (condition.value == ele2.value) {
                                                bFind = true;
                                            }
                                            break;
                                        }
                                    } else {
                                        const colList = ele2.setting.colList || [];
                                        for (let i3 in colList) {
                                            const col = colList[i3];
                                            if (col.fieldId == condition.attr) {
                                                if (condition.value == col.value) {
                                                    bFind = true;
                                                }
                                                break;
                                            }
                                        }
                                        if (bFind) break;
                                    }
                                }
                                if (!bFind) {
                                    bFindCondition = false;
                                    break;
                                }
                            }
                            if (bFindCondition) {
                                rowData.attrs.forEach(attr => {
                                    ele.form.items.forEach(ele2 => {
                                        if (ele2.name != 'Layout') {
                                            if (ele2.fieldId == attr.attr) {
                                                ele2.value = $this.operationNumber(ele2
                                                    .value,
                                                    attr.value, attr.operation)
                                            }
                                        } else if (ele2.name == 'Layout') {
                                            ele2.setting.colList.forEach(col => {
                                                if (col) {
                                                    if (col.fieldId == attr.attr) {
                                                        col.value = $this
                                                            .operationNumber(col
                                                                .value,
                                                                attr.value, attr
                                                                .operation)
                                                    }
                                                }
                                            })
                                        }
                                    });
                                });
                            }
                        }
                    })
                });
                if (value.page_name == $this.$data.param.Sub_Page[1].Name) {
@@ -1540,7 +1648,7 @@
                }
                data[index].check = ischeck ? false : true;
                this.$data.check_list.items = data;
            },
            popup_cancel(e) { //弹框取消
                this.$refs.popup.close();
@@ -1595,7 +1703,7 @@
                $this.DataObjRunCustomEvent(info, $this.$data.popupParam.data_attr);
                this.$refs.popup.close();
            },
            async DataObjRunCustomEvent(info, data_attr) {
                var $this = this;
                var enviroment = {
@@ -1692,7 +1800,7 @@
                            showCancel: false,
                            confirmText: this.translateSys("cancel")
                        });
                        var actionlist = data.action;
                        if (actionlist) {
                            console.log(actionlist);
@@ -1799,7 +1907,7 @@
                                        });
                                    }
                                }
                                var length = 0;
                                if (!$this.$data.refdatastore.filter(function(s) {
                                        return result[i].attr == s.attr
@@ -1819,7 +1927,7 @@
                            }
                        }
                    }
                }).catch(ex => {
                    // console.log(ex);
                    let exStr = JSON.stringify(ex)
@@ -1864,7 +1972,7 @@
                        }
                    }
                }
                var extinfo = enviroment;
                extinfo.edit_dlg = {
                    type: 'small', //小窗口
@@ -1884,7 +1992,7 @@
                        }))
                    )
                );
                if (!eventid.includes('{')) eventid = '{' + eventid + '}';
                var dataInfo = {
                    ed_type: "0",
@@ -1943,7 +2051,7 @@
                            showCancel: false,
                            confirmText: $this.translateSys("cancel")
                        });
                        if (data != "") {
                            var actions = data.action;
                            if (actions) {
@@ -1952,7 +2060,7 @@
                                    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> ' +
@@ -2022,7 +2130,7 @@
                                        });
                                        d.show();
                                    } else if (action.action_type == 'open_common_dlg') {
                                        if (val.common_dlg_id == 'check_list') {
                                            $this.setData({
                                                check_list: val.config
@@ -2081,7 +2189,7 @@
                                                            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
@@ -2102,7 +2210,7 @@
                                                            attr: param.req,
                                                            dataJson: [],
                                                        }
                                                        $this.DataObjRunCustomEvent(
                                                            info);
                                                    }
@@ -2136,7 +2244,7 @@
                            });
                        }
                    }
                }).catch(ex => {
                    // console.log(ex);
                    let exStr = JSON.stringify(ex)
@@ -2151,8 +2259,8 @@
                    });
                });
            },
            //确定
            ok() {
                this.Before_OK_Event = this.param.Sub_Page[0].Before_ok;
@@ -3045,23 +3153,24 @@
        .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;
@@ -3076,7 +3185,7 @@
            /* float: left; */
            display: inline-block;
        }
        button.btn_popup_cancel {
            width: 180rpx;
            margin-top: 50rpx;
@@ -3090,7 +3199,7 @@
            /* float: right; */
            display: inline-block;
        }
    }
</style>
pages/modal/5601.vue
@@ -4,7 +4,7 @@
        <uni-forms ref="baseForm" label-align="right">
            <view v-for="(item,index) in head_styledef.form.items" :key="index" class="v-head-style">
                <!-- 普通布局 -->
                <uni-forms-item v-if="item.name != 'Layout'" :label="item.label +':' "
                <uni-forms-item v-if="item.name != 'Layout'" :label="item.label ?item.label +':':'' "
                    :label-width="item.labelWidth+'px'">
                    <uni-data-picker v-if="item.name=='Select'" :class="item.disabled?'input-disabled':''"
                        v-model="item.value" :localdata="item.dict" @change="onEnterChange(item)"
@@ -21,15 +21,36 @@
                        <text v-if="item.setting.suffix" class="uni-icon" :class="[item.setting.suffix]"
                            @click="classAttr_extButton(item)"></text>
                    </view>
                    <!-- 复选框 -->
                    <checkbox-group v-if="item.name=='Checkbox'" :class="item.disabled?'input-disabled':''"
                        :disabled="item.disabled" @change="onCheckBoxValue" :data-attr="item.fieldId"
                        :data-index="index">
                        <label v-for="(item2) in item.selections" :key="item2.value">
                            <checkbox :value="item2.value" :checked="item.value.includes(item2.value)" />
                            <text>{{item2.label}}</text>
                        </label>
                    </checkbox-group>
                    <!-- 单选框 -->
                    <radio-group v-if="item.name=='Radio'" :class="item.disabled?'input-disabled':''"
                        :disabled="item.disabled" @change="onRadioBoxValue" :data-attr="item.fieldId"
                        :data-index="index">
                        <label v-for="(item2) in item.selections" :key="item2.value">
                            <radio :value="item2.value" :checked="item2.value === item.value" />
                            <text>{{item2.label}}</text>
                        </label>
                    </radio-group>
                    <!-- Switch开关 -->
                    <switch class="input-switch" v-if="item.name=='Switch'" :class="item.disabled?'input-disabled':''"
                        :disabled="item.disabled" v-model="item.value" @change="onEnterChange(item)" />
                </uni-forms-item>
                <!-- 栅格布局 -->
                <uni-row v-else :gutter="item.setting.gutter">
                    <uni-col
                        :span=" item.setting.spanList && item.setting.spanList[key]? item.setting.spanList[key] : 24 / item.setting.col"
                        v-for="(col,key) in item.setting.colList">
                        <uni-forms-item :label="col.label +':'" :label-width="col.labelWidth+'px'">
                        <uni-forms-item :label="col.label ? col.label +':':''" :label-width="col.labelWidth+'px'">
                            <uni-data-picker v-if="col.name=='Select'" :class="col.disabled?'input-disabled':''"
                                v-model="col.value" :localdata="col.dict" @change="onEnterChange(item)"
                                v-model="col.value" :localdata="col.dict" @change="onEnterChange(col)"
                                :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]"
@@ -43,6 +64,27 @@
                                <text v-if="col.setting.suffix" class="uni-icon" :class="[col.setting.suffix]"
                                    @click="classAttr_extButton(col)"></text>
                            </view>
                            <!-- 复选框 -->
                            <checkbox-group v-if="col.name=='Checkbox'" :class="col.disabled?'input-disabled':''"
                                :disabled="col.disabled" @change="onCheckBoxValue" :data-attr="col.fieldId"
                                :data-index="index" :data-iindex="key">
                                <label v-for="(col2) in col.selections" :key="col2.value">
                                    <checkbox :value="col2.value" :checked="col.value.includes(col2.value)" />
                                    <text>{{col2.label}}</text>
                                </label>
                            </checkbox-group>
                            <!-- 单选框 -->
                            <radio-group v-if="col.name=='Radio'" :class="col.disabled?'input-disabled':''"
                                :disabled="col.disabled" @change="onRadioBoxValue" :data-attr="col.fieldId"
                                :data-index="index" :data-iindex="key">
                                <label v-for="(col2) in col.selections" :key="col2.value">
                                    <radio :value="col2.value" :checked="col2.value === col.value" />
                                    <text>{{col2.label}}</text>
                                </label>
                            </radio-group>
                            <!-- Switch开关 -->
                            <switch v-if="col.name=='Switch'" :class="col.disabled?'input-disabled':''"
                                :disabled="col.disabled" v-model="col.value" @change="onEnterChange(col)" />
                        </uni-forms-item>
                    </uni-col>
                </uni-row>
@@ -363,7 +405,26 @@
                                    await this.DictGetInfo(ele.bind.dict,
                                        styledefHead.form.model,
                                        ele);
                                } else {
                                    if (ele?.name === "Select") {
                                        const selections = ele?.selections || []
                                        //有默认值,显示默认值
                                        let itemName = ele.value || "";
                                        if (itemName) {
                                            styledefHead.form
                                                .model[ele.fieldId] = itemName;
                                        }
                                        ele.dict = selections.map((a) => {
                                            return {
                                                value: a.value,
                                                text: a.label
                                            }
                                        })
                                    }
                                }
                                if ($this.focusFieldId == "") {
                                    if (ele.name == 'Input' || ele.name ==
                                        'InputNumber') {
@@ -381,6 +442,22 @@
                                            .dict,
                                            styledefHead.form
                                            .model, col);
                                    } else {
                                        if (col?.name === "Select") {
                                            const selections = col?.selections || []
                                            //有默认值,显示默认值
                                            let itemName = col.value || "";
                                            if (itemName) {
                                                styledefHead.form
                                                    .model[col.fieldId] = itemName;
                                            }
                                            col.dict = selections.map((a) => {
                                                return {
                                                    value: a.value,
                                                    text: a.label
                                                }
                                            })
                                        }
                                    }
                                    if ($this.focusFieldId == "") {
                                        if (col.name == 'Input' || col
@@ -621,10 +698,67 @@
                }
            },
            onCheckBoxValue(e) { //绑定Model值
                let values = e.detail.value || []
                const item = this.head_styledef.form.items[e.currentTarget?.dataset?.index || 0]
                if (item?.setting?.colList) {
                    const col = item.setting.colList[e.currentTarget?.dataset?.iindex || 0]
                    if (col) {
                        col.value = values
                        let attr = col.fieldId;
                        this.head_styledef.form.model[attr] = col.value;
                        var onChangeEvent = col.bind.onChangeEvent; //内容变化后事件
                        if (onChangeEvent.id) { //内容变化后事件
                            this.onChange(onChangeEvent);
                        }
                        return
                    }
                } else {
                    if (item) {
                        item.value = values
                        let attr = item.fieldId;
                        this.head_styledef.form.model[attr] = item.value;
                        var onChangeEvent = item.bind.onChangeEvent; //内容变化后事件
                        if (onChangeEvent.id) { //内容变化后事件
                            this.onChange(onChangeEvent);
                        }
                    }
                }
            },
            onRadioBoxValue(e) { //绑定Model值
                let values = e.detail.value || ""
                const item = this.head_styledef.form.items[e.currentTarget?.dataset?.index || 0]
                if (item?.setting?.colList) {
                    const col = item.setting.colList[e.currentTarget?.dataset?.iindex || 0]
                    if (col) {
                        col.value = values
                        let attr = col.fieldId;
                        this.head_styledef.form.model[attr] = col.value;
                        var onChangeEvent = col.bind.onChangeEvent; //内容变化后事件
                        if (onChangeEvent.id) { //内容变化后事件
                            this.onChange(onChangeEvent);
                        }
                        return
                    }
                } else {
                    if (item) {
                        item.value = values
                        let attr = item.fieldId;
                        this.head_styledef.form.model[attr] = item.value;
                        var onChangeEvent = item.bind.onChangeEvent; //内容变化后事件
                        if (onChangeEvent.id) { //内容变化后事件
                            this.onChange(onChangeEvent);
                        }
                    }
                }
            },
            classAttr_extButton(item) {
                var onSuffixClickCallbackEvent = item.bind.onSuffixClickCallbackEvent; //后图标点击事件
                var onSuffixClickEvent = item.bind.onSuffixClickEvent; //后图标点击回调
                if (!onSuffixClickCallbackEvent.id) {
                    uni.showModal({
                        title: this.translateSys("tip"),
@@ -1126,6 +1260,9 @@
                    number1 = parseInt(value1)
                if (value2)
                    number2 = parseInt(value2)
                if (!operation) {
                    return value2;
                }
                if (operation == "+") {
                    return number1 + number2
                } else if (operation == "-") {
@@ -1133,11 +1270,17 @@
                } else if (operation == "*") {
                    return number1 * number2
                } else if (operation == "/") {
                    if (number2)
                        return number1 / number2
                    else
                        return number1
                } else return number2
                    if (number2) return number1 / number2;
                    else {
                        throw new Error(`${this.translate("illegal_dividend")}'${value2}'`);
                        return 0;
                    }
                } else if (operation == "=") {
                    return value2;
                } else {
                    throw new Error(`${this.translate("unrecognized_operator")}'${operation}'`);
                    return 0;
                }
            },
            //更新分页签中的列表项内容
@@ -1153,54 +1296,141 @@
                var detailStyleDefList = pageData.DefList || []
                detailStyleDefList.forEach(ele => {
                    value.row.forEach((rowData) => {
                        if (ele.form.objId == rowData.id) {
                            rowData.attrs.forEach(attr => {
                                ele.form.items.forEach(ele2 => {
                                    if (ele2.name !=
                                        'Layout') {
                                        if (ele2.fieldId ==
                                            attr
                                            .attr) {
                                            ele2.value =
                                                $this
                                                .operationNumber(
                                                    ele2
                                                    .value,
                                                    attr
                                                    .value,
                                                    attr
                                                    .operation
                                                )
                                        }
                                    } else if (ele2.name ==
                                        'Layout') {
                                        ele2.setting
                                            .colList
                                            .forEach(
                                                col => {
                                                    if (
                                                        col) {
                                                        if (col
                                                            .fieldId ==
                                                            attr
                                                            .attr
                                                        ) {
                                                            col.value =
                                                                $this
                                                                .operationNumber(
                                                                    col
                                                                    .value,
                                                                    attr
                                                                    .value,
                                                                    attr
                                                                    .operation
                                                                )
                        if (rowData.id) {
                            if (ele.form.objId == rowData.id) {
                                rowData.attrs.forEach(attr => {
                                    ele.form.items.forEach(ele2 => {
                                        if (ele2.name !=
                                            'Layout') {
                                            if (ele2.fieldId ==
                                                attr
                                                .attr) {
                                                ele2.value =
                                                    $this
                                                    .operationNumber(
                                                        ele2
                                                        .value,
                                                        attr
                                                        .value,
                                                        attr
                                                        .operation
                                                    )
                                            }
                                        } else if (ele2.name ==
                                            'Layout') {
                                            ele2.setting
                                                .colList
                                                .forEach(
                                                    col => {
                                                        if (
                                                            col) {
                                                            if (col
                                                                .fieldId ==
                                                                attr
                                                                .attr
                                                            ) {
                                                                col.value =
                                                                    $this
                                                                    .operationNumber(
                                                                        col
                                                                        .value,
                                                                        attr
                                                                        .value,
                                                                        attr
                                                                        .operation
                                                                    )
                                                            }
                                                        }
                                                    }
                                                })
                                    }
                                                    })
                                        }
                                    });
                                });
                            });
                            }
                        } else if (rowData.condition) {
                            const conditions = rowData.condition;
                            let bFindCondition = true;
                            for (let i in conditions) {
                                const condition = conditions[i];
                                let bFind = false;
                                for (let i2 in ele.form.items) {
                                    const ele2 = ele.form.items[i2];
                                    if (ele2.name != "Layout") {
                                        if (ele2.fieldId == condition.attr) {
                                            if (condition.value == ele2.value) {
                                                bFind = true;
                                            }
                                            break;
                                        }
                                    } else {
                                        const colList = ele2.setting.colList || [];
                                        for (let i3 in colList) {
                                            const col = colList[i3];
                                            if (col.fieldId == condition.attr) {
                                                if (condition.value == col.value) {
                                                    bFind = true;
                                                }
                                                break;
                                            }
                                        }
                                        if (bFind) break;
                                    }
                                }
                                if (!bFind) {
                                    bFindCondition = false;
                                    break;
                                }
                            }
                            if (bFindCondition) {
                                rowData.attrs.forEach(attr => {
                                    ele.form.items.forEach(ele2 => {
                                        if (ele2.name !=
                                            'Layout') {
                                            if (ele2.fieldId ==
                                                attr
                                                .attr) {
                                                ele2.value =
                                                    $this
                                                    .operationNumber(
                                                        ele2
                                                        .value,
                                                        attr
                                                        .value,
                                                        attr
                                                        .operation
                                                    )
                                            }
                                        } else if (ele2.name ==
                                            'Layout') {
                                            ele2.setting
                                                .colList
                                                .forEach(
                                                    col => {
                                                        if (
                                                            col) {
                                                            if (col
                                                                .fieldId ==
                                                                attr
                                                                .attr
                                                            ) {
                                                                col.value =
                                                                    $this
                                                                    .operationNumber(
                                                                        col
                                                                        .value,
                                                                        attr
                                                                        .value,
                                                                        attr
                                                                        .operation
                                                                    )
                                                            }
                                                        }
                                                    })
                                        }
                                    });
                                });
                            }
                        }
                    })
                });
@@ -1889,7 +2119,7 @@
                });
            },
            dataObjRunCustomEvent_Return(eventid, data_attr, button_callback, item) {
                console.log("dataObjRunCustomEvent_Return",eventid,data_attr,button_callback)
                console.log("dataObjRunCustomEvent_Return", eventid, data_attr, button_callback)
                const $this = this
                var enviroment = {
                    'function': '3000', // 功能点编号
pages/modal/5602.vue
@@ -376,12 +376,26 @@
                            .style_def);
                    }
                    $this.$data.head_styledef = result.style_def ? JSON.parse(styledef) : {};
                    // this.form = this.head_styledef.form.model;
                    // console.log($this.$data.head_styledef);
                    if ($this.head_styledef.form?.items) {
                        $this.head_styledef.form.items.forEach(async (ele, index) => {
                            if (ele.useDict == true) { //判断useDict是否使用字典
                                await this.DictGetInfo(ele.bind.dict, index, 'mast');
                            } else {
                                if (ele?.name === "Select") {
                                    const selections = ele?.selections || []
                                    //有默认值,显示默认值
                                    let itemName = ele.value || "";
                                    if (itemName) {
                                        $this.head_styledef.form
                                            .model[ele.fieldId] = itemName;
                                    }
                                    $this.head_styledef.form.items[index].dict = selections.map((a) => {
                                        return {
                                            value: a.value,
                                            text: a.label
                                        }
                                    })
                                }
                            }
                            if ($this.focusFieldId == "") {
                                if (ele.name == 'Input' || ele.name == 'InputNumber') {
@@ -433,6 +447,23 @@
                        $this.detail1_styledef.form.items.forEach(async (ele, index) => {
                            if (ele.useDict == true) { //判断useDict是否使用字典
                                await this.DictGetInfo(ele.bind.dict, index, 'sub');
                            } else {
                                if (ele?.name === "Select") {
                                    const selections = ele?.selections || []
                                    //有默认值,显示默认值
                                    let itemName = ele.value || "";
                                    if (itemName) {
                                        $this.detail1_styledefform
                                            .model[ele.fieldId] = itemName;
                                    }
                                    $this.detail1_styledef.form.items[index].dict = selections.map((a) => {
                                        return {
                                            value: a.value,
                                            text: a.label
                                        }
                                    })
                                }
                            }
                        });
                    }
@@ -1054,6 +1085,9 @@
                    number1 = parseInt(value1)
                if (value2)
                    number2 = parseInt(value2)
                if (!operation) {
                    return value2;
                }
                if (operation == "+") {
                    return number1 + number2
                } else if (operation == "-") {
@@ -1061,11 +1095,17 @@
                } else if (operation == "*") {
                    return number1 * number2
                } else if (operation == "/") {
                    if (number2)
                        return number1 / number2
                    else
                        return number1
                } else return number2
                    if (number2) return number1 / number2;
                    else {
                        throw new Error(`${this.translate("illegal_dividend")}'${value2}'`);
                        return 0;
                    }
                } else if (operation == "=") {
                    return value2;
                } else {
                    throw new Error(`${this.translate("unrecognized_operator")}'${operation}'`);
                    return 0;
                }
            },
            //更新分页签中的列表项内容
            viewActionSetRow(value) {
@@ -1078,28 +1118,92 @@
                }
                detailStyleDefList.forEach(ele => {
                    value.row.forEach((rowData) => {
                        if (ele.form.objId == rowData.id) {
                            rowData.attrs.forEach(attr => {
                                ele.form.items.forEach(ele2 => {
                                    if (ele2.name != 'Layout') {
                                        if (ele2.fieldId == attr.attr) {
                                            ele2.value = $this.operationNumber(ele2.value,
                                                attr.value, attr.operation)
                                        }
                                    } else if (ele2.name == 'Layout') {
                                        ele2.setting.colList.forEach(col => {
                                            if (col) {
                                                if (col.fieldId == attr.attr) {
                                                    col.value = $this
                                                        .operationNumber(col.value,
                                                            attr.value, attr
                                                            .operation)
                                                }
                        if (rowData.id) {
                            if (ele.form.objId == rowData.id) {
                                rowData.attrs.forEach(attr => {
                                    ele.form.items.forEach(ele2 => {
                                        if (ele2.name != 'Layout') {
                                            if (ele2.fieldId == attr.attr) {
                                                ele2.value = $this.operationNumber(ele2
                                                    .value,
                                                    attr.value, attr.operation)
                                            }
                                        })
                                    }
                                        } else if (ele2.name == 'Layout') {
                                            ele2.setting.colList.forEach(col => {
                                                if (col) {
                                                    if (col.fieldId == attr.attr) {
                                                        col.value = $this
                                                            .operationNumber(col
                                                                .value,
                                                                attr.value, attr
                                                                .operation)
                                                    }
                                                }
                                            })
                                        }
                                    });
                                });
                            });
                            }
                        } else if (rowData.condition) {
                            const conditions = rowData.condition;
                            let bFindCondition = true;
                            for (let i in conditions) {
                                const condition = conditions[i];
                                let bFind = false;
                                for (let i2 in ele.form.items) {
                                    const ele2 = ele.form.items[i2];
                                    if (ele2.name != "Layout") {
                                        if (ele2.fieldId == condition.attr) {
                                            if (condition.value == ele2.value) {
                                                bFind = true;
                                            }
                                            break;
                                        }
                                    } else {
                                        const colList = ele2.setting.colList || [];
                                        for (let i3 in colList) {
                                            const col = colList[i3];
                                            if (col.fieldId == condition.attr) {
                                                if (condition.value == col.value) {
                                                    bFind = true;
                                                }
                                                break;
                                            }
                                        }
                                        if (bFind) break;
                                    }
                                }
                                if (!bFind) {
                                    bFindCondition = false;
                                    break;
                                }
                            }
                            if (bFindCondition) {
                                rowData.attrs.forEach(attr => {
                                    ele.form.items.forEach(ele2 => {
                                        if (ele2.name != 'Layout') {
                                            if (ele2.fieldId == attr.attr) {
                                                ele2.value = $this.operationNumber(ele2
                                                    .value,
                                                    attr.value, attr.operation)
                                            }
                                        } else if (ele2.name == 'Layout') {
                                            ele2.setting.colList.forEach(col => {
                                                if (col) {
                                                    if (col.fieldId == attr.attr) {
                                                        col.value = $this
                                                            .operationNumber(col
                                                                .value,
                                                                attr.value, attr
                                                                .operation)
                                                    }
                                                }
                                            })
                                        }
                                    });
                                });
                            }
                        }
                    })
                });