htc 4 gün önce
ebeveyn
işleme
00d221fbe5

+ 6 - 2
components/CusTeamUser/index.vue

@@ -3,7 +3,7 @@
 		<view class="dialog-box">
 			<view class="dialog-box-title">{{title}}</view>
 			<image class="dialog-box-close" :src="imgBase+'remind_close.png'" @click="close"></image>
-			<view class="dialog-box-bottom" @click="addUser">添加人员</view>
+			<view class="dialog-box-bottom" @click="addUser" v-if="canEdit">添加人员</view>
 			<view class="dialog-box-list">
 				<view class="dialog-box-list-item" v-for="(item,index) in list" :key="index">
 					<view class="dialog-box-list-item-status" :class="{'wzd':item.status===0,'yzd':item.status===1}">{{statusCfg[item.status]}}</view>
@@ -15,7 +15,7 @@
 					<image class="dialog-box-list-item-delete" :src="imgBase+'icon_delete.png'" @click="deleteUser(item,index)" v-if="deluser"></image>
 				</view>
 			</view>
-			<view class="zt_btn" style="margin-top: 40rpx;" @click="handleConfirm">确定</view>
+			<view class="zt_btn" style="margin-top: 40rpx;" @click="handleConfirm" v-if="canEdit">确定</view>
 		</view>
 	</view>
 </template>
@@ -23,6 +23,10 @@
 <script>
 	export default {
 		props:{
+			canEdit:{
+				typeof:Boolean,
+				default:true
+			},
 			title:{
 				typeof:String,
 				default:'团队人员'

+ 103 - 35
pagesHome/components/receiveList.vue

@@ -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;

+ 2 - 2
pagesHome/components/report/generateList.vue

@@ -29,7 +29,7 @@
 							<view class="gbox-item-bottom-left-text">创建时间:</view>
 							<view class="gbox-item-bottom-left-time">{{item.createDate||''}}</view>
 						</view>
-						<view class="gbox-item-bottom-right" @click="reviewPdf(item.type)">预览</view>
+						<view class="gbox-item-bottom-right" @click="reviewPdf(item.type)" v-if="item.state==1">预览</view>
 						<view class="gbox-item-bottom-right" @click="sendReport(item)" v-if="item.state!=-1">发送报告</view>
 						<view class="gbox-item-bottom-right" @click="reSendReport(item)" v-else>重新生成</view>
 					</view>
@@ -72,7 +72,7 @@
 			},
 			reviewPdf(type){
 				let url = '/pagesHome/pdf';
-				// if(type==2) url = '/pagesHome/pdfZyb'
+				if(type==2) url = '/pagesHome/pdfZyb'
 				uni.navigateTo({ url })
 			},
 			sendReport(item){