jt
2023-02-01 91dfa886ed8d62d080d4070a7756231d0c296dac
pages/modal/ms_classAttr.vue
@@ -221,7 +221,7 @@
   .v-panellist{
      border:4rpx solid #aaa;
      border-radius: 10rpx;
      margin: 0rpx 20rpx 10rpx 20rpx;
      margin: 10rpx 20rpx 0rpx 20rpx;
   }
   .v-paneldel{
      text-align: right;
@@ -443,9 +443,9 @@
                           <div class="text-right" v-if="attr.ext_button==true">
                              <a @tap="classAttr_extButton(index,iindex)" ><i class="ace-icon fa fa-plus-circle"></i></a>
                           </div>
                           <input type="text" :value="attr.Value" @focus="ontap" @blur="onevent" v-if="attr.Height=='1'" :data-index="index" :data-iindex="iindex" :style="{'width':attr.Width}" :disabled="attr.edit?false:true" > <!-- =='flase'?true:false -->
                           <textarea :value="attr.Value" @focus="ontap" @blur="onevent" v-else-if="attr.Height=='2'" :data-index="index":data-iindex="iindex" style="height:60px;" :style="{'width':attr.Width}" :disabled="attr.edit?false:true"></textarea>
                           <textarea :value="attr.Value" @focus="ontap" @blur="onevent" v-else-if="attr.Height=='3'" :data-index="index":data-iindex="iindex" style="height:90px;" :style="{'width':attr.Width}" :disabled="attr.edit?false:true"></textarea>
                           <input type="text" :value="attr.Value" @focus="ontap" @blur="onevent" v-if="attr.Height=='1'" :data-index="index" :data-iindex="iindex" :style="{'width':attr.Width.split('%')[0] - 2.5 +'%'}" :disabled="attr.edit?false:true" > <!-- =='flase'?true:false -->
                           <textarea :value="attr.Value" @focus="ontap" @blur="onevent" v-else-if="attr.Height=='2'" :data-index="index":data-iindex="iindex" style="height:60px;" :style="{'width':attr.Width.split('%')[0] - 2.5 +'%'}" :disabled="attr.edit?false:true"></textarea>
                           <textarea :value="attr.Value" @focus="ontap" @blur="onevent" v-else-if="attr.Height=='3'" :data-index="index":data-iindex="iindex" style="height:90px;" :style="{'width':attr.Width.split('%')[0] - 2.5 +'%'}" :disabled="attr.edit?false:true"></textarea>
                        </view>
                        <view v-if="subclassattr.control_style=='左右布局'">
                           <p class="tx_title2" :style="{'font-family':subclassattr.Font.Name?subclassattr.Font.Name:'initial','font-size':subclassattr.Font.Size?subclassattr.Font.Size:'initial','font-weight':subclassattr.Font.Bold?'bold':'initial','font-style':subclassattr.Font.Tilt?'italic':'initial','text-decoration':subclassattr.Font.Underline?'underline':'initial','background-color':subclassattr.Font.Bk_Color,'color':subclassattr.Font.Text_Color,'width':subclassattr.title_p_wdith +'%'}"><i class="i_tishi" v-if="attr.notempty==true || attr.NotEmpty=='1'">*</i>{{attr.DispName}}:</p>
@@ -468,7 +468,7 @@
                     <view class="form-group" v-if="attr.Type=='日期' || attr.Type=='时间'" :style="{'display':attr.hidden == 'True'?'none':''}">
                        <view v-if="subclassattr.control_style=='上下布局'">
                           <text class="tx_title" :style="{'font-family':subclassattr.Font.Name?subclassattr.Font.Name:'initial','font-size':subclassattr.Font.Size?subclassattr.Font.Size:'initial','font-weight':subclassattr.Font.Bold?'bold':'initial','font-style':subclassattr.Font.Tilt?'italic':'initial','text-decoration':subclassattr.Font.Underline?'underline':'initial','background-color':subclassattr.Font.Bk_Color,'color':subclassattr.Font.Text_Color,'width':subclassattr.title_p_wdith+'%'}"><i class="i_tishi" v-if="attr.notempty==true">*</i>{{attr.DispName}}:</text>
                           <picker mode="date" :value="attr.Value" @change="ondateTime" class="date_iput" :data-index="index" :data-iindex="iindex" :style="{'width':attr.Width}">
                           <picker mode="date" :value="attr.Value" @change="ondateTime" class="date_iput" :data-index="index" :data-iindex="iindex" :style="{'width':attr.Width.split('%')[0] - 2.5 +'%'}">
                              <view class="picker">{{attr.Value}}</view>
                           </picker>
                        </view>
@@ -482,10 +482,10 @@
                     <view class="form-group" v-if="attr.Type=='字典' || attr.Type=='字典-字符串'" :style="{'display':attr.hidden == 'True'?'none':''}">
                        <view v-if="subclassattr.control_style=='上下布局'">
                           <text class="tx_title" :style="{'font-family':subclassattr.Font.Name?subclassattr.Font.Name:'initial','font-size':subclassattr.Font.Size?subclassattr.Font.Size:'initial','font-weight':subclassattr.Font.Bold?'bold':'initial','font-style':subclassattr.Font.Tilt?'italic':'initial','text-decoration':subclassattr.Font.Underline?'underline':'initial','background-color':subclassattr.Font.Bk_Color,'color':subclassattr.Font.Text_Color,'width':subclassattr.title_p_wdith+'%'}"><i class="i_tishi" v-if="attr.notempty==true || attr.NotEmpty=='1'">*</i>{{attr.DispName}}:</text>
                           <picker class="section_iput" @change="onchange" :range="attr.dictitem" range-key="CN_S_NAME" v-if="attr.select==false" :data-index="index" :data-iindex="iindex" :style="{'width':attr.Width}" :disabled="attr.edit?false:true">
                           <picker class="section_iput" @change="onchange" :range="attr.dictitem" range-key="CN_S_NAME" v-if="attr.select==false" :data-index="index" :data-iindex="iindex" :style="{'width':attr.Width.split('%')[0] - 2.5 +'%'}" :disabled="attr.edit?false:true">
                              <label class="">{{ attr.Value }}</label>
                           </picker>
                           <select-cy :value="attr.Value" :name="attr.Name" :options="attr.dictitem" showClearIcon="true" @change="onchange2" v-else-if="attr.select==true" :data-index="index" :data-iindex="iindex" :style="{'width':attr.Width}" :disabled="attr.edit?false:true"></select-cy>
                           <select-cy :value="attr.Value" :name="attr.Name" :options="attr.dictitem" showClearIcon="true" @change="onchange2" v-else-if="attr.select==true" :data-index="index" :data-iindex="iindex" :style="{'width':attr.Width.split('%')[0] - 2.5 +'%'}" :disabled="attr.edit?false:true"></select-cy>
                        </view>
                        <view v-if="subclassattr.control_style=='左右布局'">
                           <p class="tx_title2" :style="{'font-family':subclassattr.Font.Name?subclassattr.Font.Name:'initial','font-size':subclassattr.Font.Size?subclassattr.Font.Size:'initial','font-weight':subclassattr.Font.Bold?'bold':'initial','font-style':subclassattr.Font.Tilt?'italic':'initial','text-decoration':subclassattr.Font.Underline?'underline':'initial','background-color':subclassattr.Font.Bk_Color,'color':subclassattr.Font.Text_Color,'width':subclassattr.title_p_wdith+'%'}"><i class="i_tishi" v-if="attr.notempty==true || attr.NotEmpty=='1'">*</i>{{attr.DispName}}:</p>
@@ -689,10 +689,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;
@@ -752,7 +777,46 @@
            //console.log(e.target)
            getApp().onScan((result)=>{
               //console.log(result.decodedata);
               this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value=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;
                  //子数据类扫码区事件脚本
                  var eventid = this.$data.param.Scan_Code.Input_Change_Event.ID;
                  if (eventid) {
                       var req=[];
                       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++) {
                             var ar = attr[j];
                             if(ar.Type=='引用对象(多个)')
                                if(ar.Value=='请') ar.Value='';
                             if(ar.Type=='引用人员' || ar.Type=='引用项目')
                                req.push({ attr: ar.Name, val: ar.ValID ?ar.ValID :'' });
                             else if(ar.Type=='布尔值')
                                req.push({ attr: ar.Name, val: ar.Value?'1':'0'});
                             else
                                req.push({ attr: ar.Name, val: ar.Value ?ar.Value :''});
                          }
                       }
                       var info = {
                           eventid: eventid,
                           edtype: "0",
                           projectid: '',
                           rclsid: '',
                           robjid: '',
                           userlogin: '',
                           clsid: this.$data.param.Sub_Cls.ID,
                           objid: "",
                           attr: req,
                        mast_attr: [],
                        inputParamter:[{ attr: 'mast_input_3037', value: result.decodedata }]
                       }
                       this.scan_DataObjRunCustomEvent(info, "");
                   }
               }
            })
         },
         scan_ontap(e){ //扫码区扫码功能
@@ -764,14 +828,32 @@
                  if(this.$data.subPanelList[i].scanCodeVal == result.decodedata) 
                     isflag=false;
               }
               //子数据类扫码查询数据
               if (isflag) {
                  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, val: ar.ValID ?ar.ValID :'' });
                           else if(ar.Type=='布尔值')
                              mast_req.push({ attr: ar.Name, val: ar.Value?'1':'0'});
                           else
                              mast_req.push({ attr: ar.Name, val: 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];
@@ -795,6 +877,7 @@
                           clsid: this.$data.param.Sub_Cls.ID,
                           objid: "",
                           attr: req,
                        mast_attr: mast_req,
                        inputParamter:[{ attr: 'input_3037', value: this.$data.scanCodeVal }]
                       }
                     
@@ -2109,6 +2192,7 @@
                 button_name: '新增',
                 master: {
                     cls_id: this.$data.param.Sub_Cls.ID, // button=bottom时 master的cls_id
                  attr: info.mast_attr //主数据类属性
                     //obj_id: ''  // button=bottom时 master的obj_id
                 }
             };
@@ -2139,11 +2223,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++) {
@@ -2193,18 +2277,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;
@@ -2240,14 +2329,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;
@@ -2389,7 +2483,7 @@
               clsid: $this.$data.param.Sub_Cls.ID, objid: '',attr: JSON.stringify([]), extinfo: JSON.stringify([]), 
               global_attr: JSON.stringify($this.$data.global_attr),dataJson:JSON.stringify(dataJson)
              }
            // console.log(JSON.stringify(dataInfo));
            console.log(JSON.stringify(dataInfo));
             console.log(dataInfo);
             this.$store.dispatch('DataObjRunCustomEventInfo',dataInfo).then(success=>{
                console.log(success);