From b1233b1089142611698e913e565ec232334ba261 Mon Sep 17 00:00:00 2001 From: cuiqian2004 <cuiqian2004@163.com> Date: 星期三, 14 五月 2025 08:37:16 +0800 Subject: [PATCH] form selections --- pages/modal/3018_2.vue | 748 +++++++++++++++++--------------------------------------- 1 files changed, 231 insertions(+), 517 deletions(-) diff --git a/pages/modal/3018_2.vue b/pages/modal/3018_2.vue index 56d6ed0..3a2d39d 100644 --- a/pages/modal/3018_2.vue +++ b/pages/modal/3018_2.vue @@ -2,141 +2,16 @@ <view class="uni-page-modal-3018-2"> <view class="view-content"> <!-- 琛ㄥご鏍峰紡 --> - <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 ? 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--> - <uni-data-select id="dv_select" v-if="item.name=='Select'" - :style="'width: calc(100% - '+item.labelWidth-10+'px);'" - :class="item.disabled?'input-disabled':''" v-model="item.value" :localdata="item.dict" - @change="onChange(item)" :disabled="item.disabled" :clear="false"></uni-data-select> - <!-- 鏂囨湰妗�鏁板瓧妗�--> - <view class="input-wrapper" v-if="(item.name=='Input' || item.name=='InputNumber')"> - <text v-if="item.setting.prefix" class="uni-icon" :class="[item.setting.prefix]" - @click="classAttr_extButton(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="{'padding-left':item.setting.prefix?0 : '8rpx','right':item.setting.suffix?0 : '8rpx'}" - :focus="focusFieldId == item.fieldId" @focus="ontap(item)" @click="onClick(item)" - @keyup.enter="onModelValue(item)" @blur="onModelValue(item)" :maxlength="-1" /> - <text v-if="item.setting.suffix" class="uni-icon" :class="[item.setting.suffix]" - @click="classAttr_extButton(item)"></text> - </view> - <!-- 澶氳鏂囨湰 --> - <view class="input-wrapper" v-if="item.name=='Textarea' "> - <textarea class="uni-input" :class="item.disabled?'input-disabled':''" :value="item.value" - :focus="focusFieldId == item.fieldId" :placeholder="item.placeholder" - @blur="onModelValue(item)" @click="onClick(item)" :data-index="index" - style="height:60px;" :style="{'width':'96%'}" :disabled="item.disabled"></textarea> + <OIForm ref="refBaseForm" class="v-headStyle" :form="head_styledef.form" :focusId="focusFieldId" + @on-click="onClick" @on-focus="ontap" @on-change="onEnterChange" @on-click-prefix="classAttr_extButton" + @on-click-suffix="classAttr_extButton"></OIForm> - </view> - <!-- 澶嶉�妗�--> - <checkbox-group class="check_rememberPwd" v-if="item.name=='Checkbox'" - :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="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> - </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="onModelValue(item)" /> - <!-- 鏃ユ湡鏃堕棿 --> - <view class="input-wrapper" v-if="(item.name=='TimePicker' || item.name=='DatePicker')"> - <picker mode="date" class="date_iput" :class="item.disabled?'input-disabled':''" - :disabled="item.disabled" :value="item.value" @change="onModelValue(item)"> - <view class="picker">{{item.value}}</view> - </picker> - </view> - </uni-forms-item> - <!-- 鏍呮牸甯冨眬 --> - <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? 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]" - @click="classAttr_extButton(cols)"></text> - <input class="uni-input" :class="cols.disabled?'input-disabled':''" - :type="cols.name=='Input'?'text':cols.name=='InputNumber'?'number':'text'" - v-model="cols.value" :disabled="cols.disabled" :placeholder="cols.placeholder" - :style="{'padding-left':cols.setting.prefix?0 : '8px','right':cols.setting.suffix?0 : '8px'}" - :focus="focusFieldId == cols.fieldId" @focus="ontap(cols)" - @click="onClick(cols)" @blur="onevent(cols)" :maxlength="-1" /> - <text v-if="cols.setting.suffix" class="uni-icon" :class="[cols.setting.suffix]" - @click="classAttr_extButton(cols)"></text> - </view> - <!-- 涓嬫媺妗�鍗曢� cols.useDict?cols.dict:cols.selections--> - <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' "> - <textarea class="uni-input" :value="cols.value" - :class="cols.disabled?'input-disabled':''" :placeholder="cols.placeholder" - :focus="focusFieldId == cols.fieldId" @blur="onModelValue(cols)" - @click="onClick(cols)" style="height:60px;" :style="{'width':'96%'}" - :disabled="cols.disabled"></textarea> - </view> - <!-- 澶嶉�妗�--> - <checkbox-group class="check_rememberPwd" v-if="cols.name=='Checkbox'" - :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" - @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> - </label> - </radio-group> - <!-- Switch寮�叧 --> - <switch v-if="cols.name=='Switch'" :class="cols.disabled?'input-disabled':''" - :disabled="cols.disabled" v-model="cols.value" @change="onModelValue(cols)" - :style="{'margin-left':'10rpx'}" /> - <!-- 鏃ユ湡鏃堕棿 --> - <view class="input-wrapper" - v-if="(cols.name=='TimePicker' || cols.name=='DatePicker') && !cols.disabled"> - <picker mode="date" class="date_iput" :class="cols.disabled?'input-disabled':''" - :disabled="cols.disabled" :value="cols.value" @change="onModelValue(cols)"> - <view class="picker">{{cols.value}}</view> - </picker> - </view> - - </uni-forms-item> - </uni-col> - </uni-row> - </view> - </uni-forms> </view> <view class="view-bottom"> <view class="uni-padding-wrap" v-if="dropdownBtns.length>0"> <view class="uni-btn-v"> <a @tap="clickDropdownBtns"> - <Icon class="mobox-normal-more" /> + <text class="mobox-normal-more" /> </a> </view> </view> @@ -176,8 +51,12 @@ </template> <script> - import Base64 from '../../components/js-base64/base64.js' + import { + Base64 + } from '@/js/Base64.js'; import utils from "@/js/utils.js" + import dayjs from "dayjs"; + import OIForm from '@/components/oi-form/index.vue' import { appGetInfo, dictGetInfo @@ -187,10 +66,12 @@ runCustomEvent, dataObjCreate } from "@/api/data.js" + import buttonClickMixin from '@/mixins/button-click.js'; export default { - modules: { - Base64, + mixins: [buttonClickMixin], + components: { + OIForm, }, data() { return { @@ -202,7 +83,6 @@ edit_select_compose_event: "", //閫夋嫨缁勬垚瀵硅薄鏃惰皟鐢� edit_compose_cls_id: "", global_attr: [], - refdatastore: [], //寮曠敤鏁版嵁瀛樺偍鍖�/ {attr:'G_PRJ_' + bindattr + '_ID', value:info.id} scanCodeVal: "", popupType: "center", check_list: {}, @@ -269,7 +149,6 @@ edit_select_compose_event: "", //閫夋嫨缁勬垚瀵硅薄鏃惰皟鐢� edit_compose_cls_id: "", global_attr: [], - refdatastore: [], //寮曠敤鏁版嵁瀛樺偍鍖�/ {attr:'G_PRJ_' + bindattr + '_ID', value:info.id} scanCodeVal: "", popupType: "center", check_list: {}, @@ -295,10 +174,10 @@ uni.setNavigationBarTitle({ title: options.titlename }); //璁剧疆椤堕儴鏍囬 - this.$data.param = JSON.parse(options.param); - this.$data.title = this.$data.param.Add_BtnName ? this.$data.param.Add_BtnName : options + this.param = JSON.parse(options.param); + this.title = this.param.Add_BtnName ? this.param.Add_BtnName : options .titlename; //璁剧疆鎸夐挳鏂囧瓧 - this.$data.btnName = this.$data.param.Add_BtnName || "" + this.btnName = this.param.Add_BtnName || "" this.loadData(options.paramValue) }, computed: { @@ -338,7 +217,7 @@ //浼犲叆鍙傛暟鍊� if (paramValue) { const attrs = paramValue.attrs || []; - (this.$data.head_styledef?.form?.items || []).forEach(async (ele, index) => { + (this.head_styledef?.form?.items || []).forEach(async (ele, index) => { if (ele.name != "Layout") { attrs.forEach(async (ele2, index2) => { if (ele.fieldId == ele2.name) { @@ -394,18 +273,15 @@ //鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ� let itemName = ele.value || ""; if (itemName) { - styledefHead.form - .model[ele.fieldId] = itemName; + styledefHead.form.model[ele.fieldId] = itemName; } - ele.dict = selections.map((a) => { + ele.selections = selections.map((a) => { return { value: a.value, text: a.label } }) - } - } if ($this.focusFieldId == "") { if (ele.name == 'Input' || ele.name == @@ -435,16 +311,13 @@ styledefHead.form .model[col.fieldId] = itemName; } - col.dict = selections.map((a) => { + col.selections = selections.map((a) => { return { value: a.value, text: a.label } }) - - } - } if ($this.focusFieldId == "") { if (col.name == 'Input' || col @@ -571,10 +444,8 @@ }); return false } else { - var tip = data.info ? typeof data.info == 'string' ? data.info : data - .info - .join( - '<br/>') : ''; + var tip = data.info ? typeof data.info == 'string' ? data.info : + data.info.join('<br/>') : ''; if (tip) uni.showModal({ title: this.translateSys("tip"), content: tip, @@ -593,13 +464,11 @@ } else if (action.action_type == 'set_dlg_attr_show') { var result = action.value; $this.hideFormItems(result) - // console.log($this.$data.head_styledef); + // console.log($this.head_styledef); } else if (action.action_type == "set_dlg_current_edit_attr" ) { - if ($this - .focusOldFieldId == - action.value) { + if ($this.focusOldFieldId == action.value) { $this.setData({ focusFieldId: "" }) @@ -704,11 +573,15 @@ onScanValue(item, value) { const $this = this; //console.log("onScanValue", item); - if (item.oldvalue != value) { - item.oldvalue = value; - item.value = value; + item.value = value + let newVal = item.value + if (typeof item.value == "string") { + newVal = item.value.trim() + } + if (newVal) { + item.oldvalue = newVal; var attr = item.fieldId; - $this.head_styledef.form.model[attr] = value; + $this.head_styledef.form.model[attr] = newVal; var eventid = item.bind.onChangeEvent.id; //鍐呭鍙樺寲鍚庝簨浠� if (eventid) { var obj_attr = this.head_styledef.form.model; @@ -725,70 +598,67 @@ rclsid: '', robjid: '', userlogin: '', - clsid: this.$data.param.DataCls.id, + clsid: this.param.DataCls.id, objid: "", attr: req, dataJson: [], } this.DataObjRunCustomEvent(info, ''); } - if (item.value) { //绗竴涓緭鍏ユ涓嶄负绌�- //鍒濆鍖栵紝涓嬩釜杈撳叆妗唂ocus灞炴� - var findd = false - for (let i in $this.head_styledef.form.items) { - const ele = $this.head_styledef.form.items[i] + //鍒濆鍖栵紝涓嬩釜杈撳叆妗唂ocus灞炴� + var findd = false + for (let i in $this.head_styledef.form.items) { + const ele = $this.head_styledef.form.items[i] - if (ele.name != "Layout") { - if (ele.name == 'Input' || ele.name == 'InputNumber') { - if (attr == ele.fieldId) { - findd = true - } else { - if (findd) { - $this.setData({ - focusFieldId: ele.fieldId - }) - break - } - - } - - } - } else { - if (findd) { - let curIndex = ele.setting.colList.findIndex((col, index2, arr) => { - return (col.name == 'Input' || col.name == 'InputNumber'); - }) - if (curIndex > -1) { + if (ele.name != "Layout") { + if (ele.name == 'Input' || ele.name == 'InputNumber') { + if (attr == ele.fieldId) { + findd = true + } else { + if (findd) { $this.setData({ - focusFieldId: ele.setting.colList[curIndex] - .fieldId + focusFieldId: ele.fieldId }) break } - } else { - let curIndex = ele.setting.colList.findIndex((col, index2, arr) => { - return attr == col.fieldId; - }) - if (curIndex > -1) { - findd = true - let curIndex2 = ele.setting.colList.findIndex((col, index2, arr) => { - return (col.name == 'Input' || col.name == - 'InputNumber') && - index2 > - curIndex; - }) - if (curIndex2 > -1) { - $this.setData({ - focusFieldId: ele.setting.colList[curIndex] - .fieldId - }) - break - } - } } } + } else { + if (findd) { + let curIndex = ele.setting.colList.findIndex((col, index2, arr) => { + return (col.name == 'Input' || col.name == 'InputNumber'); + }) + if (curIndex > -1) { + $this.setData({ + focusFieldId: ele.setting.colList[curIndex] + .fieldId + }) + break + } + + } else { + let curIndex = ele.setting.colList.findIndex((col, index2, arr) => { + return attr == col.fieldId; + }) + if (curIndex > -1) { + findd = true + let curIndex2 = ele.setting.colList.findIndex((col, index2, arr) => { + return (col.name == 'Input' || col.name == + 'InputNumber') && + index2 > + curIndex; + }) + if (curIndex2 > -1) { + $this.setData({ + focusFieldId: ele.setting.colList[curIndex].fieldId + }) + break + } + } + } + } } @@ -798,95 +668,58 @@ // console.log("onClick",item); this.focusFieldId = item.fieldId }, - onevent(item) { - // console.log("onevent",item); - if (item.oldvalue != item.value && item.value.trim() != "") { - item.oldvalue = item.value; - var attr = item.fieldId; - this.head_styledef.form.model[attr] = item.value; - //瀛愭暟鎹被鎵爜鍖轰簨浠惰剼鏈�- var eventid = item.bind.onChangeEvent.id; //鍐呭鍙樺寲鍚庝簨浠�- if (eventid) { - var obj_attr = this.head_styledef.form.model; - // console.log(obj_attr); - var req = Object.keys(obj_attr).map((a) => ({ - attr: a, - value: obj_attr[a] || "", - })); - var info = { - eventid: eventid, - edtype: "0", - projectid: '', - rclsid: '', - robjid: '', - userlogin: '', - clsid: this.$data.param.DataCls.id, - objid: "", - attr: req, - dataJson: [], - } - this.DataObjRunCustomEvent(info, ""); + onEnterChange(item) { + let newVal = item.value + if (typeof item.value == "string") { + newVal = item.value.trim() + if (!newVal) { + item.oldvalue = newVal; + var attr = item.fieldId; + this.head_styledef.form.model[attr] = newVal; + return } } - - }, - onChange(item) { - console.log("onChange", item); - if (item.oldvalue != item.value && item.value.trim() != "") { - item.oldvalue = item.value; + if (item.oldvalue != newVal) { + item.oldvalue = newVal; var attr = item.fieldId; - this.head_styledef.form.model[attr] = item.value; - var eventid = item.bind.onChangeEvent.id; //鍐呭鍙樺寲鍚庝簨浠�- if (eventid) { - // self.event_no_sub = 1; - var obj_attr = this.head_styledef.form.model; - // console.log(obj_attr); - var req = Object.keys(obj_attr).map((a) => ({ - attr: a, - value: obj_attr[a] || "", - })); - var info = { - eventid: eventid, - edtype: "0", - projectid: '', - rclsid: '', - robjid: '', - userlogin: '', - clsid: this.$data.param.DataCls.id, - objid: "", - attr: req, - dataJson: [] - } - this.DataObjRunCustomEvent(info); - } - } - - }, - onModelValue(item) { //缁戝畾Model鍊�- var attr = item.fieldId; - if (item.oldvalue != item.value && item.value.trim() != "") { - item.oldvalue = item.value; - var attr = item.fieldId; - this.head_styledef.form.model[attr] = item.value; + this.head_styledef.form.model[attr] = newVal; var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�+ // this.onScanValue(this.head_styledef.form.items[2].setting.colList[0], "test") if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠� this.onChange(onChangeEvent); } - } + }, - onCheckBoxValue(e) { //缁戝畾Model鍊�- let values = e.detail.value || [] - let attr = e.currentTarget?.dataset?.attr || "" - this.head_styledef.form.model[attr] = values; + // 鍐呭鍙樺寲鍚庝簨浠�+ async onChange(event) { + var eventid = event?.id; //鍐呭鍙樺寲鍚庝簨浠�+ if (eventid) { + // self.event_no_sub = 1; + var obj_attr = this.head_styledef.form.model; + // console.log(obj_attr); + var req = Object.keys(obj_attr).map((a) => ({ + attr: a, + value: obj_attr[a] || "", + })); + var info = { + eventid: eventid, + edtype: "0", + projectid: '', + rclsid: '', + robjid: '', + userlogin: '', + clsid: this.param.DataCls.id, + objid: "", + attr: req, + dataJson: [] + } + this.DataObjRunCustomEvent(info); + } + }, - onRadioBoxValue(e) { //缁戝畾Model鍊�- let value = e.detail.value || "" - let attr = e.currentTarget?.dataset?.attr || "" - this.head_styledef.form.model[attr] = value; - }, + classAttr_extButton(item) { - console.log("classAttr_extButton", item) var onSuffixClickCallbackEvent = item.bind.onSuffixClickCallbackEvent; //鍚庡浘鏍囩偣鍑讳簨浠� var onSuffixClickEvent = item.bind.onSuffixClickEvent; //鍚庡浘鏍囩偣鍑诲洖璋� @@ -908,7 +741,7 @@ }); return; } - this.$data.popupType = 'right' + this.popupType = 'right' // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦�uni-popup 缁勪欢涓婄粦瀹�type灞炴� this.$refs.popup.open(this.popupType); @@ -922,15 +755,15 @@ // console.log(e.target.dataset); var index = e.target.dataset.index; var ischeck = e.target.dataset.ischeck; - var data = this.$data.check_list.items; - // this.$data.check_list.items=[]; - if (this.$data.check_list.multiple_choice == "0") { //鍒ゆ柇鏃跺崟閫夎繕鏄閫�+ var data = this.check_list.items; + // this.check_list.items=[]; + if (this.check_list.multiple_choice == "0") { //鍒ゆ柇鏃跺崟閫夎繕鏄閫� for (var i in data) { data[i].check = false; } } data[index].check = ischeck ? false : true; - this.$data.check_list.items = data; + this.check_list.items = data; }, popup_cancel(e) { //寮规鍙栨秷 @@ -938,7 +771,7 @@ }, popup_sava(e) { //寮规纭畾 var $this = this; - var items = $this.$data.check_list.items; + var items = $this.check_list.items; var data = []; var name = ""; for (var i = 0; i < items.length; i++) { @@ -952,7 +785,7 @@ }); } } - if (!$this.$data.popupParam) { + if (!$this.popupParam) { uni.showModal({ title: this.translateSys("tip"), content: "popupParam涓虹┖锛�, @@ -970,7 +803,7 @@ }); return; } - var callback_eventid = $this.$data.popupParam.button_callback.trim(); + var callback_eventid = $this.popupParam.button_callback.trim(); var info = { eventid: callback_eventid, edtype: "0", @@ -978,12 +811,12 @@ rclsid: '', robjid: '', userlogin: '', - clsid: $this.$data.param.DataCls.id, + clsid: $this.param.DataCls.id, objid: "", - attr: $this.$data.popupParam.req, + attr: $this.popupParam.req, dataJson: data } - $this.DataObjRunCustomEvent(info, $this.$data.popupParam.data_attr); + $this.DataObjRunCustomEvent(info, $this.popupParam.data_attr); this.$refs.popup.close(); }, @@ -991,18 +824,18 @@ var $this = this; var enviroment = { 'function': '3000', // 鍔熻兘鐐圭紪鍙�- cls_id: this.$data.param.DataCls.id, // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇�+ cls_id: this.param.DataCls.id, // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇� 'button': 'top', // top/bottom button_name: this.translateSys('add2'), master: { - cls_id: this.$data.param.DataCls.id, // button=bottom鏃�master鐨刢ls_id + cls_id: this.param.DataCls.id, // button=bottom鏃�master鐨刢ls_id //obj_id: '' // button=bottom鏃�master鐨刼bj_id } }; if (data_attr) { enviroment.edit_dlg = { type: 'small', //灏忕獥鍙�- class_id: this.$data.param.DataCls.id, //褰撳墠鏁版嵁绫籭d + class_id: this.param.DataCls.id, //褰撳墠鏁版嵁绫籭d } if (data_attr) { enviroment.edit_dlg.form_control = { //鎵�睘鐨勮〃鍗曟帶浠�@@ -1021,11 +854,11 @@ // edtype: info.edtype, eventid: info.eventid, projectid: info.projectid.replace('{','').replace('}',''), // rclsid: info.rclsid, robjid: info.robjid, userlogin: info.userlogin, clsid: info.clsid, objid: info.objid, // attr: JSON.stringify(info.attr), extinfo: JSON.stringify(enviroment), inputparameter: "", - // global_attr: JSON.stringify(this.$data.global_attr), dataJson:JSON.stringify(info.dataJson) + // global_attr: JSON.stringify(this.global_attr), dataJson:JSON.stringify(info.dataJson) // } enviroment = Base64.encode(JSON.stringify(enviroment)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜 var input_param = Base64.encode(JSON.stringify(info.attr)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜 - var global_attr = Base64.encode(JSON.stringify(this.$data.global_attr)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜 + var global_attr = Base64.encode(JSON.stringify(this.global_attr)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜 if (info.dataJson) info.dataJson = Base64.encode(JSON.stringify(info.dataJson)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜 var obj_attr = {}; @@ -1102,28 +935,24 @@ } else if (action.action_type == 'set_dlg_attr_show') { var result = action.value; $this.hideFormItems(result) - // console.log($this.$data.head_styledef); + // console.log($this.head_styledef); } else if (action.action_type == 'set_global_attr') { - $this.$data.global_attr = action.value || []; + $this.global_attr = action.value || []; } else if (action.action_type == "set_dlg_current_edit_attr" ) { - if ($this - .focusOldFieldId == - action.value) { + if ($this.focusOldFieldId == action.value) { $this.setData({ focusFieldId: "" }) } else { $this.setData({ - focusFieldId: $this - .focusOldFieldId + focusFieldId: $this.focusOldFieldId }) } $this.$nextTick(() => { $this.setData({ - focusFieldId: action - .value + focusFieldId: action.value }) }); } else { @@ -1148,63 +977,7 @@ console.log($this.head_styledef); if (data.result) { - var result = data.result; - for (var i = 0; i < result.length; i++) { - for (var c = 0; c < $this.$data.head_styledef.form.items - .length; c++) { - var attr = $this.$data.head_styledef.form.items[c]; - //鍒ゆ柇琛ㄥ崟閲屾槸鍚︽湁杩斿洖瀛楁锛屾病鏈夊氨瑁呰浇鍒癿odel閲岋紝鐐瑰嚮纭畾鎻愪氦鐨勬椂鍊欏甫涓婅繖浜涙暟鎹�- if ($this.head_styledef.form.model[result[i].attr] == - undefined) { - $this.head_styledef.form.model[result[i].attr] = - result[i] - .value; - } - //鍒ゆ柇鏄惁鏄爡鏍艰〃鍗�- if (attr.name != 'Layout') { - if (attr.fieldId == result[i].attr) { - attr.value = ''; - attr.oldvalue = ''; - attr.value = result[i].value; - attr.oldvalue = result[i].value; - $this.head_styledef.form.model[attr.fieldId] = - result[i] - .value; - } - } else if (attr.name == 'Layout') { - attr.setting.colList.forEach(col => { - if (col) { - if (col.fieldId == result[i].attr) { - col.value = ''; - col.oldvalue = ''; - col.value = result[i].value; - col.oldvalue = result[i].value; - $this.head_styledef.form.model[col - .fieldId] = - result[i].value; - } - } - }); - } - } - - var length = 0; - if (!$this.$data.refdatastore.filter(function(s) { - return result[i].attr == s.attr - }).length) { - length = 1; - $this.$data.refdatastore.push(result[i]); - } - if (length == 0) { - for (var j = 0; j < $this.$data.refdatastore.length; j++) { - if ($this.$data.refdatastore[j].attr == result[i] - .attr) { - $this.$data.refdatastore[j].value = result[i] - .value; - } - } - } - } + $this.setFormValues(data.result) } } @@ -1240,18 +1013,6 @@ attr: a, value: obj_attr[a] || "", })); - if ($this.refdatastore.length > 0) { - for (var i = 0; i < $this.refdatastore.length; i++) { - if (!req.filter(function(s) { - return $this.refdatastore[i].attr == s.name - }).length) { - req.push({ - 'attr': $this.refdatastore[i].attr, - 'value': $this.refdatastore[i].value - }); - } - } - } var extinfo = enviroment; extinfo.edit_dlg = { @@ -1345,13 +1106,10 @@ var d = dialog({ title: '<i class="ace-icon fa fa-info-circle"></i> ' + $this.translateSys("tip"), - content: $this.translateSys( - "quotation_mark_left") + - action - .action_type + $this.translateSys( - "quotation_mark_right") + $this - .translate( - "tip_action_unprocessed") + content: $this.translateSys("quotation_mark_left") + + action.action_type + $this.translateSys( + "quotation_mark_right") + + $this.translate("tip_action_unprocessed") }); d.show(); } else if (action.action_type == 'open_select_userdlg') { @@ -1382,7 +1140,7 @@ rclsid: '', robjid: '', userlogin: '', - clsid: $this.$data.param + clsid: $this.param .DataCls .id, objid: "", @@ -1471,8 +1229,8 @@ 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; + // $this.classAttrList[param.index].Attr[param.iindex].Value=data[0].Name; + // $this.classAttrList[param.index].Attr[param.iindex].ValID=data[0].ID+';'+data[0].Name; var callback_eventid = param .button_callback .trim(); @@ -1566,24 +1324,18 @@ var enviroment = { 'function': '3000', // 鍔熻兘鐐圭紪鍙�- cls_id: this.$data.param.DataCls.id, // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇�+ cls_id: this.param.DataCls.id, // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇� 'button': 'top', // top/bottom button_name: this.translateSys('add2'), master: { - cls_id: this.$data.param.DataCls.id, + cls_id: this.param.DataCls.id, } }; enviroment = Base64.encode(JSON.stringify(enviroment)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜 - // console.log(obj_attr); - // var dataInfo={ - // class_id: this.$data.param.DataCls.id, data_obj_id: '', masterclsid: '', - // req: JSON.stringify(req), upfile: JSON.stringify([]), post_data: JSON.stringify({}), - // compose: JSON.stringify([]), refdatastore: JSON.stringify([]), extinfo: JSON.stringify(enviroment), - // not_trigger_sys_event: '' - // }; + var dataInfo = { - class_id: this.$data.param.DataCls.id, + class_id: this.param.DataCls.id, class_name: '', master_cls_id: '', master_obj_id: '', @@ -1646,12 +1398,12 @@ } - if (!this.$data.param.After_Btn_Not_Refresh) { + if (!this.param.After_Btn_Not_Refresh) { //鍒锋柊 uni.redirectTo({ url: '../modal/3018_2?param=' + JSON.stringify(this.$data .param) + - "&titlename=" + this.$data.title + "&titlename=" + this.title }); } else { var actionlist = data.action; @@ -1712,16 +1464,17 @@ }, setFormValues(data) { const $this = this + const head_styledef = this.head_styledef for (var i = 0; i < data.length; i++) { - if (data[i].choice_list) { - for (var c = 0; c < $this.head_styledef.form.items - .length; c++) { - var attr = $this.head_styledef.form.items[c]; - if (attr.name != 'Layout') { - if (attr.fieldId == data[i].attr) { + const attr = data[i] + if (attr.choice_list) { + for (var c = 0; c < head_styledef.form.items.length; c++) { + const item = head_styledef.form.items[c]; + if (item.name != 'Layout') { + if (item.fieldId == attr.attr) { var dictItemList = []; - for (var d in data[i].choice_list) { - var val = data[i].choice_list[d]; + for (var d in attr.choice_list) { + var val = attr.choice_list[d]; dictItemList.push({ "CN_S_NAME": val, "CN_S_VALUE": val, @@ -1729,20 +1482,19 @@ "value": val }); } - attr.dict = dictItemList; + if (item.useDict) { + item.dict = dictItemList; + } else { + item.selections = dictItemList; + } } - } else if (attr.name == 'Layout') { - attr.setting.colList.forEach(col => { + } else if (item.name == 'Layout') { + item.setting.colList.forEach(col => { if (col) { - if (col.fieldId == data[ - i] - .attr) { + if (col.fieldId == attr.attr) { var dictItemList = []; - for (var d in data[i] - .choice_list) { - var val = data[i] - .choice_list[ - d]; + for (var d in attr.choice_list) { + var val = attr.choice_list[d]; dictItemList.push({ "CN_S_NAME": val, "CN_S_VALUE": val, @@ -1750,8 +1502,11 @@ "value": val }); } - col.dict = - dictItemList; + if (col.useDict) { + col.dict = dictItemList; + } else { + col.selections = dictItemList; + } } } }); @@ -1759,71 +1514,47 @@ } } - for (var c = 0; c < $this.$data.head_styledef.form - .items - .length; c++) { - var attr = $this.$data.head_styledef.form.items[c]; - // console.log(attr[j].Name+'=='+data[i].attr); + for (var c = 0; c < head_styledef.form.items.length; c++) { + const item = head_styledef.form.items[c]; + // console.log(attr[j].Name+'=='+attr.attr); //鍒ゆ柇琛ㄥ崟閲屾槸鍚︽湁杩斿洖瀛楁锛屾病鏈夊氨瑁呰浇鍒癿odel閲岋紝鐐瑰嚮纭畾鎻愪氦鐨勬椂鍊欏甫涓婅繖浜涙暟鎹�- if ($this.head_styledef.form.model[data[i] - .attr] == - undefined) { - $this.head_styledef.form.model[data[i] - .attr] = - data[i] - .value; + if (head_styledef.form.model[attr.attr] == undefined) { + head_styledef.form.model[attr.attr] = attr.value; } //鍒ゆ柇鏄惁鏄爡鏍艰〃鍗�- if (attr.name != 'Layout') { - if (attr.fieldId == data[i].attr) { - attr.value = ''; - attr.oldvalue = ''; - attr.value = data[i].value; - attr.oldvalue = data[i].value; - $this.head_styledef.form.model[attr - .fieldId] = - data[ - i].value; + if (item.name != 'Layout') { + if (item.fieldId == attr.attr) { + item.value = ''; + item.oldvalue = ''; + item.value = attr.value; + item.oldvalue = attr.value; + head_styledef.form.model[item.fieldId] = attr.value; + if (item.name == "Input") { + if (attr.prompt) item.placeholder = attr.prompt; + } + if (attr.enable !== undefined) { + if (attr.enable) item.disabled = false; + else item.disabled = true; + } } - } else if (attr.name == 'Layout') { - attr.setting.colList.forEach(col => { + } else if (item.name == 'Layout') { + item.setting.colList.forEach(col => { if (col) { - if (col.fieldId == data[i] - .attr) { + if (col.fieldId == attr.attr) { col.value = ''; col.oldvalue = ''; - col.value = data[i] - .value; - col.oldvalue = data[i] - .value; - $this.head_styledef.form - .model[ - col - .fieldId] = data[ - i] - .value; + col.value = attr.value; + col.oldvalue = attr.value; + if (col.name == "Input") { + if (attr.prompt) col.placeholder = attr.prompt; + } + if (attr.enable !== undefined) { + if (attr.enable) col.disabled = false; + else col.disabled = true; + } } } }); - } - } - var length = 0; - if (!$this.$data.refdatastore.filter(function(s) { - return data[i].attr == s.attr - }).length) { - length = 1; - $this.$data.refdatastore.push(data[i]); - } - if (length == 0) { - for (var j = 0; j < $this.$data.refdatastore - .length; j++) { - if ($this.$data.refdatastore[j].attr == data[ - i] - .attr) { - $this.$data.refdatastore[j].value = data[ - i] - .value; - } } } } @@ -1831,42 +1562,25 @@ }, hideFormItems(data) { const $this = this + const head_styledef = this.head_styledef data.forEach(async (attr, key) => { - $this.$data.head_styledef.form.items - .forEach( - async ( - ele, index) => { - //鍒ゆ柇鏄惁鏄爡鏍艰〃鍗�- if (ele.name != 'Layout') { - if (ele.fieldId == attr - .attr) { - ele.show = attr - .show; + head_styledef.form.items.forEach(async (ele, index) => { + //鍒ゆ柇鏄惁鏄爡鏍艰〃鍗�+ if (ele.name != 'Layout') { + if (ele.fieldId == attr.attr) { + ele.show = attr.show; + } + } else if (ele.name == 'Layout') { + ele.setting.colList.forEach((col) => { + if (col) { + if (col.fieldId == attr.attr) { + col.show = attr.show; } - } else if (ele.name == - 'Layout') { - ele.setting.colList - .forEach( - col => { - if (col) { - if (col - .fieldId == - attr - .attr - ) { - col.show = - attr - .show; - } - } - }); } }); + } + }); }); - var head_styledef = JSON.parse(JSON.stringify($this.$data - .head_styledef)); - $this.$data.head_styledef = []; - $this.$data.head_styledef = head_styledef; }, afterOK() { this.saving = true @@ -1884,7 +1598,7 @@ var dataInfo = { ed_type: "0", start_transaction: true, - class_id: this.$data.param.DataCls.id, + class_id: this.param.DataCls.id, class_name: '', event_id: this.after_ok.id, event_name: '', @@ -1938,12 +1652,12 @@ showCancel: false, confirmText: this.translateSys('close') }); - if (!this.$data.param.After_Btn_Not_Refresh) { + if (!this.param.After_Btn_Not_Refresh) { //鍒锋柊 uni.redirectTo({ url: '../modal/3018_2?param=' + JSON.stringify(this.$data .param) + - "&titlename=" + this.$data.title + "&titlename=" + this.title }); } else { var actionlist = data.action; @@ -2110,12 +1824,12 @@ showCancel: false, confirmText: this.translateSys('close') }); - if (!this.$data.param.After_Btn_Not_Refresh) { + if (!this.param.After_Btn_Not_Refresh) { //鍒锋柊 uni.redirectTo({ url: '../modal/3018_2?param=' + JSON.stringify(this.$data .param) + - "&titlename=" + this.$data.title + "&titlename=" + this.title }); } else { var actionlist = data.action; @@ -2194,7 +1908,7 @@ uni.redirectTo({ url: '../modal/3018_2?param=' + JSON.stringify(this .$data.param) + - "&titlename=" + this.$data.title + "&titlename=" + this.title }); }, @@ -2274,7 +1988,7 @@ } .uni-icon { - padding: 8rpx; + padding: 10rpx 5rpx; font-size: 32rpx; color: rgb(192, 196, 204); } @@ -2295,7 +2009,7 @@ .uni-icon { /* border: 1px solid red; */ - width: 8%; + width: 30rpx; font-family: uniicons; font-size: 40rpx; font-weight: 400; -- Gitblit v1.9.1