This commit is contained in:
@fawn-nine
2024-08-23 18:10:27 +08:00
parent 497ab89dae
commit 57d5beaa72
11 changed files with 746 additions and 297 deletions

View File

@@ -7,13 +7,14 @@
<public-module></public-module>
<uni-forms :modelValue="form" :rules="rules" ref="form" v-if="roleCode.length > 0">
<view class="input_box " style="">
<uni-forms-item label="" name="monitor" label-width="0" v-show="roleCode.includes('主任') || roleCode.includes('副主任')">
<uni-forms-item label="" name="monitor" label-width="0"
v-show="roleCode.includes('主任') || roleCode.includes('副主任')">
<view class="">
<text class="input_tit"><i>*</i>班长</text>
</view>
<view class="addBtnBox">
<view class="item" v-if="memeberRefsh">
<view class="box" @click="showMemberAdd('monitor')">
<view class="box" @click="showMemberAdd('monitor')">
<view v-show="!form.monitor" class="haveNoPerson flex_box">
<uni-icons class="addIcon" color="#999" type="plusempty" size="20"></uni-icons>
<text class="addText">添加人员</text>
@@ -21,8 +22,8 @@
<view class="havePerson" v-if="form.monitor">
<view class="flex_box ">
<view class="classmateImg">
<image v-if="form.monitor.avatar != null && form.monitor.avatar != ''" :src="form.monitor.avatar"
mode="aspectFit"></image>
<image v-if="form.monitor.avatar != null && form.monitor.avatar != ''"
:src="form.monitor.avatar" mode="aspectFit"></image>
<image v-else src="/static/icon/morenAvavter.png" mode="aspectFit"></image>
</view>
<view class="textBox">
@@ -30,15 +31,15 @@
<text style="width: 100%; display: inline-block;">
{{form.monitor && form.monitor.nickname != '' && form.monitor.nickname != null ? form.monitor.nickname : '匿名用户'}}
</text>
<text style="width: 100%; display: inline-block;"> - {{form.monitor.tel}}</text>
<text style="width: 100%; display: inline-block;"> -
{{form.monitor.tel}}</text>
</view>
</view>
</view>
</view>
<view class="" @click.stop="delMemeber('monitor')">
<text class="delBtn"
>删除</text>
<text class="delBtn">删除</text>
</view>
</view>
</view>
</view>
</view>
</view>
@@ -52,7 +53,7 @@
</view>
<view class="addBtnBox">
<view class="item" v-if="memeberRefsh">
<view class="box" @click="showMemberAdd('dmonitor')">
<view class="box" @click="showMemberAdd('dmonitor')">
<view v-show="!form.dmonitor" class="haveNoPerson flex_box">
<uni-icons class="addIcon" color="#999" type="plusempty" size="20"></uni-icons>
<text class="addText">添加人员</text>
@@ -60,8 +61,8 @@
<view class="havePerson" v-if="form.dmonitor">
<view class="flex_box ">
<view class="classmateImg">
<image v-if="form.dmonitor.avatar != null && form.dmonitor.avatar != ''" :src="form.dmonitor.avatar"
mode="aspectFit"></image>
<image v-if="form.dmonitor.avatar != null && form.dmonitor.avatar != ''"
:src="form.dmonitor.avatar" mode="aspectFit"></image>
<image v-else src="/static/icon/morenAvavter.png" mode="aspectFit"></image>
</view>
<view class="textBox">
@@ -69,15 +70,15 @@
<text style="width: 100%; display: inline-block;">
{{form.dmonitor && form.dmonitor.nickname != '' && form.dmonitor.nickname != null ? form.dmonitor.nickname : '匿名用户'}}
</text>
<text style="width: 100%; display: inline-block;"> - {{form.dmonitor.tel}}</text>
<text style="width: 100%; display: inline-block;"> -
{{form.dmonitor.tel}}</text>
</view>
</view>
</view>
</view>
<view class="" @click.stop="delMemeber('dmonitor')">
<text class="delBtn"
>删除</text>
<text class="delBtn">删除</text>
</view>
</view>
</view>
</view>
</view>
</view>
@@ -90,7 +91,7 @@
</view>
<view class="addBtnBox">
<view class="item" v-if="memeberRefsh">
<view class="box" @click="showMemberAdd('learner')">
<view class="box" @click="showMemberAdd('learner')">
<view v-show="!form.learner" class="haveNoPerson flex_box">
<uni-icons class="addIcon" color="#999" type="plusempty" size="20"></uni-icons>
<text class="addText">添加人员</text>
@@ -98,8 +99,8 @@
<view class="havePerson" v-if="form.learner">
<view class="flex_box ">
<view class="classmateImg">
<image v-if="form.learner.avatar != null && form.learner.avatar != ''" :src="form.learner.avatar"
mode="aspectFit"></image>
<image v-if="form.learner.avatar != null && form.learner.avatar != ''"
:src="form.learner.avatar" mode="aspectFit"></image>
<image v-else src="/static/icon/morenAvavter.png" mode="aspectFit"></image>
</view>
<view class="textBox">
@@ -107,15 +108,15 @@
<text style="width: 100%; display: inline-block;">
{{form.learner && form.learner.nickname != '' && form.learner.nickname != null ? form.learner.nickname : '匿名用户'}}
</text>
<text style="width: 100%; display: inline-block;"> - {{form.learner.tel}}</text>
<text style="width: 100%; display: inline-block;"> -
{{form.learner.tel}}</text>
</view>
</view>
</view>
</view>
<view class="" @click.stop="delMemeber('learner')">
<text class="delBtn"
>删除</text>
<text class="delBtn">删除</text>
</view>
</view>
</view>
</view>
</view>
</view>
@@ -130,7 +131,7 @@
<!-- {{setDefaultAddItem}} -->
<view class="item" v-if="memeberRefsh">
<view class="box" v-for="(item, index) in form.scorer"
@click="showMemberAdd('scorer',index)">
@click="showMemberAdd('scorer',index)">
<view v-show="!item || item == null || item == 'null'" class="haveNoPerson flex_box">
<uni-icons class="addIcon" color="#999" type="plusempty" size="20"></uni-icons>
<text class="addText">添加人员</text>
@@ -149,18 +150,17 @@
</text>
<text style="width: 100%; display: inline-block;"> - {{item.tel}}</text>
</view>
</view>
</view>
</view>
<view class="" @click.stop="delMemeber('scorer',index)">
<text class="delBtn"
>删除</text>
<text class="delBtn">删除</text>
</view>
</view>
</view>
</view>
</view>
</view>
</uni-forms-item>
<!-- <uni-forms-item label="" name="counter" label-width="0">
<!-- <uni-forms-item label="" name="counter" label-width="0">
<view class="">
<text class="input_tit">
记分员</text>
@@ -252,7 +252,7 @@
"monitor": undefined, //班长
"dmonitor": undefined, //2班长
"learner": undefined, //学习委员
"scorer": [undefined, undefined,undefined], //评分员
"scorer": [undefined, undefined, undefined], //评分员
"counter": [undefined, undefined] //记分员
},
telError: false,
@@ -553,68 +553,49 @@
icon: 'none'
})
return
}
// if(!this.form.dmonitor){
// uni.showToast({
// title: '请添加副班长人选',
// icon: 'none'
// })
// return
// }
}
// this.$refs.form.validate().then(res => {
var newScorer = [...this.form.scorer]
var newCounter = [...this.form.counter]
if (!this.form.scorer[0] && !this.form.scorer[1]) {
newScorer = [0, 0]
// var newCounter = [...this.form.counter]
if (!this.form.scorer[0] && !this.form.scorer[1] && !this.form.scorer[2]) {
newScorer = []
} else {
console.log('newScorer', newScorer);
// console.log('删除之前newScorer', newScorer);
this.form.scorer.forEach((item, index) => {
console.log('item', item);
if (!item || item == null) {
console.log('进来了');
newScorer[index] = {
id: 0
}
if (!item) {
newScorer.splice(1,1)
}
})
// console.log('删除后的newScorer',newScorer);
if (newScorer[0].id == newScorer[1].id) {
uni.showToast({
title: '两名评分员不能是同一人',
icon: 'none'
})
return
}
})
newScorer = newScorer.map(item => {
return item.id
})
// console.log('删除后的newScorer',newScorer);
})
}
if (!this.form.counter[0] && !this.form.counter[1]) {
newCounter = [0, 0]
} else {
this.form.counter.forEach((item, index) => {
if (!item || item == null) {
newCounter[index] = {
id: 0
}
// newCounter.splice(index, 1)
}
})
if (newCounter[0].id == newCounter[1].id) {
uni.showToast({
title: '两名记分员不能是同一人',
icon: 'none'
})
return
}
// if (!this.form.counter[0] && !this.form.counter[1]) {
// newCounter = [0, 0]
// } else {
// this.form.counter.forEach((item, index) => {
// if (!item || item == null) {
// newCounter[index] = {
// id: 0
// }
// // newCounter.splice(index, 1)
// }
// })
// if (newCounter[0].id == newCounter[1].id) {
// uni.showToast({
// title: '两名记分员不能是同一人',
// icon: 'none'
// })
// return
// }
newCounter = newCounter.map(item => {
return item.id
})
// console.log('删除后的newCounter',newCounter);
}
// newCounter = newCounter.map(item => {
// return item.id
// })
// // console.log('删除后的newCounter',newCounter);
// }
var _url = 'common/class/setUserRole'
// this.form.classId ? _url = 'common/class/editClass' : _url = "common/class/addClass"
@@ -624,30 +605,39 @@
data: {
"classId": this.form.classId,
"monitor": this.form.monitor.id + '', //班长
"dmonitor": this.form.dmonitor ? this.form.dmonitor.id + '' : '0', //2班长
"learner": this.form.learner ? this.form.learner.id + '' : '0', //学习委员
"dmonitor": this.form.dmonitor ? this.form.dmonitor.id + '' : '', //2班长
"learner": this.form.learner ? this.form.learner.id + '' : '', //学习委员
"scorer": newScorer.join(','), //评分员
"counter": newCounter.join(',') //记分员
// "counter": newCounter.join(',') //记分员
},
header: { //默认 无 说明:请求头
'Content-Type': 'application/json'
},
})
.then(res => {
uni.showToast({
title: "操作成功",
icon: 'success'
});
setTimeout(() => {
uni.navigateBack({
delta: 1
console.log('res',res);
if (res.code == 0) {
uni.showToast({
title: "操作成功",
icon: 'success'
});
}, 1000)
setTimeout(() => {
uni.navigateBack({
delta: 1
});
}, 1000)
} else {
uni.showToast({
title: res.msg,
icon: 'none',
duration: 3000
});
}
}).catch(e => {
// console.log('表单错误信息:', err);
console.log('表单错误信息:', e);
uni.showToast({
title: '操作失败',
icon: 'error'
title: e.errMsg,
icon: 'none'
})
});
// }).catch(err => {
@@ -753,7 +743,10 @@
padding: 10rpx 8rpx;
.haveNoPerson {
height: 120rpx; border-radius: 10rpx; align-items: center; justify-content: center;
height: 120rpx;
border-radius: 10rpx;
align-items: center;
justify-content: center;
background-color: #eee;
}
@@ -765,14 +758,18 @@
}
.delBtn {
display: block; padding: 20rpx 0; box-sizing: border-box;
width: 100%; text-align: center; background-color: #f1f1f1;
display: block;
padding: 20rpx 0;
box-sizing: border-box;
width: 100%;
text-align: center;
background-color: #f1f1f1;
color: #e60000 !important;
font-size: 26rpx;
margin-top: 20rpx;
// display: inline-block;
border-radius: 6rpx;
}