<template>
|
<view class="uni-page-selpsn">
|
<view style="height:90%;">
|
<input type="text" class="txt_search" v-model="searchVal" @input="onkeyup" :placeholder="translate('input_user_name_jp_query')">
|
<!-- <div class="dv_query_body" >
|
<div class="psn">
|
<checkbox-group class="ischeck" @change="onchange" data-ischeck="false" data-index="0" >
|
<label>
|
<checkbox balue="1" :checked="ischecked" />
|
<text>test</text>
|
</label>
|
</checkbox-group>
|
</div>
|
</div> -->
|
<div class="dv_query_body">
|
<div class="psn" v-for="(psn,index) in data">
|
<checkbox-group class="ischeck" @change="onchange" :data-ischeck="psn.ischeck" :data-index="index">
|
<label>
|
<checkbox :checked="psn.ischeck" />
|
<text>{{psn.Name}}</text>
|
</label>
|
</checkbox-group>
|
</div>
|
</div>
|
|
<button type="default" @tap="sava" class="btn_sava">{{translateSys("ok")}}</button>
|
</view>
|
|
</view>
|
</template>
|
|
<script>
|
export default {
|
data() {
|
return {
|
title:this.translate('select_user'),
|
mulit: '',
|
param: {},
|
searchVal: '',
|
ischecked: false,
|
data: []
|
}
|
},
|
onLoad(options) {
|
console.log(options);
|
var param = JSON.parse(options.param);
|
this.$data.param = param;
|
this.$data.mulit = options.mulit;
|
// console.log(this.$data.param);
|
},
|
methods: {
|
onkeyup(e) {
|
console.log(e);
|
console.log(this.$data.searchVal);
|
if (this.$data.searchVal) {
|
var datainfo = {
|
jp: this.$data.searchVal,
|
dept_id: ''
|
};
|
// console.log(datainfo);
|
this.$store.dispatch('querySelpsn', datainfo).then(success => {
|
console.log(success);
|
if (success.code == '00000') { //Mobox2
|
for (var i in success.data) {
|
success.data[i].ischeck = false;
|
}
|
this.$data.data = success.data;
|
} else if (success.err_code == 0) { //Mobox3
|
var json = [];
|
for (var i in success.result) {
|
json.push({
|
Login: success.result[i].login,
|
Name: success.result[i].name,
|
NamePY: success.result[i].name_py,
|
Sex: success.result[i].gender,
|
State: success.result[i].status,
|
Level: success.result[i].level,
|
Depart: "",
|
Unit: "",
|
ischeck: false
|
})
|
}
|
this.$data.data = json;
|
} else {
|
uni.showModal({
|
title: this.translateSys("error"),
|
content: success.msg ? success.msg : success.err_msg,
|
showCancel: false,
|
confirmText: this.translateSys("cancel")
|
});
|
}
|
}).catch(ex => {
|
// console.log(ex);
|
uni.showModal({
|
title: this.translateSys("error"),
|
content: ex.errMsg,
|
showCancel: false,
|
confirmText: this.translateSys("cancel")
|
});
|
});
|
} else
|
this.$data.data = [];
|
},
|
onchange(e) {
|
// console.log(e.target);
|
var data = this.$data.data;
|
this.$data.data = [];
|
if (this.$data.mulit == "false") {
|
for (var i in data) {
|
data[i].ischeck = false;
|
}
|
}
|
|
data[e.target.dataset.index].ischeck = e.target.dataset.ischeck ? false : true
|
this.$data.data = data;
|
},
|
sava() { //点击功能点跳转页面
|
var data = [];
|
for (var i in this.$data.data) {
|
if (this.$data.data[i].ischeck == true) {
|
data.push(this.$data.data[i]);
|
}
|
}
|
if (data.length == 0) {
|
uni.showModal({
|
title: this.translateSys("tip"),
|
content: this.translate('tip_no_select_user'),
|
showCancel: false,
|
confirmText:this.translateSys("cancel")
|
});
|
return;
|
}
|
const eventChannel = this.$scope.eventChannel;
|
// const eventChannel = this.getOpenerEventChannel();
|
eventChannel.emit('AddPer', data, this.$data.param);
|
|
uni.navigateBack()
|
},
|
translate(t) {
|
if (typeof this.$t == "function") return this.$t(`page.${t}`)
|
else return t;
|
},
|
translateSys(t) {
|
if (typeof this.$t == "function") return this.$t(`sys.${t}`)
|
else return t;
|
},
|
|
}
|
}
|
</script>
|
<style lang="scss">
|
.uni-page-selpsn {
|
width: 100vw;
|
height: 93vh;
|
background: #EAEAEA;
|
padding: 14rpx 0rpx 0rpx 0rpx;
|
|
input {
|
border: 1px solid #d5d5d5;
|
width: 77%;
|
height: 80rpx;
|
border-radius: 60rpx !important;
|
padding: 0 60rpx 0 66rpx;
|
margin: 0rpx 20rpx 10rpx 20rpx;
|
background: #FFF;
|
}
|
|
.dv_query_body {
|
height: 91%;
|
overflow: auto;
|
background-color: #fff;
|
border: 2rpx solid #d5d5d5;
|
padding: 14rpx;
|
}
|
|
.psn {
|
margin: 0 12rpx 12rpx 0;
|
padding: 8rpx 20rpx 10rpx;
|
background-color: #55a1dd;
|
font-size: 30rpx;
|
color: #fff;
|
border-radius: 20rpx;
|
display: inline-block;
|
cursor: pointer;
|
}
|
|
button.btn_sava {
|
margin-top: 47rpx;
|
padding: 20rpx;
|
line-height: 1.2;
|
background: #27A6E1;
|
border: none;
|
color: #fff;
|
}
|
}
|
</style>
|