|
@@ -221,9 +221,32 @@
|
|
|
<van-field :value="item.weiduName" v-if="item.projectId && user.timeType.customDegreeActive == 1"
|
|
|
readonly name="id" clickable :label="user.timeType.customDegreeName" placeholder="请选择"
|
|
|
@click="clickPickers(index, item)" />
|
|
|
- <van-popup v-model="item.showPickDegree" position="bottom">
|
|
|
+
|
|
|
+ <!-- <van-popup v-model="item.showPickDegree" position="bottom">
|
|
|
<van-picker show-toolbar :columns="item.wuduList" value-key="name" @confirm="choseProjects"
|
|
|
@cancel="item.showPickDegree = false; $forceUpdate()" />
|
|
|
+ </van-popup> -->
|
|
|
+
|
|
|
+ <van-popup v-model="item.showPickDegree" position="bottom">
|
|
|
+ <div class="chooseSomeone">
|
|
|
+ <div class="chooseSomeoneFlex1">
|
|
|
+ <!-- 复选 -->
|
|
|
+ <van-radio-group v-model="item.radioPickDegree" v-if="!user.timeType.customDegreeMultiple">
|
|
|
+ <van-radio v-for="uitem in item.wuduList" :key="uitem.id" :name="uitem" style="padding:10px">
|
|
|
+ {{ uitem.name ? uitem.name : '' }}
|
|
|
+ </van-radio>
|
|
|
+ </van-radio-group>
|
|
|
+ <!-- 多选 -->
|
|
|
+ <van-checkbox-group v-model="item.radioPickDegree" v-else>
|
|
|
+ <van-checkbox v-for="uitem in item.wuduList" :key="uitem.id" :name="uitem" style="padding:10px">
|
|
|
+ {{ uitem.name ? uitem.name : '' }}
|
|
|
+ </van-checkbox>
|
|
|
+ </van-checkbox-group>
|
|
|
+ </div>
|
|
|
+ <van-button @click="choseProjects(item.radioPickDegree)">
|
|
|
+ 确定
|
|
|
+ </van-button>
|
|
|
+ </div>
|
|
|
</van-popup>
|
|
|
|
|
|
<!-- 自定义数值 -->
|
|
@@ -1500,14 +1523,23 @@ export default {
|
|
|
tname = filterList[0].taskName;
|
|
|
}
|
|
|
}
|
|
|
- let mmm = list[i].degreeId
|
|
|
+ let mmm = !t.customDegreeMultiple ? list[i].degreeId : list[i].multiDegrIdList
|
|
|
let sss = list[i].degreeList
|
|
|
+ let radioPickDegree = ''
|
|
|
let wuduName = ''
|
|
|
- for (var s in sss) {
|
|
|
- if (sss[s].id == mmm) {
|
|
|
- wuduName = sss[s].name
|
|
|
+ if(!t.customDegreeMultiple) {
|
|
|
+ for (var s in sss) {
|
|
|
+ if (sss[s].id == mmm) {
|
|
|
+ wuduName = sss[s].name
|
|
|
+ }
|
|
|
}
|
|
|
+ radioPickDegree = sss.filter(s => s.id == mmm)[0]
|
|
|
+ } else {
|
|
|
+ let arr = sss.filter(s => mmm.includes(s.id)).map(s => s.name);
|
|
|
+ radioPickDegree = sss.filter(s => mmm.includes(s.id))
|
|
|
+ wuduName = arr.join(',')
|
|
|
}
|
|
|
+
|
|
|
let serverPicArray = [];
|
|
|
// console.log('picArray=='+list[i].picStr);
|
|
|
if (list[i].picStr != null && list[i].picStr != '@') {
|
|
@@ -1563,7 +1595,8 @@ export default {
|
|
|
worktimeList: list[i].worktimeList,
|
|
|
wuduList: list[i].degreeList,
|
|
|
weiduName: wuduName,
|
|
|
- degreeId: list[i].degreeId,
|
|
|
+ degreeId: !t.customDegreeMultiple ? list[i].degreeId : list[i].multiDegrIdList,
|
|
|
+ radioPickDegree: radioPickDegree,
|
|
|
subProjectId: list[i].subProjectId,
|
|
|
subProjectName: subProjectName,
|
|
|
subProjectList: list[i].subProjectList,
|
|
@@ -1802,11 +1835,18 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
choseProjects(value, index) {
|
|
|
- // console.log(value)
|
|
|
+ const { timeType } = this.user
|
|
|
+ console.log(value, timeType)
|
|
|
if (value) {
|
|
|
- this.form.domains[this.clickIndex].weiduName = value.name;
|
|
|
- this.form.domains[this.clickIndex].degreeId = value.id;
|
|
|
-
|
|
|
+ if(!timeType.customDegreeMultiple) { // 单选
|
|
|
+ this.form.domains[this.clickIndex].weiduName = value.name;
|
|
|
+ this.form.domains[this.clickIndex].degreeId = value.id;
|
|
|
+ }
|
|
|
+
|
|
|
+ if(timeType.customDegreeMultiple) { // 多选
|
|
|
+ this.form.domains[this.clickIndex].weiduName = value.map(item => item.name).join(',');
|
|
|
+ this.form.domains[this.clickIndex].degreeId = value.map(item => item.id).join(',');
|
|
|
+ }
|
|
|
this.$forceUpdate();
|
|
|
}
|
|
|
this.form.domains[this.clickIndex].showPickDegree = false;
|
|
@@ -2224,16 +2264,22 @@ export default {
|
|
|
|
|
|
|
|
|
if (this.user.timeType.customDegreeActive == 1) {
|
|
|
+ let customDegreeMultiple = this.user.timeType.customDegreeMultiple
|
|
|
if (this.form.domains[i].degreeId) {
|
|
|
- formData.append("degreeId", this.form.domains[i].degreeId);
|
|
|
+ // formData.append("degreeId", this.form.domains[i].degreeId);
|
|
|
+ if(!customDegreeMultiple) { // 单选
|
|
|
+ formData.append("degreeId", this.form.domains[i].degreeId);
|
|
|
+ } else {
|
|
|
+ let newDegreeId = this.form.domains[i].degreeId.split(',')
|
|
|
+ formData.append("multiDegrId", JSON.stringify(newDegreeId).replace(/,/g, '@'))
|
|
|
+ }
|
|
|
} else {
|
|
|
if (this.user.timeType.customDegreeStatus && this.form.domains[i].wuduList.length) {
|
|
|
this.$toast.fail('请选择' + this.user.timeType.customDegreeName)
|
|
|
return
|
|
|
} else {
|
|
|
- formData.append("degreeId", -1);
|
|
|
+ formData.append("degreeId", !customDegreeMultiple ? -1 : "[]");
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
} else {
|
|
|
formData.append("degreeId", -1);
|
|
@@ -2563,6 +2609,18 @@ export default {
|
|
|
</script>
|
|
|
|
|
|
<style lang="less" scope>
|
|
|
+.chooseSomeone {
|
|
|
+ height: 80vh;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ .chooseSomeoneFlex1 {
|
|
|
+ flex: 1;
|
|
|
+ overflow: auto;
|
|
|
+ }
|
|
|
+ .chooseSomeoneBtn {
|
|
|
+ width:100%;
|
|
|
+ }
|
|
|
+}
|
|
|
.my-swipe .van-swipe-item {
|
|
|
color: #fff;
|
|
|
font-size: 20px;
|