From 625badef071d0931b3868b2ba672d51ce2cc5b91 Mon Sep 17 00:00:00 2001
From: cuiqian2004 <cuiqian2004@163.com>
Date: 星期三, 19 二月 2025 10:01:20 +0800
Subject: [PATCH] action set_subtable_page_row 处理 condition
---
locale/es.json | 7
pages/modal/3018_2.vue | 75 +++
pages/modal/3200_view.vue | 43 +-
pages/modal/5602.vue | 158 +++++++-
pages/modal/5601.vue | 342 +++++++++++++++---
pages/modal/3037_2.vue | 80 +++-
locale/zh-Hans.json | 7
App.vue | 10
locale/en.json | 4
locale/zh-Hant.json | 11
What's New.txt | 2
pages/modal/3200.vue | 66 ++-
manifest.json | 10
pages/modal/5600.vue | 221 +++++++++---
pages/login/index.vue | 22 +
15 files changed, 820 insertions(+), 238 deletions(-)
diff --git a/App.vue b/App.vue
index 514d2de..9c61ef0 100644
--- a/App.vue
+++ b/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() {
diff --git "a/What\047s New.txt" "b/What\047s New.txt"
index e61cc1d..b6850bf 100644
--- "a/What\047s New.txt"
+++ "b/What\047s New.txt"
@@ -1,3 +1,5 @@
+2025.02.19
+1.action set_subtable_page_row 澶勭悊 condition
2024.08.20
1.鑾峰彇pda鍔熻兘闇�鍒ゆ柇鏉冮檺
2024.08.16
diff --git a/locale/en.json b/locale/en.json
index eafed40..5e94d7c 100644
--- a/locale/en.json
+++ b/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 "
}
\ No newline at end of file
diff --git a/locale/es.json b/locale/es.json
index 19be636..dbe3803 100644
--- a/locale/es.json
+++ b/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 "
}
\ No newline at end of file
diff --git a/locale/zh-Hans.json b/locale/zh-Hans.json
index 663d4f8..331d2c4 100644
--- a/locale/zh-Hans.json
+++ b/locale/zh-Hans.json
@@ -125,10 +125,9 @@
"page.function_not_exist": "鍔熻兘鐐逛笉瀛樺湪锛�,
"page.function_not_edit_dlg": "璇ュ姛鑳界偣鏈厤缃紪杈戠獥鍙o紒",
"page.no_find_attr_diaplay": "鏈壘鍒板彲鏄剧ず鐨勭殑灞炴�锛�,
-
-
- "page.cannot_prj_function": "鏆傛椂鏈敮鎸侀�鎷╅」鐩帴鍙o紒"
-
+ "page.cannot_prj_function": "鏆傛椂鏈敮鎸侀�鎷╅」鐩帴鍙o紒",
+ "page.illegal_dividend": "闈炴硶琚櫎鏁�,
+ "page.unrecognized_operator": "鏃犳硶璇嗗埆鐨勬搷浣滅"
}
\ No newline at end of file
diff --git a/locale/zh-Hant.json b/locale/zh-Hant.json
index dbfd844..2d0fbe9 100644
--- a/locale/zh-Hant.json
+++ b/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": "鐒℃硶璀樺垾鐨勬搷浣滅"
}
\ No newline at end of file
diff --git a/manifest.json b/manifest.json
index cbf700e..2169946 100644
--- a/manifest.json
+++ b/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" : {
diff --git a/pages/login/index.vue b/pages/login/index.vue
index 7958b0d..de15e2d 100644
--- a/pages/login/index.vue
+++ b/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"; // 鏇挎崲涓虹洰鏍嘺pp鐨剆cheme 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');
diff --git a/pages/modal/3018_2.vue b/pages/modal/3018_2.vue
index 4c59b99..ab196d0 100644
--- a/pages/modal/3018_2.vue
+++ b/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; //鍚庡浘鏍囩偣鍑讳簨浠�diff --git a/pages/modal/3037_2.vue b/pages/modal/3037_2.vue
index 3c4dbe2..6e08aaa 100644
--- a/pages/modal/3037_2.vue
+++ b/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;
diff --git a/pages/modal/3200.vue b/pages/modal/3200.vue
index 27a704d..dc03306 100644
--- a/pages/modal/3200.vue
+++ b/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)"></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)"></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
+ }
+ })
+ }
+
}
+
});
}
diff --git a/pages/modal/3200_view.vue b/pages/modal/3200_view.vue
index cf928fc..ab5432a 100644
--- a/pages/modal/3200_view.vue
+++ b/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>
diff --git a/pages/modal/5600.vue b/pages/modal/5600.vue
index 3db80aa..b1f2596 100644
--- a/pages/modal/5600.vue
+++ b/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)"></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>
\ No newline at end of file
diff --git a/pages/modal/5601.vue b/pages/modal/5601.vue
index 52a5dd6..d019952 100644
--- a/pages/modal/5601.vue
+++ b/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', // 鍔熻兘鐐圭紪鍙�diff --git a/pages/modal/5602.vue b/pages/modal/5602.vue
index d87a1e8..bb6d4d2 100644
--- a/pages/modal/5602.vue
+++ b/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)
+ }
+ }
+ })
+ }
+ });
+ });
+
+ }
}
})
});
--
Gitblit v1.9.1