From df481aebfb7a19eea5d6c02f93c6f5776b0fdc19 Mon Sep 17 00:00:00 2001 From: cuiqian2004 <cuiqian2004@163.com> Date: 星期五, 23 五月 2025 18:30:41 +0800 Subject: [PATCH] 界面大模式 --- pages/modal/3018_2.vue | 2930 +++++++++++++++++++++++++++++++--------------------------- 1 files changed, 1,566 insertions(+), 1,364 deletions(-) diff --git a/pages/modal/3018_2.vue b/pages/modal/3018_2.vue index 674429b..2565b03 100644 --- a/pages/modal/3018_2.vue +++ b/pages/modal/3018_2.vue @@ -1,139 +1,34 @@ <template> - <view class="uni-page-modal-3018-2"> - <!-- 琛ㄥご鏍峰紡 --> - <view class="v-headStyle" v-for="(item,index) in head_styledef.form.items"> - <!-- 鏅�甯冨眬 --> - <view v-if="item.name!='Layout' && item.show==true"> - <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" - :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> - <!-- 涓嬫媺妗�澶氶� --> - <!-- <select-cy v-else-if="attr.select==true" :value="item.value" - :name="item.fieldId" - :options="item.dict" - showClearIcon="true" - @change="onchange2" - :data-index="index" - :disabled="item.disabled" - ></select-cy> --> - <!-- 鏂囨湰妗�鏁板瓧妗�--> - <view class="input-wrapper" v-if="(item.name=='Input' || item.name=='InputNumber') && !item.disabled"> - <text v-if="item.setting.prefix" class="uni-icon" :class="[item.setting.prefix]" - @change="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%'}" - :focus="focusFieldId == item.fieldId" @focus="ontap(item)" @click="onClick(item)" - @blur="onevent(item)" /> - <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" - :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> - - </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> - </label> - </checkbox-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"> - <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> - <!-- 鏍呮牸甯冨眬 --> - <uni-row class="demo-uni-row" v-if="item.name=='Layout' && item.show==true"> - <uni-col v-for="(cols,key) in item.setting.colList" - :span="item.setting.spanList?item.setting.spanList[key]:24 / item.setting.col"> - <view v-if="cols!=null"> - <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"> - <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':''" - :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%'}" - :focus="focusFieldId == cols.fieldId" @focus="ontap(cols)" @click="onClick(cols)" - @blur="onevent(cols)" /> - <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' && !cols.disabled" - :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' && !cols.disabled"> - <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="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> - </label> - </checkbox-group> - <!-- Switch寮�叧 --> - <switch v-if="cols.name=='Switch'" :class="cols.disabled?'input-disabled':''" - :disabled="item.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="item.disabled" :value="cols.value" @change="onModelValue(cols)"> - <view class="picker">{{cols.value}}</view> - </picker> - </view> - - </view> - </uni-col> - </uni-row> - + <view class="uni-page-modal-3018-2" :class="largeMode?'large-mode':''"> + <view class="view-content"> + <!-- 琛ㄥご鏍峰紡 --> + <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> + <view class="view-bottom"> + <view class="uni-padding-wrap" v-if="dropdownBtns.length>0"> + <view class="uni-btn-v"> + <a @tap="clickDropdownBtns"> + <text class="mobox-normal-more" /> + </a> + </view> + </view> + <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 class="view-floor"> - <button type="default" @tap="sava" class="btn_add">{{title}}</button> - <button type="default" @tap="cancel" class="btn_cancel">{{translateSys('cancel')}}</button> </view> <!-- 鏅�寮圭獥 top bottom center left right --> <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' }" - :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'}"> @@ -156,29 +51,43 @@ </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 + } from "@/api/mobox.js" + import { + getUIStyleInfo, + runCustomEvent, + dataObjCreate + } from "@/api/data.js" + import buttonClickMixin from '@/mixins/button-click.js'; + export default { - modules: { - Base64, + mixins: [buttonClickMixin], + components: { + OIForm, }, data() { return { + largeMode: getApp().globalData.largeMode || false, title: this.translateSys('add2'), + btnName: "", param: {}, edit_inital_event: "", //寮圭獥鍒濆鍖栦簨浠禝D edit_ok_event: "", //寮圭獥鐐瑰嚮OK 瑙﹀彂浜嬩欢ID edit_select_compose_event: "", //閫夋嫨缁勬垚瀵硅薄鏃惰皟鐢� edit_compose_cls_id: "", global_attr: [], - refdatastore: [], //寮曠敤鏁版嵁瀛樺偍鍖�/ {attr:'G_PRJ_' + bindattr + '_ID', value:info.id} scanCodeVal: "", - subClassAttrList: [], - subPanelList: [], - subClassGridStyle: [], popupType: "center", check_list: {}, - + popupParam: {}, focusFieldId: "", focusOldFieldId: "", head_styledef: { @@ -190,58 +99,97 @@ activity: null, receiver: null, intentFilter: null, - content: '' + content: '', + saving: false }; }, onNavigationBarButtonTap(e) { + if (e.index == 0) { + const $this = this + uni.scanCode({ + scanType: ["qrCode"], + success: function(res) { - const $this = this - uni.scanCode({ - scanType: ["qrCode"], - success: function(res) { - if ($this.focusFieldId) { - const items = $this.head_styledef.form.items || [] - for (let i in items) { - const ele = items[i] - if (ele.name == 'Input' || ele.name == 'InputNumber' || ele.name == 'Textarea') { - if ($this.focusFieldId == ele.fieldId) { - $this.onScanValue(ele, res.result) - break; - } - } else if (ele.name == "Layot") { - let curIndex = (ele.setting.colList || []).findIndex((col, index2, arr) => { - return (col.name == 'Input' || col.name == 'InputNumber' || col - .name == 'Textarea') && $this - .focusFieldId == col.fieldId; - }) - if (curIndex > -1) { - let col = ele.setting.colList[curIndex] - $this.onScanValue(col, res.result) - break + if ($this.focusFieldId) { + const items = $this.head_styledef.form.items || [] + for (let i in items) { + const ele = items[i] + if (ele.name == 'Input' || ele.name == 'InputNumber' || ele.name == + 'Textarea') { + if ($this.focusFieldId == ele.fieldId) { + $this.onScanValue(ele, res.result) + break; + } + } else if (ele.name == "Layout") { + let curIndex = (ele.setting.colList || []).findIndex((col, index2, + arr) => { + return (col.name == 'Input' || col.name == 'InputNumber' || col + .name == 'Textarea') && $this + .focusFieldId == col.fieldId; + }) + if (curIndex > -1) { + let col = ele.setting.colList[curIndex] + $this.onScanValue(col, res.result) + break + } } } } + } - } - }) + }) + } else if (e.index == 1) { + //鍒锋柊 + // uni.redirectTo({ + // url: '../modal/3018_2?param=' + JSON.stringify(this.param) + + // "&titlename=" + this.title + // }); + this.setData({ + edit_inital_event: "", //寮圭獥鍒濆鍖栦簨浠禝D + edit_ok_event: "", //寮圭獥鐐瑰嚮OK 瑙﹀彂浜嬩欢ID + edit_select_compose_event: "", //閫夋嫨缁勬垚瀵硅薄鏃惰皟鐢�+ edit_compose_cls_id: "", + global_attr: [], + scanCodeVal: "", + popupType: "center", + check_list: {}, + focusFieldId: "", + focusOldFieldId: "", + head_styledef: { + form: { + items: [] + } + }, + after_ok: {}, + activity: null, + receiver: null, + intentFilter: null, + content: '', + saving: false + }) + this.loadData() + } }, onLoad(options) { // console.log(options); 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; //璁剧疆鎸夐挳鏂囧瓧 - - console.log(this.$data.param); - //鑾峰彇鏁版嵁绫荤殑鑷畾涔夎〃鍗曞弬鏁�- this.Head_UIStyleGetInfo(this.param.DataCls?.id, this.param.UI_Style?.ID); - //椤甸潰鍒濆鍖栬幏鍙栫劍鐐�- // this.focusMateria=true; + this.btnName = this.param.Add_BtnName || "" + this.loadData(options.paramValue) + }, + computed: { + dropdownBtns() { + const btns = this.head_styledef.button || []; + return btns + }, }, methods: { + setData: function(obj) { let that = this; let keys = []; @@ -263,368 +211,340 @@ }); }); }, + async loadData(paramValue) { + + //鑾峰彇鏁版嵁绫荤殑鑷畾涔夎〃鍗曞弬鏁�+ await this.Head_UIStyleGetInfo(this.param.DataCls?.id, this.param.UI_Style?.ID); + //浼犲叆鍙傛暟鍊�+ if (paramValue) { + const attrs = paramValue.attrs || []; + (this.head_styledef?.form?.items || []).forEach(async (ele, index) => { + if (ele.name != "Layout") { + attrs.forEach(async (ele2, index2) => { + if (ele.fieldId == ele2.name) { + ele.value = ele2.value; + } + }); + } else { + ele.setting.colList.forEach(async (col) => { + if (col) { + attrs.forEach(async (ele2, + index2) => { + if (col.fieldId == ele2.name) { + col.value = ele2.value; + } + }); + } + }); + } + }) + } + + + }, async Head_UIStyleGetInfo(class_id, style_id) { //鑾峰彇鑷畾涔夎〃鍗曟牱寮� var $this = this; var dataInfo = { class_id: class_id, ui_style_id: style_id, }; - this.$store.dispatch('UIStyleGetInfo', dataInfo).then(ret => { - // console.log(ret); - if (ret.err_code == 0) { - var styledef = ""; - if (ret.result.style_def) { - //mobox2鐨剆tyle_def鏄痡son瀛楃涓�- styledef = ret.result.style_def.replace(/\\/g, ""); - //mobox3鐨剆tyle_def鏄痓ase64瀛楃涓�- if (!ret.result.style_def.includes('"')) styledef = Base64.decode(ret - .result - .style_def); - } - $this.$data.head_styledef = ret.result.style_def ? JSON.parse(styledef) : {}; - // console.log($this.$data.head_styledef); - $this.head_styledef.form.items.forEach(async (ele, index) => { - ele.show = true; - if (ele.useDict == true) { //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀 - await this.DictGetInfo(ele.bind.dict, index, 'mast'); - } - if ($this.focusFieldId == "") { - if (ele.name == 'Input' || ele.name == 'InputNumber' || ele.name == - 'Textarea') { - $this.setData({ - focusFieldId: ele.fieldId - }) - } - } - - }); - if ($this.head_styledef.event?.length > 0) { - $this.head_styledef.event.forEach(async (a) => { //鍒ゆ柇鏄惁鏄垵濮嬪寲浜嬩欢 - if (a.event_id == "initial") { - await $this.loadInitEvent(a.scrip_id); - } else if (a.event_id == 'after_ok') { - $this.after_ok = { - id: a.scrip_id, - name: a.scrip_name - }; - } - }); - } - - } else { - uni.showModal({ - title: this.translateSys("error") + "1", - content: ret.err_msg, - showCancel: false, - confirmText: this.translateSys("cancel") - }); + try { + const ret = await getUIStyleInfo(dataInfo) + var styledef = ""; + if (ret.style_def) { + //mobox2鐨剆tyle_def鏄痡son瀛楃涓�+ styledef = ret.style_def.replace(/\\/g, ""); + //mobox3鐨剆tyle_def鏄痓ase64瀛楃涓�+ if (!ret.style_def.includes('"')) styledef = Base64.decode(ret.style_def); } - }).catch(ex => { - // console.log(ex); - uni.showModal({ - title: this.translateSys("error") + "1.1", - content: ex.errMsg, - showCancel: false, - confirmText: this.translateSys("cancel") - }); - }); - - }, - async DictGetInfo(dict, index, type) { //Mobox3寰楀埌寰楀埌瀛楀吀淇℃伅瀛楀吀椤瑰垪琛�- this.data = []; - var $this = this; - var dataInfo = { - dict_id: dict.id, - dict_name: dict.name - }; - // console.log(dataInfo); - this.$store.dispatch('DictGetInfo', dataInfo).then(async (success) => { - console.log(success); - if (success.err_code == 0) { - if (type == 'mast') { - var list = []; - var itemName = ''; - success.result.dict_item_list.forEach((item) => { - if (item.is_default == '1') - itemName = item.name; - list.push({ - text: item.value, - value: item.name, - }); - }); - //鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ� - if (itemName) { - $this.head_styledef.form.items[index].value = itemName; - var attr = $this.head_styledef.form.items[index].fieldId; - $this.head_styledef.form.model[attr] = itemName; - } - $this.head_styledef.form.items[index].dict = list; - // $this.head_styledef.form.items[index].dictitem=success.result; - // this.$store.commit("classAttrList", $this.$data.classAttrList); - } else { - // $this.$data.subClassAttrList[index].attr_list[key].dictitem=success.result; - // this.$store.commit("subClassAttrList", $this.$data.subClassAttrList); - } - - } else { - uni.showModal({ - title: this.translateSys("error") + "1.2", - content: success.err_msg, - showCancel: false, - confirmText: this.translateSys("cancel") - }); - } - }).catch(ex => { - // console.log(ex); - uni.showModal({ - title: this.translateSys("error") + "1.3", - content: ex.errMsg, - showCancel: false, - confirmText: this.translateSys("cancel") - }); - }); - }, - async loadInitEvent(eventid) { - var $this = this; - if (!eventid.includes('{')) eventid = '{' + eventid + '}'; - var dataInfo = { - ed_type: 0, - start_transaction: true, - class_id: this.param.DataCls.id, - event_id: eventid, - }; - console.log(dataInfo); - // return; - this.$store.dispatch('runCustomEvent', dataInfo).then(success => { - console.log(success); - if (success.err_code == 0) { - var data = success.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); + const styledefHead = styledef ? JSON.parse(styledef) : {}; + if (styledefHead?.form?.items) { + for (let i in styledefHead.form.items) { + const ele = styledefHead.form.items[i] + if (ele.name != "Layout") { + ele.show = true + if (ele?.useDict) { + //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀 + 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.selections = selections.map((a) => { + return { + value: a.value, + text: a.label + } + }) + } } - uni.showModal({ - title: this.translateSys("tip"), - content: tip, - showCancel: false, - confirmText: this.translateSys("cancel") - }); - } - else uni.showModal({ - title: this.translateSys("tip"), - content: tip + ',' + this.translateSys('tip') + ':' + data.ret, - showCancel: false, - confirmText: this.translateSys("cancel") - }); - 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("cancel") - }); - - 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') { - 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; - } - } - }); + if ($this.focusFieldId == "") { + if (ele.name == 'Input' || ele.name == + 'InputNumber') { + $this.setData({ + focusFieldId: ele.fieldId + }) + } + } + } else { + for (let j in ele.setting.colList) { + const col = ele.setting.colList[j] + if (col) { + col.show = true + if (col?.useDict) { + //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀 + await $this.DictGetInfo(col.bind + .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.selections = selections.map((a) => { + return { + value: a.value, + text: a.label } - - } - } - 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') { - 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; - // console.log($this.$data.head_styledef); - } else { - uni.showModal({ - title: this.translateSys("tip"), - content: this.translate( - 'execute_init_event_failed') + - this.translateSys("full_stop") + - this.translate('reason') + this.translateSys( - "colon") + - this.translateSys("quotation_mark_left") + - action - .action_type + this.translateSys( - "quotation_mark_right") + this - .translate('tip_action_unprocessed'), - showCancel: false, - confirmText: this.translateSys("cancel") - }); + if ($this.focusFieldId == "") { + if (col.name == 'Input' || col + .name == + 'InputNumber') { + $this.setData({ + focusFieldId: col + .fieldId + }) + } + } } } } } - } else { - uni.showModal({ - title: this.translateSys("error") + "3", - content: this.translate('execute_init_event_failed') + - this.translateSys("full_stop") + - this.translate('reason') + this.translateSys("colon") + success - .err_msg, - showCancel: false, - confirmText: this.translateSys("cancel") + const app = getApp() + if (app.globalData.bindClasses) { + styledefHead.form.items.push({ + name: "Input", + label: this.translate("classes"), + labelWidth: 100, + disabled: true, + value: app.globalData.classes, + setting: { + width: 100, + height: 50, + }, + bind: { + attr: "", + }, + fieldId: "S_CLASSES", + }) + styledefHead.form.model["S_CLASSES"] = app.globalData.classes + } + + } + $this.setData({ + head_styledef: styledefHead + }) + if ($this.head_styledef.event) { + $this.head_styledef.event.forEach(async (a) => { //鍒ゆ柇鏄惁鏄垵濮嬪寲浜嬩欢 + if (a.event_id == "initial") { + await $this.loadInitEvent(a.scrip_id); + } else if (a.event_id == 'after_ok') { + $this.after_ok = { + id: a.scrip_id, + name: a.scrip_name + }; + } }); } - }).catch(ex => { + } catch (ex) { // console.log(ex); + console.log(JSON.stringify(ex), 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") + "3.1", + title: this.translateSys("error") + "1.1", + content: tip, + showCancel: false, + confirmText: this.translateSys('close') + }); + } + }, + async DictGetInfo(dict, formModel, formItem) { //Mobox3寰楀埌寰楀埌瀛楀吀淇℃伅瀛楀吀椤瑰垪琛�+ try { + var $this = this; + var dataInfo = { + dict_id: dict.id, + dict_name: dict.name + }; + + const res = await dictGetInfo(dataInfo) + var list = []; + var itemName = ''; + (res.dict_item_list || []).forEach((item) => { + if (item.is_default == '1') + itemName = item.name + list.push({ + text: item.value ? item.value : item.name, + value: item.name, + }); + }); + //鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ� + if (itemName) { + formItem.value = itemName; + formModel[formItem.fieldId] = itemName; + } + 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: tip, + showCancel: false, + confirmText: this.translateSys('close') + }); + + + } + }, + + async loadInitEvent(eventid) { + try { + var $this = this; + if (!eventid.includes('{')) eventid = '{' + eventid + '}'; + var dataInfo = { + ed_type: 0, + start_transaction: true, + class_id: this.param.DataCls.id, + event_id: eventid, + }; + console.log(dataInfo); + var data = await runCustomEvent(dataInfo) + 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); + } + 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') + }); + 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') + }); + + 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') { + var result = action.value; + $this.setFormValues(result) + } else if (action.action_type == 'set_dlg_attr_show') { + var result = action.value; + $this.hideFormItems(result) + // console.log($this.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"), + content: this.translate( + 'execute_init_event_failed') + + this.translateSys("full_stop") + + this.translate('reason') + this + .translateSys( + "colon") + + this.translateSys("quotation_mark_left") + + action + .action_type + this.translateSys( + "quotation_mark_right") + this + .translate('tip_action_unprocessed'), + showCancel: false, + confirmText: this.translateSys('close') + }); + } + } + } + } + } 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") + "3", content: this.translate('execute_init_event_failed') + this.translateSys("full_stop") + - this.translate('reason') + this.translateSys("colon") + ex.errMsg, + this.translate('reason') + this.translateSys("colon") + tip, showCancel: false, - confirmText: this.translateSys("cancel") + confirmText: this.translateSys('close') }); - }); + } }, ontap(item) { //鎵爜鍔熻兘 + // console.log("ontap",item); // 鎵撳紑钃濈墮閫傞厤鍣� // uni.openBluetoothAdapter({ // success: function() { @@ -672,81 +592,23 @@ }, onScanValue(item, value) { const $this = this; - console.log("onScanValue", item); - if (item.oldvalue != value) { - item.oldvalue = value; - item.value = value; - var attr = value - $this.head_styledef.form.model[attr] = value; - if (item.value) { //绗竴涓緭鍏ユ涓嶄负绌�- //鍒濆鍖栵紝涓嬩釜杈撳叆妗唂ocus灞炴� - var findd = false - const items = $this.head_styledef.form.items || [] - for (let i in items) { - const ele = items[i] - - if (ele.name != "Layout") { - if (ele.name == 'Input' || ele.name == 'InputNumber' || ele.name == 'Textarea') { - 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' || col.name == - 'Textarea'); - }) - 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' || col.name == 'Textarea') && - index2 > - curIndex; - }) - if (curIndex2 > -1) { - $this.setData({ - focusFieldId: ele.setting.colList[curIndex] - .fieldId - }) - break - } - } - } - - } - } - } - + //console.log("onScanValue", item); + 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] = newVal; 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] || "", + value: obj_attr[a] || "", })); var info = { @@ -756,87 +618,127 @@ rclsid: '', robjid: '', userlogin: '', - clsid: this.$data.param.DataCls.id, + clsid: this.param.DataCls.id, objid: "", attr: req, dataJson: [], } this.DataObjRunCustomEvent(info, ''); } + //鍒濆鍖栵紝涓嬩釜杈撳叆妗唂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(e.target); - console.log(item); - if (item.oldvalue != item.value) { - item.oldvalue = item.value; + 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 + } + } + 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) { - 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, ""); + 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); } } }, - onchange(item) { - console.log(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) { - // 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: [] - } - this.DataObjRunCustomEvent(info); + // 鍐呭鍙樺寲鍚庝簨浠�+ 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); } }, - onModelValue(item) { //缁戝畾Model鍊�- var attr = item.fieldId; - this.head_styledef.form.model[attr] = item.value; - }, + classAttr_extButton(item) { var onSuffixClickCallbackEvent = item.bind.onSuffixClickCallbackEvent; //鍚庡浘鏍囩偣鍑讳簨浠� var onSuffixClickEvent = item.bind.onSuffixClickEvent; //鍚庡浘鏍囩偣鍑诲洖璋�@@ -844,9 +746,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; } @@ -855,15 +757,17 @@ 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' + this.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, item); + this.dataObjRunCustomEvent_Return(onSuffixClickEvent.id, '', onSuffixClickCallbackEvent + .id, + item); }, popupChange(e) { console.log('褰撳墠妯″紡锛� + e.type + ',鐘舵�锛� + e.show); @@ -872,15 +776,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) { //寮规鍙栨秷 @@ -888,7 +792,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++) { @@ -902,26 +806,25 @@ }); } } - // if (!$this.$data.popupParam) { - // uni.showModal({ - // title: this.translateSys("tip"), - // content: "popupParam涓虹┖锛�, - // showCancel: false, - // confirmText: this.translateSys("cancel") - // }); - // 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 (!$this.popupParam) { + uni.showModal({ + title: this.translateSys("tip"), + content: "popupParam涓虹┖锛�, + showCancel: false, + confirmText: this.translateSys('close') + }); + return; } - console.log(data); - var callback_eventid = $this.$data.popupParam.button_callback.trim(); + if (data.length == 0) { + uni.showModal({ + title: this.translateSys("tip"), + content: this.translate("tip_no_select_data"), + showCancel: false, + confirmText: this.translateSys('close') + }); + return; + } + var callback_eventid = $this.popupParam.button_callback.trim(); var info = { eventid: callback_eventid, edtype: "0", @@ -929,31 +832,31 @@ 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(); }, - DataObjRunCustomEvent(info, data_attr) { + async DataObjRunCustomEvent(info, data_attr) { 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 = { //鎵�睘鐨勮〃鍗曟帶浠�@@ -972,16 +875,17 @@ // 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 = {}; 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 = { @@ -1005,326 +909,161 @@ }; console.log(dataInfo); // return; - this.$store.dispatch('runCustomEvent', dataInfo).then(success => { - console.log(success); - if (success.err_code == 0) { - var data = success.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); - } - uni.showModal({ - title: this.translateSys("tip"), - content: tip, - showCancel: false, - confirmText: this.translateSys("cancel") - }); - } - else uni.showModal({ - title: this.translateSys("tip"), - content: tip + ',' + this.translateSys('tip') + ':' + data.ret, - showCancel: false, - confirmText: this.translateSys("cancel") - }); - return false - } else { - var tip = data.info ? typeof data.info == 'string' ? data.info : data.info - .join( - '<br/>') : ''; - if (tip) uni.showModal({ + runCustomEvent(dataInfo).then(data => { + 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); + } + uni.showModal({ 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('close') + }); + 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') + }); - 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') { - 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 (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; - // console.log($this.$data.head_styledef); - } else if (action.action_type == 'set_global_attr') { - $this.$data.global_attr = action.value || []; + 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') { + var result = action.value; + $this.setFormValues(result) + } else if (action.action_type == 'set_dlg_attr_show') { + var result = action.value; + $this.hideFormItems(result) + // console.log($this.head_styledef); + } else if (action.action_type == 'set_global_attr') { + $this.global_attr = action.value || []; + } else if (action.action_type == + "set_dlg_current_edit_attr" + ) { + if ($this.focusOldFieldId == action.value) { + $this.setData({ + focusFieldId: "" + }) } else { - uni.showModal({ - title: this.translateSys("tip"), - content: this.translateSys("quotation_mark_left") + - action - .action_type + this.translateSys( - "quotation_mark_right") + this.translate( - "tip_action_unprocessed"), - showCancel: false, - confirmText: this.translateSys("cancel") - }); + $this.setData({ + focusFieldId: $this.focusOldFieldId + }) } - } - } - // var head_styledef = JSON.parse(JSON.stringify($this.head_styledef)); - // $this.head_styledef=[]; - // $this.head_styledef = head_styledef; - 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.$nextTick(() => { + $this.setData({ + focusFieldId: action.value + }) + }); + } else { + uni.showModal({ + title: this.translateSys("tip"), + content: this.translateSys( + "quotation_mark_left") + + action + .action_type + this.translateSys( + "quotation_mark_right") + this + .translate( + "tip_action_unprocessed"), + showCancel: false, + confirmText: this.translateSys('close') + }); } } } - } else { - uni.showModal({ - title: this.translateSys("error") + "3", - content: success.err_msg, - showCancel: false, - confirmText: this.translateSys("cancel") - }); + // var head_styledef = JSON.parse(JSON.stringify($this.head_styledef)); + // $this.head_styledef=[]; + // $this.head_styledef = head_styledef; + console.log($this.head_styledef); + + if (data.result) { + $this.setFormValues(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("error") + "3.1", - content: ex.errMsg, + 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 (!req.filter(function(s) { - return this.$data.refdatastore[i].attr == s.name - }).length) { - length = 1; - req.push({ - 'attr': this.$data.refdatastore[i].attr, - 'val': this.$data.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 } - // var dataInfo = { - // edtype: "0", eventid: eventid, projectid: '',rclsid: '', robjid: '', userlogin: '', - // clsid: this.$data.param.DataCls.id, objid: '',attr: JSON.stringify(req), - // extinfo: JSON.stringify(extinfo), global_attr: JSON.stringify(this.$data.global_attr) - // } 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: '', @@ -1334,241 +1073,271 @@ 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; - this.$store.dispatch('runCustomEvent', dataInfo).then(success => { - console.log(success); - if (success.err_code == 0) { - var data = success.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); - } - uni.showModal({ - title: this.translateSys("tip"), - content: tip, - showCancel: false, - confirmText: this.translateSys("cancel") - }); - } - else uni.showModal({ - title: this.translateSys("tip"), - content: tip + ',' + this.translateSys('tip') + ':' + data.ret, - showCancel: false, - confirmText: this.translateSys("cancel") - }); - 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"), + runCustomEvent(dataInfo).then(data => { + 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); + } + uni.showModal({ + 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('close') + }); + 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') + }); - if (data != "") { - var actions = data.action; - console.log(actions); - if (actions) { - for (var i = 0; i < actions.length; i++) { - var action = actions[i]; - var val = action.value; - var enviroment = JSON.stringify(enviroment); + if (data != "") { + var actions = data.action; + 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") - }); - 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 = { + 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") + }); + d.show(); + } else if (action.action_type == + 'open_select_userdlg') { + var style = val.style; + // style == 'user' ? '閫夋嫨浜哄憳' : style == 'department' ? '閫夋嫨閮ㄩ棬' : style == 'role' ? '閫夋嫨瑙掕壊' : '' + var param = { + item: item, + button_callback: button_callback, + req: req, + data_attr: data_attr + } + uni.navigateTo({ + url: '../selpsn/index?mulit=false¶m=' + + JSON + .stringify( + param), + events: { + AddPer(data, param) { + // console.log(param); + console.log(data); + var callback_eventid = param + .button_callback + .trim(); + var info = { + eventid: callback_eventid, + edtype: "0", + projectid: '', + rclsid: '', + robjid: '', + userlogin: '', + clsid: $this.param + .DataCls + .id, + objid: "", + attr: param.req, + inputparameter: data, + dataJson: [], + } + $this.DataObjRunCustomEvent( + info, + param + .data_attr); + } + } + }); + } 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( + "quotation_mark_left") + + action + .action_type + $this.translateSys( + "quotation_mark_right") + $this + .translate( + "tip_action_unprocessed") + }); + d.show(); + } else if (action.action_type == 'open_common_dlg') { + + if (val.common_dlg_id == 'check_list') { + + $this.setData({ + check_list: val.config + }) + if (val.config.appear_style == + 'sideslip') //鍒ゆ柇鏄惁鏄晶婊�+ $this.setData({ + popupType: "right" + }) + else + $this.setData({ + popupType: "center" + }) + // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦�uni-popup 缁勪欢涓婄粦瀹�type灞炴� + $this.$refs.popup.open($this.popupType); + var popupParam = { item: item, button_callback: button_callback, req: req, data_attr: data_attr } - uni.navigateTo({ - url: '../selpsn/index?mulit=false¶m=' + JSON - .stringify( - param), - events: { - AddPer(data, param) { - // console.log(param); - console.log(data); - var callback_eventid = param - .button_callback - .trim(); + $this.setData({ + popupParam: popupParam + }) + } + } else if (action.action_type == + 'open_project_query_dlg') { + //console.log(action.value.select_range); + //console.log(action.value.mulit_select); + var priRel = '-1'; + if (action.value.select_range == '鍏ㄩ儴鐩稿叧') + priRel = '0'; + else if (action.value.select_range == '鎴戣礋璐g殑椤圭洰') + priRel = '1'; + else if (action.value.select_range == '鎴戝垱寤虹殑') + priRel = '2'; + else if (action.value.select_range == '鎴戝弬涓庣殑' || + action + .value + .select_range == '鎴戝弬鍔犵殑') + priRel = '3'; + else if (action.value.select_range == '鎴戝叧娉ㄧ殑') + priRel = '4'; + else if (action.value.select_range == '鎴戜笅灞炵殑椤圭洰') + priRel = '5'; + var param_ = { + item: item, + button_callback: button_callback, + req: req + } + uni.navigateTo({ + url: '../selPrj/index?relation=' + + priRel + + '¶m=' + + JSON.stringify(param_), + events: { + AddPer(data, param) { + var attr = param.item.fieldId; + $this.head_styledef.form.model[ + attr] = + 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(); + if (callback_eventid) { var info = { eventid: callback_eventid, - edtype: "0", - projectid: '', - rclsid: '', - robjid: '', - userlogin: '', - clsid: $this.$data.param.DataCls - .id, + edtype: "2", + projectid: data[0] + .ID, + rclsid: "", + robjid: "", + userlogin: "", + clsid: $this.$data + .param + .DataCls.id, objid: "", attr: param.req, - inputparameter: data, dataJson: [], } - $this.DataObjRunCustomEvent(info, param - .data_attr); + + $this + .DataObjRunCustomEvent( + info); } } - }); - } 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("quotation_mark_left") + - action - .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; - if (val.config.appear_style == 'sideslip') //鍒ゆ柇鏄惁鏄晶婊�- $this.$data.popupType = 'right'; - else - $this.$data.popupType = 'center' - // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦�uni-popup 缁勪欢涓婄粦瀹�type灞炴� - $this.$refs.popup.open($this.$data.popupType); - var popupParam = { - item: item, - button_callback: button_callback, - req: req, - data_attr: data_attr - } - $this.$data.popupParam = popupParam; } - } else if (action.action_type == 'open_project_query_dlg') { - //console.log(action.value.select_range); - //console.log(action.value.mulit_select); - var priRel = '-1'; - if (action.value.select_range == '鍏ㄩ儴鐩稿叧') - priRel = '0'; - else if (action.value.select_range == '鎴戣礋璐g殑椤圭洰') - priRel = '1'; - else if (action.value.select_range == '鎴戝垱寤虹殑') - priRel = '2'; - else if (action.value.select_range == '鎴戝弬涓庣殑' || action.value - .select_range == '鎴戝弬鍔犵殑') - priRel = '3'; - else if (action.value.select_range == '鎴戝叧娉ㄧ殑') - priRel = '4'; - else if (action.value.select_range == '鎴戜笅灞炵殑椤圭洰') - priRel = '5'; - - var $this = this; - var param_ = { - item: item, - button_callback: button_callback, - req: req - } - uni.navigateTo({ - url: '../selPrj/index?relation=' + priRel + - '¶m=' + - JSON.stringify(param_), - events: { - AddPer(data, param) { - var attr = param.item.fieldId; - $this.head_styledef.form.model[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 - .button_callback - .trim(); - if (callback_eventid) { - var info = { - eventid: callback_eventid, - edtype: "2", - projectid: data[0].ID, - rclsid: "", - robjid: "", - userlogin: "", - clsid: $this.$data.param - .DataCls.id, - objid: "", - attr: param.req, - dataJson: [], - } - - $this.DataObjRunCustomEvent(info); - } - } - } - }); - } else { - uni.showModal({ - title: this.translateSys("tip"), - content: this.translateSys("quotation_mark_left") + - action.action_type + this.translateSys( - "quotation_mark_right") + this.translate( - "tip_action_unprocessed"), - showCancel: false, - confirmText: this.translateSys("cancel") - }); - } + }); + } else { + uni.showModal({ + title: $this.translateSys("tip"), + content: $this.translateSys( + "quotation_mark_left") + + action.action_type + $this + .translateSys( + "quotation_mark_right") + $this + .translate( + "tip_action_unprocessed"), + showCancel: false, + 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( - "comma") + 'event_id' + eventid, - showCancel: false, - confirmText: this.translateSys("cancel") - }); } + } 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( + "comma") + 'event_id' + eventid, + showCancel: false, + confirmText: $this.translateSys('close') + }); } - } else { - uni.showModal({ - title: this.translateSys("error") + "5", - content: success.err_msg, - showCancel: false, - confirmText: this.translateSys("cancel") - }); } + }).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') + "5.1", - content: ex.errMsg, + title: $this.translateSys('tip') + "5.1", + content: exStr, showCancel: false, - confirmText: this.translateSys("cancel") + confirmText: $this.translateSys('close') }); }); }, @@ -1583,11 +1352,13 @@ }, add() { + const $this = this uni.showLoading({ title: this.translateSys("loading"), mask: true }); - var obj_attr = this.head_styledef.form.model; + this.saving = true + var obj_attr = this.head_styledef.form.model || []; console.log(obj_attr); // var req = Object.keys(obj_attr).map((a) => ({ // name: a, @@ -1596,24 +1367,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: '', @@ -1627,85 +1392,245 @@ }; console.log(dataInfo); // return - this.$store.dispatch('createDataObj', dataInfo).then(success => { - console.log(success); + dataObjCreate(dataInfo).then(res => { uni.hideLoading(); - if (success.err_code == 0) { - var result = success.result; - // if(result.result_type == 0){} - if (success.result.action) { - var action = JSON.parse(success.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") - }); - return; - } - if (action.info) { - uni.showModal({ - title: this.translateSys("tip"), - content: this.translate('execute_script_failed') + this - .translateSys('comma') + this.translate('result') + - 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 - }); - } - - // "{"ret":0, "result_type":0, "result":"鍒涘缓鎴愬姛123123123","info":""}" + 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); } - } else + 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 { + uni.showToast({ title: this.translate('create_success'), icon: "success", duration: 3000 }); - if (this.$data.param.After_Btn_Refresh) { - //鍒锋柊 - uni.redirectTo({ - url: '../modal/3018_2?param=' + JSON.stringify(this.$data.param) + - "&titlename=" + this.$data.title - }); } - // this.class_attr_init(); - } else { - uni.showModal({ - title: this.translateSys("error"), - content: success.err_msg, - showCancel: false, - confirmText: this.translateSys("cancel") - }); + + if (!this.param.After_Btn_Not_Refresh) { + //鍒锋柊 + uni.redirectTo({ + url: '../modal/3018_2?param=' + JSON.stringify(this + .$data + .param) + + "&titlename=" + this.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 + const head_styledef = this.head_styledef + for (var i = 0; i < data.length; i++) { + 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 attr.choice_list) { + var val = attr.choice_list[d]; + dictItemList.push({ + "CN_S_NAME": val, + "CN_S_VALUE": val, + "text": val, + "value": val + }); + } + if (item.useDict) { + item.dict = dictItemList; + } else { + item.selections = dictItemList; + } + } + } else if (item.name == 'Layout') { + item.setting.colList.forEach(col => { + if (col) { + if (col.fieldId == attr.attr) { + var dictItemList = []; + for (var d in attr.choice_list) { + var val = attr.choice_list[d]; + dictItemList.push({ + "CN_S_NAME": val, + "CN_S_VALUE": val, + "text": val, + "value": val + }); + } + if (col.useDict) { + col.dict = dictItemList; + } else { + col.selections = dictItemList; + } + } + } + }); + } + + } + } + 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 (head_styledef.form.model[attr.attr] == undefined) { + head_styledef.form.model[attr.attr] = attr.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 (item.name == 'Layout') { + item.setting.colList.forEach(col => { + if (col) { + if (col.fieldId == attr.attr) { + col.value = ''; + col.oldvalue = ''; + 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; + } + } + } + }); + } + } + } + + }, + hideFormItems(data) { + const $this = this + const head_styledef = this.head_styledef + data.forEach(async (attr, key) => { + 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; + } + } + }); + } }); }); }, afterOK() { + this.saving = true + const $this = this var obj_attr = this.head_styledef.form.model; // console.log(obj_attr); var input_param = { @@ -1715,13 +1640,191 @@ value: obj_attr[a], })), }; - if (!this.after_ok.id.includes('{')) this.after_ok.id = '{' + this.after_ok.id + '}'; + if (!this.after_ok.id.includes('{')) this.after_ok.id = '{' + this.after_ok.id + + '}'; 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: '', + data_obj_id: '', + obj_attr: obj_attr, + prj_id: '', + ref_cls_id: '', + rel_obj_id: '', + user_login: '', + data_json: '', + compose_info: '', + input_param: Base64.encode(JSON.stringify(input_param)), + }; + console.log(dataInfo); + // return; + runCustomEvent(dataInfo).then(data => { + + 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); + } + 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') + }); + if (!this.param.After_Btn_Not_Refresh) { + //鍒锋柊 + uni.redirectTo({ + url: '../modal/3018_2?param=' + JSON.stringify(this + .$data + .param) + + "&titlename=" + this.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.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: tip, + showCancel: false, + confirmText: this.translateSys('close') + }); + }); + }, + //鐐瑰嚮鎸夐挳鍒楄〃 + clickDropdownBtns() { + var that = this + var itemlist = []; + this.dropdownBtns.forEach((btn) => { + itemlist.push(btn.ShowName); + }); + uni.showActionSheet({ + // title: '鎸夐挳鍒楄〃', + itemList: itemlist, + success: (e) => { + console.log(e.tapIndex); + var btn = that.dropdownBtns[e.tapIndex]; + that.onButtonClicked(btn); + } + }) + }, + onButtonClicked(btn) { + let enviroment = { + button: "top", + button_name: btn.ShowName, + cls_id: btn.Cls_ID, + function: "3018", + master: {}, + }; + console.log("onBtnClick", btn); + if (btn.FunCode == "Add") { + if (btn.Edit_dlg.Model == "small") { + this.showAddSmallDialog(btn, enviroment); + } else { + uni.showModal({ + title: this.translateSys("tip"), + content: this.translateSys("unrealized"), + showCancel: false, + confirmText: this.translateSys('close') + }); + } + } else if (btn.FunCode == "TriggerEvent") { + this.onTriggerEvent(btn, enviroment); + } else { + this.$Message.warning(this.$t("sys.unrealized")); + } + }, + onTriggerEvent(btn, enviroment) { + const $this = this + var obj_attr = this.head_styledef.form.model; + // console.log(obj_attr); + var input_param = { + id: "", + attrs: Object.keys(obj_attr).map((a) => ({ + attr: a, + value: obj_attr[a], + })), + }; + + var dataInfo = { + ed_type: "0", + start_transaction: true, + class_id: btn.Cls_ID, + class_name: '', + event_id: btn.Event.ID, event_name: '', data_obj_id: '', obj_attr: obj_attr, @@ -1735,62 +1838,136 @@ }; console.log(dataInfo); // return; - this.$store.dispatch('runCustomEvent', dataInfo).then(success => { - console.log(success); - if (success.err_code == 0) { - var data = success.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); - } - uni.showModal({ - title: this.translateSys("tip"), - content: tip, - showCancel: false, - confirmText: this.translateSys("cancel") - }); - } else uni.showModal({ - title: this.translateSys("tip"), - content: tip + ',' + this.translateSys('tip') + ':' + data.ret, - showCancel: false, - confirmText: this.translateSys("cancel") - }); - return false - } else { - var tip = data.info ? typeof data.info == 'string' ? data.info : data.info - .join( - '<br/>') : ''; - if (tip) uni.showModal({ + runCustomEvent(dataInfo).then(data => { + 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); + } + uni.showModal({ title: this.translateSys("tip"), content: tip, showCancel: false, - confirmText: this.translateSys("cancel") + confirmText: this.translateSys('close') }); - - var result = data.result; - - } - } else { - uni.showModal({ - title: this.translateSys("error") + "7", - content: success.err_msg, + } 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 { + 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') + }); + if (!this.param.After_Btn_Not_Refresh) { + //鍒锋柊 + uni.redirectTo({ + url: '../modal/3018_2?param=' + JSON.stringify(this + .$data + .param) + + "&titlename=" + this.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 + }) + }); + } + + } + } + } } + }).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") }); + }); + + }, + //鏂板淇敼灏忕獥鍙f暟鎹�+ showAddSmallDialog(btn, enviroment) { + var data = { + Add_BtnName: btn.ShowName, + EditDlgMode: btn.Edit_dlg.Model, + clsid: btn.Cls_ID, + cls_name: btn.Cls_Name, + Edit_dlg: btn.Edit_dlg + }; + const url = '../modal/3018?param=' + JSON.stringify(data) + "&titlename=" + btn + .Edit_dlg + .Name + + "&type=addDataObj" + var $this = this; + uni.navigateTo({ + url: url, + events: { + // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�鍒板綋鍓嶉〉闈㈢殑鏁版嵁 + addDataObj: function(resData) { + console.log(resData); + //鍒锋柊 + uni.redirectTo({ + url: '../modal/3018_2?param=' + JSON.stringify( + this + .$data.param) + + "&titlename=" + this.title + }); + + }, + } }); }, @@ -1823,64 +2000,53 @@ </style> <style lang="scss"> .uni-page-modal-3018-2 { + display: flex; + height: calc(100vh - 30rpx); + width: 720rpx; + flex-direction: column !important; + padding: 15rpx; + .v-headStyle { /* border: 0.1rpx solid red; */ /* line-height: 30rpx; */ - padding: 5rpx 0; + // padding: 5rpx 0; + width: 98%; } - .v-headStyle:first-child { - margin-top: 15rpx; + .uni-forms-item { + // border: 0.5px solid red; + margin-bottom: 11rpx; } - .v-headStyle .txt_title { - font-size: 34rpx; - text-align: right; - display: inline-block; - /* vertical-align: 24rpx; */ - - /* border: 0.1rpx solid red; */ - } - - .v-headStyle input { - vertical-align: middle; - display: inline-block; - /* border: 1px solid #d5d5d5; */ - /* width: 65%; */ - width: 85%; - height: 52rpx; - line-height: 34rpx; - background: #FFF; - border-radius: 0 !important; - color: #2d8cf0; - padding: 10rpx 8rpx 12rpx; - font-size: 34rpx; - font-family: inherit; - box-shadow: none !important; - transition-duration: 0.1s; - margin-top: 4rpx; - } - - .v-headStyle input::-webkit-input-placeholder { - font-size: 12rpx; - } - - .v-headStyle .form-item-span { - /* vertical-align:top; */ - color: #2d8cf0; - white-space: normal; - word-break: break-all; - display: inline-block; - - /* border: 0.1rpx solid red; */ - } + // .v-headStyle .form-item-span { + // // border: 0.5px solid red; + // padding: 7rpx 0; + // color: #2d8cf0; + // white-space: normal; + // word-break: break-all; + // display: inline-block; + // // width: calc(100% - 100px); + // } .input-wrapper { border: 1px solid #d5d5d5; - display: inline-block; - width: 65%; - line-height: 22rpx; - vertical-align: middle; + width: 100%; + display: flex; + flex-direction: row; + + .uni-input { + color: #2d8cf0; + flex: 1; + padding: 10rpx 8rpx; + // height: 40rpx; + // line-height: 40rpx; + } + + .uni-icon { + padding: 10rpx 5rpx; + font-size: 32rpx; + color: rgb(192, 196, 204); + } } .check_rememberPwd, @@ -1895,13 +2061,10 @@ box-sizing: border-box; } - .uni-input { - /* border: none; */ - } .uni-icon { /* border: 1px solid red; */ - width: 8%; + width: 30rpx; font-family: uniicons; font-size: 40rpx; font-weight: 400; @@ -1915,43 +2078,85 @@ vertical-align: middle; } - - .view-content { - min-height: 700rpx; - /* border:1px solid red; */ - } - .input-disabled { background-color: #f3f3f3 !important; } - button.btn_add { - width: 49.5%; - margin-top: 50rpx; - padding: 20rpx; - line-height: 1.5; - background: #4D6AF4; - border: none; - color: #fff; - font-size: 38rpx; - font-weight: bold; - float: right; - display: inline-block; + .view-content { + display: flex; + flex: 1; + width: calc(100% - 30rpx); + padding: 10rpx 15rpx; + flex-direction: column; + overflow-y: auto; + } - button.btn_cancel { - width: 49.5%; - margin-top: 50rpx; - padding: 20rpx; - line-height: 1.5; - background: #fff; - border: none; - color: #000; - font-size: 38rpx; - font-weight: bold; - float: left; - display: inline-block; + .view-bottom { + // display: flex; + // flex-direction: row; + display: block; + width: calc(100% - 30rpx); + padding: 10rpx 15rpx 20rpx 15rpx; + + .btn_add { + width: 45%; + margin: 0 10rpx; + // padding: 5rpx 10rpx; + background: #27A6E1; + border: none; + color: #fff; + font-size: 38rpx; + float: left; + display: inline-block; + } + + .btn_disabled { + background-color: #ddd; + color: #888; + } + + .btn_cancel { + width: 45%; + 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; + display: inline-block; + } + + .uni-padding-wrap { + margin: 2rpx 0 0 10rpx; + background-color: #98DAEA; + width: 104rpx; + height: 80rpx; + text-align: center; + border-radius: 54rpx; + padding: 24rpx 0 0 0; + float: right; + display: inline-block; + } + + .uni-padding-wrap a { + font-size: 40rpx; + } } + + + .view-popup { position: relative; @@ -1990,7 +2195,7 @@ .popup-footer { float: right; position: absolute; - bottom: 0; + bottom: 10rpx; right: 20rpx; } @@ -2014,9 +2219,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; */ @@ -2025,7 +2232,7 @@ #dv_select { display: inline-block; - width: 66%; + // width: 66%; background: #FFF; border-radius: 0 !important; color: #2d8cf0; @@ -2163,9 +2370,8 @@ /* line-height: 22rpx; */ } - .view-floor { - padding: 0 20rpx; - } + + .demo-uni-row { margin-bottom: 0px; @@ -2183,10 +2389,6 @@ .demo-uni-col { height: 36px; border-radius: 5px; - } - - .demo-uni-row .uni-input { - width: calc(100% - 120px); } .text { -- Gitblit v1.9.1