pages/modal/classAttr.vue
@@ -96,10 +96,10 @@
       width: 100%;
   }
   .tx_title{
      font-size: 36rpx;
      font-size: 32rpx;
   }
   .tx_title2{
      font-size: 36rpx;
      font-size: 32rpx;
      text-align: right;
      display: inline-block;
      vertical-align: -2px;
@@ -109,14 +109,17 @@
      margin-top: -6rpx;
      display: inline-block;
      float: right;
      font-size: 44rpx;
      font-size: 48rpx;
   }
   .text-right a,.text-right2 a{
      color: #337ab7;
   }
   .text-right2 {
      margin: 0;
      vertical-align: -4px;
      margin-left: 9px;
      float: none;
      font-size: 44rpx;
      font-size: 48rpx;
      display: inline-block;
   }
   .section_iput{
@@ -146,12 +149,30 @@
      transition-duration: 0.1s;
   }
   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;
   }
   .i_tishi{
      color: red;
@@ -187,6 +208,112 @@
   .input_vallist ul li a i {
       font-size: 45rpx;
   }
   .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;
   }
</style>
<style>
   .touch-item {
           background-color: #F8F9FC;
           display: flex;
           justify-content: space-between;
           width: 100%;
           overflow: hidden
       }
       .itemcontent {
           display: flex;
           flex-direction: column;
           padding: 5px 10px;
           border-bottom: 1px solid #eeeeee;
           margin-right: 0;
           margin-left: -100px;
           width: 100%;
           -webkit-transition: all 0.4s;
           transition: all 0.4s;
           -webkit-transform: translateX(100px);
           transform: translateX(100px);
           position: relative;
       }
       .itembtn {
           width: 100px;
           display: flex;
           flex-direction: column;
           align-items: center;
           justify-content: center;
           background-color: #119bf8;
           color: white;
           position: relative;
           -webkit-transform: translateX(100px);
           transform: translateX(100px);
           -webkit-transition: all 0.4s;
           transition: all 0.4s;
       }
       .touch-move-active .itemcontent,
       .touch-move-active .itembtn {
           -webkit-transform: translateX(0);
           transform: translateX(0);
       }
</style>
<template>
@@ -202,13 +329,13 @@
         </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':''}">
               <view class="form-group" v-if="attr.Type=='字符串' || attr.Type=='可变长字符串' || attr.Type=='整数' || attr.Type=='浮点数'" :style="{'display':attr.hidden == true?'none':''}">
                  <view v-if="classattr.control_style=='上下布局'">
                     <text class="tx_title" :style="{'width':classattr.title_p_wdith+'%'}">{{attr.DispName}}:<i class="i_tishi" v-if="attr.notempty==true">*</i></text>  <!-- attr.NotEmpty=='1' -->
                     <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 -->
                     <input :type="attr.Type=='整数' || attr.Type=='浮点数'?'number':'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>
                     <!-- 扫码后事件返回 -->
@@ -220,16 +347,16 @@
                  </view>
                  <view v-if="classattr.control_style=='左右布局'">
                     <p class="tx_title2" :style="{'width':classattr.title_p_wdith+'%'}">{{attr.DispName}}:</p>
                     <input type="text" class="attr_field" :value="attr.Value" @focus="ontap" @blur="onevent" v-if="attr.Height=='1'" :data-index="index" :data-iindex="iindex" :style="{'width': attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.NotEmpty=='1'?10:5) - (attr.ext_button==true?9:0) +'%'}" :disabled="attr.edit?false:true" >
                     <textarea class="attr_field" :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] - classattr.title_p_wdith - (attr.NotEmpty=='1'?10:5) - (attr.ext_button==true?9:0) +'%'}" :disabled="attr.edit?false:true"></textarea>
                     <textarea class="attr_field" :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] - classattr.title_p_wdith - (attr.NotEmpty=='1'?10:5) - (attr.ext_button==true?9:0) +'%'}" :disabled="attr.edit?false:true"></textarea>
                     <input :type="attr.Type=='整数' || attr.Type=='浮点数'?'number':'text'" class="attr_field" :value="attr.Value" @focus="ontap" @blur="onevent" v-if="attr.Height=='1'" :data-index="index" :data-iindex="iindex" :style="{'width': attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.notempty==true?10:5) - (attr.ext_button==true?9:0) +'%'}" :disabled="attr.edit?false:true" >
                     <textarea class="attr_field" :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] - classattr.title_p_wdith - (attr.notempty==true?10:5) - (attr.ext_button==true?9:0) +'%'}" :disabled="attr.edit?false:true"></textarea>
                     <textarea class="attr_field" :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] - classattr.title_p_wdith - (attr.notempty==true?10:5) - (attr.ext_button==true?9:0) +'%'}" :disabled="attr.edit?false:true"></textarea>
                     <div class="text-right2" v-if="attr.ext_button==true">
                        <a @tap="classAttr_extButton(index,iindex)" ><i class="ace-icon fa fa-plus-circle"></i></a>
                     </div>
                     <i class="i_tishi" v-if="attr.notempty==true">*</i>
                  </view>
               </view>
               <view class="form-group" v-if="attr.Type=='布尔值'" :style="{'display':attr.hidden == 'True'?'none':''}">
               <view class="form-group" v-if="attr.Type=='布尔值'" :style="{'display':attr.hidden == true?'none':''}">
                  <checkbox-group class="check_rememberPwd" @change="oncheck" :data-ischeck="attr.Value" :data-index="index" :data-iindex="iindex" :style="{'margin-left': classattr.control_style=='左右布局'?classattr.title_p_wdith+2 +'%':'10rpx'}">
                     <label>
                        <checkbox :value="attr.Value" :checked="attr.Value"/>
@@ -237,7 +364,7 @@
                     </label>
                  </checkbox-group>
               </view>
               <view class="form-group" v-if="attr.Type=='日期' || attr.Type=='时间'" :style="{'display':attr.hidden == 'True'?'none':''}">
               <view class="form-group" v-if="attr.Type=='日期' || attr.Type=='时间'" :style="{'display':attr.hidden == true?'none':''}">
                  <view v-if="classattr.control_style=='上下布局'">
                     <text class="tx_title" :style="{'width':classattr.title_p_wdith+'%'}">{{attr.DispName}}:<i class="i_tishi" v-if="attr.notempty==true">*</i></text>
                     <picker mode="date" :value="attr.Value" @change="ondateTime" class="date_iput" :data-index="index" :data-iindex="iindex" :style="{'width':attr.Width}">
@@ -246,13 +373,13 @@
                  </view>
                  <view v-if="classattr.control_style=='左右布局'">
                     <p class="tx_title2" :style="{'width':classattr.title_p_wdith+'%'}">{{attr.DispName}}:</p>
                     <picker mode="date" :value="attr.Value" @change="ondateTime" class="date_iput attr_field" :data-index="index" :data-iindex="iindex" :style="{'width': attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.NotEmpty=='1'?10:5) +'%'}">
                     <picker mode="date" :value="attr.Value" @change="ondateTime" class="date_iput attr_field" :data-index="index" :data-iindex="iindex" :style="{'width': attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.notempty==true?10:5) +'%'}">
                        <view class="picker">{{attr.Value}}</view>
                     </picker>
                     <i class="i_tishi" v-if="attr.notempty==true">*</i>
                  </view>
               </view>
               <view class="form-group" v-if="attr.Type=='字典' || attr.Type=='字典-字符串'" :style="{'display':attr.hidden == 'True'?'none':''}">
               <view class="form-group" v-if="attr.Type=='字典' || attr.Type=='字典-字符串' || attr.Type=='字典-整数'" :style="{'display':attr.hidden == true?'none':''}">
                  <view v-if="classattr.control_style=='上下布局'">
                     <text class="tx_title">{{attr.DispName}}:<i class="i_tishi" v-if="attr.notempty==true">*</i></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">
@@ -262,14 +389,14 @@
                  </view>
                  <view v-if="classattr.control_style=='左右布局'">
                     <p class="tx_title2" :style="{'width':classattr.title_p_wdith+'%'}">{{attr.DispName}}:</p>
                     <picker class="section_iput attr_field" @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] - classattr.title_p_wdith - (attr.NotEmpty=='1'?10:5) +'%'}">
                     <picker class="section_iput attr_field" @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] - classattr.title_p_wdith - (attr.notempty==true?10:5) +'%'}">
                        <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}"></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="{'display':'inline-block','margin-left':'8px','width':attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.notempty==true?10:5) +'%'}"></select-cy>
                     <i class="i_tishi" v-if="attr.notempty==true">*</i>
                  </view>
               </view>
               <view class="form-group" v-if="attr.Type=='引用对象(单个)' || attr.Type=='引用对象(多个)'" :style="{'display':attr.hidden == 'True'?'none':''}">
               <view class="form-group" v-if="attr.Type=='引用对象(单个)' || attr.Type=='引用对象(多个)'" :style="{'display':attr.hidden == true?'none':''}">
                  <view v-if="classattr.control_style=='上下布局'">
                     <text class="tx_title">{{attr.DispName}}:<i class="i_tishi" v-if="attr.notempty==true">*</i></text>
                     <div class="text-right" v-if="attr.Type=='引用对象(单个)'">
@@ -285,7 +412,7 @@
                  </view>
                  <view v-if="classattr.control_style=='左右布局'">
                     <p class="tx_title2" :style="{'width':classattr.title_p_wdith+'%'}">{{attr.DispName}}:</p>
                     <input type="text" class="attr_field" :data-index="index" :data-iindex="iindex" :style="{'width': attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.NotEmpty=='1'?10:5) - 9 +'%'}" disabled="true" >
                     <input type="text" class="attr_field" :data-index="index" :data-iindex="iindex" :style="{'width': attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.notempty==true?10:5) - 9 +'%'}" disabled="true" >
                     <div class="text-right2" v-if="attr.Type=='引用对象(单个)'">
                        <a @tap="classAttr_AddRef" :data-classid="attr.RelCls.split('|')[0]" :data-classname="attr.RelCls.split('|')[1]" ><i class="ace-icon fa fa-plus-circle"></i></a>
                     </div>
@@ -298,7 +425,7 @@
                     <i class="i_tishi" v-if="attr.notempty==true">*</i>
                  </view>
               </view>
               <view class="form-group" v-if="attr.Type=='引用人员'" :style="{'display':attr.hidden == 'True'?'none':''}">
               <view class="form-group" v-if="attr.Type=='引用人员'" :style="{'display':attr.hidden == true?'none':''}">
                  <view v-if="classattr.control_style=='上下布局'">
                     <text class="tx_title">{{attr.DispName}}:<i class="i_tishi" v-if="attr.notempty==true">*</i></text>
                     <div class="text-right">
@@ -308,14 +435,14 @@
                  </view>
                  <view v-if="classattr.control_style=='左右布局'">
                     <p class="tx_title2" :style="{'width':classattr.title_p_wdith+'%'}">{{attr.DispName}}:</p>
                     <input type="text" class="attr_field" :value="attr.Value" :style="{'width': attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.NotEmpty=='1'?10:5) - 9 +'%'}" disabled="true" >
                     <input type="text" class="attr_field" :value="attr.Value" :style="{'width': attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.notempty==true?10:5) - 9 +'%'}" disabled="true" >
                     <div class="text-right2">
                        <a class="class_attr_add_per" @tap="classAttr_AddPer(index,iindex)"><i class="ace-icon fa fa-plus-circle"></i></a>
                     </div>
                     <i class="i_tishi" v-if="attr.notempty==true">*</i>
                  </view>
               </view>
               <view class="form-group" v-if="attr.Type=='引用项目'" :style="{'display':attr.hidden == 'True'?'none':''}">
               <view class="form-group" v-if="attr.Type=='引用项目'" :style="{'display':attr.hidden == true ?'none':''}">
                  <view v-if="classattr.control_style=='上下布局'">
                     <text class="tx_title">{{attr.DispName}}:<i class="i_tishi" v-if="attr.notempty==true">*</i></text>
                     <div class="text-right">
@@ -325,41 +452,66 @@
                  </view>
                  <view v-if="classattr.control_style=='左右布局'">
                     <p class="tx_title2" :style="{'width':classattr.title_p_wdith+'%'}">{{attr.DispName}}:</p>
                     <input type="text" class="attr_field" :value="attr.Value" :style="{'width': attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.NotEmpty=='1'?10:5) - 9 +'%'}" disabled="true" >
                     <input type="text" class="attr_field" :value="attr.Value" :style="{'width': attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.notempty==true?10:5) - 9 +'%'}" disabled="true" >
                     <div class="text-right2">
                        <a class="class_attr_add_prj" @tap="classAttr_AddPrj(index,iindex)"><i class="ace-icon fa fa-plus-circle"></i></a>
                     </div>
                     <i class="i_tishi" v-if="attr.notempty==true">*</i>
                  </view>
               </view>
               <view class="form-group" v-if="attr.Type=='编码'" :style="{'display':attr.hidden == 'True'?'none':''}">
               <view class="form-group" v-if="attr.Type=='编码'" :style="{'display':attr.hidden == true ?'none':''}">
                  <view v-if="classattr.control_style=='上下布局'">
                     <text class="tx_title">{{attr.DispName}}:<i class="i_tishi" v-if="attr.notempty==true">*</i></text>
                     <input type="text" :data-index="index" :data-iindex="iindex" :style="{'width':attr.Width}" :disabled="attr.edit?false:true" >
                  </view>
                  <view v-if="classattr.control_style=='左右布局'">
                     <p class="tx_title2" :style="{'width':classattr.title_p_wdith+'%'}">{{attr.DispName}}:</p>
                     <input type="text" class="attr_field" :data-index="index" :data-iindex="iindex" :style="{'width': attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.NotEmpty=='1'?10:5) +'%'}" :disabled="attr.edit?false:true" >
                     <input type="text" class="attr_field" :data-index="index" :data-iindex="iindex" :style="{'width': attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.notempty==true?10:5) +'%'}" :disabled="attr.edit?false:true" >
                     <i class="i_tishi" v-if="attr.notempty==true">*</i>
                  </view>
               </view>
               <view class="form-group" v-if="attr.Type=='省市区'" :style="{'display':attr.hidden == 'True'?'none':''}">
               <view class="form-group" v-if="attr.Type=='省市区'" :style="{'display':attr.hidden == true?'none':''}">
                  <view v-if="classattr.control_style=='上下布局'">
                     <text class="tx_title">{{attr.DispName}}:<i class="i_tishi" v-if="attr.notempty==true">*</i></text>
                     <pickerAddress class="date_iput" @change="addresschange" :data-index="index" :data-iindex="iindex" :style="{'width':attr.Width}" >{{attr.Value}}</pickerAddress>
                  </view>
                  <view v-if="classattr.control_style=='左右布局'">
                     <p class="tx_title2" :style="{'width':classattr.title_p_wdith+'%'}">{{attr.DispName}}:</p>
                     <pickerAddress class="date_iput attr_field" @change="addresschange" :data-index="index" :data-iindex="iindex" :style="{'width': attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.NotEmpty=='1'?10:5) +'%'}">{{attr.Value}}</pickerAddress>
                     <pickerAddress class="date_iput attr_field" @change="addresschange" :data-index="index" :data-iindex="iindex" :style="{'width': attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.notempty==true?10:5) +'%'}">{{attr.Value}}</pickerAddress>
                     <i class="i_tishi" v-if="attr.notempty==true">*</i>
                  </view>
               </view>
            </div>
         </div>
         
         <button type="default" @tap="sava" class="btn_add">{{title}}</button>
      </view>
      <button type="default" @tap="cancel" class="btn_cancel">取消</button>
      <button type="default" @tap="sava" class="btn_add">{{title}}</button>
      <!-- 普通弹窗 top bottom center left right -->
      <view>
         <uni-popup class="view-popup" ref="popup" background-color="#fff" @change="popupChange">
            <view class="popup-header">{{check_list.title}}</view>
            <view class="popup-content" :class="{ 'popup-height': popupType === 'left' || popupType === 'right' }"
            :style="{'width':check_list.width?check_list.width+'px':'200px','height':check_list.height?check_list.height+'px':'88%'}">
               <view class="popup-cont" :style="{'height':check_list.height?check_list.height-45+'px':'415px'}">
                  <view class="view_popup_CheckList" v-for="(item,index) in check_list.items">
                     <checkbox-group class="check_list" @change="checkChange" :data-ischeck="item.check" :data-index="index"  :style="{'margin-left': '10rpx'}">
                        <label>
                           <checkbox :value="item.check" :checked="item.check"/>
                           <text>{{item.name}}</text>
                        </label>
                     </checkbox-group>
                  </view>
               </view>
               <view class="popup-footer">
                  <button type="default" @tap="popup_sava" class="btn_popup_add">确定</button>
                  <button type="default" @tap="popup_cancel" class="btn_popup_cancel">取消</button>
               </view>
            </view>
         </uni-popup>
      </view>
      <!-- <button class="button" type="primary" @click="classAttr_extButton('right')"><text class="button-text">右侧</text></button> -->
   </view>
</template> 
@@ -382,6 +534,9 @@
            global_attr:[],
            refdatastore: [],      //引用数据存储区// {attr:'G_PRJ_' + bindattr + '_ID', value:info.id}
            inputValList:[{Name:"test"},{Name:"test2"},{Name:"test3"},{Name:"test4"},{Name:"test5"},{Name:"test6"},{Name:"test7"}],
            popupType:"center",
            check_list:{},
            popupParam:{},
         }
      },
      onLoad(options) {
@@ -430,6 +585,102 @@
         
      },
      methods: {
         classAttr_extButton(index,iindex){  //弹框层显示 type:top bottom center left right
            var $this = this;
            $this.$data.popupType = 'right'
            // open 方法传入参数 等同在 uni-popup 组件上绑定 type属性
            $this.$refs.popup.open($this.popupType);
            var data_attr = $this.$data.classAttrList[index].Attr[iindex];
            // var value = action.value;
            // var action ={"action_type":"open_common_dlg","value":{"common_dlg_id":"check_list","config":{"title":"生产工单","appear_style":"sideslip","width":250,"multiple_choice":"1","items":[{"id":"133D50D7-D798-4D2E-A15F-308365092DF5","name":"5100691673", "check":false},{"id":"22992021-7D3B-4959-86B7-EF184B596AC6","name":"5100691674", "check":false},{"id":"48FBBE8E-594D-45D5-8C24-385C661C4A1C","name":"5100691675", "check":false},{"id":"4E429C60-325A-42ED-BEA3-B3397C07CCA1","name":"5100691668", "check":false}]}}}
            // if (action.action_type == 'open_common_dlg') {
            //    var value = action.value;
            //    if(value.common_dlg_id == 'check_list'){
            //       $this.$data.check_list= value.config;
            //    }
            // }
            // var popupParam={
            //    index: index,
            //    iindex: iindex,
            //    button_callback:"",
            //    req:"",
            //    data_attr:data_attr
            // }
            // $this.$data.popupParam= popupParam;
            // return;
            var before_click_button = $this.$data.classAttrList[index].Attr[iindex].before_click_button;
            var button_callback = $this.$data.classAttrList[index].Attr[iindex].button_callback;
            if(!before_click_button){
               uni.showModal({title:"提示",content:"before_click_button-event_id为空!",showCancel:false,confirmText:"取消"});
               return;
            }
            if(!button_callback){
               uni.showModal({title:"提示",content:"button_callback-event_id为空!",showCancel:false,confirmText:"取消"});
               return;
            }
            this.DataObjRunCustomEvent_Return(before_click_button, data_attr, button_callback, index,iindex);
         },
         popupChange(e) {
            console.log('当前模式:' + e.type + ',状态:' + e.show);
         },
         checkChange(e){ //弹框check选择
            // console.log(e.target.dataset);
            var index = e.target.dataset.index;
            var ischeck = e.target.dataset.ischeck;
            var data = this.$data.check_list.items;
            // this.$data.check_list.items=[];
            if(this.$data.check_list.multiple_choice=="0"){ //判断时单选还是多选
               for(var i in data){
                  data[i].check=false;
               }
            }
            data[index].check=ischeck?false:true;
            this.$data.check_list.items=data;
         },
         popup_cancel(e){ //弹框取消
            this.$refs.popup.close();
         },
         popup_sava(e){ //弹框确定
            var $this = this;
            var items = $this.$data.check_list.items;
            var data=[];
            var name="";
            for (var i = 0; i < items.length; i++) {
               if(items[i].check==true){
                  if(name)
                     name+=';';
                  name+=items[i].name;
                  data.push({id:items[i].id,name:items[i].name});
               }
            }
            if(!$this.$data.popupParam){
               uni.showModal({title:"提示",content:"popupParam为空!",showCancel:false,confirmText:"取消"});
               return;
            }
            $this.$data.classAttrList[$this.$data.popupParam.index].Attr[$this.$data.popupParam.iindex].Value=name;
            console.log(data);
            var callback_eventid = $this.$data.popupParam.button_callback.trim();
            var info = {
                eventid: callback_eventid,
                edtype: "0",
                projectid: '',
                rclsid: '',
                robjid: '',
                userlogin: '',
                clsid: $this.$data.param.clsid,
                objid: "",
                attr: $this.$data.popupParam.req,
                dataJson: data
            }
            $this.DataObjRunCustomEvent(info, $this.$data.popupParam.data_attr);
            this.$refs.popup.close();
         },
         cancel(e){
            uni.navigateBack({
               delta:1 //返回层数,2则上上页
            });
         },
         async classGridStyleInfo(){
            var $this = this;
            var gridstyleInfo = {
@@ -450,6 +701,7 @@
                  if (success.code=='00000') {
                     success.data.StyleDef = JSON.parse(success.data.StyleDef);
                     $this.$data.classGridStyle = success.data;
                     // console.log($this.$data.classGridStyle);
                     
                     $this.class_attr_init();
                  }else{
@@ -462,10 +714,13 @@
            }
         },
         ontap(e){ //扫码功能
            var $ele = e;
            //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;
               uni.hideKeyboard();
               this.onevent($ele,result.decodedata);
            })
         },
         onarrow(index,open){
@@ -477,13 +732,13 @@
            this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value=e.target.value;
         },
         onchange(e) {
            console.log(e.target);
            // console.log(e.target);
            var value=this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].dictitem[e.target.value];
            var data_attr = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']];
            console.log(data_attr);
            if (value.Name != data_attr.Value) {
               this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value=value.Name;
               console.log(this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value);
               // console.log(this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value);
               var eventid = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].action;
               if (eventid) {
                    // self.event_no_sub = 1;
@@ -513,6 +768,7 @@
                        clsid: this.$data.param.clsid,
                        objid: "",
                        attr: req,
                     dataJson:[]
                    }
                    this.DataObjRunCustomEvent(info);
                }
@@ -523,27 +779,24 @@
            // console.log(item);
            // console.log(value);
            // console.log(delvalue);
            if(item.length==0){ //为空时,清空属性value
            //为空时,清空属性value
            if(item.length==0){
               var index ,iindex,dindex=0;
               for(var i in this.$data.classAttrList){
                  for(var j in this.$data.classAttrList[i].Attr){
                     for(var d in this.$data.classAttrList[i].Attr[j].dictitem){
                        if(delvalue[0].Name == this.$data.classAttrList[i].Attr[j].dictitem[d].Name){
                           this.$data.classAttrList[i].Attr[j].Value="";
                        }
                     if(delvalue[0].attr == this.$data.classAttrList[i].Attr[j].Name){
                        this.$data.classAttrList[i].Attr[j].Value="";
                     }
                  }
               }
            }
            for(var v in item){
               var index ,iindex,dindex=0;
               for(var i in this.$data.classAttrList){
                  for(var j in this.$data.classAttrList[i].Attr){
                     for(var d in this.$data.classAttrList[i].Attr[j].dictitem){
                        if(item[v].Name == this.$data.classAttrList[i].Attr[j].dictitem[d].Name){
                           index=i;iindex=j;dindex=d;
                        }
                     if(item[v].attr == this.$data.classAttrList[i].Attr[j].Name){
                        index=i;iindex=j;
                     }
                  }
               }
@@ -553,7 +806,7 @@
               console.log(data_attr);
               if (itemvalue.Name != data_attr.Value) {
                  this.$data.classAttrList[index].Attr[iindex].Value=value;
                  console.log(this.$data.classAttrList[index].Attr[iindex].Value);
                  // console.log(this.$data.classAttrList[index].Attr[iindex].Value);
                  var eventid = this.$data.classAttrList[index].Attr[iindex].action;
                  if (eventid) {
                       // self.event_no_sub = 1;
@@ -569,7 +822,7 @@
                                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 if(ar.Type=='字典' || ar.Type=='字典-字符串')
                             else if(ar.Type=='字典' || ar.Type=='字典-字符串' || ar.Type=='字典-整数')
                              req.push({ attr: ar.Name, val: itemvalue.Name});
                             else
                                req.push({ attr: ar.Name, val: ar.Value ?ar.Value :''});
@@ -585,6 +838,7 @@
                           clsid: this.$data.param.clsid,
                           objid: "",
                           attr: req,
                        dataJson:[],
                       }
                       this.DataObjRunCustomEvent(info);
                   }
@@ -593,12 +847,12 @@
            
            
         },
         onevent(e){
         onevent(e,decodedata){
            // console.log(e.target);
            var data_attr = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']];
            // console.log(data_attr);
            // console.log(decodedata);
            if (e.target.value != data_attr.Value) {
               this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value=e.target.value;
               this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value=decodedata?decodedata:e.target.value;
               var eventid = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].action;
               if (eventid) {
                    // self.event_no_sub = 1;
@@ -628,6 +882,7 @@
                        clsid: this.$data.param.clsid,
                        objid: "",
                        attr: req,
                     dataJson:[],
                    }
                    this.DataObjRunCustomEvent(info, data_attr);
                }
@@ -671,6 +926,7 @@
                        clsid: this.$data.param.clsid,
                        objid: "",
                        attr: req,
                     dataJson:[],
                    }
                    this.DataObjRunCustomEvent(info);
                }
@@ -686,21 +942,6 @@
             // console.log(e.target);
             console.log(e.data.join(';'))
            this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value=e.data.join(';');
         },
         classAttr_extButton(index,iindex){
            var $this = this;
            var before_click_button = $this.$data.classAttrList[index].Attr[iindex].before_click_button;
            var button_callback = $this.$data.classAttrList[index].Attr[iindex].button_callback;
            if(!before_click_button){
               uni.showModal({title:"提示",content:"before_click_button-event_id为空!",showCancel:false,confirmText:"取消"});
               return;
            }
            if(!button_callback){
               uni.showModal({title:"提示",content:"button_callback-event_id为空!",showCancel:false,confirmText:"取消"});
               return;
            }
            var data_attr = this.$data.classAttrList[index].Attr[iindex];
            this.DataObjRunCustomEvent_Return(before_click_button, data_attr, button_callback, index,iindex);
         },
         classAttr_AddPer(index,iindex){
            var param={index:index,iindex:iindex};
@@ -728,6 +969,7 @@
                                 clsid: $this.$data.param.clsid,
                                 objid: "",
                                 attr: [],
                              dataJson:[],
                             }
                           
                           // var data_attr = $this.$data.classAttrList[param.index].Attr[param.iindex];
@@ -770,6 +1012,7 @@
                                 clsid: $this.$data.param.clsid,
                                 objid: "",
                                 attr: [],
                              dataJson:[],
                             }
                           
                             // var data_attr = $this.$data.classAttrList[param.index].Attr[param.iindex];
@@ -788,7 +1031,8 @@
         },
         add(){
            uni.showLoading({
               title:"加载中..."
               title:"加载中...",
               mask:true
            });
            var req=[];
            var attrlist = this.$data.classAttrList;
@@ -803,7 +1047,7 @@
                       req.push({ name: ar.Name, value: ar.ValID ?ar.ValID :'' });
                    else if(ar.Type=='布尔值')
                     req.push({ name: ar.Name, value: ar.Value?'1':'0'});
                    else if(ar.Type=='字典' || ar.Type=='字典-字符串'){
                    else if(ar.Type=='字典' || ar.Type=='字典-字符串' || ar.Type=='字典-整数'){
                     if(ar.select==true){ //判断下拉是否多选
                        var valStr ="";
                        for(var v in ar.Value){
@@ -818,8 +1062,8 @@
                  else
                     req.push({ name: ar.Name, value: ar.Value ?ar.Value :''});
                     
                  if ((ar.NotEmpty == '1' || ar.notempty == true) && !ar.Value) {
                  // if(ar.notEmpty=='1'){
                  if (ar.notempty == true && !ar.Value) {
                  // if(ar.NotEmpty=='1'){
                     uni.hideLoading();
                     // uni.showToast({title:ar.DispName+'不能为空!',icon:"success",duration:3000});
                     uni.showModal({title:"提示",content:ar.DispName+'不能为空!',showCancel:false,confirmText:"取消"});
@@ -844,19 +1088,32 @@
               not_trigger_sys_event: ''
            };
            
            // return
            console.log(dataInfo);
            // return
            this.$store.dispatch('addclassattr',dataInfo).then(success=>{
               console.log(success);
               uni.hideLoading();
               if (success.code=='00000') {
                  var action = JSON.parse(success.data.Action);
                  if(action.ret=='0'){
                     if(action.result_type=='0'){
                        uni.showToast({title:action.result,icon:"success",duration:3000});
                  if(success.data.Action){
                     var action = JSON.parse(success.data.Action);
                     console.log(action);
                     if(action.ret=='0'){
                        if (action.ret != 0) {
                           uni.showModal({title:"提示",content:'执行脚本失败,' + action.result,showCancel:false,confirmText:"取消"});
                           return;
                        }
                        if (action.info) {
                           uni.showModal({title:"提示",content:'执行脚本失败,' + action.info,showCancel:false,confirmText:"取消"});
                           return;
                        }
                        if(action.result_type=='0'){
                           uni.showToast({title:action.result,icon:"success",duration:3000});
                        }
                        // "{"ret":0, "result_type":0, "result":"创建成功123123123","info":""}"
                     }
                     // "{"ret":0, "result_type":0, "result":"创建成功123123123","info":""}"
                  }
                  } else
                     uni.showToast({title:"创建成功!",icon:"success",duration:3000});
                  //刷新
                  uni.redirectTo({
                     url:'../modal/classAttr?param='+JSON.stringify(this.$data.param)+"&titlename="+this.$data.title
@@ -899,15 +1156,18 @@
                                        ca.select = attrs[j].select==undefined?false:attrs[j].select;
                                 ca.Value ="";
                                 if(ca.dictitem){
                                    var dictitemlist=[];
                                    for (var d = 0; d < ca.dictitem.length; d++) {
                                       ca.dictitem[d].label=ca.dictitem[d].CN_S_NAME;
                                       ca.dictitem[d].value=ca.dictitem[d].CN_S_NAME;
                                    }
                                    if(ca.select == true)
                                       ca.Value = [];//ca.dictitem[0].CN_S_NAME;
                                    else 
                                       ca.Value = '请选择';//ca.dictitem[0].CN_S_NAME;
                                    var dictitemlist=[];
                                    for (var d = 0; d < ca.dictitem.length; d++) {
                                       ca.dictitem[d].label=ca.dictitem[d].CN_S_NAME;
                                       ca.dictitem[d].value=ca.dictitem[d].CN_S_NAME;
                                       ca.dictitem[d].attr=ca.Name;
                                       if(ca.dictitem[d].CN_C_IS_DEFAULT=='1')
                                          ca.Value=ca.dictitem[d].CN_S_NAME;
                                    }
                                 }
                                 if(ca.Type=='日期' || ca.Type=='时间'){
                                    var nowDate = new Date();
@@ -1026,7 +1286,7 @@
            var dataInfo = {
                    edtype: info.edtype, eventid: info.eventid, projectid: info.projectid,
                    rclsid: info.rclsid, robjid: info.robjid, userlogin: info.userlogin, clsid: info.clsid, objid: info.objid,
                    attr: JSON.stringify(info.attr), extinfo: JSON.stringify(param), inputparameter: inputparameter, global_attr: global_attr
                    attr: JSON.stringify(info.attr), extinfo: JSON.stringify(param.enviroment), inputparameter: inputparameter, global_attr: global_attr
                }
            console.log(dataInfo);
            this.$store.dispatch('DataObjRunCustomEventInfo',dataInfo).then(success=>{
@@ -1036,32 +1296,28 @@
                  var actionlist = data.action;
                  if (actionlist) {
                      for (var j = 0; j < actionlist.length; j++) {
                          var action = actionlist[j]
                          var action = actionlist[j];
                          var action_type = action.action_type;
                          var value = action.value;
                          if (action_type == 'set_dlg_attr') {
                              if (value) {
                                  var val = value;
                                  if (typeof value == 'string') {
                                      val = JSON.parse(value);
                                  }
                              console.log(val);
                                  for (var i = 0; i < val.length; i++) {
                              console.log(value);
                                  for (var i = 0; i < value.length; i++) {
                                 for (var a = 0; a < this.$data.classAttrList.length; a++) {
                                    for (var l = 0; l < this.$data.classAttrList[a].Attr.length; l++) {
                                       var ca = this.$data.classAttrList[a].Attr[l];
                                       if (val[i].attr  == ca.Name) {
                                          if(ca.Type=='字典' || ca.Type=='字典-字符串'){
                                       if (value[i].attr  == ca.Name) {
                                          if(ca.Type=='字典' || ca.Type=='字典-字符串' || ca.Type=='字典-整数'){
                                             var dictItemList=[];
                                             for(var d in val[i].choice_list){
                                                var val =val[i].choice_list[d];
                                                dictItemList.push({"CN_S_NAME":val,"Name":val,"label":val,"value":val});
                                             for(var d in value[i].choice_list){
                                                var list_val =value[i].choice_list[d];
                                                dictItemList.push({"CN_S_NAME":list_val,"Name":list_val,"label":list_val,"value":list_val});
                                                
                                             }
                                             ca.dictitem = dictItemList;
                                             // attr[j].dictitem = val[i].choice_list;
                                          }else{
                                             // ca.value = val[i].value;
                                             ca.Value = value[i].value;
                                          }
                                       }
                                    }
@@ -1069,15 +1325,15 @@
               
                                      var length = 0;
                                      if (!this.$data.refdatastore.filter(function (s) {
                                          return val[i].attr == s.attr
                                          return value[i].attr == s.attr
                                      }).length) {
                                          length = 1;
                                          this.$data.refdatastore.push(val[i]);
                                          this.$data.refdatastore.push(value[i]);
                                      }
                                      if (length == 0) {
                                          for (var j = 0; j < this.$data.refdatastore.length; j++) {
                                              if (this.$data.refdatastore[j].attr == val[i].attr) {
                                                  this.$data.refdatastore[j].value = val[i].value;
                                              if (this.$data.refdatastore[j].attr == value[i].attr) {
                                                  this.$data.refdatastore[j].value = value[i].value;
                                              }
                                          }
                                      }
@@ -1087,6 +1343,9 @@
                          if (action_type == 'open_select_userdlg') {
                           uni.showModal({title:"错误2.2",content:"open_select_userdlg这个action_type还未处理!",showCancel:false,confirmText:"取消"});
                          }
                        // else if (action_type == 'tip_dlg') {
                        // }
                      }
                  }
                  
@@ -1130,7 +1389,8 @@
             var dataInfo = {
                  edtype: info.edtype, eventid: info.eventid, projectid: info.projectid.replace('{','').replace('}',''),
                  rclsid: info.rclsid, robjid: info.robjid, userlogin: info.userlogin, clsid: info.clsid, objid: info.objid,
                  attr: JSON.stringify(info.attr), extinfo: JSON.stringify(enviroment), inputparameter: '', global_attr: JSON.stringify(this.$data.global_attr)
                  attr: JSON.stringify(info.attr), extinfo: JSON.stringify(enviroment), inputparameter: "",
               global_attr: JSON.stringify(this.$data.global_attr), dataJson:JSON.stringify(info.dataJson)
              }
             console.log(dataInfo);
             this.$store.dispatch('DataObjRunCustomEventInfo',dataInfo).then(success=>{
@@ -1146,12 +1406,12 @@
                           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.$data.classAttrList.length; c++) {
                                    var attr = $this.$data.classAttrList[c].Attr;
                                    for (var j = 0; j < attr.length; j++) {
                                       if(attr[j].Name==result[i].attr){
                                          if(attr[j].Type=='字典' || attr[j].Type=='字典-字符串'){
                                          if(attr[j].Type=='字典' || attr[j].Type=='字典-字符串' || attr[j].Type=='字典-整数'){
                                             var dictItemList=[];
                                             for(var d in result[i].choice_list){
                                                var val =result[i].choice_list[d];
@@ -1428,7 +1688,8 @@
                                        clsid: $this.$data.param.clsid,
                                        objid: "",
                                        attr: param.req,
                                        inputparameter: data
                                        inputparameter: data,
                                       dataJson:[],
                                    }
                                    $this.DataObjRunCustomEvent(info, param.data_attr);
                                    }
@@ -1436,15 +1697,31 @@
                              });   
                          }
                          else if (action.action_type == 'open_data_query_dlg') {
                          }
                          else if (action.action_type == 'open_common_dlg') {
                              var value = action.value;
                              var d = dialog({
                                  title: '<i class="ace-icon fa fa-info-circle"></i> ' + '提示',
                                  content: action.action_type + '此action尚未处理!'
                              });
                              d.show();
                          }
                          else if (action.action_type == 'open_common_dlg') {
                           var $this = this;
                              if(val.common_dlg_id == 'check_list'){
                              $this.$data.check_list= val.config;
                              if(val.config.appear_style == 'sideslip') //判断是否是侧滑
                                 $this.$data.popupType = 'right';
                              else
                                 $this.$data.popupType = 'center'
                              // open 方法传入参数 等同在 uni-popup 组件上绑定 type属性
                              $this.$refs.popup.open($this.$data.popupType);
                              var popupParam={
                                 index: index,
                                 iindex:iindex,
                                 button_callback:button_callback,
                                 req:req,
                                 data_attr:data_attr
                              }
                              $this.$data.popupParam= popupParam;
                            }
                          }
                          else if (action.action_type == 'open_project_query_dlg') {
                              //console.log(action.value.select_range);
@@ -1488,6 +1765,7 @@
                                            clsid: $this.$data.param.clsid,
                                            objid: "",
                                            attr: param.req,
                                          dataJson:[],
                                        }
                                       
                                        $this.DataObjRunCustomEvent(info);