| | |
| | | :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)" |
| | | :focus="focusFieldId == item.fieldId" |
| | | @focus="ontap(index,item)" |
| | | @keyup.enter="onEnterChange(item)" |
| | | @blur="onEnterChange(item)" |
| | | /> |
| | |
| | | ClsID: "Sorting_Detail", |
| | | ClsID2: "Sorting_Result", |
| | | param: {}, |
| | | focusMateria:false, |
| | | focusFieldId:"", |
| | | head_styledef:{ |
| | | form:{ |
| | | items:[] |
| | |
| | | detail1_styledef:{}, |
| | | detail1StyleDefList:[], |
| | | detail2_styledef:{}, |
| | | detail2StyleDefList:[], |
| | | detail2StyleDefList:[],//分页数据 |
| | | detail1ExtData: {}, |
| | | detail2ExtData: {}, //分页扩展数据 |
| | | // 分段器数据 |
| | | current: 0, |
| | | Before_OK_Event:{}, |
| | |
| | | this.Detail2_UIstyleGetInfo(this.ClsID2,this.$data.param.Sub_Page[1].UI_Style.ID); |
| | | |
| | | console.log(this.$data.param); |
| | | //页面初始化获取焦点 |
| | | // 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={ |
| | |
| | | if(ele.useDict==true){ //判断useDict是否使用字典 |
| | | await this.DictGetInfo(ele.bind.dict,index,'mast'); |
| | | } |
| | | if($this.focusFieldId == "") |
| | | { |
| | | if(ele.name=='Input' || ele.name=='InputNumber') |
| | | { |
| | | $this.setData({focusFieldId:ele.fieldId}) |
| | | } |
| | | } |
| | | }); |
| | | }else{ |
| | | uni.showModal({title:"错误1",content:ret.err_msg,showCancel:false,confirmText:"取消"}); |
| | |
| | | }); |
| | | }, |
| | | |
| | | ontap(item){ //扫码功能 |
| | | ontap(index,item){ //扫码功能 |
| | | // var $ele = e; |
| | | getApp().onScan((result)=>{ |
| | | console.log(result.decodedata); |
| | | item.value = result.decodedata; |
| | | uni.hideKeyboard(); |
| | | //uni.hideKeyboard(); |
| | | var $this = this; |
| | | |
| | | console.log(item); |
| | |
| | | var onSuffixClickCallbackEvent = item.bind.onSuffixClickCallbackEvent; //后图标点击事件 |
| | | var onSuffixClickEvent = item.bind.onSuffixClickEvent; //后图标点击回调 |
| | | var isflag = false; |
| | | |
| | | |
| | | if(onChangeEvent.id){ //内容变化后事件 |
| | | $this.onChange(onChangeEvent); |
| | | } |
| | | if(item.value){ //第一个输入框不为空 |
| | | $this.focusMateria = true; //初始化,第二个输入框focus属性 |
| | | // setTimeout(function(){ |
| | | // $this.focusMateria=true; //第二个输入框获取焦点 |
| | | setTimeout(function(){ |
| | | uni.hideKeyboard(); |
| | | },1000); |
| | | // },500); |
| | | 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}) |
| | | } |
| | | // setTimeout(function(){ |
| | | // uni.hideKeyboard(); |
| | | // },1000); |
| | | } |
| | | // if(onSuffixClickCallbackEvent.id){ //后图标点击事件 |
| | | // this.onSuffixClick(onSuffixClickCallbackEvent); |
| | |
| | | // } |
| | | } |
| | | }, |
| | | getDetailAttrList(list,selectButton) |
| | | { |
| | | const detailAttrList = []; |
| | | list.forEach(style=>{ |
| | | var detail_attr={}; |
| | | style.form.items.forEach(item => { |
| | | if(item.name == "Layout"){ //判断是否是栅栏格式 |
| | | item.setting.colList.forEach(cols => { |
| | | if(cols!=null) detail_attr[cols.fieldId] = cols.value; |
| | | }); |
| | | }else |
| | | detail_attr[item.fieldId] = item.value; |
| | | }); |
| | | |
| | | detail_attr['id'] = style.form.objId; |
| | | if(selectButton==true){ //判断选择按钮是否为true |
| | | if(style.SelBut_Checked==true) |
| | | detailAttrList.push(detail_attr); |
| | | } else |
| | | detailAttrList.push(detail_attr); |
| | | }); |
| | | // console.log(detailAttrList); |
| | | list.forEach(style=>{ |
| | | style.form.attrs.forEach(attr => { |
| | | for(var key in detailAttrList){ |
| | | if(style.form.objId == detailAttrList[key]['id']){ |
| | | var keys = Object.keys(detailAttrList[key]); |
| | | var isflag = true; |
| | | keys.forEach((ele) => { |
| | | if(ele == attr.attr) isflag = false; |
| | | }); |
| | | if(isflag) { |
| | | detailAttrList[attr.attr] = attr.value; |
| | | } |
| | | } |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | const jsonlist=[]; |
| | | detailAttrList.forEach(attr=>{ |
| | | jsonlist.push({ |
| | | id:attr["id"]|| "", |
| | | attrs: Object.keys(attr).map((a) => ({ |
| | | attr: a, |
| | | value: attr[a] || "", |
| | | })).filter((a)=>{return a.attr != "id"}) |
| | | }); |
| | | }); |
| | | return jsonlist; |
| | | }, |
| | | |
| | | // 内容变化后事件 |
| | | async onChange(event) { |
| | | try { |
| | | if (event.id) { |
| | | |
| | | var obj_attr = this.head_styledef.form.model; |
| | | // console.log(obj_attr); |
| | | var input_param = Base64.encode( |
| | |
| | | ) |
| | | ); |
| | | var $this = this; |
| | | const jsonList = [] |
| | | const itemlist1= $this.getDetailAttrList($this.detail1StyleDefList,$this.param.Sub_Page[0].Select_Button) |
| | | const itemlist2= $this.getDetailAttrList($this.detail2StyleDefList,$this.param.Sub_Page[1].Select_Button) |
| | | |
| | | jsonList.push({page_name:$this.param.Sub_Page[0].Name,item_list:itemlist1,ext_data:$this.detail1ExtData}) |
| | | jsonList.push({page_name:$this.param.Sub_Page[1].Name,item_list:itemlist2,ext_data:$this.detail2ExtData}) |
| | | |
| | | const data_json = Base64.encode( |
| | | JSON.stringify(jsonList) |
| | | ); |
| | | var dataInfo={ |
| | | ed_type: 0, |
| | | start_transaction: '', |
| | |
| | | ref_cls_id: '', |
| | | rel_obj_id: '', |
| | | user_login: '', |
| | | data_json: '', |
| | | data_json: data_json, |
| | | compose_info: '', |
| | | ext_info: '', |
| | | ext_info: "", |
| | | global_attr: '', |
| | | input_param: input_param, |
| | | }; |
| | |
| | | } |
| | | }); |
| | | } |
| | | else if (item.action_type == "set_subtable_page_row") { |
| | | $this.viewActionSetRow( item.value) |
| | | |
| | | } else if (item.action_type == "set_subtable_page_ext_data") { |
| | | var value = item.value; |
| | | if (value.page_name == $this.$data.param.Sub_Page[0].Name) { //判断返回的action的page_name是否是待分拣 |
| | | $this.setData({detail1ExtData:value.ext_data}) |
| | | } else if (value.page_name == $this.$data.param.Sub_Page[1].Name) { |
| | | $this.setData({detail2ExtData:value.ext_data}) |
| | | } |
| | | } |
| | | else if (item.action_type == "clear_subpage_rows") { |
| | | var value = item.value; |
| | | if (value.page_name == $this.$data.param.Sub_Page[0].Name) { //判断返回的action的page_name是否是待分拣 |
| | | $this.setData({detail1StyleDefList:[],detail1ExtData:{}}) |
| | | } else if (value.page_name == $this.$data.param.Sub_Page[1].Name) { |
| | | $this.setData({detail2StyleDefList:[],detail2ExtData:{}}) |
| | | } |
| | | } |
| | | else if (item.action_type == "set_dlg_current_edit_attr") { |
| | | if($this.focusFieldId == item.value) |
| | | $this.setData({focusFieldId: ""}) |
| | | $this.setData({focusFieldId:item.value}) |
| | | } |
| | | else if(item.action_type == "set_dlg_attr"){ |
| | | // value = {"attr":"xxx", "value":"xxx"} |
| | | var data = item.value; |
| | |
| | | |
| | | } |
| | | }, |
| | | operationNumber(value1, value2,operation){ |
| | | var number1 = 0 |
| | | var number2 =0 |
| | | if(value1) |
| | | number1 = parseInt(value1) |
| | | if(value2) |
| | | number2 = parseInt(value2) |
| | | if(operation == "+") |
| | | { |
| | | return number1 + number2 |
| | | } |
| | | else if(operation == "-") |
| | | { |
| | | return number1 - number2 |
| | | } |
| | | else if(operation == "*") |
| | | { |
| | | return number1 * number2 |
| | | } |
| | | else if(operation == "/") |
| | | { |
| | | if(number2) |
| | | return number1 / number2 |
| | | else |
| | | return number1 |
| | | } |
| | | else return number2 |
| | | }, |
| | | //更新分页签中的列表项内容 |
| | | viewActionSetRow(value) { |
| | | const $this = this |
| | | 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}) |
| | | } |
| | | |
| | | }, |
| | | |
| | | //加载正在分拣内容 |
| | | viewAceionRow(data,type){ |
| | | // console.log(data); |
| | |
| | | //加载已分拣内容 |
| | | viewAceionContent(data){ |
| | | var $this = this; |
| | | |
| | | if (data.page_name == $this.$data.param.Sub_Page[0].Name) { |
| | | $this.detail1ExtData = data.ext_data || {} |
| | | } |
| | | else if (data.page_name == $this.$data.param.Sub_Page[1].Name) { |
| | | $this.detail2ExtData = data.ext_data || {} |
| | | } |
| | | if(JSON.stringify(data.content) =='{}'){ |
| | | return; |
| | | } |
| | |
| | | var jsonlist=[]; |
| | | detailAttrList.forEach(attr=>{ |
| | | jsonlist.push({ |
| | | id:'', |
| | | id:attr["id"]|| "", |
| | | attrs: Object.keys(attr).map((a) => ({ |
| | | attr: a, |
| | | value: attr[a] || "", |
| | | })) |
| | | })).filter((a)=>{return a.attr != "id"}) |
| | | }); |
| | | }); |
| | | // console.log(jsonlist); |
| | | $this.runCustomEvent(event,input_param,jsonlist,'1'); |
| | | const list = [] |
| | | list.push({page_name:$this.param.Sub_Page[0].Name,item_list:jsonlist,ext_data:$this.detail1ExtData}) |
| | | $this.runCustomEvent(event,input_param,list,'1'); |
| | | // jsonlist.forEach(async (json,key)=>{ |
| | | // await $this.runCustomEvent(event,input_param,json,'1'); |
| | | // }); |
| | |
| | | var jsonlist=[]; |
| | | detailAttrList.forEach(attr=>{ |
| | | jsonlist.push({ |
| | | id:'', |
| | | id:attr["id"]|| "", |
| | | attrs: Object.keys(attr).map((a) => ({ |
| | | attr: a, |
| | | value: attr[a] || "", |
| | | })) |
| | | })).filter((a)=>{return a.attr != "id"}) |
| | | }); |
| | | }); |
| | | const list = [] |
| | | list.push({page_name:$this.param.Sub_Page[1].Name,item_list:jsonlist,ext_data:$this.detail2ExtData}) |
| | | |
| | | // console.log(jsonlist); |
| | | $this.runCustomEvent(event,input_param,jsonlist,'2'); |
| | | $this.runCustomEvent(event,input_param,list,'2'); |
| | | // jsonlist.forEach(async (json,key)=>{ |
| | | // await $this.runCustomEvent(event,input_param,json,'2'); |
| | | // }); |
| | |
| | | } |
| | | }); |
| | | //清除待分拣中成功的数据 |
| | | $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 == "set_subtable_page_content"){ //加载多条数据 |
| | |
| | | }); |
| | | }); |
| | | } |
| | | } else if(item.action_type == "refresh"){ //刷新 |
| | | } |
| | | else if (item.action_type == "set_subtable_page_row") { |
| | | $this.viewActionSetRow( item.value) |
| | | |
| | | } else if (item.action_type == "set_subtable_page_ext_data") { |
| | | var value = item.value; |
| | | if (value.page_name == $this.$data.param.Sub_Page[0].Name) { //判断返回的action的page_name是否是待分拣 |
| | | $this.setData({detail1ExtData:value.ext_data}) |
| | | } else if (value.page_name == $this.$data.param.Sub_Page[1].Name) { |
| | | $this.setData({detail2ExtData:value.ext_data}) |
| | | } |
| | | } |
| | | else if (item.action_type == "clear_subpage_rows") { |
| | | var value = item.value; |
| | | if (value.page_name == $this.$data.param.Sub_Page[0].Name) { //判断返回的action的page_name是否是待分拣 |
| | | $this.setData({detail1StyleDefList:[],detail1ExtData:{}}) |
| | | } else if (value.page_name == $this.$data.param.Sub_Page[1].Name) { |
| | | $this.setData({detail2StyleDefList:[],detail2ExtData:{}}) |
| | | } |
| | | } |
| | | else if (item.action_type == "set_dlg_current_edit_attr") { |
| | | if($this.focusFieldId == item.value) |
| | | $this.setData({focusFieldId: ""}) |
| | | $this.setData({focusFieldId:item.value}) |
| | | } |
| | | else if(item.action_type == "refresh"){ //刷新 |
| | | var value = item.value; |
| | | //清除待分拣成功的数据 |
| | | // value.forEach((val_id,key)=>{ |