120 lines
2.7 KiB
Vue
120 lines
2.7 KiB
Vue
<template>
|
|
<view class="fullHeight bgWhite">
|
|
<headers :showBack="true">
|
|
<view class="headerName">
|
|
选择人员
|
|
</view>
|
|
</headers>
|
|
<scroll-view scroll-y="true" class="pageContent ">
|
|
<view class="personContent">
|
|
<checkbox-group @change="checkboxChange">
|
|
<label class="personItem" v-for="item in personList" :key="item.value">
|
|
<view>
|
|
<checkbox :value="item.id+''" :checked="item.checked" />
|
|
</view>
|
|
<view class="workerName">{{item.workerName}}</view>
|
|
</label>
|
|
</checkbox-group>
|
|
|
|
</view>
|
|
</scroll-view>
|
|
<button type="primary" @click="saveFn" class="submitBtn big">保存</button>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import headers from "../../../components/headers/headers.vue"
|
|
export default {
|
|
components:{headers},
|
|
data() {
|
|
return {
|
|
personList:[],
|
|
selectArr:[],
|
|
projectDetail:{},
|
|
workerName:''
|
|
};
|
|
},
|
|
mounted(){
|
|
this.projectDetail=JSON.parse(uni.getStorageSync('projectDetail'))
|
|
this.loadData()
|
|
},
|
|
methods:{
|
|
checkboxChange: function (e) {
|
|
console.log(this.selectArr)
|
|
console.log(e.detail.value)
|
|
var items = this.personList,
|
|
values = e.detail.value;
|
|
|
|
for (var i = 0, lenI = items.length; i < lenI; ++i) {
|
|
const item = items[i]
|
|
if(values.includes(item.id)){
|
|
this.$set(item,'checked',true)
|
|
}else{
|
|
this.$set(item,'checked',false)
|
|
}
|
|
}
|
|
this.selectArr=values
|
|
},
|
|
loadData(){
|
|
var that = this
|
|
this.sendRequest({
|
|
// url: "xmgl/workerInfo/getLaborManagementInfoList",
|
|
url: "xmgl/systemUser/getProjectChilderSystemUserList",
|
|
data: {projectSn: this.projectDetail.projectSn,workerName:this.workerName},
|
|
method: "POST",
|
|
success(res){
|
|
that.personList = res.result
|
|
if(uni.getStorageSync('person')){
|
|
var person = uni.getStorageSync('person')
|
|
if(person.indexOf(',')!=-1){
|
|
that.selectArr=person.split(',')
|
|
}else{
|
|
that.selectArr=[person]
|
|
}
|
|
var items = that.personList
|
|
for (var i = 0, lenI = items.length; i < lenI; ++i) {
|
|
const item = items[i]
|
|
if(person.includes(item.id)){
|
|
that.$set(item,'checked',true)
|
|
}else{
|
|
that.$set(item,'checked',false)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
})
|
|
},
|
|
saveFn(){
|
|
uni.setStorageSync('person',this.selectArr.join(','))
|
|
uni.navigateBack({
|
|
|
|
})
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.pageContent{
|
|
height: calc(100% - 125px);
|
|
}
|
|
.personContent{
|
|
padding: 30rpx;
|
|
}
|
|
.personItem{
|
|
display: flex;
|
|
align-items: center;
|
|
// padding: 0 30rpx;
|
|
.workerName{
|
|
margin-left: 20rpx;
|
|
}
|
|
|
|
}
|
|
.submitBtn{
|
|
position: fixed;
|
|
bottom: 30rpx;
|
|
left: 30rpx;
|
|
width: calc(100% - 60rpx);
|
|
}
|
|
</style>
|