Ver código fonte

首页数据

yanliming 3 anos atrás
pai
commit
917f222a0d

+ 12 - 0
src/api/job/hrIndex.js

@@ -0,0 +1,12 @@
+import request from '@/utils/request'
+import constant from '@/constant'
+
+function indexData(){
+    return request.post(constant.serverUrl + "/job/hrIndex/indexData");
+}
+  
+
+
+export default {
+    indexData
+}

+ 204 - 36
src/views/job/index-HR.vue

@@ -2,10 +2,10 @@
     <div class="mainDiv">
 		<div class="main-row">
 			<div class="mainContainer main-headImg">
-				<el-avatar :size="50" :src="circleUrl"></el-avatar>
+				<el-avatar :size="50" :src="formModel.photo"></el-avatar>
 				<div class="main-headImg-text">
-					<h3>你好,周强</h3>
-					<p>平台管理员</p>
+					<h3>你好,{{formModel.realName}}</h3>
+					<p>{{formModel.companyName}}</p>
 				</div>
 			</div>
 			<div class="mainContainer main-dataNum">
@@ -14,8 +14,8 @@
 						<i class="custom-icon custom-icon-md-account_box"></i>
 					</div>
 					<div class="main-dataNum-text">
-						<h4>本月投递量</h4>
-						<p>190</p>
+						<h4>简历投递</h4>
+						<p>{{formModel.resumeDeliverNum}}</p>
 					</div>
 				</div>
 				<div class="main-dataNum-item">
@@ -23,8 +23,8 @@
 						<i class="custom-icon custom-icon-md-assignment_late"></i>
 					</div>
 					<div class="main-dataNum-text">
-						<h4>本月收藏量</h4>
-						<p>23</p>
+						<h4>收藏简历</h4>
+						<p>{{formModel.recruitmentCollectionNum}}</p>
 					</div>
 				</div>
 				<div class="main-dataNum-item">
@@ -32,8 +32,8 @@
 						<i class="custom-icon custom-icon-md-assignment"></i>
 					</div>
 					<div class="main-dataNum-text">
-						<h4>昨日入职数</h4>
-						<p>5</p>
+						<h4>对我感兴趣</h4>
+						<p>{{formModel.userBrowseNum}}</p>
 					</div>
 				</div>
 				<div class="main-dataNum-item">
@@ -41,8 +41,8 @@
 						<i class="custom-icon custom-icon-md-assessment"></i>
 					</div>
 					<div class="main-dataNum-text">
-						<h4>总入职数</h4>
-						<p>118</p>
+						<h4>昨日浏览</h4>
+						<p>{{formModel.yesterdayBrowseNum}}</p>
 					</div>
 				</div>
 			</div>
@@ -50,36 +50,50 @@
 		<div class="mainContainer main-linkUrl">
 			<div class="mainContainer-title"><h4>快捷入口</h4></div>
 			<div class="main-linkUrl-main">
-				<div class="main-linkUrl-item">
-					<div class="main-linkUrl-icon main-linkUrl-icon-1">
-						<i class="custom-icon custom-icon-shenhe_gaizhang"></i>
+				<el-link :underline="false" @click="handleLocaltion" >
+					<div class="main-linkUrl-item">
+						<div class="main-linkUrl-icon main-linkUrl-icon-1">
+							<i class="custom-icon custom-icon-shenhe_gaizhang"></i>
+						</div>
+						<p>企业认证</p>
 					</div>
-					<p>企业认证审核</p>
-				</div>
-				<div class="main-linkUrl-item">
-					<div class="main-linkUrl-icon main-linkUrl-icon-2">
-						<i class="custom-icon custom-icon-zuzhifuwu"></i>
+				</el-link>
+				<el-link :underline="false" @click="handleLocaltion2">
+					<div class="main-linkUrl-item">
+						<div class="main-linkUrl-icon main-linkUrl-icon-2">
+							<i class="custom-icon custom-icon-zuzhifuwu"></i>
+						</div>
+						<p>发布职位</p>
 					</div>
-					<p>职位审核</p>
-				</div>
-				<div class="main-linkUrl-item">
-					<div class="main-linkUrl-icon main-linkUrl-icon-3">
-						<i class="custom-icon custom-icon-churukuan"></i>
+				</el-link>
+				<el-link :underline="false">
+					<div class="main-linkUrl-item">
+						<div class="main-linkUrl-icon main-linkUrl-icon-3">
+							<i class="custom-icon custom-icon-churukuan"></i>
+						</div>
+						<p>我的消息</p>
 					</div>
-					<p>共享用工审核</p>
-				</div>
+				</el-link>
 			</div>
 		</div>
 		<div class="main-row">
 			<div class="mainContainer main-chart1">
-				<div class="mainContainer-title"><h4>平台流量转化情况</h4></div>
-				<div class="main-chart1-main">
+				<div class="mainContainer-title"><h4>职位流量转化情况</h4></div>
+				<div class="main-chart1-main" ref="categoryChart">
 					
 				</div>
 			</div>
 			<div class="mainContainer main-chart2">
-				<div class="mainContainer-title"><h4>审核办结数统计</h4></div>
-				<div class="main-chart2-main">
+				<div class="mainContainer-title2"><h4 style="display:inline">职位流量对比情况</h4>
+				<div class="radioDiv">
+					<el-radio-group v-model="radio1" size="small">
+					<el-radio-button label="职位展现"></el-radio-button>
+					<el-radio-button label="职位点击"></el-radio-button>
+					<el-radio-button label="职位投递"></el-radio-button>
+					</el-radio-group>
+				</div>
+				</div>
+				<div class="main-chart2-main" ref="lineChart">
 					
 				</div>
 			</div>
@@ -87,13 +101,161 @@
     </div>
 </template>
 <script>
- export default {
+import hrIndexApi from "@/api/job/hrIndex";
+export default {
 	data () {
-	  return {
-		circleUrl: "https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png",
-	  }
-	}
-  }
+		return {
+			formModel:{},
+			radio1: '职位展现',
+		};
+	},
+	methods: {
+		handleLocaltion(){
+
+			window["listPage"] = this;
+
+			var path = "/base/enterpriseCertificationApprove/detail";
+			
+			this.$store
+				.dispatch("tagsView/delView", {
+				name: "enterpriseCertificationApproveDetail",
+				path: path,
+				})
+				.then(({ visitedViews }) => {
+				this.$router.push({
+					path: path,
+				});
+			});
+		},
+		handleLocaltion2(){
+
+			window["listPage"] = this;
+
+			var path = "/job/recruitmentHR/list";
+			
+			this.$store
+				.dispatch("tagsView/delView", {
+				name: "recruitmentHRList",
+				path: path,
+				})
+				.then(({ visitedViews }) => {
+				this.$router.push({
+					path: path,
+				});
+			});
+		},
+		find(formData){
+			this.chart = this.$echarts.init(this.$refs.categoryChart)
+			const option = {
+				title: {
+					text: ''
+				},
+				tooltip: {
+					trigger: 'item',
+					formatter: '{a} <br/>{b} : {c}%'
+				},
+				legend: {
+					data: ['职位展现', '职位点击', '职位投递']
+				},
+				series: [
+					{
+					name: '',
+					type: 'funnel',
+					left: '10%',
+					width: '80%',
+					maxSize: '80%',
+					label: {
+						position: 'inside',
+						formatter: '{c}%',
+						color: '#fff'
+					},
+					itemStyle: {
+						opacity: 0.5,
+						borderColor: '#fff',
+						borderWidth: 2
+					},
+					emphasis: {
+						label: {
+						position: 'inside',
+						formatter: '{b}: {c}%'
+						}
+					},
+					data: formData,
+					// Ensure outer shape will not be over inner shape when hover.
+					z: 100
+					}
+				]
+			};
+
+			this.chart.setOption(option);
+		},
+		find2(){
+			this.chart = this.$echarts.init(this.$refs.lineChart);
+			const option = {
+				title: {
+					text: ''
+				},
+				tooltip: {
+					trigger: 'axis'
+				},
+				legend: {
+					data: ['我', '平台平均值']
+				},
+				grid: {
+					left: '10%',
+					right: '10%',
+					bottom: '10%',
+					containLabel: true
+				},
+				xAxis: {
+					type: 'category',
+					boundaryGap: false,
+					data: ['一月', '二月', '三月', '四月', '五月', '六月']
+				},
+				yAxis: {
+					type: 'value'
+				},
+				series: [
+					{
+					name: '我',
+					type: 'line',
+					stack: 'Total',
+					data: [120, 132, 101, 134, 90, 230]
+					},
+					{
+					name: '平台平均值',
+					type: 'line',
+					stack: 'Total',
+					data: [220, 182, 191, 234, 290, 330]
+					}
+				
+				]
+			};
+			this.chart.setOption(option);
+		}
+},
+mounted: function () {
+		var self = this;
+
+		//加载图表
+		
+		self.find2();
+
+		hrIndexApi.indexData().then(response=>{
+			var jsonData = response.data;
+
+			if(jsonData.result){
+				self.formModel = jsonData.data;
+				console.log(self.formModel);
+
+				self.find(self.formModel.positionDataFlow);
+			}
+			else{
+				self.$message.error(jsonData.message + "");
+			}
+		});
+	},
+}
 </script>
 <style lang="scss" scoped>
 	.mainDiv{
@@ -163,6 +325,12 @@
 	.mainContainer-title{
 		margin-bottom: 20px;
 	}
+	.mainContainer-title2{
+		margin-bottom: 20px;
+	}
+	.radioDiv{
+		float: right;
+	}
 	.main-linkUrl-main{
 		display: flex;
 		.main-linkUrl-item{

+ 0 - 1
src/views/job/recruitmentHR-lookUp.vue

@@ -179,7 +179,6 @@ line-height: 320px;
                             <div class="div2">
                                 <i class="el-icon-location"></i>
                                 <span>{{formModel.address}}</span>
-                                <span style="margin-left:20px"><el-link type="primary">查看地图</el-link></span>
                             </div>
                             <div class="div3">
                                 <el-button type="primary" plain icon="el-icon-edit" @click="handleEdit(row)">编辑岗位</el-button>