cuiqian2004
2024-06-24 dc4e312fde92237060bc23c35016f4d6b7a9187e
pages/modal/3037_2.vue
@@ -1,422 +1,11 @@
<style>
.v-headStyle{
  /* border: 1px solid red; */
}
.v-headStyle:first-child{
   margin-top: 15rpx;
}
.v-headStyle .txt_title{
  font-size: 34rpx;
  text-align: right;
  display: inline-block;
  vertical-align: 12px;
}
.v-headStyle input{
   display: inline-block;
   /* border: 1px solid #d5d5d5; */
   /* width: 65%; */
   width: 85%;
   height: 52rpx;
    line-height: 34rpx;
   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: 4rpx;
}
.v-headStyle input::-webkit-input-placeholder {
   font-size: 12rpx;
}
.input-wrapper{
   border: 1px solid #d5d5d5;
    display: inline-block;
    width: 65%;
   line-height: 22rpx;
}
[nvue] uni-view {
    position: relative;
    border: 0 solid #000;
    box-sizing: border-box;
}
.uni-input {
   /* border: none; */
}
.uni-icon{
   /* border: 1px solid red; */
   width: 8%;
    font-family: uniicons;
    font-size: 40rpx;
    font-weight: 400;
    font-style: normal;
    /* width: 48rpx; */
    height: 48rpx;
    line-height: 48rpx;
   color: #2d8cf0;
    cursor: pointer;
    display: inline-block;
   vertical-align: 18rpx;
}
.view-content{
   min-height: 700rpx;
   /* border:1px solid red; */
}
.dv-panel{
    /* padding: 10rpx 20rpx 4rpx 0px; */
    border-radius: 12rpx;
    /* margin-bottom: 20rpx; */
   text-align: right;
}
.dv-panel:first-child{
    padding-top: 10rpx;
}
.dv-panel-input{
   width: 100%;
    display: inline-block;
   text-align: left;
}
.dv-panel .txt_title{
  font-size: 34rpx;
  text-align: right;
  display: inline-block;
  vertical-align: 12px;
}
.dv-panel input{
   /* vertical-align: middle; */
   display: inline-block;
   border: 1px solid #d5d5d5;
   width: 68%;
   height: 52rpx;
    line-height: 34rpx;
   background: #FFF;
   border-radius: 7px !important;
   color: #2d8cf0;
   padding: 6rpx 8rpx 8rpx;
   font-size: 32rpx;
   font-family: inherit;
   box-shadow: none !important;
   transition-duration: 0.1s;
   margin-top: 0rpx;
}
.dv-panel input::-webkit-input-placeholder {
   font-size: 10rpx;
}
.input-disabled{
   background-color: #f3f3f3 !important;
}
.dv-panel .form-item-span{
   vertical-align:top;
    color: #2d8cf0;
   white-space: normal;
   word-break: break-all;
    display: inline-block;
   width: calc(100% - 100px);
   /* border: 1rpx solid red; */
}
button.btn_cancel {
   width:49.5%;
   margin-top: 50rpx;
   padding: 20rpx;
   line-height: 1.5;
   border: none;
   font-size: 38rpx;
   font-weight: bold;
   float: left;
   display: inline-block;
}
button.btn_add {
   width:49.5%;
   margin-top: 50rpx;
   padding: 20rpx;
   line-height: 1.5;
   border: none;
   font-size: 38rpx;
   font-weight: bold;
   float: right;
   display: inline-block;
}
#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: 10px;
}
#dv_select .uni-select{
   border: 1px solid #ccc;
   border-radius: 0 !important;
   color: #2d8cf0;
}
#dv_select .uni-select__input-text{
   color: #2d8cf0;
}
.panel_title{
   font-size: 38rpx;
   background-color: #27A6E1;
   line-height: 80rpx;
   color: #fff;
   text-align: center;
    font-weight: bold;
}
.v-panel{
   min-height:770rpx;
}
.v-panellist{
    background-color:#efefef;
   border:4rpx solid #aaa;
   border-radius: 10rpx;
   margin: 10rpx 10rpx 0rpx 20rpx;
}
.v-paneldel{
   text-align: right;
}
.panel_del{
   font-size: 44rpx;
   text-decoration: initial;
   margin-top: 10rpx;
   margin-right: 20rpx;
}
button.btn_add {
   width:49.5%;
   margin-top: 50rpx;
   padding: 20rpx;
   line-height: 1.5;
   background: #27A6E1;
   border: none;
   color: #fff;
    font-size: 38rpx;
   font-weight: bold;
   float: right;
   display: inline-block;
}
button.btn_cancel {
   width:49.5%;
   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;
}
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;
}
.class_attr_body .form-group {
   margin: 20rpx 30rpx;
    /* margin-left: -12px;
    margin-right: -12px; */
}
.subclass_attr_body .form-group {
   margin: 20rpx 10rpx;
    /* margin-left: -12px;
    margin-right: -12px; */
}
.form-group > label[class*="col-"] {
    margin-bottom: 8rpx;
   font-size: 32rpx;
}
.form-group label {
    vertical-align: middle;
    line-height: 60rpx;
}
.tx_title2{
   font-size: 32rpx;
   text-align: right;
   display: inline-block;
   vertical-align: -2px;
}
.attr_field{
   display: inline-block;
   vertical-align: middle;
   margin-left: 8px;
   /* width: 71%; */
}
.text-right2 {
   margin: 0;
   vertical-align: -4px;
   margin-left: 9px;
   float: none;
   font-size: 44rpx;
   display: inline-block;
}
input::-webkit-input-placeholder {
   font-size: 12rpx;
}
.v-panel input{
   border: 1px solid #d5d5d5;
   width: 98%;
   height: 52rpx;
   background: #FFF;
   border-radius: 0 !important;
   color: #046db3;
   padding: 10rpx 8rpx 12rpx;
   font-size: 34rpx;
   font-family: inherit;
   box-shadow: none !important;
   transition-duration: 0.1s;
   margin-top: 4rpx;
}
.date_iput{
   /* border: 1px solid #d5d5d5; */
   /* width: 98%; */
   height: 62rpx;
   background: #FFF;
   border-radius: 0 !important;
   color: #046db3;
   padding: 10rpx 8rpx 4rpx;
   font-size: 34rpx;
   font-family: inherit;
   box-shadow: none !important;
   transition-duration: 0.1s;
}
.dv_input{
    display: inline-block;
    width: 65%;
   /* line-height: 22rpx; */
}
.view-popup{
   position:relative;
}
.popup-content {
   @include flex;
   align-items: center;
   justify-content: center;
   padding: 30rpx;
   background-color: #fff;
   /* height: 150px; */
   /* border: 1px solid red; */
}
.popup-cont {
   overflow-y: auto;
   /* border: 1px solid red; */
}
.popup-height {
   @include height;
   /* width: 200px; */
}
.popup-header{
   font-size: 42rpx;
   font-weight: bold;
   margin:20rpx 20rpx 0px 20rpx;
}
.view_popup_CheckList{
   margin-bottom: 20rpx;
}
.popup-footer{
   float: right;
   position:absolute;
   bottom:0;
   right:20rpx;
}
button.btn_popup_add {
   width:180rpx;
   margin-top: 50rpx;
   margin-right: 20rpx;
   padding: 15rpx;
   line-height: 1.5;
   background: #27A6E1;
   border: none;
   color: #fff;
    font-size: 38rpx;
   font-weight: bold;
   /* float: left; */
   display: inline-block;
}
button.btn_popup_cancel {
   width:180rpx;
   margin-top: 50rpx;
   padding: 15rpx;
   line-height: 1.5;
   background: #27A6E1;
   border: none;
   color: #fff;
    font-size: 38rpx;
   font-weight: bold;
   /* float: right; */
   display: inline-block;
}
.bk-active{
  background-color: #D6FCB2;
  border: 1px solid #D6FCB2;
}
.view-floor{
   padding: 0 20rpx;
}
</style>
<style lang="scss">
   .demo-uni-row {
      margin-bottom: 0px;
      display: block;
   }
   ::v-deep .uni-row {
      margin-bottom: 0px;
   }
   .view-tabpage ::v-deep .uni-row  {
      margin-bottom: 5px;
   }
   .demo-uni-col {
      height: 36px;
      border-radius: 5px;
   }
   .demo-uni-row .uni-input{
      width: calc(100% - 120px);
   }
   .text {
       font-size: 12px;
       color: #666;
       margin-top: 5px;
   }
   // .uni-px-5 {
   //    margin: 0;
   //    display: inline-block;
   //    margin: 0;
   //    font-size: 14px;
   // }
   // .uni-select{
   //    border: 1px solid #ccc;
   //    border-radius: 0;
   // }
   // .uni-section-content{
   //    display: inline-block;
   //    width: 100px;
   //    border: 1px solid red;
   // }
</style>
<template>
   <view class="content">
      <!-- 表头样式 -->
      <view class="v-headStyle" v-for="(item,index) in head_styledef.form.items" >
        <!-- 普通布局 -->
        <view v-if="item.name!='Layout' && item.show==true">
         <text class="txt_title" :style="{'width':item.labelWidth+'px'}">{{item.label}}:</text>
         <!-- 下拉框-单选 item.useDict?item.dict:item.selections-->
         <uni-data-select id="dv_select" v-if="item.name=='Select'"
@@ -497,7 +86,8 @@
               <view class="picker">{{item.value}}</view>
            </picker>
         </view>
        </view>
      </view>
      <!-- 从数据 -->
      <view class="v-panel">
@@ -528,11 +118,11 @@
           <view class="v-area dv-panel" v-for="(item,index) in subpanel.subClassAttr.form.items">
            <div class="dv-panel-input">
               <!-- 普通布局 -->
               <view v-if="item.name!='Layout'">
               <view v-if="item.name!='Layout' && item.show==true">
                  <text class="txt_title" :style="{'width':item.labelWidth+'px'}">{{item.label}}:</text>
                  <span class="form-item-span" v-if="item.disabled">{{item.value}}</span>
                  <!-- 文本框/数字框 -->
                  <view class="dv_input" v-if="(item.name=='Input' || item.name=='InputNumber') && !item.disabled">
                  <view class="input-wrapper" v-if="(item.name=='Input' || item.name=='InputNumber') && !item.disabled">
                     <text v-if="item.setting.prefix" 
                        class="uni-icon" 
                        :class="[item.setting.prefix]"
@@ -602,13 +192,13 @@
                  </view>
               </view>
               <!-- 栅格布局 -->
               <uni-row class="demo-uni-row" v-if="item.name=='Layout'">
               <uni-row class="demo-uni-row" v-if="item.name=='Layout' && item.show==true">
                  <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>
                        <view class="dv_input" v-if="(cols.name=='Input' || cols.name=='InputNumber') && !cols.disabled">
                        <view class="input-wrapper" v-if="(cols.name=='Input' || cols.name=='InputNumber') && !cols.disabled">
                           <text v-if="cols.setting.prefix" 
                              class="uni-icon" 
                              :class="[cols.setting.prefix]"
@@ -724,6 +314,7 @@
<script>
import Base64 from '../../components/js-base64/base64.js'
import classUtils from "@/js/utils.js"
export default {
  modules:{
   Base64,
@@ -763,8 +354,8 @@
   this.$data.param = JSON.parse(options.param);
   console.log(this.$data.param);
    //获取数据类的自定义表单参数
   this.Head_UIStyleGetInfo(this.param.Master_Cls.ID,this.param.Master_Cls.UI_Style.ID);
   this.Detail1_UIstyleGetInfo(this.param.Sub_Cls.ID,this.$data.param.Sub_Cls.UI_Style.ID);
   this.Head_UIStyleGetInfo(this.param.Master_Cls?.ID,this.param.Master_Cls?.UI_Style?.ID);
   this.Detail1_UIstyleGetInfo(this.param.Sub_Cls?.ID,this.$data.param.Sub_Cls?.UI_Style?.ID);
   
   //页面初始化获取焦点
   // this.focusMateria=true; 
@@ -789,11 +380,19 @@
            $this.$data.head_styledef = ret.result.style_def? JSON.parse(styledef): {};
            // console.log($this.$data.head_styledef);
            $this.head_styledef.form.items.forEach(async (ele,index) => {
               ele.show=true;
                if(ele.useDict==true){ //判断useDict是否使用字典
                    await this.DictGetInfo(ele.bind.dict,index,'mast');
                }
            });
            
            if($this.head_styledef.event?.length>0){
              $this.head_styledef.event.forEach(async (a)=>{  //判断是否是初始化事件
                if(a.event_id == "initial"){
                  await this.loadInitEvent(a.scrip_id,'head');
                }
              });
            }
         }else{
            uni.showModal({title:"错误1",content:ret.err_msg,showCancel:false,confirmText:"取消"});
         }
@@ -826,6 +425,13 @@
                    await this.DictGetInfo(ele.bind.dict,index,'sub');
                }
            });
            if($this.detail1_styledef.event?.length>0){
              $detail1_styledefforEach(async (a)=>{  //判断是否是初始化事件
                if(a.event_id == "initial"){
                  await this.loadInitEvent(a.scrip_id,'detail');
                }
              });
            }
            // var aa = JSON.stringify(this.detail1_styledef);
            // $this.$data.detail1StyleDefList.push(JSON.parse(aa));
            // console.log($this.$data.detail1StyleDefList);
@@ -888,6 +494,157 @@
         uni.showModal({title:"错误1.3",content:ex.errMsg,showCancel:false,confirmText:"取消"});
      });
   },
   async loadInitEvent(eventid,type){
      var $this = this;
      var styledef = type=='head'?this.head_styledef:this.detail1_styledef;
      if(!eventid.includes('{')) eventid = '{'+eventid+'}';
      var dataInfo={
         ed_type: 0,
         start_transaction: true,
         class_id: this.param.DataCls.id,
         event_id: eventid,
      };
      console.log(dataInfo);
      // return;
      this.$store.dispatch('runCustomEvent',dataInfo).then(success=>{
         console.log(success);
         if (success.err_code == 0) {
            var data = success.result;
            if (data.ret != 0) {
                var tip = data.err_info ? typeof data.err_info == 'string' ? data.err_info : data.err_info.join('<br/>') : '';
                if (data.ret == 801) uni.showModal({title:'提示',content:tip,showCancel:false,confirmText:"取消"});
                else uni.showModal({title:'提示',content:tip+',提示:'+data.ret,showCancel:false,confirmText:"取消"});
               return false
            }else{
               var tip = data.info ? typeof data.info == 'string' ? data.info : data.info.join('<br/>') : '';
               if (tip) uni.showModal({title:'提示',content:tip,showCancel:false,confirmText:"取消"});
               var actionlist = data.action;
               if (actionlist) {
                  console.log(actionlist);
                  for (var i = 0; i < actionlist.length; i++) {
                     var action = actionlist[i];
                     if (action.action_type == 'set_dlg_attr') {
                        var result = action.value;
                        for (var i = 0; i < result.length; i++) {
                           if (result[i].choice_list) {
                              for (var c = 0; c < styledef.form.items.length; c++) {
                                 var attr = styledef.form.items[c];
                                 if(attr.name!='Layout'){
                                   if(attr.fieldId==result[i].attr){
                                      var dictItemList=[];
                                      for(var d in result[i].choice_list){
                                         var val =result[i].choice_list[d];
                                         dictItemList.push({"CN_S_NAME":val,"CN_S_VALUE":val,"text":val,"value":val});
                                      }
                                      attr.dict = dictItemList;
                                   }
                                 } else if(attr.name=='Layout'){
                                   attr.setting.colList.forEach(col=>{
                                     if(col){
                                       if(col.fieldId==result[i].attr){
                                          var dictItemList=[];
                                          for(var d in result[i].choice_list){
                                             var val =result[i].choice_list[d];
                                             dictItemList.push({"CN_S_NAME":val,"CN_S_VALUE":val,"text":val,"value":val});
                                          }
                                          col.dict = dictItemList;
                                       }
                                     }
                                   });
                                 }
                              }
                           }
                           for (var c = 0; c < styledef.form.items.length; c++) {
                              var attr = styledef.form.items[c];
                              // console.log(attr[j].Name+'=='+result[i].attr);
                              //判断表单里是否有返回字段,没有就装载到model里,点击确定提交的时候带上这些数据
                              if($this.head_styledef.form.model[result[i].attr]==undefined){
                                   $this.head_styledef.form.model[result[i].attr]=result[i].value;
                              }
                              //判断是否是栅格表单
                              if(attr.name!='Layout'){
                                if(attr.fieldId==result[i].attr){
                                   attr.value = '';
                                   attr.oldvalue = '';
                                   attr.value = result[i].value;
                                   attr.oldvalue = result[i].value;
                                   $this.head_styledef.form.model[attr.fieldId] =result[i].value;
                                }
                              } else if(attr.name=='Layout'){
                                attr.setting.colList.forEach(col=>{
                                  if(col){
                                    if(col.fieldId==result[i].attr){
                                       col.value = '';
                                       col.oldvalue = '';
                                       col.value = result[i].value;
                                       col.oldvalue = result[i].value;
                                       $this.head_styledef.form.model[col.fieldId] =result[i].value;
                                    }
                                  }
                                });
                              }
                           }
                           var length = 0;
                           if (!$this.$data.refdatastore.filter(function (s) {
                              return result[i].attr == s.attr
                           }).length) {
                              length = 1;
                              $this.$data.refdatastore.push(result[i]);
                           }
                           if (length == 0) {
                              for (var j = 0; j < $this.$data.refdatastore.length; j++) {
                                 if ($this.$data.refdatastore[j].attr == result[i].attr) {
                                    $this.$data.refdatastore[j].value = result[i].value;
                                 }
                              }
                           }
                        }
                     } else if (data.action[i].action_type == 'set_dlg_attr_show') {
                        var result = action.value;
                        result.forEach(async (attr,key) => {
                          styledef.form.items.forEach(async (ele,index) => {
                            //判断是否是栅格表单
                           if(ele.name!='Layout'){
                              if(ele.fieldId==attr.attr){
                                 ele.show=attr.show;
                              }
                           } else if(ele.name=='Layout'){
                              ele.setting.colList.forEach(col=>{
                                 if(col){
                                    if(col.fieldId==attr.attr){
                                       col.show=attr.show;
                                    }
                                 }
                              });
                           }
                          });
                        });
                        var style_def = JSON.parse(JSON.stringify(styledef));
                        if(type=='head'){
                           $this.$data.head_styledef =[];
                           $this.$data.head_styledef = style_def;
                           // console.log($this.$data.head_styledef);
                        }else{
                           $this.$data.detail1_styledef =[];
                           $this.$data.detail1_styledef = style_def;
                           // console.log($this.$data.detail1_styledef);
                        }
                     } else {
                        uni.showModal({title:"提示",content:"执行初始化事件失败:"+item.action_type + '此action尚未处理!',showCancel:false,confirmText:"取消"});
                     }
                  }
               }
            }
         }else{
            uni.showModal({title:"错误3",content:"执行初始化事件失败:"+success.err_msg,showCancel:false,confirmText:"取消"});
         }
      }).catch(ex=>{
         // console.log(ex);
         uni.showModal({title:"错误3.1",content:"执行初始化事件失败:"+ex.errMsg,showCancel:false,confirmText:"取消"});
      });
   },
   
   ontap(item){ //扫码功能
      //console.log(e.target)
@@ -907,7 +664,7 @@
               //    $this.focusMateria=true; //第二个输入框获取焦点
                  setTimeout(function(){
                     uni.hideKeyboard();
                  },100);
                  },1000);
               // },500);
            }
            //子数据类扫码区事件脚本
@@ -1378,7 +1135,7 @@
                     if (action.action_type == 'set_dlg_attr') {
                        var result = action.value;
                        for (var i = 0; i < result.length; i++) {
                              if (result[i].choice_list) {
                           if (result[i].choice_list) {
                              for (var c = 0; c < $this.head_styledef.form.items.length; c++) {
                                 var attr = $this.head_styledef.form.items[c];
                                 if(attr.name!='Layout'){
@@ -1447,9 +1204,35 @@
                              }
                           }
                        }
                     } else if (data.action[i].action_type == 'set_global_attr') {
                        $this.$data.global_attr = data.action[i].value || [];
                     }
                     } else if (action.action_type == 'set_dlg_attr_show') {
                        var result = action.value;
                        result.forEach(async (attr,key) => {
                          $this.$data.head_styledef.form.items.forEach(async (ele,index) => {
                            //判断是否是栅格表单
                           if(ele.name!='Layout'){
                              if(ele.fieldId==attr.attr){
                                 ele.show=attr.show;
                              }
                           } else if(ele.name=='Layout'){
                              ele.setting.colList.forEach(col=>{
                                 if(col){
                                    if(col.fieldId==attr.attr){
                                       col.show=attr.show;
                                    }
                                 }
                              });
                           }
                          });
                        });
                        var head_styledef = JSON.parse(JSON.stringify($this.$data.head_styledef));
                        $this.$data.head_styledef =[];
                        $this.$data.head_styledef = head_styledef;
                        // console.log($this.$data.head_styledef);
                     } else if (action.action_type == 'set_global_attr') {
                        $this.$data.global_attr = action.value || [];
                     } else {
                        uni.showModal({title:"提示",content:action.action_type + '此action尚未处理!',showCancel:false,confirmText:"取消"});
                     }
                  }
               }
               
@@ -1713,7 +1496,9 @@
                              }
                           }
                        }
                     }
                     } else {
                        uni.showModal({title:"提示",content:action.action_type + '此action尚未处理!',showCancel:false,confirmText:"取消"});
                     }
                  }
               }
               
@@ -1911,3 +1696,416 @@
  },
};
</script>
<style>
.v-headStyle{
  /* border: 1px solid red; */
}
.v-headStyle:first-child{
   margin-top: 15rpx;
}
.v-headStyle .txt_title{
  font-size: 34rpx;
  text-align: right;
  display: inline-block;
  vertical-align: 12px;
}
.v-headStyle input{
   display: inline-block;
   /* border: 1px solid #d5d5d5; */
   /* width: 65%; */
   width: 85%;
   height: 52rpx;
    line-height: 34rpx;
   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: 4rpx;
}
.v-headStyle input::-webkit-input-placeholder {
   font-size: 12rpx;
}
.input-wrapper{
   border: 1px solid #d5d5d5;
    display: inline-block;
    width: 65%;
   line-height: 22rpx;
}
[nvue] uni-view {
    position: relative;
    border: 0 solid #000;
    box-sizing: border-box;
}
.uni-input {
   /* border: none; */
}
.uni-icon{
   /* border: 1px solid red; */
   width: 8%;
    font-family: uniicons;
    font-size: 40rpx;
    font-weight: 400;
    font-style: normal;
    /* width: 48rpx; */
    height: 48rpx;
    line-height: 48rpx;
   color: #2d8cf0;
    cursor: pointer;
    display: inline-block;
   vertical-align: 18rpx;
}
.view-content{
   min-height: 700rpx;
   /* border:1px solid red; */
}
.dv-panel{
    /* padding: 10rpx 20rpx 4rpx 0px; */
    border-radius: 12rpx;
    /* margin-bottom: 20rpx; */
   text-align: right;
}
.dv-panel:first-child{
    padding-top: 10rpx;
}
.dv-panel-input{
   width: 100%;
    display: inline-block;
   text-align: left;
}
.dv-panel .txt_title{
  font-size: 34rpx;
  text-align: right;
  display: inline-block;
  vertical-align: 12px;
}
.dv-panel input{
   /* vertical-align: middle; */
   display: inline-block;
   border: 1px solid #d5d5d5;
   width: 68%;
   height: 52rpx;
    line-height: 34rpx;
   background: #FFF;
   border-radius: 7px !important;
   color: #2d8cf0;
   padding: 6rpx 8rpx 8rpx;
   font-size: 32rpx;
   font-family: inherit;
   box-shadow: none !important;
   transition-duration: 0.1s;
   margin-top: 0rpx;
}
.dv-panel input::-webkit-input-placeholder {
   font-size: 10rpx;
}
.input-disabled{
   background-color: #f3f3f3 !important;
}
.dv-panel .form-item-span{
   vertical-align:top;
    color: #2d8cf0;
   white-space: normal;
   word-break: break-all;
    display: inline-block;
   width: calc(100% - 100px);
   /* border: 1rpx solid red; */
}
button.btn_cancel {
   width:49.5%;
   margin-top: 50rpx;
   padding: 20rpx;
   line-height: 1.5;
   border: none;
   font-size: 38rpx;
   font-weight: bold;
   float: left;
   display: inline-block;
}
button.btn_add {
   width:49.5%;
   margin-top: 50rpx;
   padding: 20rpx;
   line-height: 1.5;
   border: none;
   font-size: 38rpx;
   font-weight: bold;
   float: right;
   display: inline-block;
}
#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: 10px;
}
#dv_select .uni-select{
   border: 1px solid #ccc;
   border-radius: 0 !important;
   color: #2d8cf0;
}
#dv_select .uni-select__input-text{
   color: #2d8cf0;
}
.panel_title{
   font-size: 38rpx;
   background-color: #27A6E1;
   line-height: 80rpx;
   color: #fff;
   text-align: center;
    font-weight: bold;
}
.v-panel{
   min-height:770rpx;
}
.v-panellist{
    background-color:#efefef;
   border:4rpx solid #aaa;
   border-radius: 10rpx;
   margin: 10rpx 10rpx 0rpx 20rpx;
}
.v-paneldel{
   text-align: right;
}
.panel_del{
   font-size: 44rpx;
   text-decoration: initial;
   margin-top: 10rpx;
   margin-right: 20rpx;
}
button.btn_add {
   width:49.5%;
   margin-top: 50rpx;
   padding: 20rpx;
   line-height: 1.5;
   background: #27A6E1;
   border: none;
   color: #fff;
    font-size: 38rpx;
   font-weight: bold;
   float: right;
   display: inline-block;
}
button.btn_cancel {
   width:49.5%;
   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;
}
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;
}
.class_attr_body .form-group {
   margin: 20rpx 30rpx;
    /* margin-left: -12px;
    margin-right: -12px; */
}
.subclass_attr_body .form-group {
   margin: 20rpx 10rpx;
    /* margin-left: -12px;
    margin-right: -12px; */
}
.form-group > label[class*="col-"] {
    margin-bottom: 8rpx;
   font-size: 32rpx;
}
.form-group label {
    vertical-align: middle;
    line-height: 60rpx;
}
.tx_title2{
   font-size: 32rpx;
   text-align: right;
   display: inline-block;
   vertical-align: -2px;
}
.attr_field{
   display: inline-block;
   vertical-align: middle;
   margin-left: 8px;
   /* width: 71%; */
}
.text-right2 {
   margin: 0;
   vertical-align: -4px;
   margin-left: 9px;
   float: none;
   font-size: 44rpx;
   display: inline-block;
}
input::-webkit-input-placeholder {
   font-size: 12rpx;
}
.v-panel input{
   border: 1px solid #d5d5d5;
   width: 98%;
   height: 52rpx;
   background: #FFF;
   border-radius: 0 !important;
   color: #046db3;
   padding: 10rpx 8rpx 12rpx;
   font-size: 34rpx;
   font-family: inherit;
   box-shadow: none !important;
   transition-duration: 0.1s;
   margin-top: 4rpx;
}
.date_iput{
   /* border: 1px solid #d5d5d5; */
   /* width: 98%; */
   height: 62rpx;
   background: #FFF;
   border-radius: 0 !important;
   color: #046db3;
   padding: 10rpx 8rpx 4rpx;
   font-size: 34rpx;
   font-family: inherit;
   box-shadow: none !important;
   transition-duration: 0.1s;
}
.dv_input{
    display: inline-block;
    width: 65%;
   /* line-height: 22rpx; */
}
.view-popup{
   position:relative;
}
.popup-content {
   @include flex;
   align-items: center;
   justify-content: center;
   padding: 30rpx;
   background-color: #fff;
   /* height: 150px; */
   /* border: 1px solid red; */
}
.popup-cont {
   overflow-y: auto;
   /* border: 1px solid red; */
}
.popup-height {
   @include height;
   /* width: 200px; */
}
.popup-header{
   font-size: 42rpx;
   font-weight: bold;
   margin:20rpx 20rpx 0px 20rpx;
}
.view_popup_CheckList{
   margin-bottom: 20rpx;
}
.popup-footer{
   float: right;
   position:absolute;
   bottom:0;
   right:20rpx;
}
button.btn_popup_add {
   width:180rpx;
   margin-top: 50rpx;
   margin-right: 20rpx;
   padding: 15rpx;
   line-height: 1.5;
   background: #27A6E1;
   border: none;
   color: #fff;
    font-size: 38rpx;
   font-weight: bold;
   /* float: left; */
   display: inline-block;
}
button.btn_popup_cancel {
   width:180rpx;
   margin-top: 50rpx;
   padding: 15rpx;
   line-height: 1.5;
   background: #27A6E1;
   border: none;
   color: #fff;
    font-size: 38rpx;
   font-weight: bold;
   /* float: right; */
   display: inline-block;
}
.bk-active{
  background-color: #D6FCB2;
  border: 1px solid #D6FCB2;
}
.view-floor{
   padding: 0 20rpx;
}
</style>
<style lang="scss">
   .demo-uni-row {
      margin-bottom: 0px;
      display: block;
   }
   ::v-deep .uni-row {
      margin-bottom: 0px;
   }
   .view-tabpage ::v-deep .uni-row  {
      margin-bottom: 5px;
   }
   .demo-uni-col {
      height: 36px;
      border-radius: 5px;
   }
   .demo-uni-row .uni-input{
      width: calc(100% - 120px);
   }
   .text {
       font-size: 12px;
       color: #666;
       margin-top: 5px;
   }
   // .uni-px-5 {
   //    margin: 0;
   //    display: inline-block;
   //    margin: 0;
   //    font-size: 14px;
   // }
   // .uni-select{
   //    border: 1px solid #ccc;
   //    border-radius: 0;
   // }
   // .uni-section-content{
   //    display: inline-block;
   //    width: 100px;
   //    border: 1px solid red;
   // }
</style>