347617796@qq.com 2 年之前
父節點
當前提交
e02fcfaed4

+ 6 - 3
src/api/axios.js

@@ -2,13 +2,13 @@ import axios from 'axios'
 import {Message} from 'element-ui'
 import {getToken,setToken} from './auth.js'
 import qs from 'qs'
+import Router from '@/router'
 const service = axios.create({
 	baseURL: process.env.VUE_APP_BASE_API, 
-	// baseURL:'http://ding.jx.g107.com/',
+	// baseURL:'https://app109758.eapps.dingtalkcloud.com/',
 	timeout: 20000,
 	headers: {
 		'Content-Type': 'application/x-www-form-urlencoded',
-		// 'Referer':'app109758.eapps.dingtalkcloud.com'
 	},
 	transformRequest: [function(data) {
 		return qs.stringify(data)
@@ -55,7 +55,10 @@ service.interceptors.response.use(
 					message: response.data.msg,
 					type: 'error',
 				})
-			return Promise.reject(response.data.msg)
+				Router.push({
+				  path: '/noAccess'
+				})
+				// return Promise.reject(response.data.msg)
 			}
 		}else{
 			Message({

二進制
src/assets/image/app1.jpg


二進制
src/assets/image/app1.png


二進制
src/assets/image/code.png


二進制
src/assets/image/pc.jpg


二進制
src/assets/image/pc.png


二進制
src/assets/image/sltw.png


+ 21 - 13
src/components/evaluate/BasicMessage.vue

@@ -19,25 +19,33 @@
             ></el-input>
           </el-popover>
         </el-form-item>
-        <el-form-item label="周期类型">
+        <el-form-item label="考核周期">
           <el-radio-group v-model="ruleForm.cycle_type">
             <el-radio :label="item.value" v-for="(item,index) in $getCycleType()" :key="item.value" v-show="item.value!=0">{{item.label}}</el-radio>
           </el-radio-group>
         </el-form-item>
         <el-form-item label="考核表管理员">
-          <div class="border flex-box-ce">
-            <div class="flex-1" v-if="Administrator.length == 0">请选择管理员</div>
-            <div v-else style="width: 180px;" class="font-flex-word">
-              <span v-for="(item, index) in Administrator" :key="index">
-                <i v-if="index != 0">,</i>{{ item.name }}
-              </span>
-            </div>
-            <span v-if="Administrator.length >0" class="blue">{{Administrator.length}}人</span>
-            <i class="el-icon-arrow-down icon-right" v-else></i>
-            <div @click="openAdministrator()" class="inputDc"></div>
-          </div>
+			
+		<el-popover placement="right" key="1" width="400" trigger="hover" v-model="visible">
+		  <div class="fontColorB">
+			考核表管理员用来做什么?
+			<br />
+			考核表管理员可以删除修改当前考核表
+		  </div>
+		  <div class="border flex-box-ce" slot="reference">
+		    <div class="flex-1" v-if="Administrator.length == 0">请选择管理员</div>
+		    <div v-else style="width: 180px;" class="font-flex-word">
+		      <span v-for="(item, index) in Administrator" :key="index">
+		        <i v-if="index != 0">,</i>{{ item.name }}
+		      </span>
+		    </div>
+		    <span v-if="Administrator.length >0" class="blue">{{Administrator.length}}人</span>
+		    <i class="el-icon-arrow-down icon-right" v-else></i>
+		    <div @click="openAdministrator()" class="inputDc"></div>
+		  </div>
+		</el-popover>
         </el-form-item>
-        <el-form-item label="被考核人" prop="employee_ids">
+        <el-form-item label="考核哪些人" prop="employee_ids">
           <div class="border flex-box-ce">
             <div class="flex-1" v-if="selected.employee.length == 0">请选择被考核人</div>
             <div v-else style="width: 180px;" class="font-flex-word">

+ 2 - 2
src/components/evaluate/Flow - 副本.vue

@@ -26,7 +26,7 @@
 									<el-radio :label="1">系统(使用考核模板)</el-radio>
 									<el-radio :label="2">被考核人</el-radio>
 									<el-radio :label="3">指定成员</el-radio>
-									<el-radio :label="4">管理员(指定一级)</el-radio>
+									<el-radio :label="4">部门主管(指定一级)</el-radio>
 								</el-radio-group>
 								<div class="flex-box-ce" style="margin-top: 10px;" v-show="target.type == 4">
 									<span>被考核人的</span>
@@ -448,7 +448,7 @@ export default {
 			options: [
 				{
 					value: 1,
-					label: '一级部门主管'
+					label: '直属部门主管'
 				},
 				{
 					value: 2,

+ 17 - 7
src/components/evaluate/Flow.vue

@@ -3,7 +3,7 @@
 		<div class="main">
 			<div class="main-top flex-box">
 				<div class="flex-box-v flex-d-wrap">
-					<div style="font-size: 16px;">流程节点</div>
+					<div style="font-size: 16px;">流程节点设置</div>
 					<div
 						@click="activeFlow(item.index)"
 						class="flex-box-ce flow-item  flex-d-wrap"
@@ -25,12 +25,20 @@
 						<div class="nweTitle">目标制定</div>
 						<el-form label-width="80px">
 							<el-form-item>
-								<div class="form-titem">制定人:</div>
+								<div class="form-titem">由谁来制定目标:</div>
 								<el-radio-group v-model="target.type">
-									<el-radio :label="1">系统(使用考核模板)</el-radio>
-									<el-radio :label="2">被考核人</el-radio>
+									<el-radio :label="1">系统(由绩效管理员制定考核模板)</el-radio>
+									<el-radio :label="2">被考核人
+										<el-tooltip class="item" effect="dark" content="被考核对象,即员工本人" placement="top-start">
+											<i class="fontColorF el-icon-warning"></i>
+										</el-tooltip>
+									</el-radio>
 									<el-radio :label="3">指定成员</el-radio>
-									<el-radio :label="4">管理员(指定一级)</el-radio>
+									<el-radio :label="4">部门主管(指定一级)
+										<el-tooltip class="item" effect="dark" content="指定某一级主管" placement="top-start">
+											<i class="fontColorF el-icon-warning"></i>
+										</el-tooltip>
+									</el-radio>
 								</el-radio-group>
 								<div class="flex-box-ce" style="margin-top: 10px;" v-show="target.type == 4">
 									<span>被考核人的</span>
@@ -228,7 +236,9 @@ export default {
 		},
 		data: {
 			type: Object,
-			default:{}
+			default:()=>{
+				return {}
+			}
 		}
 	},
 	watch: {
@@ -455,7 +465,7 @@ export default {
 			options: [
 				{
 					value: 1,
-					label: '一级部门主管'
+					label: '直属部门主管'
 				},
 				{
 					value: 2,

+ 8 - 6
src/components/evaluate/Template.vue

@@ -76,10 +76,12 @@
 			</div>
 		</div>
 		<div class="flex-box-ce pop-up">
-			<el-button type="primary" @click="addDimensionality = true">
-				<i class="el-icon-plus"></i>
-				添加考核维度
-			</el-button>
+			<el-button type="primary" @click="addDimensionality = true"><i class="el-icon-plus"></i>添加考核维度</el-button>
+			<el-popover placement="bottom" width="500" trigger="hover">
+				<div>考核维度是考核指标的归类和大纲,可包含硬指标和软指标,也可以有业绩或者行为考核,如下图的业务员考核,划分两大维度:【工作能力】和【行为素养】</div>
+				<img  src="@/assets/image/sltw.png" style="width: 100%;"/>
+				<span class="blue" slot="reference">示例说明</span>
+			</el-popover>
 			<div class="fontColorB" style="margin-left: 20px;" v-if="dimensionalityList.length > 0">
 				<span class="blue">{{ sumText.num }}</span>
@@ -133,7 +135,7 @@
 						<span v-if="scope.row.result_type == 'none'">不开启</span>
 						<span v-if="scope.row.result_type == 'self'">被考核人</span>
 						<span v-if="scope.row.result_type == 'special'">指定员工 ({{ scope.row.result_employee_name }})</span>
-						<span v-if="scope.row.result_type == 'supervisor'">一级部门主管</span>
+						<span v-if="scope.row.result_type == 'supervisor'">直属部门主管</span>
 					</template>
 				</el-table-column>
 				<el-table-column prop="reviewer_name" label="指定评分人"></el-table-column>
@@ -236,7 +238,7 @@
 							<el-option label="不开启" value="none"></el-option>
 							<el-option label="被考核人" value="self"></el-option>
 							<el-option label="指定员工" value="special"></el-option>
-							<el-option label="一级部门主管" value="supervisor"></el-option>
+							<el-option label="直属部门主管" value="supervisor"></el-option>
 						</el-select>
 						<div style="position: relative;margin-top: 10px;" v-if="addIndexForm.result_type == 'special'" class="width-250">
 							<el-input v-model="assignUser.name" placeholder="请选择指定员工"></el-input>

+ 2 - 2
src/components/flow/Affirm - 副本.vue

@@ -29,7 +29,7 @@
           <el-form label-width="120px">
             <el-form-item label="确认人:">
               <el-radio-group v-model="item.type">
-                <el-radio :label="1">管理员(指定一级)</el-radio>
+                <el-radio :label="1">部门主管(指定一级)</el-radio>
                 <el-radio :label="2">指定成员</el-radio>
                 <el-radio :label="3">被考核人</el-radio>
               </el-radio-group>
@@ -121,7 +121,7 @@ export default {
       options: [
         {
           value: 1,
-          label: '一级部门主管'
+          label: '直属部门主管'
         },
         {
           value: 2,

+ 11 - 3
src/components/flow/Affirm.vue

@@ -31,9 +31,17 @@
             <el-form-item>
 			  <div class="form-titem">确认人:</div>
               <el-radio-group v-model="item.type">
-                <el-radio :label="1">管理员(指定一级)</el-radio>
+                <el-radio :label="1">部门主管(指定一级)
+					<el-tooltip class="item" effect="dark" content="指定某一级主管" placement="top-start">
+						<i class="fontColorF el-icon-warning"></i>
+					</el-tooltip>
+				</el-radio>
                 <el-radio :label="2">指定成员</el-radio>
-                <el-radio :label="3">被考核人</el-radio>
+                <el-radio :label="3">被考核人
+					<el-tooltip class="item" effect="dark" content="被考核对象,即员工本人" placement="top-start">
+						<i class="fontColorF el-icon-warning"></i>
+					</el-tooltip>
+				</el-radio>
               </el-radio-group>
               <div class="flex-box-ce" style="margin-top: 10px;" v-show="item.type == 1">
                 <span>被考核人的</span>
@@ -125,7 +133,7 @@ export default {
       options: [
         {
           value: 1,
-          label: '一级部门主管'
+          label: '直属部门主管'
         },
         {
           value: 2,

+ 2 - 2
src/components/flow/Examine - 副本.vue

@@ -28,7 +28,7 @@
           <el-form label-width="120px">
             <el-form-item label="审批人:">
               <el-radio-group v-model="item.type">
-                <el-radio :label="1">管理员(指定一级)</el-radio>
+                <el-radio :label="1">部门主管(指定一级)</el-radio>
                 <el-radio :label="2">指定成员</el-radio>
                 <el-radio :label="3">被考核人</el-radio>
               </el-radio-group>
@@ -116,7 +116,7 @@ export default {
       options: [
         {
           value: 1,
-          label: '一级部门主管'
+          label: '直属部门主管'
         },
         {
           value: 2,

+ 11 - 3
src/components/flow/Examine.vue

@@ -29,9 +29,17 @@
             <el-form-item>
 			  <div class="form-titem">审批人:</div>
               <el-radio-group v-model="item.type">
-                <el-radio :label="1">管理员(指定一级)</el-radio>
+                <el-radio :label="1">部门主管(指定一级)
+					<el-tooltip class="item" effect="dark" content="指定某一级主管" placement="top-start">
+						<i class="fontColorF el-icon-warning"></i>
+					</el-tooltip>
+				</el-radio>
                 <el-radio :label="2">指定成员</el-radio>
-                <el-radio :label="3">被考核人</el-radio>
+                <el-radio :label="3">被考核人
+					<el-tooltip class="item" effect="dark" content="被考核对象,即员工本人" placement="top-start">
+						<i class="fontColorF el-icon-warning"></i>
+					</el-tooltip>
+				</el-radio>
               </el-radio-group>
               <div class="flex-box-ce" style="margin-top: 10px;" v-show="item.type == 1">
                 <span>被考核人的</span>
@@ -119,7 +127,7 @@ export default {
       options: [
         {
           value: 1,
-          label: '一级部门主管'
+          label: '直属部门主管'
         },
         {
           value: 2,

+ 2 - 2
src/components/flow/SuperiorFlow - 副本.vue

@@ -28,7 +28,7 @@
           <el-form label-width="120px">
             <el-form-item label="评分人:">
               <el-radio-group v-model="item.type">
-                <el-radio :label="1">管理员(指定一级)</el-radio>
+                <el-radio :label="1">部门主管(指定一级)</el-radio>
                 <el-radio :label="2">指定成员</el-radio>
               </el-radio-group>
               <div class="flex-box-ce" style="margin-top: 10px;" v-show="item.type == 1">
@@ -142,7 +142,7 @@ export default {
       options: [
         {
           value: 1,
-          label: '一级部门主管'
+          label: '直属部门主管'
         },
         {
           value: 2,

+ 6 - 2
src/components/flow/SuperiorFlow.vue

@@ -39,7 +39,11 @@
 						<el-form-item>
 							<div class="form-titem">评分人:</div>
 							<el-radio-group v-model="item.type">
-								<el-radio :label="1">管理员(指定一级)</el-radio>
+								<el-radio :label="1">部门主管(指定一级)
+									<el-tooltip class="item" effect="dark" content="指定某一级主管" placement="top-start">
+										<i class="fontColorF el-icon-warning"></i>
+									</el-tooltip>
+								</el-radio>
 								<el-radio :label="2">指定成员</el-radio>
 							</el-radio-group>
 							<div class="flex-box-ce" style="margin-top: 10px;" v-show="item.type == 1">
@@ -166,7 +170,7 @@ export default {
 			options: [
 				{
 					value: 1,
-					label: '一级部门主管'
+					label: '直属部门主管'
 				},
 				{
 					value: 2,

+ 10 - 3
src/components/set/EvaluateSet.vue

@@ -10,7 +10,7 @@
     </header>
     <div class="main">
       <div style="margin-top: 20px;">
-        <div class="yellow">相同岗位且考核流程一致时,可建立同一个考核表;考核流程不同时,请分开多个考核表进行考核</div>
+        <div class="yellow" v-if="isUpdata">刚刚操作了【{{isUpdata}}】,你可以 “<span class="blue" @click="$router.push({ path: '/sponsorAssess' })">发起考核</span>” 或继续 “<span class="blue" @click="handleCommand('A')">新增考核表</span>” </div>
         <el-table stripe :data="tableData" class="table-box scroll-bar" style="width: 100%;" v-loading="loading">
           <el-table-column prop="name" width="600px" sortable label="名称">
             <template slot-scope="scope">
@@ -129,7 +129,8 @@ export default {
       isNoUser: false,
       isNoUserList: [],
 
-      bodyLoad: false
+      bodyLoad: false,
+	  isUpdata:''
     };
   },
   watch: {
@@ -153,6 +154,12 @@ export default {
     this.getList();
     this.getAllList();
   },
+  activated(e) {
+	this.isUpdata=this.$getCache('isUpdata');
+	if(this.isUpdata){
+		this.$removeCache('isUpdata');
+	}
+  },
   methods: {
 	  
     openUsers() {
@@ -262,7 +269,7 @@ export default {
 };
 </script>
 <style scoped="scoped">
-.is .blue{
+	.blue{
 	cursor: pointer;
 }	
 .el-dropdown-links {

+ 7 - 7
src/hint.vue

@@ -1,9 +1,9 @@
 <template>
 	<div>
 		<div @click="init()">
-			<img src="assets/image/pc.png" style="width:100%;height:auto" v-if="type == 'PC'" />
+			<img src="@/assets/image/pc.jpg" style="width:100%;height:auto" v-if="type == 'PC'" />
 			<div class="app" v-else :style="{ width: width }">
-				<img src="assets/image/app1.png" :style="{ width: width, height: 'auto' }" />
+				<img src="@/assets/image/app1.jpg" :style="{ width: width, height: 'auto' }" />
 			</div>
 		</div>
 	</div>
@@ -29,6 +29,7 @@ export default {
 		var url = window.location.href;
 		// let url='https://test-ding.g107.com/?purchaseToken=$PURCHASE_TOKEN$&corpId=$CORPID$&appEntityType=PC#/hint';
 		var data = this.GetRequest(url);
+		// console.log(JSON.stringify(data))
 		this.corpId = data.corpId;
 		this.token = data.purchaseToken;
 		if(data.appEntityType.indexOf('APP')>=0){
@@ -60,13 +61,12 @@ export default {
 			openTryoutSku({
 				// corpId可以从应用首页的url上获取到
 				corpId: this.corpId,
-				// corpId: 'ding897857ddc9137670ffe93478753d9884',
 				// 应用的appId
-				appId: 55493,
+				appId: 109758,
 				// 从应用首页的url上获取到,url上参数名为 purchaseToken。
 				// purchaseToken如何配置参照下文”配置入口地址“章节。
 				token: this.token,
-				miniAppId: this.type == 'APP' ? 5000000000104741 : '' // 如果是三方小程序应用,需要设置一下自身的miniAppId。H5微应用可以不设置这个参数
+				miniAppId: this.type == 'APP' ? 5000000002664231 : '' // 如果是三方小程序应用,需要设置一下自身的miniAppId。H5微应用可以不设置这个参数
 			}).then(res => {
 				const {
 					// action的值为:
@@ -82,9 +82,9 @@ export default {
 						close({});
 					} else {
 						if(this.IsPC()){
-							window.location.replace('https://pc.dd.g107.com?corpId=' + corpId)
+							window.location.replace('https://app109758.eapps.dingtalkcloud.com?corpId=' + corpId)
 						}else{
-							openLink({ url:'https://pc.dd.g107.com?corpId=' + corpId }).then(() => close({}));
+							openLink({ url:'https://app109758.eapps.dingtalkcloud.com?corpId=' + corpId }).then(() => close({}));
 						}
 						
 					}

+ 41 - 2
src/index.vue

@@ -7,6 +7,11 @@
 			</div>
 			<div class="flex-1 flex-box-ce" style="padding: 0 20px;">
 				<div class="flex-1">{{userInfo.site.name}}</div>
+				<div class="flex-box-ce megData" style="cursor: pointer;">
+				  <div>{{userInfo.site.user_count_max}}用户</div>
+				  <div >剩余{{returnT(userInfo.site.expire_time)}}天</div>
+				</div>
+				<el-button size="small" @click="isTz = true" class="upgrade" type="primary" icon="el-icon-upload">续费升级</el-button>
 				<div class="flex-box flex-center-center PCtutorials" v-if="getRole" @click="strategys">
 					<svg-icon icon-class="PCtutorial" style="margin-right: 10px;position: relative;top: 0px;font-size: 18px;" />
 					<span>新手引导</span>
@@ -36,7 +41,13 @@
 				<div class="fontColorF" style="text-align: center;margin: 10px 0;">Copyright © 2022 广东功道云数字科技有限公司 All Rights Reserved</div>
 			</el-main>
 		</el-container>
-
+		<!-- 续费升级 -->
+		<el-dialog class="续费升级" :visible.sync="isTz" width="400px">
+			<div style="border-radius: 15px;border: 1px solid #f1f1f1;padding: 10px; width: 276px;box-sizing: border-box;margin: 0 auto;">
+				<img src="@/assets/image/code.png"/>
+			</div>
+			<div class="fontColorF" style="text-align: center;margin-top: 15px;font-size: 18px;">手机钉钉扫码,付费升级</div>
+		</el-dialog>
 		<el-dialog :visible.sync="usingTheStrategy" width="680px" :before-close="navDialog" :close-on-click-modal="false">
 			<div>
 				<img style="width: 100%;" :src="navList[navNew].image" alt="" />
@@ -68,7 +79,7 @@ export default {
 				{ name: '看"绩效报表"', image: require('@/assets/image/nav_jx_4.jpg'), paths: 'statement' }
 			],
 			navNew: 0,
-
+			isTz:false,
 			activeIndex: '0-0',
 			routers: [],
 			userInfo: this.$getUserData(),
@@ -136,6 +147,10 @@ export default {
 		});
 	},
 	methods: {
+		returnT(date){
+			var timestamp = parseInt(new Date().getTime()/1000);
+			return parseInt((date-timestamp)/86400)
+		},
 		DDconfig(){
 			console.log("开始鉴权")
 			let str=location.href
@@ -319,6 +334,30 @@ export default {
 };
 </script>
 <style scoped="scoped" lang="scss">
+	.upgrade {
+		margin-left: 10px;
+		margin-right: 10px;
+	}
+.megData div:nth-child(1) {
+  background-image: linear-gradient(to bottom, #5e6e9b 0%, #232d48 100%);
+  text-align: center;
+  color: #e1bf66;
+  border-top-left-radius: 25px;
+  border-bottom-left-radius: 25px;
+  line-height: 35px;
+  height: 35px;
+  padding: 0 10px;
+}
+.megData div:nth-child(2) {
+  background-image: linear-gradient(to bottom, #ffeab2 0%, #e1bf66 100%);
+  text-align: center;
+  color: #232d48;
+  border-top-right-radius: 25px;
+  border-bottom-right-radius: 25px;
+  line-height: 35px;
+  height: 35px;
+  padding: 0 10px;
+}
 .svgIcon {
 	font-size: 20px;
 	color: #99a9bf;

+ 2 - 2
src/init.vue

@@ -13,7 +13,7 @@
 				<div style="margin: 10px 0;">您当前的套餐已到期,如需继续使用,请<span @click="bundleOfServices" style="color:#409EFF;cursor:pointer;">联系客服</span>或扫描下方二维码进行续费。</div>
 			</div>
 			<div style="border-radius: 15px;border: 1px solid #f1f1f1;padding: 10px; width: 276px;box-sizing: border-box;margin: 0 auto;">
-				<img src="assets/image/code.png"/>
+				<img src="@/assets/image/code.png"/>
 			</div>
 			<div class="fontColorF" style="text-align: center;margin-top: 15px;font-size: 18px;">手机钉钉扫码,付费升级</div>
 		</el-dialog>
@@ -49,7 +49,7 @@ export default {
 	methods: {
 		bundleOfServices(){
 			this.$dd.biz.util.openSlidePanel({
-				url:"https://page.dingtalk.com/wow/dingtalk/act/serviceconversation?wh_biz=tm&showmenu=false&goodsCode=DT_GOODS_881607043109331&corpId="+this.$getCache('corpId')+"&token=5784a3e6b5e025ee891517ea814180f4",
+				url:"https://page.dingtalk.com/wow/dingtalk/act/serviceconversation?wh_biz=tm&showmenu=false&goodsCode=DT_GOODS_881649645924368&corpId="+this.$getCache('corpId')+"&token=b26816672b9a5f26022afcc5f1926d93",
 				title: '客服群',
 				onSuccess : function(result) {
 				},

+ 3 - 3
src/main.js

@@ -69,9 +69,9 @@ Vue.component('NoData', NoData)
 Vue.component('BrawerBox', BrawerBox)
 Vue.use(ElementUI);
 
-// if (process.env.NODE_ENV === 'development') {
-  new VConsole()
-// }
+if (process.env.NODE_ENV === 'development') {
+  // new VConsole()
+}
 
 Vue.prototype.$moment = moment
 Vue.prototype.$echarts = echarts

+ 22 - 12
src/views/assessManagement/assessDetails.vue

@@ -3,18 +3,26 @@
 		<PageHead :routePush="pushAssMan">
 			<template slot="headMent">
 				<div class="flex-box-ce">
-					<el-cascader
-						v-model="headValue"
-						:options="options"
-						:show-all-levels="false"
-						:props="{
-							expandTrigger: 'hover',
-							label: 'name',
-							value: 'id',
-							children: 'list'
-						}"
-					></el-cascader>
-					<img v-if="all_finish" src="@/assets/image/guidang.png" class="guidang" />
+					<div class="flex-box-ce" style="width: 500px;">
+						<el-cascader
+							style="width: 250px;"
+							v-model="headValue"
+							:options="options"
+							:show-all-levels="false"
+							:props="{
+								expandTrigger: 'hover',
+								label: 'name',
+								value: 'id',
+								children: 'list'
+							}"
+						></el-cascader>
+						<img v-if="all_finish" src="@/assets/image/guidang.png" class="guidang" />
+					</div>
+					 <el-alert v-if="isShowText"
+					    title="考核发起成功后,系统将通知到相关员工并在【钉钉待办】中生成绩效待办事项"
+					    type="success">
+					  </el-alert>
+					<!-- <div v-if="!isShowText" style="padding-left: 20px;" class="blue">考核发起成功后,系统将通知到相关员工并在【钉钉待办】中生成绩效待办事项</div> -->
 				</div>
 			</template>
 		</PageHead>
@@ -467,6 +475,7 @@ export default {
 			pending:false,
 			
 			comment:'',//
+			isShowText:false,
 		};
 	},
 	components: { PageHead, JxSearch, EmployeeSelector, BrawerBox },
@@ -546,6 +555,7 @@ export default {
 			this.assessTree(amfTabL.cycle_type, amfTabL.id); //请求绩效树
 			this.svaeNavcli = amfTabL.navcli ? amfTabL.navcli : 0;
 			this.asstabParams.doing_id = amfTabL.navcli ? amfTabL.navcli : 0;
+			this.isShowText=amfTabL.isShowText
 		}
 		//回显绩效树的选中
 		this.theAdministrator(); //管理员列表

+ 48 - 21
src/views/assessManagement/assessManagement.vue

@@ -14,26 +14,33 @@
     </header>
 
     <footer v-loading="tableDataLoad">
-      <el-table stripe :data="tableData" @row-click="amfTabLckick" stripe style="width: 100%">
-        <el-table-column prop="name" label="考核表"></el-table-column>
-        <el-table-column prop="date" label="考核周期"></el-table-column>
-        <el-table-column prop="employee_num" label="参与人数(人)">
-          <template slot-scope="scope">
-            <div style="width:55px;text-align:center;">{{ scope.row.employee_num_all }}</div>
-          </template>
-        </el-table-column>
-		<el-table-column prop="date" label="我的团队(人)">
-			<template slot-scope="scope">
-			  <div style="width:55px;text-align:center;">{{ scope.row.employee_num }}</div>
-			</template>
-		</el-table-column>
-        <el-table-column prop="peoplenum">
-          <template slot-scope="scope">
-            <el-button type="text" size="medium" @click="amfTabLckick(scope.row)">查看</el-button>
-          </template>
-        </el-table-column>
-      </el-table>
-      <Pagination :page="assessData.page" :page_size="assessData.page_size" :total="total" @handleSizeChange="handleSizeChange" @handleCurrentChange="handleCurrentChange"></Pagination>
+	  <template v-if="tableData.length==0&&!assessData.keywords">
+		  <noData isSolt>
+			  <div v-if="$getRole(1)&&$isAuthoritys($7)" style="text-align: center;">暂无考核记录,去 <span @click="amhrsponsor" class="blue">【发起考核】</span></div>
+		  </noData>
+	  </template>
+	  <template v-else>
+		  <el-table stripe :data="tableData" @row-click="amfTabLckick"  style="width: 100%">
+		    <el-table-column prop="name" label="考核表"></el-table-column>
+		    <el-table-column prop="date" label="考核周期"></el-table-column>
+		    <el-table-column prop="employee_num_all" label="参与人数(人)">
+		      <template slot-scope="scope">
+		        <div style="width:55px;text-align:center;">{{ scope.row.employee_num_all }}</div>
+		      </template>
+		    </el-table-column>
+		  		<el-table-column prop="employee_num" label="我的团队(人)">
+		  			<template slot-scope="scope">
+		  			  <div style="width:55px;text-align:center;">{{ scope.row.employee_num }}</div>
+		  			</template>
+		  		</el-table-column>
+		    <el-table-column prop="peoplenum">
+		      <template slot-scope="scope">
+		        <el-button type="text" size="medium" @click="amfTabLckick(scope.row)">查看</el-button>
+		      </template>
+		    </el-table-column>
+		  </el-table>
+		  <Pagination :page="assessData.page" :page_size="assessData.page_size" :total="total" @handleSizeChange="handleSizeChange" @handleCurrentChange="handleCurrentChange"></Pagination>
+	  </template>
     </footer>
   </div>
 </template>
@@ -102,8 +109,28 @@ export default {
     },
     //发起考核
     amhrsponsor() {
-      this.$router.push({ name: 'sponsorAssess' });
+	  this.getList((data)=>{
+		  if(data.length>0){
+			 this.$router.push({ name: 'sponsorAssess' }); 
+		  }else{
+			  this.$confirm('暂无考核表,请到【考核设置】中【新建考核表】', '提示', {
+			    confirmButtonText: '知道了',
+			    cancelButtonText: '取消',
+			    type: 'warning'
+			  }).then(() => {
+				  
+
+			  }).catch(() => {});
+		  }
+	  })	
     },
+	// 获取考核表
+	getList(fun) {
+	  this.$axios('get', '/api/per/evaluation/all_group', { page:1, page_size:5 }).then(res => {
+	      let data = res.data.data.list || [];
+			fun(data)
+	    })
+	},
     //导入历史绩效
     amhrImport() {},
 

+ 12 - 11
src/views/assessManagement/sponsor/sponsorAssess.vue

@@ -71,11 +71,11 @@
                   <el-radio :label="false">关闭</el-radio>
                 </el-radio-group>
             </el-form-item>
-            <el-form-item label="评分分数">
-              <el-switch v-model="dswScore_details1"></el-switch>
+            <el-form-item label="评分详情">
+              <!-- <el-switch v-model="dswScore_details1"></el-switch> -->
               <span>对被考核人<span v-if="!dswScore_details1">不</span>可见</span>
               <span class="advancedConfig" @click="advancedConfig1 = !advancedConfig1">
-                高级配置
+                更多配置
                 <svg-icon slot="reference" icon-class="downArrow" :class="advancedConfig1 ? 'advancedConfig_i' : ''" style="" />
               </span>
               <div v-if="advancedConfig1" class="scoreTab">
@@ -83,12 +83,12 @@
 
                 <el-table  :data="advconTab1" stripe style="width: 100%" >
                   <el-table-column prop="name"></el-table-column>
-                  <el-table-column prop="name" label="本人评分">
+                  <el-table-column prop="name" label="仅看到本人评分">
                     <template slot-scope="scope">
                       <el-radio v-model="scope.row.iScore" :disabled="scope.row.forbidden" label="1">{{ '' }}</el-radio>
                     </template>
                   </el-table-column>
-                  <el-table-column prop="address" label="所有评分">
+                  <el-table-column prop="address" label="看到所有评分">
                     <template slot-scope="scope">
                       <el-radio v-model="scope.row.iScore" :disabled="scope.row.forbidden" label="2">{{ '' }}</el-radio>
                     </template>
@@ -97,22 +97,22 @@
               </div>
             </el-form-item>
             <el-form-item label="评分说明">
-              <el-switch v-model="dswScore_opinion1"></el-switch>
+              <!-- <el-switch v-model="dswScore_opinion1"></el-switch> -->
               <span>对被考核人<span v-if="!dswScore_opinion1">不</span>可见</span>
               <span class="advancedConfig" @click="advancedConfig2 = !advancedConfig2">
-                高级配置
+                更多配置
                 <svg-icon slot="reference" icon-class="downArrow" :class="advancedConfig2 ? 'advancedConfig_i' : ''" style="" />
               </span>
               <div v-if="advancedConfig2" class="scoreTab">
-                <div class="flex-box flex-d-center"><span>评分人意见可见权限</span></div>
+                <div class="flex-box flex-d-center"><span>评分人说明可见权限</span></div>
                 <el-table  stripe :data="advconTab2" style="width: 100%"  class="">
                   <el-table-column prop="name"></el-table-column>
-                  <el-table-column prop="name" label="本人说明">
+                  <el-table-column prop="name" label="仅看到本人说明">
                     <template slot-scope="scope">
                       <el-radio v-model="scope.row.iScore" :disabled="scope.row.forbidden" label="1">{{ '' }}</el-radio>
                     </template>
                   </el-table-column>
-                  <el-table-column prop="address" label="所有说明">
+                  <el-table-column prop="address" label="看到所有说明">
                     <template slot-scope="scope">
                       <el-radio v-model="scope.row.iScore" :disabled="scope.row.forbidden" label="2">{{ '' }}</el-radio>
                     </template>
@@ -353,7 +353,8 @@ export default {
 				let rows = {
 				  id: data.package_id,
 				  cycle_type: Number(data.cycle_type),
-				  pushs: '/assessManagement'
+				  pushs: '/assessManagement',
+				  isShowText:true
 				};
 				this.$socketApi.closewebsocket();
 				this.$router.push({ path: '/assessDetails', query: { amfTabLckick: JSON.stringify(rows) } });

+ 9 - 3
src/views/assessManagement/staffAssDet.vue

@@ -28,7 +28,7 @@
 					<div class="button-width" v-if="!has_finish">
 						<!-- 撤销上一次操作 -->
 						<template v-if="revocationShow">
-							<el-button @click="isShowCx = true" type="primary">撤销上一次操作</el-button>
+							<el-button @click="isShowCx = true" type="primary">重新评分</el-button>
 						</template>
 
 						<!-- 目标制定节点 -->
@@ -55,7 +55,11 @@
 						<el-button v-if="gradeButShow" type="primary" @click="gradeClick">评分</el-button>
 						<el-button v-if="recordsManagement" @click="isTrack = true">管理记录</el-button>
 						<el-button v-if="actionButShow" @click="isPlan = true">执行计划</el-button>
-						<el-button v-if="feedbackBut" @click="communication = true">沟通反馈</el-button>
+						<el-button v-if="feedbackBut" @click="communication = true">沟通反馈
+							<el-tooltip class="item" effect="dark" content="指定某一级主管" placement="top-start">
+								<i class="fontColorF el-icon-warning"></i>
+							</el-tooltip>
+						</el-button>
 						<!-- 主次管理员,被考核人上级 -->
 						<template v-if="$getRole(1) || isSuperior">
 							<el-dropdown style="margin-left:10px;" @command="handleCommand">
@@ -1399,6 +1403,7 @@ export default {
 								}
 								this.nowFLow = item.code;
 								this.atPresentFlow = item.id;
+								
 								this.setBtn(item); //其他按钮控制
 								if (item.code == 'target' || item.code == 'confirm') {
 									//当是目标制定,目标确认时,隐藏调整目标按钮
@@ -1732,6 +1737,7 @@ export default {
 		},
 		// 各按钮控制
 		setBtn(item) {
+			// console.log(item,this.userInfo.id)
 			// 目标制定
 			if (item.code == 'target') {
 				item.target.forEach(tar => {
@@ -1843,7 +1849,7 @@ export default {
 		},
 		//流程点击
 		processDet(data) {
-			console.log(JSON.stringify(data))
+			// console.log(JSON.stringify(data))
 			this.processDel = data;
 			this.isChecks = true;
 			if (data.target.length == 0) {

+ 3 - 1
src/views/evaluate/evaluate.vue

@@ -79,7 +79,7 @@ export default {
 	components: { BasicMessage, Template, Flow, EmployeeSelector, Preview },
 	data() {
 		return {
-			title: '新考核表',
+			title: '新考核表',
 			activeIndex: '1',
 			dialogVisible: false,
 			isShowScore: false, //是否在流程里显示指定评分人模块
@@ -274,6 +274,7 @@ export default {
 									} else {
 										this.$message.success('创建成功');
 									}
+									this.$setCache('isUpdata',basicMessage.name);
 									this.$router.go(-1);
 								}
 							}
@@ -327,6 +328,7 @@ export default {
 							} else {
 								this.$message.success('创建成功');
 							}
+							this.$setCache('isUpdata',basicMessage.name);
 							this.$router.go(-1);
 						}
 					}

+ 0 - 1
src/views/job/score.vue

@@ -3,7 +3,6 @@
     <PageHead :routePush="pushAssMan">
       <template slot="headMent">
         <el-cascader
-          
           v-model="headValue"
           :options="options"
           :show-all-levels="false"

+ 1 - 1
src/views/myPerformance/adjustment.vue

@@ -170,7 +170,7 @@
 							<el-option label="不开启" value="none"></el-option>
 							<el-option label="被考核人" value="self"></el-option>
 							<el-option label="指定员工" value="special"></el-option>
-							<el-option label="一级部门主管" value="supervisor"></el-option>
+							<el-option label="直属部门主管" value="supervisor"></el-option>
 						</el-select>
 						<div style="position: relative;margin-top: 10px;" v-if="addIndexForm.result_type == 'special'" class="width-250">
 							<el-input v-model="assignUser.name" placeholder="请选择指定员工"></el-input>

+ 1 - 1
src/views/myPerformance/adjustment2.vue

@@ -163,7 +163,7 @@
               <el-option label="不开启" value="none"></el-option>
               <el-option label="被考核人" value="self"></el-option>
               <el-option label="指定员工" value="special"></el-option>
-              <el-option label="一级部门主管" value="supervisor"></el-option>
+              <el-option label="直属部门主管" value="supervisor"></el-option>
             </el-select>
             <div style="position: relative;margin-top: 10px;" v-if="addIndexForm.result_type == 'special'" class="width-250">
               <el-input v-model="assignUser.name" placeholder="请选择指定员工"></el-input>

+ 2 - 2
src/views/myPerformance/formulate.vue

@@ -47,7 +47,7 @@
               <span v-if="scope.row.result_type == 'none'">不开启</span>
               <span v-if="scope.row.result_type == 'self'">被考核人</span>
               <span v-if="scope.row.result_type == 'special'">指定员工</span>
-              <span v-if="scope.row.result_type == 'supervisor'">一级部门主管</span>
+              <span v-if="scope.row.result_type == 'supervisor'">直属部门主管</span>
             </template>
           </el-table-column>
           <el-table-column prop="reviewer_name" label="指定评分人"></el-table-column>
@@ -139,7 +139,7 @@
               <el-option label="不开启" value="none"></el-option>
               <el-option label="被考核人" value="self"></el-option>
               <el-option label="指定员工" value="special"></el-option>
-              <el-option label="一级部门主管" value="supervisor"></el-option>
+              <el-option label="直属部门主管" value="supervisor"></el-option>
             </el-select>
             <div style="position: relative;margin-top: 10px;" v-if="addIndexForm.result_type == 'special'" class="width-250">
               <el-input v-model="assignUser.name" placeholder="请选择指定员工"></el-input>

+ 5 - 1
src/views/myPerformance/myPerformance.vue

@@ -35,7 +35,11 @@
             <el-button v-if="gradeButShow"  type="primary" @click="gradeClick">评分</el-button>
             <el-button v-if="recordsManagement"  @click="isTrack = true">管理记录</el-button>
             <el-button v-if="actionButShow"  @click="isPlan = true">执行计划</el-button>
-            <el-button  v-if="feedbackBut" @click="communication = true">沟通反馈</el-button>
+            <el-button  v-if="feedbackBut" @click="communication = true">沟通反馈
+				<el-tooltip  effect="dark" content="在整个考核过程中,若有需要反馈的内容可在【沟通反馈】处留言,支持发钉钉通知" placement="top-start">
+					<i class="fontColorF el-icon-warning"></i>
+				</el-tooltip>
+			</el-button>
             <!-- 主次管理员,被考核人上级 -->
 <!--             <template v-if="$getRole(1)||getSuperior()">
               <el-dropdown style="margin-left:10px;" @command="handleCommand">

+ 38 - 26
src/views/myPerformance/resultSet.vue

@@ -8,37 +8,44 @@
       </div>
 
      <div v-show="activeName=='noEntering'">
-        <div v-for="(item,index) in noStatusList" :key="index">
-          <div class="wd-title">{{item.wdName}}</div>
-          <el-table :data="item.list"  border :header-cell-style="{ background: '#ECF5FF' }">
-            <el-table-column prop="userName" label="姓名"></el-table-column>
-            <!-- <el-table-column prop="wdName" label="维度"></el-table-column> -->
-            <el-table-column prop="name" label="指标名称"></el-table-column>
-            <el-table-column prop="per_remark" label="考核标准"  min-width="200">
-              <template slot-scope="scope">
-                  <PreBox :value="scope.row.per_remark"></PreBox>
-              </template>
-            </el-table-column>
-            <el-table-column prop="target" label="目标值"></el-table-column>
-            <el-table-column prop="weight" label="权重%"></el-table-column>
-            <el-table-column prop="remark" label="备注" min-width="200"></el-table-column>
-            <el-table-column label="实际完成结果值" min-width="150">
-                <template slot-scope="scope">
-                <div class="flex-box-ce">
-                  <el-input type="textarea" style="min-width: 130px;" :rows="1" v-model="scope.row.result" placeholder="请输入"></el-input>
-                  <span style="width: 40px;padding-left: 5px;" class="font-flex-word">{{scope.row.unit}}</span>
-                </div>
-                </template>
-            </el-table-column>
-          </el-table>
-        </div>
-      </div>
+		 <template v-if="noStatusList.length>0">
+			 <div v-for="(item,index) in noStatusList" :key="index">
+			   <div class="wd-title">{{item.wdName}}</div>
+			   <el-table :data="item.list"  border :header-cell-style="{ background: '#ECF5FF' }">
+			     <el-table-column prop="userName" label="姓名"></el-table-column>
+			     <!-- <el-table-column prop="wdName" label="维度"></el-table-column> -->
+			     <el-table-column prop="name" label="指标名称"></el-table-column>
+			     <el-table-column prop="per_remark" label="考核标准"  min-width="200">
+			       <template slot-scope="scope">
+			           <PreBox :value="scope.row.per_remark"></PreBox>
+			       </template>
+			     </el-table-column>
+			     <el-table-column prop="target" label="目标值"></el-table-column>
+			     <el-table-column prop="weight" label="权重%"></el-table-column>
+			     <el-table-column prop="remark" label="备注" min-width="200"></el-table-column>
+			     <el-table-column label="实际完成结果值" min-width="150">
+			         <template slot-scope="scope">
+			         <div class="flex-box-ce">
+			           <el-input type="textarea" style="min-width: 130px;" :rows="1" v-model="scope.row.result" placeholder="请输入"></el-input>
+			           <span style="width: 40px;padding-left: 5px;" class="font-flex-word">{{scope.row.unit}}</span>
+			         </div>
+			         </template>
+			     </el-table-column>
+			   </el-table>
+			 </div>
+		 </template>
+		<noData v-else>
+			
+		</noData>
+		
+     </div>
      <div v-show="activeName=='entering'">
+		 
+		<template v-if="statusList.length>0"> 
        <div v-for="(item,index) in statusList" :key="index">
         <div class="wd-title">{{item.wdName}}</div>
         <el-table :data="item.list"  border :header-cell-style="{ background: '#ECF5FF' }">
           <el-table-column prop="userName" label="姓名"></el-table-column>
-          <!-- <el-table-column prop="wdName" label="维度"></el-table-column> -->
           <el-table-column prop="name" label="指标名称"></el-table-column>
           <el-table-column prop="per_remark" label="考核标准"  min-width="200">
             <template slot-scope="scope">
@@ -58,6 +65,11 @@
           </el-table-column>
         </el-table>
        </div>
+	   </template>
+	   <noData v-else>
+	   	
+	   </noData>
+	   
       </div>
     </div>
     <footer class="footer flex-box-end" v-if="activeName == 'noEntering'">

+ 1 - 1
src/views/set/addIndexSet.vue

@@ -53,7 +53,7 @@
             <el-option label="不开启" value="none"></el-option>
             <el-option label="被考核人" value="self"></el-option>
             <el-option label="指定员工" value="special"></el-option>
-            <el-option label="一级部门主管" value="supervisor"></el-option>
+            <el-option label="直属部门主管" value="supervisor"></el-option>
           </el-select>
           <div style="position: relative;margin-top: 10px;" v-if="ruleForm.result_type == 'special'" class="width-250">
             <el-input v-model="assignUser.name" placeholder="请选择指定员工"></el-input>