action set_subtable_page_row 处理 condition
| | |
| | | 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() { |
| | |
| | | 2025.02.19 |
| | | 1.action set_subtable_page_row 处理 condition |
| | | 2024.08.20 |
| | | 1.获取pda功能需要判断权限 |
| | | 2024.08.16 |
| | |
| | | "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 " |
| | | } |
| | |
| | | "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 " |
| | | } |
| | |
| | | "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": "无法识别的操作符" |
| | | |
| | | |
| | | } |
| | |
| | | "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": "未輸入網站地址,請重新配寘輸入", |
| | |
| | | "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": "無法識別的操作符" |
| | | |
| | | } |
| | |
| | | "name" : "MoboxPDA", |
| | | "appid" : "__UNI__56D451E", |
| | | "description" : "", |
| | | "versionName" : "1.1.38", |
| | | "versionCode" : 1138, |
| | | "versionName" : "1.1.40", |
| | | "versionCode" : 1140, |
| | | "transformPx" : false, |
| | | /* 5+App特有相关 */ |
| | | "app-plus" : { |
| | |
| | | "<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" : { |
| | |
| | | </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> |
| | |
| | | } |
| | | |
| | | }, |
| | | 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; |
| | |
| | | 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'); |
| | |
| | | <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--> |
| | |
| | | </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> |
| | |
| | | <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]" |
| | |
| | | <!-- 复选框 --> |
| | | <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> |
| | |
| | | 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 == |
| | |
| | | .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 |
| | |
| | | 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; //后图标点击事件 |
| | |
| | | </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> |
| | |
| | | </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> |
| | |
| | | <!-- 复选框 --> |
| | | <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> |
| | |
| | | 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 |
| | | } |
| | | }) |
| | | } |
| | | |
| | | } |
| | | }); |
| | | } |
| | |
| | | $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 |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | }); |
| | | } |
| | |
| | | } |
| | | } |
| | | }, |
| | | |
| | | 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; |
| | |
| | | :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> |
| | |
| | | <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':''" |
| | |
| | | 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> |
| | |
| | | </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> |
| | |
| | | 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)" |
| | |
| | | </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> |
| | | <!-- 单选框 --> |
| | |
| | | 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 |
| | | } |
| | | }) |
| | | } |
| | | |
| | | } |
| | | |
| | | }); |
| | | |
| | | } |
| | |
| | | <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> |
| | |
| | | </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> |
| | |
| | | <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':''" |
| | |
| | | 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> |
| | |
| | | </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> |
| | |
| | | :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> |
| | |
| | | <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'"> |
| | |
| | | <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> |
| | |
| | | </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' }" |
| | |
| | | selectAttrObj: {}, |
| | | okLoading: false, |
| | | ok2Loading: false, |
| | | |
| | | |
| | | |
| | | |
| | | global_attr: [], |
| | | refdatastore: [], //引用数据存储区// {attr:'G_PRJ_' + bindattr + '_ID', value:info.id} |
| | | popupType: "center", |
| | |
| | | $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') { |
| | |
| | | $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 |
| | | } |
| | | }) |
| | | } |
| | | |
| | | } |
| | | }); |
| | | } |
| | |
| | | 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, |
| | |
| | | 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"), |
| | |
| | | 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 => { |
| | |
| | | number1 = parseInt(value1) |
| | | if (value2) |
| | | number2 = parseInt(value2) |
| | | if (!operation) { |
| | | return value2; |
| | | } |
| | | if (operation == "+") { |
| | | return number1 + number2 |
| | | } else if (operation == "-") { |
| | |
| | | } 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; |
| | | } |
| | | }, |
| | | |
| | | //更新分页签中的列表项内容 |
| | |
| | | } |
| | | 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) { |
| | |
| | | } |
| | | data[index].check = ischeck ? false : true; |
| | | this.$data.check_list.items = data; |
| | | |
| | | |
| | | }, |
| | | popup_cancel(e) { //弹框取消 |
| | | this.$refs.popup.close(); |
| | |
| | | $this.DataObjRunCustomEvent(info, $this.$data.popupParam.data_attr); |
| | | this.$refs.popup.close(); |
| | | }, |
| | | |
| | | |
| | | async DataObjRunCustomEvent(info, data_attr) { |
| | | var $this = this; |
| | | var enviroment = { |
| | |
| | | showCancel: false, |
| | | confirmText: this.translateSys("cancel") |
| | | }); |
| | | |
| | | |
| | | var actionlist = data.action; |
| | | if (actionlist) { |
| | | console.log(actionlist); |
| | |
| | | }); |
| | | } |
| | | } |
| | | |
| | | |
| | | var length = 0; |
| | | if (!$this.$data.refdatastore.filter(function(s) { |
| | | return result[i].attr == s.attr |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | }).catch(ex => { |
| | | // console.log(ex); |
| | | let exStr = JSON.stringify(ex) |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | var extinfo = enviroment; |
| | | extinfo.edit_dlg = { |
| | | type: 'small', //小窗口 |
| | |
| | | })) |
| | | ) |
| | | ); |
| | | |
| | | |
| | | if (!eventid.includes('{')) eventid = '{' + eventid + '}'; |
| | | var dataInfo = { |
| | | ed_type: "0", |
| | |
| | | showCancel: false, |
| | | confirmText: $this.translateSys("cancel") |
| | | }); |
| | | |
| | | |
| | | if (data != "") { |
| | | var actions = data.action; |
| | | if (actions) { |
| | |
| | | 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> ' + |
| | |
| | | }); |
| | | d.show(); |
| | | } else if (action.action_type == 'open_common_dlg') { |
| | | |
| | | |
| | | if (val.common_dlg_id == 'check_list') { |
| | | $this.setData({ |
| | | check_list: val.config |
| | |
| | | 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 |
| | |
| | | attr: param.req, |
| | | dataJson: [], |
| | | } |
| | | |
| | | |
| | | $this.DataObjRunCustomEvent( |
| | | info); |
| | | } |
| | |
| | | }); |
| | | } |
| | | } |
| | | |
| | | |
| | | }).catch(ex => { |
| | | // console.log(ex); |
| | | let exStr = JSON.stringify(ex) |
| | |
| | | }); |
| | | }); |
| | | }, |
| | | |
| | | |
| | | |
| | | |
| | | //确定 |
| | | ok() { |
| | | this.Before_OK_Event = this.param.Sub_Page[0].Before_ok; |
| | |
| | | .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; |
| | |
| | | /* float: left; */ |
| | | display: inline-block; |
| | | } |
| | | |
| | | |
| | | button.btn_popup_cancel { |
| | | width: 180rpx; |
| | | margin-top: 50rpx; |
| | |
| | | /* float: right; */ |
| | | display: inline-block; |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | </style> |
| | |
| | | <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)" |
| | |
| | | <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]" |
| | |
| | | <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> |
| | |
| | | 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') { |
| | |
| | | .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 |
| | |
| | | |
| | | } |
| | | }, |
| | | 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"), |
| | |
| | | number1 = parseInt(value1) |
| | | if (value2) |
| | | number2 = parseInt(value2) |
| | | if (!operation) { |
| | | return value2; |
| | | } |
| | | if (operation == "+") { |
| | | return number1 + number2 |
| | | } else if (operation == "-") { |
| | |
| | | } 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; |
| | | } |
| | | }, |
| | | |
| | | //更新分页签中的列表项内容 |
| | |
| | | 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 |
| | | ) |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | } |
| | | } |
| | | }) |
| | | }); |
| | |
| | | }); |
| | | }, |
| | | 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', // 功能点编号 |
| | |
| | | .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') { |
| | |
| | | $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 |
| | | } |
| | | }) |
| | | } |
| | | |
| | | } |
| | | }); |
| | | } |
| | |
| | | number1 = parseInt(value1) |
| | | if (value2) |
| | | number2 = parseInt(value2) |
| | | if (!operation) { |
| | | return value2; |
| | | } |
| | | if (operation == "+") { |
| | | return number1 + number2 |
| | | } else if (operation == "-") { |
| | |
| | | } 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) { |
| | |
| | | } |
| | | 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) |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | } |
| | | } |
| | | }) |
| | | }); |