| App.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| What's New.txt | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| locale/en.json | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| locale/es.json | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| locale/zh-Hans.json | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| locale/zh-Hant.json | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| manifest.json | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| pages/login/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| pages/modal/3018_2.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| pages/modal/3037_2.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| pages/modal/3200.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| pages/modal/3200_view.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| pages/modal/5600.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| pages/modal/5601.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| pages/modal/5602.vue | ●●●●● 补丁 | 查看 | 原始文档 | 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
@@ -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
@@ -51,8 +51,7 @@ <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)"></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)"></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)"></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)"></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)"></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)"></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)"></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
@@ -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 } }) } } }); } @@ -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,12 +1110,14 @@ } detailStyleDefList.forEach(ele => { value.row.forEach((rowData) => { 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, ele2.value = $this.operationNumber(ele2 .value, attr.value, attr.operation) } } else if (ele2.name == 'Layout') { @@ -1080,7 +1125,8 @@ if (col) { if (col.fieldId == attr.attr) { col.value = $this .operationNumber(col.value, .operationNumber(col .value, attr.value, attr .operation) } @@ -1090,6 +1136,68 @@ }); }); } } 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) { @@ -3045,6 +3153,7 @@ .demo-uni-row .uni-input { width: calc(100% - 120px); } .popup-header { font-size: 42rpx; font-weight: bold; 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 @@ -620,6 +697,63 @@ } } }, 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; //后图标点击事件 @@ -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,6 +1296,7 @@ var detailStyleDefList = pageData.DefList || [] detailStyleDefList.forEach(ele => { value.row.forEach((rowData) => { if (rowData.id) { if (ele.form.objId == rowData.id) { rowData.attrs.forEach(attr => { ele.form.items.forEach(ele2 => { @@ -1202,6 +1346,92 @@ }); }); } } 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 ) } } }) } }); }); } } }) }); pageData.DefList = detailStyleDefList 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,12 +1118,14 @@ } detailStyleDefList.forEach(ele => { value.row.forEach((rowData) => { 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, ele2.value = $this.operationNumber(ele2 .value, attr.value, attr.operation) } } else if (ele2.name == 'Layout') { @@ -1091,7 +1133,8 @@ if (col) { if (col.fieldId == attr.attr) { col.value = $this .operationNumber(col.value, .operationNumber(col .value, attr.value, attr .operation) } @@ -1101,6 +1144,67 @@ }); }); } } 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) {