|
|
@@ -18,7 +18,7 @@
|
|
|
</view>
|
|
|
<view class="bottom adfacjb">
|
|
|
<view class="bottom-left">截止时间:{{item.endTime}}</view>
|
|
|
- <view class="bottom-right" v-if="item.status===0" @click.stop="handleAnswer(item)">立即作答</view>
|
|
|
+ <view class="bottom-right" v-if="item.status===0&&item.type==1" @click.stop="handleAnswer(item)">立即作答</view>
|
|
|
<view class="bottom-right" v-else-if="item.status===1&&!item.fileUrl" @click.stop="createReport(item)">生成报告</view>
|
|
|
<view class="bottom-right" v-else-if="item.status===1&&item.fileUrl" @click.stop="sendReport(item)">发送报告</view>
|
|
|
</view>
|
|
|
@@ -70,7 +70,8 @@
|
|
|
<div class="zt_btn" @click="alertShow=false">我知道了</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <cus-team-user :deluser="true" :show="teamUserShow" :list="teamUserList" @close="teamUserShow=false"></cus-team-user>
|
|
|
+ <cus-team-user :deluser="true" :show="teamUserShow" :list="teamUserList"
|
|
|
+ @close="teamUserShow=false" @addUser="addUser" @handleConfirm="userConfirm" @deleteUser="deleteUser"></cus-team-user>
|
|
|
</view>
|
|
|
</template>
|
|
|
|
|
|
@@ -124,34 +125,12 @@
|
|
|
}
|
|
|
],
|
|
|
menuListCopy:[],
|
|
|
- teamUserList:[
|
|
|
- // {
|
|
|
- // name:'张三',
|
|
|
- // email:'2233983769@qq.com',
|
|
|
- // type:1,
|
|
|
- // status:0
|
|
|
- // },
|
|
|
- // {
|
|
|
- // name:'李四',
|
|
|
- // email:'2233983769@qq.com',
|
|
|
- // type:2,
|
|
|
- // status:0
|
|
|
- // },
|
|
|
- // {
|
|
|
- // name:'王五',
|
|
|
- // email:'2233983769@qq.com',
|
|
|
- // type:3,
|
|
|
- // status:1
|
|
|
- // },
|
|
|
- // {
|
|
|
- // name:'赵六',
|
|
|
- // email:'2233983769@qq.com',
|
|
|
- // type:1,
|
|
|
- // status:1
|
|
|
- // }
|
|
|
- ],
|
|
|
+ teamUserList:[],
|
|
|
+ originTeamUserList:[],
|
|
|
teamScaleData:[],
|
|
|
teamLevelData:[],
|
|
|
+ categoryData:[],
|
|
|
+ delMemberIds:[],
|
|
|
}
|
|
|
},
|
|
|
methods:{
|
|
|
@@ -182,11 +161,21 @@
|
|
|
})
|
|
|
})
|
|
|
},
|
|
|
+ async getUserCategoryData(){
|
|
|
+ return new Promise((resolve,reject)=>{
|
|
|
+ this.$api.get('/getListByType/UserCategory').then(({data:res})=>{
|
|
|
+ if(res.code!==0) return this.$showToast(res.msg)
|
|
|
+ this.categoryData = res.data.map(d=>({name:d.dictLabel,id:d.dictValue}))
|
|
|
+ resolve()
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
async handleMenuClick(item){
|
|
|
if(item.text==='编辑问卷'){
|
|
|
uni.navigateTo({
|
|
|
- url:`/pagesHome/questionnaireEdit?teamQuestionnaireId=${this.dto.teamQuestionnaireId}&type=${this.dto.type}&questionnaireName=${this.dto.title}`
|
|
|
+ url:`/pagesHome/questionnaireEdit?teamQuestionnaireId=${this.dto.teamQuestionnaireId}&type=${this.dto.type}&questionnaireName=${this.dto.title}&isEdit=true`
|
|
|
})
|
|
|
+ this.show = false;
|
|
|
}else if(item.text==='分享问卷'){
|
|
|
|
|
|
}else if(item.text==='团队信息'){
|
|
|
@@ -210,8 +199,14 @@
|
|
|
this.$showToast('复制成功')
|
|
|
}
|
|
|
else if(item.text==='团队人员'){
|
|
|
+ await this.getUserCategoryData()
|
|
|
this.$api.get(`/core/member/listByQueTeamId/${this.dto.teamQuestionnaireId}`).then(({data:res})=>{
|
|
|
if(res.code!==0) return this.$showToast(res.msg)
|
|
|
+ this.teamUserList = res.data;
|
|
|
+ this.originTeamUserList = res.data;
|
|
|
+ this.teamUserList.forEach(l=>{
|
|
|
+ l.categoryName = this.categoryData.find(c=>c.id==l.category)?.name;
|
|
|
+ })
|
|
|
this.teamUserShow = true
|
|
|
})
|
|
|
}
|
|
|
@@ -242,6 +237,47 @@
|
|
|
sendReport(item){
|
|
|
|
|
|
},
|
|
|
+ addUser(){
|
|
|
+ uni.navigateTo({
|
|
|
+ url:'/pagesMy/teamUser?type=select',
|
|
|
+ events:{
|
|
|
+ selectUserConfirm: data => {
|
|
|
+ data.forEach((d,i)=>(this.$set(data[i],'status',0)));
|
|
|
+ let newUser = this.filterUsers(this.teamUserList,data)
|
|
|
+ this.teamUserList = [...this.teamUserList,...newUser];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ filterUsers(originArr,selectArr){
|
|
|
+ const aValuesToExclude = new Set(originArr.map(item => item.id));
|
|
|
+ return selectArr.filter(item => {
|
|
|
+ return !aValuesToExclude.has(item.id);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ userConfirm(){
|
|
|
+ if(this.teamUserList.length===0) return this.$showToast('至少保留一位团队人员');
|
|
|
+ this.$api.get('/core/team/questionnaire/'+this.dto.teamQuestionnaireId).then(({data:res})=>{
|
|
|
+ if(res.code!==0) return this.$showToast(res.msg)
|
|
|
+ let dto = res.data;
|
|
|
+ dto.coachId = JSON.parse(uni.getStorageSync('userInfo')).id;
|
|
|
+ dto.delMemberIds = [...new Set(this.delMemberIds)];
|
|
|
+ dto.memberList = this.teamUserList;
|
|
|
+ dto.type = 2;
|
|
|
+ delete dto.memberInfos;
|
|
|
+ this.$api.put('/core/team/questionnaire/updateMembers',dto).then(({data:resu})=>{
|
|
|
+ if(resu.code!==0) return this.$showToast(resu.msg)
|
|
|
+ this.$showToast('操作成功')
|
|
|
+ this.teamUserShow = false;
|
|
|
+ // this.show = false;
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ deleteUser(data){
|
|
|
+ let u = this.originTeamUserList.find(u=>u.id===data.item.id);
|
|
|
+ if(u) this.delMemberIds=[...this.delMemberIds,u.id]
|
|
|
+ this.teamUserList.splice(data.index,1);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
</script>
|