From 90137616228273ec6f8f906ecb39d9ab4df54dab Mon Sep 17 00:00:00 2001
From: jt <jt@activesoft.com>
Date: 星期三, 30 十一月 2022 09:09:48 +0800
Subject: [PATCH] test
---
pages/modal/classAttr.vue | 221 ++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 187 insertions(+), 34 deletions(-)
diff --git a/pages/modal/classAttr.vue b/pages/modal/classAttr.vue
index 8464490..56a1c62 100644
--- a/pages/modal/classAttr.vue
+++ b/pages/modal/classAttr.vue
@@ -96,10 +96,10 @@
width: 100%;
}
.tx_title{
- font-size: 36rpx;
+ font-size: 32rpx;
}
.tx_title2{
- font-size: 36rpx;
+ font-size: 32rpx;
text-align: right;
display: inline-block;
vertical-align: -2px;
@@ -146,12 +146,30 @@
transition-duration: 0.1s;
}
button.btn_add {
+ width:49.5%;
margin-top: 50rpx;
padding: 20rpx;
line-height: 1.5;
background: #27A6E1;
border: none;
color: #fff;
+ font-size: 38rpx;
+ font-weight: bold;
+ float: right;
+ display: inline-block;
+ }
+ button.btn_cancel {
+ width:49.5%;
+ margin-top: 50rpx;
+ padding: 20rpx;
+ line-height: 1.5;
+ background: #27A6E1;
+ border: none;
+ color: #fff;
+ font-size: 38rpx;
+ font-weight: bold;
+ float: left;
+ display: inline-block;
}
.i_tishi{
color: red;
@@ -165,6 +183,27 @@
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;
}
</style>
@@ -187,15 +226,21 @@
<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}" :readonly="attr.edit=='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}" :readonly="attr.edit=='Flase'?true:false"></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}" :readonly="attr.edit=='Flase'?true:false"></textarea>
+ <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>
+ <!-- 鎵爜鍚庝簨浠惰繑鍥�-->
+ <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 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) +'%'}" :readonly="attr.edit=='Flase'?true:false" >
- <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) +'%'}" :readonly="attr.edit=='Flase'?true:false"></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) +'%'}" :readonly="attr.edit=='Flase'?true:false"></textarea>
+ <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>
<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>
@@ -228,15 +273,17 @@
<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>
- <picker class="section_iput" @change="onchange" :range="attr.dictitem" range-key="CN_S_NAME" :data-index="index" :data-iindex="iindex" :style="{'width':attr.Width}">
+ <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" :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=='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">*</i>
</view>
</view>
@@ -306,11 +353,11 @@
<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}" :readonly="attr.edit=='Flase'?true:false" >
+ <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) +'%'}" :readonly="attr.edit=='Flase'?true:false" >
+ <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" >
<i class="i_tishi" v-if="attr.notempty==true">*</i>
</view>
</view>
@@ -328,9 +375,9 @@
</div>
</div>
-
- <button type="default" @tap="sava" class="btn_add">{{title}}</button>
</view>
+ <button type="default" @tap="cancel" class="btn_cancel">鍙栨秷</button>
+ <button type="default" @tap="sava" class="btn_add">{{title}}</button>
</view>
</template>
@@ -352,7 +399,7 @@
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"}],
}
},
onLoad(options) {
@@ -401,6 +448,11 @@
},
methods: {
+ cancel(e){
+ uni.navigateBack({
+ delta:1 //杩斿洖灞傛暟锛�鍒欎笂涓婇〉
+ });
+ },
async classGridStyleInfo(){
var $this = this;
var gridstyleInfo = {
@@ -490,6 +542,80 @@
}
},
+ 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.clsid,
+ 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']];
@@ -573,6 +699,11 @@
}
}
+ },
+ inputValListIsDel(index){
+ // console.log(index);
+ this.$data.inputValList.splice(index, 1); //鍒犻櫎tabPagejson鐨勫唴瀹�+ // console.log(this.$data.inputValList);
},
addresschange(e) {
// console.log(e.target);
@@ -688,13 +819,6 @@
var attr = attrlist[i].Attr;
for (var j = 0; j < attr.length; j++) {
var ar = attr[j];
- 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;
- }
if(ar.Value=='璇烽�鎷� || ar.Value=='鈥斺�璇烽�鎷┾�鈥�) ar.Value='';
if(ar.Type=='寮曠敤瀵硅薄(澶氫釜)')
if(ar.Value=='璇�) ar.Value='';
@@ -702,8 +826,28 @@
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 = {
@@ -722,6 +866,8 @@
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);
@@ -734,9 +880,12 @@
}
// "{"ret":0, "result_type":0, "result":"鍒涘缓鎴愬姛123123123","info":""}"
}
- this.class_attr_init();
+ //鍒锋柊
+ uni.redirectTo({
+ url:'../modal/classAttr?param='+JSON.stringify(this.$data.param)+"&titlename="+this.$data.title
+ });
+ // this.class_attr_init();
}else{
- uni.hideLoading();
uni.showModal({title:"閿欒",content:success.msg,showCancel:false,confirmText:"鍙栨秷"});
}
}).catch(ex=>{
@@ -770,15 +919,18 @@
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 dictitem=ca.dictitem;
- // var dictitemlist=[];
- // for (var d = 0; d < dictitem.length; d++) {
- // dictitemlist.push(dictitem[d].CN_S_NAME);
- // }
- // ca.dictitemlist = dictitemlist;
- ca.Value = '璇烽�鎷�;//ca.dictitem[0].CN_S_NAME;
+ var dictitemlist=[];
+ for (var d = 0; d < ca.dictitem.length; d++) {
+ ca.dictitem[d].label=ca.dictitem[d].CN_S_NAME;
+ ca.dictitem[d].value=ca.dictitem[d].CN_S_NAME;
+ }
+ 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();
@@ -798,7 +950,7 @@
if(ca.Type=='鐪佸競鍖�)
ca.Value = '璇烽�鎷�;
if(ca.Type=='甯冨皵鍊�)
- ca.Value = false
+ ca.Value = false;
attr.push(ca);
}
@@ -926,7 +1078,8 @@
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});
+ dictItemList.push({"CN_S_NAME":val,"Name":val,"label":val,"value":val});
+
}
ca.dictitem = dictItemList;
// attr[j].dictitem = val[i].choice_list;
@@ -1025,7 +1178,7 @@
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});
+ dictItemList.push({"CN_S_NAME":val,"Name":val,"label":val,"value":val});
}
attr[j].dictitem = dictItemList;
// attr[j].dictitem = result[i].choice_list;
--
Gitblit v1.9.1