From 00814401bba75825126baa6675e542ea3c82a5bb Mon Sep 17 00:00:00 2001 From: cuiqian2004 <cuiqian2004@163.com> Date: 星期五, 14 三月 2025 12:19:39 +0800 Subject: [PATCH] 日期 --- pages/modal/3018_2.vue | 1423 ++++++++++++++++++++++++++++++++++------------------------ 1 files changed, 829 insertions(+), 594 deletions(-) diff --git a/pages/modal/3018_2.vue b/pages/modal/3018_2.vue index f741bb9..29fca4f 100644 --- a/pages/modal/3018_2.vue +++ b/pages/modal/3018_2.vue @@ -5,118 +5,154 @@ <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 +'锛� " - :label-width="item.labelWidth+'px'"> + <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> --> - <span class="form-item-span" v-if="item.disabled" - :style="'width: calc(100% - '+item.labelWidth+'px);'">{{item.value}}</span> <!-- 涓嬫媺妗�鍗曢� item.useDict?item.dict:item.selections--> - <uni-data-select id="dv_select" v-if="item.name=='Select' && !item.disabled" + <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> + @change="onEnterChange(item)" :disabled="item.disabled" :clear="false"></uni-data-select> <!-- 鏂囨湰妗�鏁板瓧妗�--> - <view class="input-wrapper" - v-if="(item.name=='Input' || item.name=='InputNumber') && !item.disabled"> + <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]" - @change="classAttr_extButton(item)"></text> + @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="{'width':item.setting.prefix && item.setting.suffix?'78%':item.setting.prefix || item.setting.suffix?'87%':'96%'}" + :style="{'padding-left':item.setting.prefix?0 : '8rpx','right':item.setting.suffix?0 : '8rpx'}" :focus="focusFieldId == item.fieldId" @focus="ontap(item)" @click="onClick(item)" - @blur="onevent(item)" /> + @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> <!-- 澶氳鏂囨湰 --> - <view class="input-wrapper" v-if="item.name=='Textarea' && !item.disabled"> - <textarea class="uni-input" :class="item.disabled?'input-disabled':''" :value="item.value" + <view class="input-wrapper" v-if="item.name=='Textarea' "> + <textarea class="uni-input" :class="item.disabled?'input-disabled':''" v-model="item.value" :focus="focusFieldId == item.fieldId" :placeholder="item.placeholder" - @blur="onModelValue(item)" @click="onClick(item)" :data-index="index" + @blur="onEnterChange(item)" @click="onClick(item)" :data-index="index" style="height:60px;" :style="{'width':'96%'}" :disabled="item.disabled"></textarea> </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" :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 class="check_rememberPwd" 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="onModelValue(item)" /> <!-- 鏃ユ湡鏃堕棿 --> - <view class="input-wrapper" - v-if="(item.name=='TimePicker' || item.name=='DatePicker') && !item.disabled"> + <!-- <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> + </view> --> + <OIDatePicker v-if="item.name=='DatePicker'" :class="item.disabled?'input-disabled':''" + :disabled="item.disabled" v-model="item.value" :placeholder="item.placeholder" + :defaultToday="item.setting.defaultToday" :format="item.setting.format" + @change="onModelValue(item)" /> + <OIDatePickerRange v-if="item.name=='DatePickerRange'" :rangeSeparator="item.setting.separator" + :format="item.setting.format" :class="item.disabled?'input-disabled':''" + :disabled="item.disabled" v-model="item.value" :placeholder="item.placeholder" + @change="onModelValue(item)" /> + <OITimePicker v-if="item.name=='TimePicker'" :class="item.disabled?'input-disabled':''" + :disabled="item.disabled" v-model="item.value" :placeholder="item.placeholder" + @change="onModelValue(item)" /> </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 +'锛�" - :label-width="cols.labelWidth+'px'"> - <!-- <text class="txt_title" :style="{'width':cols.labelWidth+'px'}">{{cols.label}}锛�/text> --> - <span class="form-item-span" v-if="cols.disabled">{{cols.value}}</span> - <view class="input-wrapper" - v-if="(cols.name=='Input' || cols.name=='InputNumber') && !cols.disabled"> + <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]" - @change="onchange(cols)"></text> + @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="{'width':cols.setting.prefix && cols.setting.suffix?'78%':cols.setting.prefix || cols.setting.suffix?'87%':'96%'}" + :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)" /> + @click="onClick(cols)" @keyup.enter="onEnterChange(cols)" + @blur="onEnterChange(cols)" :maxlength="-1" /> <text v-if="cols.setting.suffix" class="uni-icon" :class="[cols.setting.suffix]" - @click="onchange(cols)"></text> + @click="classAttr_extButton(cols)"></text> </view> <!-- 涓嬫媺妗�鍗曢� cols.useDict?cols.dict:cols.selections--> - <uni-data-select id="dv_select" v-if="cols.name=='Select' && !cols.disabled" + <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" + :localdata="cols.dict" @change="onEnterChange(cols)" :disabled="cols.disabled" :clear="false"></uni-data-select> <!-- 澶氳鏂囨湰 --> - <view class="input-wrapper" v-if="cols.name=='Textarea' && !cols.disabled"> - <textarea class="uni-input" :value="cols.value" + <view class="input-wrapper" v-if="cols.name=='Textarea' "> + <textarea class="uni-input" v-model="cols.value" :class="cols.disabled?'input-disabled':''" :placeholder="cols.placeholder" - :focus="focusFieldId == cols.fieldId" @blur="onModelValue(cols)" + :focus="focusFieldId == cols.fieldId" @blur="onEnterChange(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="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" :data-index="index" + :data-iindex="key"> + <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" :data-index="index" + :data-iindex="key"> + <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="item.disabled" v-model="cols.value" @change="onModelValue(cols)" + :disabled="cols.disabled" v-model="cols.value" @change="onModelValue(cols)" :style="{'margin-left':'10rpx'}" /> <!-- 鏃ユ湡鏃堕棿 --> - <view class="input-wrapper" + <!-- <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="item.disabled" :value="cols.value" @change="onModelValue(cols)"> + :disabled="cols.disabled" :value="cols.value" @change="onModelValue(cols)"> <view class="picker">{{cols.value}}</view> </picker> - </view> - + </view> --> + <OIDatePicker v-if="cols.name=='DatePicker'" :class="cols.disabled?'input-disabled':''" + :disabled="cols.disabled" v-model="cols.value" :placeholder="cols.placeholder" + :defaultToday="cols.setting.defaultToday" :format="cols.setting.format" + @change="onModelValue(cols)" /> + <OIDatePickerRange v-if="cols.name=='DatePickerRange'" + :rangeSeparator="cols.setting.separator" :format="cols.setting.format" + :class="cols.disabled?'input-disabled':''" :disabled="cols.disabled" + v-model="cols.value" :placeholder="cols.placeholder" @change="onModelValue(cols)" /> + <OITimePicker v-if="cols.name=='TimePicker'" :class="cols.disabled?'input-disabled':''" + :disabled="cols.disabled" v-model="cols.value" :placeholder="cols.placeholder" + @change="onModelValue(cols)" /> </uni-forms-item> + <uni-forms-item v-else label=""></uni-forms-item> + </uni-col> </uni-row> </view> @@ -130,9 +166,10 @@ </a> </view> </view> - <button type="default" @tap="sava" class="btn_add" v-if="dropdownBtns.length==0" - :class="saving?'btn_disabled':''" :disabled="saving">{{title}}</button> - <button type="default" @tap="cancel" class="btn_cancel">{{translateSys('cancel')}}</button> + <button type="default" @tap="sava" class="btn_add" v-if="dropdownBtns.length==0 && btnName != ''" + :class="saving?'btn_disabled':''" :disabled="saving">{{btnName}}</button> + <button type="default" @tap="cancel" + :class="(dropdownBtns.length> 0 || btnName != '')?'btn_cancel':'btn_cancel2'">{{translateSys('cancel')}}</button> </view> <!-- 鏅�寮圭獥 top bottom center left right --> @@ -140,8 +177,9 @@ <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' }" - :style="{'width':check_list.width?check_list.width+'px':'200px','height':check_list.height?check_list.height+'px':'88%'}"> - <view class="popup-cont" :style="{'height':check_list.height?check_list.height-45+'px':'415px'}"> + :style="{'width':check_list.width?check_list.width+'px':'375rpx','height':check_list.height?check_list.height+'px':popupType =='center'?'60vh':'88vh'}"> + <view class="popup-cont" + :style="{'height':check_list.height?check_list.height-45+'px':popupType =='center'?'50vh':'80vh'}"> <view class="view_popup_CheckList" v-for="(item,index) in check_list.items"> <checkbox-group class="check_list" @change="checkChange" :data-ischeck="item.check" :data-index="index" :style="{'margin-left': '10rpx'}"> @@ -166,6 +204,11 @@ <script> import Base64 from '../../components/js-base64/base64.js' import utils from "@/js/utils.js" + import dayjs from "dayjs"; + import OIDatePicker from '@/components/oi-date-time-picker/oi-date-picker.vue' + import OIDatePickerRange from '@/components/oi-date-time-picker/oi-date-picker-range.vue' + import OITimePicker from '@/components/oi-date-time-picker/oi-time-picker.vue' + import { appGetInfo, dictGetInfo @@ -180,9 +223,15 @@ modules: { Base64, }, + components: { + OIDatePicker, + OIDatePickerRange, + OITimePicker + }, data() { return { title: this.translateSys('add2'), + btnName: "", param: {}, edit_inital_event: "", //寮圭獥鍒濆鍖栦簨浠禝D edit_ok_event: "", //寮圭獥鐐瑰嚮OK 瑙﹀彂浜嬩欢ID @@ -226,7 +275,7 @@ $this.onScanValue(ele, res.result) break; } - } else if (ele.name == "Layot") { + } else if (ele.name == "Layout") { let curIndex = (ele.setting.colList || []).findIndex((col, index2, arr) => { return (col.name == 'Input' || col.name == 'InputNumber' || col @@ -285,6 +334,7 @@ this.$data.param = JSON.parse(options.param); this.$data.title = this.$data.param.Add_BtnName ? this.$data.param.Add_BtnName : options .titlename; //璁剧疆鎸夐挳鏂囧瓧 + this.$data.btnName = this.$data.param.Add_BtnName || "" this.loadData(options.paramValue) }, computed: { @@ -295,7 +345,7 @@ }, methods: { - + setData: function(obj) { let that = this; let keys = []; @@ -374,6 +424,21 @@ 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 == @@ -394,6 +459,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 @@ -437,7 +518,7 @@ title: this.translateSys("error") + "1.1", content: tip, showCancel: false, - confirmText: this.translateSys("cancel") + confirmText: this.translateSys('close') }); } }, @@ -454,9 +535,9 @@ var itemName = ''; (res.dict_item_list || []).forEach((item) => { if (item.is_default == '1') - itemName = item.name; + itemName = item.name list.push({ - text: item.value, + text: item.value ? item.value : item.name, value: item.name, }); }); @@ -468,12 +549,19 @@ formItem.dict = list; } catch (ex) { // console.log(ex); + let exStr = JSON.stringify(ex) + if (exStr == "{}") + exStr = ex + let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr + uni.showModal({ title: this.translateSys("error") + "1.3", - content: ex.errMsg, + content: tip, showCancel: false, - confirmText: this.translateSys("cancel") + confirmText: this.translateSys('close') }); + + } }, @@ -502,14 +590,14 @@ title: this.translateSys("tip"), content: tip, showCancel: false, - confirmText: this.translateSys("cancel") + confirmText: this.translateSys('close') }); } else uni.showModal({ title: this.translateSys("tip"), content: tip + ',' + this.translateSys('tip') + ':' + data .ret, showCancel: false, - confirmText: this.translateSys("cancel") + confirmText: this.translateSys('close') }); return false } else { @@ -521,7 +609,7 @@ title: this.translateSys("tip"), content: tip, showCancel: false, - confirmText: this.translateSys("cancel") + confirmText: this.translateSys('close') }); var actionlist = data.action; @@ -531,160 +619,32 @@ var action = actionlist[i]; if (action.action_type == 'set_dlg_attr') { var result = action.value; - for (var i = 0; i < result.length; i++) { - if (result[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 == result[i].attr) { - var dictItemList = []; - for (var d in result[i].choice_list) { - var val = result[i].choice_list[d]; - dictItemList.push({ - "CN_S_NAME": val, - "CN_S_VALUE": val, - "text": val, - "value": val - }); - } - attr.dict = dictItemList; - } - } else if (attr.name == 'Layout') { - attr.setting.colList.forEach(col => { - if (col) { - if (col.fieldId == result[ - i] - .attr) { - var dictItemList = []; - for (var d in result[i] - .choice_list) { - var val = result[i] - .choice_list[ - d]; - dictItemList.push({ - "CN_S_NAME": val, - "CN_S_VALUE": val, - "text": val, - "value": val - }); - } - col.dict = - dictItemList; - } - } - }); - } - - } - } - 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+'=='+result[i].attr); - //鍒ゆ柇琛ㄥ崟閲屾槸鍚︽湁杩斿洖瀛楁锛屾病鏈夊氨瑁呰浇鍒癿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; - } - } - } - } - } else if (data.action[i].action_type == 'set_dlg_attr_show') { + $this.setFormValues(result) + } else if (action.action_type == 'set_dlg_attr_show') { var result = action.value; - result.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; - } - } 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; + $this.hideFormItems(result) // console.log($this.$data.head_styledef); + } else if (action.action_type == + "set_dlg_current_edit_attr" + ) { + if ($this + .focusOldFieldId == + action.value) { + $this.setData({ + focusFieldId: "" + }) + } else { + $this.setData({ + focusFieldId: $this + .focusOldFieldId + }) + } + $this.$nextTick(() => { + $this.setData({ + focusFieldId: action + .value + }) + }); } else { uni.showModal({ title: this.translateSys("tip"), @@ -700,7 +660,7 @@ "quotation_mark_right") + this .translate('tip_action_unprocessed'), showCancel: false, - confirmText: this.translateSys("cancel") + confirmText: this.translateSys('close') }); } } @@ -718,7 +678,7 @@ this.translateSys("full_stop") + this.translate('reason') + this.translateSys("colon") + tip, showCancel: false, - confirmText: this.translateSys("cancel") + confirmText: this.translateSys('close') }); } }, @@ -785,7 +745,7 @@ // console.log(obj_attr); var req = Object.keys(obj_attr).map((a) => ({ attr: a, - val: obj_attr[a] || "", + value: obj_attr[a] || "", })); var info = { @@ -802,77 +762,171 @@ } 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] + + 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) { + $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 + } + } + } + + } + } + } + } }, onClick(item) { // console.log("onClick",item); this.focusFieldId = item.fieldId }, - onevent(item) { - // console.log("onevent",item); - if (item.oldvalue != item.value && item.value.trim() != "") { + onEnterChange(item) { + console.log("onEnterChange", item); + if (item.oldvalue != item.value) { 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, - val: 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, ""); + var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�+ if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠�+ this.onChange(onChangeEvent); } } }, - onchange(item) { - // console.log("onchange",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) { - // 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, - val: obj_attr[a] || "", - })); - var info = { - eventid: eventid, - edtype: "0", - projectid: '', - rclsid: '', - robjid: '', - userlogin: '', - clsid: this.$data.param.DataCls.id, - objid: "", - attr: req, - dataJson: [] + // 鍐呭鍙樺寲鍚庝簨浠�+ 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.$data.param.DataCls.id, + objid: "", + attr: req, + dataJson: [] + } + this.DataObjRunCustomEvent(info); + } + + }, + + 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); } - this.DataObjRunCustomEvent(info); + 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); + } } } }, - onModelValue(item) { //缁戝畾Model鍊�+ 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); + } + } + + } + + }, + onModelValue(item) { var attr = item.fieldId; this.head_styledef.form.model[attr] = item.value; }, @@ -883,9 +937,9 @@ if (!onSuffixClickCallbackEvent.id) { uni.showModal({ title: this.translateSys("tip"), - content: this.translate('icon_click_event_empty'), + content: this.translate('icon_click_callback_empty'), showCancel: false, - confirmText: this.translateSys("cancel") + confirmText: this.translateSys('close') }); return; } @@ -894,15 +948,15 @@ title: this.translateSys("tip"), content: this.translate('icon_click_event_empty'), showCancel: false, - confirmText: this.translateSys("cancel") + confirmText: this.translateSys('close') }); return; } this.$data.popupType = 'right' // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦�uni-popup 缁勪欢涓婄粦瀹�type灞炴� - this.$refs.popup.open($this.popupType); + this.$refs.popup.open(this.popupType); - this.DataObjRunCustomEvent_Return(onSuffixClickCallbackEvent.id, '', onSuffixClickEvent.id, + this.dataObjRunCustomEvent_Return(onSuffixClickEvent.id, '', onSuffixClickCallbackEvent.id, item); }, popupChange(e) { @@ -947,20 +1001,19 @@ title: this.translateSys("tip"), content: "popupParam涓虹┖锛�, showCancel: false, - confirmText: this.translateSys("cancel") + confirmText: this.translateSys('close') }); return; } - - var fieldId = $this.$data.popupParam.item.fieldId; - $this.head_styledef.form.model[attr] = name; - for (var c = 0; c < $this.$data.head_styledef.form.items.length; c++) { - var attr = $this.$data.head_styledef.form.items[c]; - if (attr.fieldId == fieldId) { - attr.value = name; - } + if (data.length == 0) { + uni.showModal({ + title: this.translateSys("tip"), + content: this.translate("tip_no_select_data"), + showCancel: false, + confirmText: this.translateSys('close') + }); + return; } - console.log(data); var callback_eventid = $this.$data.popupParam.button_callback.trim(); var info = { eventid: callback_eventid, @@ -1021,7 +1074,7 @@ info.dataJson = Base64.encode(JSON.stringify(info.dataJson)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜 var obj_attr = {}; info.attr.forEach(item => { - obj_attr[item.attr] = item.val; + obj_attr[item.attr] = item.value; }); if (!info.eventid.includes('{')) info.eventid = '{' + info.eventid + '}'; var dataInfo = { @@ -1060,14 +1113,14 @@ title: this.translateSys("tip"), content: tip, showCancel: false, - confirmText: this.translateSys("cancel") + confirmText: this.translateSys('close') }); } else uni.showModal({ title: this.translateSys("tip"), content: tip + ',' + this.translateSys('tip') + ':' + data .ret, showCancel: false, - confirmText: this.translateSys("cancel") + confirmText: this.translateSys('close') }); return false } else { @@ -1079,7 +1132,7 @@ title: this.translateSys("tip"), content: tip, showCancel: false, - confirmText: this.translateSys("cancel") + confirmText: this.translateSys('close') }); var actionlist = data.action; @@ -1089,160 +1142,30 @@ var action = actionlist[i]; if (action.action_type == 'set_dlg_attr') { var result = action.value; - for (var i = 0; i < result.length; i++) { - if (result[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 == result[i].attr) { - var dictItemList = []; - for (var d in result[i].choice_list) { - var val = result[i].choice_list[d]; - dictItemList.push({ - "CN_S_NAME": val, - "CN_S_VALUE": val, - "text": val, - "value": val - }); - } - attr.dict = dictItemList; - } - } else if (attr.name == 'Layout') { - attr.setting.colList.forEach(col => { - if (col) { - if (col.fieldId == result[ - i] - .attr) { - var dictItemList = []; - for (var d in result[i] - .choice_list) { - var val = result[i] - .choice_list[ - d]; - dictItemList.push({ - "CN_S_NAME": val, - "CN_S_VALUE": val, - "text": val, - "value": val - }); - } - col.dict = - dictItemList; - } - } - }); - } - - } - } - 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+'=='+result[i].attr); - //鍒ゆ柇琛ㄥ崟閲屾槸鍚︽湁杩斿洖瀛楁锛屾病鏈夊氨瑁呰浇鍒癿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(result) } else if (action.action_type == 'set_dlg_attr_show') { var result = action.value; - result.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; - } - } 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; + $this.hideFormItems(result) // console.log($this.$data.head_styledef); } else if (action.action_type == 'set_global_attr') { $this.$data.global_attr = action.value || []; + } else if (action.action_type == + "set_dlg_current_edit_attr" + ) { + if ($this.focusOldFieldId == action.value) { + $this.setData({ + focusFieldId: "" + }) + } else { + $this.setData({ + focusFieldId: $this.focusOldFieldId + }) + } + $this.$nextTick(() => { + $this.setData({ + focusFieldId: action.value + }) + }); } else { uni.showModal({ title: this.translateSys("tip"), @@ -1254,7 +1177,7 @@ .translate( "tip_action_unprocessed"), showCancel: false, - confirmText: this.translateSys("cancel") + confirmText: this.translateSys('close') }); } } @@ -1335,56 +1258,66 @@ title: this.translateSys("error") + "3.1", content: exStr, showCancel: false, - confirmText: this.translateSys("cancel") + confirmText: this.translateSys('close') }); }); }, - DataObjRunCustomEvent_Return(eventid, data_attr, button_callback, item) { + dataObjRunCustomEvent_Return(eventid, data_attr, button_callback, item) { + const $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'), + 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 } }; - var obj_attr = this.head_styledef.form.model; - // console.log(obj_attr); + var obj_attr = $this.head_styledef.form.model; + console.log(obj_attr); var req = Object.keys(obj_attr).map((a) => ({ attr: a, - val: obj_attr[a] || "", + value: obj_attr[a] || "", })); - if (this.$data.refdatastore.length > 0) { - for (var i = 0; i < this.$data.refdatastore.length; i++) { + if ($this.refdatastore.length > 0) { + for (var i = 0; i < $this.refdatastore.length; i++) { if (!req.filter(function(s) { - return this.$data.refdatastore[i].attr == s.name + return $this.refdatastore[i].attr == s.name }).length) { - length = 1; req.push({ - 'attr': this.$data.refdatastore[i].attr, - 'val': this.$data.refdatastore[i].value + 'attr': $this.refdatastore[i].attr, + 'value': $this.refdatastore[i].value }); } } } + var extinfo = enviroment; extinfo.edit_dlg = { type: 'small', //灏忕獥鍙�- class_id: this.$data.param.DataCls.id, //褰撳墠鏁版嵁绫籭d + class_id: $this.param.DataCls.id, //褰撳墠鏁版嵁绫籭d } extinfo = Base64.encode(JSON.stringify(extinfo)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜 - var global_attr = Base64.encode(JSON.stringify(this.$data.global_attr)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜 + var global_attr = Base64.encode(JSON.stringify($this.global_attr)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜 var obj_attr = {}; - req.forEach(item => { - obj_attr[item.attr] = item.val; + req.forEach(item2 => { + obj_attr[item2.attr] = item2.value; }); + let input_param = Base64.encode( + JSON.stringify( + Object.keys(obj_attr).map((a) => ({ + attr: a, + value: obj_attr[a] || "", + })) + ) + ); + if (!eventid.includes('{')) eventid = '{' + eventid + '}'; 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: eventid, event_name: '', @@ -1394,11 +1327,11 @@ ref_cls_id: '', rel_obj_id: '', user_login: '', - data_json: '', + data_json: [], compose_info: '', ext_info: extinfo, global_attr: global_attr, - input_param: '', + input_param: input_param, }; console.log(dataInfo); // return; @@ -1409,22 +1342,22 @@ data .err_info.join('<br/>') : ''; if (data.ret == 801) { - if (this.param.Only_Script_Error) { + if ($this.param.Only_Script_Error) { let pos = tip.indexOf("锛�); if (pos > -1) tip = tip.substring(pos + 1); } uni.showModal({ - title: this.translateSys("tip"), + title: $this.translateSys("tip"), content: tip, showCancel: false, - confirmText: this.translateSys("cancel") + confirmText: $this.translateSys('close') }); } else uni.showModal({ - title: this.translateSys("tip"), - content: tip + ',' + this.translateSys('tip') + ':' + data + title: $this.translateSys("tip"), + content: tip + ',' + $this.translateSys('tip') + ':' + data .ret, showCancel: false, - confirmText: this.translateSys("cancel") + confirmText: $this.translateSys('close') }); return false } else { @@ -1433,38 +1366,34 @@ .join( '<br/>') : ''; if (tip) uni.showModal({ - title: this.translateSys("tip"), + title: $this.translateSys("tip"), content: tip, showCancel: false, - confirmText: this.translateSys("cancel") + confirmText: $this.translateSys('close') }); if (data != "") { var actions = data.action; - console.log(actions); if (actions) { for (var i = 0; i < actions.length; i++) { var action = actions[i]; + 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> ' + - this.translateSys("tip"), - content: this.translateSys( - "quotation_mark_left") + - action - .action_type + this.translateSys( - "quotation_mark_right") + this - .translate( - "tip_action_unprocessed") + $this.translateSys("tip"), + 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') { var style = val.style; // style == 'user' ? '閫夋嫨浜哄憳' : style == 'department' ? '閫夋嫨閮ㄩ棬' : style == 'role' ? '閫夋嫨瑙掕壊' : '' - var $this = this; var param = { item: item, button_callback: button_callback, @@ -1507,33 +1436,42 @@ } else if (action.action_type == 'open_data_query_dlg') { var d = dialog({ title: '<i class="ace-icon fa fa-info-circle"></i> ' + - this.translateSys("tip"), - content: this.translateSys( + $this.translateSys("tip"), + content: $this.translateSys( "quotation_mark_left") + action - .action_type + this.translateSys( - "quotation_mark_right") + this + .action_type + $this.translateSys( + "quotation_mark_right") + $this .translate( "tip_action_unprocessed") }); d.show(); } else if (action.action_type == 'open_common_dlg') { - var $this = this; + if (val.common_dlg_id == 'check_list') { - $this.$data.check_list = val.config; + + $this.setData({ + check_list: val.config + }) if (val.config.appear_style == 'sideslip') //鍒ゆ柇鏄惁鏄晶婊�- $this.$data.popupType = 'right'; + $this.setData({ + popupType: "right" + }) else - $this.$data.popupType = 'center' + $this.setData({ + popupType: "center" + }) // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦�uni-popup 缁勪欢涓婄粦瀹�type灞炴� - $this.$refs.popup.open($this.$data.popupType); + $this.$refs.popup.open($this.popupType); var popupParam = { item: item, button_callback: button_callback, req: req, data_attr: data_attr } - $this.$data.popupParam = popupParam; + $this.setData({ + popupParam: popupParam + }) } } else if (action.action_type == 'open_project_query_dlg') { //console.log(action.value.select_range); @@ -1553,8 +1491,6 @@ priRel = '4'; else if (action.value.select_range == '鎴戜笅灞炵殑椤圭洰') priRel = '5'; - - var $this = this; var param_ = { item: item, button_callback: button_callback, @@ -1601,28 +1537,28 @@ }); } else { uni.showModal({ - title: this.translateSys("tip"), - content: this.translateSys( + title: $this.translateSys("tip"), + content: $this.translateSys( "quotation_mark_left") + - action.action_type + this.translateSys( - "quotation_mark_right") + this + action.action_type + $this.translateSys( + "quotation_mark_right") + $this .translate( "tip_action_unprocessed"), showCancel: false, - confirmText: this.translateSys("cancel") + confirmText: $this.translateSys('close') }); } } } } else { uni.showModal({ - title: this.translateSys('tip') + "5.2", - content: this.translateSys("quotation_mark_left") + - "before_click_button" + this.translateSys( - "quotation_mark_right") + this.translateSys( + title: $this.translateSys('tip') + "5.2", + content: $this.translateSys("quotation_mark_left") + + "before_click_button" + $this.translateSys( + "quotation_mark_right") + $this.translateSys( "comma") + 'event_id' + eventid, showCancel: false, - confirmText: this.translateSys("cancel") + confirmText: $this.translateSys('close') }); } } @@ -1634,10 +1570,10 @@ exStr = ex let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr uni.showModal({ - title: this.translateSys('tip') + "5.1", + title: $this.translateSys('tip') + "5.1", content: exStr, showCancel: false, - confirmText: this.translateSys("cancel") + confirmText: $this.translateSys('close') }); }); }, @@ -1652,6 +1588,7 @@ }, add() { + const $this = this uni.showLoading({ title: this.translateSys("loading"), mask: true @@ -1697,81 +1634,280 @@ }; console.log(dataInfo); // return - dataObjCreate(dataInfo).then(result => { + dataObjCreate(dataInfo).then(res => { uni.hideLoading(); - if (result.action) { - var action = JSON.parse(result.action); - console.log(action); - if (action.ret == '0') { - if (action.ret != 0) { - uni.showModal({ - title: this.translateSys("tip"), - content: this.translate('execute_script_failed') + - this - .translateSys('comma') + this.translate( - 'result') + - this - .translateSys('colon') + action.result, - showCancel: false, - confirmText: this.translateSys("cancel") - }); - this.saving = false - return; + let data = res.lua_result + if (data.ret != 0) { + var tip = data.err_info ? typeof data.err_info == 'string' ? data + .err_info : + data + .err_info.join('<br/>') : ''; + if (data.ret == 801) { + if (this.param.Only_Script_Error) { + let pos = tip.indexOf("锛�); + if (pos > -1) tip = tip.substring(pos + 1); } - if (action.info) { - uni.showModal({ - title: this.translateSys("tip"), - content: this.translate('execute_script_failed') + - this - .translateSys('comma') + - this.translateSys('colon') + action.info, - showCancel: false, - confirmText: this.translateSys("cancel") - }); - return; - } - if (action.result_type == '0') { - uni.showToast({ - title: action.result, - icon: "success", - duration: 3000 - }); - } + uni.showModal({ + title: this.translateSys("tip"), + content: tip, + showCancel: false, + confirmText: this.translateSys('close') + }); + } else uni.showModal({ + title: this.translateSys("tip"), + content: tip + ',' + this.translateSys('tip') + ':' + data + .ret, + showCancel: false, + confirmText: this.translateSys('close') + }); + this.saving = false + return false + } else { + var tip = data.info ? typeof data.info == 'string' ? data.info : data + .info + .join( + '<br/>') : ''; + if (tip) uni.showModal({ + title: this.translateSys("tip"), + content: tip, + showCancel: false, + confirmText: this.translateSys('close') + }); + else { - // "{"ret":0, "result_type":0, "result":"鍒涘缓鎴愬姛123123123","info":""}" + uni.showToast({ + title: this.translate('create_success'), + icon: "success", + duration: 3000 + }); } - } else - uni.showToast({ - title: this.translate('create_success'), - icon: "success", - duration: 3000 - }); - if (!this.$data.param.After_Btn_Not_Refresh) { - //鍒锋柊 - uni.redirectTo({ - url: '../modal/3018_2?param=' + JSON.stringify(this.$data - .param) + - "&titlename=" + this.$data.title - }); - } + + if (!this.$data.param.After_Btn_Not_Refresh) { + //鍒锋柊 + uni.redirectTo({ + url: '../modal/3018_2?param=' + JSON.stringify(this.$data + .param) + + "&titlename=" + this.$data.title + }); + } else { + var actionlist = data.action; + if (actionlist) { + console.log(actionlist); + for (var i = 0; i < actionlist.length; i++) { + var action = actionlist[i]; + if (action.action_type == 'set_dlg_attr') { + $this.setFormValues(action.value) + } else if (action.action_type == 'set_dlg_attr_show') { + var result = action.value; + $this.hideFormItems(result) + } else if (action.action_type == + "set_dlg_current_edit_attr" + ) { + if ($this + .focusOldFieldId == + action.value) { + $this.setData({ + focusFieldId: "" + }) + } else { + $this.setData({ + focusFieldId: $this + .focusOldFieldId + }) + } + $this.$nextTick(() => { + $this.setData({ + focusFieldId: action + .value + }) + }); + } + } + } + + } + } // this.class_attr_init(); this.saving = false }).catch(ex => { - console.log(ex); this.saving = false + uni.hideLoading(); + let exStr = JSON.stringify(ex) + if (exStr == "{}") + exStr = ex + let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr uni.showModal({ title: this.translateSys("tip"), - content: ex.errMsg, + content: tip, showCancel: false, - confirmText: this.translateSys("cancel") + confirmText: this.translateSys('close') }); }); }, + setFormValues(data) { + const $this = this + 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) { + var dictItemList = []; + for (var d in data[i].choice_list) { + var val = data[i].choice_list[d]; + dictItemList.push({ + "CN_S_NAME": val, + "CN_S_VALUE": val, + "text": val, + "value": val + }); + } + attr.dict = dictItemList; + } + } else if (attr.name == 'Layout') { + attr.setting.colList.forEach(col => { + if (col) { + if (col.fieldId == data[ + i] + .attr) { + var dictItemList = []; + for (var d in data[i] + .choice_list) { + var val = data[i] + .choice_list[ + d]; + dictItemList.push({ + "CN_S_NAME": val, + "CN_S_VALUE": val, + "text": val, + "value": val + }); + } + col.dict = + dictItemList; + } + } + }); + } + + } + } + 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); + //鍒ゆ柇琛ㄥ崟閲屾槸鍚︽湁杩斿洖瀛楁锛屾病鏈夊氨瑁呰浇鍒癿odel閲岋紝鐐瑰嚮纭畾鎻愪氦鐨勬椂鍊欏甫涓婅繖浜涙暟鎹�+ if ($this.head_styledef.form.model[data[i] + .attr] == + undefined) { + $this.head_styledef.form.model[data[i] + .attr] = + data[i] + .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; + } + } else if (attr.name == 'Layout') { + attr.setting.colList.forEach(col => { + if (col) { + if (col.fieldId == data[i] + .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; + } + } + }); + } + } + 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; + } + } + } + } + + }, + hideFormItems(data) { + const $this = this + 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; + } + } 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 + const $this = this var obj_attr = this.head_styledef.form.model; // console.log(obj_attr); var input_param = { @@ -1797,7 +1933,7 @@ user_login: '', data_json: '', compose_info: '', - input_param: '', + input_param: Base64.encode(JSON.stringify(input_param)), }; console.log(dataInfo); // return; @@ -1817,14 +1953,14 @@ title: this.translateSys("tip"), content: tip, showCancel: false, - confirmText: this.translateSys("cancel") + confirmText: this.translateSys('close') }); } else uni.showModal({ title: this.translateSys("tip"), content: tip + ',' + this.translateSys('tip') + ':' + data .ret, showCancel: false, - confirmText: this.translateSys("cancel") + confirmText: this.translateSys('close') }); this.saving = false return false @@ -1837,22 +1973,67 @@ title: this.translateSys("tip"), content: tip, showCancel: false, - confirmText: this.translateSys("cancel") + confirmText: this.translateSys('close') }); + if (!this.$data.param.After_Btn_Not_Refresh) { + //鍒锋柊 + uni.redirectTo({ + url: '../modal/3018_2?param=' + JSON.stringify(this.$data + .param) + + "&titlename=" + this.$data.title + }); + } else { + var actionlist = data.action; + if (actionlist) { + console.log(actionlist); + for (var i = 0; i < actionlist.length; i++) { + var action = actionlist[i]; + if (action.action_type == 'set_dlg_attr') { + $this.setFormValues(action.value) + } else if (action.action_type == 'set_dlg_attr_show') { + var result = action.value; + $this.hideFormItems(result) + } else if (action.action_type == + "set_dlg_current_edit_attr" + ) { + if ($this + .focusOldFieldId == + action.value) { + $this.setData({ + focusFieldId: "" + }) + } else { + $this.setData({ + focusFieldId: $this + .focusOldFieldId + }) + } + $this.$nextTick(() => { + $this.setData({ + focusFieldId: action + .value + }) + }); + } - var result = data.result; - + } + } + } } this.saving = false }).catch(ex => { // console.log(ex); this.saving = false + let exStr = JSON.stringify(ex) + if (exStr == "{}") + exStr = ex + let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr uni.showModal({ title: this.translateSys('tip') + "7.1", - content: ex.errMsg, + content: tip, showCancel: false, - confirmText: this.translateSys("cancel") + confirmText: this.translateSys('close') }); }); }, @@ -1890,7 +2071,7 @@ title: this.translateSys("tip"), content: this.translateSys("unrealized"), showCancel: false, - confirmText: this.translateSys("cancel") + confirmText: this.translateSys('close') }); } } else if (btn.FunCode == "TriggerEvent") { @@ -1900,6 +2081,7 @@ } }, onTriggerEvent(btn, enviroment) { + const $this = this var obj_attr = this.head_styledef.form.model; // console.log(obj_attr); var input_param = { @@ -1944,14 +2126,14 @@ title: this.translateSys("tip"), content: tip, showCancel: false, - confirmText: this.translateSys("cancel") + confirmText: this.translateSys('close') }); } else uni.showModal({ title: this.translateSys("tip"), content: tip + ',' + this.translateSys('tip') + ':' + data .ret, showCancel: false, - confirmText: this.translateSys("cancel") + confirmText: this.translateSys('close') }); return false } else { @@ -1963,20 +2145,65 @@ title: this.translateSys("tip"), content: tip, showCancel: false, - confirmText: this.translateSys("cancel") + confirmText: this.translateSys('close') }); + if (!this.$data.param.After_Btn_Not_Refresh) { + //鍒锋柊 + uni.redirectTo({ + url: '../modal/3018_2?param=' + JSON.stringify(this.$data + .param) + + "&titlename=" + this.$data.title + }); + } else { + var actionlist = data.action; + if (actionlist) { + console.log(actionlist); + for (var i = 0; i < actionlist.length; i++) { + var action = actionlist[i]; + if (action.action_type == 'set_dlg_attr') { + $this.setFormValues(action.value) + } else if (action.action_type == 'set_dlg_attr_show') { + var result = action.value; + $this.hideFormItems(result) + } else if (action.action_type == + "set_dlg_current_edit_attr" + ) { + if ($this + .focusOldFieldId == + action.value) { + $this.setData({ + focusFieldId: "" + }) + } else { + $this.setData({ + focusFieldId: $this + .focusOldFieldId + }) + } + $this.$nextTick(() => { + $this.setData({ + focusFieldId: action + .value + }) + }); + } - var result = data.result; - + } + } + } } }).catch(ex => { // console.log(ex); + let exStr = JSON.stringify(ex) + if (exStr == "{}") + exStr = ex + let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr uni.showModal({ title: this.translateSys('tip') + "7.1", - content: ex.errMsg, + content: tip, showCancel: false, - confirmText: this.translateSys("cancel") + confirmText: this.translateSys("close") }); }); @@ -1993,7 +2220,6 @@ const url = '../modal/3018?param=' + JSON.stringify(data) + "&titlename=" + btn.Edit_dlg .Name + "&type=addDataObj" - console.log("showAddSmallDialog", url); var $this = this; uni.navigateTo({ url: url, @@ -2002,13 +2228,12 @@ addDataObj: function(resData) { console.log(resData); //鍒锋柊 - if (!this.$data.param.After_Btn_Not_Refresh) { - uni.redirectTo({ - url: '../modal/3018_2?param=' + JSON.stringify(this - .$data.param) + - "&titlename=" + this.$data.title - }); - } + uni.redirectTo({ + url: '../modal/3018_2?param=' + JSON.stringify(this + .$data.param) + + "&titlename=" + this.$data.title + }); + }, } }); @@ -2086,7 +2311,7 @@ } .uni-icon { - padding: 8rpx; + padding: 10rpx 5rpx; font-size: 32rpx; color: rgb(192, 196, 204); } @@ -2107,7 +2332,7 @@ .uni-icon { /* border: 1px solid red; */ - width: 8%; + width: 30rpx; font-family: uniicons; font-size: 40rpx; font-weight: 400; @@ -2146,9 +2371,10 @@ width: 45%; margin: 0 10rpx; // padding: 5rpx 10rpx; - background: #4D6AF4; + background: #27A6E1; border: none; color: #fff; + font-size: 38rpx; float: left; display: inline-block; } @@ -2163,6 +2389,17 @@ margin: 0 10rpx; background: #fff; border: none; + //color: #000; + font-size: 38rpx; + float: right; + display: inline-block; + } + + .btn_cancel2 { + width: 90%; + margin: 0 10rpx; + background: #fff; + // border: none; color: #000; font-size: 38rpx; float: right; @@ -2226,7 +2463,7 @@ .popup-footer { float: right; position: absolute; - bottom: 0; + bottom: 10rpx; right: 20rpx; } @@ -2250,9 +2487,11 @@ margin-top: 50rpx; padding: 15rpx; line-height: 1.5; - background: #27A6E1; - border: none; - color: #fff; + // background: #27A6E1; + // border: none; + // color: #fff; + background: #fff; + color: #000; font-size: 38rpx; font-weight: bold; /* float: right; */ @@ -2418,10 +2657,6 @@ .demo-uni-col { height: 36px; border-radius: 5px; - } - - .demo-uni-row .uni-input { - width: calc(100% - 120px); } .text { -- Gitblit v1.9.1