Browse Source

第二期内容

347617796@qq.com 4 years ago
parent
commit
40c5c247a9

+ 4 - 4
src/api/axios.js

@@ -8,7 +8,7 @@ import qs from 'qs'
 const service = axios.create({
 	baseURL: process.env.VUE_APP_BASE_API, // api的base_url
 	// baseURL:'https://ding.insys.g107.com/',
-	timeout: 5000,
+	timeout: 15000,
 	headers: {
 		'Content-Type': 'application/x-www-form-urlencoded',
 	},
@@ -19,8 +19,8 @@ const service = axios.create({
 service.interceptors.request.use(
 	config => {
 		if (getToken()) {
-			config.headers['A-Token'] = getToken()
-			// config.headers['A-Token'] = ' eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczpcL1wvdGVzdC1kaW5nLmcxMDcuY29tXC9hcGlcL2RpbmdcL2xvZ2luIiwiaWF0IjoxNjA3NDA4OTYyLCJleHAiOjE2MDgwMDg5NjIsIm5iZiI6MTYwNzQwODk2MiwianRpIjoiS2pMd2hSSExtMTY0OTBpdiIsInN1YiI6MTU5LCJwcnYiOiJjYTY0ODlkNTBmMjQwN2E2NzgzMGU4MDkwZDAxNDg4MzU2ODU5NjJiIiwicm9sZSI6ImVtcGxveWVlIn0.NeaMkTIvr-EV9pQcXg3J_Q5kWl0wSJatwJVi_gkoXeo'
+			// config.headers['A-Token'] = getToken()
+			config.headers['A-Token'] = ' eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczpcL1wvdGVzdC1kaW5nLmcxMDcuY29tXC9hcGlcL2RpbmdcL2xvZ2luIiwiaWF0IjoxNjA4MTAxMTUwLCJleHAiOjE2MDg3MDExNTAsIm5iZiI6MTYwODEwMTE1MCwianRpIjoiRzd0VURhUmNaYTg4bjF2cyIsInN1YiI6MTY2LCJwcnYiOiJjYTY0ODlkNTBmMjQwN2E2NzgzMGU4MDkwZDAxNDg4MzU2ODU5NjJiIiwicm9sZSI6ImVtcGxveWVlIn0.RIZhoHAsj4Ru_Ap3sKgyfiG1fayG1Hgw7si9aekU8eE'
 		}
 		// if (config.url == '/api/integral/statistics/ranking' || config.url == '/api/integral/review/apply'|| config.url == '/api/rule/import') {
 		//   config.headers['Accept'] = 'application/vnd.test.v2+json'
@@ -75,7 +75,7 @@ service.interceptors.response.use(
 				type: 'error',
 			})
 			return Promise.reject(error.message)
-		}else if(error.message=='timeout of 5000ms exceeded'){
+		}else if(error.message=='timeout of 15000ms exceeded'){
 			Message({
 				message: '请求超时,请稍后再试',
 				type: 'error',

File diff suppressed because it is too large
+ 0 - 2
src/assets/css/iconfont.css


BIN
src/assets/css/iconfont.eot


+ 8 - 2
src/assets/css/iconfont.svg

@@ -20,6 +20,9 @@ Created by iconfont
   />
     <missing-glyph />
     
+    <glyph glyph-name="xuanzhong_shouye1" unicode="&#58897;" d="M453 260.5c0 0.2 0 0.3 0.2 0.5 0.3 1.5 1.2 3.8 3.2 6.3 4.1 5.4 17.7 18.1 56 18.1 33.1 0 47.4-10 52.8-15.9 5-5.3 5.7-10 5.9-11.2V49H453V260.5z m502.2 159.6L527.9 790.5c-10.9 9.4-27 9.4-37.7-0.2L68.7 417.1c-6-5.4-9.7-13.1-9.7-21.3 0-15.7 12.8-28.5 28.5-28.5h59.2v-293.5c-1.1-10.4-3-47.9 21-75.5 11-12.5 31.6-27.6 67.2-27.6h533.6c1.4 0 2.7-0.2 4.2-0.2 12.8 0 43.9 2.6 68.6 25.2 13.6 12.7 29.9 36.2 29.9 77.2V368.3l66 2c8 0.3 15.6 3.8 20.7 9.8 10.4 11.8 9.2 29.8-2.7 40z"  horiz-adv-x="1024" />
+
+    
     <glyph glyph-name="kaoqin_kaoqinyuebaobiao" unicode="&#59144;" d="M768 810.7H256c-70.6 0-128-57.4-128-128v-597.3c0-70.6 57.4-128 128-128h512c70.6 0 128 57.4 128 128V682.7c0 70.5-57.4 128-128 128z m42.7-725.4c0-23.5-19.1-42.7-42.7-42.7H256c-23.5 0-42.7 19.1-42.7 42.7V682.7c0 23.5 19.1 42.7 42.7 42.7h512c23.5 0 42.7-19.1 42.7-42.7v-597.4zM640 256H384c-23.6 0-42.7-19.1-42.7-42.7s19.1-42.7 42.7-42.7h256c23.6 0 42.7 19.1 42.7 42.7S663.6 256 640 256zM695.3 619.4L557.5 482.8l-115.3 45c-15 5.9-32.2 2.7-44.2-8.2L277.1 409.5c-17.4-15.9-18.7-42.9-2.8-60.3 8.4-9.2 20-13.9 31.6-13.9 10.2 0 20.5 3.7 28.7 11.1l101.3 92.3 116.5-45.5c15.7-6.1 33.6-2.5 45.5 9.5l157.5 156.2c16.8 16.6 16.8 43.6 0.2 60.3-16.5 16.7-43.5 16.8-60.3 0.2z"  horiz-adv-x="1024" />
 
     
@@ -38,10 +41,13 @@ Created by iconfont
     <glyph glyph-name="shezhi_zuzhijiagou" unicode="&#59153;" d="M628.4 810.7c42.8 0 77.6-34.7 77.6-77.6v-155.2c0-42.8-34.7-77.6-77.6-77.6h-77.6v-77.6h196.5c18.6 0 33.9-15 36-34.3l0.2-4.5v-116.4h77.6c42.8 0 77.6-34.7 77.6-77.6v-155.2c0-42.8-34.7-77.6-77.6-77.6H628.4c-42.8 0-77.6 34.7-77.6 77.6V190.1c0 42.8 34.7 77.6 77.6 77.6h82.7v77.6H312.9v-77.6h82.8c42.8 0 77.6-34.7 77.6-77.6v-155.2c0-42.8-34.7-77.6-77.6-77.6H162.9c-42.8 0-77.6 34.7-77.6 77.6V190.1c0 42.8 34.7 77.6 77.6 77.6h77.6V384.1c0 19.9 14 36.3 32 38.5l4.2 0.3h196.5v77.6h-77.5c-42.8 0-77.6 34.7-77.6 77.6v155c0 42.8 34.7 77.6 77.6 77.6h232.7zM395.6 190.1H162.9v-155.2h232.7V190.1z m465.5 0H628.4v-155.2h232.7V190.1z m-232.7 543H395.6v-155.2h232.7V733.1z"  horiz-adv-x="1024" />
 
     
-    <glyph glyph-name="dingdingPC_tongji" unicode="&#59171;" d="M541.1 849.5h-58.2c-32.1 0-58.2-26-58.2-58.2v-814.5c0-32.1 26-58.2 58.2-58.2h58.2c32.1 0 58.2 26 58.2 58.2V791.3c0 32.1-26.1 58.2-58.2 58.2zM832 384h-58.2c-32.1 0-58.2-26-58.2-58.2v-349.1c0-32.1 26-58.2 58.2-58.2H832c32.1 0 58.2 26 58.2 58.2V325.8c0 32.2-26.1 58.2-58.2 58.2zM250.2 587.6H192c-32.1 0-58.2-26-58.2-58.2v-552.7c0-32.1 26-58.2 58.2-58.2h58.2c32.1 0 58.2 26 58.2 58.2V529.5c0 32.1-26.1 58.1-58.2 58.1z"  horiz-adv-x="1024" />
+    <glyph glyph-name="PC_gongzuotai_ABfen" unicode="&#59165;" d="M512 810.7c235.6 0 426.7-191 426.7-426.7S747.6-42.7 512-42.7 85.3 148.4 85.3 384 276.4 810.7 512 810.7z m0-76.8c-193.2 0-349.9-156.6-349.9-349.9S318.8 34.1 512 34.1 861.9 190.8 861.9 384 705.2 733.9 512 733.9zM753.4 384L512 142.6 270.6 384 512 625.4 753.4 384z m-108.7 0L512 516.7 379.3 384 512 251.3 644.7 384z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="dingdingPC_shezhi1" unicode="&#59173;" d="M516.8 745.5c-153.2 0-277.4-124.1-277.4-277.4 0-153.2 124.1-277.4 277.4-277.4 153.2 0 277.4 124.1 277.4 277.4-0.1 153-124.2 277.4-277.4 277.4z m0-408.9c-72.4 0-131.4 58.9-131.4 131.4s58.9 131.4 131.4 131.4S648.2 540.5 648.2 468s-59-131.4-131.4-131.4z m-251.9-46.1l-94.4-94.3c-7.5-7.5-10.4-18.5-7.6-28.8 2.7-10.2 10.9-18.2 21.2-21l80.6-21.2 21.2-80.6c2.7-10.2 10.5-18.4 21-21.2 2.6-0.6 5.2-0.9 7.7-0.9 7.7 0 15.2 3 21.1 8.8L468 163.7c-83.9 13.4-156.3 60.5-203.1 126.8z m588.4-94.3l-88.6 88.6c-48.5-65.6-122.6-111.2-207.3-122.3l131.2-131.2c5.5-5.5 13.2-8.8 21.1-8.8 2.6 0 5.2 0.3 7.7 0.9 10.2 2.7 18.2 10.9 21 21.2l21.1 80.7 80.6 21.1c10.2 2.7 18.4 10.5 21.2 21 2.5 10.2-0.5 21.2-8 28.8z"  horiz-adv-x="1024" />
 
     
-    <glyph glyph-name="dingdingPC_shezhi" unicode="&#59172;" d="M518.2 846.7c-196.1 0-355.1-158.9-355.1-355.1 0-196.1 158.9-355.1 355.1-355.1 196.1 0 355.1 158.9 355.1 355.1-0.1 195.9-159 355.1-355.1 355.1z m0-523.4c-92.7 0-168.2 75.4-168.2 168.2s75.4 168.2 168.2 168.2 168.2-75.4 168.2-168.2-75.5-168.2-168.2-168.2z m-322.5-59L74.9 143.6c-9.6-9.6-13.3-23.7-9.7-36.8 3.5-13.1 13.9-23.3 27.1-26.9l103.2-27.1 27.1-103.2c3.4-13.1 13.5-23.5 26.9-27.1 3.3-0.8 6.6-1.2 9.9-1.2 9.9 0 19.5 3.8 27 11.2L455.7 102c-107.4 17.2-200 77.4-260 162.3z m753.2-120.7L835.5 257c-62.1-84-156.9-142.4-265.4-156.5L738-67.4c7.1-7.1 16.9-11.2 27-11.2 3.3 0 6.6 0.4 9.9 1.2 13.1 3.5 23.3 13.9 26.9 27.1l27 103.3L932 80c13.1 3.4 23.5 13.5 27.1 26.9 3.3 12.9-0.6 27-10.2 36.7z"  horiz-adv-x="1024" />
+    <glyph glyph-name="dingdingPC_tongji1" unicode="&#59174;" d="M534.7 747.7h-45.5c-25.1 0-45.5-20.3-45.5-45.5v-636.3c0-25.1 20.3-45.5 45.5-45.5h45.5c25.1 0 45.5 20.3 45.5 45.5V702.2c0 25.1-20.4 45.5-45.5 45.5zM762 384h-45.5c-25.1 0-45.5-20.3-45.5-45.5v-272.7c0-25.1 20.3-45.5 45.5-45.5H762c25.1 0 45.5 20.3 45.5 45.5V338.5c0 25.2-20.4 45.5-45.5 45.5zM307.5 543.1H262c-25.1 0-45.5-20.3-45.5-45.5v-431.8c0-25.1 20.3-45.5 45.5-45.5h45.5c25.1 0 45.5 20.3 45.5 45.5V497.7c-0.1 25.1-20.5 45.4-45.5 45.4z"  horiz-adv-x="1024" />
 
     
 

BIN
src/assets/css/iconfont.ttf


BIN
src/assets/css/iconfont.woff


BIN
src/assets/image/code.png


BIN
src/assets/image/kq1.png


BIN
src/assets/image/kq2.png


+ 2 - 2
src/components/EmployeeSelector.vue

@@ -13,7 +13,7 @@
 					</div>
 					<div class="flex-box" style="padding: 10px;border-bottom: 1px solid #f1f1f1;">
 						<div class="flex-1"></div>
-						<el-checkbox v-if="isChecKedAll" v-model="checked" @change="checkedChange" :indeterminate="indeterminate">全选</el-checkbox>
+						<el-checkbox v-if="isChecKedAll&&multi" v-model="checked" @change="checkedChange" :indeterminate="indeterminate">全选</el-checkbox>
 					</div>
 					<el-scrollbar wrap-class="column-wrapper scrollable-items-container" :native="false" style="height: 354px;" v-loading="table_loading">
 						<div class="choose_left">
@@ -27,7 +27,7 @@
 									</div>
 								</a>
 							</div>
-							<div v-else class="fontColorF" style="text-align: center;margin-top: 50px;">暂无可选人员,请确保在'组织架构'中的人员开启了参与积分管理</div>
+							<div v-else class="fontColorF" style="text-align: center;margin-top: 50px;">暂无可选人员,请先在<span class="blue"> “设置-组织架构” </span>中为员工【开启积分管理】</div>
 						</div>
 					</el-scrollbar>
 				</el-col>

+ 48 - 0
src/home.vue

@@ -0,0 +1,48 @@
+<template>
+	<div class="flex-box-v flex-center-center">
+		<div class="data-all">
+			<img src="./assets/image/init.gif" class="appImg" />
+			<div>管理执行难,就用功道云</div>
+		</div>
+	</div>
+</template>
+
+<script>
+export default {
+	data() {
+		return {
+
+		};
+	},
+	watch: {},
+	mounted() {
+
+	},
+	methods: {
+
+	}
+};
+</script>
+
+<style scoped="scoped">
+.refresh {
+	margin-top: 100px;
+	width: 100px;
+}
+.appImg {
+	width: 200px;
+	height: 200px;
+}
+.noData {
+	text-align: center;
+	position: fixed;
+	left: 0;
+	top: 0;
+	right: 0;
+	bottom: 0;
+}
+.data-all {
+	margin-bottom: 10%;
+	color: #595959;
+}
+</style>

+ 61 - 9
src/index.vue

@@ -9,8 +9,8 @@
 				<div class="flex-1 hea-right flex-box flex-v-ce" v-if="info.name">
 					<div class="name flex-1">{{ info.name }}</div>
 					<div class="flex-box flex-v-ce">
-<!-- 						<div>您当前的版本:15~20人(剩余231天)</div>
-						<el-button size="small" @click="tz" class="upgrade" type="primary" icon="el-icon-upload">续费升级</el-button> -->
+						<div>您当前为 <span class="blue">"{{corpMessage.package_name}}"</span>,有效期至<span style="color:#FF9600">{{corpMessage.expire_time}}</span></div>
+						<el-button size="small" @click="isTz=true" class="upgrade" type="primary" icon="el-icon-upload">续费升级</el-button>
 						<el-tooltip class="item" effect="dark" content="设置向导" placement="bottom">
 							<img src="./assets/image/wn.png" class="wn" @click="showWn">
 						</el-tooltip>
@@ -21,7 +21,7 @@
 		</el-header>
 		<el-container class="main">
 			<el-aside>
-				<el-menu :default-active="defaultActive" class="el-menu-vertical-demo" :router="true" @select="activeRouter">
+				<el-menu :default-active="defaultActive" class="el-menu-vertical-demo" :router="true" @select="activeRouter" >
 					<el-submenu :index="index.toString()" v-for="(item, index) in routers" :key="index">
 						<template slot="title"><span class="iconfont titleIcon" :class="item.icon" style="font-size: 20px;"></span><span style="margin-left: 5px;">{{item.name}}</span></template>
 						<template v-for="(item2, index2) in item.children">
@@ -37,6 +37,13 @@
 				<div class="fontColorF" style="text-align: center;margin: 20px 0;">Copyright © 2020 广东功道云数字科技有限公司 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 title="设置向导" :visible.sync="wn_show" width="600px">
 			<div>
 				<div class="wn-title fontColorF">三步轻松搭建积分管理体系:定人员、分责权、建制度</div>
@@ -73,7 +80,13 @@
 				</div>
 			</div>
 		</el-dialog>
-	
+<!-- 		<el-drawer
+		  title="我是标题"
+		  :visible.sync="isTz"
+		  :direction="direction"
+		  >
+		  <span>我来啦!</span>
+		</el-drawer> -->
 	</el-container>
 </template>
 
@@ -89,23 +102,33 @@ export default {
 			wn_show:false,
 			defaultActive:"0-0",
 			isShowWn:true,
+			isTz:false,
+			direction: 'rtl',
+			corpMessage:{},//企业套餐信息
 		};
 	},
 	created() {
-		this.returnRoutersArr('ranking');
 		this.routers=[
+			{name:'首页',children:this.returnRoutersArr('home'),icon:'icon-xuanzhong_shouye'},
+			{name:'A/B分',children:this.returnRoutersArr('abPoint'),icon:'icon-PC_gongzuotai_ABfen'},
 			{name:'设置',children:this.returnRoutersArr('set'),icon:'icon-dingdingPC_shezhi'},
 			{name:'统计',children:this.returnRoutersArr('ranking'),icon:'icon-dingdingPC_tongji'},
 			];
 		this.routers_one=this.returnRoutersArr('set');
 		this.userData=this.$getUserData();
-		if(this.$route.path!='/framework'){//当刷新页面是控制左边导航栏的选中
+		if(this.$route.path!='/home'){//当刷新页面是控制左边导航栏的选中
 			this.defaultActive=localStorage.getItem("path");
 		}
 	},
 	mounted() {
 		this.getTypes();
 		this.getInfo();
+		var url = window.location.href;
+		var str = this.GetRequest(url).corpId || '123';
+		var corpId = str.split('#')[0];
+		if (corpId) {
+			this.getCorp(corpId);
+		}
 		this.$nextTick(function() {
 			if (localStorage.getItem('wn_show')) {
 				this.wn_show = false;
@@ -117,13 +140,42 @@ export default {
 		});
 	},
 	methods: {
+		GetRequest(urlStr) {
+			if (typeof urlStr == 'undefined') {
+				var url = decodeURI(location.search); //获取url中"?"符后的字符串
+			} else {
+				var url = '?' + urlStr.split('?')[1];
+			}
+			var theRequest = new Object();
+			var strs;
+			if (url.indexOf('?') != -1) {
+				var str = url.substr(1);
+				strs = str.split('&');
+				for (var i = 0; i < strs.length; i++) {
+					theRequest[strs[i].split('=')[0]] = decodeURI(strs[i].split('=')[1]);
+				}
+			}
+			return theRequest;
+		},
+		//获取套餐信息
+		getCorp(corpId) {	
+		    this.$axios('get',"api/order/corp", {corp_id:corpId}).then((res) => {
+		      this.corpMessage = res.data.data;
+		    })
+		},
+		getSku(){
+			var that = this;
+			this.$axios('get','api/order/goods/sku',{callback: "https://test-ding.g107.com/#/index", goods_code: 'DD_GOODS-610003' }).then(res => {
+			
+			});
+		},
 		//当刷新页面是控制左边导航栏的选中
 		activeRouter(index,indexPath){
+			// console.log(index,indexPath)
 			localStorage.setItem("path",indexPath[1]);
 		},
 		returnRoutersArr(str){
 			var routers = this.$router.options.routes[0].children;
-			// console.log(this.$router.options.routes);
 			var routersArr=[];
 			routers.forEach(item=>{
 				if(item.meta.groupCode==str){
@@ -136,11 +188,11 @@ export default {
 			return str+"-"+str2;
 		},
 		openView(e){
-			this.defaultActive="0-"+(e).toString();
-			localStorage.setItem("path",this.defaultActive);
 			this.wn_show=false;
 			this.isShowWn=false;
 			this.$router.push({path:this.routers_one[e].path})
+			this.defaultActive="1-"+(e).toString();
+			localStorage.setItem("path",this.defaultActive);
 		},
 		showWn(){
 			this.wn_show=true;

+ 3 - 3
src/main.js

@@ -16,9 +16,9 @@ import userImage from '@/components/UserImage'
 Vue.component('userImage', userImage)
 
 Vue.use(ElementUI);
-// if (process.env.NODE_ENV === 'development') {
-  // new VConsole()
-// }
+if (process.env.NODE_ENV === 'development') {
+  new VConsole()
+}
 
 Vue.prototype.$dd=dd;
 Vue.prototype.$getToken = getToken

+ 48 - 2
src/router/index.js

@@ -11,10 +11,28 @@ Vue.use(VueRouter)
 
 const routes = [{
 		path: '/index',
-		name: '页',
+		name: '初始页',
 		component: () => import('@/index'),
-		redirect: "framework",
+		redirect: "home",
 		children: [
+			{
+				path: '/home',
+				name: '首页',
+				component: () => import('@/home'),
+				meta: {
+					icon: 'icon-shezhi_zuzhijiagou',
+					groupCode:'home'
+				}
+			},
+			{
+				path: '/award_punish',
+				name: '我奖扣的',
+				component: () => import('@/views/abPoint/award_punish.vue'),
+				meta: {
+					icon: 'icon-shezhi_zuzhijiagou',
+					groupCode:'abPoint'
+				}
+			},
 			{
 				path: '/framework',
 				name: '组织架构',
@@ -106,6 +124,34 @@ const routes = [{
 					icon: 'icon-shezhi_jichushezhi',
 					groupCode:'ranking'
 				}
+			},
+			{
+				path: '/manager_statistics',
+				name: '管理者奖扣',
+				component: () => import('@/views/ranking/manager_statistics.vue'),
+				meta: {
+					icon: 'icon-shezhi_jichushezhi',
+					groupCode:'ranking'
+				}
+			},
+			
+			{
+				path: '/department_statistics',
+				name: '部门统计',
+				component: () => import('@/views/ranking/department_statistics.vue'),
+				meta: {
+					icon: 'icon-shezhi_jichushezhi',
+					groupCode:'ranking'
+				}
+			},
+			{
+				path: '/individual_statistics',
+				name: '个人统计',
+				component: () => import('@/views/ranking/individual_statistics.vue'),
+				meta: {
+					icon: 'icon-shezhi_jichushezhi',
+					groupCode:'ranking'
+				}
 			}
 		]
 	},

+ 8 - 0
src/views/abPoint/award_punish.vue

@@ -0,0 +1,8 @@
+<template>
+</template>
+
+<script>
+</script>
+
+<style>
+</style>

+ 24 - 0
src/views/ranking/department_statistics.vue

@@ -0,0 +1,24 @@
+<template>
+
+</template>
+
+<script>
+export default {
+	name:'department_statistics',
+	data() {
+		return {
+		};
+	},
+	watch: {},
+	mounted() {
+
+	},
+	methods: {
+
+	}
+};
+</script>
+
+<style scoped="scoped">
+
+</style>

+ 24 - 0
src/views/ranking/individual_statistics.vue

@@ -0,0 +1,24 @@
+<template>
+
+</template>
+
+<script>
+export default {
+	name:'individual_statistics',
+	data() {
+		return {
+		};
+	},
+	watch: {},
+	mounted() {
+
+	},
+	methods: {
+
+	}
+};
+</script>
+
+<style scoped="scoped">
+
+</style>

+ 5 - 5
src/views/ranking/integral_event.vue

@@ -33,7 +33,7 @@
 				  	placeholder="全公司"
 				  ></el-cascader>
 			  </el-form-item>
-			  <el-form-item label="时间">
+			  <el-form-item label="时间" style="margin-top: 1px;">
 				  <el-date-picker
 				  	v-model="time_slot"
 				  	type="daterange"
@@ -44,7 +44,7 @@
 				  	end-placeholder="结束日期"
 				  ></el-date-picker>
 			  </el-form-item>
-			  <el-form-item>
+			  <el-form-item style="margin-top: 2px;">
 				  <el-input size="medium" v-model="formData.keyword" placeholder="输入同事姓名" max="200" @keyup.enter.native="keyWordSelect" class="persons_name">
 				  	<el-button size="medium" slot="append" icon="el-icon-search" @click="keyWordSelect"></el-button>
 				  </el-input>
@@ -333,7 +333,7 @@ export default {
 			if (val.length !== 0) {
 				this.formData.dept_ids = val[val.length - 1];
 			} else {
-				this.formData.dept_ids == 0;
+				this.formData.dept_ids = 0;
 			}
 			this.$nextTick(() => {
 				this.$refs.dept.dropDownVisible = false;
@@ -360,7 +360,7 @@ export default {
 			this.get_integral_list(this.formData);
 		},
 		downloadTemplate() {
-			window.open('https://ding.insys.g107.com/file/integral.xlsx');
+			window.open(process.env.VUE_APP_BASE_API+'api/download/integral/template',);
 		},
 		uploadFile() {
 			let params = {};
@@ -510,7 +510,7 @@ export default {
 						if (res.data.code == 1) {
 							this.$message.success(res.data.msg);
 							this.detail_popup = false;
-							this.get_integral_list();
+							this.get_integral_list(this.formData);
 						} else {
 							this.$message.error(res.data.msg);
 						}

+ 24 - 0
src/views/ranking/manager_statistics.vue

@@ -0,0 +1,24 @@
+<template>
+
+</template>
+
+<script>
+export default {
+	name:'manager_statistics',
+	data() {
+		return {
+		};
+	},
+	watch: {},
+	mounted() {
+
+	},
+	methods: {
+
+	}
+};
+</script>
+
+<style scoped="scoped">
+
+</style>

+ 9 - 6
src/views/ranking/total_rank.vue

@@ -191,12 +191,15 @@ export default {
 			if (this.Dc_Data.rule_id.length > 0) {
 				data += '&rule_id=' + this.Dc_Data.rule_id;
 			}
-			var tempwindow = window.open('_blank'); // 先打开页面
-			tempwindow.document.write(
-			  "<p style='text-align:center;padding-top:50px;font-size:24px'>数据报表正在生成,生成后将自动下载,请不要关闭此标签页<br/><span style='font-size:17px'>(如网络错误请刷新后重试)<span/></p>"
-			);
-			tempwindow.document.title = '导出';
-			tempwindow.location = process.env.VUE_APP_BASE_API + '/api/download/ranking/v2?pt_id=3&type=all&employee_id='+this.$getUserData().id+ data; // 后更改页面地址
+			
+			window.open(process.env.VUE_APP_BASE_API + 'api/download/ranking/v2?pt_id=3&type=all&employee_id='+this.$getUserData().id+ data, '_blank');
+			// window.open(process.env.VUE_APP_BASE_API + 'api/download/ranking/v2?pt_id=3&type=all&employee_id=155'+ data, '_blank');
+			// var tempwindow = window.open('_blank'); // 先打开页面
+			// tempwindow.document.write(
+			//   "<p style='text-align:center;padding-top:50px;font-size:24px'>数据报表正在生成,生成后将自动下载,请不要关闭此标签页<br/><span style='font-size:17px'>(如网络错误请刷新后重试)<span/></p>"
+			// );
+			// tempwindow.document.title = '导出';
+			// tempwindow.location = process.env.VUE_APP_BASE_API + '/api/download/ranking/v2?pt_id=3&type=all&employee_id='+this.$getUserData().id+ data; // 后更改页面地址
 			this.dialogVisible = false;
 		},
 		// 提示信息

+ 19 - 2
src/views/set/check.vue

@@ -4,7 +4,14 @@
 	   <workpoints :initia_arr="initia_arr" v-if="!loading" :initia_head="initia_head" :obj="obj" @initia="initia" />
 	 </div>
 	 <div v-else class="all">
-		 <div class="nullD">请在对应企业的钉钉管理后台中开启<span class="blue">   [考勤打卡]</span>功能</div>
+		 <div class="nullD">请到钉钉考勤管理后台-<span class="blue"> 工作台 </span>-<span class="blue"> 考勤打卡 </span>-<span class="blue"> 考勤报表 </span>-<span class="blue">切换新版 </span>-开启新版考勤报表功能</div>
+		 <div class="text">如下图:</div>
+		 <div class="img1">
+			 <img src="@/assets/image/kq1.png">
+		 </div>
+		 <div class="img1">
+		 	<img src="@/assets/image/kq2.png">
+		 </div>
 	 </div>
  </div>	
 </template>
@@ -175,6 +182,16 @@ export default {
 <style scoped lang="scss">
 	.nullD{
 		text-align: center;
-		padding-top: 20%;
+		padding: 20px;
+		font-size: 18px;
+	}
+	.text{
+		padding: 30px;
+		font-size: 18px;
+		font-weight: 600;
+	}
+	.img1{
+		text-align: center;
+		margin-bottom: 20px;
 	}
 </style>

+ 23 - 8
src/views/set/framework.vue

@@ -47,9 +47,9 @@
 				</div>
 				<div class="terr-right border-right flex-1">
 					<div class="margin-bottom">
-						<el-button @click="participation()" :loading="enable_loading" size="medium" type="primary" style="margin-right: 10px;" v-show="selectIds.length > 0">参与积分管理</el-button>
-						<el-input placeholder="输入同事姓名" size="medium" style="width: 230px;" v-model="keywords">
-							<el-button slot="append" icon="el-icon-search" @click="getEmployee()"></el-button>
+						<el-button @click="participation()" :loading="enable_loading" size="medium" type="primary" style="margin-right: 10px;">批量启动积分管理</el-button>
+						<el-input placeholder="输入同事姓名" size="medium" style="width: 230px;"  v-model="keywords" clearable @input="searchUser()">
+							<!-- <el-button slot="append" icon="el-icon-search" @click="getEmployee()"></el-button> -->
 						</el-input>
 					</div>
 					<el-table :data="userList" @selection-change="handleSelectionChange" v-loading="tableToading">
@@ -79,13 +79,11 @@
 									v-model="visible">
 									<div class="el-popover2">
 										<div class="title">提示 <i class="el-icon-info" style="margin-left: 5px;"></i></div>
-										<div>员工在此启用积分管理后才能正常,管理员默认开启</div>
-										
+										<div style="margin-bottom: 10px;">在这里启用积分管理,即可进入系统</div>
 										<div class="flex-box">
 											<div class="flex-1"></div>
-											<el-button size="small" @click="visible=!visible">我知道了</el-button>
+											<el-button size="small" @click="visible_close()">我知道了</el-button>
 										</div>
-										
 									</div>
 									<div slot="reference" class="popover" @click="visible=!visible">启用积分管理</div>
 								  </el-popover>
@@ -187,6 +185,11 @@ export default {
 				});
 			});
 		},
+		//搜索
+		searchUser(){
+			this.page = 1;
+			this.getEmployee();
+		},
 		//是否开通
 		changeIs(e, id) {
 			var url = e == 1 ? '/api/employee/disable' : '/api/employee/enable';
@@ -203,6 +206,11 @@ export default {
 		},
 		//批量开通权限
 		participation() {
+			if(this.selectIds.length==0){
+				this.$message.error({ message: '请选择参与的人员!' });
+				return
+			}
+			
 			this.enable_loading=true;
 			this.$axios('post','/api/employee/enable', { employee_id: this.selectIds }).then(res => {
 				if (res) {
@@ -251,11 +259,18 @@ export default {
 			this.$axios('get','/api/employee/index', {dept_id: this.dept_id, keywords: this.keywords, page: this.page, page_size: this.perPage }).then(res => {
 				this.total = res.data.data.pageInfo.count;
 				this.userList = res.data.data.list;
-				this.visible=true;
+				var visible=localStorage.getItem('visible');
+				if(!visible){
+					this.visible=true;
+				}
 			}).finally(err=>{
 				this.tableToading=false;
 			});
 		},
+		visible_close(){
+			localStorage.setItem('visible', 'true');
+			this.visible = false;
+		},
 		//关闭提示
 		tips_close() {
 			localStorage.setItem('rule', 'true');

+ 70 - 10
src/views/set/jurisdiction.vue

@@ -22,19 +22,29 @@
 				</div>
 				<div class="terr-right border-right flex-1">
 					<div class="margin-bottom">
-						<div class="name">{{ item_info.name }}</div>
+						<div class="flex-box flex-v-ce">
+							<div class="name">{{ item_info.name }}</div>
+							<div class="flex-1"></div>
+							<el-button type="primary" size="medium" plain @click="open_right(item_info)">刷新</el-button>
+						</div>
 						<div class="user_text fontColorF" v-if="item_info.code == 'creator'">创始人即钉钉的【主管理员】,在钉钉管理后台设置后即可同步</div>
+						<div class="user_text fontColorF" v-if="item_info.code == 'ding_admin'">积分负责人即钉钉的负责人,在钉钉管理后台设置后即可同步</div>
 						<div class="user_text fontColorF" v-if="item_info.code == 'admin'">公司管理员即钉钉的【子管理员】,在钉钉管理后台设置后即可同步</div>
 						<div class="user_text fontColorF" v-if="item_info.code == 'point_manager'">积分专员一般为人事、行政等管理督办人员,可管理多个部门和人员</div>
 						<div class="user_text fontColorF" v-if="item_info.code == 'dept_manager'">部门管理员一般为部门/团队经理、主管、组长,可管理一部分人员</div>
 						<div class="user_text fontColorF" v-if="item_info.code == 'employee'">员工为默认角色,每个人都拥有员工角色的功能权限,该角色不可修改</div>
 					</div>
 					<div class="flex-box btns flex-v-ce margin-bottom">
-						<el-button size="small" v-show="item_info.code != 'creator' && table_list.length > 0 && item_info.code != 'admin'" @click="del_item" type="danger">删除</el-button>
-						<el-button size="small" v-show="item_info.code != 'creator'&&item_info.code != 'admin'" @click="add_item" type="primary">添加</el-button>
+						<el-button size="small" v-show="item_info.code != 'creator' && table_list.length > 0" @click="del_item" type="danger">删除</el-button>
+						<el-button size="small" v-show="item_info.code != 'creator'" @click="add_item" type="primary">添加</el-button>
 					</div>
-					<div v-if="item_info.code == 'creator'||item_info.code == 'employee'||item_info.code == 'admin'">
+					<div v-if="item_info.code == 'creator'||item_info.code == 'employee'||item_info.code == 'ding_admin'">
 						<el-table :data="table_list"  v-loading="table_loading" v-if="table_list.length > 0">
+							<el-table-column width="40" fixed  v-if="item_info.code == 'ding_admin'">
+								<template slot-scope="scope">
+									<el-radio v-model="radioVal" :label="scope.row.id"></el-radio>
+								</template>
+							</el-table-column>
 							<el-table-column prop="name" label="姓名">
 								<template slot-scope="scope">
 									<div class="flex-box flex-v-ce">
@@ -64,7 +74,7 @@
 									进入【<span class="blue">钉钉管理后台</span>】→【<span class="blue">工作台</span>】→【<span class="blue">功道云积分制</span>】→【<span class="blue">设置</span>】,修改可见范围为全部员工或从部分员工中选上主管理员
 								</div>
 							</template>
-							<div v-else>公司管理员即钉钉管理后台的子管理员,如需添加公司管理员,请到<span class="blue">钉钉管理后台</span>设置</div>
+							<div v-else>积分负责人即钉钉管理后台的管理员,积分负责人只有“创始人”可添加/删除,且只能有一位</div>
 						</div>
 					</div>
 
@@ -253,15 +263,26 @@
 		</div>
 		<el-dialog title="添加人员" :visible.sync="add_employee_show" :before-close="publicClose" width="700px" top="5vh">
 			<EmployeeSelector
-				v-if="add_employee_show"
+				v-if="add_employee_show&&item_info.code != 'ding_admin'"
 				ref="Employee"
 				:user_no_select="false"
 				:can_select_dept="false"
 				@confirm="add_employee_confirm"
 			></EmployeeSelector>
+			<EmployeeSelector
+				v-if="add_employee_show&&item_info.code == 'ding_admin'"
+				ref="Employee"
+				:multi="false"
+				:user_no_select="false"
+				:can_select_dept="false"
+				@confirm="add_employee_confirm"
+			></EmployeeSelector>
 			<span slot="footer">
 				<el-button @click="publicClose()">取消</el-button>
-				<el-button type="primary" :loading="setUser_loading"  @click="sub_add_employee">完成</el-button>
+				<!-- 积分负责人调用单次的添加接口 -->
+				<el-button type="primary" :loading="setUser_loading" v-if="item_info.code == 'ding_admin'"  @click="sub_add_employee2">完成</el-button>
+				<!-- 其他可批量 -->
+				<el-button type="primary" :loading="setUser_loading" v-else  @click="sub_add_employee">完成</el-button>
 			</span>
 		</el-dialog>
 		
@@ -272,7 +293,7 @@
 		  width="700px">
 		  <el-form label-width="160px" :model="integral_limit_form" ref="integral_limit_form" v-loading="integral_limit_loading">
 		    <span v-for="(item,index) in integral_limit_form.point_limit" :key="index" v-show="item.pt_id !== 1">
-		      <el-form-item :label="'(单次奖扣)'+item.name+'权限'" :rules="[{required: true, message: '请输入', trigger: 'blur'}]">
+		      <el-form-item :label="item.name+'权限(单次奖扣)'" :rules="[{required: true, message: '请输入', trigger: 'blur'}]">
 		        <el-input v-model="item.point" type="Number"></el-input>
 		      </el-form-item>
 		    </span>
@@ -445,11 +466,21 @@ export default {
 			  // ],
 			},
 			my_no_select:'',//设置人的ID
+			isStart:false,//是否是创始人或者积分负责人
 		};
 	},
 	components: { EmployeeSelector, noData },
 	created() {
 		this.get_role_list();
+		// 判断是否是创始人或者积分负责人
+		var userData=this.$getUserData();
+		if(userData){
+			  userData.employee_detail.role_list.forEach(item => {
+				  if (item.name == 'creator' || item.name == 'ding_admin') { 
+					 this.isStart = true;
+				  }
+			  });
+		}
 	},
 	mounted() {
 		if (localStorage.getItem('framework')) {
@@ -557,6 +588,32 @@ export default {
 		    this.integral_limit_loading = false
 		  })
 		},
+		// 添加积分负责人专属
+		sub_add_employee2(form) {
+			  var that=this;
+			   this.$refs.Employee.confirm();//调用组件的confirm();
+			   let data ={};
+			   if(that.employee_arr.length>0){
+				   data.role_id=this.item_info.id;
+				   data.employee_id=that.employee_arr[0]
+			   }else{
+				    this.$message.error('未选择人员');
+					return;
+				}	
+			 this.setUser_loading=true;
+			 this.$nextTick(()=>{
+				 this.$axios('post','/api/role/user/add',data).then((res) => {
+				   if (res.data.code == 1) {
+					 this.$message.success('已经添加成功,请稍后重新进来查看')
+					 this.add_employee_show= false
+					 this.open_right(this.item_info);
+				   }
+				 }).finally(() => {
+					this.setUser_loading = false;
+				 })
+			 }) 
+		},
+		// 其他角色添加人员
 		sub_add_employee(form) {
 			  var that=this;
 			   this.$refs.Employee.confirm();//调用组件的confirm();
@@ -573,8 +630,9 @@ export default {
 			 this.$nextTick(()=>{
 				 this.$axios('post','/api/role/user/many',data).then((res) => {
 				   if (res.data.code == 1) {
-					 this.$message.success('已经添加成功,请稍后刷新查看')
+					 this.$message.success('已经添加成功,请稍后重新进来查看')
 					 this.add_employee_show= false
+					 this.open_right(this.item_info);
 				   }
 				 }).finally(() => {
 					this.setUser_loading = false;
@@ -619,7 +677,9 @@ export default {
 						this.$message.success(res.data.msg);
 						this.get_table_list();
 					}
-				});
+				}).finally(()=>{
+					this.radioVal="";
+				})
 			});
 		},
 		add_item() {

+ 62 - 37
src/views/set/rule.vue

@@ -52,15 +52,17 @@
 			</div>
 		</div>
 		<!-- 编辑添加分类 -->
-		<el-dialog :title="class_type == 'add' ? '添加规则分类' : '编辑规则分类'" :visible.sync="class_show" :close-on-click-modal="false" width="500px">
+		<el-dialog :title="class_type == 'add' ? '添加规则分类' : '编辑规则分类'" :visible.sync="class_show" @close="add_dept_close('dept_formdata')" :close-on-click-modal="false" width="500px">
 			<el-form :model="dept_formdata" ref="dept_formdata" :rules="dept_formdata_rules" label-width="80px">
 				<el-form-item label="规则分类" prop="name"><el-input v-model="dept_formdata.name"></el-input></el-form-item>
 				<el-form-item label="上级分类">
 					<el-cascader
+						ref="dept"
 						v-model="dept_formdata.pid"
 						:options="rule_tree"
 						:props="{ checkStrictly: true, label: 'name', value: 'id', children: 'child' }"
 						clearable
+						filterable
 					></el-cascader>
 				</el-form-item>
 				<div class="flex-box">
@@ -86,11 +88,13 @@
 							v-show="rule_tree !== null && rule_tree.length == 0"
 						></div>
 						<el-cascader
+							ref="dept2"
 							placeholder="请选择分类"
 							v-model="rules_detail_form.rule_id"
-							@visible-change="select_rule"
 							:options="rule_tree"
 							:props="{ checkStrictly: true, label: 'name', value: 'id', children: 'child' }"
+							clearable
+							filterable
 						></el-cascader>
 					</div>
 				</el-form-item>
@@ -105,31 +109,23 @@
 					</el-radio-group>
 				</el-form-item>
 				<div class="flex-box flex-v-ce">
-					<el-form-item prop="min_point" class="select_width">
-						<el-input
-							placeholder="请输入分值"
-							v-model.number="rules_detail_form.min_point"
-							type="age" class="input-with-select"
-						>
+					<el-form-item prop="min_point2" class="select_width">
+						<el-input placeholder="请输入分值" v-model.number="rules_detail_form.min_point2" type="age" class="input-with-select">
 							<el-select v-model="integral_select_name1" slot="prepend" placeholder="请选择类型">
 								<el-option v-for="(item, index) in integral_select" :key="index" :label="item.name" :value="item.value"></el-option>
 							</el-select>
 						</el-input>
 					</el-form-item>
 					<div v-if="rules_detail_form.range_type == 2" style="position: relative;bottom: 10px;padding: 0 10px;">至</div>
-					<el-form-item prop="max_point" v-if="rules_detail_form.range_type == 2" class="form-right select_width">
-						<el-input
-							placeholder="请输入分值"
-							v-model.number="rules_detail_form.max_point"
-							type="age"	class="input-with-select"
-						>
+					<el-form-item prop="max_point2" v-if="rules_detail_form.range_type == 2" class="form-right select_width">
+						<el-input placeholder="请输入分值" v-model.number="rules_detail_form.max_point2" type="age" class="input-with-select">
 							<el-select v-model="integral_select_name2" slot="prepend" placeholder="请选择类型">
 								<el-option v-for="(item, index) in integral_select" :key="index" :label="item.name" :value="item.value"></el-option>
 							</el-select>
 						</el-input>
 					</el-form-item>
 				</div>
-<!-- 				<el-form-item prop="min_point">
+<!-- 			<el-form-item prop="min_point">
 					<el-row :gutter="20" class="select_width">
 						<el-col :span="11">
 							<el-input
@@ -211,8 +207,8 @@ import noData from '@/components/noData';
 export default {
 	data() {
 		return {
-			action:process.env.VUE_APP_BASE_API+'/api/rule/import',
-			downloadUrl:'https://ding.insys.g107.com/file/template.xlsx',
+			action:process.env.VUE_APP_BASE_API+'api/rule/import',
+			downloadUrl:process.env.VUE_APP_BASE_API+'api/download/rule_item',
 			ATOKEN: { 'A-TOKEN': this.$getToken(),'Accept':'application/vnd.test.v2+json' },
 			tips_show: true,
 			rule_loading: false,
@@ -260,8 +256,10 @@ export default {
 				rule_id: '',
 				range_type: '1',
 				prize_type: '0',
-				min_point: '',
-				max_point: '',
+				min_point: 0,
+				max_point: 0,
+				min_point2: 0,
+				max_point2: 0,
 				remark: '',
 				is_attendance: '0',
 				cycle_type: '1',
@@ -282,8 +280,8 @@ export default {
 						trigger: 'change'
 					}
 				],
-				min_point:[{ required: true, message: '分值不能为空'},{ pattern: /^[1-9]\d*$/, message: '分值必须为数字值'}],
-				max_point:[{ required: true, message: '分值不能为空'},{ pattern: /^[1-9]\d*$/, message: '分值必须为数字值'}],
+				// min_point2:[{ required: true, message: '分值不能为空'},{ pattern: /^[1-9]\d*$/, message: '分值必须为数字值'}],
+				// max_point2:[{ required: true, message: '分值不能为空'},{ pattern: /^[1-9]\d*$/, message: '分值必须为数字值'}],
 			},
 			integral_select_name1: '1',
 			integral_select_name2: '1',
@@ -320,6 +318,18 @@ export default {
 	components: {
 		noData
 	},
+	watch:{
+		'dept_formdata.pid'(val, old_val) {
+			this.$nextTick(()=>{
+				this.$refs.dept.dropDownVisible = false;
+			})
+		},		
+		'rules_detail_form.rule_id'(val, old_val) {
+			this.$nextTick(()=>{
+				this.$refs.dept2.dropDownVisible = false;
+			})
+		}
+	},
 	created() {
 		this.point_types = this.$getTyps().reverse()
 	},
@@ -418,6 +428,13 @@ export default {
 			let self = this;
 			self.$refs[form].validate(valid => {
 				if (valid) {
+					if(self.rules_detail_form.min_point2==0||!self.rules_detail_form.min_point2){
+						this.$message.error('请输入积分分值');
+						return
+					}
+					
+					self.rules_detail_form.min_point=self.rules_detail_form.min_point2;
+					self.rules_detail_form.max_point=self.rules_detail_form.max_point2;
 					if (self.integral_select_name1 != '1' && self.rules_detail_form.min_point >= 0) {
 						self.rules_detail_form.min_point = '-' + self.rules_detail_form.min_point;
 					}
@@ -427,6 +444,9 @@ export default {
 					if (self.rules_detail_form.range_type == 1) {
 						self.rules_detail_form.max_point = self.rules_detail_form.min_point;
 					}
+					if(Array.isArray(self.rules_detail_form.rule_id)){
+						self.rules_detail_form.rule_id=self.rules_detail_form.rule_id[self.rules_detail_form.rule_id.length-1];
+					}
 					if (parseFloat(self.rules_detail_form.min_point) > parseFloat(self.rules_detail_form.max_point)) {
 						this.$confirm(
 							'填写的规则积分是' +
@@ -499,6 +519,8 @@ export default {
 			let self = this;
 			self.$refs[form].validate(valid => {
 				if (valid) {
+					self.rules_detail_form.min_point=self.rules_detail_form.min_point2;
+					self.rules_detail_form.max_point=self.rules_detail_form.max_point2;
 					if (self.integral_select_name1 != '1' && self.rules_detail_form.min_point >= 0) {
 						self.rules_detail_form.min_point = '-' + self.rules_detail_form.min_point;
 					}
@@ -508,18 +530,17 @@ export default {
 					if (self.rules_detail_form.range_type == 1) {
 						self.rules_detail_form.max_point = self.rules_detail_form.min_point;
 					}
+					if(self.rules_detail_form.min_point==0||!self.rules_detail_form.min_point||self.rules_detail_form.max_point==0||!self.rules_detail_form.max_point){
+						this.$message.error('请输入积分分值');
+						return
+					}
+					if(Array.isArray(self.rules_detail_form.rule_id)){
+						self.rules_detail_form.rule_id=self.rules_detail_form.rule_id[self.rules_detail_form.rule_id.length-1];
+					}
 					if (parseFloat(self.rules_detail_form.min_point) > parseFloat(self.rules_detail_form.max_point)) {
 						this.$confirm(
-							'填写的规则积分是' +
-								self.rules_detail_form.min_point +
-								' ~ ' +
-								self.rules_detail_form.max_point +
-								',应该是 ' +
-								self.rules_detail_form.max_point +
-								' ~ ' +
-								self.rules_detail_form.min_point +
-								'吧?',
-							'提示',
+							'填写的规则积分是' +self.rules_detail_form.min_point +' ~ ' +self.rules_detail_form.max_point +',应该是 ' +self.rules_detail_form.max_point +
+								' ~ ' +self.rules_detail_form.min_point +'吧?','提示',
 							{
 								confirmButtonText: '确定',
 								cancelButtonText: '取消',
@@ -551,6 +572,7 @@ export default {
 					} else {
 						this.rule_loading2=true;
 						self.rules_detail_form.item_id = self.rules_detail_form.id;
+						
 						if (self.rules_detail_form.min_point == 0 && self.rules_detail_form.range_type == 1) {
 							self.$message.error('积分不能为零');
 							this.rule_loading2=false;
@@ -601,11 +623,6 @@ export default {
 			this.rule_show = false;
 			this.$refs[form].resetFields();
 		},
-		select_rule(val) {
-			if (!val) {
-				this.rules_detail_form.rule_id = this.rules_detail_form.rule_id[this.rules_detail_form.rule_id.length - 1];
-			}
-		},
 		not_data() {
 			this.$confirm('暂时没有积分分类,是否前往添加?', '提示', {
 				confirmButtonText: '确定',
@@ -625,6 +642,8 @@ export default {
 				prize_type: '0',
 				min_point: '',
 				max_point: '',
+				min_point2: '',
+				max_point2: '',
 				remark: '',
 				is_attendance: '0',
 				cycle_type: '1',
@@ -659,6 +678,10 @@ export default {
 
 		editDetails(val) {
 			this.rules_detail_form = JSON.parse(JSON.stringify(val));
+			
+			this.rules_detail_form.min_point2=this.rules_detail_form.min_point;
+			this.rules_detail_form.max_point2=this.rules_detail_form.max_point;
+			
 			if (this.rules_detail_form.min_point == this.rules_detail_form.max_point) {
 				this.rules_detail_form.range_type = '1';
 			} else {
@@ -669,6 +692,7 @@ export default {
 				this.integral_select_name1 = '2';
 				let str=this.rules_detail_form.min_point;
 				this.rules_detail_form.min_point=str.toString().substring(1);
+				this.rules_detail_form.min_point2=str.toString().substring(1);
 			} else {
 				this.integral_select_name1 = '1';
 			}
@@ -676,6 +700,7 @@ export default {
 				this.integral_select_name2 = '2';
 				let str=this.rules_detail_form.max_point;
 				this.rules_detail_form.max_point=str.toString().substring(1);
+				this.rules_detail_form.max_point2=str.toString().substring(1);
 			} else {
 				this.integral_select_name2 = '1';
 			}
@@ -838,7 +863,7 @@ export default {
 		//关闭弹窗
 		add_dept_close(form) {
 			this.class_show = false;
-			// this.$refs[form].resetFields();
+			this.$refs[form].resetFields();
 		},
 		//关闭提示
 		tips_close() {

+ 2 - 2
src/views/set/voluntarilyPoint.vue

@@ -645,8 +645,8 @@ export default {
 			this.rule_trees_load = true;
 			this.$axios('get','/api/integral/rule/trees', {cycle_type: '2'}).then(res => {
 					// this.is_attendance = this.rules_detail_form.is_attendance == '0' ? false : true;
-					var	rule_list = res.data.data.rule_tree;
-					var	item_list = res.data.data.item_list;
+					var	rule_list = res.data.data.rule_tree||[];
+					var	item_list = res.data.data.item_list||[];
 					var itemListAll=[];
 					for (let i in item_list) {
 					  for (let k in item_list[i]) {

Some files were not shown because too many files changed in this diff