| | |
| | | /* border:1px solid red; */ |
| | | } |
| | | .dv-panel{ |
| | | background-color:#EAFED9; |
| | | background-color:#efefef; |
| | | padding: 20rpx 20rpx 4rpx 0px; |
| | | border-radius: 12rpx; |
| | | margin: 10rpx 0 20rpx 0; |
| | |
| | | width: 100%; |
| | | display: inline-block; |
| | | text-align: left; |
| | | } |
| | | .dv-panel-input .dv-input{ |
| | | margin-bottom: 2rpx; |
| | | } |
| | | .dv-panel .txt_title{ |
| | | font-size: 34rpx; |
| | |
| | | .bk-active{ |
| | | background-color: #D6FCB2; |
| | | } |
| | | #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: 20rpx; |
| | | } |
| | | #dv_select .uni-select{ |
| | | border: 2rpx solid #ccc; |
| | | border-radius: 0 !important; |
| | | color: #2d8cf0; |
| | | } |
| | | #dv_select .uni-select__input-text{ |
| | | color: #2d8cf0; |
| | | } |
| | | .input-disabled{ |
| | | background-color: #f3f3f3 !important; |
| | | } |
| | | </style> |
| | | <style lang="scss"> |
| | | .demo-uni-row { |
| | |
| | | <!-- 表头样式 --> |
| | | <view class="v-headStyle" v-for="(item,index) in head_styledef.form.items" > |
| | | <text class="txt_title" :style="{'width':item.labelWidth+'px'}">{{item.label}}:</text> |
| | | <view class="input-wrapper"> |
| | | <!-- 下拉框-单选 item.useDict?item.dict:item.selections--> |
| | | <uni-data-select id="dv_select" v-if="item.name=='Select'" |
| | | :class="item.disabled?'input-disabled':''" |
| | | v-model="item.value" |
| | | :localdata="item.dict" |
| | | @change="onEnterChange(item)" |
| | | :disabled="item.disabled" |
| | | :clear="false" |
| | | ></uni-data-select> |
| | | <view class="input-wrapper" v-if="item.name=='Input' || item.name=='InputNumber'"> |
| | | <text v-if="item.setting.prefix" |
| | | class="uni-icon" |
| | | :class="[item.setting.prefix]" |
| | | @click="onEnterChange(item)"></text> |
| | | <input |
| | | class="uni-input" |
| | | :type="item.name=='Input'?'text':'text'" |
| | | :class="item.disabled?'input-disabled':''" |
| | | :type="item.name=='Input'?'text':'number'" |
| | | v-model="item.value" |
| | | :disabled="item.disabled" |
| | | :placeholder="item.placeholder" |
| | |
| | | :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 v-for="(item,index) in style.form.items"> |
| | | <div class="dv-input" v-for="(item,index) in style.form.items"> |
| | | <!-- 普通布局 --> |
| | | <view v-if="item.name=='Input'"> |
| | | <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 |
| | |
| | | // this.focusMateria=true; |
| | | }, |
| | | 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 Head_UIStyleGetInfo(class_id,style_id){ //获取自定义表单样式 |
| | | var $this = this; |
| | | var dataInfo={ |
| | |
| | | $this.$data.head_styledef = ret.result.style_def? JSON.parse(styledef): {}; |
| | | // this.form = this.head_styledef.form.model; |
| | | // console.log($this.$data.head_styledef); |
| | | |
| | | $this.$data.head_styledef.form.items.forEach(async (ele,index) => { |
| | | if(ele.useDict==true){ //判断useDict是否使用字典 |
| | | await this.DictGetInfo(ele.bind.dict,index,'mast'); |
| | | } |
| | | }); |
| | | }else{ |
| | | uni.showModal({title:"错误1",content:ret.err_msg,showCancel:false,confirmText:"取消"}); |
| | | } |
| | |
| | | // var aa = JSON.stringify(this.detail1_styledef); |
| | | // $this.$data.detail1StyleDefList.push(JSON.parse(aa)); |
| | | // console.log($this.$data.detail1StyleDefList); |
| | | |
| | | $this.detail1_styledef.form.items.forEach(async (ele,index) => { |
| | | if(ele.useDict==true){ //判断useDict是否使用字典 |
| | | await this.DictGetInfo(ele.bind.dict,index,'sub'); |
| | | } |
| | | }); |
| | | }else{ |
| | | uni.showModal({title:"错误2",content:ret.err_msg,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) { |
| | | var list=[]; |
| | | var itemName=''; |
| | | success.result.dict_item_list.forEach((item) => { |
| | | if(item.is_default=='1') |
| | | itemName = item.name; |
| | | list.push({ |
| | | text:item.value, |
| | | value:item.name, |
| | | }); |
| | | }); |
| | | |
| | | if(type=='mast'){//有默认值,显示默认值 |
| | | if(itemName){ |
| | | $this.head_styledef.form.items[index].value=itemName; |
| | | var attr = $this.head_styledef.form.items[index].fieldId; |
| | | $this.head_styledef.form.model[attr] = itemName; |
| | | } |
| | | $this.head_styledef.form.items[index].dict=list; |
| | | var head_styledef = JSON.parse(JSON.stringify($this.head_styledef)); |
| | | $this.head_styledef=[]; |
| | | $this.head_styledef = head_styledef; |
| | | // console.log($this.head_styledef); |
| | | } |
| | | else{ |
| | | if(itemName){ |
| | | $this.detail1_styledef.form.items[index].value=itemName; |
| | | var attr = $this.detail1_styledef.form.items[index].fieldId; |
| | | $this.detail1_styledef.form.model[attr] = itemName; |
| | | } |
| | | $this.detail1_styledef.form.items[index].dict=list; |
| | | var detail1_styledef = JSON.parse(JSON.stringify($this.detail1_styledef)); |
| | | $this.detail1_styledef=[]; |
| | | $this.detail1_styledef = detail1_styledef; |
| | | // console.log($this.$data.detail1_styledef); |
| | | } |
| | | |
| | | }else{ |
| | | uni.showModal({title:"错误3.1",content:success.err_msg,showCancel:false,confirmText:"取消"}); |
| | | } |
| | | }).catch(ex=>{ |
| | | // console.log(ex); |
| | | uni.showModal({title:"错误3",content:ex.errMsg,showCancel:false,confirmText:"取消"}); |
| | | }); |
| | | }, |
| | | |
| | | ontap(item){ //扫码功能 |
| | | // var $ele = e; |
| | |
| | | // $this.focusMateria=true; //第二个输入框获取焦点 |
| | | setTimeout(function(){ |
| | | uni.hideKeyboard(); |
| | | },100); |
| | | },1000); |
| | | // },500); |
| | | } |
| | | // if(onSuffixClickCallbackEvent.id){ //后图标点击事件 |
| | |
| | | else if(item.action_type == "set_subtable_page_content"){ //已码盘 |
| | | $this.$data.param.Show_Welcom_Page=false; |
| | | var value = item.value; |
| | | if(value.clear == true && $this.$data.detail1StyleDefList.length>0){ //判断是否清空页签内容,正在码盘是否有数据 |
| | | if(value.clear == true && $this.$data.detail1StyleDefList.length>0 && value.page_name == $this.$data.param.Sub_Page[0].Name){ //判断是否清空页签内容,正在码盘是否有数据 |
| | | uni.showModal({ |
| | | title: '提示', |
| | | content: '系统检测到有正在码盘中的货品,继续操作会清空,是否继续?', |
| | | success: function (res) { |
| | | if (res.confirm) { |
| | | $this.$data.detail1StyleDefList=[]; |
| | | $this.$data.detail2StyleDefList=[]; |
| | | $this.viewAceionContent(value); |
| | | } else if (res.cancel) { |
| | | if(value.page_name == $this.$data.param.Sub_Page[0].Name){ //判断返回的action的page_name是否是待分拣 |
| | | $this.$data.detail1StyleDefList=[]; |
| | | }else{ |
| | | $this.$data.detail2StyleDefList=[]; |
| | | } |
| | | $this.$data.detail1StyleDefList=[]; |
| | | $this.viewAceionContent(value); |
| | | } |
| | | } |
| | |
| | | } |
| | | }); |
| | | } |
| | | else if(item.action_type == "set_subtable_page_row"){ // value = {"page_name":"码盘中", "row":[{"id":"xx"}]} |
| | | var value = item.value; |
| | | var detailStyleDefList = [] |
| | | if(value.page_name == $this.$data.param.Sub_Page[1].Name) |
| | | { |
| | | detailStyleDefList = $this.$data.detail2StyleDefList |
| | | } |
| | | else if(value.page_name == $this.$data.param.Sub_Page[0].Name) |
| | | { |
| | | detailStyleDefList =$this.$data.detail1StyleDefList |
| | | } |
| | | detailStyleDefList.forEach(ele=>{ |
| | | value.row.forEach((rowData) => { |
| | | if(ele.form.objId == rowData.id){ |
| | | rowData.attrs.forEach(attr=>{ |
| | | ele.form.items.forEach(ele2=>{ |
| | | if(ele2.name!='Layout'){ |
| | | if(ele2.fieldId == attr.attr){ |
| | | ele2.value =$this.operationNumber(ele2.value,attr.value,attr.operation) |
| | | } |
| | | } else if(ele2.name=='Layout'){ |
| | | ele2.setting.colList.forEach(col=>{ |
| | | if(col){ |
| | | if(col.fieldId == attr.attr) |
| | | { |
| | | col.value =$this.operationNumber(col.value,attr.value,attr.operation) |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | } |
| | | }) |
| | | |
| | | }); |
| | | if(value.page_name == $this.$data.param.Sub_Page[1].Name) |
| | | { |
| | | $this.setData({detail2StyleDefList:detailStyleDefList}) |
| | | } |
| | | else if(value.page_name == $this.$data.param.Sub_Page[0].Name) |
| | | { |
| | | $this.setData({detail1StyleDefList:detailStyleDefList}) |
| | | } |
| | | } |
| | | else if(item.action_type == "set_dlg_attr"){ |
| | | // value = {"attr":"xxx", "value":"xxx"} |
| | | var data = item.value; |
| | |
| | | |
| | | } |
| | | }, |
| | | operationNumber(value1, value2,operation){ |
| | | if(operation == "+") |
| | | { |
| | | return value1 + value2 |
| | | } |
| | | else if(operation == "-") |
| | | { |
| | | return value1 - value2 |
| | | } |
| | | else if(operation == "*") |
| | | { |
| | | return value1 * value2 |
| | | } |
| | | else if(operation == "/") |
| | | { |
| | | if(value2) |
| | | return value1 / value2 |
| | | else |
| | | return value1 |
| | | } |
| | | else return value2 |
| | | }, |
| | | //加载正在码盘内容 |
| | | viewAceionRow(data,type){ |
| | | // console.log(data); |
| | | var styleStr = JSON.stringify(this.$data.detail1_styledef); |
| | | if(type){ //确定后脚本进入加载已码盘数据 |
| | | styleStr = JSON.stringify(this.$data.detail2_styledef); |
| | | }else{ |
| | | if(data.page_name == this.$data.param.Sub_Page[1].Name){ //判断返回的action的page_name是否是已分拣 |
| | | styleStr = JSON.stringify(this.$data.detail2_styledef); //待分拣 |
| | | } |
| | | } |
| | | var detailStyle = JSON.parse(styleStr); |
| | | data.row.attrs.forEach(attr=>{ |
| | | detailStyle.form.items.forEach(ele=>{ |
| | | if(ele.name!='Layout'){ |
| | | if(ele.fieldId == attr.attr) ele.value = attr.value; |
| | | } else if(ele.name=='Layout'){ |
| | | ele.setting.colList.forEach(col=>{ |
| | | if(col){ |
| | | if(col.fieldId == attr.attr) col.value = attr.value; |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | if(JSON.stringify(data.row) =='{}'){ |
| | | return; |
| | | } |
| | | data.row.forEach(row=>{ |
| | | var styleStr = JSON.stringify(this.$data.detail1_styledef); |
| | | if(type){ //确定后脚本进入加载已分拣数据 |
| | | styleStr = JSON.stringify(this.$data.detail2_styledef); |
| | | }else{ |
| | | if(data.page_name == this.$data.param.Sub_Page[1].Name){ //判断返回的action的page_name是否是已分拣 |
| | | styleStr = JSON.stringify(this.$data.detail2_styledef); //待分拣 |
| | | } |
| | | } |
| | | var detailStyle = JSON.parse(styleStr); |
| | | detailStyle.form.objId = row.id; |
| | | detailStyle.form.htmlobjId = row.id?row.id.replace(/-/g,'').replace('{','').replace('}',''):'null'; |
| | | detailStyle.form.attrs = row.attrs; |
| | | row.attrs.forEach(attr=>{ |
| | | detailStyle.form.items.forEach(ele=>{ |
| | | if(ele.name!='Layout'){ |
| | | if(ele.fieldId == attr.attr) ele.value = attr.value; |
| | | } else if(ele.name=='Layout'){ |
| | | ele.setting.colList.forEach(col=>{ |
| | | if(col){ |
| | | if(col.fieldId == attr.attr) col.value = attr.value; |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | if(type){ //确定后脚本进入加载已分拣数据 |
| | | this.$data.detail2StyleDefList.push(detailStyle); |
| | | // console.log(this.$data.detail2StyleDefList); |
| | | }else{ |
| | | if(data.page_name == this.$data.param.Sub_Page[1].Name){ //判断返回的action的page_name是否是已分拣 |
| | | this.$data.detail2StyleDefList.push(detailStyle); |
| | | // console.log(this.$data.detail2StyleDefList); |
| | | }else{ |
| | | this.$data.detail1StyleDefList.push(detailStyle); |
| | | this.activelist.push({active:false}); |
| | | // console.log(this.$data.detail1StyleDefList); |
| | | } |
| | | } |
| | | }); |
| | | if(type){ //确定后脚本进入加载已码盘数据 |
| | | detailStyle.form.objId = data.row.id; |
| | | this.$data.detail2StyleDefList.push(detailStyle); |
| | | // console.log(this.$data.detail2StyleDefList); |
| | | }else{ |
| | | if(data.page_name == this.$data.param.Sub_Page[1].Name){ //判断返回的action的page_name是否是已分拣 |
| | | detailStyle.form.objId = data.row.id; |
| | | this.$data.detail2StyleDefList.push(detailStyle); |
| | | // console.log(this.$data.detail2StyleDefList); |
| | | }else{ |
| | | detailStyle.form.htmlobjId = data.row.id?data.row.id.replace(/-/g,'').replace('{','').replace('}',''):'null'; |
| | | detailStyle.form.objId = data.row.id; |
| | | detailStyle.form.attrs = data.row.attrs; |
| | | this.$data.detail1StyleDefList.push(detailStyle); |
| | | this.activelist.push({active:false}); |
| | | // console.log(this.$data.detail1StyleDefList); |
| | | } |
| | | } |
| | | }, |
| | | //加载已码盘内容 |
| | | viewAceionContent(data){ |
| | | var $this = this; |
| | | if(JSON.stringify(data.content) =='{}'){ |
| | | return; |
| | | } |
| | | data.content.forEach(cont=>{ |
| | | var styleStr = JSON.stringify($this.$data.detail2_styledef); |
| | | if(data.page_name == $this.$data.param.Sub_Page[0].Name){ //判断返回的action的page_name是否是码盘中 |
| | |
| | | detailStyle.SelBut_Checked = data.checkbox??true; |
| | | detailStyle.form.objId = cont.id; |
| | | detailStyle.form.htmlobjId = cont.id?cont.id.replace(/-/g,'').replace('{','').replace('}',''):'null'; |
| | | detailStyle.form.attrs = cont.attrs; |
| | | cont.attrs.forEach(attr=>{ |
| | | detailStyle.form.items.forEach(ele=>{ |
| | | if(ele.name!='Layout'){ |
| | |
| | | } |
| | | }); |
| | | }); |
| | | detailStyle.form.attrs = cont.attrs; |
| | | if(data.page_name == $this.$data.param.Sub_Page[0].Name){ //判断返回的action的page_name是否是码盘中 |
| | | $this.$data.detail1StyleDefList.push(detailStyle); //码盘中 |
| | | if(data.page_name == $this.$data.param.Sub_Page[0].Name){ //判断返回的action的page_name是否是待分拣 |
| | | //如果 clear = false 则不需要清除,根据id判断是否存在,不存在插入到页面,如果存在用新的属性覆盖 |
| | | if(data.clear == false){ |
| | | var isflag = true; |
| | | $this.detail1StyleDefList.forEach((style,index)=>{ |
| | | if(style.form.objId == detailStyle.form.objId){ |
| | | cont.attrs.forEach(attr=>{ |
| | | style.form.items.forEach(ele=>{ |
| | | if(ele.name!='Layout'){ |
| | | if(ele.fieldId == attr.attr) ele.value = attr.value; |
| | | } else if(ele.name=='Layout'){ |
| | | ele.setting.colList.forEach(col=>{ |
| | | if(col){ |
| | | if(col.fieldId == attr.attr) col.value = attr.value; |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | }); |
| | | isflag = false; |
| | | } |
| | | }); |
| | | if(isflag) $this.detail1StyleDefList.push(detailStyle); //待分拣 |
| | | }else{ |
| | | $this.detail1StyleDefList.push(detailStyle); //待分拣 |
| | | } |
| | | $this.activelist.push({active:false}); |
| | | // console.log($this.$data.detail1StyleDefList); |
| | | }else{ |
| | | $this.$data.detail2StyleDefList.push(detailStyle); //已码盘 |
| | | if(data.clear == false){ |
| | | //如果 clear = false 则不需要清除,根据id判断是否存在,不存在插入到页面,如果存在用新的属性覆盖 |
| | | var isflag = true; |
| | | $this.detail2StyleDefList.forEach((style,index)=>{ |
| | | if(style.form.objId == detailStyle.form.objId){ |
| | | cont.attrs.forEach(attr=>{ |
| | | style.form.items.forEach(ele=>{ |
| | | if(ele.name!='Layout'){ |
| | | if(ele.fieldId == attr.attr) ele.value = attr.value; |
| | | } else if(ele.name=='Layout'){ |
| | | ele.setting.colList.forEach(col=>{ |
| | | if(col){ |
| | | if(col.fieldId == attr.attr) col.value = attr.value; |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | }); |
| | | isflag = false; |
| | | } |
| | | }); |
| | | if(isflag) $this.detail2StyleDefList.push(detailStyle); //已分拣 |
| | | }else{ |
| | | $this.detail2StyleDefList.push(detailStyle); //已分拣 |
| | | } |
| | | // console.log($this.$data.detail2StyleDefList); |
| | | } |
| | | }); |
| | |
| | | }); |
| | | }); |
| | | // console.log(jsonlist); |
| | | jsonlist.forEach(async (json,key)=>{ |
| | | await $this.runCustomEvent(event,input_param,json,'1'); |
| | | }); |
| | | $this.runCustomEvent(event,input_param,jsonlist,'1'); |
| | | // jsonlist.forEach(async (json,key)=>{ |
| | | // await $this.runCustomEvent(event,input_param,json,'1'); |
| | | // }); |
| | | }, |
| | | ok2(){ |
| | | this.Before_OK_Event = this.param.Sub_Page[1].Before_ok; |
| | |
| | | }); |
| | | }); |
| | | // console.log(jsonlist); |
| | | jsonlist.forEach(async (json,key)=>{ |
| | | await $this.runCustomEvent(event,input_param,json,'2'); |
| | | }); |
| | | $this.runCustomEvent(event,input_param,jsonlist,'2'); |
| | | // jsonlist.forEach(async (json,key)=>{ |
| | | // await $this.runCustomEvent(event,input_param,json,'2'); |
| | | // }); |
| | | }, |
| | | //执行确定脚本 |
| | | async runCustomEvent(event,input_param,json,type){ |
| | |
| | | } |
| | | }); |
| | | //清除正在码盘中成功的数据 |
| | | $this.$data.detail1StyleDefList.forEach((style,index)=>{ |
| | | if(style.form.items[0].fieldId == json.attrs[0].attr && style.form.items[0].value == json.attrs[0].value){ |
| | | $this.$data.detail1StyleDefList.splice(index,1); |
| | | return; |
| | | } |
| | | }); |
| | | // $this.$data.detail1StyleDefList.forEach((style,index)=>{ |
| | | // if(style.form.items[0].fieldId == json.attrs[0].attr && style.form.items[0].value == json.attrs[0].value){ |
| | | // $this.$data.detail1StyleDefList.splice(index,1); |
| | | // return; |
| | | // } |
| | | // }); |
| | | // this.detail2StyleDefList=[]; |
| | | uni.showModal({title:"提示",content:"码盘成功",showCancel:false,confirmText:"取消"}); |
| | | // } else if(item.action_type == "refresh"){ //刷新 |