From 0f0600e21a739caae4a9d7e57ad0d7aff11ec3db Mon Sep 17 00:00:00 2001
From: jt <jt@activesoft.com>
Date: 星期三, 23 十一月 2022 14:44:25 +0800
Subject: [PATCH] test

---
 uni_modules/select-cy/changelog.md                       |   15 
 uni_modules/select-cy/package.json                       |   78 +
 pages/modal/ms_classAttr.vue                             | 2224 ++++++++++++++++++++++++++++++++++++++++++++++
 uni_modules/select-cy/components/select-cy/select-cy.vue |  400 ++++++++
 uni_modules/select-cy/readme.md                          |  125 ++
 5 files changed, 2,842 insertions(+), 0 deletions(-)

diff --git a/pages/modal/ms_classAttr.vue b/pages/modal/ms_classAttr.vue
new file mode 100644
index 0000000..4c2deb3
--- /dev/null
+++ b/pages/modal/ms_classAttr.vue
@@ -0,0 +1,2224 @@
+<style>
+	.class_attr_title {
+		font-size: 44rpx;
+	    padding-bottom: 22rpx;
+	    position: relative;
+	}
+	.class_attr_title .title_line {
+	    border-bottom: 2rpx solid #aaa;
+	    position: relative;
+	    bottom: -50rpx;
+	    width: calc(100% - 290rpx);
+	    margin-left: 100px;
+	}
+	.class_attr_title .title_icon {
+	    border-radius: 50%;
+	    width: 100rpx;
+		line-height: 64rpx;
+	    display: inline-block;
+	    vertical-align: middle;
+	    padding-top: 10rpx;    
+		padding-left: 20rpx;
+	    text-align: center;
+	    color: #fff;
+	}
+	.class_attr_title i {
+	    color: #2c6aa0!important;
+	}
+	.class_attr_title .title_icon i {
+	    font-size: 80rpx;
+	}
+	.class_attr_title .title {
+	    padding-right: 22rpx;
+	    display: inline-block;
+	    background-color: #fff;
+	    position: relative;
+	    bottom: -8rpx;
+	}
+	.class_attr_title .arrow {
+	    position: absolute;
+		top: 6rpx;
+		right: 30rpx;
+		font-size: 60rpx;
+	}
+	input::-webkit-input-placeholder {
+		font-size: 12rpx;
+	}
+	textarea{
+		width: 98%;
+		border: 1px solid #d5d5d5;
+		padding: 10rpx 8rpx 12rpx;
+		background: #FFF;
+		border-radius: 0 !important;
+		font-size: 34rpx;
+		font-family: inherit;
+		box-shadow: none !important;
+		transition-duration: 0.1s;
+		color: #046db3;
+		margin-top: 4px;
+	}
+	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;
+	}
+	.select{    
+		width: 20px;
+		position: absolute;
+		opacity: 0;
+	}
+	.class_attr_body .form-group {
+		margin: 20rpx 30rpx;
+	    /* 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;
+	}
+	.no-padding-right {
+	    padding-right: 0 !important;
+	}
+	.col-xs-12 {
+	    width: 100%;
+	}
+	.tx_title{
+		font-size: 36rpx;
+	}
+	.tx_title2{
+		font-size: 36rpx;
+		text-align: right;
+		display: inline-block;
+		vertical-align: -2px;
+	}
+	.text-right{
+		margin-right: 20rpx;
+		margin-top: -6rpx;
+		display: inline-block;
+		float: right;
+		font-size: 44rpx;
+	}
+	.text-right2 {
+		margin: 0;
+		vertical-align: -4px;
+		margin-left: 9px;
+		float: none;
+		font-size: 44rpx;
+		display: inline-block;
+	}
+	.section_iput{
+		border: 1px solid #d5d5d5;
+		width: 98%;
+		height: 62rpx;
+		background: #FFF;
+		border-radius: 0 !important;
+		color: #046db3;
+		padding: 10rpx 8rpx 10rpx;
+		font-size: 34rpx;
+		font-family: inherit;
+		box-shadow: none !important;
+		transition-duration: 0.1s;
+	}
+	.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;
+	}
+	button.btn_add {
+		margin-top: 50rpx;
+		padding: 20rpx;
+		line-height: 1.5;
+		background: #27A6E1;
+		border: none;
+		color: #fff;
+	    font-size: 38rpx;
+		font-weight: bold;
+	}
+	.i_tishi{
+		color: red;
+		vertical-align: sub;
+		font-style: initial;
+		margin-left: 20rpx;
+		font-size: 17px;
+	}
+	.attr_field{
+		display: inline-block;
+		vertical-align: middle;
+		margin-left: 8px;
+		/* width: 71%; */
+	}
+	
+	.input_vallist {
+		max-height: 350rpx;
+		overflow-y:auto;
+		display: none;
+	}
+	.input_vallist ul{
+		/* border: 1px solid red; */
+		padding: 0 20rpx;
+	}
+	.input_vallist ul li{
+		list-style: none;
+		padding: 20rpx;
+		border-bottom: 1px solid #ccc;
+	}
+	.input_vallist ul li a{
+		float: right;
+	}
+	.input_vallist ul li a i {
+	    font-size: 45rpx;
+	}
+	.panel_title{
+	    font-size: 38rpx;
+		background-color: #27A6E1;
+		line-height: 80rpx;
+		color: #fff;
+		text-align: center;
+		font-weight: bold;
+	}
+	.v-panellist{
+		border:4rpx solid #aaa;
+		border-radius: 10rpx;
+		margin-bottom: 10rpx;
+	}
+</style>
+
+<template>
+	<view class="content">
+		<view class="v-area" v-for="(classattr,index) in classAttrList">
+			<div class="class_attr_title" style="display: none;">
+				<div class="title_line"></div>
+				<div class="title_icon" :style="{'background-color':classattr.BkColor}">   
+					<i class="ace-icon fa" :class="classattr.ImgFontStyle"></i>
+				</div>
+				<span class="title">{{classattr.Name}}</span>
+				<a href="javascript:;" class="arrow" @tap="onarrow(index,classattr.Open)"><i class="ace-icon fa ":class="classattr.Open?'fa-angle-down':'fa-angle-up'"></i></a>
+			</div>
+			<div class="class_attr_body" :style="{'display':classattr.Open?'block':'none'}">
+				<div class="dv_field_div" v-for="(attr,iindex) in classattr.Attr">
+					<view class="form-group" v-if="attr.Type=='瀛楃涓� || attr.Type=='鍙彉闀垮瓧绗︿覆' || attr.Type=='鏁存暟' || attr.Type=='娴偣鏁�" :style="{'display':attr.hidden == 'True'?'none':''}">
+						<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 || attr.NotEmpty=='1'">*</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 -->
+							<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>
+							
+						</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==true || 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==true || 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==true || attr.NotEmpty=='1'?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 || attr.NotEmpty=='1'">*</i>
+						</view>
+					</view>
+					<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"/>
+								<text>{{attr.DispName}}<i class="i_tishi" v-if="attr.notempty==true || attr.NotEmpty=='1'">*</i></text>
+							</label>
+						</checkbox-group>
+					</view>
+					<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 || attr.NotEmpty=='1'">*</i></text>
+							<picker mode="date" :value="attr.Value" @change="ondateTime" class="date_iput" :data-index="index" :data-iindex="iindex" :style="{'width':attr.Width}">
+							   <view class="picker">{{attr.Value}}</view>
+							</picker>
+						</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==true || attr.NotEmpty=='1'?10:5) +'%'}">
+							   <view class="picker">{{attr.Value}}</view>
+							</picker>
+							<i class="i_tishi" v-if="attr.notempty==true || attr.NotEmpty=='1'">*</i>
+						</view>
+					</view>
+					<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 || attr.NotEmpty=='1'">*</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">
+								<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>
+						</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==true || attr.NotEmpty=='1'?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>
+							<i class="i_tishi" v-if="attr.notempty==true || attr.NotEmpty=='1'">*</i>
+						</view>
+					</view>
+					<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 || attr.NotEmpty=='1'">*</i></text>
+							<div class="text-right" 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>
+							<div class="text-right" v-if="attr.Type=='寮曠敤瀵硅薄(澶氫釜)'">
+								<picker class="select" @change="classAttr_AddRef" :range="attr.RelClsList" range-key="name" :data-index="index" :data-iindex="iindex">
+									<label class="">{{ attr.Value }}</label>
+								</picker>
+								<a class="class_attr_add_ref"><i class="ace-icon fa fa-plus-circle"></i></a>
+							</div>
+							<input type="text" :data-index="index" :data-iindex="iindex" :style="{'width':attr.Width}" disabled="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==true || attr.NotEmpty=='1'?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>
+							<div class="text-right2" v-if="attr.Type=='寮曠敤瀵硅薄(澶氫釜)'">
+								<picker class="select" @change="classAttr_AddRef" :range="attr.RelClsList" range-key="name" :data-index="index" :data-iindex="iindex">
+									<label class="">{{ attr.Value }}</label>
+								</picker>
+								<a class="class_attr_add_ref"><i class="ace-icon fa fa-plus-circle"></i></a>
+							</div>
+							<i class="i_tishi" v-if="attr.notempty==true || attr.NotEmpty=='1'">*</i>
+						</view>
+					</view>
+					<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 || attr.NotEmpty=='1'">*</i></text>
+							<div class="text-right">
+								<a class="class_attr_add_per" @tap="classAttr_AddPer(index,iindex)"><i class="ace-icon fa fa-plus-circle"></i></a>
+							</div>
+							<input type="text" :value="attr.Value" :style="{'width':attr.Width}" disabled="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" :value="attr.Value" :style="{'width': attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.notempty==true || attr.NotEmpty=='1'?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 || attr.NotEmpty=='1'">*</i>
+						</view>
+					</view>
+					<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 || attr.NotEmpty=='1'">*</i></text>
+							<div class="text-right">
+								<a href="#" class="class_attr_add_prj" @tap="classAttr_AddPrj(index,iindex)"><i class="ace-icon fa fa-plus-circle"></i></a>
+							</div>
+							<input type="text" :value="attr.Value" :style="{'width':attr.Width}" disabled="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" :value="attr.Value" :style="{'width': attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.notempty==true || attr.NotEmpty=='1'?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 || attr.NotEmpty=='1'">*</i>
+						</view>
+					</view>
+					<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 || attr.NotEmpty=='1'">*</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==true || attr.NotEmpty=='1'?10:5) +'%'}" :disabled="attr.edit?false:true" >
+							<i class="i_tishi" v-if="attr.notempty==true || attr.NotEmpty=='1'">*</i>
+						</view>
+					</view>
+					<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 || attr.NotEmpty=='1'">*</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==true || attr.NotEmpty=='1'?10:5) +'%'}">{{attr.Value}}</pickerAddress>
+							<i class="i_tishi" v-if="attr.notempty==true || attr.NotEmpty=='1'">*</i>
+						</view>
+					</view>
+				</div>
+			</div>
+		</view>
+		<view class="v-area class_attr_body">
+			<view class="form-group">
+				<!-- 宸﹀彸甯冨眬 -->
+				<p class="tx_title2" >{{param.Scan_Code.Name}}:</p>
+				<input type="text" class="attr_field" :value="scanCodeVal" @focus="scan_ontap" :style="param.Scan_Code.Have_Select_Button==true?'width: '+(100-(param.Scan_Code.Name.length * 5)-16)+'%;':'width: '+(100-(param.Scan_Code.Name.length * 5)-7)+'%;'">
+				<div class="text-right2" v-if="param.Scan_Code.Have_Select_Button==true">
+					<a @tap="scan_classAttr_extButton()" ><i class="ace-icon fa" :class="param.Scan_Code.Img?param.Scan_Code.Img:'fa-plus-circle'"></i></a>
+				</div>
+				<!-- 涓婁笅甯冨眬 -->
+				<!-- <text class="tx_title">{{param.Scan_Code.Name}}锛�/text> 
+				<div class="text-right" v-if="param.Scan_Code.Have_Select_Button==true">  
+					<a @tap="ms_classAttr_extButton()"><i class="ace-icon fa" :class="param.Scan_Code.Img?param.Scan_Code.Img:'fa-plus-circle'"></i></a>
+				</div>
+				<input type="text" value="" > -->
+				<!-- 鎵爜鍚庝簨浠惰繑鍥�-->
+				<!-- <div class="input_vallist" >
+					<ul v-for="(inputval,vindex) in inputValList">
+						<li><span>{{inputval.Name}}</span><a href="javascript:;" @tap="inputValListIsDel(vindex)"><i class="ace-icon fa fa-times"></i></a></li>
+					</ul>
+				</div> -->
+			</view>
+		</view>
+		
+		<view class="v-panel">
+			<div class="panel_title">{{param.Sub_Cls.Title}}</div>
+			<view class="v-panellist" v-for="(subpanel,index) in subPanelList">
+				<view class="v-area" v-for="(subclassattr,index) in subpanel.subClassAttrList">
+					<div class="class_attr_title" style="display: none;">
+						<div class="title_line"></div>
+						<div class="title_icon" :style="{'background-color':subclassattr.BkColor}">   
+							<i class="ace-icon fa" :class="subclassattr.ImgFontStyle"></i>
+						</div>
+						<span class="title">{{subclassattr.Name}}</span>
+						<a href="javascript:;" class="arrow" @tap="onarrow(index,subclassattr.Open)"><i class="ace-icon fa ":class="subclassattr.Open?'fa-angle-down':'fa-angle-up'"></i></a>
+					</div>
+					<div class="class_attr_body" :style="{'display':subclassattr.Open?'block':'none'}">
+						<div class="dv_field_div" v-for="(attr,iindex) in subclassattr.Attr">
+							<view class="form-group" v-if="attr.Type=='瀛楃涓� || attr.Type=='鍙彉闀垮瓧绗︿覆' || attr.Type=='鏁存暟' || attr.Type=='娴偣鏁�" :style="{'display':attr.hidden == 'True'?'none':''}">
+								<view v-if="subclassattr.control_style=='涓婁笅甯冨眬'">
+									<text class="tx_title" :style="{'width':subclassattr.title_p_wdith+'%'}">{{attr.DispName}}:<i class="i_tishi" v-if="attr.notempty==true || attr.NotEmpty=='1'">*</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 -->
+									<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>
+									
+								</view>
+								<view v-if="subclassattr.control_style=='宸﹀彸甯冨眬'">
+									<p class="tx_title2" :style="{'width':subclassattr.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] - subclassattr.title_p_wdith - (attr.notempty==true || 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] - subclassattr.title_p_wdith - (attr.notempty==true || 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] - subclassattr.title_p_wdith - (attr.notempty==true || attr.NotEmpty=='1'?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 || attr.NotEmpty=='1'">*</i>
+								</view>
+							</view>
+							<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': subclassattr.control_style=='宸﹀彸甯冨眬'?subclassattr.title_p_wdith+2 +'%':'10rpx'}">
+									<label>
+										<checkbox :value="attr.Value" :checked="attr.Value"/>
+										<text>{{attr.DispName}}<i class="i_tishi" v-if="attr.notempty==true || attr.NotEmpty=='1'">*</i></text>
+									</label>
+								</checkbox-group>
+							</view>
+							<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="{'width':subclassattr.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}">
+									   <view class="picker">{{attr.Value}}</view>
+									</picker>
+								</view>
+								<view v-if="subclassattr.control_style=='宸﹀彸甯冨眬'">
+									<p class="tx_title2" :style="{'width':subclassattr.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] - subclassattr.title_p_wdith - (attr.notempty==true || attr.NotEmpty=='1'?10:5) +'%'}">
+									   <view class="picker">{{attr.Value}}</view>
+									</picker>
+									<i class="i_tishi" v-if="attr.notempty==true || attr.NotEmpty=='1'">*</i>
+								</view>
+							</view>
+							<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">{{attr.DispName}}:<i class="i_tishi" v-if="attr.notempty==true || attr.NotEmpty=='1'">*</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">
+										<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>
+								</view>
+								<view v-if="subclassattr.control_style=='宸﹀彸甯冨眬'">
+									<p class="tx_title2" :style="{'width':subclassattr.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] - subclassattr.title_p_wdith - (attr.notempty==true || attr.NotEmpty=='1'?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>
+									<i class="i_tishi" v-if="attr.notempty==true || attr.NotEmpty=='1'">*</i>
+								</view>
+							</view>
+							<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">{{attr.DispName}}:<i class="i_tishi" v-if="attr.notempty==true || attr.NotEmpty=='1'">*</i></text>
+									<div class="text-right" 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>
+									<div class="text-right" v-if="attr.Type=='寮曠敤瀵硅薄(澶氫釜)'">
+										<picker class="select" @change="classAttr_AddRef" :range="attr.RelClsList" range-key="name" :data-index="index" :data-iindex="iindex">
+											<label class="">{{ attr.Value }}</label>
+										</picker>
+										<a class="class_attr_add_ref"><i class="ace-icon fa fa-plus-circle"></i></a>
+									</div>
+									<input type="text" :data-index="index" :data-iindex="iindex" :style="{'width':attr.Width}" disabled="true" >
+								</view>
+								<view v-if="subclassattr.control_style=='宸﹀彸甯冨眬'">
+									<p class="tx_title2" :style="{'width':subclassattr.title_p_wdith+'%'}">{{attr.DispName}}:</p>
+									<input type="text" class="attr_field" :data-index="index" :data-iindex="iindex" :style="{'width': attr.Width.split('%')[0] - subclassattr.title_p_wdith - (attr.notempty==true || attr.NotEmpty=='1'?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>
+									<div class="text-right2" v-if="attr.Type=='寮曠敤瀵硅薄(澶氫釜)'">
+										<picker class="select" @change="classAttr_AddRef" :range="attr.RelClsList" range-key="name" :data-index="index" :data-iindex="iindex">
+											<label class="">{{ attr.Value }}</label>
+										</picker>
+										<a class="class_attr_add_ref"><i class="ace-icon fa fa-plus-circle"></i></a>
+									</div>
+									<i class="i_tishi" v-if="attr.notempty==true || attr.NotEmpty=='1'">*</i>
+								</view>
+							</view>
+							<view class="form-group" v-if="attr.Type=='寮曠敤浜哄憳'" :style="{'display':attr.hidden == 'True'?'none':''}">
+								<view v-if="subclassattr.control_style=='涓婁笅甯冨眬'">
+									<text class="tx_title">{{attr.DispName}}:<i class="i_tishi" v-if="attr.notempty==true || attr.NotEmpty=='1'">*</i></text>
+									<div class="text-right">
+										<a class="class_attr_add_per" @tap="classAttr_AddPer(index,iindex)"><i class="ace-icon fa fa-plus-circle"></i></a>
+									</div>
+									<input type="text" :value="attr.Value" :style="{'width':attr.Width}" disabled="true" >
+								</view>
+								<view v-if="subclassattr.control_style=='宸﹀彸甯冨眬'">
+									<p class="tx_title2" :style="{'width':subclassattr.title_p_wdith+'%'}">{{attr.DispName}}:</p>
+									<input type="text" class="attr_field" :value="attr.Value" :style="{'width': attr.Width.split('%')[0] - subclassattr.title_p_wdith - (attr.notempty==true || attr.NotEmpty=='1'?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 || attr.NotEmpty=='1'">*</i>
+								</view>
+							</view>
+							<view class="form-group" v-if="attr.Type=='寮曠敤椤圭洰'" :style="{'display':attr.hidden == 'True'?'none':''}">
+								<view v-if="subclassattr.control_style=='涓婁笅甯冨眬'">
+									<text class="tx_title">{{attr.DispName}}:<i class="i_tishi" v-if="attr.notempty==true || attr.NotEmpty=='1'">*</i></text>
+									<div class="text-right">
+										<a href="#" class="class_attr_add_prj" @tap="classAttr_AddPrj(index,iindex)"><i class="ace-icon fa fa-plus-circle"></i></a>
+									</div>
+									<input type="text" :value="attr.Value" :style="{'width':attr.Width}" disabled="true" >
+								</view>
+								<view v-if="subclassattr.control_style=='宸﹀彸甯冨眬'">
+									<p class="tx_title2" :style="{'width':subclassattr.title_p_wdith+'%'}">{{attr.DispName}}:</p>
+									<input type="text" class="attr_field" :value="attr.Value" :style="{'width': attr.Width.split('%')[0] - subclassattr.title_p_wdith - (attr.notempty==true || attr.NotEmpty=='1'?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 || attr.NotEmpty=='1'">*</i>
+								</view>
+							</view>
+							<view class="form-group" v-if="attr.Type=='缂栫爜'" :style="{'display':attr.hidden == 'True'?'none':''}">
+								<view v-if="subclassattr.control_style=='涓婁笅甯冨眬'">
+									<text class="tx_title">{{attr.DispName}}:<i class="i_tishi" v-if="attr.notempty==true || attr.NotEmpty=='1'">*</i></text>
+									<input type="text" :data-index="index" :data-iindex="iindex" :style="{'width':attr.Width}" :disabled="attr.edit?false:true" >
+								</view>
+								<view v-if="subclassattr.control_style=='宸﹀彸甯冨眬'">
+									<p class="tx_title2" :style="{'width':subclassattr.title_p_wdith+'%'}">{{attr.DispName}}:</p>
+									<input type="text" class="attr_field" :data-index="index" :data-iindex="iindex" :style="{'width': attr.Width.split('%')[0] - subclassattr.title_p_wdith - (attr.notempty==true || attr.NotEmpty=='1'?10:5) +'%'}" :disabled="attr.edit?false:true" >
+									<i class="i_tishi" v-if="attr.notempty==true || attr.NotEmpty=='1'">*</i>
+								</view>
+							</view>
+							<view class="form-group" v-if="attr.Type=='鐪佸競鍖�" :style="{'display':attr.hidden == 'True'?'none':''}">
+								<view v-if="subclassattr.control_style=='涓婁笅甯冨眬'">
+									<text class="tx_title">{{attr.DispName}}:<i class="i_tishi" v-if="attr.notempty==true || attr.NotEmpty=='1'">*</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="subclassattr.control_style=='宸﹀彸甯冨眬'">
+									<p class="tx_title2" :style="{'width':subclassattr.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] - subclassattr.title_p_wdith - (attr.notempty==true || attr.NotEmpty=='1'?10:5) +'%'}">{{attr.Value}}</pickerAddress>
+									<i class="i_tishi" v-if="attr.notempty==true || attr.NotEmpty=='1'">*</i>
+								</view>
+							</view>
+						</div>
+					</div>
+				</view>
+			</view>
+		</view>
+		
+		<button type="default" @tap="sava" class="btn_add">{{title}}</button>
+	</view>
+</template> 
+
+<script>
+	import pickerAddress from '../../js/pickerAddress/pickerAddress.vue'
+	export default {
+		components: {
+            pickerAddress
+        },
+		data() {
+			return {
+				title: '鏂板',
+				param:{},
+				classAttrList:[],
+				classGridStyle:[],
+				edit_inital_event:"",  //寮圭獥鍒濆鍖栦簨浠禝D
+				edit_ok_event:"",      //寮圭獥鐐瑰嚮OK 瑙﹀彂浜嬩欢ID
+				edit_select_compose_event:"",  //閫夋嫨缁勬垚瀵硅薄鏃惰皟鐢�+				edit_compose_cls_id:"",
+				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"}],
+				scanCodeVal:"",
+				subClassAttrList:[],
+				subPanelList:[],
+				subClassGridStyle:[],
+			}
+		},
+		onLoad(options) {
+			// console.log(options);
+			uni.setNavigationBarTitle({ title: options.titlename}); //璁剧疆椤堕儴鏍囬 
+			var param = JSON.parse(options.param);
+			this.$data.title = param.Add_BtnName?param.Add_BtnName:options.titlename; //璁剧疆鎸夐挳鏂囧瓧
+			console.log(param);
+			if(!param.Master_Cls.View_Style){
+				uni.showModal({title:"鎻愮ず",content:"璇ュ姛鑳界偣鏈厤缃晫闈㈢獥鍙o紝璇烽噸鏂伴厤缃紒",showCancel:false,confirmText:"鍙栨秷"});
+				return;
+			}
+			if(!param.Master_Cls.View_Style.Name){
+				uni.showModal({title:"鎻愮ず",content:"璇ュ姛鑳界偣鏈厤缃獥鍙f牱寮忥紝璇烽噸鏂伴厤缃紒",showCancel:false,confirmText:"鍙栨秷"});
+				return;
+			}
+			this.$data.param = param;
+			// var edit_dlg = {
+			//     Model: param.EditDlgMode,
+			//     Name: param.Master_Cls.View_Style.Name
+			// }
+			//涓绘暟鎹被鑾峰彇
+			var dataInfo = {
+				class_id: param.Master_Cls.ID
+			};
+			var $this = this;
+			$this.$store.state.thisareaFuncID = param.Master_Cls.ID;
+			// console.log($this.$store.getters.getclassAttrList);
+			if($this.$store.getters.getclassAttrList){
+			 	$this.$data.classAttrList = $this.$store.getters.getclassAttrList.data;
+				$this.classGridStyleInfo(param.Master_Cls.ID,$this.$data.param.Master_Cls.View_Style.Name,'Mast');
+			}else{
+				$this.$store.dispatch('classAttrList',dataInfo).then(success=>{
+					// console.log(success);
+					if (success.code=='00000') {
+						$this.$data.classAttrList = success.data;
+						
+						$this.classGridStyleInfo(param.Master_Cls.ID,$this.$data.param.Master_Cls.View_Style.Name,'Mast');
+					}else{
+						uni.showModal({title:"閿欒1",content:success.msg,showCancel:false,confirmText:"鍙栨秷"});
+					}
+				}).catch(ex=>{
+					// console.log(ex);
+					uni.showModal({title:"閿欒1.1",content:ex.errMsg,showCancel:false,confirmText:"鍙栨秷"});
+				});
+			}
+			
+			//浠庢暟鎹被鑾峰彇
+			var subdataInfo = {
+				class_id: param.Sub_Cls.ID
+			};
+			$this.$store.state.thisareaFuncSubID = param.Sub_Cls.ID;
+			if($this.$store.getters.getSubClassAttrList){
+			 	$this.$data.subClassAttrList = $this.$store.getters.getSubClassAttrList.data;
+						$this.classGridStyleInfo(param.Sub_Cls.ID,$this.$data.param.Sub_Cls.View_Style.Name,'Sub');
+			}else{
+				$this.$store.dispatch('subClassAttrList',subdataInfo).then(success=>{
+					// console.log(success);
+					if (success.code=='00000') {
+						$this.$data.subClassAttrList = success.data;
+						
+						$this.classGridStyleInfo(param.Sub_Cls.ID,$this.$data.param.Sub_Cls.View_Style.Name,'Sub');
+					}else{
+						uni.showModal({title:"閿欒1_1",content:success.msg,showCancel:false,confirmText:"鍙栨秷"});
+					}
+				}).catch(ex=>{
+					// console.log(ex);
+					uni.showModal({title:"閿欒1_1.1",content:ex.errMsg,showCancel:false,confirmText:"鍙栨秷"});
+				});
+			}
+		},
+		methods: {
+			async classGridStyleInfo(clsid,styleName,clsType){
+				var $this = this;
+				var gridstyleInfo = {
+					class_id: clsid,
+					name: styleName,
+					type: '2'
+				};
+				$this.$store.state.thisEditName = styleName;
+				// console.log($this.$store.getters.getclassGridStyleInfo);
+				//鑾峰彇涓绘暟鎹被鐣岄潰鏍峰紡
+				if(clsType=='Mast'){
+					if($this.$store.getters.getclassGridStyleInfo){
+						$this.$data.classGridStyle = $this.$store.getters.getclassGridStyleInfo.data;
+						$this.class_attr_init();
+					}else{
+						//console.log(gridstyleInfo);
+						$this.$store.dispatch('classGridStyleInfo',gridstyleInfo).then(success=>{
+							// console.log(success);
+							if (success.code=='00000') {
+								success.data.StyleDef = JSON.parse(success.data.StyleDef);
+								$this.$data.classGridStyle = success.data;
+								
+								$this.class_attr_init();
+							}else{
+								uni.showModal({title:"閿欒1.2",content:success.msg,showCancel:false,confirmText:"鍙栨秷"});
+							}
+						}).catch(ex=>{
+							console.log(ex);
+							uni.showModal({title:"閿欒1.3",content:ex.errMsg,showCancel:false,confirmText:"鍙栨秷"});
+						});
+					}
+				} else if(clsType=='Sub'){  //鑾峰彇浠庢暟鎹被鐣岄潰鏍峰紡
+					if($this.$store.getters.getSubClassGridStyleInfo){
+						$this.$data.subClassGridStyle = $this.$store.getters.getSubClassGridStyleInfo.data;
+						$this.subClass_attr_init();
+					}else{
+						//console.log(gridstyleInfo);
+						$this.$store.dispatch('subClassGridStyleInfo',gridstyleInfo).then(success=>{
+							// console.log(success);
+							if (success.code=='00000') {
+								success.data.StyleDef = JSON.parse(success.data.StyleDef);
+								$this.$data.subClassGridStyle = success.data;
+								
+								$this.subClass_attr_init();
+							}else{
+								uni.showModal({title:"閿欒1.2",content:success.msg,showCancel:false,confirmText:"鍙栨秷"});
+							}
+						}).catch(ex=>{
+							console.log(ex);
+							uni.showModal({title:"閿欒1.3",content:ex.errMsg,showCancel:false,confirmText:"鍙栨秷"});
+						});
+					}
+				}
+			},
+			ontap(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;
+				})
+			},
+			scan_ontap(e){ //鎵爜鍖烘壂鐮佸姛鑳�+				//console.log(e.target)
+				getApp().onScan((result)=>{
+					console.log(result.decodedata);
+					if (result.decodedata != this.$data.scanCodeVal) {
+						this.$data.scanCodeVal=result.decodedata;
+						this.$data.subPanelList.push({
+							scanCodeVal:this.$data.scanCodeVal,
+							subClassAttrList:this.$data.subClassAttrList
+						}); 
+						var eventid = this.$data.param.Scan_Code.Input_Change_Event.ID;
+						if (eventid) {
+					        var req=[];
+					        var attrlist = this.$data.subClassAttrList;
+					        for (var i = 0; i < attrlist.length; i++) {
+					        	var attr = attrlist[i].Attr;
+					        	for (var j = 0; j < attr.length; j++) {
+					        		var ar = attr[j];
+					        		if(ar.Type=='寮曠敤瀵硅薄(澶氫釜)')
+					        			if(ar.Value=='璇�) ar.Value='';
+					        		if(ar.Type=='寮曠敤浜哄憳' || ar.Type=='寮曠敤椤圭洰')
+					        			req.push({ attr: ar.Name, 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,
+								inputParamter:[{ attr: 'inout_3037', val: this.$data.scanCodeVal }]
+					        }
+							
+					        this.scan_DataObjRunCustomEvent(info, "");
+					    }
+					}
+				})
+			},
+			onarrow(index,open){
+				// console.log(index+'--'+open);
+				this.$data.classAttrList[index].Open=open==true?false:true;
+			},
+			ondateTime(e) {
+				//console.log(e.target)
+				this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value=e.target.value;
+			},
+			onchange(e) {
+				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);
+					var eventid = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].action;
+					if (eventid) {
+				        // self.event_no_sub = 1;
+				        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.Master_Cls.ID,
+				            objid: "",
+				            attr: req,
+				        }
+				        this.DataObjRunCustomEvent(info);
+				    }
+				}
+				
+			},
+			onchange2(item,value,delvalue) {
+				// console.log(item);
+				// console.log(value);
+				// console.log(delvalue);
+				if(item.length==0){ //涓虹┖鏃讹紝娓呯┖灞炴�value
+					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="";
+								}
+							}
+						}
+					}
+				}
+					
+				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;
+								}
+							}
+						}
+					}
+					var itemvalue = item[v];
+					var data_attr = this.$data.classAttrList[index].Attr[iindex];
+					
+					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);
+						var eventid = this.$data.classAttrList[index].Attr[iindex].action;
+						if (eventid) {
+					        // self.event_no_sub = 1;
+					        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 if(ar.Type=='瀛楀吀' || ar.Type=='瀛楀吀-瀛楃涓�)
+										req.push({ attr: ar.Name, val: itemvalue.Name});
+					        		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.Master_Cls.ID,
+					            objid: "",
+					            attr: req,
+					        }
+					        this.DataObjRunCustomEvent(info);
+					    }
+					}
+				}
+				
+				
+			},
+			onevent(e){
+				// console.log(e.target);
+				var data_attr = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']];
+				// console.log(data_attr);
+				if (e.target.value != data_attr.Value) {
+					this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value=e.target.value;
+					var eventid = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].action;
+					if (eventid) {
+				        // self.event_no_sub = 1;
+				        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.Master_Cls.ID,
+				            objid: "",
+				            attr: req,
+				        }
+				        this.DataObjRunCustomEvent(info, data_attr);
+				    }
+				}
+				
+			},
+			oncheck(e) {
+				// console.log(e.target);
+				var ischecked = e.target.dataset.ischeck?false:true;
+				var data_attr = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']];
+				// console.log(data_attr);
+				if (ischecked != data_attr.Value) {
+					this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value=ischecked;
+					var eventid = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].action;
+					if (eventid) {
+				        // self.event_no_sub = 1;
+				        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.Master_Cls.ID,
+				            objid: "",
+				            attr: req,
+				        }
+				        this.DataObjRunCustomEvent(info);
+				    }
+				}
+				
+			},
+			inputValListIsDel(index){
+				// console.log(index);
+                this.$data.inputValList.splice(index, 1); //鍒犻櫎tabPagejson鐨勫唴瀹�+				// console.log(this.$data.inputValList);
+			},
+			addresschange(e) {
+			    // 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);
+			},
+			scan_classAttr_extButton(e){  //---------鏈畬鎴�----------
+				var $this = this;
+				var Before_Select_Event = $this.$data.param.Scan_Code.Before_Select_Event.ID;
+				var After_Select_Event = $this.$data.param.Scan_Code.After_Select_Event.ID;
+				if(!Before_Select_Event){
+					uni.showModal({title:"鎻愮ず",content:"閫夋嫨鎸夐挳鍓嶄簨浠朵负绌猴紒",showCancel:false,confirmText:"鍙栨秷"});
+					return;
+				}
+				if(!After_Select_Event){
+					uni.showModal({title:"鎻愮ず",content:"鏂板鎸夐挳鍚庝簨浠朵负绌猴紒",showCancel:false,confirmText:"鍙栨秷"});
+					return;
+				}
+				// var data_attr = this.$data.classAttrList[index].Attr[iindex];
+				this.DataObjRunCustomEvent_Return(Before_Select_Event, '', After_Select_Event, '', '');
+			},
+			classAttr_AddPer(index,iindex){
+				var param={index:index,iindex:iindex};
+				var $this = this;
+				uni.navigateTo({
+					url:'../selpsn/index?mulit=false&param='+JSON.stringify(param),
+					events:{
+						AddPer(data,param){ 
+							// console.log(param);
+							console.log(data);
+							$this.$data.classAttrList[param.index].Attr[param.iindex].Value=data[0].Name;
+							$this.$data.classAttrList[param.index].Attr[param.iindex].ValID=data[0].Login+';'+data[0].Name;
+							
+							var eventid = $this.$data.classAttrList[param.index].Attr[param.iindex].action;
+							if (eventid) {
+							    eventid = eventid.trim();
+							    if (eventid) {
+							        var info = {
+							            eventid: eventid,
+							            edtype: "4",
+							            projectid: "",
+							            rclsid: "",
+							            robjid: "",
+							            userlogin: data[0].Login,
+							            clsid: $this.$data.param.Master_Cls.ID,
+							            objid: "",
+							            attr: [],
+							        }
+									
+									// var data_attr = $this.$data.classAttrList[param.index].Attr[param.iindex];
+							        $this.DataObjRunCustomEvent(info);
+							    }
+							}
+						}
+					}
+				});
+			},
+			classAttr_AddRef(e){
+				console.log(e.target);
+				uni.showModal({title:"鎻愮ず",content:"姝ゅ姛鑳借繕鏈疄鐜帮紒",showCancel:false,confirmText:"鍙栨秷"});
+				// var value=this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].RelCls[e.target.value];
+				// this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value=value;
+			},
+			classAttr_AddPrj(index,iindex){
+				var param={index:index,iindex:iindex};
+				var $this = this;
+				uni.navigateTo({
+					url:'../selPrj/index?relation=-1&param='+JSON.stringify(param),
+					events:{
+						AddPer(data,param){ 
+							// console.log(param);
+							// console.log(data);
+							$this.$data.classAttrList[param.index].Attr[param.iindex].Value=data[0].Name;
+							$this.$data.classAttrList[param.index].Attr[param.iindex].ValID=data[0].ID+';'+data[0].Name;
+							
+							var eventid = $this.$data.classAttrList[param.index].Attr[param.iindex].action;
+							if (eventid) {
+							    eventid = eventid.trim();
+							    if (eventid) {
+							        var info = {
+							            eventid: eventid,
+							            edtype: "2",
+							            projectid: data[0].ID,
+							            rclsid: "",
+							            robjid: "",
+							            userlogin: "",
+							            clsid: $this.$data.param.Master_Cls.ID,
+							            objid: "",
+							            attr: [],
+							        }
+									
+							        // var data_attr = $this.$data.classAttrList[param.index].Attr[param.iindex];
+							        $this.DataObjRunCustomEvent(info);
+							    }
+							}
+						}
+					}
+				});
+			},
+			sava(){
+				if (this.$data.edit_ok_event)
+					this.OKDataObjRunCustomEvent();
+				else
+					this.add();
+			},
+			add(){
+				uni.showLoading({
+					title:"鍔犺浇涓�.."
+				});
+				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.Value=='璇烽�鎷� || ar.Value=='鈥斺�璇烽�鎷┾�鈥�) ar.Value='';
+						if(ar.Type=='寮曠敤瀵硅薄(澶氫釜)')
+							if(ar.Value=='璇�) ar.Value='';
+				        if(ar.Type=='寮曠敤浜哄憳' || ar.Type=='寮曠敤椤圭洰')
+				        	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=='瀛楀吀-瀛楃涓�){
+							if(ar.select==true){ //鍒ゆ柇涓嬫媺鏄惁澶氶�
+								var valStr ="";
+								for(var v in ar.Value){
+									if(valStr)
+										valStr+=";";
+									valStr+=ar.Value[v];
+								}
+								req.push({ name: ar.Name, value: valStr});
+							}else
+								req.push({ name: ar.Name, value: ar.Value});
+						}
+						else
+							req.push({ name: ar.Name, value: ar.Value ?ar.Value :''});
+							
+						if ((ar.NotEmpty == '1' || 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:"鍙栨秷"});
+							return;
+						}
+					}
+				}
+				var enviroment = {
+				     'function': '3000', // 鍔熻兘鐐圭紪鍙�+				     cls_id: this.$data.param.Master_Cls.ID,     // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇�+				     'button': 'top',   // top/bottom
+				     button_name: '鏂板',
+				     master: {
+				         cls_id: this.$data.param.Master_Cls.ID, 
+				     }
+				};
+				 
+				var dataInfo={
+				    class_id: this.$data.param.Master_Cls.ID, data_obj_id: '', masterclsid: '',
+				    req: JSON.stringify(req), upfile: JSON.stringify([]), post_data: JSON.stringify({}),
+				    compose: JSON.stringify([]), refdatastore: JSON.stringify([]), extinfo: JSON.stringify(enviroment), 
+					not_trigger_sys_event: ''
+				};
+				
+				// return
+				console.log(dataInfo);
+				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});
+							}
+							// "{"ret":0, "result_type":0, "result":"鍒涘缓鎴愬姛123123123","info":""}"
+						}
+						//鍒锋柊
+						uni.redirectTo({
+							url:'../modal/classAttr?param='+JSON.stringify(this.$data.param)+"&titlename="+this.$data.title
+						});
+						// this.class_attr_init();
+					}else{
+						uni.showModal({title:"閿欒",content:success.msg,showCancel:false,confirmText:"鍙栨秷"});
+					}
+				}).catch(ex=>{
+					console.log(ex);
+					uni.hideLoading();
+					uni.showModal({title:"鎻愮ず",content:ex.errMsg,showCancel:false,confirmText:"鍙栨秷"});
+				});
+			},
+			class_attr_init(){
+				var attrlist = this.$data.classGridStyle.StyleDef.show_style
+				var newattrlist = [];
+				if (this.$data.classAttrList.length > 0) {
+				    for (var i = 0; i < attrlist.length; i++) {
+				        var open = attrlist[i].open;
+				        var name = attrlist[i].attrgroup_name;
+				        var attrs = attrlist[i].attrs;
+				        for (var s = 0; s < this.$data.classAttrList.length; s++) {
+				            var clsattr = this.$data.classAttrList[s];
+				            if (name == clsattr.Name) {
+				                var attr = [];
+				                for (var j = 0; j < attrs.length; j++) {
+				                    for (var l = 0; l < clsattr.Attr.length; l++) {
+				                        var ca = clsattr.Attr[l];
+				                        if (attrs[j].attr == ca.Name) {
+				                            ca.action = attrs[j].action;
+				                            ca.edit = attrs[j].edit;
+				                            ca.notempty = attrs[j].notempty;
+				                            ca.ext_button = attrs[j].ext_button;
+				                            ca.button_img = attrs[j].button_img;
+				                            ca.button_tooltip = attrs[j].button_tooltip;
+				                            ca.before_click_button = attrs[j].before_click_button;
+				                            ca.button_callback = attrs[j].button_callback;
+				                            ca.hidden = attrs[j].hidden;
+				                            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;
+											}
+											if(ca.Type=='鏃ユ湡' || ca.Type=='鏃堕棿'){
+												var nowDate = new Date();
+												var date = {year: nowDate.getFullYear(),month: nowDate.getMonth() + 1,day: nowDate.getDate()}
+												ca.Value = date.year + '-' + (date.month >= 10 ? date.month : '0' + date.month) + '-' + (date.day >= 10 ? date.day : '0' + date.day);
+											}
+											if(ca.Type=='寮曠敤瀵硅薄(澶氫釜)'){
+												var relClsList=[];
+												var attr_rescls = ca.RelCls.split(',');
+												for(var ii in attr_rescls){
+													var rescls = attr_rescls[ii].split('|');
+													relClsList.push({id:rescls[0],name:rescls[1]});
+												}
+												ca.RelClsList = relClsList;
+												ca.Value = '璇�;
+											}
+											if(ca.Type=='鐪佸競鍖�)
+												ca.Value = '璇烽�鎷�;
+											if(ca.Type=='甯冨皵鍊�)
+												ca.Value = false;
+												
+				                            attr.push(ca);
+				                        }
+				                    }
+				                }
+				                newattrlist.push({
+				                    BkColor: clsattr.BkColor,
+				                    HasAce: clsattr.HasAce,
+				                    ImgFontStyle: clsattr.ImgFontStyle,
+				                    Name: clsattr.Name,
+				                    Order: clsattr.Order,
+				                    Open: open,
+				                    Attr: attr,
+									control_style:this.$data.classGridStyle.StyleDef.control_style,
+									title_p_wdith:this.$data.classGridStyle.StyleDef.title_p_wdith
+				                })
+				            }
+				        }
+				    }
+				    if (newattrlist.length > 0) {
+				        this.$data.classAttrList = newattrlist;
+				    }
+					var req=[];
+				    if (this.$data.classGridStyle.StyleDef) {
+				         if (this.$data.classGridStyle.StyleDef.show_style.length > 0) {
+				            var attrlist = this.$data.classGridStyle.StyleDef.show_style
+				            // $el.find('.attr_field').prop('readonly', true);
+				            // $el.find('.attr_field').prop('disabled', true);
+				            for (var i = 0; i < attrlist.length; i++) {
+				                var attr = attrlist[i].attrs
+				                for (var j = 0; j < attr.length; j++) {
+				                    var ar = attr[j];
+									req.push({ attr: ar.attr, val: ar.value?ar.value:'' });
+				                }
+				            }
+				        }
+					}	
+					
+					var eventlist = this.$data.classGridStyle.StyleDef.event;
+					if (eventlist) {
+					    if (eventlist.length > 0) {
+					        for (var i = 0; i < eventlist.length; i++) {
+					            if (eventlist[i].event_id == 'before_ok') {
+					                this.$data.edit_ok_event = eventlist[i];
+					            } else if (eventlist[i].event_id == 'initial') {
+					                this.$data.edit_inital_event = eventlist[i];
+					            } else if (eventlist[i].event_id == 'before_select_compose') {
+					                this.$data.edit_select_compose_event = eventlist[i].scrip_id;
+					                this.$data.edit_compose_cls_id = eventlist[i].compose_cls_id;
+					            }
+					        }
+						}
+					}
+					console.log(req);
+					if (this.$data.edit_inital_event) {
+					    var eventid = this.$data.edit_inital_event.scrip_id;
+					    var info = {
+					        eventid: eventid,
+					        edtype: "0",
+					        projectid: '',
+					        rclsid: '',
+					        robjid: '',
+					        userlogin: '',
+					        clsid: this.$data.param.Master_Cls.ID,
+					        objid: "",
+					        attr: req,
+					    }
+					    this.ini_DataObjRunCustomEvent(info);
+					}
+					console.log(this.$data.classGridStyle);
+					console.log(this.$data.classAttrList);
+					
+				} else {
+					uni.showModal({title:"鎻愮ず",content:"鏈壘鍒板彲鏄剧ず鐨勭殑灞炴�",showCancel:false,confirmText:"鍙栨秷"});
+				}
+			},
+			subClass_attr_init(){
+				var attrlist = this.$data.subClassGridStyle.StyleDef.show_style
+				var newattrlist = [];
+				if (this.$data.subClassAttrList.length > 0) {
+				    for (var i = 0; i < attrlist.length; i++) {
+				        var open = attrlist[i].open;
+				        var name = attrlist[i].attrgroup_name;
+				        var attrs = attrlist[i].attrs;
+				        for (var s = 0; s < this.$data.subClassAttrList.length; s++) {
+				            var clsattr = this.$data.subClassAttrList[s];
+				            if (name == clsattr.Name) {
+				                var attr = [];
+				                for (var j = 0; j < attrs.length; j++) {
+				                    for (var l = 0; l < clsattr.Attr.length; l++) {
+				                        var ca = clsattr.Attr[l];
+				                        if (attrs[j].attr == ca.Name) {
+				                            ca.action = attrs[j].action;
+				                            ca.edit = attrs[j].edit;
+				                            ca.notempty = attrs[j].notempty;
+				                            ca.ext_button = attrs[j].ext_button;
+				                            ca.button_img = attrs[j].button_img;
+				                            ca.button_tooltip = attrs[j].button_tooltip;
+				                            ca.before_click_button = attrs[j].before_click_button;
+				                            ca.button_callback = attrs[j].button_callback;
+				                            ca.hidden = attrs[j].hidden;
+				                            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;
+											}
+											if(ca.Type=='鏃ユ湡' || ca.Type=='鏃堕棿'){
+												var nowDate = new Date();
+												var date = {year: nowDate.getFullYear(),month: nowDate.getMonth() + 1,day: nowDate.getDate()}
+												ca.Value = date.year + '-' + (date.month >= 10 ? date.month : '0' + date.month) + '-' + (date.day >= 10 ? date.day : '0' + date.day);
+											}
+											if(ca.Type=='寮曠敤瀵硅薄(澶氫釜)'){
+												var relClsList=[];
+												var attr_rescls = ca.RelCls.split(',');
+												for(var ii in attr_rescls){
+													var rescls = attr_rescls[ii].split('|');
+													relClsList.push({id:rescls[0],name:rescls[1]});
+												}
+												ca.RelClsList = relClsList;
+												ca.Value = '璇�;
+											}
+											if(ca.Type=='鐪佸競鍖�)
+												ca.Value = '璇烽�鎷�;
+											if(ca.Type=='甯冨皵鍊�)
+												ca.Value = false;
+												
+				                            attr.push(ca);
+				                        }
+				                    }
+				                }
+				                newattrlist.push({
+				                    BkColor: clsattr.BkColor,
+				                    HasAce: clsattr.HasAce,
+				                    ImgFontStyle: clsattr.ImgFontStyle,
+				                    Name: clsattr.Name,
+				                    Order: clsattr.Order,
+				                    Open: open,
+				                    Attr: attr,
+									control_style:this.$data.subClassGridStyle.StyleDef.control_style,
+									title_p_wdith:this.$data.subClassGridStyle.StyleDef.title_p_wdith
+				                })
+				            }
+				        }
+				    }
+				    if (newattrlist.length > 0) {
+				        this.$data.subClassAttrList = newattrlist;
+				    }
+					var req=[];
+				    if (this.$data.subClassGridStyle.StyleDef) {
+				         if (this.$data.subClassGridStyle.StyleDef.show_style.length > 0) {
+				            var attrlist = this.$data.subClassGridStyle.StyleDef.show_style
+				            // $el.find('.attr_field').prop('readonly', true);
+				            // $el.find('.attr_field').prop('disabled', true);
+				            for (var i = 0; i < attrlist.length; i++) {
+				                var attr = attrlist[i].attrs
+				                for (var j = 0; j < attr.length; j++) {
+				                    var ar = attr[j];
+									req.push({ attr: ar.attr, val: ar.value?ar.value:'' });
+				                }
+				            }
+				        }
+					}	
+					
+					var eventlist = this.$data.subClassGridStyle.StyleDef.event;
+					if (eventlist) {
+					    if (eventlist.length > 0) {
+					        for (var i = 0; i < eventlist.length; i++) {
+					            if (eventlist[i].event_id == 'before_ok') {
+					                this.$data.edit_ok_event = eventlist[i];
+					            } else if (eventlist[i].event_id == 'initial') {
+					                this.$data.edit_inital_event = eventlist[i];
+					            } else if (eventlist[i].event_id == 'before_select_compose') {
+					                this.$data.edit_select_compose_event = eventlist[i].scrip_id;
+					                this.$data.edit_compose_cls_id = eventlist[i].compose_cls_id;
+					            }
+					        }
+						}
+					}
+					console.log(req);
+					if (this.$data.edit_inital_event) {
+					    var eventid = this.$data.edit_inital_event.scrip_id;
+					    var info = {
+					        eventid: eventid,
+					        edtype: "0",
+					        projectid: '',
+					        rclsid: '',
+					        robjid: '',
+					        userlogin: '',
+					        clsid: this.$data.param.Sub_Cls.ID,
+					        objid: "",
+					        attr: req,
+					    }
+					    this.scan_ini_DataObjRunCustomEvent(info);
+					}
+					console.log(this.$data.subClassGridStyle);
+					console.log(this.$data.subClassAttrList);
+					
+				} else {
+					uni.showModal({title:"鎻愮ず",content:"鏈壘鍒板彲鏄剧ず鐨勭殑灞炴�",showCancel:false,confirmText:"鍙栨秷"});
+				}
+			},
+			ini_DataObjRunCustomEvent(info){
+				var param = {
+				    EditStyle: this.$data.param.Master_Cls.View_Style.Name,
+				    ViewStyle: this.$data.param.Master_Cls.View_Style.Name,
+				    NotTriggerSysEvent: 0,
+				    enviroment: {
+				        'function': '3000', // 鍔熻兘鐐圭紪鍙�+				        cls_id: this.$data.param.Master_Cls.ID,     // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇�+				        'button': 'top',   // top/bottom
+				        button_name: '鏂板',
+				        master: {
+				            cls_id: this.$data.param.Master_Cls.ID, // button=bottom鏃�master鐨刢ls_id
+				            //obj_id: ''  // button=bottom鏃�master鐨刼bj_id
+				        }
+				    }
+				}
+				var inputparameter = '';
+				var global_attr = '';
+				
+				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
+                }
+				console.log(dataInfo);
+				this.$store.dispatch('DataObjRunCustomEventInfo',dataInfo).then(success=>{
+					console.log(success);
+					if (success.code=='00000') {
+						var data = JSON.parse(success.data);
+						var actionlist = data.action;
+						if (actionlist) {
+						    for (var j = 0; j < actionlist.length; 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++) {
+											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=='瀛楀吀-瀛楃涓�){
+															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});
+																
+															}
+															ca.dictitem = dictItemList;
+															// attr[j].dictitem = val[i].choice_list;
+														}else{
+															// ca.value = val[i].value;
+														}
+													}
+												}
+											}
+					
+						                    var length = 0;
+						                    if (!this.$data.refdatastore.filter(function (s) {
+						                        return val[i].attr == s.attr
+						                    }).length) {
+						                        length = 1;
+						                        this.$data.refdatastore.push(val[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 (action_type == 'open_select_userdlg') {
+									uni.showModal({title:"閿欒2.2",content:"open_select_userdlg杩欎釜action_type杩樻湭澶勭悊锛�,showCancel:false,confirmText:"鍙栨秷"});
+						        }
+						    }
+						}
+						
+					}else{
+						uni.showModal({title:"閿欒2",content:success.msg,showCancel:false,confirmText:"鍙栨秷"});
+					}
+				}).catch(ex=>{
+					// console.log(ex);
+					uni.showModal({title:"閿欒2.1",content:ex.errMsg,showCancel:false,confirmText:"鍙栨秷"});
+				});
+			},
+		    DataObjRunCustomEvent(info,data_attr){
+				var $this = this;
+		    	var enviroment = {
+		    	    'function': '3000', // 鍔熻兘鐐圭紪鍙�+		    	    cls_id: this.$data.param.Master_Cls.ID,     // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇�+		    	    'button': 'top',   // top/bottom
+		    	    button_name: '鏂板',
+		    	    master: {
+		    	        cls_id: this.$data.param.Master_Cls.ID, // button=bottom鏃�master鐨刢ls_id
+		    	        //obj_id: ''  // button=bottom鏃�master鐨刼bj_id
+		    	    }
+		    	};
+				enviroment.edit_dlg = {
+				    type: 'small',//灏忕獥鍙�+				    class_id: this.$data.param.Master_Cls.ID,//褰撳墠鏁版嵁绫籭d
+				}
+				if (data_attr) {
+				    enviroment.edit_dlg.form_control = {//鎵�睘鐨勮〃鍗曟帶浠�+				        name: data_attr.Name,//瀛楁灞炴�
+				        text: data_attr.DispName,//鏄剧ず鏂囨湰
+				        group_name: data_attr.GroupName,//灞炴�缁�+				        type: data_attr.Type,//瀛楁绫诲瀷
+				        readonly: data_attr.ReadOnly,//鏄惁鍙
+				        button_img: data_attr.button_img,//寮曠敤鎸夐挳鐨勫浘鏍�+				        button_tooltip: data_attr.button_tooltip//寮曠敤鎸夐挳鐨則ooltip
+				    }
+				}
+		    	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)
+		        }
+		    	console.log(dataInfo);
+		    	this.$store.dispatch('DataObjRunCustomEventInfo',dataInfo).then(success=>{
+		    		console.log(success);
+		    		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];
+		    			        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 < $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=='瀛楀吀-瀛楃涓�){
+															var dictItemList=[];
+															for(var d in result[i].choice_list){
+																var val =result[i].choice_list[d];
+																dictItemList.push({"CN_S_NAME":val,"Name":val,"label":val,"value":val});
+															}
+															attr[j].dictitem = dictItemList;
+															// attr[j].dictitem = 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++) {
+												console.log(attr[j].Name+'=='+result[i].attr);
+		    			                		if(attr[j].Name==result[i].attr){
+		    			                			attr[j].Value = 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_global_attr') {
+						            $this.$data.global_attr = data.action[i].value || [];
+						        }
+		    			    }
+		    			}
+		    			
+		    			if (data.result) {
+		    			    var result = data.result;
+		    			    for (var i = 0; i < result.length; i++) {
+		    			        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){
+		    			        			attr[j].Value = 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{
+		    			uni.showModal({title:"閿欒3",content:success.msg,showCancel:false,confirmText:"鍙栨秷"});
+		    		}
+		    	}).catch(ex=>{
+		    		// console.log(ex);
+		    		uni.showModal({title:"閿欒3.1",content:ex.errMsg,showCancel:false,confirmText:"鍙栨秷"});
+		    	});
+		    },
+			OKDataObjRunCustomEvent(){
+		    	var enviroment = {
+				    'function': '3000', // 鍔熻兘鐐圭紪鍙�+				    cls_id: this.$data.param.Master_Cls.ID,     // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇�+				    'button': 'top',   // top/bottom
+				    button_name: '鏂板',
+				    master: {
+				        cls_id: this.$data.param.Master_Cls.ID, // button=bottom鏃�master鐨刢ls_id
+				        
+				    }
+				};
+		    	
+				var eventid = this.$data.edit_ok_event.scrip_id;
+				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.Value=='璇烽�鎷� || ar.Value=='鈥斺�璇烽�鎷┾�鈥�) ar.Value='';
+						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 });
+					}
+				}
+				
+		    	if (this.$data.refdatastore.length > 0) {
+		    	    for (var i = 0; i < this.$data.refdatastore.length; i++) {
+		    	        if (!req.filter(function (s) {
+		    	            return this.$data.refdatastore[i].attr == s.name
+		    	        }).length) {
+		    	            length = 1;
+		    	            req.push({ 'attr': this.$data.refdatastore[i].attr, 'val': this.$data.refdatastore[i].value });
+		    	        }
+		    	    }
+		    	}
+		    	var info = {
+		    	    eventid: eventid,
+		    	    edtype: "0",
+		    	    projectid: '',
+		    	    rclsid: '',
+		    	    robjid: '',
+		    	    userlogin: '',
+		    	    clsid: this.$data.param.Master_Cls.ID,
+		    	    objid: "",
+		    	    attr: req,
+		    	}
+		    	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(enviroment), global_attr: JSON.stringify(this.$data.global_attr)
+		        }
+		    	console.log(dataInfo);
+		    	this.$store.dispatch('DataObjRunCustomEventInfo',dataInfo).then(success=>{
+		    		console.log(success);
+		    		if (success.code=='00000') {
+						var data = JSON.parse(success.data);		
+		    			var result = data.result;
+		    			for (var i = 0; i < result.length; i++) {
+		    			    // self.class_attr_ele.find('.attr_field[data-field="' + result[i].attr + '"]').val(result[i].value).data('val', 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;
+		    			            }
+		    			        }
+		    			    }
+		    			}
+						
+						this.add();
+		    		}else{
+		    			uni.showModal({title:"閿欒4",content:success.msg,showCancel:false,confirmText:"鍙栨秷"});
+		    		}
+		    	}).catch(ex=>{
+		    		// console.log(ex);
+		    		uni.showModal({title:"閿欒4.1",content:ex.errMsg,showCancel:false,confirmText:"鍙栨秷"});
+		    	});
+		    },
+		    DataObjRunCustomEvent_Return(eventid,data_attr,button_callback,index,iindex){
+				var enviroment = {
+				    'function': '3000', // 鍔熻兘鐐圭紪鍙�+				    cls_id: this.$data.param.Master_Cls.ID,     // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇�+				    'button': 'top',   // top/bottom
+				    button_name: '鏂板',
+				    master: {
+				        cls_id: this.$data.param.Master_Cls.ID, // button=bottom鏃�master鐨刢ls_id
+				        //obj_id: ''  // button=bottom鏃�master鐨刼bj_id
+				    }
+				};
+				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 });
+					}
+				}
+				if (this.$data.refdatastore.length > 0) {
+				    for (var i = 0; i < this.$data.refdatastore.length; i++) {
+				        if (!req.filter(function (s) {
+				            return this.$data.refdatastore[i].attr == s.name
+				        }).length) {
+				            length = 1;
+				            req.push({ 'attr': this.$data.refdatastore[i].attr, 'val': this.$data.refdatastore[i].value });
+				        }
+				    }
+				}
+				var extinfo = enviroment;
+				extinfo.edit_dlg = {
+				    type: 'small',//灏忕獥鍙�+				    class_id: this.$data.param.Master_Cls.ID,//褰撳墠鏁版嵁绫籭d
+				}
+				if (data_attr) {
+				    extinfo.edit_dlg.form_control = {//鎵�睘鐨勮〃鍗曟帶浠�+				        name: data_attr.Name,//瀛楁灞炴�
+				        text: data_attr.DispName,//鏄剧ず鏂囨湰
+				        group_name: data_attr.GroupName,//灞炴�缁�+				        type: data_attr.Type,//瀛楁绫诲瀷
+				        readonly: data_attr.ReadOnly,//鏄惁鍙
+				        button_img: data_attr.button_img,//寮曠敤鎸夐挳鐨勫浘鏍�+				        button_tooltip: data_attr.button_tooltip//寮曠敤鎸夐挳鐨則ooltip
+				    }
+				}
+				var dataInfo = {
+					edtype:  "0", eventid: eventid, projectid: '',rclsid: '', robjid: '', userlogin: '', 
+					clsid: this.$data.param.Master_Cls.ID, objid: '',attr: JSON.stringify(req), 
+					extinfo: JSON.stringify(extinfo), global_attr: JSON.stringify(this.$data.global_attr)
+				}
+				console.log(dataInfo);
+				this.$store.dispatch('DataObjRunCustomEventInfo',dataInfo).then(success=>{
+					console.log(success);
+					if (success.code=='00000') {
+						var data = JSON.parse(success.data);
+						if (data != "") {
+					
+						var actions = data.action;
+						console.log(actions);
+						if (actions) {
+						    for (var i = 0; i < actions.length; i++) {
+						        var action = actions[i];
+						        var val = action.value;
+						        var enviroment = JSON.stringify(enviroment);
+						        
+						        if (action.action_type == 'open_panel') {
+						           var d = dialog({
+						               title: '<i class="ace-icon fa fa-info-circle"></i> ' + '鎻愮ず',
+						               content: action.action_type + '姝ction灏氭湭澶勭悊锛�
+						           });
+						           d.show();
+						        }
+						        else if (action.action_type == 'open_select_userdlg') {
+						            var style = val.style;
+									// style == 'user' ? '閫夋嫨浜哄憳' : style == 'department' ? '閫夋嫨閮ㄩ棬' : style == 'role' ? '閫夋嫨瑙掕壊' : ''
+						            var $this = this;
+									var param={
+										index: index,
+										iindex:iindex,
+										button_callback:button_callback,
+										req:req,
+										data_attr:data_attr
+									}
+									uni.navigateTo({
+						            	url:'../selpsn/index?mulit=false&param='+JSON.stringify(param),
+						            	events:{
+						            		AddPer(data,param){ 
+						            			// console.log(param);
+						            			console.log(data);
+						            			var callback_eventid = param.button_callback.trim();
+												var info = {
+												    eventid: callback_eventid,
+												    edtype: "0",
+												    projectid: '',
+												    rclsid: '',
+												    robjid: '',
+												    userlogin: '',
+												    clsid: $this.$data.param.Master_Cls.ID,
+												    objid: "",
+												    attr: param.req,
+												    inputparameter: data
+												}
+												$this.DataObjRunCustomEvent(info, param.data_attr);
+						            		}
+						            	}
+						            });	
+						        }
+						        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 + '姝ction灏氭湭澶勭悊锛�
+						            });
+						            d.show();
+						        }
+						        else if (action.action_type == 'open_project_query_dlg') {
+						            //console.log(action.value.select_range);
+						            //console.log(action.value.mulit_select);
+						            var priRel = '-1';
+						            if (action.value.select_range == '鍏ㄩ儴鐩稿叧')
+						                priRel = '0';
+						            else if (action.value.select_range == '鎴戣礋璐g殑椤圭洰')
+						                priRel = '1';
+						            else if (action.value.select_range == '鎴戝垱寤虹殑')
+						                priRel = '2';
+						            else if (action.value.select_range == '鎴戝弬涓庣殑' || action.value.select_range == '鎴戝弬鍔犵殑')
+						                priRel = '3';
+						            else if (action.value.select_range == '鎴戝叧娉ㄧ殑')
+						                priRel = '4';
+						            else if (action.value.select_range == '鎴戜笅灞炵殑椤圭洰')
+										priRel = '5';
+										
+									var $this = this;
+									var param_={
+										index: index,
+										iindex:iindex,
+										button_callback:button_callback,
+										req:req
+									}
+									uni.navigateTo({
+										url:'../selPrj/index?relation='+priRel+'&param='+JSON.stringify(param_),
+										events:{
+											AddPer(data,param){ 
+												$this.$data.classAttrList[param.index].Attr[param.iindex].Value=data[0].Name;
+												$this.$data.classAttrList[param.index].Attr[param.iindex].ValID=data[0].ID+';'+data[0].Name;
+						            			var callback_eventid = param.button_callback.trim();
+												if (callback_eventid) {
+												    var info = {
+												        eventid: callback_eventid,
+												        edtype: "2",
+												        projectid: data[0].ID,
+												        rclsid: "",
+												        robjid: "",
+												        userlogin: "",
+												        clsid: $this.$data.param.Master_Cls.ID,
+												        objid: "",
+												        attr: param.req,
+												    }
+													
+												    $this.DataObjRunCustomEvent(info);
+												}
+											}
+										}
+									});
+						        } else {
+						            var d = dialog({
+						                title: '<i class="ace-icon fa fa-info-circle"></i> ' + '鎻愮ず',
+						                content: action.action_type + '姝ction灏氭湭澶勭悊锛�
+						            });
+						            d.show();
+						        }
+						    }
+						}
+						}else{
+							uni.showModal({title:"鎻愮ず5.2",content: '璋冪敤 before_click_button 鑴氭湰杩斿洖绌猴紝event_id' + eventid,showCancel:false,confirmText:"鍙栨秷"});
+						}
+					}else{
+						uni.showModal({title:"閿欒5",content:success.msg,showCancel:false,confirmText:"鍙栨秷"});
+					}
+				}).catch(ex=>{
+					// console.log(ex);
+					uni.showModal({title:"鎻愮ず5.1",content:ex.errMsg,showCancel:false,confirmText:"鍙栨秷"});
+				});
+		    },
+		    scan_ini_DataObjRunCustomEvent(info){
+		    	var param = {
+		    	    EditStyle: this.$data.param.Sub_Cls.View_Style.Name,
+		    	    ViewStyle: this.$data.param.Sub_Cls.View_Style.Name,
+		    	    NotTriggerSysEvent: 0,
+		    	    enviroment: {
+		    	        'function': '3000', // 鍔熻兘鐐圭紪鍙�+		    	        cls_id: this.$data.param.Sub_Cls.ID,     // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇�+		    	        'button': 'top',   // top/bottom
+		    	        button_name: '鏂板',
+		    	        master: {
+		    	            cls_id: this.$data.param.Sub_Cls.ID, // button=bottom鏃�master鐨刢ls_id
+		    	            //obj_id: ''  // button=bottom鏃�master鐨刼bj_id
+		    	        }
+		    	    }
+		    	}
+		    	var inputparameter = '';
+		    	var global_attr = '';
+		    	
+		    	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
+		        }
+		    	console.log(dataInfo);
+		    	this.$store.dispatch('DataObjRunCustomEventInfo',dataInfo).then(success=>{
+		    		console.log(success);
+		    		if (success.code=='00000') {
+		    			var data = JSON.parse(success.data);
+		    			var actionlist = data.action;
+		    			if (actionlist) {
+		    			    for (var j = 0; j < actionlist.length; 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++) {
+		    								for (var a = 0; a < this.$data.subClassAttrList.length; a++) {
+		    									for (var l = 0; l < this.$data.subClassAttrList[a].Attr.length; l++) {
+		    										var ca = this.$data.subClassAttrList[a].Attr[l];
+		    										if (val[i].attr  == ca.Name) {
+		    											if(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});
+		    													
+		    												}
+		    												ca.dictitem = dictItemList;
+		    												// attr[j].dictitem = val[i].choice_list;
+		    											}else{
+		    												// ca.value = val[i].value;
+		    											}
+		    										}
+		    									}
+		    								}
+		    		
+		    			                    var length = 0;
+		    			                    if (!this.$data.refdatastore.filter(function (s) {
+		    			                        return val[i].attr == s.attr
+		    			                    }).length) {
+		    			                        length = 1;
+		    			                        this.$data.refdatastore.push(val[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 (action_type == 'open_select_userdlg') {
+		    						uni.showModal({title:"閿欒2.2",content:"open_select_userdlg杩欎釜action_type杩樻湭澶勭悊锛�,showCancel:false,confirmText:"鍙栨秷"});
+		    			        }
+		    			    }
+		    			}
+		    			
+		    		}else{
+		    			uni.showModal({title:"閿欒2",content:success.msg,showCancel:false,confirmText:"鍙栨秷"});
+		    		}
+		    	}).catch(ex=>{
+		    		// console.log(ex);
+		    		uni.showModal({title:"閿欒2.1",content:ex.errMsg,showCancel:false,confirmText:"鍙栨秷"});
+		    	});
+		    },
+		    scan_DataObjRunCustomEvent(info,data_attr){
+		    	var $this = this;
+		    	var enviroment = {
+		    	    'function': '3000', // 鍔熻兘鐐圭紪鍙�+		    	    cls_id: this.$data.param.Sub_Cls.ID,     // 鍔熻兘鐐逛粠鏁版嵁绫绘爣璇�+		    	    'button': 'top',   // top/bottom
+		    	    button_name: '鏂板',
+		    	    master: {
+		    	        cls_id: this.$data.param.Sub_Cls.ID, // button=bottom鏃�master鐨刢ls_id
+		    	        //obj_id: ''  // button=bottom鏃�master鐨刼bj_id
+		    	    }
+		    	};
+		    	enviroment.edit_dlg = {
+					type: 'small',//灏忕獥鍙�+		    	    class_id: this.$data.param.Sub_Cls.ID,//褰撳墠鏁版嵁绫籭d
+		    	}
+		    	if (data_attr) {
+		    	    enviroment.edit_dlg.form_control = {//鎵�睘鐨勮〃鍗曟帶浠�+		    	        name: data_attr.Name,//瀛楁灞炴�
+		    	        text: data_attr.DispName,//鏄剧ず鏂囨湰
+		    	        group_name: data_attr.GroupName,//灞炴�缁�+		    	        type: data_attr.Type,//瀛楁绫诲瀷
+		    	        readonly: data_attr.ReadOnly,//鏄惁鍙
+		    	        button_img: data_attr.button_img,//寮曠敤鎸夐挳鐨勫浘鏍�+		    	        button_tooltip: data_attr.button_tooltip//寮曠敤鎸夐挳鐨則ooltip
+		    	    }
+		    	}
+		    	
+		    	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: JSON.stringify(info.inputParamter), global_attr: JSON.stringify(this.$data.global_attr)
+		        }
+		    	console.log(dataInfo);
+		    	this.$store.dispatch('DataObjRunCustomEventInfo',dataInfo).then(success=>{
+		    		console.log(success);
+		    		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];
+		    			        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 s = 0; s < $this.$data.subPanelList.length; s++) {
+		    									for (var c = 0; c < $this.$data.subPanelList[s].subClassAttrList.length; c++) {
+		    										var attr = $this.$data.subPanelList[s].subClassAttrList[c].Attr;
+													for (var j = 0; j < attr.length; j++) {
+														if(attr[j].Name==result[i].attr){
+															if(attr[j].Type=='瀛楀吀' || attr[j].Type=='瀛楀吀-瀛楃涓�){
+																var dictItemList=[];
+																for(var d in result[i].choice_list){
+																	var val =result[i].choice_list[d];
+																	dictItemList.push({"CN_S_NAME":val,"Name":val,"label":val,"value":val});
+																}
+																attr[j].dictitem = dictItemList;
+																// attr[j].dictitem = result[i].choice_list;
+															}
+														}
+													}
+												}
+		    								}
+		    			                }
+		    			                for (var s = 0; s < $this.$data.subPanelList.length; s++) {
+		    			                	for (var c = 0; c < $this.$data.subPanelList[s].subClassAttrList.length; c++) {
+		    			                		var attr = $this.$data.subPanelList[s].subClassAttrList[c].Attr;
+		    			                		for (var j = 0; j < attr.length; j++) {
+		    			                			console.log(attr[j].Name+'=='+result[i].attr);
+		    			                			if(attr[j].Name==result[i].attr){
+		    			                				attr[j].Value = 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_global_attr') {
+		    			            $this.$data.global_attr = data.action[i].value || [];
+		    			        } else if (data.action[i].action_type == 'add_subcls_panel') {
+		    			            var result = action.value;
+		    			            for (var i = 0; i < result.length; i++) {
+										for (var s = 0; s < $this.$data.subPanelList.length; s++) {
+											for (var c = 0; c < $this.$data.subPanelList[s].subClassAttrList.length; c++) {
+												var attr = $this.$data.subPanelList[s].subClassAttrList[c].Attr;
+												for (var j = 0; j < attr.length; j++) {
+													console.log(attr[j].Name+'=='+result[i].attr);
+													if(attr[j].Name==result[i].attr){
+														attr[j].Value = 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;
+										        }
+										    }
+										}
+									}
+		    			        }
+		    			    }
+		    			}
+		    			
+		    			if (data.result) {
+		    			    var result = data.result;
+		    			    for (var i = 0; i < result.length; i++) {
+		    			        for (var s = 0; s < $this.$data.subPanelList.length; s++) {
+		    			        	for (var c = 0; c < $this.$data.subPanelList[s].subClassAttrList.length; c++) {
+		    			        		var attr = $this.$data.subPanelList[s].subClassAttrList[c].Attr;
+		    			        		for (var j = 0; j < attr.length; j++) {
+		    			        			console.log(attr[j].Name+'=='+result[i].attr);
+		    			        			if(attr[j].Name==result[i].attr){
+		    			        				attr[j].Value = 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{
+		    			uni.showModal({title:"閿欒3",content:success.msg,showCancel:false,confirmText:"鍙栨秷"});
+		    		}
+		    	}).catch(ex=>{
+		    		// console.log(ex);
+		    		uni.showModal({title:"閿欒3.1",content:ex.errMsg,showCancel:false,confirmText:"鍙栨秷"});
+		    	});
+		    },
+		    
+			
+		}
+	}
+</script>
diff --git a/uni_modules/select-cy/changelog.md b/uni_modules/select-cy/changelog.md
new file mode 100644
index 0000000..5edfd0f
--- /dev/null
+++ b/uni_modules/select-cy/changelog.md
@@ -0,0 +1,15 @@
+## 1.0.5锛�022-08-15锛�+搴旇瘎璁哄尯闇�锛屽鍔犲垎椤靛姛鑳芥敮鎸�+## 1.0.4锛�022-08-15锛�+淇敼鏍峰紡闂锛岃В鍐宠瘎璁哄尯璇寸殑闂
+## 1.0.3锛�022-07-01锛�+澧炲姞鐐瑰嚮闈炲厓绱犲叧闂笅鎷夛紝闇�鍦ㄤ娇鐢ㄧ粍浠剁殑椤甸潰閰嶅悎锛岀洃鍚渶澶栧眰鐐瑰嚮浜嬩欢锛岃皟鐢ㄧ粍浠跺叧闂柟娉曪紝娉ㄦ剰澶栧眰瀹介珮淇濇寔鏄暣椤靛楂橈紝鍏蜂綋鍙傝�绀轰緥
+## 1.0.2锛�022-07-01锛�+淇鍒犻櫎绱㈠紩鐨刡ug
+## 1.0.1锛�022-07-01锛�+鏃�+## 1.0.0锛�022-07-01锛�+绗竴鐗� 瀹炵幇涓嬫媺澶氶�鍙垹闄ゅ崟涓�  
+鍩轰簬 [鎰熻阿](https://ext.dcloud.net.cn/plugin?id=5070)
+鏀归�鑰屾潵
+鍙敮鎸佸閫夛紝鍏朵粬鍟ヤ篃娌★紝鏍峰紡鍙互鑷繁璋冩暣
diff --git a/uni_modules/select-cy/components/select-cy/select-cy.vue b/uni_modules/select-cy/components/select-cy/select-cy.vue
new file mode 100644
index 0000000..9a0121d
--- /dev/null
+++ b/uni_modules/select-cy/components/select-cy/select-cy.vue
@@ -0,0 +1,400 @@
+<template>
+	<view class="uni-select-cy" :style="{'z-index':zindex}">
+		<view class="uni-select-cy-select" :class="{ active: active }" @click.stop="handleSelect">
+			<!-- 绂佺敤mask -->
+			<view class="uni-disabled" v-if="disabled"></view>
+			<!-- 娓呯┖ -->
+			<view class="close-icon close-postion" v-if="realValue.length && !active && !disabled && showClearIcon">
+				<text @click.stop="handleRemove(null)"></text>
+			</view>
+			<!-- 鏄剧ず妗�-->
+			<view class="uni-select-multiple" v-show="realValue.length">
+				<view class="uni-select-multiple-item" v-for="(item, index) in realValue" :key="index">
+					<view class="uni-select-multiple-item-row">
+						{{ item }}
+					</view>
+					<view class="close-icon" v-if="showValueClear"><text @click.stop="handleRemove(index)"></text>
+					</view>
+				</view>
+			</view>
+			<!-- 涓虹┖鏃剁殑鏄剧ず鏂囨 -->
+			<view v-if="realValue.length == 0&&showplaceholder">{{ placeholder }}</view>
+			<!-- 绂佺敤鍥炬爣 -->
+			<view class="uni-select-cy-icon" :class="{ disabled: disabled }"><text></text></view>
+		</view>
+		<!-- 涓嬫媺閫夐」 -->
+		<scroll-view class="uni-select-cy-options" :scroll-y="true" v-show="active" @scrolltolower="scrolltolower">
+			<template>
+				<view class="uni-select-cy-item" :class="{ active: realValue.includes(item[svalue]) }"
+					v-for="(item, index) in options" :key="index" @click.stop="handleChange(index, item)">
+					{{ item[slabel] }}
+				</view>
+			</template>
+		</scroll-view>
+	</view>
+</template>
+
+<script>
+	export default {
+		name: 'select-cy',
+		props: {
+			//鏄惁鏄剧ず鍏ㄩ儴娓呯┖鎸夐挳
+			showClearIcon: {
+				type: Boolean,
+				default: false
+			},
+			//鏄惁鏄剧ず鍗曚釜鍒犻櫎
+			showValueClear: {
+				type: Boolean,
+				default: true
+			},
+			zindex: {
+				type: Number,
+				default: 999
+			},
+			//绂佺敤缁勪欢
+			disabled: {
+				type: Boolean,
+				default: false
+			},
+			options: {
+				type: Array,
+				default () {
+					return [];
+				}
+			},
+			value: {
+				type: Array,
+				default () {
+					return [];
+				}
+			},
+			placeholder: {
+				type: String,
+				default: '璇烽�鎷�
+			},
+			showplaceholder: {
+				type: Boolean,
+				default: true
+			},
+			slabel: {
+				type: String,
+				default: 'label'
+			},
+			svalue: {
+				type: String,
+				default: 'value'
+			},
+			// 鏄惁寮�惎鍒嗛〉
+			isPaging:{
+				type: Boolean,
+				default: false
+			}
+		},
+		data() {
+			return {
+				active: false, //缁勪欢鏄惁婵�椿锛�+				changevalue: [], //鎼滅储妗嗗悓姝�+				realValue: []
+			};
+		},
+		watch:{
+			value:{
+				deep:true,
+				handle(val){
+					//鍒濆鍖�+					this.init();
+				}
+			}
+		},
+		methods: {
+			close() {
+				this.active = false
+			},
+			init() {
+				if (this.value.length > 0) {
+					this.changevalue = this.options.map(item => {
+						this.value.forEach(i => {
+							if (item[this.svalue] == i[this.svalue]) {
+								return item;
+							}
+						});
+					});
+					this.realValue = this.value;
+				} else {
+					this.changevalue = [];
+					this.realValue = [];
+				}
+			},
+			scrolltolower(){
+				if(this.isPaging){
+					this.$emit('scrolltolower')
+				}
+				
+			},
+			//鐐瑰嚮灞曠ず閫夐」
+			handleSelect() {
+				if (this.disabled) return;
+				this.active = !this.active;
+			},
+			//绉婚櫎鏁版嵁
+			handleRemove(index) {
+				var delvalue=[];
+				for(var i in this.changevalue){
+					delvalue.push({Name:this.changevalue[i].Name});
+				}
+				if (index === null) {
+					this.realValue = [];
+					this.changevalue = [];
+				} else {
+					this.realValue.splice(index, 1);
+					this.changevalue.splice(index, 1);
+				}
+				this.$emit('change', this.changevalue, this.realValue, delvalue);
+			},
+			//鐐瑰嚮缁勪欢鍒�+			handleChange(index, item) {
+				let arrIndex = this.realValue.indexOf(item[this.svalue]);
+				if (arrIndex > -1) {
+					this.changevalue.splice(arrIndex, 1);
+					this.realValue.splice(arrIndex, 1);
+				} else {
+					this.changevalue.push(item);
+					this.realValue.push(item[this.svalue]);
+				}
+				console.log(this.realValue, 'this.realValue')
+				this.$emit('change', this.changevalue, this.realValue);
+			}
+		}
+	};
+</script>
+
+<style lang="scss" scoped>
+	.uni-select-cy {
+		position: relative;
+		z-index: 999;
+
+		.uni-select-mask {
+			width: 100%;
+			height: 100%;
+		}
+
+		/* 鍒犻櫎鎸夐挳鏍峰紡*/
+		.close-icon {
+			height: 100%;
+			width: 15px;
+			display: flex;
+			align-items: center;
+			justify-content: center;
+			z-index: 3;
+			cursor: pointer;
+
+			text {
+				position: relative;
+				background: #fff;
+				width: 13px;
+				height: 13px;
+				border-radius: 50%;
+				border: 1px solid #bbb;
+
+				&::before,
+				&::after {
+					content: "";
+					position: absolute;
+					left: 20%;
+					top: 50%;
+					height: 1px;
+					width: 60%;
+					transform: rotate(45deg);
+					background-color: #bbb;
+				}
+
+				&::after {
+					transform: rotate(-45deg);
+				}
+
+			}
+		}
+
+		//鎵�湁娓呯┖鐨勫畾浣�+		.close-postion {
+			position: absolute;
+			right: 35px;
+			top: 0;
+			height: 100%;
+			width: 15px;
+		}
+
+		/* 澶氶�鐩掑瓙 */
+		.uni-select-multiple {
+			overflow-x: auto;
+			display: flex;
+			flex: 1;
+			width: 0;
+			flex-wrap: nowrap;
+			.uni-select-multiple-item {
+				background: #bbb;
+				margin-right: 5rpx;
+				padding: 2rpx 4rpx;
+				border-radius: 4rpx;
+				color: #fff;
+				display: flex;
+				flex: 0 0 140rpx;
+			
+				.uni-select-multiple-item-row{
+					flex: 1;
+					overflow: hidden;
+					text-overflow: ellipsis;
+					white-space: nowrap;
+				}
+			}
+		}
+
+		// select閮ㄥ垎
+		.uni-select-cy-select {
+			user-select: none;
+			position: relative;
+			z-index: 3;
+			height: 36px;
+			padding: 0 30px 0 10px;
+			box-sizing: border-box;
+			border-radius: 4px;
+			border: 1px solid rgb(229, 229, 229);
+			display: flex;
+			align-items: center;
+			font-size: 14px;
+			color: #999;
+			flex-wrap: nowrap;
+			.uni-disabled {
+				position: absolute;
+				left: 0;
+				width: 100%;
+				height: 100%;
+				z-index: 19;
+				cursor: no-drop;
+				background: rgba(255, 255, 255, .5);
+			}
+
+
+			.uni-select-cy-input {
+				font-size: 14px;
+				color: #999;
+				display: block;
+				width: 96%;
+				overflow: hidden;
+				text-overflow: ellipsis;
+				white-space: nowrap;
+				line-height: 30px;
+				box-sizing: border-box;
+
+				&.active {
+					color: #333;
+				}
+
+			}
+
+			.uni-select-cy-icon {
+				cursor: pointer;
+				position: absolute;
+				right: 0;
+				top: 0;
+				height: 100%;
+				width: 30px;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+
+				&::before {
+					content: "";
+					width: 1px;
+					height: 100%;
+					position: absolute;
+					left: 0;
+					top: 0;
+					background-color: #e5e5e5;
+				}
+
+				text {
+					display: block;
+					width: 0;
+					height: 0;
+					border-width: 12rpx 12rpx 0;
+					border-style: solid;
+					border-color: #bbb transparent transparent;
+					transition: .3s;
+				}
+
+				&.disabled {
+					cursor: no-drop;
+
+					text {
+						width: 20rpx;
+						height: 20rpx;
+						border: 2px solid #ff0000;
+						border-radius: 50%;
+						transition: .3s;
+						position: relative;
+						z-index: 999;
+
+						&::after {
+							content: "";
+							position: absolute;
+							top: 50%;
+							left: 0;
+							width: 100%;
+							height: 2px;
+							margin-top: -1px;
+							background-color: #ff0000;
+							transform: rotate(45deg);
+
+						}
+					}
+				}
+			}
+
+			&.active .uni-select-cy-icon {
+				text {
+					transform: rotate(180deg);
+				}
+			}
+		}
+
+		// options閮ㄥ垎
+		.uni-select-cy-options {
+			user-select: none;
+			position: absolute;
+			top: calc(100% + 5px);
+			left: 0;
+			width: 100%;
+			height: 500rpx;
+			border-radius: 4px;
+			border: 1px solid rgb(229, 229, 229);
+			background: #fff;
+			padding: 5px 0;
+			box-sizing: border-box;
+			z-index: 9;
+
+			.uni-select-cy-item {
+				padding: 0 10px;
+				box-sizing: border-box;
+				cursor: pointer;
+				line-height: 2.5;
+				transition: .3s;
+				font-size: 14px;
+
+				&.active {
+					color: #409eff;
+
+					background-color: #f5f7fa &:hover {
+						color: #409eff;
+						background-color: #f5f7fa
+					}
+				}
+
+				&:hover {
+					background-color: #f5f5f5;
+				}
+			}
+		}
+	}
+</style>
diff --git a/uni_modules/select-cy/package.json b/uni_modules/select-cy/package.json
new file mode 100644
index 0000000..c11a876
--- /dev/null
+++ b/uni_modules/select-cy/package.json
@@ -0,0 +1,78 @@
+{
+	"id": "select-cy",
+    "dcloudext": {
+        "sale": {
+			"regular": {
+				"price": "0.00"
+			},
+			"sourcecode": {
+				"price": "0.00"
+			}
+		},
+		"contact": {
+			"qq": ""
+		},
+		"declaration": {
+			"ads": "鏃�,
+			"data": "鎻掍欢涓嶉噰闆嗕换浣曟暟鎹�,
+			"permissions": "鏃�
+		},
+        "npmurl": "",
+        "type": "component-vue"
+	},
+	"displayName": "select-cy",
+	"version": "1.0.5",
+	"description": "绠�崟鐨勪笅鎷夊閫夋彃浠�,
+	"keywords": [
+        "select",
+        "涓嬫媺",
+        "閫夋嫨",
+        "澶氶�"
+    ],
+	"repository": "",
+	"engines": {
+		"HBuilderX": "^3.0.7"
+	},
+	"uni_modules": {
+		"platforms": {
+			"cloud": {
+				"tcb": "y",
+				"aliyun": "y"
+			},
+			"client": {
+				"Vue": {
+					"vue2": "y",
+					"vue3": "u"
+				},
+				"App": {
+					"app-vue": "y",
+					"app-nvue": "n"
+				},
+				"H5-mobile": {
+					"Safari": "u",
+					"Android Browser": "u",
+					"寰俊娴忚鍣�Android)": "y",
+					"QQ娴忚鍣�Android)": "u"
+				},
+				"H5-pc": {
+					"Chrome": "y",
+					"IE": "u",
+					"Edge": "u",
+					"Firefox": "u",
+					"Safari": "u"
+				},
+				"灏忕▼搴�: {
+					"寰俊": "y",
+					"闃块噷": "u",
+					"鐧惧害": "u",
+					"瀛楄妭璺冲姩": "u",
+					"QQ": "u"
+				},
+				"蹇簲鐢�: {
+					"鍗庝负": "u",
+					"鑱旂洘": "u"
+				}
+			}
+		}
+	}
+}
diff --git a/uni_modules/select-cy/readme.md b/uni_modules/select-cy/readme.md
new file mode 100644
index 0000000..b9408e4
--- /dev/null
+++ b/uni_modules/select-cy/readme.md
@@ -0,0 +1,125 @@
+## 鎻掍欢浣跨敤鏂规硶锛�+	
+ `<select-lay :value="tval" name="name" :options="datalist" @selectitem="selectitem"></select-lay>`
+  
+## 閰嶇疆鍙傛暟锛�+ 
+ 灞炴�鍚峾绫诲瀷|榛樿鍊紎璇存槑
+ :--:|:--:|:--:|-
+ showClearIcon|Boolean|false|鏄惁鏄剧ず鍏ㄩ儴娓呯┖鎸夐挳
+ showValueClear|Boolean|true|鏄惁鏄剧ず鍗曚釜鍒犻櫎
+ zindex|Number|""|灞傜骇锛岄粯璁�99锛岄槻姝㈠涓粍浠朵竴璧蜂娇鐢ㄦ椂涓嬫媺鏍忕┛閫�+ slabel|String|label|鑷畾涔夊垪琛ㄤ腑閿�瀵瑰叧绯伙紝鍙傝�绀轰緥
+ svalue|String|value|鑷畾涔夊垪琛ㄤ腑閿�瀵瑰叧绯伙紝璇ュ�瀵瑰簲value锛屽弬鑰冪ず渚�+ placeholder|String|璇烽�鎷﹟鏃犻�椤规椂灞曠ず鐨勬枃瀛�+ showplaceholder|Boolean|true|涓嬫媺鏃舵槸鍚﹀睍绀鸿閫夋嫨鎸夐挳
+ options|Array|鏃爘鏁版嵁鍒楄〃
+ disabled|Boolean|false|鏄惁绂佺敤
+ value|Array|鏃爘閫変腑鍊煎強鍥炴樉
+ isPaging|Boolean|false|鏄惁寮�惎鍒嗛〉榛樿涓嶉渶瑕�+## 浜嬩欢锛�+
+ 浜嬩欢鍚峾璇存槑|杩斿洖鍊�+ :--:|:--:|-
+ @change|鐐瑰嚮椤圭洰鎴栬�鍒犻櫎瑙﹀彂鐨勪簨浠秥杩斿洖鍏ㄩ噺閫変腑椤瑰強鍙湁value鐨勯�涓」
+ @scrolltolower|鍒嗛〉瑙﹀簳浜嬩欢|鍙戦�浣犵殑璇锋眰鑾峰彇鍒嗛〉鏁版嵁
+## 璇存槑锛�+ 
+ 姝ゆ彃浠朵緷璧杝css锛岃鍔″繀瀹夎锛侊紒锛�+
+ 
+## 绀轰緥锛�+ 
+ ```
+	<template>
+		<view class="content">
+			<form @submit="formSubmit">
+				<view class="item">鍐欐硶锛�/view>
+				<select-cy :value="tval" placeholder="璇烽�鎷╅」鐩� :options="datalist" @change="change"></select-cy>
+				<select-cy :value="tval" placeholder="璇烽�鎷╅」鐩�" :options="datalist" @change="change"></select-cy>
+				<button type="submit" @click="formSubmit">鎻愪氦</button>
+			</form>
+		</view>
+	</template>
+	
+	<script>
+	export default {
+		data() {
+			return {
+				//妯℃嫙鏁版嵁鍒楄〃
+				datalist: [],
+				//妯℃嫙鍒濆鏁版嵁
+				tval: []
+			};
+		},
+		onReady() {
+			this.datalist = [
+				{
+					label: 'label1',
+					value: 'value1'
+				},
+				{
+					label: 'label2',
+					value: 'value2'
+				},
+				{
+					label: 'label3',
+					value: 'value3'
+				},
+				{
+					label: 'label4',
+					value: 'value4'
+				},
+				{
+					label: 'label5',
+					value: 'value5'
+				},
+				{
+					label: 'label6',
+					value: 'value6'
+				},
+				{
+					label: 'label7',
+					value: 'value7'
+				},
+				{
+					label: 'label8',
+					value: 'value8'
+				},
+				{
+					label: 'label9',
+					value: 'value9'
+				}
+			];
+		},
+		methods: {
+			formSubmit(e) {
+				console.log(this.tval,'鎻愪氦鍙傛暟');
+			},
+			change(item,value) {
+				console.log(item,value);
+				this.tval = value;
+			}
+		}
+	};
+	</script>
+	
+	<style lang="scss">
+	.content {
+		width: 300px;
+		padding: 20px 0;
+		margin: 0 auto;
+	
+		.item {
+			margin-bottom: 10px;
+		}
+	
+		.btn {
+			margin-top: 20px;
+		}
+	}
+	</style>
+	
+ 
+ ```
+ 
\ No newline at end of file

--
Gitblit v1.9.1