| | |
| | | :type="item.name=='Input'?'text':'number'" v-model="item.value" :disabled="item.disabled" |
| | | :placeholder="item.placeholder" |
| | | :style="{'width':item.setting.prefix && item.setting.suffix?'78%':item.setting.prefix || item.setting.suffix?'87%':'96%'}" |
| | | :focus="focusFieldId == item.fieldId" @focus="ontap(index,item)" |
| | | :focus="focusFieldId == item.fieldId" @focus="ontap(index,item)" @click="onClick(item)" |
| | | @keyup.enter="onEnterChange(item)" @blur="onEnterChange(item)" /> |
| | | <text v-if="item.setting.suffix" class="uni-icon" :class="[item.setting.suffix]" |
| | | @click="onEnterChange(item)"></text> |
| | |
| | | <view class="view-tab-content" id="tabpanel"> |
| | | <image class="logo" v-if="detail1StyleDefList.length==0" |
| | | src="../../images/mobox_log_200x40.png"></image> |
| | | <div class="dv-panel" v-for="(style,ii) in detail1StyleDefList" @tap="onPanelClick(ii)" |
| | | :id="'tabpanel'+style.form.htmlobjId" |
| | | :class="style.form.htmlobjId==active_id?'bk-active':activelist[ii].active==true?'bk-active':''"> |
| | | <div class="dv-panel-input"> |
| | | <div class="dv-input" v-for="(item,index) in style.form.items"> |
| | | <!-- 普通布局 --> |
| | | <view v-if="item.name!='Layout'"> |
| | | <text class="txt_title" |
| | | :style="{'width':item.labelWidth+'px'}">{{item.label}}:</text> |
| | | <span class="form-item-span" v-if="item.disabled">{{item.value}}</span> |
| | | <input class="uni-input" v-if="!item.disabled" |
| | | :type="item.name=='InputNumber'?'number':'text'" :value="item.value" |
| | | :disabled="item.disabled" :placeholder="item.placeholder" /> |
| | | </view> |
| | | <!-- 栅格布局 --> |
| | | <uni-row class="demo-uni-row" v-if="item.name=='Layout'"> |
| | | <uni-col v-for="(cols,key) in item.setting.colList" |
| | | :span="item.setting.spanList?item.setting.spanList[key]:24 / item.setting.col"> |
| | | <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> |
| | | <input class="uni-input" v-if="!cols.disabled" |
| | | :type="cols.name=='InputNumber'?'number':'text'" |
| | | :value="cols.value" :disabled="cols.disabled" |
| | | :placeholder="cols.placeholder" /> |
| | | </view> |
| | | </uni-col> |
| | | </uni-row> |
| | | <checkbox-group @change="checkboxChange"> |
| | | <div class="dv-panel" v-for="(style,ii) in detail1StyleDefList" |
| | | @tap="onPanelClick(ii)" :id="'tabpanel'+style.form.htmlobjId" |
| | | :class="style.form.htmlobjId==active_id?'bk-active':activelist[ii].active==true?'bk-active':''"> |
| | | <div class="dv-panel-input"> |
| | | <div class="dv-input" v-for="(item,index) in style.form.items"> |
| | | <!-- 普通布局 --> |
| | | <view v-if="item.name!='Layout'"> |
| | | <text class="txt_title" |
| | | :style="{'width':item.labelWidth+'px'}">{{item.label}}:</text> |
| | | <span class="form-item-span" |
| | | v-if="item.disabled">{{item.value}}</span> |
| | | <input class="uni-input" v-if="!item.disabled" |
| | | :type="item.name=='InputNumber'?'number':'text'" |
| | | v-model="item.value" :disabled="item.disabled" |
| | | :placeholder="item.placeholder" /> |
| | | </view> |
| | | <!-- 栅格布局 --> |
| | | <uni-row class="demo-uni-row" v-if="item.name=='Layout'"> |
| | | <uni-col v-for="(cols,key) in item.setting.colList" |
| | | :span="item.setting.spanList?item.setting.spanList[key]:24 / item.setting.col"> |
| | | <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> |
| | | <input class="uni-input" v-if="!cols.disabled" |
| | | :type="cols.name=='InputNumber'?'number':'text'" |
| | | v-model="cols.value" :disabled="cols.disabled" |
| | | :placeholder="cols.placeholder" /> |
| | | </view> |
| | | </uni-col> |
| | | </uni-row> |
| | | </div> |
| | | </div> |
| | | <div class="dv-panel-button"> |
| | | |
| | | <checkbox v-if="param.Sub_Page[0].Select_Button==true" :value="ii" |
| | | :checked="style.SelBut_Checked" /> |
| | | <!-- <text></text> --> |
| | | |
| | | <!-- <button type="primary" @click="savaItem(ii)" v-if="param.Sub_Page[0].OK_Button==true">保存</Button> --> |
| | | <button type="warn" @tap="delItem(ii)" |
| | | v-if="param.Sub_Page[0].Del_Button==true">{{translateSys('delete')}}</button> |
| | | </div> |
| | | </div> |
| | | <div class="dv-panel-button"> |
| | | <checkbox-group v-if="param.Sub_Page[0].Select_Button==true"> |
| | | <label> |
| | | <checkbox :value="style.SelBut_Checked" |
| | | :checked="style.SelBut_Checked" /> |
| | | <!-- <text></text> --> |
| | | </label> |
| | | </checkbox-group> |
| | | <!-- <button type="primary" @click="savaItem(ii)" v-if="param.Sub_Page[0].OK_Button==true">保存</Button> --> |
| | | <button type="warn" @tap="delItem(ii)" |
| | | v-if="param.Sub_Page[0].Del_Button==true">删除</button> |
| | | </div> |
| | | </div> |
| | | </checkbox-group> |
| | | </view> |
| | | <view v-if="param.Sub_Page[0].OK_Button==true"> |
| | | <button type="default" @tap="cancel" |
| | |
| | | <view class="view-tab-content"> |
| | | <image class="logo" v-if="detail2StyleDefList.length==0" |
| | | src="../../images/mobox_log_200x40.png"></image> |
| | | <div class="dv-panel" v-for="(style,ii) in detail2StyleDefList"> |
| | | <div class="dv-panel-input"> |
| | | <div v-for="(item,index) in style.form.items"> |
| | | <!-- 普通布局 --> |
| | | <view v-if="item.name!='Layout'"> |
| | | <text class="txt_title" |
| | | :style="{'width':item.labelWidth+'px'}">{{item.label}}:</text> |
| | | <span class="form-item-span">{{item.value}}</span> |
| | | </view> |
| | | <!-- 栅格布局 --> |
| | | <uni-row class="demo-uni-row" v-if="item.name=='Layout'"> |
| | | <uni-col :span="24 / item.setting.col" |
| | | v-for="(cols,key) in item.setting.colList"> |
| | | <view v-if="cols!=null"> |
| | | <text class="txt_title" |
| | | :style="{'width':cols.labelWidth+'px'}">{{cols.label}}:</text> |
| | | <span class="form-item-span">{{cols.value}}</span> |
| | | </view> |
| | | </uni-col> |
| | | </uni-row> |
| | | <checkbox-group @change="checkboxChange2"> |
| | | <div class="dv-panel" v-for="(style,ii) in detail2StyleDefList"> |
| | | <div class="dv-panel-input"> |
| | | <div v-for="(item,index) in style.form.items"> |
| | | <!-- 普通布局 --> |
| | | <view v-if="item.name!='Layout'"> |
| | | <text class="txt_title" |
| | | :style="{'width':item.labelWidth+'px'}">{{item.label}}:</text> |
| | | <span class="form-item-span">{{item.value}}</span> |
| | | </view> |
| | | <!-- 栅格布局 --> |
| | | <uni-row class="demo-uni-row" v-if="item.name=='Layout'"> |
| | | <uni-col :span="24 / item.setting.col" |
| | | v-for="(cols,key) in item.setting.colList"> |
| | | <view v-if="cols!=null"> |
| | | <text class="txt_title" |
| | | :style="{'width':cols.labelWidth+'px'}">{{cols.label}}:</text> |
| | | <span class="form-item-span">{{cols.value}}</span> |
| | | </view> |
| | | </uni-col> |
| | | </uni-row> |
| | | </div> |
| | | </div> |
| | | <div class="dv-panel-button"> |
| | | |
| | | <checkbox v-if="param.Sub_Page[1].Select_Button==true" :value="ii" |
| | | :checked="style.SelBut_Checked" /> |
| | | <!-- <text></text> --> |
| | | |
| | | <!-- <button type="primary" @click="savaDataObj(style,ii)" v-if="param.Sub_Page[1].OK_Button==true">保存</Button> --> |
| | | <button type="warn" @tap="delDataObj(style,ii)" |
| | | v-if="param.Sub_Page[1].Del_Button==true">{{translateSys('delete')}}</button> |
| | | </div> |
| | | </div> |
| | | <div class="dv-panel-button"> |
| | | <checkbox-group v-if="param.Sub_Page[1].Select_Button==true"> |
| | | <label> |
| | | <checkbox :value="style.SelBut_Checked" |
| | | :checked="style.SelBut_Checked" /> |
| | | <!-- <text></text> --> |
| | | </label> |
| | | </checkbox-group> |
| | | <!-- <button type="primary" @click="savaDataObj(style,ii)" v-if="param.Sub_Page[1].OK_Button==true">保存</Button> --> |
| | | <button type="warn" @tap="delDataObj(style,ii)" |
| | | v-if="param.Sub_Page[1].Del_Button==true">{{translateSys('delete')}}</button> |
| | | </div> |
| | | </div> |
| | | </checkbox-group> |
| | | </view> |
| | | <view v-if=" param.Sub_Page[1].OK_Button==true"> |
| | | <button type="default" @tap="cancel" |
| | |
| | | current: index |
| | | }) |
| | | }, |
| | | checkboxChange(e) { |
| | | var items = this.detail1StyleDefList |
| | | var values = e.detail.value; |
| | | for (var i = 0, lenI = items.length; i < lenI; ++i) { |
| | | const item = items[i] |
| | | if (values.includes(i)) { |
| | | item.SelBut_Checked = true |
| | | } else { |
| | | item.SelBut_Checked = false |
| | | } |
| | | } |
| | | }, |
| | | checkboxChange2(e) { |
| | | var items = this.detail2StyleDefList |
| | | var values = e.detail.value; |
| | | for (var i = 0, lenI = items.length; i < lenI; ++i) { |
| | | const item = items[i] |
| | | if (values.includes(i)) { |
| | | item.SelBut_Checked = true |
| | | } else { |
| | | item.SelBut_Checked = false |
| | | } |
| | | } |
| | | }, |
| | | |
| | | async Head_UIStyleGetInfo(class_id, style_id) { //获取自定义表单样式 |
| | | var $this = this; |
| | | var dataInfo = { |
| | |
| | | }); |
| | | }); |
| | | }, |
| | | |
| | | onClick(item) { |
| | | this.focusFieldId = item.fieldId |
| | | }, |
| | | ontap(index, item) { //扫码功能 |
| | | // var $ele = e; |
| | | this.focusOldFieldId = item.fieldId |
| | |
| | | if (onChangeEvent.id) { //内容变化后事件 |
| | | $this.onChange(onChangeEvent); |
| | | } |
| | | if (item.value) { //输入框不为空 |
| | | if (item.value) { //第一个输入框不为空 |
| | | //初始化,下个输入框focus属性 |
| | | const curIndex = $this.head_styledef.form.items.findIndex((ele, index2, arr) => { |
| | | return (ele.name == 'Input' || ele.name == 'InputNumber') && index2 > |
| | | index; |
| | | }) |
| | | if (curIndex > -1) { |
| | | $this.setData({ |
| | | focusFieldId: $this.head_styledef.form.items[curIndex].fieldId |
| | | }) |
| | | 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 |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | // setTimeout(function(){ |
| | | // uni.hideKeyboard(); |
| | | // },1000); |
| | | } |
| | | |
| | | // if(onSuffixClickCallbackEvent.id){ //后图标点击事件 |
| | | // this.onSuffixClick(onSuffixClickCallbackEvent); |
| | | // } |
| | |
| | | }) |
| | | }); |
| | | }); |
| | | if (jsonlist.length == 0) { |
| | | uni.showModal({ |
| | | title: this.translateSys("tip"), |
| | | content: this.translate("tip_no_select_data"), |
| | | showCancel: false, |
| | | confirmText: this.translateSys("cancel") |
| | | }); |
| | | return; |
| | | } |
| | | // console.log(jsonlist); |
| | | const list = [] |
| | | list.push({ |
| | |
| | | }) |
| | | }); |
| | | }); |
| | | if (jsonlist.length == 0) { |
| | | uni.showModal({ |
| | | title: this.translateSys("tip"), |
| | | content: this.translate("tip_no_select_data"), |
| | | showCancel: false, |
| | | confirmText: this.translateSys("cancel") |
| | | }); |
| | | return; |
| | | } |
| | | const list = [] |
| | | list.push({ |
| | | page_name: $this.param.Sub_Page[1].Name, |
| | |
| | | }) |
| | | }); |
| | | }); |
| | | if (jsonlist.length == 0) { |
| | | uni.showModal({ |
| | | title: this.translateSys("tip"), |
| | | content: this.translate("tip_no_select_data"), |
| | | showCancel: false, |
| | | confirmText: this.translateSys("cancel") |
| | | }); |
| | | return; |
| | | } |
| | | // console.log(jsonlist); |
| | | const list = [] |
| | | list.push({ |
| | |
| | | }) |
| | | }); |
| | | }); |
| | | if (jsonlist.length == 0) { |
| | | uni.showModal({ |
| | | title: this.translateSys("tip"), |
| | | content: this.translate("tip_no_select_data"), |
| | | showCancel: false, |
| | | confirmText: this.translateSys("cancel") |
| | | }); |
| | | return; |
| | | } |
| | | const list = [] |
| | | list.push({ |
| | | page_name: $this.param.Sub_Page[1].Name, |
| | |
| | | value += ele; |
| | | }); |
| | | uni.showModal({ |
| | | title:this.translateSys("tip"), |
| | | title: this.translateSys("tip"), |
| | | content: value, |
| | | showCancel: false, |
| | | confirmText: this.translateSys("close") |
| | |
| | | padding-bottom: 20rpx; |
| | | } |
| | | |
| | | .dv-panel-button checkbox-group { |
| | | .dv-panel-button checkbox { |
| | | /* float: left; */ |
| | | padding-left: 20px; |
| | | display: inline-block; |