From 3d8e6f5098d41be418d60e4f0e72ea1e5545dca6 Mon Sep 17 00:00:00 2001 From: jt <jt@activesoft.com> Date: 星期二, 21 三月 2023 17:15:48 +0800 Subject: [PATCH] test --- pages/modal/ms_classAttr.vue | 278 +++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 217 insertions(+), 61 deletions(-) diff --git a/pages/modal/ms_classAttr.vue b/pages/modal/ms_classAttr.vue index 96b2122..ddc80fe 100644 --- a/pages/modal/ms_classAttr.vue +++ b/pages/modal/ms_classAttr.vue @@ -176,6 +176,19 @@ float: left; display: inline-block; } + button.btn_sava { + width:100%; + margin-top: 50rpx; + padding: 20rpx; + line-height: 1.5; + background: #27A6E1; + border: none; + color: #fff; + font-size: 38rpx; + font-weight: bold; + float: left; + display: inline-block; + } .i_tishi{ color: red; vertical-align: sub; @@ -218,10 +231,13 @@ text-align: center; font-weight: bold; } + .v-panel{ + min-height:788rpx; + } .v-panellist{ border:4rpx solid #aaa; border-radius: 10rpx; - margin: 0rpx 20rpx 10rpx 20rpx; + margin: 10rpx 20rpx 0rpx 20rpx; } .v-paneldel{ text-align: right; @@ -246,6 +262,7 @@ <template> <view class="content"> + <!-- 涓绘暟鎹�--> <view class="v-area" v-for="(classattr,index) in classAttrList"> <div class="class_attr_title" style="display: none;"> <div class="title_line"></div> @@ -255,6 +272,7 @@ <span class="title">{{classattr.Name}}</span> <a href="javascript:;" class="arrow" @tap="onarrow(index,classattr.Open)"><i class="ace-icon fa ":class="classattr.Open?'fa-angle-down':'fa-angle-up'"></i></a> </div> + <!-- 涓绘暟鎹樉绀鸿鎯呭尯 --> <div class="class_attr_body" :style="{'display':classattr.Open?'block':'none'}"> <div class="dv_field_div" v-for="(attr,iindex) in classattr.Attr"> <view class="form-group" v-if="attr.Type=='瀛楃涓� || attr.Type=='鍙彉闀垮瓧绗︿覆' || attr.Type=='鏁存暟' || attr.Type=='娴偣鏁�" :style="{'display':attr.hidden == 'True'?'none':''}"> @@ -406,25 +424,29 @@ </div> </div> </view> - <view class="v-area class_attr_body"> - <view class="form-group"> - <!-- 宸﹀彸甯冨眬 --> - <p class="tx_title2" >{{param.Scan_Code.Name}}:</p> - <input type="text" class="attr_field" :value="scanCodeVal" @focus="scan_ontap" :style="param.Scan_Code.Have_Select_Button==true?'width: '+(100-(param.Scan_Code.Name.length * 5)-14)+'%;':'width: '+(100-(param.Scan_Code.Name.length * 5)-5)+'%;'"> - <div class="text-right2" v-if="param.Scan_Code.Have_Select_Button==true"> - <a @tap="scan_classAttr_extButton()" ><i class="ace-icon fa" :class="param.Scan_Code.Img?param.Scan_Code.Img:'fa-plus-circle'"></i></a> - </div> - <!-- 涓婁笅甯冨眬 --> - <!-- <text class="tx_title">{{param.Scan_Code.Name}}锛�/text> - <div class="text-right" v-if="param.Scan_Code.Have_Select_Button==true"> - <a @tap="ms_classAttr_extButton()"><i class="ace-icon fa" :class="param.Scan_Code.Img?param.Scan_Code.Img:'fa-plus-circle'"></i></a> - </div> - <input type="text" value="" > --> - </view> - </view> + <!-- 浠庢暟鎹�--> <view class="v-panel"> <div class="panel_title">{{param.Sub_Cls.Title}}</div> + <!-- 浠庢暟鎹壂鐮佸尯 --> + <view class="v-area class_attr_body" v-if="param.Sub_Cls.Can_Add_Delete == true"> + <h4 style="margin: 15rpx 0 0 30rpx;font-weight: bold;">鏂板{{param.Sub_Cls.Name }}</h4> + <view class="form-group"> + <!-- 宸﹀彸甯冨眬 --> + <p class="tx_title2" >{{param.Scan_Code.Name}}:</p> + <input type="text" class="attr_field" :value="scanCodeVal" @focus="scan_ontap" @blur="scan_onevent" :style="param.Scan_Code.Have_Select_Button==true?'width: '+(100-(param.Scan_Code.Name.length * 5)-14)+'%;':'width: '+(100-(param.Scan_Code.Name.length * 5)-5)+'%;'"> + <div class="text-right2" v-if="param.Scan_Code.Have_Select_Button==true"> + <a @tap="scan_classAttr_extButton()" ><i class="ace-icon fa" :class="param.Scan_Code.Img?param.Scan_Code.Img:'fa-plus-circle'"></i></a> + </div> + <!-- 涓婁笅甯冨眬 --> + <!-- <text class="tx_title">{{param.Scan_Code.Name}}锛�/text> + <div class="text-right" v-if="param.Scan_Code.Have_Select_Button==true"> + <a @tap="ms_classAttr_extButton()"><i class="ace-icon fa" :class="param.Scan_Code.Img?param.Scan_Code.Img:'fa-plus-circle'"></i></a> + </div> + <input type="text" value="" > --> + </view> + </view> + <!-- 浠庢暟鎹樉绀鸿鎯呭尯 --> <view class="v-panellist" v-for="(subpanel,index) in subPanelList"> <view class="v-area" v-for="(subclassattr,index) in subpanel.subClassAttr"> <div class="class_attr_title" style="display: none;"> @@ -580,12 +602,15 @@ </div> </view> - <view class="v-paneldel"><a href="javascript:;" class="panel_del" @tap="panel_del(index)"><i class="ace-icon fu-delete"></i></a></view> + <view class="v-paneldel" v-if="param.Sub_Cls.Can_Add_Delete == true"> + <a href="javascript:;" class="panel_del" @tap="panel_del(index)"><i class="ace-icon fu-delete"></i></a> + </view> </view> </view> - <button type="default" @tap="cancel" class="btn_cancel">鍙栨秷</button> - <button type="default" @tap="sava" class="btn_add">{{title}}</button> + <button type="default" @tap="cancel" class="btn_cancel" v-if="param.Sub_Cls.Can_Add_Delete == true">鍙栨秷</button> + <button type="default" @tap="sava" class="btn_add" v-if="param.Sub_Cls.Can_Add_Delete == true">{{title}}</button> + <button type="default" @tap="cancel" class="btn_sava" v-else-if="param.Sub_Cls.Can_Add_Delete == false">{{title}}</button> </view> </template> @@ -689,10 +714,35 @@ }); }, panel_del(index){ + var $this = this; if (this.$data.subPanelList[index].scanCodeVal == this.$data.scanCodeVal) { this.$data.scanCodeVal=''; } - this.$data.subPanelList.splice(index, 1); + if(!this.$data.subPanelList[index].ObjID) + this.$data.subPanelList.splice(index, 1); + else{ + var dataInfo = { + clsId:this.$data.param.Sub_Cls.ID, + objId:this.$data.subPanelList[index].ObjID + }; + console.log(dataInfo); + // return; + uni.showLoading({ title:"鍔犺浇涓�.." }); + this.$store.dispatch('DelObj',dataInfo).then(success=>{ + console.log(success); + uni.hideLoading(); + if (success.code=='00000') { + $this.$data.subPanelList.splice(index, 1); + uni.showModal({title:"鎻愮ず",content:"鍒犻櫎鎴愬姛锛�,showCancel:false,confirmText:"鍙栨秷"}); + }else{ + uni.showModal({title:"閿欒9",content:success.msg,showCancel:false,confirmText:"鍙栨秷"}); + } + }).catch(ex=>{ + console.log(ex); + uni.hideLoading(); + uni.showModal({title:"鎻愮ず9.1",content:ex.errMsg,showCancel:false,confirmText:"鍙栨秷"}); + }); + } }, async classGridStyleInfo(clsid,styleName,clsType){ var $this = this; @@ -701,10 +751,10 @@ name: styleName, type: '2' }; - $this.$store.state.thisEditName = styleName; // console.log($this.$store.getters.getclassGridStyleInfo); //鑾峰彇涓绘暟鎹被鐣岄潰鏍峰紡 if(clsType=='Mast'){ + $this.$store.state.thisEditName = styleName; if($this.$store.getters.getclassGridStyleInfo){ $this.$data.classGridStyle = $this.$store.getters.getclassGridStyleInfo.data; $this.class_attr_init(); @@ -726,6 +776,7 @@ }); } } else if(clsType=='Sub'){ //鑾峰彇浠庢暟鎹被鐣岄潰鏍峰紡 + $this.$store.state.thisEditSubName = styleName; if($this.$store.getters.getSubClassGridStyleInfo){ $this.$data.subClassGridStyle = $this.$store.getters.getSubClassGridStyleInfo.data; $this.subClass_attr_init(); @@ -753,14 +804,15 @@ getApp().onScan((result)=>{ //console.log(result.decodedata); var isVal =this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value; - + //涓绘暟鎹被鎵爜鏌ヨ鏁版嵁 if (isVal!=result.decodedata) { this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value=result.decodedata; - + uni.hideKeyboard(); + //瀛愭暟鎹被鎵爜鍖轰簨浠惰剼鏈� var eventid = this.$data.param.Scan_Code.Input_Change_Event.ID; if (eventid) { var req=[]; - var attrlist = this.$data.classAttrList; + var attrlist = this.$data.classAttrList; //涓绘暟鎹被灞炴� for (var i = 0; i < attrlist.length; i++) { var attr = attrlist[i].Attr; for (var j = 0; j < attr.length; j++) { @@ -768,24 +820,25 @@ if(ar.Type=='寮曠敤瀵硅薄(澶氫釜)') if(ar.Value=='璇�) ar.Value=''; if(ar.Type=='寮曠敤浜哄憳' || ar.Type=='寮曠敤椤圭洰') - req.push({ attr: ar.Name, val: ar.ValID ?ar.ValID :'' }); + req.push({ attr: ar.Name, value: ar.ValID ?ar.ValID :'' }); else if(ar.Type=='甯冨皵鍊�) - req.push({ attr: ar.Name, val: ar.Value?'1':'0'}); + req.push({ attr: ar.Name, value: ar.Value?'1':'0'}); else - req.push({ attr: ar.Name, val: ar.Value ?ar.Value :''}); + req.push({ attr: ar.Name, value: ar.Value ?ar.Value :''}); } } var info = { eventid: eventid, - edtype: "0", + edtype: "7",//"0", projectid: '', rclsid: '', robjid: '', userlogin: '', - clsid: this.$data.param.Sub_Cls.ID, + clsid: 'MBOX',//this.$data.param.Sub_Cls.ID, objid: "", attr: req, - inputParamter:[{ attr: 'input_3037', value: result.decodedata }] + mast_attr: [], + inputParamter:[{ attr: 'mast_input_3037', value: result.decodedata }] } this.scan_DataObjRunCustomEvent(info, ""); @@ -802,14 +855,33 @@ if(this.$data.subPanelList[i].scanCodeVal == result.decodedata) isflag=false; } - + //瀛愭暟鎹被鎵爜鏌ヨ鏁版嵁 if (isflag) { + uni.hideKeyboard(); this.$data.scanCodeVal=result.decodedata; var eventid = this.$data.param.Scan_Code.Input_Change_Event.ID; if (eventid) { + var mast_req=[]; + //涓绘暟鎹被灞炴� + var classattrlist = this.$data.classAttrList; + for (var i = 0; i < classattrlist.length; i++) { + var attr = classattrlist[i].Attr; + for (var j = 0; j < attr.length; j++) { + var ar = attr[j]; + if(ar.Type=='寮曠敤瀵硅薄(澶氫釜)') + if(ar.Value=='璇�) ar.Value=''; + if(ar.Type=='寮曠敤浜哄憳' || ar.Type=='寮曠敤椤圭洰') + mast_req.push({ attr: ar.Name, value: ar.ValID ?ar.ValID :'' }); + else if(ar.Type=='甯冨皵鍊�) + mast_req.push({ attr: ar.Name, value: ar.Value?'1':'0'}); + else + mast_req.push({ attr: ar.Name, value: ar.Value ?ar.Value :''}); + } + } var req=[]; - var attrlist = this.$data.subClassAttrList; - for (var i = 0; i < attrlist.length; i++) { + //瀛愭暟鎹被灞炴� + var attrlist = this.$data.subClassAttrList; + for (var i = 0; i < attrlist.length; i++) { var attr = attrlist[i].Attr; for (var j = 0; j < attr.length; j++) { var ar = attr[j]; @@ -825,14 +897,15 @@ } var info = { eventid: eventid, - edtype: "0", + edtype: '7',//"0", projectid: '', rclsid: '', robjid: '', userlogin: '', - clsid: this.$data.param.Sub_Cls.ID, + clsid: 'MBOX',//this.$data.param.Sub_Cls.ID, objid: "", attr: req, + mast_attr: mast_req, inputParamter:[{ attr: 'input_3037', value: this.$data.scanCodeVal }] } @@ -840,6 +913,73 @@ } } }) + }, + scan_onevent(e){ + // console.log(e.target); + if(e.target.value){ + var isflag=true; + for(var i in this.$data.subPanelList){ + if(this.$data.subPanelList[i].scanCodeVal == e.target.value) + isflag=false; + } + //瀛愭暟鎹被鎵爜鏌ヨ鏁版嵁 + if (isflag) { + uni.hideKeyboard(); + this.$data.scanCodeVal=e.target.value; + var eventid = this.$data.param.Scan_Code.Input_Change_Event.ID; + if (eventid) { + var mast_req=[]; + //涓绘暟鎹被灞炴� + var classattrlist = this.$data.classAttrList; + for (var i = 0; i < classattrlist.length; i++) { + var attr = classattrlist[i].Attr; + for (var j = 0; j < attr.length; j++) { + var ar = attr[j]; + if(ar.Type=='寮曠敤瀵硅薄(澶氫釜)') + if(ar.Value=='璇�) ar.Value=''; + if(ar.Type=='寮曠敤浜哄憳' || ar.Type=='寮曠敤椤圭洰') + mast_req.push({ attr: ar.Name, value: ar.ValID ?ar.ValID :'' }); + else if(ar.Type=='甯冨皵鍊�) + mast_req.push({ attr: ar.Name, value: ar.Value?'1':'0'}); + else + mast_req.push({ attr: ar.Name, value: ar.Value ?ar.Value :''}); + } + } + var req=[]; + //瀛愭暟鎹被灞炴� + var attrlist = this.$data.subClassAttrList; + for (var i = 0; i < attrlist.length; i++) { + var attr = attrlist[i].Attr; + for (var j = 0; j < attr.length; j++) { + var ar = attr[j]; + if(ar.Type=='寮曠敤瀵硅薄(澶氫釜)') + if(ar.Value=='璇�) ar.Value=''; + if(ar.Type=='寮曠敤浜哄憳' || ar.Type=='寮曠敤椤圭洰') + req.push({ attr: ar.Name, value: ar.ValID ?ar.ValID :'' }); + else if(ar.Type=='甯冨皵鍊�) + req.push({ attr: ar.Name, value: ar.Value?'1':'0'}); + else + req.push({ attr: ar.Name, value: ar.Value ?ar.Value :''}); + } + } + var info = { + eventid: eventid, + edtype: '7',//"0", + projectid: '', + rclsid: '', + robjid: '', + userlogin: '', + clsid: 'MBOX',//this.$data.param.Sub_Cls.ID, + objid: "", + attr: req, + mast_attr: mast_req, + inputParamter:[{ attr: 'input_3037', value: this.$data.scanCodeVal }] + } + + this.scan_DataObjRunCustomEvent(info, ""); + } + } + } }, onarrow(index,open){ // console.log(index+'--'+open); @@ -972,11 +1112,13 @@ // console.log(data_attr); if (e.target.value != data_attr.Value) { this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value=e.target.value; - var eventid = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].action; + // var eventid = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].action; + //瀛愭暟鎹被鎵爜鍖轰簨浠惰剼鏈�+ var eventid = this.$data.param.Scan_Code.Input_Change_Event.ID; if (eventid) { // self.event_no_sub = 1; var req=[]; - var attrlist = this.$data.classAttrList; + var attrlist = this.$data.classAttrList; //涓绘暟鎹被灞炴� for (var i = 0; i < attrlist.length; i++) { var attr = attrlist[i].Attr; for (var j = 0; j < attr.length; j++) { @@ -984,25 +1126,28 @@ if(ar.Type=='寮曠敤瀵硅薄(澶氫釜)') if(ar.Value=='璇�) ar.Value=''; if(ar.Type=='寮曠敤浜哄憳' || ar.Type=='寮曠敤椤圭洰') - req.push({ attr: ar.Name, val: ar.ValID ?ar.ValID :'' }); + req.push({ attr: ar.Name, value: ar.ValID ?ar.ValID :'' }); else if(ar.Type=='甯冨皵鍊�) - req.push({ attr: ar.Name, val: ar.Value?'1':'0'}); + req.push({ attr: ar.Name, value: ar.Value?'1':'0'}); else - req.push({ attr: ar.Name, val: ar.Value ?ar.Value :''}); + req.push({ attr: ar.Name, value: ar.Value ?ar.Value :''}); } } var info = { eventid: eventid, - edtype: "0", + edtype: "7",//"0", projectid: '', rclsid: '', robjid: '', userlogin: '', - clsid: this.$data.param.Master_Cls.ID, + clsid: 'MBOX',//this.$data.param.Sub_Cls.ID, objid: "", attr: req, + mast_attr: [], + inputParamter:[{ attr: 'mast_input_3037', value: e.target.value }] } - this.DataObjRunCustomEvent(info, data_attr); + + this.scan_DataObjRunCustomEvent(info, ""); } } @@ -2142,17 +2287,18 @@ var $this = this; var enviroment = { 'function': '3000', // 鍔熻兘鐐圭紪鍙�- cls_id: this.$data.param.Sub_Cls.ID, // 鍔熻兘鐐逛粠鏁版嵁绫绘爣璇�+ cls_id: 'MBOX',//this.$data.param.Sub_Cls.ID, // 鍔熻兘鐐逛粠鏁版嵁绫绘爣璇� 'button': 'top', // top/bottom button_name: '鏂板', master: { - cls_id: this.$data.param.Sub_Cls.ID, // button=bottom鏃�master鐨刢ls_id + cls_id: 'MBOX',//this.$data.param.Sub_Cls.ID, // button=bottom鏃�master鐨刢ls_id + attr: info.mast_attr //涓绘暟鎹被灞炴� //obj_id: '' // button=bottom鏃�master鐨刼bj_id } }; enviroment.edit_dlg = { type: 'small',//灏忕獥鍙�- class_id: this.$data.param.Sub_Cls.ID,//褰撳墠鏁版嵁绫籭d + class_id: 'MBOX',//this.$data.param.Sub_Cls.ID,//褰撳墠鏁版嵁绫籭d } if (data_attr) { enviroment.edit_dlg.form_control = {//鎵�睘鐨勮〃鍗曟帶浠�@@ -2177,11 +2323,11 @@ if (success.code=='00000') { var data = JSON.parse(success.data); var actionlist = data.action; - + if (actionlist) { console.log(actionlist); - for (var i = 0; i < actionlist.length; i++) { - var action = actionlist[i]; + for (var ii = 0; ii < actionlist.length; ii++) { + var action = actionlist[ii]; if (action.action_type == 'set_dlg_attr') { var result = action.value; for (var i = 0; i < result.length; i++) { @@ -2231,18 +2377,23 @@ } } } - } else if (data.action[i].action_type == 'set_global_attr') { - $this.$data.global_attr = data.action[i].value || []; - } else if (data.action[i].action_type == 'add_subcls_panel') { + } else if (action.action_type == 'set_global_attr') { + $this.$actiontr = action.value || []; + } else if (action.action_type == 'add_subcls_panel') { //涓讳粠鏁版嵁绫绘壂鐮佹煡璇㈡暟鎹� var result = action.value; let list_1 = JSON.parse(JSON.stringify(this.$data.subClassAttrList)); + var scanCodeVal = $this.$data.scanCodeVal; + if(info.inputParamter[0].attr=="mast_input_3037") //鍒ゆ柇鏄富鏁版嵁绫绘壂鐮佹煡璇㈡暟鎹�+ scanCodeVal = "mast_input_3037-"+ii; $this.$data.subPanelList.push({ - scanCodeVal:$this.$data.scanCodeVal, + scanCodeVal:scanCodeVal, subClassAttr:list_1 }); for (var i = 0; i < result.length; i++) { for (var s = 0; s < $this.$data.subPanelList.length; s++) { - if($this.$data.subPanelList[s].scanCodeVal == $this.$data.scanCodeVal){ + if($this.$data.subPanelList[s].scanCodeVal == scanCodeVal){ + if(result[i].attr=="S_ID") + $this.$data.subPanelList[s].ObjID=result[i].value; var _subClassAttr = $this.$data.subPanelList[s].subClassAttr; for (var c = 0; c < _subClassAttr.length; c++) { var attr = _subClassAttr[c].Attr; @@ -2278,14 +2429,19 @@ if (data.result) { let list_1 = JSON.parse(JSON.stringify(this.$data.subClassAttrList)); + var scanCodeVal = $this.$data.scanCodeVal; + if(info.inputParamter[0].attr=="mast_input_3037") + scanCodeVal = "mast_input_3037-"+ii; $this.$data.subPanelList.push({ - scanCodeVal:$this.$data.scanCodeVal, + scanCodeVal:scanCodeVal, subClassAttr:list_1 }); var result = data.result; for (var i = 0; i < result.length; i++) { for (var s = 0; s < $this.$data.subPanelList.length; s++) { - if($this.$data.subPanelList[s].scanCodeVal == $this.$data.scanCodeVal){ + if($this.$data.subPanelList[s].scanCodeVal == scanCodeVal){ + if(result[i].attr=="S_ID") + $this.$data.subPanelList[s].ObjID=result[i].value; var _subClassAttr = $this.$data.subPanelList[s].subClassAttr; for (var c = 0; c < _subClassAttr.length; c++) { var attr = _subClassAttr[c].Attr; @@ -2411,20 +2567,20 @@ } var dataJson={ master_cls:{ - cls_name:$this.$data.param.Master_Cls.Name, + cls_name:'MBOX',//$this.$data.param.Master_Cls.Name, obj_attrs:req }, input_3037:$this.$data.scanCodeVal, //鎵爜鍐呭 op_type:$this.$data.param.OperationType, //浣滀笟绫诲瀷瀹氫箟 sub_cls:{ - cls_name:$this.$data.param.Sub_Cls.Name, + cls_name:'MBOX',//$this.$data.param.Sub_Cls.Name, objects:objects } }; console.log(JSON.stringify(dataJson)); var dataInfo = { - edtype: "0", eventid: eventID, projectid: '',rclsid: '', robjid: '', userlogin: '', - clsid: $this.$data.param.Sub_Cls.ID, objid: '',attr: JSON.stringify([]), extinfo: JSON.stringify([]), + edtype: "7", eventid: eventID, projectid: '',rclsid: '', robjid: '', userlogin: '', + clsid: 'MBOX', objid: '',attr: JSON.stringify([]), extinfo: JSON.stringify([]), global_attr: JSON.stringify($this.$data.global_attr),dataJson:JSON.stringify(dataJson) } console.log(JSON.stringify(dataInfo)); -- Gitblit v1.9.1