From d4bf35dbc5fc582d23c1a371bfc48a75864653ed Mon Sep 17 00:00:00 2001 From: jt <jt@activesoft.com.cn> Date: 星期二, 15 八月 2023 16:28:50 +0800 Subject: [PATCH] 文本框判断是数值类型的改为number --- pages/modal/classAttr.vue | 433 ++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 342 insertions(+), 91 deletions(-) diff --git a/pages/modal/classAttr.vue b/pages/modal/classAttr.vue index 3c29187..0e4ac97 100644 --- a/pages/modal/classAttr.vue +++ b/pages/modal/classAttr.vue @@ -109,14 +109,17 @@ margin-top: -6rpx; display: inline-block; float: right; - font-size: 44rpx; + font-size: 48rpx; + } + .text-right a,.text-right2 a{ + color: #337ab7; } .text-right2 { margin: 0; vertical-align: -4px; margin-left: 9px; float: none; - font-size: 44rpx; + font-size: 48rpx; display: inline-block; } .section_iput{ @@ -205,6 +208,111 @@ .input_vallist ul li a i { font-size: 45rpx; } + .view-popup{ + position:relative; + } + .popup-content { + @include flex; + align-items: center; + justify-content: center; + padding: 30rpx; + background-color: #fff; + /* height: 150px; */ + /* border: 1px solid red; */ + } + .popup-cont { + overflow-y: auto; + /* border: 1px solid red; */ + } + .popup-height { + @include height; + /* width: 200px; */ + } + .popup-header{ + font-size: 42rpx; + font-weight: bold; + margin:20rpx 20rpx 0px 20rpx; + } + .view_popup_CheckList{ + margin-bottom: 20rpx; + } + .popup-footer{ + float: right; + position:absolute; + bottom:0; + right:20rpx; + } + button.btn_popup_add { + width:180rpx; + margin-top: 50rpx; + margin-right: 20rpx; + padding: 15rpx; + line-height: 1.5; + background: #27A6E1; + border: none; + color: #fff; + font-size: 38rpx; + font-weight: bold; + /* float: left; */ + display: inline-block; + } + button.btn_popup_cancel { + width:180rpx; + margin-top: 50rpx; + padding: 15rpx; + line-height: 1.5; + background: #27A6E1; + border: none; + color: #fff; + font-size: 38rpx; + font-weight: bold; + /* float: right; */ + display: inline-block; + } +</style> + .touch-item { + background-color: #F8F9FC; + display: flex; + justify-content: space-between; + width: 100%; + overflow: hidden + } + + .itemcontent { + display: flex; + flex-direction: column; + padding: 5px 10px; + border-bottom: 1px solid #eeeeee; + margin-right: 0; + margin-left: -100px; + width: 100%; + -webkit-transition: all 0.4s; + transition: all 0.4s; + -webkit-transform: translateX(100px); + transform: translateX(100px); + position: relative; + } + + .itembtn { + width: 100px; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + background-color: #119bf8; + color: white; + position: relative; + -webkit-transform: translateX(100px); + transform: translateX(100px); + -webkit-transition: all 0.4s; + transition: all 0.4s; + } + + .touch-move-active .itemcontent, + .touch-move-active .itembtn { + -webkit-transform: translateX(0); + transform: translateX(0); + } </style> <template> @@ -220,13 +328,13 @@ </div> <div class="class_attr_body" :style="{'display':classattr.Open?'block':'none'}"> <div class="dv_field_div" v-for="(attr,iindex) in classattr.Attr"> - <view class="form-group" v-if="attr.Type=='瀛楃涓� || attr.Type=='鍙彉闀垮瓧绗︿覆' || attr.Type=='鏁存暟' || attr.Type=='娴偣鏁�" :style="{'display':attr.hidden == 'True'?'none':''}"> + <view class="form-group" v-if="attr.Type=='瀛楃涓� || attr.Type=='鍙彉闀垮瓧绗︿覆' || attr.Type=='鏁存暟' || attr.Type=='娴偣鏁�" :style="{'display':attr.hidden == true?'none':''}"> <view v-if="classattr.control_style=='涓婁笅甯冨眬'"> <text class="tx_title" :style="{'width':classattr.title_p_wdith+'%'}">{{attr.DispName}}:<i class="i_tishi" v-if="attr.notempty==true">*</i></text> <!-- attr.NotEmpty=='1' --> <div class="text-right" v-if="attr.ext_button==true"> <a @tap="classAttr_extButton(index,iindex)" ><i class="ace-icon fa fa-plus-circle"></i></a> </div> - <input type="text" :value="attr.Value" @focus="ontap" @blur="onevent" v-if="attr.Height=='1'" :data-index="index" :data-iindex="iindex" :style="{'width':attr.Width}" :disabled="attr.edit?false:true" > <!-- =='flase'?true:false --> + <input :type="attr.Type=='鏁存暟' || attr.Type=='娴偣鏁�?'number':'text'" :value="attr.Value" @focus="ontap" @blur="onevent" v-if="attr.Height=='1'" :data-index="index" :data-iindex="iindex" :style="{'width':attr.Width}" :disabled="attr.edit?false:true" > <!-- =='flase'?true:false --> <textarea :value="attr.Value" @focus="ontap" @blur="onevent" v-else-if="attr.Height=='2'" :data-index="index":data-iindex="iindex" style="height:60px;" :style="{'width':attr.Width}" :disabled="attr.edit?false:true"></textarea> <textarea :value="attr.Value" @focus="ontap" @blur="onevent" v-else-if="attr.Height=='3'" :data-index="index":data-iindex="iindex" style="height:90px;" :style="{'width':attr.Width}" :disabled="attr.edit?false:true"></textarea> <!-- 鎵爜鍚庝簨浠惰繑鍥�--> @@ -238,16 +346,16 @@ </view> <view v-if="classattr.control_style=='宸﹀彸甯冨眬'"> <p class="tx_title2" :style="{'width':classattr.title_p_wdith+'%'}">{{attr.DispName}}:</p> - <input type="text" class="attr_field" :value="attr.Value" @focus="ontap" @blur="onevent" v-if="attr.Height=='1'" :data-index="index" :data-iindex="iindex" :style="{'width': attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.NotEmpty=='1'?10:5) - (attr.ext_button==true?9:0) +'%'}" :disabled="attr.edit?false:true" > - <textarea class="attr_field" :value="attr.Value" @focus="ontap" @blur="onevent" v-else-if="attr.Height=='2'" :data-index="index":data-iindex="iindex" style="height:60px;" :style="{'width': attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.NotEmpty=='1'?10:5) - (attr.ext_button==true?9:0) +'%'}" :disabled="attr.edit?false:true"></textarea> - <textarea class="attr_field" :value="attr.Value" @focus="ontap" @blur="onevent" v-else-if="attr.Height=='3'" :data-index="index":data-iindex="iindex" style="height:90px;" :style="{'width': attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.NotEmpty=='1'?10:5) - (attr.ext_button==true?9:0) +'%'}" :disabled="attr.edit?false:true"></textarea> + <input :type="attr.Type=='鏁存暟' || attr.Type=='娴偣鏁�?'number':'text'" class="attr_field" :value="attr.Value" @focus="ontap" @blur="onevent" v-if="attr.Height=='1'" :data-index="index" :data-iindex="iindex" :style="{'width': attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.notempty==true?10:5) - (attr.ext_button==true?9:0) +'%'}" :disabled="attr.edit?false:true" > + <textarea class="attr_field" :value="attr.Value" @focus="ontap" @blur="onevent" v-else-if="attr.Height=='2'" :data-index="index":data-iindex="iindex" style="height:60px;" :style="{'width': attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.notempty==true?10:5) - (attr.ext_button==true?9:0) +'%'}" :disabled="attr.edit?false:true"></textarea> + <textarea class="attr_field" :value="attr.Value" @focus="ontap" @blur="onevent" v-else-if="attr.Height=='3'" :data-index="index":data-iindex="iindex" style="height:90px;" :style="{'width': attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.notempty==true?10:5) - (attr.ext_button==true?9:0) +'%'}" :disabled="attr.edit?false:true"></textarea> <div class="text-right2" v-if="attr.ext_button==true"> <a @tap="classAttr_extButton(index,iindex)" ><i class="ace-icon fa fa-plus-circle"></i></a> </div> <i class="i_tishi" v-if="attr.notempty==true">*</i> </view> </view> - <view class="form-group" v-if="attr.Type=='甯冨皵鍊�" :style="{'display':attr.hidden == 'True'?'none':''}"> + <view class="form-group" v-if="attr.Type=='甯冨皵鍊�" :style="{'display':attr.hidden == true?'none':''}"> <checkbox-group class="check_rememberPwd" @change="oncheck" :data-ischeck="attr.Value" :data-index="index" :data-iindex="iindex" :style="{'margin-left': classattr.control_style=='宸﹀彸甯冨眬'?classattr.title_p_wdith+2 +'%':'10rpx'}"> <label> <checkbox :value="attr.Value" :checked="attr.Value"/> @@ -255,7 +363,7 @@ </label> </checkbox-group> </view> - <view class="form-group" v-if="attr.Type=='鏃ユ湡' || attr.Type=='鏃堕棿'" :style="{'display':attr.hidden == 'True'?'none':''}"> + <view class="form-group" v-if="attr.Type=='鏃ユ湡' || attr.Type=='鏃堕棿'" :style="{'display':attr.hidden == true?'none':''}"> <view v-if="classattr.control_style=='涓婁笅甯冨眬'"> <text class="tx_title" :style="{'width':classattr.title_p_wdith+'%'}">{{attr.DispName}}:<i class="i_tishi" v-if="attr.notempty==true">*</i></text> <picker mode="date" :value="attr.Value" @change="ondateTime" class="date_iput" :data-index="index" :data-iindex="iindex" :style="{'width':attr.Width}"> @@ -264,13 +372,13 @@ </view> <view v-if="classattr.control_style=='宸﹀彸甯冨眬'"> <p class="tx_title2" :style="{'width':classattr.title_p_wdith+'%'}">{{attr.DispName}}:</p> - <picker mode="date" :value="attr.Value" @change="ondateTime" class="date_iput attr_field" :data-index="index" :data-iindex="iindex" :style="{'width': attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.NotEmpty=='1'?10:5) +'%'}"> + <picker mode="date" :value="attr.Value" @change="ondateTime" class="date_iput attr_field" :data-index="index" :data-iindex="iindex" :style="{'width': attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.notempty==true?10:5) +'%'}"> <view class="picker">{{attr.Value}}</view> </picker> <i class="i_tishi" v-if="attr.notempty==true">*</i> </view> </view> - <view class="form-group" v-if="attr.Type=='瀛楀吀' || attr.Type=='瀛楀吀-瀛楃涓�" :style="{'display':attr.hidden == 'True'?'none':''}"> + <view class="form-group" v-if="attr.Type=='瀛楀吀' || attr.Type=='瀛楀吀-瀛楃涓� || attr.Type=='瀛楀吀-鏁存暟'" :style="{'display':attr.hidden == true?'none':''}"> <view v-if="classattr.control_style=='涓婁笅甯冨眬'"> <text class="tx_title">{{attr.DispName}}:<i class="i_tishi" v-if="attr.notempty==true">*</i></text> <picker class="section_iput" @change="onchange" :range="attr.dictitem" range-key="CN_S_NAME" v-if="attr.select==false" :data-index="index" :data-iindex="iindex" :style="{'width':attr.Width}" :disabled="attr.edit?false:true"> @@ -280,14 +388,14 @@ </view> <view v-if="classattr.control_style=='宸﹀彸甯冨眬'"> <p class="tx_title2" :style="{'width':classattr.title_p_wdith+'%'}">{{attr.DispName}}:</p> - <picker class="section_iput attr_field" @change="onchange" :range="attr.dictitem" range-key="CN_S_NAME" v-if="attr.select==false" :data-index="index" :data-iindex="iindex" :style="{'width': attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.NotEmpty=='1'?10:5) +'%'}"> + <picker class="section_iput attr_field" @change="onchange" :range="attr.dictitem" range-key="CN_S_NAME" v-if="attr.select==false" :data-index="index" :data-iindex="iindex" :style="{'width': attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.notempty==true?10:5) +'%'}"> <label class="">{{ attr.Value }}</label> </picker> - <select-cy :value="attr.Value" :name="attr.Name" :options="attr.dictitem" showClearIcon="true" @change="onchange2" v-else-if="attr.select==true" :data-index="index" :data-iindex="iindex" :style="{'width':attr.Width}"></select-cy> + <select-cy :value="attr.Value" :name="attr.Name" :options="attr.dictitem" showClearIcon="true" @change="onchange2" v-else-if="attr.select==true" :data-index="index" :data-iindex="iindex" :style="{'display':'inline-block','margin-left':'8px','width':attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.notempty==true?10:5) +'%'}"></select-cy> <i class="i_tishi" v-if="attr.notempty==true">*</i> </view> </view> - <view class="form-group" v-if="attr.Type=='寮曠敤瀵硅薄(鍗曚釜)' || attr.Type=='寮曠敤瀵硅薄(澶氫釜)'" :style="{'display':attr.hidden == 'True'?'none':''}"> + <view class="form-group" v-if="attr.Type=='寮曠敤瀵硅薄(鍗曚釜)' || attr.Type=='寮曠敤瀵硅薄(澶氫釜)'" :style="{'display':attr.hidden == true?'none':''}"> <view v-if="classattr.control_style=='涓婁笅甯冨眬'"> <text class="tx_title">{{attr.DispName}}:<i class="i_tishi" v-if="attr.notempty==true">*</i></text> <div class="text-right" v-if="attr.Type=='寮曠敤瀵硅薄(鍗曚釜)'"> @@ -303,7 +411,7 @@ </view> <view v-if="classattr.control_style=='宸﹀彸甯冨眬'"> <p class="tx_title2" :style="{'width':classattr.title_p_wdith+'%'}">{{attr.DispName}}:</p> - <input type="text" class="attr_field" :data-index="index" :data-iindex="iindex" :style="{'width': attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.NotEmpty=='1'?10:5) - 9 +'%'}" disabled="true" > + <input type="text" class="attr_field" :data-index="index" :data-iindex="iindex" :style="{'width': attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.notempty==true?10:5) - 9 +'%'}" disabled="true" > <div class="text-right2" v-if="attr.Type=='寮曠敤瀵硅薄(鍗曚釜)'"> <a @tap="classAttr_AddRef" :data-classid="attr.RelCls.split('|')[0]" :data-classname="attr.RelCls.split('|')[1]" ><i class="ace-icon fa fa-plus-circle"></i></a> </div> @@ -316,7 +424,7 @@ <i class="i_tishi" v-if="attr.notempty==true">*</i> </view> </view> - <view class="form-group" v-if="attr.Type=='寮曠敤浜哄憳'" :style="{'display':attr.hidden == 'True'?'none':''}"> + <view class="form-group" v-if="attr.Type=='寮曠敤浜哄憳'" :style="{'display':attr.hidden == true?'none':''}"> <view v-if="classattr.control_style=='涓婁笅甯冨眬'"> <text class="tx_title">{{attr.DispName}}:<i class="i_tishi" v-if="attr.notempty==true">*</i></text> <div class="text-right"> @@ -326,14 +434,14 @@ </view> <view v-if="classattr.control_style=='宸﹀彸甯冨眬'"> <p class="tx_title2" :style="{'width':classattr.title_p_wdith+'%'}">{{attr.DispName}}:</p> - <input type="text" class="attr_field" :value="attr.Value" :style="{'width': attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.NotEmpty=='1'?10:5) - 9 +'%'}" disabled="true" > + <input type="text" class="attr_field" :value="attr.Value" :style="{'width': attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.notempty==true?10:5) - 9 +'%'}" disabled="true" > <div class="text-right2"> <a class="class_attr_add_per" @tap="classAttr_AddPer(index,iindex)"><i class="ace-icon fa fa-plus-circle"></i></a> </div> <i class="i_tishi" v-if="attr.notempty==true">*</i> </view> </view> - <view class="form-group" v-if="attr.Type=='寮曠敤椤圭洰'" :style="{'display':attr.hidden == 'True'?'none':''}"> + <view class="form-group" v-if="attr.Type=='寮曠敤椤圭洰'" :style="{'display':attr.hidden == true ?'none':''}"> <view v-if="classattr.control_style=='涓婁笅甯冨眬'"> <text class="tx_title">{{attr.DispName}}:<i class="i_tishi" v-if="attr.notempty==true">*</i></text> <div class="text-right"> @@ -343,32 +451,32 @@ </view> <view v-if="classattr.control_style=='宸﹀彸甯冨眬'"> <p class="tx_title2" :style="{'width':classattr.title_p_wdith+'%'}">{{attr.DispName}}:</p> - <input type="text" class="attr_field" :value="attr.Value" :style="{'width': attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.NotEmpty=='1'?10:5) - 9 +'%'}" disabled="true" > + <input type="text" class="attr_field" :value="attr.Value" :style="{'width': attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.notempty==true?10:5) - 9 +'%'}" disabled="true" > <div class="text-right2"> <a class="class_attr_add_prj" @tap="classAttr_AddPrj(index,iindex)"><i class="ace-icon fa fa-plus-circle"></i></a> </div> <i class="i_tishi" v-if="attr.notempty==true">*</i> </view> </view> - <view class="form-group" v-if="attr.Type=='缂栫爜'" :style="{'display':attr.hidden == 'True'?'none':''}"> + <view class="form-group" v-if="attr.Type=='缂栫爜'" :style="{'display':attr.hidden == true ?'none':''}"> <view v-if="classattr.control_style=='涓婁笅甯冨眬'"> <text class="tx_title">{{attr.DispName}}:<i class="i_tishi" v-if="attr.notempty==true">*</i></text> <input type="text" :data-index="index" :data-iindex="iindex" :style="{'width':attr.Width}" :disabled="attr.edit?false:true" > </view> <view v-if="classattr.control_style=='宸﹀彸甯冨眬'"> <p class="tx_title2" :style="{'width':classattr.title_p_wdith+'%'}">{{attr.DispName}}:</p> - <input type="text" class="attr_field" :data-index="index" :data-iindex="iindex" :style="{'width': attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.NotEmpty=='1'?10:5) +'%'}" :disabled="attr.edit?false:true" > + <input type="text" class="attr_field" :data-index="index" :data-iindex="iindex" :style="{'width': attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.notempty==true?10:5) +'%'}" :disabled="attr.edit?false:true" > <i class="i_tishi" v-if="attr.notempty==true">*</i> </view> </view> - <view class="form-group" v-if="attr.Type=='鐪佸競鍖�" :style="{'display':attr.hidden == 'True'?'none':''}"> + <view class="form-group" v-if="attr.Type=='鐪佸競鍖�" :style="{'display':attr.hidden == true?'none':''}"> <view v-if="classattr.control_style=='涓婁笅甯冨眬'"> <text class="tx_title">{{attr.DispName}}:<i class="i_tishi" v-if="attr.notempty==true">*</i></text> <pickerAddress class="date_iput" @change="addresschange" :data-index="index" :data-iindex="iindex" :style="{'width':attr.Width}" >{{attr.Value}}</pickerAddress> </view> <view v-if="classattr.control_style=='宸﹀彸甯冨眬'"> <p class="tx_title2" :style="{'width':classattr.title_p_wdith+'%'}">{{attr.DispName}}:</p> - <pickerAddress class="date_iput attr_field" @change="addresschange" :data-index="index" :data-iindex="iindex" :style="{'width': attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.NotEmpty=='1'?10:5) +'%'}">{{attr.Value}}</pickerAddress> + <pickerAddress class="date_iput attr_field" @change="addresschange" :data-index="index" :data-iindex="iindex" :style="{'width': attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.notempty==true?10:5) +'%'}">{{attr.Value}}</pickerAddress> <i class="i_tishi" v-if="attr.notempty==true">*</i> </view> </view> @@ -378,6 +486,31 @@ </view> <button type="default" @tap="cancel" class="btn_cancel">鍙栨秷</button> <button type="default" @tap="sava" class="btn_add">{{title}}</button> + <!-- 鏅�寮圭獥 top bottom center left right --> + <view> + <uni-popup class="view-popup" ref="popup" background-color="#fff" @change="popupChange"> + <view class="popup-header">{{check_list.title}}</view> + <view class="popup-content" :class="{ 'popup-height': popupType === 'left' || popupType === 'right' }" + :style="{'width':check_list.width?check_list.width+'px':'200px','height':check_list.height?check_list.height+'px':'88%'}"> + <view class="popup-cont" :style="{'height':check_list.height?check_list.height-45+'px':'415px'}"> + <view class="view_popup_CheckList" v-for="(item,index) in check_list.items"> + <checkbox-group class="check_list" @change="checkChange" :data-ischeck="item.check" :data-index="index" :style="{'margin-left': '10rpx'}"> + <label> + <checkbox :value="item.check" :checked="item.check"/> + <text>{{item.name}}</text> + </label> + </checkbox-group> + </view> + </view> + <view class="popup-footer"> + <button type="default" @tap="popup_sava" class="btn_popup_add">纭畾</button> + <button type="default" @tap="popup_cancel" class="btn_popup_cancel">鍙栨秷</button> + </view> + </view> + </uni-popup> + </view> + <!-- <button class="button" type="primary" @click="classAttr_extButton('right')"><text class="button-text">鍙充晶</text></button> --> + </view> </template> @@ -400,6 +533,9 @@ global_attr:[], refdatastore: [], //寮曠敤鏁版嵁瀛樺偍鍖�/ {attr:'G_PRJ_' + bindattr + '_ID', value:info.id} inputValList:[{Name:"test"},{Name:"test2"},{Name:"test3"},{Name:"test4"},{Name:"test5"},{Name:"test6"},{Name:"test7"}], + popupType:"center", + check_list:{}, + popupParam:{}, } }, onLoad(options) { @@ -448,6 +584,97 @@ }, methods: { + classAttr_extButton(index,iindex){ //寮规灞傛樉绀�type:top bottom center left right + var $this = this; + $this.$data.popupType = 'right' + // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦�uni-popup 缁勪欢涓婄粦瀹�type灞炴� + $this.$refs.popup.open($this.popupType); + var data_attr = $this.$data.classAttrList[index].Attr[iindex]; + // var value = action.value; + // var action ={"action_type":"open_common_dlg","value":{"common_dlg_id":"check_list","config":{"title":"鐢熶骇宸ュ崟","appear_style":"sideslip","width":250,"multiple_choice":"1","items":[{"id":"133D50D7-D798-4D2E-A15F-308365092DF5","name":"5100691673", "check":false},{"id":"22992021-7D3B-4959-86B7-EF184B596AC6","name":"5100691674", "check":false},{"id":"48FBBE8E-594D-45D5-8C24-385C661C4A1C","name":"5100691675", "check":false},{"id":"4E429C60-325A-42ED-BEA3-B3397C07CCA1","name":"5100691668", "check":false}]}}} + // if (action.action_type == 'open_common_dlg') { + // var value = action.value; + // if(value.common_dlg_id == 'check_list'){ + // $this.$data.check_list= value.config; + // } + // } + // var popupParam={ + // index: index, + // iindex: iindex, + // button_callback:"", + // req:"", + // data_attr:data_attr + // } + // $this.$data.popupParam= popupParam; + // return; + var before_click_button = $this.$data.classAttrList[index].Attr[iindex].before_click_button; + var button_callback = $this.$data.classAttrList[index].Attr[iindex].button_callback; + if(!before_click_button){ + uni.showModal({title:"鎻愮ず",content:"before_click_button-event_id涓虹┖锛�,showCancel:false,confirmText:"鍙栨秷"}); + return; + } + if(!button_callback){ + uni.showModal({title:"鎻愮ず",content:"button_callback-event_id涓虹┖锛�,showCancel:false,confirmText:"鍙栨秷"}); + return; + } + this.DataObjRunCustomEvent_Return(before_click_button, data_attr, button_callback, index,iindex); + }, + popupChange(e) { + console.log('褰撳墠妯″紡锛� + e.type + ',鐘舵�锛� + e.show); + }, + checkChange(e){ //寮规check閫夋嫨 + // console.log(e.target.dataset); + var index = e.target.dataset.index; + var ischeck = e.target.dataset.ischeck; + var data = this.$data.check_list.items; + // this.$data.check_list.items=[]; + if(this.$data.check_list.multiple_choice=="0"){ //鍒ゆ柇鏃跺崟閫夎繕鏄閫�+ for(var i in data){ + data[i].check=false; + } + } + data[index].check=ischeck?false:true; + this.$data.check_list.items=data; + + }, + popup_cancel(e){ //寮规鍙栨秷 + this.$refs.popup.close(); + }, + popup_sava(e){ //寮规纭畾 + var $this = this; + var items = $this.$data.check_list.items; + var data=[]; + var name=""; + for (var i = 0; i < items.length; i++) { + if(items[i].check==true){ + if(name) + name+=';'; + name+=items[i].name; + data.push({id:items[i].id,name:items[i].name}); + } + } + if(!$this.$data.popupParam){ + uni.showModal({title:"鎻愮ず",content:"popupParam涓虹┖锛�,showCancel:false,confirmText:"鍙栨秷"}); + return; + } + $this.$data.classAttrList[$this.$data.popupParam.index].Attr[$this.$data.popupParam.iindex].Value=name; + console.log(data); + var callback_eventid = $this.$data.popupParam.button_callback.trim(); + var info = { + eventid: callback_eventid, + edtype: "0", + projectid: '', + rclsid: '', + robjid: '', + userlogin: '', + clsid: $this.$data.param.clsid, + objid: "", + attr: $this.$data.popupParam.req, + dataJson: data + } + $this.DataObjRunCustomEvent(info, $this.$data.popupParam.data_attr); + this.$refs.popup.close(); + }, cancel(e){ uni.navigateBack({ delta:1 //杩斿洖灞傛暟锛�鍒欎笂涓婇〉 @@ -485,10 +712,13 @@ } }, ontap(e){ //鎵爜鍔熻兘 + var $ele = e; //console.log(e.target) getApp().onScan((result)=>{ //console.log(result.decodedata); this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value=result.decodedata; + uni.hideKeyboard(); + this.onevent($ele,result.decodedata); }) }, onarrow(index,open){ @@ -500,13 +730,13 @@ this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value=e.target.value; }, onchange(e) { - console.log(e.target); + // console.log(e.target); var value=this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].dictitem[e.target.value]; var data_attr = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']]; console.log(data_attr); if (value.Name != data_attr.Value) { this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value=value.Name; - console.log(this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value); + // console.log(this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value); var eventid = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].action; if (eventid) { // self.event_no_sub = 1; @@ -536,6 +766,7 @@ clsid: this.$data.param.clsid, objid: "", attr: req, + dataJson:[] } this.DataObjRunCustomEvent(info); } @@ -546,27 +777,24 @@ // console.log(item); // console.log(value); // console.log(delvalue); - if(item.length==0){ //涓虹┖鏃讹紝娓呯┖灞炴�value + //涓虹┖鏃讹紝娓呯┖灞炴�value + if(item.length==0){ var index ,iindex,dindex=0; for(var i in this.$data.classAttrList){ for(var j in this.$data.classAttrList[i].Attr){ - for(var d in this.$data.classAttrList[i].Attr[j].dictitem){ - if(delvalue[0].Name == this.$data.classAttrList[i].Attr[j].dictitem[d].Name){ - this.$data.classAttrList[i].Attr[j].Value=""; - } + if(delvalue[0].attr == this.$data.classAttrList[i].Attr[j].Name){ + this.$data.classAttrList[i].Attr[j].Value=""; } } } } - + for(var v in item){ var index ,iindex,dindex=0; for(var i in this.$data.classAttrList){ for(var j in this.$data.classAttrList[i].Attr){ - for(var d in this.$data.classAttrList[i].Attr[j].dictitem){ - if(item[v].Name == this.$data.classAttrList[i].Attr[j].dictitem[d].Name){ - index=i;iindex=j;dindex=d; - } + if(item[v].attr == this.$data.classAttrList[i].Attr[j].Name){ + index=i;iindex=j; } } } @@ -576,7 +804,7 @@ console.log(data_attr); if (itemvalue.Name != data_attr.Value) { this.$data.classAttrList[index].Attr[iindex].Value=value; - console.log(this.$data.classAttrList[index].Attr[iindex].Value); + // console.log(this.$data.classAttrList[index].Attr[iindex].Value); var eventid = this.$data.classAttrList[index].Attr[iindex].action; if (eventid) { // self.event_no_sub = 1; @@ -592,7 +820,7 @@ req.push({ attr: ar.Name, val: ar.ValID ?ar.ValID :'' }); else if(ar.Type=='甯冨皵鍊�) req.push({ attr: ar.Name, val: ar.Value?'1':'0'}); - else if(ar.Type=='瀛楀吀' || ar.Type=='瀛楀吀-瀛楃涓�) + else if(ar.Type=='瀛楀吀' || ar.Type=='瀛楀吀-瀛楃涓� || ar.Type=='瀛楀吀-鏁存暟') req.push({ attr: ar.Name, val: itemvalue.Name}); else req.push({ attr: ar.Name, val: ar.Value ?ar.Value :''}); @@ -608,6 +836,7 @@ clsid: this.$data.param.clsid, objid: "", attr: req, + dataJson:[], } this.DataObjRunCustomEvent(info); } @@ -616,12 +845,12 @@ }, - onevent(e){ + onevent(e,decodedata){ // console.log(e.target); var data_attr = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']]; - // console.log(data_attr); + // console.log(decodedata); if (e.target.value != data_attr.Value) { - this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value=e.target.value; + this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value=decodedata?decodedata:e.target.value; var eventid = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].action; if (eventid) { // self.event_no_sub = 1; @@ -651,6 +880,7 @@ clsid: this.$data.param.clsid, objid: "", attr: req, + dataJson:[], } this.DataObjRunCustomEvent(info, data_attr); } @@ -694,6 +924,7 @@ clsid: this.$data.param.clsid, objid: "", attr: req, + dataJson:[], } this.DataObjRunCustomEvent(info); } @@ -709,21 +940,6 @@ // console.log(e.target); console.log(e.data.join(';')) this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value=e.data.join(';'); - }, - classAttr_extButton(index,iindex){ - var $this = this; - var before_click_button = $this.$data.classAttrList[index].Attr[iindex].before_click_button; - var button_callback = $this.$data.classAttrList[index].Attr[iindex].button_callback; - if(!before_click_button){ - uni.showModal({title:"鎻愮ず",content:"before_click_button-event_id涓虹┖锛�,showCancel:false,confirmText:"鍙栨秷"}); - return; - } - if(!button_callback){ - uni.showModal({title:"鎻愮ず",content:"button_callback-event_id涓虹┖锛�,showCancel:false,confirmText:"鍙栨秷"}); - return; - } - var data_attr = this.$data.classAttrList[index].Attr[iindex]; - this.DataObjRunCustomEvent_Return(before_click_button, data_attr, button_callback, index,iindex); }, classAttr_AddPer(index,iindex){ var param={index:index,iindex:iindex}; @@ -751,6 +967,7 @@ clsid: $this.$data.param.clsid, objid: "", attr: [], + dataJson:[], } // var data_attr = $this.$data.classAttrList[param.index].Attr[param.iindex]; @@ -793,6 +1010,7 @@ clsid: $this.$data.param.clsid, objid: "", attr: [], + dataJson:[], } // var data_attr = $this.$data.classAttrList[param.index].Attr[param.iindex]; @@ -811,7 +1029,8 @@ }, add(){ uni.showLoading({ - title:"鍔犺浇涓�.." + title:"鍔犺浇涓�..", + mask:true }); var req=[]; var attrlist = this.$data.classAttrList; @@ -826,7 +1045,7 @@ req.push({ name: ar.Name, value: ar.ValID ?ar.ValID :'' }); else if(ar.Type=='甯冨皵鍊�) req.push({ name: ar.Name, value: ar.Value?'1':'0'}); - else if(ar.Type=='瀛楀吀' || ar.Type=='瀛楀吀-瀛楃涓�){ + else if(ar.Type=='瀛楀吀' || ar.Type=='瀛楀吀-瀛楃涓� || ar.Type=='瀛楀吀-鏁存暟'){ if(ar.select==true){ //鍒ゆ柇涓嬫媺鏄惁澶氶� var valStr =""; for(var v in ar.Value){ @@ -841,8 +1060,8 @@ else req.push({ name: ar.Name, value: ar.Value ?ar.Value :''}); - if ((ar.NotEmpty == '1' || ar.notempty == true) && !ar.Value) { - // if(ar.notEmpty=='1'){ + if (ar.notempty == true && !ar.Value) { + // if(ar.NotEmpty=='1'){ uni.hideLoading(); // uni.showToast({title:ar.DispName+'涓嶈兘涓虹┖锛�,icon:"success",duration:3000}); uni.showModal({title:"鎻愮ず",content:ar.DispName+'涓嶈兘涓虹┖锛�,showCancel:false,confirmText:"鍙栨秷"}); @@ -873,13 +1092,26 @@ console.log(success); uni.hideLoading(); if (success.code=='00000') { - var action = JSON.parse(success.data.Action); - if(action.ret=='0'){ - if(action.result_type=='0'){ - uni.showToast({title:action.result,icon:"success",duration:3000}); + if(success.data.Action){ + var action = JSON.parse(success.data.Action); + console.log(action); + if(action.ret=='0'){ + if (action.ret != 0) { + uni.showModal({title:"鎻愮ず",content:'鎵ц鑴氭湰澶辫触锛� + action.result,showCancel:false,confirmText:"鍙栨秷"}); + return; + } + if (action.info) { + uni.showModal({title:"鎻愮ず",content:'鎵ц鑴氭湰澶辫触锛� + action.info,showCancel:false,confirmText:"鍙栨秷"}); + return; + } + if(action.result_type=='0'){ + uni.showToast({title:action.result,icon:"success",duration:3000}); + } + + // "{"ret":0, "result_type":0, "result":"鍒涘缓鎴愬姛123123123","info":""}" } - // "{"ret":0, "result_type":0, "result":"鍒涘缓鎴愬姛123123123","info":""}" - } + } else + uni.showToast({title:"鍒涘缓鎴愬姛锛�,icon:"success",duration:3000}); //鍒锋柊 uni.redirectTo({ url:'../modal/classAttr?param='+JSON.stringify(this.$data.param)+"&titlename="+this.$data.title @@ -930,6 +1162,7 @@ for (var d = 0; d < ca.dictitem.length; d++) { ca.dictitem[d].label=ca.dictitem[d].CN_S_NAME; ca.dictitem[d].value=ca.dictitem[d].CN_S_NAME; + ca.dictitem[d].attr=ca.Name; if(ca.dictitem[d].CN_C_IS_DEFAULT=='1') ca.Value=ca.dictitem[d].CN_S_NAME; } @@ -1051,7 +1284,7 @@ var dataInfo = { edtype: info.edtype, eventid: info.eventid, projectid: info.projectid, rclsid: info.rclsid, robjid: info.robjid, userlogin: info.userlogin, clsid: info.clsid, objid: info.objid, - attr: JSON.stringify(info.attr), extinfo: JSON.stringify(param), inputparameter: inputparameter, global_attr: global_attr + attr: JSON.stringify(info.attr), extinfo: JSON.stringify(param.enviroment), inputparameter: inputparameter, global_attr: global_attr } console.log(dataInfo); this.$store.dispatch('DataObjRunCustomEventInfo',dataInfo).then(success=>{ @@ -1061,32 +1294,28 @@ var actionlist = data.action; if (actionlist) { for (var j = 0; j < actionlist.length; j++) { - var action = actionlist[j] + var action = actionlist[j]; var action_type = action.action_type; var value = action.value; if (action_type == 'set_dlg_attr') { if (value) { - var val = value; - if (typeof value == 'string') { - val = JSON.parse(value); - } - console.log(val); - for (var i = 0; i < val.length; i++) { + console.log(value); + for (var i = 0; i < value.length; i++) { for (var a = 0; a < this.$data.classAttrList.length; a++) { for (var l = 0; l < this.$data.classAttrList[a].Attr.length; l++) { var ca = this.$data.classAttrList[a].Attr[l]; - if (val[i].attr == ca.Name) { - if(ca.Type=='瀛楀吀' || ca.Type=='瀛楀吀-瀛楃涓�){ + if (value[i].attr == ca.Name) { + if(ca.Type=='瀛楀吀' || ca.Type=='瀛楀吀-瀛楃涓� || ca.Type=='瀛楀吀-鏁存暟'){ var dictItemList=[]; - for(var d in val[i].choice_list){ - var val =val[i].choice_list[d]; - dictItemList.push({"CN_S_NAME":val,"Name":val,"label":val,"value":val}); + for(var d in value[i].choice_list){ + var list_val =value[i].choice_list[d]; + dictItemList.push({"CN_S_NAME":list_val,"Name":list_val,"label":list_val,"value":list_val}); } ca.dictitem = dictItemList; // attr[j].dictitem = val[i].choice_list; }else{ - // ca.value = val[i].value; + ca.Value = value[i].value; } } } @@ -1094,15 +1323,15 @@ var length = 0; if (!this.$data.refdatastore.filter(function (s) { - return val[i].attr == s.attr + return value[i].attr == s.attr }).length) { length = 1; - this.$data.refdatastore.push(val[i]); + this.$data.refdatastore.push(value[i]); } if (length == 0) { for (var j = 0; j < this.$data.refdatastore.length; j++) { - if (this.$data.refdatastore[j].attr == val[i].attr) { - this.$data.refdatastore[j].value = val[i].value; + if (this.$data.refdatastore[j].attr == value[i].attr) { + this.$data.refdatastore[j].value = value[i].value; } } } @@ -1112,6 +1341,9 @@ if (action_type == 'open_select_userdlg') { uni.showModal({title:"閿欒2.2",content:"open_select_userdlg杩欎釜action_type杩樻湭澶勭悊锛�,showCancel:false,confirmText:"鍙栨秷"}); } + // else if (action_type == 'tip_dlg') { + + // } } } @@ -1155,7 +1387,8 @@ var dataInfo = { edtype: info.edtype, eventid: info.eventid, projectid: info.projectid.replace('{','').replace('}',''), rclsid: info.rclsid, robjid: info.robjid, userlogin: info.userlogin, clsid: info.clsid, objid: info.objid, - attr: JSON.stringify(info.attr), extinfo: JSON.stringify(enviroment), inputparameter: '', global_attr: JSON.stringify(this.$data.global_attr) + attr: JSON.stringify(info.attr), extinfo: JSON.stringify(enviroment), inputparameter: "", + global_attr: JSON.stringify(this.$data.global_attr), dataJson:JSON.stringify(info.dataJson) } console.log(dataInfo); this.$store.dispatch('DataObjRunCustomEventInfo',dataInfo).then(success=>{ @@ -1171,12 +1404,12 @@ if (action.action_type == 'set_dlg_attr') { var result = action.value; for (var i = 0; i < result.length; i++) { - if (result[i].choice_list) { + if (result[i].choice_list) { for (var c = 0; c < $this.$data.classAttrList.length; c++) { var attr = $this.$data.classAttrList[c].Attr; for (var j = 0; j < attr.length; j++) { if(attr[j].Name==result[i].attr){ - if(attr[j].Type=='瀛楀吀' || attr[j].Type=='瀛楀吀-瀛楃涓�){ + if(attr[j].Type=='瀛楀吀' || attr[j].Type=='瀛楀吀-瀛楃涓� || attr[j].Type=='瀛楀吀-鏁存暟'){ var dictItemList=[]; for(var d in result[i].choice_list){ var val =result[i].choice_list[d]; @@ -1453,7 +1686,8 @@ clsid: $this.$data.param.clsid, objid: "", attr: param.req, - inputparameter: data + inputparameter: data, + dataJson:[], } $this.DataObjRunCustomEvent(info, param.data_attr); } @@ -1461,15 +1695,31 @@ }); } else if (action.action_type == 'open_data_query_dlg') { - - } - else if (action.action_type == 'open_common_dlg') { - var value = action.value; var d = dialog({ title: '<i class="ace-icon fa fa-info-circle"></i> ' + '鎻愮ず', content: action.action_type + '姝ction灏氭湭澶勭悊锛� }); d.show(); + } + else if (action.action_type == 'open_common_dlg') { + var $this = this; + if(val.common_dlg_id == 'check_list'){ + $this.$data.check_list= val.config; + if(val.config.appear_style == 'sideslip') //鍒ゆ柇鏄惁鏄晶婊�+ $this.$data.popupType = 'right'; + else + $this.$data.popupType = 'center' + // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦�uni-popup 缁勪欢涓婄粦瀹�type灞炴� + $this.$refs.popup.open($this.$data.popupType); + var popupParam={ + index: index, + iindex:iindex, + button_callback:button_callback, + req:req, + data_attr:data_attr + } + $this.$data.popupParam= popupParam; + } } else if (action.action_type == 'open_project_query_dlg') { //console.log(action.value.select_range); @@ -1513,6 +1763,7 @@ clsid: $this.$data.param.clsid, objid: "", attr: param.req, + dataJson:[], } $this.DataObjRunCustomEvent(info); -- Gitblit v1.9.1