|
|
@@ -29,24 +29,33 @@
|
|
|
<view class="dbox-top adfacjb">
|
|
|
<view class="dbox-top-title">{{dto.title||''}}</view>
|
|
|
<image class="dbox-top-expand" :src="imgBase+'questionnaire_icon_down.png'" @click="show=false"></image>
|
|
|
- </view>
|
|
|
- <view class="dbox-status adfac" :class="{'dwc':dto.status===0,'ywc':dto.status===1}">
|
|
|
+ </view>
|
|
|
+ <view class="dbox-name">团队名称:{{ dto.teamName || '' }}</view>
|
|
|
+ <!-- <view class="dbox-status adfac" :class="{'dwc':dto.status===0,'ywc':dto.status===1}">
|
|
|
<image :src="imgBase+'questionnaire_icon_dwc.png'" v-if="dto.status===0"></image>
|
|
|
<image :src="imgBase+'questionnaire_icon_ywc.png'" v-else-if="dto.status===1"></image>
|
|
|
<text>{{dto.status===0?'待完成':dto.status===1?'已完成':''}}</text>
|
|
|
- </view>
|
|
|
+ </view> -->
|
|
|
<view class="dbox-menu adf">
|
|
|
<view class="dbox-menu-pre adffcac" v-for="(item,index) in menuList" :key="index" @click="handleMenuClick(index)">
|
|
|
- <image :src="item.img"></image>
|
|
|
- <text>{{item.text}}</text>
|
|
|
+ <template v-if="item.text === '分享问卷'">
|
|
|
+ <button class="share-btn" open-type="share">
|
|
|
+ <image :src="item.img"></image>
|
|
|
+ <text>{{ item.text }}</text>
|
|
|
+ </button>
|
|
|
+ </template>
|
|
|
+ <template v-else>
|
|
|
+ <image :src="item.img"></image>
|
|
|
+ <text>{{ item.text }}</text>
|
|
|
+ </template>
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
<cus-notice title="问卷答题说明" :show="noticeShow" :content="noticeContent"
|
|
|
@close="noticeShow=false" @handleKnow="handleKnow"></cus-notice>
|
|
|
- <cus-team-user :show="teamUserShow" :list="teamUserList" @close="teamUserShow=false"></cus-team-user>
|
|
|
<cus-team-info :show="teamInfoShow" :teamInfo="teamInfo" @close="teamInfoShow=false"></cus-team-info>
|
|
|
+ <cus-team-user :canEdit="false" :show="teamUserShow" :list="teamUserList" @close="teamUserShow=false"></cus-team-user>
|
|
|
</view>
|
|
|
</template>
|
|
|
|
|
|
@@ -88,32 +97,10 @@
|
|
|
text:'查看报告'
|
|
|
}
|
|
|
],
|
|
|
- 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
|
|
|
- }
|
|
|
- ],
|
|
|
+ categoryData:[],
|
|
|
+ teamScaleData:[],
|
|
|
+ teamLevelData:[],
|
|
|
+ teamUserList:[],
|
|
|
teamInfo:null,
|
|
|
noticeContent:`Transcend International PERILL Assessment is designed to provide insight into the key factors that underpin high value-creating team. It consists of six elements, focusing on Purpose & Motivation, External Systems and Processes, Relationships, Internal Systems and Processes, Learning Processes, Leadership Qualities and Behaviours.
|
|
|
创衡国际PERILL团队发展动态评估旨在深入了解支撑高价值团队的关键因素。这些关键因素涵盖六个维度:宗旨和动机、外部流程/系统和结构、人际关系、外部流程/系统和结构、学习、领导力。
|
|
|
@@ -141,21 +128,94 @@ The following statements in the assessment describe the ideal state of a team. P
|
|
|
showNotice(item){
|
|
|
this.dto = item;
|
|
|
this.noticeShow = true;
|
|
|
+ },
|
|
|
+ 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()
|
|
|
+ })
|
|
|
+ })
|
|
|
},
|
|
|
- handleMenuClick(type){
|
|
|
- if(type===0) this.teamUserShow = true
|
|
|
- else if(type===2) this.teamInfoShow = true
|
|
|
+ async handleMenuClick(type){
|
|
|
+ if(type===0){
|
|
|
+ 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
|
|
|
+ })
|
|
|
+ } else if(type===2){
|
|
|
+ this.showTeamInfo()
|
|
|
+ } else if(type===3){
|
|
|
+ let url = '/pagesHome/pdf';
|
|
|
+ if(this.dto.type==2) url = '/pagesHome/pdfZyb'
|
|
|
+ uni.navigateTo({ url })
|
|
|
+ }
|
|
|
},
|
|
|
handleKnow(){
|
|
|
uni.navigateTo({
|
|
|
url:'/pagesPublish/questionnaireFill?teamQuestionnaireId='+this.dto.teamQuestionnaireId+'&teamId='+this.dto.teamId+'&type='+this.dto.type+'&turnType=questionnaire'
|
|
|
})
|
|
|
+ },
|
|
|
+ async getTeamScaleData(){
|
|
|
+ return new Promise((resolve,reject)=>{
|
|
|
+ this.$api.get('/getListByType/team_scale').then(({data:res})=>{
|
|
|
+ if(res.code!==0) return this.$showToast(res.msg)
|
|
|
+ this.teamScaleData = res.data.map(d=>({name:d.dictLabel,id:d.dictValue}))
|
|
|
+ resolve()
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+
|
|
|
+ async getTeamHierarchyData(){
|
|
|
+ return new Promise((resolve,reject)=>{
|
|
|
+ this.$api.get('/getListByType/team_hierarchy').then(({data:res})=>{
|
|
|
+ if(res.code!==0) return this.$showToast(res.msg)
|
|
|
+ this.teamLevelData = res.data.map(d=>({name:d.dictLabel,id:d.dictValue}))
|
|
|
+ resolve()
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ async showTeamInfo(){
|
|
|
+ await this.getTeamScaleData()
|
|
|
+ await this.getTeamHierarchyData()
|
|
|
+ this.$api.get(`/core/user/team/${this.dto.teamId}`).then(({data:res})=>{
|
|
|
+ if(res.code!==0) return this.$showToast(res.msg)
|
|
|
+ this.teamInfo = res.data;
|
|
|
+ this.teamInfo.functionsName = res.data.functions.map(f=>f.functionName).join('、');
|
|
|
+ this.teamInfo.organizationsName = res.data.organizations.map(f=>f.orgName).join('、');
|
|
|
+ this.teamInfo.address = res.data.provinceName+res.data.cityName;
|
|
|
+ this.teamInfo.scaleName = this.teamScaleData.find(d=>d.id==res.data.scale).name;
|
|
|
+ this.teamInfo.hierarchyName = this.teamLevelData.find(d=>d.id==res.data.hierarchy).name;
|
|
|
+ this.teamInfoShow = true;
|
|
|
+ })
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
|
|
|
|
<style scoped lang="scss">
|
|
|
+.share-btn {
|
|
|
+ background-color: transparent;
|
|
|
+ border: none;
|
|
|
+ padding: 0;
|
|
|
+ margin: 0;
|
|
|
+ line-height: 1;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+ &::after {
|
|
|
+ border: none;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
.qbox{
|
|
|
width: 100%;
|
|
|
height: 100%;
|
|
|
@@ -295,6 +355,14 @@ The following statements in the assessment describe the ideal state of a team. P
|
|
|
height: 32rpx;
|
|
|
transform: rotate(180deg);
|
|
|
}
|
|
|
+ }
|
|
|
+ &-name {
|
|
|
+ font-family: PingFangSC, PingFang SC;
|
|
|
+ font-weight: 400;
|
|
|
+ font-size: 24rpx;
|
|
|
+ color: #667e90;
|
|
|
+ line-height: 24rpx;
|
|
|
+ margin-top: 24rpx;
|
|
|
}
|
|
|
&-status{
|
|
|
width: 140rpx;
|