From 0ecc402885f332b21923bb12183dc072306f2b39 Mon Sep 17 00:00:00 2001 From: cuiqian2004 <cuiqian2004@163.com> Date: 星期五, 21 三月 2025 18:36:15 +0800 Subject: [PATCH] vue3 --- pages/modal/3018_2.vue | 3879 +++++++++++++++++++++++++++++++++++------------------------ 1 files changed, 2,313 insertions(+), 1,566 deletions(-) diff --git a/pages/modal/3018_2.vue b/pages/modal/3018_2.vue index d835297..c1815f8 100644 --- a/pages/modal/3018_2.vue +++ b/pages/modal/3018_2.vue @@ -1,1620 +1,2367 @@ -<style> -.v-headStyle{ - /* border: 0.1rpx solid red; */ - /* line-height: 30rpx; */ - padding: 5rpx 0; -} -.v-headStyle:first-child{ - margin-top: 15rpx; -} -.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; */ -} -.input-wrapper{ - border: 1px solid #d5d5d5; - display: inline-block; - width: 65%; - line-height: 22rpx; - vertical-align: middle; -} -.check_rememberPwd, -.input-switch{ - vertical-align: middle; - margin-left:10rpx -} -[nvue] uni-view { - position: relative; - border: 0 solid #000; - box-sizing: border-box; -} - -.uni-input { - /* border: none; */ -} -.uni-icon{ - /* border: 1px solid red; */ - width: 8%; - font-family: uniicons; - font-size: 40rpx; - font-weight: 400; - font-style: normal; - /* width: 48rpx; */ - /* height: 48rpx; */ - /* line-height: 44rpx; */ - color: #2d8cf0; - cursor: pointer; - display: inline-block; - 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; -} -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-popup{ - position:relative; -} -.popup-content { - @include flex; - align-items: center; - justify-content: center; - padding: 30rpx; - background-color: #fff; - /* height: 150px; */ - /* border: 1px solid red; */ -} -.popup-cont { - overflow-y: auto; - /* border: 1px solid red; */ -} -.popup-height { - @include height; - /* width: 200px; */ -} -.popup-header{ - font-size: 42rpx; - font-weight: bold; - margin:20rpx 20rpx 0px 20rpx; -} -.view_popup_CheckList{ - margin-bottom: 20rpx; -} -.popup-footer{ - float: right; - position:absolute; - bottom:0; - right:20rpx; -} -button.btn_popup_add { - width:180rpx; - margin-top: 50rpx; - margin-right: 20rpx; - padding: 15rpx; - line-height: 1.5; - background: #27A6E1; - border: none; - color: #fff; - font-size: 38rpx; - font-weight: bold; - /* float: left; */ - display: inline-block; -} -button.btn_popup_cancel { - width:180rpx; - margin-top: 50rpx; - padding: 15rpx; - line-height: 1.5; - background: #27A6E1; - border: none; - color: #fff; - font-size: 38rpx; - font-weight: bold; - /* float: right; */ - display: inline-block; -} -#dv_select{ - display: inline-block; - width: 66%; - 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: 0rpx; - /* vertical-align: 10px; */ - vertical-align: middle; -} -#dv_select .uni-select{ - border: 1px solid #ccc; - border-radius: 0 !important; - color: #2d8cf0; -} -#dv_select .uni-select__input-text{ - color: #2d8cf0; -} - -.panel_title{ - font-size: 38rpx; - background-color: #27A6E1; - line-height: 80rpx; - color: #fff; - text-align: center; - font-weight: bold; -} -.v-panel{ - min-height:788rpx; -} -.v-panellist{ - border:4rpx solid #aaa; - border-radius: 10rpx; - margin: 10rpx 20rpx 0rpx 20rpx; -} -.v-paneldel{ - text-align: right; -} -.panel_del{ - font-size: 44rpx; - text-decoration: initial; - margin-top: 10rpx; - margin-right: 20rpx; -} -.class_attr_body .form-group { - margin: 20rpx 30rpx; - /* margin-left: -12px; - margin-right: -12px; */ -} -.subclass_attr_body .form-group { - margin: 20rpx 10rpx; - /* margin-left: -12px; - margin-right: -12px; */ -} -.form-group > label[class*="col-"] { - margin-bottom: 8rpx; - font-size: 32rpx; -} -.form-group label { - vertical-align: middle; - line-height: 60rpx; -} -.tx_title2{ - font-size: 32rpx; - text-align: right; - display: inline-block; - vertical-align: -2px; -} -.attr_field{ - display: inline-block; - vertical-align: middle; - margin-left: 8px; - /* width: 71%; */ -} -.text-right2 { - margin: 0; - vertical-align: -4px; - margin-left: 9px; - float: none; - font-size: 44rpx; - display: inline-block; -} -input::-webkit-input-placeholder { - font-size: 12rpx; -} -.v-panel input{ - border: 1px solid #d5d5d5; - width: 98%; - height: 52rpx; - background: #FFF; - border-radius: 0 !important; - color: #046db3; - padding: 10rpx 8rpx 12rpx; - font-size: 34rpx; - font-family: inherit; - box-shadow: none !important; - transition-duration: 0.1s; - margin-top: 4rpx; -} -.date_iput{ - /* border: 1px solid #d5d5d5; */ - /* width: 98%; */ - height: 62rpx; - background: #FFF; - border-radius: 0 !important; - color: #046db3; - padding: 10rpx 8rpx 4rpx; - font-size: 34rpx; - font-family: inherit; - box-shadow: none !important; - transition-duration: 0.1s; -} -.dv_input{ - display: inline-block; - width: 65%; - /* line-height: 22rpx; */ -} -.view-floor{ - padding: 0 20rpx; -} -</style> -<style lang="scss"> - .demo-uni-row { - margin-bottom: 0px; - display: block; - } - ::v-deep .uni-row { - margin-bottom: 0px; - } - .view-tabpage ::v-deep .uni-row { - margin-bottom: 5px; - } - .demo-uni-col { - height: 36px; - border-radius: 5px; - } - .demo-uni-row .uni-input{ - width: calc(100% - 120px); - } - .text { - font-size: 12px; - color: #666; - margin-top: 5px; - } - // .uni-px-5 { - // margin: 0; - // display: inline-block; - // margin: 0; - // font-size: 14px; - // } - // .uni-select{ - // border: 1px solid #ccc; - // border-radius: 0; - // } - // .uni-section-content{ - // display: inline-block; - // width: 100px; - // border: 1px solid red; - // } -</style> - - <template> - <view class="content"> - <!-- 琛ㄥご鏍峰紡 --> - <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="focusMateria" - @focus="ontap(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" - :placeholder="item.placeholder" - @blur="onModelValue(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="focusMateria" - @focus="ontap(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" - @blur="onModelValue(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"> + <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-floor"> - <button type="default" @tap="sava" class="btn_add">{{title}}</button> - <button type="default" @tap="cancel" class="btn_cancel">鍙栨秷</button> + <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> <!-- 鏅�寮圭獥 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'}"> + <view class="popup-content" :class="{ 'popup-height': popupType === 'left' || popupType === 'right' }" + :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'}"> + <checkbox-group class="check_list" @change="checkChange" :data-ischeck="item.check" + :data-index="index" :style="{'margin-left': '10rpx'}"> <label> - <checkbox :value="item.check" :checked="item.check"/> + <checkbox :value="item.check" :checked="item.check" /> <text>{{item.name}}</text> </label> </checkbox-group> </view> </view> <view class="popup-footer"> - <button type="default" @tap="popup_sava" class="btn_popup_add">纭畾</button> - <button type="default" @tap="popup_cancel" class="btn_popup_cancel">鍙栨秷</button> + <button type="default" @tap="popup_sava" class="btn_popup_add">{{translateSys('ok')}}</button> + <button type="default" @tap="popup_cancel" + class="btn_popup_cancel">{{translateSys('cancel')}}</button> </view> </view> </uni-popup> </view> - </view> + </view> </template> <script> -import Base64 from '../../components/js-base64/base64.js' -export default { - modules:{ - Base64, - }, - data() { - return { - title:'鏂板', - 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:{}, - - focusMateria:false, - head_styledef:{ - form:{ - items:[] - } - }, - }; - }, - 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.titlename; //璁剧疆鎸夐挳鏂囧瓧 + 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'; - console.log(this.$data.param); - //鑾峰彇鏁版嵁绫荤殑鑷畾涔夎〃鍗曞弬鏁�- this.Head_UIStyleGetInfo(this.param.DataCls.id,this.param.UI_Style.ID); - - //椤甸潰鍒濆鍖栬幏鍙栫劍鐐�- // this.focusMateria=true; - }, - methods: { - 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.head_styledef.event?.length>0){ - $this.head_styledef.event.forEach(async (a)=>{ //鍒ゆ柇鏄惁鏄垵濮嬪寲浜嬩欢 - if(a.event_id == "initial"){ - await this.loadInitEvent(a.scrip_id); - } - }); - } - - }else{ - uni.showModal({title:"閿欒1",content:ret.err_msg,showCancel:false,confirmText:"鍙栨秷"}); + export default { + mixins: [buttonClickMixin], + components: { + OIForm, + }, + data() { + return { + 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: [], + scanCodeVal: "", + popupType: "center", + check_list: {}, + popupParam: {}, + focusFieldId: "", + focusOldFieldId: "", + head_styledef: { + form: { + items: [] + } + }, + after_ok: {}, + activity: null, + receiver: null, + intentFilter: null, + content: '', + saving: false + }; + }, + onNavigationBarButtonTap(e) { + if (e.index == 0) { + 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 == "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() } - }).catch(ex=>{ - // console.log(ex); - uni.showModal({title:"閿欒1.1",content:ex.errMsg,showCancel:false,confirmText:"鍙栨秷"}); - }); - - }, - 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, - }); + }, + onLoad(options) { + // console.log(options); + uni.setNavigationBarTitle({ + title: options.titlename + }); //璁剧疆椤堕儴鏍囬 + this.param = JSON.parse(options.param); + this.title = this.param.Add_BtnName ? this.param.Add_BtnName : options + .titlename; //璁剧疆鎸夐挳鏂囧瓧 + 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 = []; + let val, data; + + Object.keys(obj).forEach(function(key) { + keys = key.split("."); + val = obj[key]; + data = that.$data; + keys.forEach(function(key2, index) { + if (index + 1 == keys.length) { + that.$set(data, key2, val); + } else { + if (!data[key2]) { + that.$set(data, key2, {}); + } + } + data = data[key2]; + }); + }); + }, + 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, + }; + 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); + } + 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.dict = selections.map((a) => { + return { + value: a.value, + text: a.label + } + }) + } + } + 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.dict = selections.map((a) => { + return { + value: a.value, + text: a.label + } + }) + } + } + if ($this.focusFieldId == "") { + if (col.name == 'Input' || col + .name == + 'InputNumber') { + $this.setData({ + focusFieldId: col + .fieldId + }) + } + } + } + } + } + } + + } + $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) { + // 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") + "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){ - $this.head_styledef.form.items[index].value=itemName; - var attr = $this.head_styledef.form.items[index].fieldId; - $this.head_styledef.form.model[attr] = itemName; + if (itemName) { + formItem.value = itemName; + formModel[formItem.fieldId] = 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); + 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') + }); + + } - - }else{ - uni.showModal({title:"閿欒1.2",content:success.err_msg,showCancel:false,confirmText:"鍙栨秷"}); - } - }).catch(ex=>{ - // console.log(ex); - uni.showModal({title:"閿欒1.3",content:ex.errMsg,showCancel:false,confirmText:"鍙栨秷"}); - }); - }, - 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) uni.showModal({title:'鎻愮ず',content:tip,showCancel:false,confirmText:"鍙栨秷"}); - else uni.showModal({title:'鎻愮ず',content:tip+',鎻愮ず:'+data.ret,showCancel:false,confirmText:"鍙栨秷"}); - return false - }else{ - var tip = data.info ? typeof data.info == 'string' ? data.info : data.info.join('<br/>') : ''; - if (tip) uni.showModal({title:'鎻愮ず',content:tip,showCancel:false,confirmText:"鍙栨秷"}); - - 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; - } - } - }); - } - - } + }, + + 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 + }) } - 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.$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') + }); } - } 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:"鎻愮ず",content:"鎵ц鍒濆鍖栦簨浠跺け璐ワ細"+item.action_type + '姝ction灏氭湭澶勭悊锛�,showCancel:false,confirmText:"鍙栨秷"}); - } + } } } + } 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") + tip, + showCancel: false, + confirmText: this.translateSys('close') + }); } - }else{ - uni.showModal({title:"閿欒3",content:"鎵ц鍒濆鍖栦簨浠跺け璐ワ細"+success.err_msg,showCancel:false,confirmText:"鍙栨秷"}); - } - }).catch(ex=>{ - // console.log(ex); - uni.showModal({title:"閿欒3.1",content:"鎵ц鍒濆鍖栦簨浠跺け璐ワ細"+ex.errMsg,showCancel:false,confirmText:"鍙栨秷"}); - }); - }, - - - ontap(item){ //鎵爜鍔熻兘 - // uni.scanCode({ - // //鎴愬姛鍥炶皟 - // success: function (res) { - // //鏉$爜绫诲瀷 - // console.log(res.scanType); - // //鏉$爜鐨勫� - // console.log(res.result); - // },//澶辫触鍥炶皟 - // fail: function (res) {}, - // //瀹屾垚鍥炶皟 - // complete: function (res) {}, - // }) - - getApp().onScan((result)=>{ - //console.log(result.decodedata); - uni.hideKeyboard(); - var $this = this; - console.log(item); - if(item.oldvalue != result.decodedata){ - item.oldvalue = result.decodedata; - item.value = result.decodedata; - var attr = item.fieldId; - $this.head_styledef.form.model[attr] = result.decodedata; - if(result.decodedata){ //绗竴涓緭鍏ユ涓嶄负绌�- $this.focusMateria = true; //鍒濆鍖栵紝绗簩涓緭鍏ユfocus灞炴� - // setTimeout(function(){ - // $this.focusMateria=true; //绗簩涓緭鍏ユ鑾峰彇鐒︾偣 - setTimeout(function(){ - uni.hideKeyboard(); - },1000); - // },500); + }, + + + ontap(item) { //鎵爜鍔熻兘 + // console.log("ontap",item); + // 鎵撳紑钃濈墮閫傞厤鍣�+ // uni.openBluetoothAdapter({ + // success: function() { + // // 寮�鎼滅储钃濈墮璁惧 + // uni.startBluetoothDevicesDiscovery({ + // success: function() { + // // 鐩戝惉鎵惧埌鏂拌澶囩殑浜嬩欢 + // uni.onBluetoothDeviceFound(function(devices) { + // // 杩欓噷鍙互杩囨护鍑篟FID鑺墖锛岃繛鎺ュ苟璇诲彇鏁版嵁 + // console.log(devices[0].deviceId); + // }) + // } + // }) + // } + // }); + // 鐩戝惉NFC鍔熻兘鏄惁鍙敤 + // uni.getNFCAdapterState({ + // success: function(res) { + // console.log(res); + // if (res.errCode === 0) { + // // NFC鍔熻兘鍙敤锛屽紑濮嬬洃鍚�+ // uni.onNFCStart((res) => { + // if (res.errCode === 0) { + // // 寮�NFC鏍囩妫�祴 + // uni.makeNFCReaderStart({ + // success: function() { + // // 鐩戝惉NFC鏍囩 + // uni.onNFCTagDiscovered(function(res) { + // console.log(res); + // // 杩欓噷鍙互澶勭悊NFC鏍囩鏁版嵁 + // }) + // } + // }) + // } + // }) + // } + // } + // }) + this.focusOldFieldId = item.fieldId + getApp().onScan((result) => { + console.log(result); + // uni.hideKeyboard(); + this.onScanValue(item, result.decodedata) + }) + }, + onScanValue(item, value) { + const $this = this; + //console.log("onScanValue", item); + item.value = value + let newVal = item.value + if (typeof item.value == "string") { + newVal = item.value.trim() } - var eventid = item.bind.onChangeEvent.id; //鍐呭鍙樺寲鍚庝簨浠�+ 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, + 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, ''); + } + //鍒濆鍖栵紝涓嬩釜杈撳叆妗唂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 + }, + 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] = newVal; + var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�+ if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠�+ this.onChange(onChangeEvent); + } + } + + }, + // 鍐呭鍙樺寲鍚庝簨浠�+ async onChange(event) { + var eventid = event?.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, ''); - } - } - }) - }, - onevent(item){ - // console.log(e.target); - var $this = this; - console.log(item); - if(item.oldvalue != item.value){ - item.oldvalue = item.value; - item.value = 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, ""); - } - } - - }, - onchange(item) { - console.log(item); - var $this = this; - 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); - } - } - - }, - 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; //鍚庡浘鏍囩偣鍑诲洖璋�- - if(!onSuffixClickCallbackEvent.id){ - uni.showModal({title:"鎻愮ず",content:"鍚庡浘鏍囩偣鍑讳簨浠朵负绌猴紒",showCancel:false,confirmText:"鍙栨秷"}); - return; - } - if(!onSuffixClickEvent.id){ - uni.showModal({title:"鎻愮ず",content:"鍚庡浘鏍囩偣鍑诲洖璋冧负绌猴紒",showCancel:false,confirmText:"鍙栨秷"}); - return; - } - this.$data.popupType = 'right' - // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦�uni-popup 缁勪欢涓婄粦瀹�type灞炴� - this.$refs.popup.open($this.popupType); - - this.DataObjRunCustomEvent_Return(onSuffixClickCallbackEvent.id, '', onSuffixClickEvent.id, item); - }, - popupChange(e) { - console.log('褰撳墠妯″紡锛� + e.type + ',鐘舵�锛� + e.show); - }, - checkChange(e){ //寮规check閫夋嫨 - // 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"){ //鍒ゆ柇鏃跺崟閫夎繕鏄閫�- for(var i in data){ - data[i].check=false; - } - } - data[index].check=ischeck?false:true; - this.$data.check_list.items=data; - - }, - popup_cancel(e){ //寮规鍙栨秷 - this.$refs.popup.close(); - }, - popup_sava(e){ //寮规纭畾 - var $this = this; - var items = $this.$data.check_list.items; - var data=[]; - var name=""; - for (var i = 0; i < items.length; i++) { - if(items[i].check==true){ - if(name) - name+=';'; - name+=items[i].name; - data.push({id:items[i].id,name:items[i].name}); - } - } - if(!$this.$data.popupParam){ - uni.showModal({title:"鎻愮ず",content:"popupParam涓虹┖锛�,showCancel:false,confirmText:"鍙栨秷"}); - 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; - } - } - console.log(data); - var callback_eventid = $this.$data.popupParam.button_callback.trim(); - var info = { - eventid: callback_eventid, - edtype: "0", - projectid: '', - rclsid: '', - robjid: '', - userlogin: '', - clsid: $this.$data.param.DataCls.id, - objid: "", - attr: $this.$data.popupParam.req, - dataJson: data - } - $this.DataObjRunCustomEvent(info, $this.$data.popupParam.data_attr); - this.$refs.popup.close(); - }, - - DataObjRunCustomEvent(info,data_attr){ - var $this = this; - var enviroment = { - 'function': '3000', // 鍔熻兘鐐圭紪鍙�- cls_id: this.$data.param.DataCls.id, // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇�- 'button': 'top', // top/bottom - button_name: '鏂板', - master: { - cls_id: this.$data.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 - } - if (data_attr) { - enviroment.edit_dlg.form_control = {//鎵�睘鐨勮〃鍗曟帶浠�- name: data_attr.Name,//瀛楁灞炴� - text: data_attr.DispName,//鏄剧ず鏂囨湰 - group_name: data_attr.GroupName,//灞炴�缁�- type: data_attr.Type,//瀛楁绫诲瀷 - readonly: data_attr.ReadOnly,//鏄惁鍙 - button_img: data_attr.button_img,//寮曠敤鎸夐挳鐨勫浘鏍�- button_tooltip: data_attr.button_tooltip//寮曠敤鎸夐挳鐨則ooltip - } - } - } - - // var dataInfo = { - // 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) - // } - 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缂栫爜 - 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; - }); - if(!info.eventid.includes('{')) info.eventid = '{'+info.eventid+'}'; - var dataInfo={ - ed_type: info.edtype, - start_transaction: true, - class_id: info.clsid, - class_name: '', - event_id: info.eventid, - event_name: '', - data_obj_id: info.objid, - obj_attr: obj_attr, - prj_id: info.projectid, - ref_cls_id: info.rclsid, - rel_obj_id: info.robjid, - user_login: info.userlogin, - data_json: info.dataJson, - compose_info: '', - ext_info: enviroment, - global_attr: global_attr, - 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) uni.showModal({title:'鎻愮ず',content:tip,showCancel:false,confirmText:"鍙栨秷"}); - else uni.showModal({title:'鎻愮ず',content:tip+',鎻愮ず:'+data.ret,showCancel:false,confirmText:"鍙栨秷"}); - return false - }else{ - var tip = data.info ? typeof data.info == 'string' ? data.info : data.info.join('<br/>') : ''; - if (tip) uni.showModal({title:'鎻愮ず',content:tip,showCancel:false,confirmText:"鍙栨秷"}); - - 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; - } - } - }); - } - - } + // 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); + } + + }, + + classAttr_extButton(item) { + var onSuffixClickCallbackEvent = item.bind.onSuffixClickCallbackEvent; //鍚庡浘鏍囩偣鍑讳簨浠�+ var onSuffixClickEvent = item.bind.onSuffixClickEvent; //鍚庡浘鏍囩偣鍑诲洖璋�+ + if (!onSuffixClickCallbackEvent.id) { + uni.showModal({ + title: this.translateSys("tip"), + content: this.translate('icon_click_callback_empty'), + showCancel: false, + confirmText: this.translateSys('close') + }); + return; + } + if (!onSuffixClickEvent.id) { + uni.showModal({ + title: this.translateSys("tip"), + content: this.translate('icon_click_event_empty'), + showCancel: false, + confirmText: this.translateSys('close') + }); + return; + } + this.popupType = 'right' + // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦�uni-popup 缁勪欢涓婄粦瀹�type灞炴� + this.$refs.popup.open(this.popupType); + + this.dataObjRunCustomEvent_Return(onSuffixClickEvent.id, '', onSuffixClickCallbackEvent.id, + item); + }, + popupChange(e) { + console.log('褰撳墠妯″紡锛� + e.type + ',鐘舵�锛� + e.show); + }, + checkChange(e) { //寮规check閫夋嫨 + // console.log(e.target.dataset); + var index = e.target.dataset.index; + var ischeck = e.target.dataset.ischeck; + 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.check_list.items = data; + + }, + popup_cancel(e) { //寮规鍙栨秷 + this.$refs.popup.close(); + }, + popup_sava(e) { //寮规纭畾 + var $this = this; + var items = $this.check_list.items; + var data = []; + var name = ""; + for (var i = 0; i < items.length; i++) { + if (items[i].check == true) { + if (name) + name += ';'; + name += items[i].name; + data.push({ + id: items[i].id, + name: items[i].name + }); + } + } + if (!$this.popupParam) { + uni.showModal({ + title: this.translateSys("tip"), + content: "popupParam涓虹┖锛�, + showCancel: false, + confirmText: this.translateSys('close') + }); + return; + } + 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", + projectid: '', + rclsid: '', + robjid: '', + userlogin: '', + clsid: $this.param.DataCls.id, + objid: "", + attr: $this.popupParam.req, + dataJson: data + } + $this.DataObjRunCustomEvent(info, $this.popupParam.data_attr); + this.$refs.popup.close(); + }, + + async DataObjRunCustomEvent(info, data_attr) { + var $this = this; + var enviroment = { + 'function': '3000', // 鍔熻兘鐐圭紪鍙�+ cls_id: this.param.DataCls.id, // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇�+ 'button': 'top', // top/bottom + button_name: this.translateSys('add2'), + master: { + 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.param.DataCls.id, //褰撳墠鏁版嵁绫籭d + } + if (data_attr) { + enviroment.edit_dlg.form_control = { //鎵�睘鐨勮〃鍗曟帶浠�+ name: data_attr.Name, //瀛楁灞炴� + text: data_attr.DispName, //鏄剧ず鏂囨湰 + group_name: data_attr.GroupName, //灞炴�缁�+ type: data_attr.Type, //瀛楁绫诲瀷 + readonly: data_attr.ReadOnly, //鏄惁鍙 + button_img: data_attr.button_img, //寮曠敤鎸夐挳鐨勫浘鏍�+ button_tooltip: data_attr.button_tooltip //寮曠敤鎸夐挳鐨則ooltip + } + } + } + + // var dataInfo = { + // 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.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.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.value; + }); + if (!info.eventid.includes('{')) info.eventid = '{' + info.eventid + '}'; + var dataInfo = { + ed_type: info.edtype, + start_transaction: true, + class_id: info.clsid, + class_name: '', + event_id: info.eventid, + event_name: '', + data_obj_id: info.objid, + obj_attr: obj_attr, + prj_id: info.projectid, + ref_cls_id: info.rclsid, + rel_obj_id: info.robjid, + user_login: info.userlogin, + data_json: info.dataJson, + compose_info: '', + ext_info: enviroment, + global_attr: global_attr, + input_param: 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') + }); + 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_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 { + $this.setData({ + focusFieldId: $this.focusOldFieldId + }) } - 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.$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 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; + } + } + // 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: exStr, + showCancel: false, + confirmText: this.translateSys('close') + }); + }); + }, + dataObjRunCustomEvent_Return(eventid, data_attr, button_callback, item) { + const $this = this + var enviroment = { + 'function': '3000', // 鍔熻兘鐐圭紪鍙�+ cls_id: $this.param.DataCls.id, // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇�+ 'button': 'top', // top/bottom + button_name: $this.translateSys('add2'), + master: { + 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 req = Object.keys(obj_attr).map((a) => ({ + attr: a, + value: obj_attr[a] || "", + })); + + var extinfo = enviroment; + extinfo.edit_dlg = { + type: 'small', //灏忕獥鍙�+ class_id: $this.param.DataCls.id, //褰撳墠鏁版嵁绫籭d + } + extinfo = Base64.encode(JSON.stringify(extinfo)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜 + var global_attr = Base64.encode(JSON.stringify($this.global_attr)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜 + var obj_attr = {}; + 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.param.DataCls.id, + class_name: '', + event_id: eventid, + event_name: '', + data_obj_id: '', + obj_attr: obj_attr, + prj_id: '', + ref_cls_id: '', + rel_obj_id: '', + user_login: '', + data_json: [], + compose_info: '', + ext_info: extinfo, + global_attr: global_attr, + input_param: 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') + }); + 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; + 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 param = { + item: item, + button_callback: button_callback, + req: req, + data_attr: data_attr } - } else if(ele.name=='Layout'){ - ele.setting.colList.forEach(col=>{ - if(col){ - if(col.fieldId==attr.attr){ - col.show=attr.show; + 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); } } }); - } - }); - }); - 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 || []; - } else { - uni.showModal({title:"鎻愮ず",content:action.action_type + '姝ction灏氭湭澶勭悊锛�,showCancel:false,confirmText:"鍙栨秷"}); - } - } - } - // 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; - } - } - } - } - } - } - }else{ - uni.showModal({title:"閿欒3",content:success.err_msg,showCancel:false,confirmText:"鍙栨秷"}); - } - }).catch(ex=>{ - // console.log(ex); - uni.showModal({title:"閿欒3.1",content:ex.errMsg,showCancel:false,confirmText:"鍙栨秷"}); - }); - }, - DataObjRunCustomEvent_Return(eventid,data_attr,button_callback,item){ - var enviroment = { - 'function': '3000', // 鍔熻兘鐐圭紪鍙�- cls_id: this.$data.param.DataCls.id, // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇�- 'button': 'top', // top/bottom - button_name: '鏂板', - master: { - cls_id: this.$data.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 req = Object.keys(obj_attr).map((a) => ({ - attr: a, - val: 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 - } - // 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 obj_attr={}; - req.forEach(item=>{ - obj_attr[item.attr] = item.val; - }); - if(!eventid.includes('{')) eventid= '{'+ eventid +'}'; - var dataInfo={ - ed_type: "0", - start_transaction: true, - class_id: this.$data.param.DataCls.id, - class_name: '', - event_id: eventid, - event_name: '', - data_obj_id: '', - obj_attr: obj_attr, - prj_id: '', - ref_cls_id: '', - rel_obj_id: '', - user_login: '', - data_json: '', - compose_info: '', - ext_info: extinfo, - global_attr: global_attr, - 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) uni.showModal({title:'鎻愮ず',content:tip,showCancel:false,confirmText:"鍙栨秷"}); - else uni.showModal({title:'鎻愮ず',content:tip+',鎻愮ず:'+data.ret,showCancel:false,confirmText:"鍙栨秷"}); - return false - }else{ - var tip = data.info ? typeof data.info == 'string' ? data.info : data.info.join('<br/>') : ''; - if (tip) uni.showModal({title:'鎻愮ず',content:tip,showCancel:false,confirmText:"鍙栨秷"}); - - 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 (action.action_type == 'open_panel') { - var d = dialog({ - title: '<i class="ace-icon fa fa-info-circle"></i> ' + '鎻愮ず', - content: action.action_type + '姝ction灏氭湭澶勭悊锛� - }); - 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, - 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.$data.param.DataCls.id, - objid: "", - attr: param.req, - inputparameter: data, - dataJson:[], + } 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 } - $this.DataObjRunCustomEvent(info, param.data_attr); + $this.setData({ + popupParam: popupParam + }) } - } - }); - } - else if (action.action_type == 'open_data_query_dlg') { - var d = dialog({ - title: '<i class="ace-icon fa fa-info-circle"></i> ' + '鎻愮ず', - content: action.action_type + '姝ction灏氭湭澶勭悊锛� - }); - 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:[], + } 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: "2", + projectid: data[0].ID, + rclsid: "", + robjid: "", + userlogin: "", + clsid: $this.$data + .param + .DataCls.id, + objid: "", + attr: param.req, + dataJson: [], + } + + $this.DataObjRunCustomEvent( + info); + } } - - $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('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('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('tip') + "5.1", + content: exStr, + showCancel: false, + confirmText: $this.translateSys('close') + }); + }); + }, + + //纭畾 + sava() { + if (this.after_ok?.id) { // 鐐瑰嚮纭畾鎸夐挳鍚�+ this.afterOK(); + } else { + this.add(); + } + + }, + add() { + const $this = this + uni.showLoading({ + title: this.translateSys("loading"), + mask: true + }); + 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, + // value: obj_attr[a] || "", + // })); + + var enviroment = { + 'function': '3000', // 鍔熻兘鐐圭紪鍙�+ cls_id: this.param.DataCls.id, // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇�+ 'button': 'top', // top/bottom + button_name: this.translateSys('add2'), + master: { + cls_id: this.param.DataCls.id, + } + }; + enviroment = Base64.encode(JSON.stringify(enviroment)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜 + + + var dataInfo = { + class_id: this.param.DataCls.id, + class_name: '', + master_cls_id: '', + master_obj_id: '', + creator: '', + creator_name: '', + not_trigger_event: '', + update_exist: '', + post_process: '', + ext_info: enviroment, + obj_attr: obj_attr + }; + console.log(dataInfo); + // return + dataObjCreate(dataInfo).then(res => { + uni.hideLoading(); + 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); + } + 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.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 => { + 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: tip, + showCancel: false, + 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; } } }); - } - else { - uni.showModal({title:"鎻愮ず",content:action.action_type + '姝ction灏氭湭澶勭悊锛�,showCancel:false,confirmText:"鍙栨秷"}); - } + } + } } - }else{ - uni.showModal({title:"鎻愮ず5.2",content: '璋冪敤 before_click_button 鑴氭湰杩斿洖绌猴紝event_id' + eventid,showCancel:false,confirmText:"鍙栨秷"}); + for (var c = 0; c < $this.head_styledef.form + .items + .length; c++) { + var attr = $this.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; + } + } + }); + } } } - }else{ - uni.showModal({title:"閿欒5",content:success.err_msg,showCancel:false,confirmText:"鍙栨秷"}); - } - }).catch(ex=>{ - // console.log(ex); - uni.showModal({title:"鎻愮ず5.1",content:ex.errMsg,showCancel:false,confirmText:"鍙栨秷"}); - }); - }, - - //纭畾 - sava(){ - // if (this.$data.edit_ok_event) - // this.OKDataObjRunCustomEvent(); - // else - this.add(); - }, - add(){ - uni.showLoading({ - title:"鍔犺浇涓�..", - mask:true - }); - var obj_attr = this.head_styledef.form.model; - console.log(obj_attr); - // var req = Object.keys(obj_attr).map((a) => ({ - // name: a, - // value: obj_attr[a] || "", - // })); - - var enviroment = { - 'function': '3000', // 鍔熻兘鐐圭紪鍙�- cls_id: this.$data.param.DataCls.id, // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇�- 'button': 'top', // top/bottom - button_name: '鏂板', - master: { - cls_id: this.$data.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_name:'', - master_cls_id:'', - master_obj_id:'', - creator:'', - creator_name:'', - not_trigger_event:'', - update_exist:'', - post_process:'', - ext_info: enviroment, - obj_attr: obj_attr - }; - console.log(dataInfo); - // return - this.$store.dispatch('createDataObj',dataInfo).then(success=>{ - console.log(success); - 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:"鎻愮ず",content:'鎵ц鑴氭湰澶辫触锛� + action.result,showCancel:false,confirmText:"鍙栨秷"}); - return; - } - if (action.info) { - uni.showModal({title:"鎻愮ず",content:'鎵ц鑴氭湰澶辫触锛� + action.info,showCancel:false,confirmText:"鍙栨秷"}); - return; - } - if(action.result_type=='0'){ - uni.showToast({title:action.result,icon:"success",duration:3000}); - } - - // "{"ret":0, "result_type":0, "result":"鍒涘缓鎴愬姛123123123","info":""}" - } - } else - uni.showToast({title:"鍒涘缓鎴愬姛锛�,icon:"success",duration:3000}); - //鍒锋柊 - uni.redirectTo({ - url:'../modal/3018_2?param='+JSON.stringify(this.$data.param)+"&titlename="+this.$data.title + + }, + hideFormItems(data) { + const $this = this + data.forEach(async (attr, key) => { + $this.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; + } + } + }); + } + }); }); - // this.class_attr_init(); - }else{ - uni.showModal({title:"閿欒",content:success.err_msg,showCancel:false,confirmText:"鍙栨秷"}); - } - }).catch(ex=>{ - console.log(ex); - uni.hideLoading(); - uni.showModal({title:"鎻愮ず",content:ex.errMsg,showCancel:false,confirmText:"鍙栨秷"}); - }); - }, - cancel(e){ //鍙栨秷 - uni.navigateBack({ - delta:1 //杩斿洖灞傛暟锛�鍒欎笂涓婇〉 - }); - }, - }, -}; + var head_styledef = JSON.parse(JSON.stringify($this.$data + .head_styledef)); + $this.head_styledef = []; + $this.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 = { + id: "", + attrs: Object.keys(obj_attr).map((a) => ({ + attr: a, + value: obj_attr[a], + })), + }; + 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.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, + prj_id: '', + ref_cls_id: '', + rel_obj_id: '', + user_login: '', + data_json: '', + compose_info: '', + 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') + }); + 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: tip, + showCancel: false, + 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 + }); + + }, + } + }); + }, + + cancel(e) { //鍙栨秷 + uni.navigateBack({ + delta: 1 //杩斿洖灞傛暟锛�鍒欎笂涓婇〉 + }); + }, + translate(t) { + if (typeof this.$t == "function") return this.$t(`page.${t}`) + else return t; + }, + translateSys(t) { + if (typeof this.$t == "function") return this.$t(`sys.${t}`) + else return t; + }, + }, + }; </script> +<style> + .popup-content { + @include flex; + + } + + .popup-height { + @include height; + /* width: 200px; */ + } +</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; + width: 98%; + } + + .uni-forms-item { + // border: 0.5px solid red; + margin-bottom: 11rpx; + } + + // .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; + 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, + .input-switch { + vertical-align: middle; + margin-left: 10rpx + } + + [nvue] uni-view { + position: relative; + border: 0 solid #000; + box-sizing: border-box; + } + + + .uni-icon { + /* border: 1px solid red; */ + width: 30rpx; + font-family: uniicons; + font-size: 40rpx; + font-weight: 400; + font-style: normal; + /* width: 48rpx; */ + /* height: 48rpx; */ + /* line-height: 44rpx; */ + color: #2d8cf0; + cursor: pointer; + display: inline-block; + vertical-align: middle; + } + + .input-disabled { + background-color: #f3f3f3 !important; + } + + .view-content { + display: flex; + flex: 1; + width: calc(100% - 30rpx); + padding: 10rpx 15rpx; + flex-direction: column; + overflow-y: auto; + + } + + .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; + } + + .popup-content { + // @include flex; + align-items: center; + justify-content: center; + padding: 30rpx; + background-color: #fff; + /* height: 150px; */ + /* border: 1px solid red; */ + } + + .popup-cont { + overflow-y: auto; + /* border: 1px solid red; */ + } + + .popup-height { + // @include height; + /* width: 200px; */ + } + + .popup-header { + font-size: 42rpx; + font-weight: bold; + margin: 20rpx 20rpx 0px 20rpx; + } + + .view_popup_CheckList { + margin-bottom: 20rpx; + } + + .popup-footer { + float: right; + position: absolute; + bottom: 10rpx; + right: 20rpx; + } + + button.btn_popup_add { + width: 180rpx; + margin-top: 50rpx; + margin-right: 20rpx; + padding: 15rpx; + line-height: 1.5; + background: #27A6E1; + border: none; + color: #fff; + font-size: 38rpx; + font-weight: bold; + /* float: left; */ + display: inline-block; + } + + button.btn_popup_cancel { + width: 180rpx; + margin-top: 50rpx; + padding: 15rpx; + line-height: 1.5; + // background: #27A6E1; + // border: none; + // color: #fff; + background: #fff; + color: #000; + font-size: 38rpx; + font-weight: bold; + /* float: right; */ + display: inline-block; + } + + #dv_select { + display: inline-block; + // width: 66%; + 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: 0rpx; + /* vertical-align: 10px; */ + vertical-align: middle; + } + + #dv_select .uni-select { + border: 1px solid #ccc; + border-radius: 0 !important; + color: #2d8cf0; + } + + #dv_select .uni-select__input-text { + color: #2d8cf0; + } + + .panel_title { + font-size: 38rpx; + background-color: #27A6E1; + line-height: 80rpx; + color: #fff; + text-align: center; + font-weight: bold; + } + + .v-panel { + min-height: 788rpx; + } + + .v-panellist { + border: 4rpx solid #aaa; + border-radius: 10rpx; + margin: 10rpx 20rpx 0rpx 20rpx; + } + + .v-paneldel { + text-align: right; + } + + .panel_del { + font-size: 44rpx; + text-decoration: initial; + margin-top: 10rpx; + margin-right: 20rpx; + } + + .class_attr_body .form-group { + margin: 20rpx 30rpx; + /* margin-left: -12px; + margin-right: -12px; */ + } + + .subclass_attr_body .form-group { + margin: 20rpx 10rpx; + /* margin-left: -12px; + margin-right: -12px; */ + } + + .form-group>label[class*="col-"] { + margin-bottom: 8rpx; + font-size: 32rpx; + } + + .form-group label { + vertical-align: middle; + line-height: 60rpx; + } + + .tx_title2 { + font-size: 32rpx; + text-align: right; + display: inline-block; + vertical-align: -2px; + } + + .attr_field { + display: inline-block; + vertical-align: middle; + margin-left: 8px; + /* width: 71%; */ + } + + .text-right2 { + margin: 0; + vertical-align: -4px; + margin-left: 9px; + float: none; + font-size: 44rpx; + display: inline-block; + } + + input::-webkit-input-placeholder { + font-size: 12rpx; + } + + .v-panel input { + border: 1px solid #d5d5d5; + width: 98%; + height: 52rpx; + background: #FFF; + border-radius: 0 !important; + color: #046db3; + padding: 10rpx 8rpx 12rpx; + font-size: 34rpx; + font-family: inherit; + box-shadow: none !important; + transition-duration: 0.1s; + margin-top: 4rpx; + } + + .date_iput { + /* border: 1px solid #d5d5d5; */ + /* width: 98%; */ + height: 62rpx; + background: #FFF; + border-radius: 0 !important; + color: #046db3; + padding: 10rpx 8rpx 4rpx; + font-size: 34rpx; + font-family: inherit; + box-shadow: none !important; + transition-duration: 0.1s; + } + + .dv_input { + display: inline-block; + width: 65%; + /* line-height: 22rpx; */ + } + + + + + .demo-uni-row { + margin-bottom: 0px; + display: block; + } + + ::v-deep .uni-row { + margin-bottom: 0px; + } + + .view-tabpage ::v-deep .uni-row { + margin-bottom: 5px; + } + + .demo-uni-col { + height: 36px; + border-radius: 5px; + } + + .text { + font-size: 12px; + color: #666; + margin-top: 5px; + } + } +</style> \ No newline at end of file -- Gitblit v1.9.1