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¶m='+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¶m='+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¶m='+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+'¶m='+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