瀏覽代碼

Merge branch 'dev'

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

+ 1 - 1
.ftp/ftp-sync.json

@@ -7,5 +7,5 @@
     "password": "gdy123456",
     "remotePath": "/home/tuser/qywxpc",
     "uploadOnSave": false,
-    "downloadOnOpen":false
+    "downloadOnOpen": false
 }

+ 3 - 3
src/components/user_image.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <el-image 
+    <el-image
       v-if="info.img_url"
       :src="info.img_url == defaultImg() ? replaceImg() : info.img_url"
       :style="{width: width, height: height}"
@@ -63,6 +63,7 @@
     // 数据
     data(){
       let info = this.$store.getters.employee_map[this.id] || {name:'',img_url: '',id:0}
+       console.log("q撒旦轻松的"+JSON.stringify(info))
       if(this.img_url != ''){
         info.img_url = this.img_url
       }
@@ -80,7 +81,6 @@
     methods:{
       set_info(){
         let info = this.$store.getters.employee_map[this.id] || {name:'',img_url: '',id:0}
-
         if(this.img_url != ''){
           info.img_url = this.img_url
         }
@@ -144,6 +144,6 @@
     line-height: 50px;
     text-align: center;
     background: #f1f1f1;
-  }	
+  }
   /deep/ .van-image{vertical-align: top;}
 </style>

+ 1 - 1
src/permission.js

@@ -50,7 +50,7 @@ router.beforeEach((to, from, next) => {
       if (whiteList.indexOf(to.path) !== -1 || window.location.href.indexOf('loginbytoken/') !== -1) { // 在免登录白名单,直接进入
         next()
       } else {
-        window.location.href = process.env.BASE_API //直接重新授权
+        // window.location.href = process.env.BASE_API //直接重新授权
       }
     }
   }

+ 6 - 7
src/utils/wx-auth-two.js

@@ -44,11 +44,10 @@ async function wxConfigByCorp(body, pushindex, next) {
   })
   const wxConfigParams = data.config
   const appSignature = data.agentConfig
-  console.log(wxConfigParams)
-  console.log(appSignature)
+  // console.log(wxConfigParams)
+  // console.log(appSignature)
   console.log('wxConfig开始')
-  console.log(Vue.prototype.$wx)
-  console.log(Vue.prototype.$wx.config)
+  // console.log(Vue.prototype.$wx)
   await Vue.prototype.$wx.config({ // 鉴权(企业的身份与权限)
     beta: true, // 必须这么写,否则wx.invoke调用形式的jsapi会有问题
     debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
@@ -120,7 +119,7 @@ async function wxConfigByCorp(body, pushindex, next) {
 
     } else {
       console.log('pc端')
-      console.log(appSignature)
+      // console.log(appSignature)
       Vue.prototype.$wx.agentConfig({ //鉴权(应用的身份与权限)
         corpid: appSignature.corpid, // 必填,企业微信的corpid,必须与当前登录的企业一致
         agentid: appSignature.agentid, // 必填,企业微信的应用id (e.g. 1000247)
@@ -130,8 +129,8 @@ async function wxConfigByCorp(body, pushindex, next) {
         jsApiList: ['selectExternalContact'], //必填
         success: function (res) { // 回调  //  wx.agentConfig成功回调后,WWOpenData 才会注入到 window 对象上面
           console.log('agentConfig成功')
-          console.log('回调')
-          console.log(res)
+          // console.log('回调')
+          // console.log(res)
           console.log('window.WWOpenData')
           console.log(window.WWOpenData)
           if (next) {

+ 0 - 8
src/views/common/applicationIntegrationPopup.vue

@@ -212,7 +212,6 @@
     },
     data() {
       return {
-
         pickerBeginDateBefore: {
           disabledDate(time) {
             return time.getTime() > Date.now();
@@ -554,7 +553,6 @@
       },
       // 初始化审核人
       initializesReviewer(list,index,bool){
-
         const superior = list || this.user_info.employee_detail.superior_list
         const num = index || 0
         const item = this.dialogData.items[num]
@@ -671,14 +669,8 @@
             rule_item_details: {range_type: ''}
           }]
           this.initializesReviewer(this.user_info.employee_detail.superior_list,0,true)
-          // console.log('关闭前')
           this.$emit('update:visible', false)
       },
-      // // 关闭弹窗
-      // closePopup(){
-      //   this.$emit('update:visible', false)
-      // }
-
     }
   }
 </script>

+ 331 - 358
src/views/integral/EmployeeTable.vue

@@ -1,12 +1,12 @@
 <template>
   <div>
-    <el-alert class="diy-tip"  title="温馨提示:" @close="tips_close" v-show="tips_show" type="success" description show-icon>
-		  当前组织架构成员通过微信通讯录同步,员工开启积分管理后才能正式启用并进入“功道云积分制”,如果您的微信通讯录有变动,点击
+    <el-alert class="diy-tip" title="温馨提示:" :closable="false"  type="success" description show-icon>
+      当前组织架构成员通过微信通讯录同步,员工开启积分管理后才能正式启用并进入“功道云积分制”,如果您的微信通讯录有变动,点击
       <span class="blue" style="margin-left: 10px;cursor: pointer;" @click="tb()" v-loading="tbLoading">
-					<i class="el-icon-refresh"></i>
-					立即同步
-				</span>
-		</el-alert>
+        <i class="el-icon-refresh"></i>
+        立即同步
+      </span>
+    </el-alert>
 
     <el-row class="architecture">
       <el-col :span="6" class="RuleLeft">
@@ -19,11 +19,11 @@
             <div ref="ruletree" class="department_box">
               <el-tree
                 node-key="id"
-                :expand-on-click-node= "false"
+                :expand-on-click-node="false"
                 :data="bmList"
                 class="cate-tree"
                 :highlight-current="true"
-                :props="{ children: 'children', label: 'name' , value: 'id'}"
+                :props="{ children: 'children', label: 'name', value: 'id' }"
                 @node-click="handleNodeClick"
                 :accordion="true"
                 empty-text="您暂无部门数据,请同步微信通讯录"
@@ -35,13 +35,8 @@
                   slot-scope="{ node, data }"
                   style="font-size: 14px;color: #606266; width:100%; text-align: left;"
                 >
-								  <img src="static/images/one.png" style="width: 20px;margin-right: 5px;" />
-                  <span class="name"
-                    ><WWOpenData
-                      type="departmentName"
-                      :openid="data.name"
-                    ></WWOpenData
-                  ></span>
+                  <img src="static/images/one.png" style="width: 20px;margin-right: 5px;" />
+                  <span class="name"><WWOpenData type="departmentName" :openid="data.name"></WWOpenData></span>
                 </div>
               </el-tree>
             </div>
@@ -49,46 +44,36 @@
         </div>
       </el-col>
       <el-col :span="18" class="RuleRight">
-				<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-input>
-        <div
-          style="color: #303133;font-size: 14px;padding:10px 0 0 0; line-height: 32px; overflow: hidden;"
-        >
-        </div>
+        <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-input>
+        <div style="color: #303133;font-size: 14px;padding:10px 0 0 0; line-height: 32px; overflow: hidden;"></div>
         <div class="list_box">
-          <div
-            style="margin-bottom:10px;margin-top:30px;"
-            class="inline-block-btn-list"
-          >
-            <div
-              class="gap-right-8 fr"
-              style="display:inline-block; width:180px;"
-            >
-            </div>
-          </div>
-					<el-table :data="userList" @selection-change="handleSelectionChange" v-loading="tableToading">
-						<el-table-column type="selection" width="50" :selectable="isSelectable"></el-table-column>
-						<el-table-column label="姓名">
-							<template slot-scope="scope">
-								<div class="flex-box flex-v-ce">
-									<userImage :user_name="scope.row.name" :img_url="scope.row.img_url" width="44px" height="44px"></userImage>
-									<div style="margin-left: 10px;"><WWOpenData type="userName" :openid="scope.row.name"></WWOpenData></div>
-								</div>
-							</template>
-						</el-table-column>
-						<el-table-column label="部门">
-							<template slot-scope="scope">
-								<div class="" style="">
-									<span v-for="(item, index) in scope.row.employee_detail.dept_list" :key="index">
-                    <div v-if="item.depart_id !== 1"><WWOpenData type="departmentName" :openid="item.depart_name"></WWOpenData><span v-if="(scope.row.employee_detail.dept_list.length-index)>1">,</span></div>
+          <div style="margin-bottom:10px;margin-top:30px;" class="inline-block-btn-list"><div class="gap-right-8 fr" style="display:inline-block; width:180px;"></div></div>
+          <el-table :data="userList" @selection-change="handleSelectionChange" v-loading="tableToading">
+            <el-table-column type="selection" width="50" :selectable="isSelectable"></el-table-column>
+            <el-table-column label="姓名">
+              <template slot-scope="scope">
+                <div class="flex-box flex-v-ce">
+                  <userImage :user_name="scope.row.name" :img_url="scope.row.img_url" width="44px" height="44px"></userImage>
+                  <div style="margin-left: 10px;"><WWOpenData type="userName" :openid="scope.row.name"></WWOpenData></div>
+                </div>
+              </template>
+            </el-table-column>
+            <el-table-column label="部门">
+              <template slot-scope="scope">
+                <div class="" style="">
+                  <span v-for="(item, index) in scope.row.employee_detail.dept_list" :key="index">
+                    <div v-if="item.depart_id !== 1">
+                      <WWOpenData type="departmentName" :openid="item.depart_name"></WWOpenData>
+                      <span v-if="scope.row.employee_detail.dept_list.length - index > 1">,</span>
+                    </div>
                   </span>
-								</div>
-							</template>
-						</el-table-column>
-						<el-table-column prop="accedence_time" label="入职时间">
-							<template slot-scope="scope">
-								<div class="tabaccTIme" v-loading="scope.row.entryIf">
+                </div>
+              </template>
+            </el-table-column>
+            <el-table-column prop="accedence_time" label="入职时间">
+              <template slot-scope="scope">
+                <div class="tabaccTIme" v-loading="scope.row.entryIf">
                   <el-date-picker
                     @change="entryclick(scope.row)"
                     clear-icon="el-icon-circle-close"
@@ -98,39 +83,36 @@
                     value-format="timestamp"
                     placeholder="选择日期时间"
                     :clearable="false"
-                    :picker-options="assistantOptions">
-                  </el-date-picker>
+                    :picker-options="assistantOptions"
+                  ></el-date-picker>
                 </div>
-							</template>
+              </template>
             </el-table-column>
-						<el-table-column label="启用积分管理">
-							<template slot="header" slot-scope="scope">
-								  <el-popover
-									placement="top-start"
-									width="300"
-									trigger="manual"
-									v-model="visible">
-									<div class="el-popover2">
-										<div class="title">提示 <i class="el-icon-info" style="margin-left: 5px;"></i></div>
-										<div style="margin-bottom: 10px;">在这里启用积分管理,即可进入系统</div>
-										<div class="flex-box">
-											<div class="flex-1"></div>
-											<el-button size="small" @click="visible_close()">我知道了</el-button>
-										</div>
-									</div>
-									<div slot="reference" class="popover" @click="visible=!visible">启用积分管理</div>
-								  </el-popover>
-							</template>
-							<template slot-scope="scope">
-								<div :class="[scope.row.is_official==1? 'switch-box':'']" @click="changeIs(scope.row.is_official, scope.row.id)">
-									<div class="switch"></div>
-								</div>
-							</template>
-						</el-table-column>
-						<template slot="empty">
-							<noData></noData>
-						</template>
-					</el-table>
+            <el-table-column label="启用积分管理">
+              <template slot="header" slot-scope="scope">
+                <el-popover placement="top-start" width="300" trigger="manual" v-model="visible">
+                  <div class="el-popover2">
+                    <div class="title">
+                      提示
+                      <i class="el-icon-info" style="margin-left: 5px;"></i>
+                    </div>
+                    <div style="margin-bottom: 10px;">在这里启用积分管理,即可进入系统</div>
+                    <div class="flex-box">
+                      <div class="flex-1"></div>
+                      <el-button size="small" @click="visible_close()">我知道了</el-button>
+                    </div>
+                  </div>
+                  <div slot="reference" class="popover" @click="visible = !visible">启用积分管理</div>
+                </el-popover>
+              </template>
+              <template slot-scope="scope">
+                <div :class="[scope.row.is_official == 1 ? 'switch-box' : '']" @click="changeIs(scope.row.is_official, scope.row.id)"><div class="switch"></div></div>
+              </template>
+            </el-table-column>
+            <template slot="empty">
+              <noData></noData>
+            </template>
+          </el-table>
           <el-pagination
             @size-change="handleSizeChange"
             @current-change="handleCurrentChange"
@@ -144,27 +126,21 @@
       </el-col>
     </el-row>
 
-		<el-dialog
-		title="设置是否参与排名"
-		:visible.sync="dialogVisible"
-		top="30vh"
-		width="520px"
-		:before-close="handleClose">
+    <el-dialog title="设置是否参与排名" :visible.sync="dialogVisible" top="30vh" width="520px" :before-close="handleClose">
       <div style="margin-left:20px;">
-        <el-radio v-for="(item,index) in radioLi" :key="index" v-model="radio" :label="item.id">
-          <span style="font-size:17px;">{{item.name}}</span>
-          <p style="font-size:14px;margin:8px 0 0 24px;">{{item.kam}}</p>
+        <el-radio v-for="(item, index) in radioLi" :key="index" v-model="radio" :label="item.id">
+          <span style="font-size:17px;">{{ item.name }}</span>
+          <p style="font-size:14px;margin:8px 0 0 24px;">{{ item.kam }}</p>
         </el-radio>
       </div>
       <span slot="footer" class="dialog-footer">
         <el-button @click="dialogVisible = false">取 消</el-button>
         <el-button type="primary" @click="setRanking" :disabled="rangLoad">确 定</el-button>
       </span>
-		</el-dialog>
+    </el-dialog>
   </div>
 </template>
 <script>
-
 import noData from '@/components/noData';
 import { _debounce } from '@/api/auth';
 export default {
@@ -176,39 +152,36 @@ export default {
     return {
       entryData: {
         userId: 0,
-        accedence_time: '',
+        accedence_time: ''
       },
-			is: 1,
-			no: 0,
-			page: 1,
-			perPage: 10,
-			total: 0,
-			info: {}, //公司信息
-			tips_show: true,
-			bmList: [],
-			userList: [],
-			class_type: '',
-			treedata: [1],
-			tableData: [],
-			keywords: '',
-			dept_id: 0,
+      is: 1,
+      no: 0,
+      page: 1,
+      perPage: 10,
+      total: 0,
+      info: {}, //公司信息
+      tips_show: true,
+      bmList: [],
+      userList: [],
+      class_type: '',
+      treedata: [1],
+      tableData: [],
+      keywords: '',
+      dept_id: 0,
+
+      tableToading: false,
+      tbLoading: false,
+      selectIds: [],
+      enable_loading: false,
+      visible: false,
+
+      ruleDeprt: false,
+      dialogVisible: false,
+      rankingtakePartInId: '',
+      radio: '1',
 
-			tableToading: false,
-			tbLoading: false,
-			selectIds: [],
-			enable_loading:false,
-			visible:false,
-			
-			ruleDeprt:false,
-			dialogVisible:false,
-			rankingtakePartInId:'',
-			radio: '1',
-			
-			rangLoad:false,
-			radioLi:[
-				{id:'1',name:'参与排名',kam:'在排名中展示此人'},
-				{id:'0',name:'不参与排名',kam:'排名不展示此人(自定义排名除外)'},
-      ],
+      rangLoad: false,
+      radioLi: [{ id: '1', name: '参与排名', kam: '在排名中展示此人' }, { id: '0', name: '不参与排名', kam: '排名不展示此人(自定义排名除外)' }],
       assistantOptions: {
         // disabledDate(time) {
         //   let date = new Date();
@@ -245,226 +218,237 @@ export default {
         //     }
         //   }
         // ]
-      },
+      }
     };
   },
-	watch: {
-		dept_id(val) {
-			this.getEmployee();
-    },
-	},
+  watch: {
+    dept_id(val) {
+      this.getEmployee();
+    }
+  },
   mounted() {
-		this.$nextTick(function() {
-			if (localStorage.getItem('rule')) {
-				this.tips_show = false;
-			} else {
-				this.tips_show = true;
-			}
-		});
+    this.$nextTick(function() {
+      if (localStorage.getItem('rule')) {
+        this.tips_show = false;
+      } else {
+        this.tips_show = true;
+      }
+    });
   },
   created() {
-		this.getInfo();
-		// this.getDepartment();
-		this.getEmployee();
+    this.getInfo();
+    // this.getDepartment();
+    this.getEmployee();
   },
-  
-	methods: {
-    entryclick(row){
-      console.log(row)
+
+  methods: {
+    entryclick(row) {
+      console.log(row);
       let data = {
         employee_id: row.id,
-        accedence_time: row.accedence_time/1000
-      }
-      row.entryIf = true
-      this.$http('post','/api/employee/accedence_time',data).then((res)=>{
-        if(res.data.code == 1){
-          
-        }
-      }).finally(()=>{
-        row.entryIf = false
-      })
+        accedence_time: row.accedence_time / 1000
+      };
+      row.entryIf = true;
+      this.$http('post', '/api/employee/accedence_time', data)
+        .then(res => {
+          if (res.data.code == 1) {
+          }
+        })
+        .finally(() => {
+          row.entryIf = false;
+        });
     },
-    entryTime(row){
-      console.log(row)
-      row.entryIf = true
+    entryTime(row) {
+      console.log(row);
+      row.entryIf = true;
     },
 
-		setRanking(){
-			this.rangLoad = true
-			let data = {
-				employee_id:this.rankingtakePartInId,
-				switch:Number(this.radio)
-			}
-			this.$http('post','/api/employee/ranking_switch',data).then((res)=>{
-				if(res.data.code == 1){
-					this.$message.success({ message: res.data.msg });
-					this.getEmployee()
-				}
-			}).finally(()=>{
-				this.dialogVisible = false
-				setTimeout(()=>{
-					this.rangLoad = false
-				},200)
-			})
-		},
-		rankingtakePartIn(id,is_ranking){
-			this.radio = is_ranking.toString()
-			this.rankingtakePartInId = id
-			this.dialogVisible = true
-		},
-		handleClose(done){
-			done()
-		},
-		//同步信息
-		tb() {
-      this.$http('get','/api/sync').then(res => {
-        if(res.data.code == 1){
+    setRanking() {
+      this.rangLoad = true;
+      let data = {
+        employee_id: this.rankingtakePartInId,
+        switch: Number(this.radio)
+      };
+      this.$http('post', '/api/employee/ranking_switch', data)
+        .then(res => {
+          if (res.data.code == 1) {
+            this.$message.success({ message: res.data.msg });
+            this.getEmployee();
+          }
+        })
+        .finally(() => {
+          this.dialogVisible = false;
+          setTimeout(() => {
+            this.rangLoad = false;
+          }, 200);
+        });
+    },
+    rankingtakePartIn(id, is_ranking) {
+      this.radio = is_ranking.toString();
+      this.rankingtakePartInId = id;
+      this.dialogVisible = true;
+    },
+    handleClose(done) {
+      done();
+    },
+    //同步信息
+    tb() {
+      this.$http('get', '/api/sync').then(res => {
+        if (res.data.code == 1) {
           this.$message.success({ message: '正在同步,请稍候刷新页面查看同步结果' });
-		      // this.getEmployee();
-		      // this.getInfo();
+          // this.getEmployee();
+          // this.getInfo();
         }
-      })
-			// this.$confirm('下次同步时间需在10分钟之后,是否同步?', '提示', {
-			//   confirmButtonText: '确定',
-			//   cancelButtonText: '取消',
-			//   type: 'warning'
-			// }).then(() => {
-			// 	this.tbLoading = true;
-			// 	this.$http('post','/api/ding/department_sync').then(res => {
-			// 		this.$message.success({ message: '同步成功' });
-			// 		this.dept_id=0;
-			// 		this.getInfo();
-			// 		this.getEmployee();
-			// 	}).finally(()=>{
-			// 		this.tbLoading = false;
-			// 	});
-			// });
-		},
-		//搜索
-		searchUser: _debounce(function() {
+      });
+      // this.$confirm('下次同步时间需在10分钟之后,是否同步?', '提示', {
+      //   confirmButtonText: '确定',
+      //   cancelButtonText: '取消',
+      //   type: 'warning'
+      // }).then(() => {
+      // 	this.tbLoading = true;
+      // 	this.$http('post','/api/ding/department_sync').then(res => {
+      // 		this.$message.success({ message: '同步成功' });
+      // 		this.dept_id=0;
+      // 		this.getInfo();
+      // 		this.getEmployee();
+      // 	}).finally(()=>{
+      // 		this.tbLoading = false;
+      // 	});
+      // });
+    },
+    //搜索
+    searchUser: _debounce(function() {
       this.page = 1;
       this.getEmployee();
     }),
-		//是否开通
-		changeIs(e, id) {
-			var url = e == 1 ? '/api/employee/disable' : '/api/employee/enable';
-			this.$http('post',url, { employee_id: [id] }).then(res => {
-				if (res) {
-					if(e==0){
-						this.$message.success({ message: '开启成功,可在"角色权限设置对应管理范围"' });
-					}else{
-						this.$message.success({ message: res.data.msg });
-					}
-					this.getEmployee();
-				}
-			});
-		},
-		//批量开通权限
-		participation() {
-			if(this.selectIds.length==0){
-				this.$message.error({ message: '请选择参与的人员!' });
-				return
-			}
-			
-			this.enable_loading=true;
-			this.$http('post','/api/employee/enable', { employee_id: this.selectIds }).then(res => {
-				if (res) {
-					this.$message.success({ message: '开启成功,可在"角色权限设置对应管理范围"' });
-					this.getEmployee();
-				}
-			}).finally(err=>{
-				this.enable_loading=false;
-			});
-		},
-		//获取公司信息
-		getInfo(is) {
-			this.ruleDeprt = true
-			// api/test?employee_id=155
-			this.$http('get','/api/site/info').then(res => {
-				this.info = res.data.data;
-				this.getDepartment(is);
-			});
-		},
-		//选择员工
-		handleSelectionChange(e) {
-			var arr = [];
-			for (var item in e) {
-				arr.push(e[item].id);
-			}
-			this.selectIds = arr;
-		},
+    //是否开通
+    changeIs(e, id) {
+      var url = e == 1 ? '/api/employee/disable' : '/api/employee/enable';
+      this.$http('post', url, { employee_id: [id] }).then(res => {
+        if (res) {
+          if (e == 0) {
+            this.$message.success({ message: '开启成功,可在"角色权限设置对应管理范围"' });
+          } else {
+            this.$message.success({ message: res.data.msg });
+          }
+          this.getEmployee();
+        }
+      });
+    },
+    //批量开通权限
+    participation() {
+      if (this.selectIds.length == 0) {
+        this.$message.error({ message: '请选择参与的人员!' });
+        return;
+      }
+
+      this.enable_loading = true;
+      this.$http('post', '/api/employee/enable', { employee_id: this.selectIds })
+        .then(res => {
+          if (res) {
+            this.$message.success({ message: '开启成功,可在"角色权限设置对应管理范围"' });
+            this.getEmployee();
+          }
+        })
+        .finally(err => {
+          this.enable_loading = false;
+        });
+    },
+    //获取公司信息
+    getInfo(is) {
+      this.ruleDeprt = true;
+      // api/test?employee_id=155
+      this.$http('get', '/api/site/info').then(res => {
+        this.info = res.data.data;
+        this.getDepartment(is);
+      });
+    },
+    //选择员工
+    handleSelectionChange(e) {
+      var arr = [];
+      for (var item in e) {
+        arr.push(e[item].id);
+      }
+      this.selectIds = arr;
+    },
     isSelectable: function(row, index) {
       return row.is_official != 1;
     },
-		//点击部门
-		handleNodeClick(e) {
-			this.page = 1;
-			this.dept_id = e.id;
-		},
-		//获取部门
-		getDepartment() {
-			this.ruleDeprt = true
-			this.$http('get','/api/department/tree').then(res => {
-				var list=[{
-					id:0,
-					name:this.info.name,
-					children:res.data.data.list
-				}]
-				this.bmList = list;
-			}).finally(()=>{
-				this.ruleDeprt = false
-			});
-		},
-		//获取员工
-		getEmployee() {
+    //点击部门
+    handleNodeClick(e) {
+      this.page = 1;
+      this.dept_id = e.id;
+    },
+    //获取部门
+    getDepartment() {
+      this.ruleDeprt = true;
+      this.$http('get', '/api/department/tree')
+        .then(res => {
+          var list = [
+            {
+              id: 0,
+              name: this.info.name,
+              children: res.data.data.list
+            }
+          ];
+          this.bmList = list;
+        })
+        .finally(() => {
+          this.ruleDeprt = false;
+        });
+    },
+    //获取员工
+    getEmployee() {
       this.tableToading = true;
       let params = {
         page: this.page,
         page_size: this.perPage,
         dept_id: this.dept_id,
         keywords: this.keywords
+      };
+      if (this.page == 0) {
+        params.page = this.page;
+      } else {
+        params.page = this.page - 1;
       }
-      if(this.page == 0) {
-        params.page = this.page
-      }else {
-        params.page = this.page - 1
-      }
-			this.$http('get','/api/employee/index', params).then(res => {
+      this.$http('get', '/api/employee/index', params)
+        .then(res => {  
         this.total = res.data.data.pageInfo.count;
-        let list = res.data.data.list
-        list.forEach((item)=>{
-          item.entryIf = false
-          item.accedence_time *= 1000
+          let list = res.data.data.list;
+          list.forEach(item => {
+            item.entryIf = false;
+            item.accedence_time *= 1000;
+          });
+          this.userList = list;
+          var visible = localStorage.getItem('visible');
+          if (!visible) {
+            this.visible = true;
+          }
         })
-        this.userList = list;
-				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');
-			this.tips_show = false;
-		},
-		handleSizeChange: function(val) {
-			this.perPage = val;
-			this.page = 1;
-			this.getEmployee();
-		},
-		//页码变更
-		handleCurrentChange: function(val) {
-			this.page = val;
-			this.getEmployee();
-		}
-	}
+        .finally(err => {
+          this.tableToading = false;
+        });
+    },
+    visible_close() {
+      localStorage.setItem('visible', 'true');
+      this.visible = false;
+    },
+    //关闭提示
+    tips_close() {
+      localStorage.setItem('rule', 'true');
+      this.tips_show = false;
+    },
+    handleSizeChange: function(val) {
+      this.perPage = val;
+      this.page = 1;
+      this.getEmployee();
+    },
+    //页码变更
+    handleCurrentChange: function(val) {
+      this.page = val;
+      this.getEmployee();
+    }
+  }
 };
 </script>
 <style lang="scss" scoped>
@@ -617,7 +601,7 @@ el-tooltip {
 .architecture .RuleLeft .company_name {
   position: relative;
   display: block;
-  font-family: "Microsoft YaHei";
+  font-family: 'Microsoft YaHei';
   text-align: left;
   padding: 15px 28px 17px;
   cursor: pointer;
@@ -652,7 +636,7 @@ el-tooltip {
   text-overflow: ellipsis;
 }
 .architecture .RuleRight:after {
-  content: " ";
+  content: ' ';
   position: absolute;
   top: 0;
   left: 0;
@@ -665,7 +649,7 @@ el-tooltip {
   background: #fff;
 }
 .architecture .RuleRight .list_box /deep/ table {
-  font-family: "Microsoft YaHei";
+  font-family: 'Microsoft YaHei';
   width: 100% !important;
   /*max-width:1920px; */
 }
@@ -686,11 +670,7 @@ el-tooltip {
   font-size: 16px;
   padding: 6px 8px;
 }
-.architecture
-  .department_box
-  /deep/
-  .el-tree-node
-  .el-icon-caret-right.is-leaf {
+.architecture .department_box /deep/ .el-tree-node .el-icon-caret-right.is-leaf {
   color: transparent;
   cursor: default;
 }
@@ -728,52 +708,45 @@ el-tooltip {
   }
 }
 
-
-.switch{
-    margin: 0;
-    display: inline-block;
-    position: relative;
-    width: 40px;
-    height: 20px;
-    border: 1px solid #dcdfe6;
-    outline: none;
-    border-radius: 10px;
-    box-sizing: border-box;
-    background: #dcdfe6;
-    cursor: pointer;
-    transition: border-color .3s,background-color .3s;
-    vertical-align: middle;
+.switch {
+  margin: 0;
+  display: inline-block;
+  position: relative;
+  width: 40px;   height: 20px;
+  border: 1px solid #dcdfe6;
+  outline: none;   border-radius: 10px;
+  box-sizing: border-box;
+  background: #dcdfe6;   cursor: pointer;
+  transition: border-color 0.3s, background-color 0.3s;
+  vertical-align: middle;
 }
 .switch:after {
-    content: "";
-    position: absolute;
-    top: 1px;
-    left: 1px;
-    border-radius: 100%;
-    transition: all .3s;
-    width: 16px;
-    height: 16px;
-    background-color: #fff;
+  content: '';
+  position: absolute;
+  top: 1px;
+  left: 1px;   border-radius: 100%;
+  transition: all 0.3s;
+  width: 16px;
+  height: 16px;   background-color: #fff;
 }
 .switch-box .switch {
-    border-color: #409eff;
-    background-color: #409eff;
+  border-color: #409eff;
+  background-color: #409eff;
 }
-.switch-box .switch:after {
-    left: 100%;
-    margin-left: -17px;
+.switch-box .switch:after {   left: 100%;
+  margin-left: -17px;
 }
 
-/deep/ .tabaccTIme{
+/deep/ .tabaccTIme {
   width: 100px;
-  .el-input__inner{
+  .el-input__inner {
     border: 0;
     background-color: transparent;
     cursor: pointer;
     padding: 0;
     width: 100px;
   }
-  .el-input__prefix{
+  .el-input__prefix {
     display: none;
   }
 }

+ 4 - 3
src/views/integral/rule/rule_category.vue

@@ -919,10 +919,11 @@
       },
       get_point_types() {
         let self = this
-        for (let i in this.$store.getters.point_types) {
-          self.types_list[this.$store.getters.point_types[i].id] = this.$store.getters.point_types[i].name
+		let list=JSON.parse(localStorage.getItem('SET_POINT_TYPES'));
+        for (let i in list) {
+          self.types_list[list[i].id] = list[i].name
         }
-        self.point_types = this.$store.getters.point_types
+        self.point_types = list
       },
 
       add_class() {

+ 1 - 1
src/views/login/index3.vue

@@ -55,7 +55,7 @@ export default {
       this.detalext(1)
     }else{
       console.log('无Token')
-      window.location.href = process.env.BASE_API;//重新授权
+      // window.location.href = process.env.BASE_API;//重新授权
     }
   },
   mounted() {},

+ 0 - 2
src/views/setting/integral_rule.vue

@@ -108,7 +108,6 @@
               <span style="display:block;margin-top:6px">规则表</span>
             </div>
             <el-button type="primary" style="margin-top:10px;">下载模版</el-button>
-
         </div>
         <div style="display:block;flex:1;" class="export_list">
             <span style="display:block;">2、上传填好的规则表</span>
@@ -140,7 +139,6 @@
               <span style="display:block;margin-top:6px">规则表</span>
             </div>
             <el-button type="primary" style="margin-top:10px;">导出</el-button>
-
         </div>
         <div style="display:block;flex:1;" class="export_list">
             <span style="display:block;">2、上传修改好的规则表</span>

+ 1142 - 1051
src/views/setting/set_role.vue

@@ -4,14 +4,14 @@
       <p>功道云积分系统共有5种角色,不同角色拥有不同的权限</p>
     </el-alert>
     <el-row :gutter="0" class="set_role_div">
-      <el-tabs v-model="activeName" type="card"  style="width:100%;padding:10px 0 0 10px">
+      <el-tabs v-model="activeName" type="card" style="width:100%;padding:10px 0 0 10px">
         <el-tab-pane label="角色" name="first">
           <el-row :gutter="0" class="set_role_div" v-loading="role_loading">
             <el-col :span="5">
               <el-menu default-active="0" class="el-menu-vertical-demo" style="border: none">
-                <el-menu-item :index="index.toString()" v-for="(item,index) in role_list" :key="index" @click="open_right(item)" >
+                <el-menu-item :index="index.toString()" v-for="(item, index) in role_list" :key="index" @click="open_right(item)">
                   <i class="el-icon-s-custom"></i>
-                  <span slot="title">{{item.name}}</span>
+                  <span slot="title">{{ item.name }}</span>
                 </el-menu-item>
               </el-menu>
             </el-col>
@@ -19,106 +19,103 @@
               <div style="padding-left: 30px;padding-right: 30px;" v-loading="table_loading">
                 <el-row style="margin:43px auto 10px;">
                   <el-col :span="18">
-                    <span class="roleNameClass" >{{item_info.name}}</span>
+                    <span class="roleNameClass">{{ item_info.name }}</span>
                   </el-col>
                   <el-col :span="6" style="text-align: right;">
                     <el-button type="text" style=" padding: 0; line-height: initial;" v-show="item_info.code !== 'creator'" @click="dataAccessPopup">数据查看权限></el-button>
                   </el-col>
                 </el-row>
-               <el-row :gutter="60" style="margin-bottom: 20px;">
-                  <el-col v-if="item_info.code == 'creator'" :span="24"><span class="roleTipClass" >创始人为默认角色,拥有所有功能权限,该角色不可改</span></el-col>
-                  <el-col v-if="item_info.code == 'admin'" :span="24"><span class="roleTipClass" >公司管理员一般为合伙人、股东等高级管理人员,可管理多个部门和人员</span></el-col>
-                  <el-col v-if="item_info.code == 'point_manager'" :span="24"><span class="roleTipClass" >积分专员一般为人事、行政等管理督办人员,可管理多个部门和人员</span></el-col>
-                  <el-col v-if="item_info.code == 'dept_manager'" :span="24"><span class="roleTipClass" >部门管理员一般为部门/团队经理、主管、组长,可管理一部分人员</span></el-col>
-                  <el-col v-if="item_info.code == 'employee'" :span="24"><span class="roleTipClass" >员工为默认角色,每个人都拥有员工角色的功能权限,该角色不可修改</span></el-col>
+                <el-row :gutter="60" style="margin-bottom: 20px;">
+                  <el-col v-if="item_info.code == 'creator'" :span="24"><span class="roleTipClass">创始人为默认角色,拥有所有功能权限,该角色不可改</span></el-col>
+                  <el-col v-if="item_info.code == 'admin'" :span="24"><span class="roleTipClass">公司管理员一般为合伙人、股东等高级管理人员,可管理多个部门和人员</span></el-col>
+                  <el-col v-if="item_info.code == 'point_manager'" :span="24">
+                    <span class="roleTipClass">积分专员一般为人事、行政等管理督办人员,可管理多个部门和人员</span>
+                  </el-col>
+                  <el-col v-if="item_info.code == 'dept_manager'" :span="24"><span class="roleTipClass">部门管理员一般为部门/团队经理、主管、组长,可管理一部分人员</span></el-col>
+                  <el-col v-if="item_info.code == 'employee'" :span="24"><span class="roleTipClass">员工为默认角色,每个人都拥有员工角色的功能权限,该角色不可修改</span></el-col>
                 </el-row>
                 <el-row :gutter="60" style="margin-bottom: 22px;" v-show="item_info.code !== 'employee'">
-
-
                   <el-col :span="24">
-                     <template v-if="isStart && item_info.code == 'creator'">
-                        <el-button type="danger" @click="del_creator" v-show="table_list.length >0">删除</el-button>
-                        <el-button type="primary" @click="dialogFormVisible = true">添加</el-button>
-                      </template>
-                      <template v-if="item_info.code != 'creator'&&item_info.code != 'dept_manager'">
-                        <el-button type="danger" @click="del_btn" v-show="table_list.length != 0">删除</el-button>
-                        <el-button type="primary" @click="add_employee_show = true">添加</el-button>
-                      </template>
+                    <template v-if="isStart && item_info.code == 'creator'">
+                      <el-button type="danger" @click="del_creator" v-show="table_list.length > 0">删除</el-button>
+                      <el-button type="primary" @click="dialogFormVisible = true">添加</el-button>
+                    </template>
+                    <template v-if="item_info.code != 'creator' && item_info.code != 'employee'">
+                      <el-button type="danger" @click="del_btn" v-show="table_list.length > 0">删除</el-button>
+                      <el-button type="primary" @click="add_employee_show = true">添加</el-button>
+                    </template>
 
-<!--                      <el-button type="danger" @click="del_btn" v-show="table_list != null && table_list.length != 0">删除</el-button>
-                      <el-button type="primary" @click="add_employee_show = true">添加</el-button> -->
-
-                      <div class="gap-right-8 fr" style="display:inline-block; width:180px;" v-if="item_info.code == 'dept_manager'">
-                        <el-input
-                          placeholder="搜索员工姓名"
-                          ref="search-bar"
-                          v-model="keyword"
-                          class="input-with-select"
-                          @keyup.enter.native="onFilterChanged"
-                        >
-                          <el-button slot="append" icon="el-icon-search" @click="onFilterChanged"></el-button>
-                        </el-input>
-                      </div>
+                    <div class="gap-right-8 fr" style="display:inline-block; width:180px;" v-if="item_info.code == 'dept_manager'">
+                      <el-input placeholder="搜索员工姓名" ref="search-bar" v-model="keyword" class="input-with-select" @keyup.enter.native="onFilterChanged">
+                        <el-button slot="append" icon="el-icon-search" @click="onFilterChanged"></el-button>
+                      </el-input>
+                    </div>
                   </el-col>
-
                 </el-row>
                 <el-row>
                   <el-col :span="24">
-                  <el-table :data="table_list" v-show="item_info.code == 'creator'">
-                     <el-table-column width="55" fixed v-if="table_list.length > 0 && isStart">
-                      	<template slot-scope="scope">
-                      		<el-radio class="el-radios" v-model="radio" :label="scope.row.id"></el-radio>
-                      	</template>
+                    <!-- 创始人 -->
+                    <el-table :data="table_list" v-show="item_info.code == 'creator'">
+                      <el-table-column width="55" fixed v-if="table_list.length > 0 && isStart">
+                        <template slot-scope="scope">
+                          <el-radio class="el-radios" v-model="radio" :label="scope.row.id"></el-radio>
+                        </template>
                       </el-table-column>
                       <el-table-column prop="name" label="姓名" min-width="200">
                         <template slot-scope="scope">
-                          <userImage class="fl" width="50px" height="50px" :id="scope.row.id" :user_name="scope.row.name"></userImage>
+                          <userImage class="fl" width="50px" height="50px" :id="scope.row.id" :user_name="scope.row.name" :img_url="scope.row.img_url"></userImage>
                           <span style="margin-left: 10px; line-height: 50px;"><WWOpenData type="userName" :openid="scope.row.name"></WWOpenData></span>
                         </template>
                       </el-table-column>
                     </el-table>
-
-                   <el-row :gutter="30" justify="center" v-show="table_list.length == 0 && item_info.code !== 'creator' && item_info.code !== 'employee'">
-                      <el-col :span="24" style="text-align: center;">
-                        <p><img src="static/images/nodata_default.png" width="200px"></p>
-                        还没有{{item_info.name}},<span style="color:#26A2FF;" @click="add_employee_show = true">去添加>></span>
-                      </el-col>
-                    </el-row>
-
-                   <el-table :data="table_list" class="tableListClass" fit v-show="item_info.code !== 'creator' && item_info.code !== 'employee' && table_list !== null && table_list.length !== 0" @selection-change="handleSelectionChange">
+                    <!-- 管理者 -->
+                    <el-table
+                      :data="table_list"
+                      class="tableListClass"
+                      fit
+                      v-show="item_info.code !== 'creator' && item_info.code !== 'employee' && table_list.length !== 0"
+                      @selection-change="handleSelectionChange"
+                    >
                       <el-table-column width="55" fixed>
-                        <template slot-scope="scope"><el-radio v-model="radio" :label="scope.row.id"></el-radio></template>
+                        <template slot-scope="scope">
+                          <el-radio v-model="radio" :label="scope.row.id"></el-radio>
+                        </template>
                       </el-table-column>
                       <el-table-column prop="name" label="姓名" width="170" fixed>
                         <template slot-scope="scope">
-                          <userImage class="fl" width="50px" height="50px" :id="scope.row.id" :user_name="scope.row.name"></userImage>
+                          <userImage class="fl" width="50px" height="50px" :id="scope.row.id" :user_name="scope.row.name" :img_url="scope.row.img_url"></userImage>
                           <span style="margin-left: 10px; line-height: 50px;"><WWOpenData type="userName" :openid="scope.row.name"></WWOpenData></span>
                         </template>
                       </el-table-column>
-                      <el-table-column  v-if="item_info.code == 'dept_manager'" prop="dept" label="部门">
-                      </el-table-column>
-                      <el-table-column width="130px"  v-if="item_info.code == 'dept_manager'" prop="jurisdiction_dept" label="管辖部门">
-                      </el-table-column>
-                      <el-table-column v-else prop="dept" label="部门">
-                      </el-table-column>
+                      <el-table-column v-if="item_info.code == 'dept_manager'" prop="dept" label="部门"></el-table-column>
+                      <el-table-column width="130px" v-if="item_info.code == 'dept_manager'" prop="jurisdiction_dept" label="管辖部门"></el-table-column>
+                      <el-table-column v-else prop="dept" label="部门"></el-table-column>
                       <el-table-column width="100px">
                         <template slot="header" slot-scope="scope">
                           <span>管理范围</span>
                           <el-tooltip placement="top">
-                            <div slot="content">可自由分配每个管理者的管辖范围,设置后对管辖范围内的人员有分配任务,发绩效,奖扣积分、查看积分排名和统计、审核其提交上来的申请等权限</div>
+                            <div slot="content">
+                              可自由分配每个管理者的管辖范围,设置后对管辖范围内的人员有分配任务,发绩效,奖扣积分、查看积分排名和统计、审核其提交上来的申请等权限
+                            </div>
                             <span class="tips">?</span>
                           </el-tooltip>
                         </template>
                         <template slot-scope="scope">
-                          <div @click="add_management_scope(scope.row)" v-show="scope.row.manage_scope_count == 0" class="cursor_pointer" style="text-decoration:underline">去设置</div>
-                          <div @click="add_management_scope(scope.row)" v-show="scope.row.manage_scope_count != 0" class="cursor_pointer">{{scope.row.manage_scope_count}}人</div>
+                          <div @click="add_management_scope(scope.row)" v-show="scope.row.manage_scope_count == 0" class="cursor_pointer" style="text-decoration:underline">
+                            去设置
+                          </div>
+                          <div @click="add_management_scope(scope.row)" v-show="scope.row.manage_scope_count != 0" class="cursor_pointer">{{ scope.row.manage_scope_count }}人</div>
                         </template>
                       </el-table-column>
                       <el-table-column>
                         <template slot="header" slot-scope="scope">
                           <span>积分权限</span>
                           <el-tooltip placement="top">
-                            <div slot="content">针对不同的管理岗位,可赋予每个管理者不同的奖扣积分权限<br>积分权限不足的须递交给其上级审核</div>
+                            <div slot="content">
+                              针对不同的管理岗位,可赋予每个管理者不同的奖扣积分权限
+                              <br />
+                              积分权限不足的须递交给其上级审核
+                            </div>
                             <span class="tips">?</span>
                           </el-tooltip>
                         </template>
@@ -129,7 +126,7 @@
                           </template>
                           <template slot-scope="scope">
                             <div @click="open_integral_limit(scope.row)" v-show="scope.row.point_limit_obj.AF == 0" class="cursor_pointer">0</div>
-                            <div @click="open_integral_limit(scope.row)" v-show="scope.row.point_limit_obj.AF != 0" class="cursor_pointer">{{scope.row.point_limit_obj.AF}}</div>
+                            <div @click="open_integral_limit(scope.row)" v-show="scope.row.point_limit_obj.AF != 0" class="cursor_pointer">{{ scope.row.point_limit_obj.AF }}</div>
                           </template>
                         </el-table-column>
                         <el-table-column width="100px">
@@ -138,8 +135,8 @@
                             <i class="el-icon-edit" @click="setPower('bAll')"></i>
                           </template>
                           <template slot-scope="scope">
-                          <div @click="open_integral_limit(scope.row)" v-show="scope.row.point_limit_obj.BF == 0" class="cursor_pointer">0</div>
-                            <div @click="open_integral_limit(scope.row)" v-show="scope.row.point_limit_obj.BF != 0" class="cursor_pointer">{{scope.row.point_limit_obj.BF}}</div>
+                            <div @click="open_integral_limit(scope.row)" v-show="scope.row.point_limit_obj.BF == 0" class="cursor_pointer">0</div>
+                            <div @click="open_integral_limit(scope.row)" v-show="scope.row.point_limit_obj.BF != 0" class="cursor_pointer">{{ scope.row.point_limit_obj.BF }}</div>
                           </template>
                         </el-table-column>
                         <el-table-column width="100px">
@@ -148,7 +145,7 @@
                             <i class="el-icon-edit" @click="setPower('bonuAll')"></i>
                           </template>
                           <template slot-scope="scope">
-                            <div @click="open_integral_limit(scope.row)" v-show="scope.row.entry_limit > 0" class="cursor_pointer">{{scope.row.entry_limit}}</div>
+                            <div @click="open_integral_limit(scope.row)" v-show="scope.row.entry_limit > 0" class="cursor_pointer">{{ scope.row.entry_limit }}</div>
                             <div @click="open_integral_limit(scope.row)" v-show="scope.row.entry_limit === '' || scope.row.entry_limit === 0">不限制</div>
                           </template>
                         </el-table-column>
@@ -157,7 +154,9 @@
                         <template slot="header" slot-scope="scope">
                           <span>奖扣目标</span>
                           <el-tooltip placement="top">
-                            <div slot="content">积分是否能落地,奖扣分的执行最为关键。赋予一定的人员奖扣分任务,比如经理,主管,积分专员,行政人事等,更利于整个积分制管理的落地和实施。</div>
+                            <div slot="content">
+                              积分是否能落地,奖扣分的执行最为关键。赋予一定的人员奖扣分任务,比如经理,主管,积分专员,行政人事等,更利于整个积分制管理的落地和实施。
+                            </div>
                             <span class="tips">?</span>
                           </el-tooltip>
                         </template>
@@ -168,8 +167,18 @@
                           </template>
                           <template slot-scope="scope">
                             <span @click="open_bonus_deducted(scope.row)">
-                              <div v-for="(item,index) in scope.row.reward_task_monthly" :key="index" v-show="item.name == 'B分' && item.point != 0" class="cursor_pointer">{{item.point}}</div>
-                              <div v-for="(item,index) in scope.row.reward_task_monthly" :key="index+':'" v-show="item.name == 'B分' && item.point == 0" class="cursor_pointer" style="text-decoration:underline">未设置</div>
+                              <div v-for="(item, index) in scope.row.reward_task_monthly" :key="index" v-show="item.name == 'B分' && item.point != 0" class="cursor_pointer">
+                                {{ item.point }}
+                              </div>
+                              <div
+                                v-for="(item, index) in scope.row.reward_task_monthly"
+                                :key="index + ':'"
+                                v-show="item.name == 'B分' && item.point == 0"
+                                class="cursor_pointer"
+                                style="text-decoration:underline"
+                              >
+                                未设置
+                              </div>
                             </span>
                           </template>
                         </el-table-column>
@@ -180,8 +189,18 @@
                           </template>
                           <template slot-scope="scope">
                             <span @click="open_bonus_deducted(scope.row)">
-                              <div v-for="(item,index) in scope.row.deduct_task_monthly" :key="index" v-show="item.name == 'B分' && item.point != 0" class="cursor_pointer">{{item.point}}</div>
-                              <div v-for="(item,index) in scope.row.deduct_task_monthly" :key="index+'::'" v-show="item.name == 'B分' && item.point == 0" class="cursor_pointer" style="text-decoration:underline">未设置</div>
+                              <div v-for="(item, index) in scope.row.deduct_task_monthly" :key="index" v-show="item.name == 'B分' && item.point != 0" class="cursor_pointer">
+                                {{ item.point }}
+                              </div>
+                              <div
+                                v-for="(item, index) in scope.row.deduct_task_monthly"
+                                :key="index + '::'"
+                                v-show="item.name == 'B分' && item.point == 0"
+                                class="cursor_pointer"
+                                style="text-decoration:underline"
+                              >
+                                未设置
+                              </div>
                             </span>
                           </template>
                         </el-table-column>
@@ -192,7 +211,7 @@
                           </template>
                           <template slot-scope="scope">
                             <div @click="open_bonus_deducted(scope.row)" v-show="scope.row.exec_count == 0" class="cursor_pointer" style="text-decoration:underline">未设置</div>
-                            <div @click="open_bonus_deducted(scope.row)" v-show="scope.row.exec_count != 0" class="cursor_pointer">{{scope.row.exec_count}}</div>
+                            <div @click="open_bonus_deducted(scope.row)" v-show="scope.row.exec_count != 0" class="cursor_pointer">{{ scope.row.exec_count }}</div>
                           </template>
                         </el-table-column>
                         <el-table-column width="110">
@@ -201,8 +220,10 @@
                             <i class="el-icon-edit" @click="setPower('exec_count_point')"></i>
                           </template>
                           <template slot-scope="scope">
-                            <div @click="open_bonus_deducted(scope.row)" v-show="scope.row.exec_count_point == 0" class="cursor_pointer" style="text-decoration:underline">未设置</div>
-                            <div @click="open_bonus_deducted(scope.row)" v-show="scope.row.exec_count_point != 0">{{scope.row.exec_count_point}}</div>
+                            <div @click="open_bonus_deducted(scope.row)" v-show="scope.row.exec_count_point == 0" class="cursor_pointer" style="text-decoration:underline">
+                              未设置
+                            </div>
+                            <div @click="open_bonus_deducted(scope.row)" v-show="scope.row.exec_count_point != 0">{{ scope.row.exec_count_point }}</div>
                           </template>
                         </el-table-column>
                         <el-table-column width="100">
@@ -212,7 +233,7 @@
                           </template>
                           <template slot-scope="scope">
                             <div @click="open_bonus_deducted(scope.row)" v-show="scope.row.reward_ratio == 0" class="cursor_pointer" style="text-decoration:underline">未设置</div>
-                            <div @click="open_bonus_deducted(scope.row)" v-show="scope.row.reward_ratio != 0" class="cursor_pointer">{{scope.row.reward_ratio}}</div>
+                            <div @click="open_bonus_deducted(scope.row)" v-show="scope.row.reward_ratio != 0" class="cursor_pointer">{{ scope.row.reward_ratio }}</div>
                           </template>
                         </el-table-column>
                         <el-table-column width="100">
@@ -221,13 +242,23 @@
                             <i class="el-icon-edit" @click="setPower('reward_ratio_point')"></i>
                           </template>
                           <template slot-scope="scope">
-                            <div @click="open_bonus_deducted(scope.row)" v-show="scope.row.reward_ratio_point == 0" class="cursor_pointer" style="text-decoration:underline">未设置</div>
-                            <div @click="open_bonus_deducted(scope.row)" v-show="scope.row.reward_ratio_point != 0" class="cursor_pointer">{{scope.row.reward_ratio_point}}</div>
+                            <div @click="open_bonus_deducted(scope.row)" v-show="scope.row.reward_ratio_point == 0" class="cursor_pointer" style="text-decoration:underline">
+                              未设置
+                            </div>
+                            <div @click="open_bonus_deducted(scope.row)" v-show="scope.row.reward_ratio_point != 0" class="cursor_pointer">{{ scope.row.reward_ratio_point }}</div>
                           </template>
                         </el-table-column>
                       </el-table-column>
                     </el-table>
-
+                    <!-- 提示 -->
+                    <el-row :gutter="30" justify="center" v-show="table_list.length == 0 && item_info.code !== 'creator' && item_info.code !== 'employee'">
+                      <el-col :span="24" style="text-align: center;">
+                        <p><img src="static/images/nodata_default.png" width="200px" /></p>
+                        还没有{{ item_info.name }},
+                        <span style="color:#26A2FF;" @click="add_employee_show = true">去添加>></span>
+                      </el-col>
+                    </el-row>
+                    <!-- 员工 -->
                     <center v-show="item_info.code == 'employee'" style="padding: 100px 0px;">未设置管理角色的人员,都是普通员工</center>
                   </el-col>
                 </el-row>
@@ -237,33 +268,18 @@
         </el-tab-pane>
       </el-tabs>
     </el-row>
-     <!-- 添加人员 -->
-    <EmployeeSelector
-      title="添加创始人"
-      :isChecKedAll="false"
-      :multi="false"
-      :include_self="false"
-      :visible.sync="dialogFormVisible"
-      @confirm="add_creator"
-      />
+    <!-- 添加人员 -->
+    <EmployeeSelector title="添加创始人" :isChecKedAll="false" :multi="false" :include_self="false" :visible.sync="dialogFormVisible" @confirm="add_creator" />
 
     <!-- 添加人员 -->
-      <EmployeeSelector
-      title="添加管理人员"
-      :isChecKedAll="true"
-      :visible.sync="add_employee_show"
-      @confirm="add_employee_confirm"
-      />
-    <el-dialog
-      title="数据查看权限"
-      :visible.sync="dataAccessShow"
-      width="700px">
+    <EmployeeSelector title="添加管理人员" :isChecKedAll="true" :visible.sync="add_employee_show" @confirm="add_employee_confirm" />
+    <el-dialog title="数据查看权限" :visible.sync="dataAccessShow" width="700px">
       <div v-loading="dataAccessLoading">
         <el-form label-width="120px">
-          <el-form-item v-for="(item,index) in jurisdiction" :key="index" :label="item.title">
+          <el-form-item v-for="(item, index) in jurisdiction" :key="index" :label="item.title">
             <el-radio-group v-model="item.code">
-              <el-col :span="24" v-for="(d,index) in item.list" :key="index" style="padding: 10px 0" >
-                <el-radio :label="d.id" >{{d.name}}</el-radio>
+              <el-col :span="24" v-for="(d, index) in item.list" :key="index" style="padding: 10px 0">
+                <el-radio :label="d.id">{{ d.name }}</el-radio>
               </el-col>
             </el-radio-group>
           </el-form-item>
@@ -279,21 +295,17 @@
     <EmployeeSelector
       title="设置管理范围"
       :isChecKedAll="true"
-      :max='add_employee_max'
+      :max="add_employee_max"
       :selected="management_scope_arr"
       :visible.sync="management_scope_show"
-      :employee_not_select ="control_limit"
+      :employee_not_select="control_limit"
       @confirm="management_scope_confirm"
-      />
+    />
 
-    <el-dialog
-      title="设置积分权限"
-      :visible.sync="integral_limit_show"
-      :close-on-click-modal="false"
-      width="700px">
+    <el-dialog title="设置积分权限" :visible.sync="integral_limit_show" :close-on-click-modal="false" width="700px">
       <el-form label-width="150px" :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'}]">
+        <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-input v-model="item.point" oninput="value=value.replace(/[^\d]/g,'')"></el-input>
           </el-form-item>
         </span>
@@ -307,27 +319,33 @@
       </el-form>
     </el-dialog>
 
-    <el-dialog
-      :title="setPowerTitle"
-      :visible.sync="setPowerShow"
-      :close-on-click-modal="false"
-      :before-close="powerClose"
-      width="700px">
-      <el-form label-width="100px" >
-
+    <el-dialog :title="setPowerTitle" :visible.sync="setPowerShow" :close-on-click-modal="false" :before-close="powerClose" width="700px">
+      <el-form label-width="100px">
         <el-row class="red_tips">
-          <el-col :span="24" v-show="setPowerType == 'aAll'">将统一修改全部{{item_info.remark}}的A分权限</el-col>
-          <el-col :span="24" v-show="setPowerType == 'bAll'">将统一修改全部{{item_info.remark}}的B分权限</el-col>
-          <el-col :span="24" v-show="setPowerType == 'bonuAll'">将统一修改全部{{item_info.remark}}的奖分上限(不填写为不限制)</el-col>
+          <el-col :span="24" v-show="setPowerType == 'aAll'">将统一修改全部{{ item_info.remark }}的A分权限</el-col>
+          <el-col :span="24" v-show="setPowerType == 'bAll'">将统一修改全部{{ item_info.remark }}的B分权限</el-col>
+          <el-col :span="24" v-show="setPowerType == 'bonuAll'">将统一修改全部{{ item_info.remark }}的奖分上限(不填写为不限制)</el-col>
         </el-row>
 
-        <el-form-item v-if="setPowerType == 'aAll'" label="A分权限" >
-          <el-input v-model.number="batchSet.a_all" oninput="value=value.replace(/[^\d]/g,'')" :rules="[{required: true, message: '请输入A分权限', trigger: 'blur'}]" type="Number" placeholder="请输入数值"></el-input>
+        <el-form-item v-if="setPowerType == 'aAll'" label="A分权限">
+          <el-input
+            v-model.number="batchSet.a_all"
+            oninput="value=value.replace(/[^\d]/g,'')"
+            :rules="[{ required: true, message: '请输入A分权限', trigger: 'blur' }]"
+            type="Number"
+            placeholder="请输入数值"
+          ></el-input>
         </el-form-item>
-        <el-form-item v-if="setPowerType == 'bAll'" label="B分权限" >
-          <el-input v-model.number="batchSet.b_all" oninput="value=value.replace(/[^\d]/g,'')" :rules="[{required: true, message: '请输入B分权限', trigger: 'blur'}]" type="Number" placeholder="请输入数值"></el-input>
+        <el-form-item v-if="setPowerType == 'bAll'" label="B分权限">
+          <el-input
+            v-model.number="batchSet.b_all"
+            oninput="value=value.replace(/[^\d]/g,'')"
+            :rules="[{ required: true, message: '请输入B分权限', trigger: 'blur' }]"
+            type="Number"
+            placeholder="请输入数值"
+          ></el-input>
         </el-form-item>
-        <el-form-item v-if="setPowerType == 'bonuAll'" label="奖分上限" >
+        <el-form-item v-if="setPowerType == 'bonuAll'" label="奖分上限">
           <el-input v-model="batchSet.bonu_all" oninput="value=value.replace(/[^\d]/g,'')" placeholder="奖分上限不限制"></el-input>
         </el-form-item>
 
@@ -335,17 +353,25 @@
           <template slot="label">
             <span>月扣分任务</span>
             <el-tooltip placement="top">
-              <div slot="content" style="width: 300px;">对扣分分值作任务要求。未达分值任务的按差额扣分<br />举例说明:扣分任务100,实际扣分80(差额20分),则该执行人员将被扣20分。反之,如实际扣分达到或超出100分,不对执行人员实行扣分</div>
+              <div slot="content" style="width: 300px;">
+                对扣分分值作任务要求。未达分值任务的按差额扣分
+                <br />
+                举例说明:扣分任务100,实际扣分80(差额20分),则该执行人员将被扣20分。反之,如实际扣分达到或超出100分,不对执行人员实行扣分
+              </div>
               <span class="tips">?</span>
             </el-tooltip>
           </template>
           <el-input v-model="batchSet.deduct_task_monthly.point" oninput="value=value.replace(/[^\d]/g,'')" placeholder="请输入扣分目标"></el-input>
         </el-form-item>
-        <el-form-item v-if="setPowerType == 'reward_task_monthly'" >
+        <el-form-item v-if="setPowerType == 'reward_task_monthly'">
           <template slot="label">
             <span>月奖分任务</span>
             <el-tooltip placement="top">
-              <div slot="content" style="width: 300px;">对奖分分值作任务要求。未达分值任务的按差额扣分<br />举例说明:奖分任务1000,实际奖分980(差额20分),则该执行人员将被扣20分。反之,如实际奖分达到或超出1000分,不对执行人员实行扣分</div>
+              <div slot="content" style="width: 300px;">
+                对奖分分值作任务要求。未达分值任务的按差额扣分
+                <br />
+                举例说明:奖分任务1000,实际奖分980(差额20分),则该执行人员将被扣20分。反之,如实际奖分达到或超出1000分,不对执行人员实行扣分
+              </div>
               <span class="tips">?</span>
             </el-tooltip>
           </template>
@@ -356,7 +382,11 @@
           <template slot="label">
             <span>比例未达标</span>
             <el-tooltip placement="top">
-              <div slot="content" style="width: 300px;">扣x分(x为输入框)<br />未完成奖扣比例任务的,按对应分值扣分</div>
+              <div slot="content" style="width: 300px;">
+                扣x分(x为输入框)
+                <br />
+                未完成奖扣比例任务的,按对应分值扣分
+              </div>
               <span class="tips">?</span>
             </el-tooltip>
           </template>
@@ -367,18 +397,26 @@
           <template slot="label">
             <span>少一次奖扣</span>
             <el-tooltip placement="top">
-              <div slot="content" style="width: 300px;">扣x分(x为输入框)<br />奖扣次数未达任务要求的,每少一次扣对应分值</div>
+              <div slot="content" style="width: 300px;">
+                扣x分(x为输入框)
+                <br />
+                奖扣次数未达任务要求的,每少一次扣对应分值
+              </div>
               <span class="tips">?</span>
             </el-tooltip>
           </template>
-          <el-input v-model="batchSet.exec_count_point"  oninput="value=value.replace(/[^\d]/g,'')" type="Number" placeholder="请输入数值"></el-input>
+          <el-input v-model="batchSet.exec_count_point" oninput="value=value.replace(/[^\d]/g,'')" type="Number" placeholder="请输入数值"></el-input>
         </el-form-item>
 
         <el-form-item v-if="setPowerType == 'exec_count'">
           <template slot="label">
             <span>月奖扣次数</span>
             <el-tooltip placement="top">
-              <div slot="content" style="width: 300px;">对奖分和扣分的执行次数作任务要求<br />举例说明:奖扣次数任务100,实际执行次数95(差5次),假如每少一次扣5分,则该执行人员将被扣5*5=25分。反之,如果任务达标,不对执行人员实行扣分</div>
+              <div slot="content" style="width: 300px;">
+                对奖分和扣分的执行次数作任务要求
+                <br />
+                举例说明:奖扣次数任务100,实际执行次数95(差5次),假如每少一次扣5分,则该执行人员将被扣5*5=25分。反之,如果任务达标,不对执行人员实行扣分
+              </div>
               <span class="tips">?</span>
             </el-tooltip>
           </template>
@@ -389,11 +427,17 @@
           <template slot="label">
             <span>月奖扣比例</span>
             <el-tooltip placement="top">
-              <div slot="content" style="width: 300px;">对奖分和扣分的比例作任务要求<br />举例说明:奖扣比例任务10:1,实际执行奖扣比例11:1(管理者当老好人,不敢执行扣分,导致扣分占比过低),则视为未完成,该执行人员将被扣对应分值。反之比例小于10:1,任务为达标,不对执行人员实行扣分</div>
+              <div slot="content" style="width: 300px;">
+                对奖分和扣分的比例作任务要求
+                <br />
+                举例说明:奖扣比例任务10:1,实际执行奖扣比例11:1(管理者当老好人,不敢执行扣分,导致扣分占比过低),则视为未完成,该执行人员将被扣对应分值。反之比例小于10:1,任务为达标,不对执行人员实行扣分
+              </div>
               <span class="tips">?</span>
             </el-tooltip>
           </template>
-          <el-input style="width: 100px;" type="Number" oninput="value=value.replace(/[^\d]/g,'')" disabled placeholder="1" ></el-input>:<el-input v-model="batchSet.reward_ratio" style="width: 100px;" type="Number" placeholder="请输入数值" ></el-input>
+          <el-input style="width: 100px;" type="Number" oninput="value=value.replace(/[^\d]/g,'')" disabled placeholder="1"></el-input>
+          :
+          <el-input v-model="batchSet.reward_ratio" style="width: 100px;" type="Number" placeholder="请输入数值"></el-input>
         </el-form-item>
 
         <el-form-item style="text-align: right; margin-bottom: 0">
@@ -403,29 +447,34 @@
       </el-form>
     </el-dialog>
 
-    <el-dialog
-      title="B分奖扣任务"
-      :visible.sync="bonus_deducted_show"
-      width="600px">
+    <el-dialog title="B分奖扣任务" :visible.sync="bonus_deducted_show" width="600px">
       <el-form :model="integral_limit_form" ref="integral_limit_form" :rules="integral_limit_rules" label-width="130px" v-loading="bonus_deducted_loading">
-        <span v-for="(item,index) in integral_limit_form.reward_task_monthly" :key="index" v-show="item.name == 'B分'">
+        <span v-for="(item, index) in integral_limit_form.reward_task_monthly" :key="index" v-show="item.name == 'B分'">
           <el-form-item>
             <template slot="label">
               <span>月奖分任务</span>
               <el-tooltip placement="top">
-                <div slot="content" style="width: 300px;">对奖分分值作任务要求。未达分值任务的按差额扣分<br />举例说明:奖分任务1000,实际奖分980(差额20分),则该执行人员将被扣20分。反之,如实际奖分达到或超出1000分,不对执行人员实行扣分</div>
+                <div slot="content" style="width: 300px;">
+                  对奖分分值作任务要求。未达分值任务的按差额扣分
+                  <br />
+                  举例说明:奖分任务1000,实际奖分980(差额20分),则该执行人员将被扣20分。反之,如实际奖分达到或超出1000分,不对执行人员实行扣分
+                </div>
                 <span class="tips">?</span>
               </el-tooltip>
             </template>
             <el-input v-model="item.point" type="Number" placeholder="请输入数值"></el-input>
           </el-form-item>
         </span>
-        <span v-for="(item,index) in integral_limit_form.deduct_task_monthly" :key="item.name" v-show="item.name == 'B分'">
+        <span v-for="(item, index) in integral_limit_form.deduct_task_monthly" :key="item.name" v-show="item.name == 'B分'">
           <el-form-item style="margin-bottom: 0;">
             <template slot="label">
               <span>月扣分任务</span>
               <el-tooltip placement="top">
-                <div slot="content" style="width: 300px;">对扣分分值作任务要求。未达分值任务的按差额扣分<br />举例说明:扣分任务100,实际扣分80(差额20分),则该执行人员将被扣20分。反之,如实际扣分达到或超出100分,不对执行人员实行扣分</div>
+                <div slot="content" style="width: 300px;">
+                  对扣分分值作任务要求。未达分值任务的按差额扣分
+                  <br />
+                  举例说明:扣分任务100,实际扣分80(差额20分),则该执行人员将被扣20分。反之,如实际扣分达到或超出100分,不对执行人员实行扣分
+                </div>
                 <span class="tips">?</span>
               </el-tooltip>
             </template>
@@ -435,7 +484,9 @@
         </span>
         <el-form-item>
           <div style="font-size: 12px; color: #909399; line-height: 20px;">
-            设置后,奖分与扣分目标其中有一项未达标,系统将自动扣除差额分值;<br />例如,A设置了月奖分目标100和月扣分目标100,到了月底,奖了80和扣了30,那该管理者将被扣90B分。
+            设置后,奖分与扣分目标其中有一项未达标,系统将自动扣除差额分值;
+            <br />
+            例如,A设置了月奖分目标100和月扣分目标100,到了月底,奖了80和扣了30,那该管理者将被扣90B分。
           </div>
         </el-form-item>
 
@@ -443,7 +494,11 @@
           <template slot="label">
             <span>月奖扣次数</span>
             <el-tooltip placement="top">
-              <div slot="content" style="width: 300px;">对奖分和扣分的执行次数作任务要求<br />举例说明:奖扣次数任务100,实际执行次数95(差5次),假如每少一次扣5分,则该执行人员将被扣5*5=25分。反之,如果任务达标,不对执行人员实行扣分</div>
+              <div slot="content" style="width: 300px;">
+                对奖分和扣分的执行次数作任务要求
+                <br />
+                举例说明:奖扣次数任务100,实际执行次数95(差5次),假如每少一次扣5分,则该执行人员将被扣5*5=25分。反之,如果任务达标,不对执行人员实行扣分
+              </div>
               <span class="tips">?</span>
             </el-tooltip>
           </template>
@@ -454,7 +509,11 @@
           <template slot="label">
             <span>每少一次奖扣</span>
             <el-tooltip placement="top">
-              <div slot="content" style="width: 300px;">扣x分(x为输入框)<br />奖扣次数未达任务要求的,每少一次扣对应分值</div>
+              <div slot="content" style="width: 300px;">
+                扣x分(x为输入框)
+                <br />
+                奖扣次数未达任务要求的,每少一次扣对应分值
+              </div>
               <span class="tips">?</span>
             </el-tooltip>
           </template>
@@ -464,17 +523,27 @@
           <template slot="label">
             <span>月奖扣比例</span>
             <el-tooltip placement="top">
-              <div slot="content" style="width: 300px;">对奖分和扣分的比例作任务要求<br />举例说明:奖扣比例任务10:1,实际执行奖扣比例11:1(管理者当老好人,不敢执行扣分,导致扣分占比过低),则视为未完成,该执行人员将被扣对应分值。反之比例小于10:1,任务为达标,不对执行人员实行扣分</div>
+              <div slot="content" style="width: 300px;">
+                对奖分和扣分的比例作任务要求
+                <br />
+                举例说明:奖扣比例任务10:1,实际执行奖扣比例11:1(管理者当老好人,不敢执行扣分,导致扣分占比过低),则视为未完成,该执行人员将被扣对应分值。反之比例小于10:1,任务为达标,不对执行人员实行扣分
+              </div>
               <span class="tips">?</span>
             </el-tooltip>
           </template>
-          <el-input style="width: 100px;" type="Number" disabled placeholder="1" ></el-input>:<el-input v-model="integral_limit_form.reward_ratio" style="width: 100px;" type="Number" placeholder="请输入数值" ></el-input>
+          <el-input style="width: 100px;" type="Number" disabled placeholder="1"></el-input>
+          :
+          <el-input v-model="integral_limit_form.reward_ratio" style="width: 100px;" type="Number" placeholder="请输入数值"></el-input>
         </el-form-item>
         <el-form-item prop="reward_ratio_point">
           <template slot="label">
             <span>比例未达标</span>
             <el-tooltip placement="top">
-              <div slot="content" style="width: 300px;">扣x分(x为输入框)<br />未完成奖扣比例任务的,按对应分值扣分</div>
+              <div slot="content" style="width: 300px;">
+                扣x分(x为输入框)
+                <br />
+                未完成奖扣比例任务的,按对应分值扣分
+              </div>
               <span class="tips">?</span>
             </el-tooltip>
           </template>
@@ -488,1057 +557,1079 @@
     </el-dialog>
 
     <!-- 导出员工 -->
-    <el-dialog
-      title="导出/修改部门管理员信息"
-      width="600px"
-      :visible.sync="exportEmploye"
-      :close-on-click-modal="false"
-      :before-close="close_export">
+    <el-dialog title="导出/修改部门管理员信息" width="600px" :visible.sync="exportEmploye" :close-on-click-modal="false" :before-close="close_export">
       <div style="float: left;width:49%">
         <div style="margin-left: 20%;">
-        <p>1.导出部门管理员信息</p>
-            <el-button type="primary" plain @click="downloadSheet">导出</el-button>
+          <p>1.导出部门管理员信息</p>
+          <el-button type="primary" plain @click="downloadSheet">导出</el-button>
         </div>
       </div>
       <div style="border-left: 1px solid #D8D8D8;width: 1px;height: 255px;float: left;"></div>
 
       <div style="float: left;width:49%;">
         <div style="margin-left: 20%;">
-        <p>2.修改部门管理员信息</p>
-        <p>导出部门管理员信息表进行修改</p>
-        <p>上传修改好的部门管理员信息表</p>
-          <el-upload
-            :limit = '1'
-            :headers="ATOKEN"
-            ref="upload2"
-            :data='datas'
-            :action="integralUpload"
-            :on-success="handlePictureCardPreview"
-            :before-upload="beforeFilesUpload"
-            >
-            <p>
-                <el-button type="primary" plain>选择文件</el-button>
-            </p>
+          <p>2.修改部门管理员信息</p>
+          <p>导出部门管理员信息表进行修改</p>
+          <p>上传修改好的部门管理员信息表</p>
+          <el-upload :limit="1" :headers="ATOKEN" ref="upload2" :data="datas" :action="integralUpload" :on-success="handlePictureCardPreview" :before-upload="beforeFilesUpload">
+            <p><el-button type="primary" plain>选择文件</el-button></p>
           </el-upload>
-        <p>先选择文件后再完成上传</p>
-        <el-button type="primary" @click="uploadFile('prize_buckle')" :loading="update_btn" plain>上传</el-button>
+          <p>先选择文件后再完成上传</p>
+          <el-button type="primary" @click="uploadFile('prize_buckle')" :loading="update_btn" plain>上传</el-button>
         </div>
       </div>
-        <div class="align-center" style="margin-bottom:20px; float:left; margin-left:10px;">
-        </div>
-        <div class="align-center" style="margin-bottom:20px; float:left; margin-left:10px;">
-        </div>
-        <div style="clear:both;"></div>
+      <div class="align-center" style="margin-bottom:20px; float:left; margin-left:10px;"></div>
+      <div class="align-center" style="margin-bottom:20px; float:left; margin-left:10px;"></div>
+      <div style="clear:both;"></div>
     </el-dialog>
-
   </div>
 </template>
 <script>
-  import EmployeeSelector from '@/views/common/EmployeeSelector'
-  import EmployeeSelector1 from '@/views/common/EmployeeSelector1'
-  import {getToken} from '@/utils/auth'
-  import ApproverSet from './approver_set'
-  var bool = true;
-  const minimum = (rule, value,callback)=>{
-    if (value < 0){
-      callback(new Error('请输入正确的数值'))
-    }else {
-      callback()
-    }
+import EmployeeSelector from '@/views/common/EmployeeSelector';
+import EmployeeSelector1 from '@/views/common/EmployeeSelector1';
+import { getToken } from '@/utils/auth';
+import ApproverSet from './approver_set';
+var bool = true;
+const minimum = (rule, value, callback) => {
+  if (value < 0) {
+    callback(new Error('请输入正确的数值'));
+  } else {
+    callback();
   }
-  export default {
-    data() {
-      return {
-        // 创始人相关操作
-        isStart: false, //是否是创始人
-        dialogFormVisible:false,
-        bossObj: '',
-        radio: '',
+};
+export default {
+  data() {
+    return {
+      // 创始人相关操作
+      isStart: false, //是否是创始人
+      dialogFormVisible: false,
+      bossObj: '',
+      radio: '',
 
-        checked:true,
-        integralUpload:process.env.BASE_API + '/api/upload/excel',
-        publicBASE_API:process.env.BASE_API,
-        datas:{type:'prize_buckle'},
-        update_btn: false,
-        ATOKEN: { 'A-TOKEN': getToken()},
-        exportEmploye: false, // 导出员工信息
+      checked: true,
+      integralUpload: process.env.BASE_API + '/api/upload/excel',
+      publicBASE_API: process.env.BASE_API,
+      datas: { type: 'prize_buckle' },
+      update_btn: false,
+      ATOKEN: { 'A-TOKEN': getToken() },
+      exportEmploye: false, // 导出员工信息
 
-        syncScopeId:[],
+      syncScopeId: [],
 
-        activeName: 'first',//选项卡,默认选中
+      activeName: 'first', //选项卡,默认选中
 
-        control_limit: [],
-        role_loading:false,
-        table_loading:false,
-        permissions_loading:false,
-        role_list: [],
-        item_info: {code:''},
-        keyword:'',//搜索的关键词
-        table_list: [],
-        del_arr: [],
-        employee_show: false,
-        add_employee_max: 0,
-        add_employee_show: false,
-        employee_map: this.$store.getters.employee_map,
-        add_employee_form:{
-          employee_ids:[]
+      control_limit: [],
+      role_loading: false,
+      table_loading: false,
+      permissions_loading: false,
+      role_list: [],
+      item_info: { code: '' },
+      keyword: '', //搜索的关键词
+      table_list: [],
+      del_arr: [],
+      employee_show: false,
+      add_employee_max: 0,
+      add_employee_show: false,
+      employee_map: this.$store.getters.employee_map,
+      add_employee_form: {
+        employee_ids: []
+      },
+      employee_arr: [],
+      management_arr: [],
+      management_scope_show: false,
+      list_info: null,
+      management_scope_arr: { employee: [], dept: [] },
+      rules_employee_arr: { employee: [], dept: [] },
+      integral_limit_show: false,
+      integral_limit_loading: false,
+      integral_limit_form: {},
+      integral_limit_rules: {
+        exec_count: [{ required: true, validator: minimum, trigger: 'blur' }],
+        exec_count_point: [{ required: true, validator: minimum, trigger: 'blur' }],
+        reward_ratio: [{ required: true, validator: minimum, trigger: 'blur' }],
+        reward_ratio_point: [{ required: true, validator: minimum, trigger: 'blur' }]
+      },
+      set_mployee_limit_id: '',
+      bonus_deducted_show: false,
+      bonus_deducted_loading: false,
+      radio: '',
+      tips_show: false,
+      employee_not_select: [],
+      add_employee_not_select: [],
+      setPowerShow: false,
+      setPowerBtnLoad: false,
+      setPowerType: 'aAll',
+      setPowerTitle: '设置A分上限',
+      batchSet: {
+        a_all: '',
+        b_all: '',
+        bonu_all: '',
+        service_point: '',
+        reward_ratio_point: '',
+        exec_count_point: '',
+        exec_count: '',
+        reward_ratio: '',
+        deduct_task_monthly: {
+          pt_id: '3',
+          point: ''
         },
-        employee_arr: [],
-        management_arr: [],
-        management_scope_show: false,
-        list_info: null,
-        management_scope_arr: {employee: [], dept: []},
-        rules_employee_arr: {employee: [], dept: []},
-        integral_limit_show: false,
-        integral_limit_loading: false,
-        integral_limit_form:{},
-        integral_limit_rules:{
-          exec_count:[
-            { required: true, validator: minimum, trigger: 'blur' },
-          ],
-          exec_count_point:[
-            { required: true, validator: minimum, trigger: 'blur' },
-          ],
-          reward_ratio:[
-            { required: true, validator: minimum, trigger: 'blur' },
-          ],
-          reward_ratio_point:[
-            { required: true, validator: minimum, trigger: 'blur' },
-          ],
+        reward_task_monthly: {
+          pt_id: '3',
+          point: ''
+        }
+      },
+      dataAccessShow: false,
+      setDataAccessBtn: false,
+      dataAccessLoading: false,
+      jurisdiction: [],
+      // 除员工外权限范围数据
+      dataAccessList: [
+        {
+          title: '积分事件',
+          name: 'event_range',
+          code: 0,
+          list: [{ name: '仅查看自己的数据', id: 1 }, { name: '查看自己以及管理范围内用户的数据', id: 2 }, { name: '查看全员数据', id: 3 }]
         },
-        set_mployee_limit_id: '',
-        bonus_deducted_show:false,
-        bonus_deducted_loading: false,
-        radio: '',
-        tips_show: false,
-        employee_not_select: [],
-        add_employee_not_select: [],
-        setPowerShow: false,
-        setPowerBtnLoad: false,
-        setPowerType: 'aAll',
-        setPowerTitle: '设置A分上限',
-        batchSet:{
-          a_all:'',
-          b_all:'',
-          bonu_all:'',
-          service_point: '',
-          reward_ratio_point: '',
-          exec_count_point: '',
-          exec_count: '',
-          reward_ratio: '',
-          deduct_task_monthly:{
-            pt_id: '3',
-            point: '',
-          },
-          reward_task_monthly:{
-            pt_id: '3',
-            point: '',
-          },
+        {
+          title: '管理者奖扣',
+          name: 'prize_range',
+          code: 0,
+          list: [{ name: '查看自己以及管理范围内管理者的数据', id: 1 }, { name: '查看全部管理者的数据', id: 2 }]
         },
-        dataAccessShow: false,
-        setDataAccessBtn: false,
-        dataAccessLoading: false,
-        jurisdiction:[],
-        // 除员工外权限范围数据
-        dataAccessList: [
-          {
-            title: '积分事件',
-            name: 'event_range',
-            code: 0,
-            list: [
-              {name: '仅查看自己的数据', id: 1},
-              {name: '查看自己以及管理范围内用户的数据', id: 2},
-              {name: '查看全员数据', id: 3}
-            ]
-          },
-          {
-            title: '管理者奖扣',
-            name: 'prize_range',
-            code: 0,
-            list: [
-              {name: '查看自己以及管理范围内管理者的数据', id: 1},
-              {name: '查看全部管理者的数据', id: 2},
-            ]
-          },
-          // {
-          //   title: '团队绩效',
-          //   name: 'performance_range',
-          //   code: 0,
-          //   list: [
-          //     {name: '查看自己以及管理范围内用户的数据', id: 1},
-          //     {name: '查看全员数据', id: 2},
-          //   ]
-          // },
-          {
-            title: '团队数据',
-            name: 'statistics_range',
-            code: 0,
-            list: [
-              {name: '查看自己以及管理范围内用户的数据', id: 1},
-              {name: '查看全员数据', id: 2},
-            ]
-          },
-        ],
-        // 员工权限范围数据
-        dataAccessListEmployee: [
-          {
-            title: '积分事件',
-            name: 'event_range',
-            code: 0,
-            list: [
-              {name: '仅查看自己的数据', id: 1},
-              {name: '查看全员数据', id: 3}
-            ]
-          },
-          // {
-          //   title: '团队绩效',
-          //   name: 'performance_range',
-          //   code: 0,
-          //   list: [
-          //     {name: '仅查看自己的数据', id: 1},
-          //     {name: '查看全员数据', id: 2},
-          //   ]
-          // }
-        ],
-      };
-    },
-    components: {EmployeeSelector1, EmployeeSelector, ApproverSet},
-    watch:{
-      checked(val){
-      },
-      setPowerType(val){
-        switch(val) {
-          case 'aAll':
-              this.setPowerTitle = '设置A分上限'
-              break;
-          case 'bAll':
-              this.setPowerTitle = '设置B分上限'
-              break;
-          case 'bonuAll':
-              this.setPowerTitle = '设置奖分上限'
-              break;
-          case 'deduct_task_monthly':
-              this.setPowerTitle = '设置月扣分任务'
-              break;
-          case 'reward_task_monthly':
-              this.setPowerTitle = '设置月奖分任务'
-              break;
-          case 'reward_ratio_point':
-              this.setPowerTitle = '设置比例未达标'
-              break;
-          case 'exec_count_point':
-              this.setPowerTitle = '设置每少一次奖扣'
-              break;
-          case 'exec_count':
-              this.setPowerTitle = '设置月奖扣次数'
-              break;
-          case 'reward_ratio':
-              this.setPowerTitle = '设置月奖扣比例'
-              break;
-          default:
-              this.setPowerTitle = ''
+        // {
+        //   title: '团队绩效',
+        //   name: 'performance_range',
+        //   code: 0,
+        //   list: [
+        //     {name: '查看自己以及管理范围内用户的数据', id: 1},
+        //     {name: '查看全员数据', id: 2},
+        //   ]
+        // },
+        {
+          title: '团队数据',
+          name: 'statistics_range',
+          code: 0,
+          list: [{ name: '查看自己以及管理范围内用户的数据', id: 1 }, { name: '查看全员数据', id: 2 }]
+        }
+      ],
+      // 员工权限范围数据
+      dataAccessListEmployee: [
+        {
+          title: '积分事件',
+          name: 'event_range',
+          code: 0,
+          list: [{ name: '仅查看自己的数据', id: 1 }, { name: '查看全员数据', id: 3 }]
         }
+        // {
+        //   title: '团队绩效',
+        //   name: 'performance_range',
+        //   code: 0,
+        //   list: [
+        //     {name: '仅查看自己的数据', id: 1},
+        //     {name: '查看全员数据', id: 2},
+        //   ]
+        // }
+      ]
+    };
+  },
+  components: { EmployeeSelector1, EmployeeSelector, ApproverSet },
+  watch: {
+    checked(val) {},
+    setPowerType(val) {
+      switch (val) {
+        case 'aAll':
+          this.setPowerTitle = '设置A分上限';
+          break;
+        case 'bAll':
+          this.setPowerTitle = '设置B分上限';
+          break;
+        case 'bonuAll':
+          this.setPowerTitle = '设置奖分上限';
+          break;
+        case 'deduct_task_monthly':
+          this.setPowerTitle = '设置月扣分任务';
+          break;
+        case 'reward_task_monthly':
+          this.setPowerTitle = '设置月奖分任务';
+          break;
+        case 'reward_ratio_point':
+          this.setPowerTitle = '设置比例未达标';
+          break;
+        case 'exec_count_point':
+          this.setPowerTitle = '设置每少一次奖扣';
+          break;
+        case 'exec_count':
+          this.setPowerTitle = '设置月奖扣次数';
+          break;
+        case 'reward_ratio':
+          this.setPowerTitle = '设置月奖扣比例';
+          break;
+        default:
+          this.setPowerTitle = '';
+      }
+    }
+  },
+  methods: {
+    //删除创始人
+    del_creator() {
+      var userData = this.$store.getters.user_info;
+      if (!this.radio) {
+        this.$message.error('请选择要删除的创始人');
+        return false;
+      }
+      if (this.radio == userData.id) {
+        this.$message.error('不能删除自己');
+        return false;
       }
+      this.$confirm('确定要删除该创始人?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        this.$http('post', '/api/role/creator/delete', { employee_id: this.radio })
+          .then(res => {
+            if (res.data.code == 1) {
+              this.$message.success(res.data.msg);
+              this.page = 1;
+              this.get_table_list();
+            }
+          })
+          .finally(() => {
+            this.radio = '';
+          });
+      });
     },
-    methods: {
-      //删除创始人
-      del_creator() {
-      	var userData = this.$store.getters.user_info;
-      	if (!this.radio) {
-      		this.$message.error('请选择要删除的创始人');
-      		return false;
-      	}
-      	if (this.radio == userData.id) {
-      		this.$message.error('不能删除自己');
-      		return false;
-      	}
-      	this.$confirm('确定要删除该创始人?', '提示', {
-      		confirmButtonText: '确定',
-      		cancelButtonText: '取消',
-      		type: 'warning'
-      	}).then(() => {
-      		this.$http('post', '/api/role/creator/delete', { employee_id: this.radio })
-      			.then(res => {
-      				if (res.data.code == 1) {
-      					this.$message.success(res.data.msg);
-                this.page=1;
-      					this.get_table_list();
-      				}
-      			}).finally(() => {
-      				this.radio = '';
-      			});
-      	});
-      },
-      //添加老板
-      add_creator(val) {
-        if (val.employee.length > 0) {
-        	this.bossObj = val.employee[0].id;
-        }
-      	if (this.bossObj) {
-      		this.$http('post', '/api/role/creator/add', { employee_id: this.bossObj }).then(res => {
-      				self.$message.success('已经添加成功,请稍后刷新查看')
-      				this.open_right(this.role_list[0]);
-      			}).finally(() => {
-              this.bossObj="";
-      				this.dialogFormVisible = false;
-      			});
-      	} else {
-      		this.$message.error('请选择人员');
-      	}
-      },
-      // 关闭导出
-      close_export(){
-        this.exportEmploye = false
-        this.$refs.upload2.clearFiles()
-      },
-      //  导入 新增
-      uploadFile: function(type) {
-        let params = {};
-        params.file = this.file;
-        this.update_btn = true
-        this.$http('post','/api/employee/prize_import', params).then(res => {
-          if(res.data.code == 1) {
-            this.close_export()
+    //添加老板
+    add_creator(val) {
+      if (val.employee.length > 0) {
+        this.bossObj = val.employee[0].id;
+      }
+      if (this.bossObj) {
+        this.$http('post', '/api/role/creator/add', { employee_id: this.bossObj })
+          .then(res => {
+            self.$message.success('已经添加成功,请稍后刷新查看');
+            this.open_right(this.role_list[0]);
+          })
+          .finally(() => {
+            this.bossObj = '';
+            this.dialogFormVisible = false;
+          });
+      } else {
+        this.$message.error('请选择人员');
+      }
+    },
+    // 关闭导出
+    close_export() {
+      this.exportEmploye = false;
+      this.$refs.upload2.clearFiles();
+    },
+    //  导入 新增
+    uploadFile: function(type) {
+      let params = {};
+      params.file = this.file;
+      this.update_btn = true;
+      this.$http('post', '/api/employee/prize_import', params)
+        .then(res => {
+          if (res.data.code == 1) {
+            this.close_export();
             this.$message.success({
-              type:'上传成功',
-              message:res.data.msg
-            })
-            this.get_table_list()
+              type: '上传成功',
+              message: res.data.msg
+            });
+            this.get_table_list();
           }
-        }).catch(()=>{
-          if(res.data.msg == ''){
-            return
+        })
+        .catch(() => {
+          if (res.data.msg == '') {
+            return;
           }
           this.$message({
-            type:'error',
-            message:res.data.msg,
-          })
-        }).finally(()=>{
+            type: 'error',
+            message: res.data.msg
+          });
+        })
+        .finally(() => {
           setTimeout(() => {
-            this.update_btn = false
+            this.update_btn = false;
           }, 3000);
-        })
-      },
-      // 导出员工信息
-      downloadSheet: function() {
-        let role_id
-        for(let i in this.role_list){
-          if(this.role_list[i].code == "dept_manager"){
-            role_id = this.role_list[i].id
-          }
-        }
-        let params = {
-          role_id : role_id
+        });
+    },
+    // 导出员工信息
+    downloadSheet: function() {
+      let role_id;
+      for (let i in this.role_list) {
+        if (this.role_list[i].code == 'dept_manager') {
+          role_id = this.role_list[i].id;
         }
-        this.$http('get','/api/employee/prize_export',params)
-        .then(res => {
-            if(res.data.code == 1) {
-              let path = res.data.data.path;
-              window.open(this.publicBASE_API+'/api/employee/download?path='+path+'&type='+2)
-            }
-        })
-      },
-
-      handlePictureCardPreview(response) {
-        if(response.code == 1) {
-          this.file = response.data;
+      }
+      let params = {
+        role_id: role_id
+      };
+      this.$http('get', '/api/employee/prize_export', params).then(res => {
+        if (res.data.code == 1) {
+          let path = res.data.data.path;
+          window.open(this.publicBASE_API + '/api/employee/download?path=' + path + '&type=' + 2);
         }
-      },
-      beforeFilesUpload(file) {
-        const $ext_list = ['xlsx', 'xls'];
-          let len =  file.name.split('.').length - 1;
-          const $ext_name = file.name.split('.')[len]
-          if ($ext_list.indexOf($ext_name) != -1) {
+      });
+    },
 
-          }else {
-            this.$message.warning('文件格式上传错误,仅支持上传xlsx,xls)')
-            return false
-          }
-      },
+    handlePictureCardPreview(response) {
+      if (response.code == 1) {
+        this.file = response.data;
+      }
+    },
+    beforeFilesUpload(file) {
+      const $ext_list = ['xlsx', 'xls'];
+      let len = file.name.split('.').length - 1;
+      const $ext_name = file.name.split('.')[len];
+      if ($ext_list.indexOf($ext_name) != -1) {
+      } else {
+        this.$message.warning('文件格式上传错误,仅支持上传xlsx,xls)');
+        return false;
+      }
+    },
 
-      //同步管理范围
-      syncScope(){
-        let data = {
-          superior_id:this.syncScopeId
-        }
-        this.$http('post','/api/employee/syn_scope',data).then((res)=>{
-          if(res.data.code == 1){
+    //同步管理范围
+    syncScope() {
+      let data = {
+        superior_id: this.syncScopeId
+      };
+      this.$http('post', '/api/employee/syn_scope', data)
+        .then(res => {
+          if (res.data.code == 1) {
             this.$message({
               message: res.data.msg,
               type: 'success'
             });
-            this.get_table_list()
+            this.get_table_list();
           }
-        }).catch(()=>{
-
         })
-      },
-      // 数据查看权限弹窗
-      dataAccessPopup(){
-        this.dataAccessShow = true
-        this.getDataAccess()
-      },
-      // 获取数据范围权限
-      getDataAccess(){
-        let self = this
-        self.dataAccessLoading = true
-        self.$http('get','/api/role/range',{role_id: self.item_info.id}).then((res) => {
+        .catch(() => {});
+    },
+    // 数据查看权限弹窗
+    dataAccessPopup() {
+      this.dataAccessShow = true;
+      this.getDataAccess();
+    },
+    // 获取数据范围权限
+    getDataAccess() {
+      let self = this;
+      self.dataAccessLoading = true;
+      self
+        .$http('get', '/api/role/range', { role_id: self.item_info.id })
+        .then(res => {
           if (res.data.code == 1) {
-            const resData = res.data.data
-            if(this.item_info.code != 'employee'){
+            const resData = res.data.data;
+            if (this.item_info.code != 'employee') {
               self.dataAccessList.forEach(element => {
-                element.name == 'event_range'?element.code = resData.event_range:''
-                element.name == 'prize_range'?element.code = resData.prize_range:''
-                element.name == 'statistics_range'?element.code = resData.statistics_range:''
+                element.name == 'event_range' ? (element.code = resData.event_range) : '';
+                element.name == 'prize_range' ? (element.code = resData.prize_range) : '';
+                element.name == 'statistics_range' ? (element.code = resData.statistics_range) : '';
               });
-            }else{
+            } else {
               self.dataAccessListEmployee.forEach(element => {
-                element.name == 'event_range'?element.code = resData.event_range:''
+                element.name == 'event_range' ? (element.code = resData.event_range) : '';
               });
             }
           } else {
-            self.$message.error(res.data.msg)
+            self.$message.error(res.data.msg);
           }
-        }).catch((e)=>{
-          self.$message.error(e.data.msg)
-        }).finally(()=>{
-          self.dataAccessLoading = false
         })
-      },
-      // 设置数据范围权限
-      setDataAccess(){
-        let self = this
-        let data = {
-          role_id: self.item_info.id
-        }
-        self.setDataAccessBtn = true
-        self.jurisdiction.forEach(element => {
-          data[element.name] = element.code
+        .catch(e => {
+          self.$message.error(e.data.msg);
+        })
+        .finally(() => {
+          self.dataAccessLoading = false;
         });
-        if(self.item_info.code == 'employee'){
-          data.prize_range = '1',
-          data.statistics_range = '1'
-          data.performance_range = '1'
-        }else{
-          data.performance_range = '1'
-        }
-        self.$http('post','/api/role/range',data).then((res) => {
+    },
+    // 设置数据范围权限
+    setDataAccess() {
+      let self = this;
+      let data = {
+        role_id: self.item_info.id
+      };
+      self.setDataAccessBtn = true;
+      self.jurisdiction.forEach(element => {
+        data[element.name] = element.code;
+      });
+      if (self.item_info.code == 'employee') {
+        (data.prize_range = '1'), (data.statistics_range = '1');
+        data.performance_range = '1';
+      } else {
+        data.performance_range = '1';
+      }
+      self
+        .$http('post', '/api/role/range', data)
+        .then(res => {
           if (res.data.code == 1) {
-            self.dataAccessShow = false
-            self.$message.success(res.data.msg)
-          }else{
-            self.$message.error(res.data.msg)
+            self.dataAccessShow = false;
+            self.$message.success(res.data.msg);
+          } else {
+            self.$message.error(res.data.msg);
           }
-        }).catch((e) => {
-          self.$message.error(e.data.msg)
-        }).finally(()=>{
-          self.setDataAccessBtn = false
         })
-      },
-      setPower(type){
-        this.setPowerShow = true
-        this.setPowerType = type
-      },
-      powerClose(){
-        this.setPowerShow = false
-        this.batchSet.a_all = ''
-        this.batchSet.b_all = ''
-        this.batchSet.bonu_all = ''
-      },
-      setPowerBtn(){
-        let self = this
-        let data = {employees: []}
-        switch(self.setPowerType) {
-          case 'aAll':
-              data.a = self.batchSet.a_all
-              break;
-          case 'bAll':
-              data.b = self.batchSet.b_all
-              break;
-          case 'bonuAll':
-              data.entry_limit = self.batchSet.bonu_all || '-1'
-              break;
-          case 'deduct_task_monthly':
-              data.deduct_task_monthly = [{...self.batchSet.deduct_task_monthly}]
-              break;
-          case 'reward_task_monthly':
-              data.reward_task_monthly = [{...self.batchSet.reward_task_monthly}]
-              break;
-          case 'reward_ratio_point':
-              data.reward_ratio_point = self.batchSet.reward_ratio_point
-              break;
-          case 'exec_count_point':
-              data.exec_count_point = self.batchSet.exec_count_point
-              break;
-          case 'exec_count':
-              data.exec_count = self.batchSet.exec_count
-              break;
-          case 'reward_ratio':
-              data.reward_ratio = self.batchSet.reward_ratio
-              break;
-          default:
-              data = {}
-        }
-        self.table_list.forEach(element => {
-          data.employees.push(element.id)
+        .catch(e => {
+          self.$message.error(e.data.msg);
+        })
+        .finally(() => {
+          self.setDataAccessBtn = false;
         });
-        self.setPowerBtnLoad = true
-        self.$http('post','/api/integral/employee/limit/batch',data).then((res) => {
+    },
+    setPower(type) {
+      this.setPowerShow = true;
+      this.setPowerType = type;
+    },
+    powerClose() {
+      this.setPowerShow = false;
+      this.batchSet.a_all = '';
+      this.batchSet.b_all = '';
+      this.batchSet.bonu_all = '';
+    },
+    setPowerBtn() {
+      let self = this;
+      let data = { employees: [] };
+      switch (self.setPowerType) {
+        case 'aAll':
+          data.a = self.batchSet.a_all;
+          break;
+        case 'bAll':
+          data.b = self.batchSet.b_all;
+          break;
+        case 'bonuAll':
+          data.entry_limit = self.batchSet.bonu_all || '-1';
+          break;
+        case 'deduct_task_monthly':
+          data.deduct_task_monthly = [{ ...self.batchSet.deduct_task_monthly }];
+          break;
+        case 'reward_task_monthly':
+          data.reward_task_monthly = [{ ...self.batchSet.reward_task_monthly }];
+          break;
+        case 'reward_ratio_point':
+          data.reward_ratio_point = self.batchSet.reward_ratio_point;
+          break;
+        case 'exec_count_point':
+          data.exec_count_point = self.batchSet.exec_count_point;
+          break;
+        case 'exec_count':
+          data.exec_count = self.batchSet.exec_count;
+          break;
+        case 'reward_ratio':
+          data.reward_ratio = self.batchSet.reward_ratio;
+          break;
+        default:
+          data = {};
+      }
+      self.table_list.forEach(element => {
+        data.employees.push(element.id);
+      });
+      self.setPowerBtnLoad = true;
+      self
+        .$http('post', '/api/integral/employee/limit/batch', data)
+        .then(res => {
           if (res.data.code == 1) {
-            self.$message.success(res.data.msg)
+            self.$message.success(res.data.msg);
             self.table_list.forEach(element => {
-              switch(self.setPowerType) {
+              switch (self.setPowerType) {
                 case 'aAll':
-                    element.point_limit_obj.AF = data.a
-                    break;
+                  element.point_limit_obj.AF = data.a;
+                  break;
                 case 'bAll':
-                    element.point_limit_obj.BF = data.b
-                    break;
+                  element.point_limit_obj.BF = data.b;
+                  break;
                 case 'bonuAll':
-                    if (data.entry_limit == '-1') {
-                      element.entry_limit = ''
-                    }else{
-                      element.entry_limit = data.entry_limit
-                    }
-                    break;
+                  if (data.entry_limit == '-1') {
+                    element.entry_limit = '';
+                  } else {
+                    element.entry_limit = data.entry_limit;
+                  }
+                  break;
                 case 'deduct_task_monthly':
-                    element.deduct_task_monthly[0].point = data.deduct_task_monthly[0].point
-                    break;
+                  element.deduct_task_monthly[0].point = data.deduct_task_monthly[0].point;
+                  break;
                 case 'reward_task_monthly':
-                    element.reward_task_monthly[0].point = data.reward_task_monthly[0].point
-                    break;
+                  element.reward_task_monthly[0].point = data.reward_task_monthly[0].point;
+                  break;
                 case 'reward_ratio_point':
-                    element.reward_ratio_point = data.reward_ratio_point
-                    break;
+                  element.reward_ratio_point = data.reward_ratio_point;
+                  break;
                 case 'exec_count_point':
-                    element.exec_count_point = data.exec_count_point
-                    break;
+                  element.exec_count_point = data.exec_count_point;
+                  break;
                 case 'exec_count':
-                    element.exec_count = data.exec_count
-                    break;
+                  element.exec_count = data.exec_count;
+                  break;
                 case 'reward_ratio':
-                    element.reward_ratio = data.reward_ratio
-                    break;
+                  element.reward_ratio = data.reward_ratio;
+                  break;
                 default:
-                    element.reward_ratio = '0'
+                  element.reward_ratio = '0';
               }
             });
-            self.powerClose()
-          }else{
-            self.$message.error(res.data.msg)
+            self.powerClose();
+          } else {
+            self.$message.error(res.data.msg);
           }
-        }).catch((e) => {self.$message.error(e.data.msg)}).finally(()=>{self.setPowerBtnLoad = false})
-
-      },
-      // 关闭提示语
-      tips_close() {
-        localStorage.setItem('role_tips','true')
-        this.tips_show = false
-      },
-      open_integral_limit(item){
-        this.integral_limit_show = true
-        this.set_mployee_limit_id = item.id
-        this.get_employee_limit(item.id)
-      },
-      // 补全A、B分
-      completionABArr(arr){
-        let resultArr = [{name: "A分", point: 0, pt_id: 2},{name: "B分", point: 0, pt_id: 3}]
-        if(arr !== null && arr.length == 0){
-          arr = resultArr
-        }else if(arr.length == 1 && arr[0].pt_id == 3){
-          arr.push({name: "A分", point: 0, pt_id: 2})
-        }if(arr.length == 1 && arr.pt_id == 2){
-          arr.push({name: "B分", point: 0, pt_id: 3})
-        }
+        })
+        .catch(e => {
+          self.$message.error(e.data.msg);
+        })
+        .finally(() => {
+          self.setPowerBtnLoad = false;
+        });
+    },
+    // 关闭提示语
+    tips_close() {
+      localStorage.setItem('role_tips', 'true');
+      this.tips_show = false;
+    },
+    open_integral_limit(item) {
+      this.integral_limit_show = true;
+      this.set_mployee_limit_id = item.id;
+      this.get_employee_limit(item.id);
+    },
+    // 补全A、B分
+    completionABArr(arr) {
+      let resultArr = [{ name: 'A分', point: 0, pt_id: 2 }, { name: 'B分', point: 0, pt_id: 3 }];
+      if (arr !== null && arr.length == 0) {
+        arr = resultArr;
+      } else if (arr.length == 1 && arr[0].pt_id == 3) {
+        arr.push({ name: 'A分', point: 0, pt_id: 2 });
+      }
+      if (arr.length == 1 && arr.pt_id == 2) {
+        arr.push({ name: 'B分', point: 0, pt_id: 3 });
+      }
 
-        return arr
-      },
-      get_employee_limit(id){
-        let self = this
-        self.integral_limit_loading = true
-        self.bonus_deducted_loading = true
-        self.$http('get','/api/integral/employee/limit',{employee_id: id}).then((res) => {
+      return arr;
+    },
+    get_employee_limit(id) {
+      let self = this;
+      self.integral_limit_loading = true;
+      self.bonus_deducted_loading = true;
+      self
+        .$http('get', '/api/integral/employee/limit', { employee_id: id })
+        .then(res => {
           if (res.data.code == 1) {
-            const resultData = res.data.data
-            self.integral_limit_form = resultData
-            self.integral_limit_form.point_limit = this.completionABArr(resultData.point_limit)
-            self.integral_limit_form.deduct_task_monthly = this.completionABArr(resultData.deduct_task_monthly)
-            this.checked = resultData.task_enable == 0 ?false:true
-            self.integral_limit_form.reward_task_monthly = this.completionABArr(resultData.reward_task_monthly)
-            if(self.integral_limit_form.entry_limit === -1){
-              self.integral_limit_form.entry_limit = ''
+            const resultData = res.data.data;
+            self.integral_limit_form = resultData;
+            self.integral_limit_form.point_limit = this.completionABArr(resultData.point_limit);
+            self.integral_limit_form.deduct_task_monthly = this.completionABArr(resultData.deduct_task_monthly);
+            this.checked = resultData.task_enable == 0 ? false : true;
+            self.integral_limit_form.reward_task_monthly = this.completionABArr(resultData.reward_task_monthly);
+            if (self.integral_limit_form.entry_limit === -1) {
+              self.integral_limit_form.entry_limit = '';
             }
           } else {
-            self.$message.error(res.data.msg)
+            self.$message.error(res.data.msg);
           }
-        }).finally(() => {
-          self.integral_limit_loading = false
-          self.bonus_deducted_loading = false
         })
-      },
-      sub_employee_limit(){
-        let self = this
-        self.integral_limit_form.employee_id = self.set_mployee_limit_id
-        let data = JSON.parse(JSON.stringify(self.integral_limit_form))
-        if (data.entry_limit == "") {
-          data.entry_limit = '-1'
-        }
-        self.$http('post','/api/integral/employee/limit',data).then((res) => {
+        .finally(() => {
+          self.integral_limit_loading = false;
+          self.bonus_deducted_loading = false;
+        });
+    },
+    sub_employee_limit() {
+      let self = this;
+      self.integral_limit_form.employee_id = self.set_mployee_limit_id;
+      let data = JSON.parse(JSON.stringify(self.integral_limit_form));
+      if (data.entry_limit == '') {
+        data.entry_limit = '-1';
+      }
+      self
+        .$http('post', '/api/integral/employee/limit', data)
+        .then(res => {
           if (res.data.code == 1) {
-            self.$message.success(res.data.msg)
-            self.get_table_list()
-            self.integral_limit_show = false
-          }else{
-            self.$message.error(res.data.msg)
+            self.$message.success(res.data.msg);
+            self.get_table_list();
+            self.integral_limit_show = false;
+          } else {
+            self.$message.error(res.data.msg);
           }
-        }).catch((e) => {self.$message.error(e.data.msg)})
-      },
-      open_bonus_deducted(item){
-        this.bonus_deducted_show = true
-        this.set_mployee_limit_id = item.id
-        this.get_employee_limit(item.id)
-      },
-      sub_bonus_deducted(fromName){
-        let self = this
-        self.integral_limit_form.employee_id = self.set_mployee_limit_id
-        self.integral_limit_form.task_enable = self.checked?'1':'0'
-        self.$refs[fromName].validate((valid) => {
-          if (valid) {
-            self.$http('post','/api/integral/employee/limit',self.integral_limit_form).then((res) => {
+        })
+        .catch(e => {
+          self.$message.error(e.data.msg);
+        });
+    },
+    open_bonus_deducted(item) {
+      this.bonus_deducted_show = true;
+      this.set_mployee_limit_id = item.id;
+      this.get_employee_limit(item.id);
+    },
+    sub_bonus_deducted(fromName) {
+      let self = this;
+      self.integral_limit_form.employee_id = self.set_mployee_limit_id;
+      self.integral_limit_form.task_enable = self.checked ? '1' : '0';
+      self.$refs[fromName].validate(valid => {
+        if (valid) {
+          self
+            .$http('post', '/api/integral/employee/limit', self.integral_limit_form)
+            .then(res => {
               if (res.data.code == 1) {
-                self.$message.success(res.data.msg)
+                self.$message.success(res.data.msg);
                 setTimeout(() => {
-                  self.get_table_list()
+                  self.get_table_list();
                 }, 1000);
-                self.bonus_deducted_show = false
-              }else{
-                self.$message.error(res.data.msg)
+                self.bonus_deducted_show = false;
+              } else {
+                self.$message.error(res.data.msg);
               }
-            }).catch((e) => {self.$message.error(e.data.msg)})
-          }
-        });
-      },
-      bonus_deducted_colse(fromName){
-        this.bonus_deducted_show = false
-        this.$refs[fromName].resetFields()
-      },
-      add_management_scope(item){
-        let self = this
-        self.list_info = item;
-        this.control_limit = [item.id],//设置选人员时排除设置的人
-        self.employee_not_select = [item.id]
-        let employeeList=JSON.parse(localStorage.getItem("SET_EMPLOYEE_MAP"));//获取员工信息
-        self.management_scope_arr.employee=[];
-        self.$http('get','/api/employee/info',{id: self.list_info.id}).then((res) => {
+            })
+            .catch(e => {
+              self.$message.error(e.data.msg);
+            });
+        }
+      });
+    },
+    bonus_deducted_colse(fromName) {
+      this.bonus_deducted_show = false;
+      this.$refs[fromName].resetFields();
+    },
+    add_management_scope(item) {
+      let self = this;
+      self.list_info = item;
+      (this.control_limit = [item.id]), //设置选人员时排除设置的人
+        (self.employee_not_select = [item.id]);
+      let employeeList = JSON.parse(localStorage.getItem('SET_EMPLOYEE_MAP')); //获取员工信息
+      self.management_scope_arr.employee = [];
+      self
+        .$http('get', '/api/employee/info', { id: self.list_info.id })
+        .then(res => {
           if (res.data.code == 1) {
-            let employee_detail=res.data.data.employee_detail.manage_scope||[];//获取当前数据的管理范围
-            employee_detail.map((item)=>{//依次将缓存的头像添加到数据中
-              if(employeeList[item.id]){
-                item.img_url=employeeList[item.id].img_url
+            let employee_detail = res.data.data.employee_detail.manage_scope || []; //获取当前数据的管理范围
+            employee_detail.map(item => {
+              //依次将缓存的头像添加到数据中
+              if (employeeList[item.id]) {
+                item.img_url = employeeList[item.id].img_url;
               }
-            })
+            });
             self.management_scope_arr.employee = employee_detail;
-            self.management_scope_show = true
+            self.management_scope_show = true;
           } else {
-            self.$message.error(res.data.msg)
+            self.$message.error(res.data.msg);
           }
-        }).finally(() => {
-          self.role_loading = false
         })
-      },
-      //添加编辑管理范围
-      management_scope_confirm(val){
-        let self = this
-        self.management_arr = []
-        val.employee.forEach(element => {
-          self.management_arr.push(element.id)
+        .finally(() => {
+          self.role_loading = false;
         });
-        self.$http('POST','/api/employee/scope',{employee_id: self.list_info.id,id: self.management_arr},).then((res) => {
+    },
+    //添加编辑管理范围
+    management_scope_confirm(val) {
+      let self = this;
+      self.management_arr = [];
+      val.employee.forEach(element => {
+        self.management_arr.push(element.id);
+      });
+      self.$http('POST', '/api/employee/scope', { employee_id: self.list_info.id, id: self.management_arr }).then(res => {
+        if (res.data.code == 1) {
+          self.$message.success('设置成功!');
+          self.table_list.forEach(element => {
+            if (element.id == self.list_info.id) {
+              element.manage_scope_count = self.management_arr.length;
+            }
+          });
+          self.management_scope_show = false;
+          this.$nextTick(() => {
+            this.$store.dispatch('get_employee_map').then(res => {});
+          });
+        } else {
+          self.$message.error(res.data.msg);
+        }
+      });
+    },
+    edit_permissions() {
+      let self = this;
+      let data = { role_id: self.item_info.id, permissions: [] };
+      this.permissions_list.forEach(element => {
+        if (element.selected == true) {
+          data.permissions.push(element.id);
+        }
+      });
+      self
+        .$http('post', '/api/role/permissions', data)
+        .then(res => {
           if (res.data.code == 1) {
-            self.$message.success("设置成功!")
-            self.table_list.forEach(element => {
-              if (element.id == self.list_info.id) {
-                element.manage_scope_count = self.management_arr.length
-              }
-            });
-            self.management_scope_show = false
-            this.$nextTick(() => {
-              this.$store.dispatch('get_employee_map').then((res) => {})
-            })
-          } else{
-            self.$message.error(res.data.msg)
+          } else {
+            self.$message.error(res.data.msg);
           }
         })
-      },
-      edit_permissions(){
-        let self = this
-        let data = {role_id: self.item_info.id,permissions: []}
-        this.permissions_list.forEach(element => {
-          if(element.selected == true){
-            data.permissions.push(element.id)
-          }
-        });
-        self.$http('post','/api/role/permissions',data).then((res) => {
-          if (res.data.code == 1) {
-          }else{
-            self.$message.error(res.data.msg)
-          }
-        }).catch((e) => {self.$message.error(e.data.msg)}).finally(() => {
+        .catch(e => {
+          self.$message.error(e.data.msg);
         })
-      },
-      get_role_list() {
-        let self = this
-        self.role_loading = true
-        self.$http('get','/api/role/list').then((res) => {
+        .finally(() => {});
+    },
+    get_role_list() {
+      let self = this;
+      self.role_loading = true;
+      self
+        .$http('get', '/api/role/list')
+        .then(res => {
           if (res.data.code == 1) {
-            this.role_list = res.data.data.list
-            this.open_right(this.role_list[0])
+            this.role_list = res.data.data.list;
+            this.open_right(this.role_list[0]);
           } else {
-            self.$message.error(res.data.msg)
+            self.$message.error(res.data.msg);
           }
-        }).finally(() => {
-          self.role_loading = false
         })
-      },
-      open_right(data){
-        // 根据选择人员权限来显示不同的权限数据范围
-        this.jurisdiction=data.code=='employee'? this.dataAccessListEmployee:this.dataAccessList;
-        this.item_info = data
-        if(data.code!='employee'){
-          this.get_table_list()
-        }
-      },
-      get_table_list(){
-        let self = this
-        self.table_loading = true
-        self.$http('get','/api/role/user',{role_id: self.item_info.id,keyword:self.keyword}).then((res) => {
+        .finally(() => {
+          self.role_loading = false;
+        });
+    },
+    open_right(data) {
+      // 根据选择人员权限来显示不同的权限数据范围
+      this.jurisdiction = data.code == 'employee' ? this.dataAccessListEmployee : this.dataAccessList;
+      this.item_info = data;
+      this.table_list = [];
+      if (data.code != 'employee') {
+        this.get_table_list();
+      }
+    },
+    get_table_list() {
+      let self = this;
+      self.table_loading = true;
+      self.$http('get', '/api/role/user', { role_id: self.item_info.id, keyword: self.keyword }).then(res => {
           if (res.data.code == 1) {
-            if(this.item_info.code == 'dept_manager'){//获取到部门管理列表中人的id
-              let syncScopeIds = []
-              for(let i in res.data.data.list){
-                syncScopeIds.push(res.data.data.list[i].id)
+            if (this.item_info.code == 'dept_manager') {
+              //获取到部门管理列表中人的id
+              let syncScopeIds = [];
+              for (let i in res.data.data.list) {
+                syncScopeIds.push(res.data.data.list[i].id);
               }
-              this.syncScopeId = syncScopeIds
+              this.syncScopeId = syncScopeIds;
             }
 
-            let point_types = self.$store.getters.point_types
-            let point_type_map = {}
-            for(let i in point_types){
-              point_type_map[point_types[i].id] = point_types[i]
+            let point_types = JSON.parse(localStorage.getItem('SET_POINT_TYPES'))
+            let point_type_map = {};
+            for (let i in point_types) {
+              point_type_map[point_types[i].id] = point_types[i];
             }
-            let data = res.data.data.list
+            let data = res.data.data.list;
             // 处理添加人员的组件选中问题
-            this.rules_employee_arr.employee = []
-            this.add_employee_not_select = []
-            for(let i in data){
-              this.rules_employee_arr.employee.push({id: data[i].id, img_url: data[i].img_url, name: data[i].name})
+            this.rules_employee_arr.employee = [];
+            this.add_employee_not_select = [];
+            for (let i in data) {
+              this.rules_employee_arr.employee.push({ id: data[i].id, img_url: data[i].img_url, name: data[i].name });
               if (data[i].entry_limit == '-1') {
-                data[i].entry_limit = ''
+                data[i].entry_limit = '';
               }
-              if(data[i].point_limit !== null && data[i].point_limit.length == 0){
-                data[i].point_limit = [{name: "A分", point: 0, pt_id: 2},{name: "B分", point: 0, pt_id: 3}]
+              if (data[i].point_limit !== null && data[i].point_limit.length == 0) {
+                data[i].point_limit = [{ name: 'A分', point: 0, pt_id: 2 }, { name: 'B分', point: 0, pt_id: 3 }];
               }
-              if(data[i].deduct_task_monthly !== null && data[i].deduct_task_monthly.length == 0){
-                data[i].deduct_task_monthly = [{name: "A分", point: 0, pt_id: 2},{name: "B分", point: 0, pt_id: 3}]
+              if (data[i].deduct_task_monthly !== null && data[i].deduct_task_monthly.length == 0) {
+                data[i].deduct_task_monthly = [{ name: 'A分', point: 0, pt_id: 2 }, { name: 'B分', point: 0, pt_id: 3 }];
               }
-              if(data[i].reward_task_monthly !== null && data[i].reward_task_monthly.length == 0){
-                data[i].reward_task_monthly = [{name: "A分", point: 0, pt_id: 2},{name: "B分", point: 0, pt_id: 3}]
+              if (data[i].reward_task_monthly !== null && data[i].reward_task_monthly.length == 0) {
+                data[i].reward_task_monthly = [{ name: 'A分', point: 0, pt_id: 2 }, { name: 'B分', point: 0, pt_id: 3 }];
               }
-              if(!data[i]['point_limit_obj']){
-                data[i]['point_limit_obj'] = {}
+              if (!data[i]['point_limit_obj']) {
+                data[i]['point_limit_obj'] = {};
               }
-              if(self.item_info.code!='creator'){
-                for(let k in data[i].point_limit){
-                  data[i]['point_limit_obj'][point_type_map[data[i].point_limit[k].pt_id].code] = data[i].point_limit[k].point
+              if (self.item_info.code != 'creator') {
+                for (let k in data[i].point_limit) {
+                  data[i]['point_limit_obj'][point_type_map[data[i].point_limit[k].pt_id].code] = data[i].point_limit[k].point;
                 }
               }
-              this.add_employee_not_select.push(data[i].id)
+              this.add_employee_not_select.push(data[i].id);
             }
-            this.table_list = data
-            this.removeAdmin()
+            this.table_list = data;
+            this.removeAdmin();
           } else {
-            self.$message.error(res.data.msg)
+            self.$message.error(res.data.msg);
           }
-        }).finally(() => {
-          self.table_loading = false
         })
-      },
-
-      handleSelectionChange(val){
-        this.del_arr = []
-        val.forEach(element => {
-          this.del_arr.push(element.id)
+        .finally(() => {
+          self.table_loading = false;
         });
-      },
-      del_btn(){
-        let self = this
-        if (!self.radio) {
-          if (bool) {
-            this.$message({
-              message: '请选择要删除的人员',
-              type: 'warning'
-            });
-            bool = false
-            setTimeout(() => {
-              bool = true
-            }, 5000)
-          } else {
-          }
-          return false
+    },
+
+    handleSelectionChange(val) {
+      this.del_arr = [];
+      val.forEach(element => {
+        this.del_arr.push(element.id);
+      });
+    },
+    del_btn() {
+      let self = this;
+      if (!self.radio) {
+        if (bool) {
+          this.$message({message: '请选择要删除的人员',type: 'warning'});
+          bool = false;
+          setTimeout(() => {
+            bool = true;
+          }, 5000);
+        } else {
         }
-        self.$confirm('确定要删除该人员?', '提示', {
+        return false;
+      }
+      self
+        .$confirm('确定要删除该人员?', '提示', {
           confirmButtonText: '确定',
           cancelButtonText: '取消',
           type: 'warning'
-        }).then(() => {
-          if(self.radio == self.$store.getters.user_info.id){
-            this.$message({message: '不可删除自己',type: 'warning'});
-            return
-          }
-          self.$http('DELETE','/api/role/user',{role_id: self.item_info.id,employee_id: self.radio}).then((res) => {
-            if (res.data.code == 1) {
-              self.radio = ''
-              self.$message.success(res.data.msg)
-            }else{
-              self.$message.error(res.data.msg)
-            }
-          }).catch((e) => {self.$message.error(e.data.msg)}).finally(()=>{
-            this.get_table_list()
-          })
-        })
-      },
-      add_employee(){
-
-      },
-      add_employee_confirm(val){
-        let self = this
-        self.employee_arr = []
-        val.employee.forEach(element => {
-          self.employee_arr.push(element.id)
-        });
-        this.postData()
-      },
-       //公共弹窗关闭
-      publicClose(){
-        this.add_employee_show=false;
-        this.management_scope_show=false;
-      },
-      sub_add_employee(form){
-        let self = this
-        this.$nextTick(()=>{
-          this.$refs.Employee.confirm()
         })
-      },
-      // 批量添加管理者
-      postData(){
-        let self = this
-        let data = {target:[]}
-        self.employee_arr.forEach(element => {
-          data.target.push({role_id: self.item_info.id,employee_id: element})
+        .then(() => {
+          if (self.radio == self.$store.getters.user_info.id) {
+            this.$message({ message: '不可删除自己', type: 'warning' });
+            return;
+          }
+          self
+            .$http('DELETE', '/api/role/user', { role_id: self.item_info.id, employee_id: self.radio })
+            .then(res => {
+              if (res.data.code == 1) {
+                self.radio = '';
+                self.$message.success(res.data.msg);
+              } else {
+                self.$message.error(res.data.msg);
+              }
+            })
+            .catch(e => {
+              self.$message.error(e.data.msg);
+            })
+            .finally(() => {
+              this.get_table_list();
+            });
         });
-        if(data.target.length != 0){
-          self.add_employee_show= false
-          this.$nextTick(()=>{
-            self.$http('POST','/api/role/user/many',data,).then((res) => {
+    },
+    add_employee() {},
+    add_employee_confirm(val) {
+      let self = this;
+      self.employee_arr = [];
+      val.employee.forEach(element => {
+        self.employee_arr.push(element.id);
+      });
+      this.postData();
+    },
+    //公共弹窗关闭
+    publicClose() {
+      this.add_employee_show = false;
+      this.management_scope_show = false;
+    },
+    sub_add_employee(form) {
+      let self = this;
+      this.$nextTick(() => {
+        this.$refs.Employee.confirm();
+      });
+    },
+    // 批量添加管理者
+    postData() {
+      let self = this;
+      let data = { target: [] };
+      self.employee_arr.forEach(element => {
+        data.target.push({ role_id: self.item_info.id, employee_id: element });
+      });
+      if (data.target.length != 0) {
+        self.add_employee_show = false;
+        this.$nextTick(() => {
+          self
+            .$http('POST', '/api/role/user/many', data)
+            .then(res => {
               if (res.data.code == 1) {
-                self.$message.success('已经添加成功,请稍后刷新查看')
-              } else{
-                self.$message.error(res.data.msg)
+                self.$message.success('已经添加成功,请稍后刷新查看');
+              } else {
+                self.$message.error(res.data.msg);
               }
-            }).catch((e) => {self.$message.error(e.data.msg)})
-          })
-        }else{
-          if (bool) {
-            this.$message({
-              message: '请选择人员',
-              type: 'warning'
+            })
+            .catch(e => {
+              self.$message.error(e.data.msg);
             });
-            bool = false
-            setTimeout(() => {
-              bool = true
-            }, 5000)
-          } else {
-            // console.log('不执行')
-          }
-        }
-      },
-      getPointType(id){
-        let pointMap = window.plus?JSON.parse(plus.storage.getItem('SET_POINT_TYPES')): JSON.parse(localStorage.getItem('SET_POINT_TYPES'))
-        let name = null
-        pointMap.forEach(element => {
-          if (element.id == id) {
-            name = element.name
-          }
         });
-        return name
-      },
-      removeAdmin(){
-        for (const key in this.employee_map) {
-          this.employee_map[key].role_list.forEach(element => {
-            if(element.name == 'creator'){
-              this.add_employee_not_select.push(this.employee_map[key].id)
-            }
+      } else {
+        if (bool) {
+          this.$message({
+            message: '请选择人员',
+            type: 'warning'
           });
+          bool = false;
+          setTimeout(() => {
+            bool = true;
+          }, 5000);
+        } else {
+          // console.log('不执行')
         }
-      },
-      //点击搜索
-      onFilterChanged: function() {
-        this.get_table_list()
-      },
+      }
     },
-    mounted() {
-      this.isStart=this.$authoritys('creator');
-      this.$store.dispatch('GetUserInfo')
-      this.get_role_list()
-      if (localStorage.getItem('role_tips')) {
-        this.tips_show = false
-      }else{
-        this.tips_show = true
+    getPointType(id) {
+      let pointMap = window.plus ? JSON.parse(plus.storage.getItem('SET_POINT_TYPES')) : JSON.parse(localStorage.getItem('SET_POINT_TYPES'));
+      let name = null;
+      pointMap.forEach(element => {
+        if (element.id == id) {
+          name = element.name;
+        }
+      });
+      return name;
+    },
+    removeAdmin() {
+      for (const key in this.employee_map) {
+        this.employee_map[key].role_list.forEach(element => {
+          if (element.name == 'creator') {
+            this.add_employee_not_select.push(this.employee_map[key].id);
+          }
+        });
       }
     },
-    beforeDestroy(){
-      this.$store.dispatch('GetUserInfo')
+    //点击搜索
+    onFilterChanged: function() {
+      this.get_table_list();
     }
-  };
+  },
+  mounted() {
+    this.isStart = this.$authoritys('creator');
+    this.$store.dispatch('GetUserInfo');
+    this.get_role_list();
+    if (localStorage.getItem('role_tips')) {
+      this.tips_show = false;
+    } else {
+      this.tips_show = true;
+    }
+  },
+  beforeDestroy() {
+    this.$store.dispatch('GetUserInfo');
+  }
+};
 </script>
 <style scoped lang="scss">
-  .el-radios /deep/ .el-radio__label {
-  	display: none;
-  }
-  /deep/ .radioBox .el-radio__label {
-  	display: inline-block;
-  }
-  /deep/ .el-menu-item{
-		overflow: hidden;
-		white-space: nowrap;
-		text-overflow: ellipsis;
-  }
-  .tips_alert {
-    margin-bottom: 20px;
-    background: #fdf6ec;
-    padding: 2px 10px;
-    font-size: 13px;
-    position: relative;
-    color: #606266;
-  }
+.el-radios /deep/ .el-radio__label {
+  display: none;
+}
+/deep/ .radioBox .el-radio__label {
+  display: inline-block;
+}
+/deep/ .el-menu-item {
+  overflow: hidden;
+  white-space: nowrap;
+  text-overflow: ellipsis;
+}
+.tips_alert {
+  margin-bottom: 20px;
+  background: #fdf6ec;
+  padding: 2px 10px;
+  font-size: 13px;
+  position: relative;
+  color: #606266;
+}
 
-  .tips_alert i {
-    font-size: 12px;
-    opacity: 1;
-    position: absolute;
-    top: 12px;
-    right: 15px;
-    cursor: pointer;
-    color: #C0C4CC;
-  }
+.tips_alert i {
+  font-size: 12px;
+  opacity: 1;
+  position: absolute;
+  top: 12px;
+  right: 15px;
+  cursor: pointer;
+  color: #c0c4cc;
+}
 
-  .tips_alert span {
-    color: #E6A23C;
+.tips_alert span {
+  color: #e6a23c;
+}
+.text-center {
+  text-align: center;
+}
+.set_role_box {
+  .person_role_box {
+    display: block;
+    padding: 14px 0;
   }
-  .text-center{
-    text-align: center;
+  .person_role_box:hover {
+    background: #ebf5ff;
   }
-  .set_role_box {
-    .person_role_box {
-      display: block;
-      padding: 14px 0;
-    }
-    .person_role_box:hover {
-      background: #EBF5FF;
-    }
 
-    .person_role_box:hover .pic {
-      background: #26A2FF;
-    }
-
-    .pic {
-      display: inline-block;
-      vertical-align: middle;
-      width: 24px;
-      height: 24px;
-      background: #D8D8D8;
-      margin-right: 6px;
-    }
-
-    .name {
-      display: inline-block;
-      vertical-align: middle;
-      font-size: 14px;
-      color: #303133;
-    }
-
-    .role_list {
-      position: relative;
-      display: table-cell;
-      margin: 0 !important;
-      padding: 0;
-    }
-
-    .role_list:after {
-      content: " ";
-      position: absolute;
-      top: 0;
-      left: 0;
-      bottom: 0;
-      width: 1px;
-      background: #EBEEF5;
-    }
-
-    .role_list /deep/ .el-input__suffix i {
-      width: 58px;
-      color: #909399;
-      margin-right: -5px;
-      background: #DCDFE6;
-      border-radius: 0 4px 4px 0;
-    }
+  .person_role_box:hover .pic {
+    background: #26a2ff;
   }
-  .tips{
-    background: #DCDFE6;
-    border-radius: 50%;
-    width: 14px;
-    height: 14px;
-    color: #fff;
+
+  .pic {
     display: inline-block;
-    font-size: 12px;
-    line-height: 14px;
-    text-align: center;
+    vertical-align: middle;
+    width: 24px;
+    height: 24px;
+    background: #d8d8d8;
+    margin-right: 6px;
   }
 
-  .tableListClass{
-    .el-radio{
-      /deep/ .el-radio__label{
-        display: none;
-      }
-    }
+  .name {
+    display: inline-block;
+    vertical-align: middle;
+    font-size: 14px;
+    color: #303133;
   }
 
-  .set_role_div{
-    // margin:12px auto;
-    background:#fff;
-    min-height: calc(100vh - 160px);
-    display: flex;
-  }
-  .diy-tip{
-    margin-bottom:15px;background:#f0f9eb!important;color:#67c23a!important;border:1px solid #67c23a;padding:20px 16px;
-    p{
-      color:#67c23a!important;font-size:14px;margin:0 !important;padding:4px 0;
-    }
+  .role_list {
+    position: relative;
+    display: table-cell;
+    margin: 0 !important;
+    padding: 0;
   }
-  .cursor_pointer{
-    cursor: pointer;
+
+  .role_list:after {
+    content: ' ';
+    position: absolute;
+    top: 0;
+    left: 0;
+    bottom: 0;
+    width: 1px;
+    background: #ebeef5;
   }
-  .red_tips{
-    margin-bottom: 15px;
-    color: #f56c6c;
+
+  .role_list /deep/ .el-input__suffix i {
+    width: 58px;
+    color: #909399;
+    margin-right: -5px;
+    background: #dcdfe6;
+    border-radius: 0 4px 4px 0;
   }
-  .roleTipClass{
-    font-size:12px;
-    color:#909399;
-    margin-bottom:20px;
+}
+.tips {
+  background: #dcdfe6;
+  border-radius: 50%;
+  width: 14px;
+  height: 14px;
+  color: #fff;
+  display: inline-block;
+  font-size: 12px;
+  line-height: 14px;
+  text-align: center;
+}
+
+.tableListClass {
+  .el-radio {
+    /deep/ .el-radio__label {
+      display: none;
+    }
   }
-  .roleNameClass{
-    // display:block;
-    font-size:20px;
-    color:#303133;
+}
+
+.set_role_div {
+  // margin:12px auto;
+  background: #fff;
+  min-height: calc(100vh - 160px);
+  display: flex;
+}
+.diy-tip {
+  margin-bottom: 15px;
+  background: #f0f9eb !important;
+  color: #67c23a !important;
+  border: 1px solid #67c23a;
+  padding: 20px 16px;
+  p {
+    color: #67c23a !important;
+    font-size: 14px;
+    margin: 0 !important;
+    padding: 4px 0;
   }
+}
+.cursor_pointer {
+  cursor: pointer;
+}
+.red_tips {
+  margin-bottom: 15px;
+  color: #f56c6c;
+}
+.roleTipClass {
+  font-size: 12px;
+  color: #909399;
+  margin-bottom: 20px;
+}
+.roleNameClass {
+  // display:block;
+  font-size: 20px;
+  color: #303133;
+}
 </style>

+ 5 - 6
src/views/statistics_new/integral_event.vue

@@ -609,12 +609,11 @@ export default {
           } else {
             this.$message({ type: 'error', message: res.data.msg });
           }
-        })
-        .finally(() => {
-          setTimeout(() => {
-            this.update_btn = false;
-          }, 3000);
-        });
+      }).finally(() => {
+        setTimeout(() => {
+          this.update_btn = false;
+        }, 3000);
+      });
     },
     handlePictureCardPreview(response) {
       if (response.code == 1) {

+ 73 - 136
src/views/statistics_new/integral_statistics.vue

@@ -2,22 +2,9 @@
   <div>
     <div class="integral_statistics_box">
       <el-row :gutter="10" style="margin-bottom: 20px;margin-right:8px;">
+        <el-col :span="5"><el-date-picker v-model="formData.month" type="month" placeholder="请选择月份" value-format="yyyy-MM" :clearable="false"></el-date-picker></el-col>
         <el-col :span="5">
-          <el-date-picker
-            v-model="formData.month"
-            type="month"
-            placeholder="请选择月份"
-            value-format="yyyy-MM"
-            :clearable="false"
-          ></el-date-picker>
-        </el-col>
-        <el-col :span="5">
-          <deptData
-            deptStyle="width:150px;left:200px;"
-            v-if="toPdept1 && toPdept1 != 0"
-            :refsName="$refs.dept1"
-            :toPdept="toPdept1"
-          ></deptData>
+          <deptData deptStyle="width:150px;left:200px;" v-if="toPdept1 && toPdept1 != 0" :refsName="$refs.dept1" :toPdept="toPdept1"></deptData>
           <el-cascader
             v-model="dept_name"
             :options="dept_tree"
@@ -30,30 +17,17 @@
             clearable
           >
             <template slot-scope="{ node, data }">
-              <span>
-                <WWOpenData
-                  type="departmentName"
-                  :openid="data.name"
-                ></WWOpenData>
-              </span>
+              <span><WWOpenData type="departmentName" :openid="data.name"></WWOpenData></span>
               <!-- <span v-if="!node.isLeaf"> ({{ data.children.length }}) </span> -->
             </template>
           </el-cascader>
         </el-col>
         <el-col :span="5" class="search">
-          <el-input
-            v-model="formData.keyword"
-            placeholder="输入同事姓名"
-            @keyup.enter.native="get_all_integral"
-          >
-            <el-button
-              slot="append"
-              @click="get_all_integral"
-              icon="el-icon-search"
-            ></el-button>
+          <el-input v-model="formData.keyword" placeholder="输入同事姓名" @keyup.enter.native="get_all_integral">
+            <el-button slot="append" @click="get_all_integral" icon="el-icon-search"></el-button>
           </el-input>
         </el-col>
-<!--        <el-col :offset="6" :span="3">
+        <!--        <el-col :offset="6" :span="3">
           <el-button
             class="company_intergral_button"
             @click="export_all"
@@ -65,29 +39,11 @@
         </el-col> -->
       </el-row>
 
-      <el-table
-        :data="all_integral_list"
-        style="width: 100%"
-        v-loading="loading"
-        @row-click="open_all_integral"
-      >
+      <el-table :data="all_integral_list" style="width: 100%" v-loading="loading" @row-click="open_all_integral">
         <el-table-column prop="employee_name" label="姓名" align="left">
           <template slot-scope="scope">
-            <span class="fl">
-              <userImage
-                :id="scope.row.employee_id"
-                width="50px"
-                height="50px"
-                :user_name="scope.row.employee_name"
-              ></userImage>
-            </span>
-            <span
-              style="margin-left: 10px; line-height: 50px; display: inline-block"
-              ><WWOpenData
-                type="userName"
-                :openid="scope.row.employee_name"
-              ></WWOpenData
-            ></span>
+            <span class="fl"><userImage :id="scope.row.employee_id" width="50px" height="50px" :user_name="scope.row.employee_name"></userImage></span>
+            <span style="margin-left: 10px; line-height: 50px; display: inline-block"><WWOpenData type="userName" :openid="scope.row.employee_name"></WWOpenData></span>
           </template>
         </el-table-column>
         <!-- <el-table-column prop="performance" label="绩效分" align="center">
@@ -99,16 +55,12 @@
         </el-table-column> -->
         <el-table-column prop="a" label="A分" align="center">
           <template slot-scope="scope">
-            <span :class="scope.row.a < 0 ? 'color_green' : ''">{{
-              scope.row.a
-            }}</span>
+            <span :class="scope.row.a < 0 ? 'color_green' : ''">{{ scope.row.a }}</span>
           </template>
         </el-table-column>
         <el-table-column prop="b" label="B分" align="center">
           <template slot-scope="scope">
-            <span :class="scope.row.b < 0 ? 'color_green' : ''">{{
-              scope.row.b
-            }}</span>
+            <span :class="scope.row.b < 0 ? 'color_green' : ''">{{ scope.row.b }}</span>
           </template>
         </el-table-column>
 
@@ -127,21 +79,13 @@
           layout="total, sizes, prev, pager, next"
           :page-size="pageLimit1"
           :total="total"
-        >
-        </el-pagination>
+        ></el-pagination>
       </center>
 
-      <el-drawer
-        :visible.sync="all_integral_show"
-        :before-close="drawer_close"
-        :with-header="false"
-      >
+      <el-drawer :visible.sync="all_integral_show" :before-close="drawer_close" :with-header="false">
         <div class="drawer_title">
-          <WWOpenData
-            type="userName"
-            :openid="all_integral_row.employee_name"
-          ></WWOpenData
-          >的积分
+          <WWOpenData type="userName" :openid="all_integral_row.employee_name"></WWOpenData>
+          的积分
         </div>
         <div style="padding: 30px">
           <el-row>
@@ -158,21 +102,16 @@
             <span class="title">没有对应的数据</span>
           </div>
         </div>
-        <div
-          id="chartLineBox"
-          v-loading="chartLoading"
-          v-show="!noChartData"
-          style="height: 300px;"
-        ></div>
+        <div id="chartLineBox" v-loading="chartLoading" v-show="!noChartData" style="height: 300px;"></div>
       </el-drawer>
     </div>
   </div>
 </template>
 <script>
-import { getToken } from "@/utils/auth";
-import echarts from "echarts";
-import season from "@/components/season";
-import noData from "@/components/noData";
+import { getToken } from '@/utils/auth';
+import echarts from 'echarts';
+import season from '@/components/season';
+import noData from '@/components/noData';
 
 export default {
   data() {
@@ -182,9 +121,9 @@ export default {
       loading: false,
       all_integral_list: null,
       formData: {
-        month: this.$moment().format("YYYY-MM"),
-        keyword: "",
-        dept_id: "",
+        month: this.$moment().format('YYYY-MM'),
+        keyword: '',
+        dept_id: '',
         page: 1,
         page_size: 10
       },
@@ -192,21 +131,21 @@ export default {
       dept_tree: [],
       dept_name: [],
       sort_checked: false,
-      point_types: JSON.parse(localStorage.getItem("SET_POINT_TYPES")),
+      point_types: JSON.parse(localStorage.getItem('SET_POINT_TYPES')),
       integral_ranking_list: [],
       all_integral_show: false,
       all_integral_row: {},
       chartLine: null,
-      radio: "1",
+      radio: '1',
       pageLimit1: 10,
       noChartData: false,
       chartLoading: false,
       toPdept1: 0,
 
-      deriveJobId: "",
+      deriveJobId: '',
       deriveJobIf: 0,
       deriveDis: false,
-      aherfUrl: ""
+      aherfUrl: ''
     };
   },
   components: { season, noData },
@@ -222,7 +161,7 @@ export default {
       this.all_integral_row = row;
       this.initEChartOption();
       this.$nextTick(() => {
-        this.chartLine = echarts.init(document.getElementById("chartLineBox"));
+        this.chartLine = echarts.init(document.getElementById('chartLineBox'));
       });
       this.get_Bdata();
     },
@@ -232,13 +171,13 @@ export default {
     },
     drawer_close() {
       this.all_integral_show = false;
-      this.radio = "1";
+      this.radio = '1';
     },
     get_all_integral() {
       let self = this;
       self.loading = true;
       self
-        .$http("get", "/api/integral/statistics/list", self.formData)
+        .$http('get', '/api/integral/statistics/list', self.formData)
         .then(res => {
           if (res.data.code == 1) {
             self.all_integral_list = res.data.data.list;
@@ -264,14 +203,14 @@ export default {
     },
     downloadResult() {
       if (this.deriveJobIf < 5) {
-        this.$http("get", "/api/download/result", {
+        this.$http('get', '/api/download/result', {
           job_id: this.deriveJobId
         }).then(res => {
           if (res.data.code == 1) {
             // window.open(res.data.data.url)
             // window.location.href = res.data.data.url
             this.aherfUrl = res.data.data.url;
-            this.deriveJobId = "";
+            this.deriveJobId = '';
             this.deriveDis = false;
             this.$nextTick(() => {
               this.$refs.aherfClick.click();
@@ -286,18 +225,18 @@ export default {
         });
       } else {
         this.deriveJobIf = 0;
-        this.deriveJobId = "";
+        this.deriveJobId = '';
         this.deriveDis = false;
-        this.aherfUrl = "";
-        this.$message.warning("导出超时");
+        this.aherfUrl = '';
+        this.$message.warning('导出超时');
       }
     },
     export_all() {
-      this.aherfUrl = "";
-      this.$confirm("确认导出统计报表?", "导出", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning"
+      this.aherfUrl = '';
+      this.$confirm('确认导出统计报表?', '导出', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
       })
         .then(() => {
           this.deriveDis = true;
@@ -309,7 +248,7 @@ export default {
             data_type: 2,
             employee_id: this.$store.getters.user_info.id
           };
-          this.$http("get", "/api/download/list", params).then(res => {
+          this.$http('get', '/api/download/list', params).then(res => {
             if (res.data.code == 1) {
               this.deriveJobId = res.data.data.job_id;
               this.downloadResult();
@@ -324,17 +263,17 @@ export default {
       let token = this.$getToken ? this.$getToken : getToken();
       window.open(
         process.env.BASE_API +
-          "/api/download/list?month=" +
+          '/api/download/list?month=' +
           this.formData.month +
-          "&keyword=" +
+          '&keyword=' +
           this.formData.keyword +
-          "&dept_id=" +
+          '&dept_id=' +
           this.formData.dept_id +
-          "&async=0&data_type=2&employee_id=" +
+          '&async=0&data_type=2&employee_id=' +
           this.$store.getters.user_info.id +
-          "&token=" +
+          '&token=' +
           token,
-        "_blank"
+        '_blank'
       );
     },
     initEChartOption() {
@@ -342,27 +281,27 @@ export default {
         tooltip: { show: false },
         grid: {
           containLabel: true,
-          top: "4%",
-          right: "4%",
-          bottom: "5%",
-          left: "7%"
+          top: '4%',
+          right: '4%',
+          bottom: '5%',
+          left: '7%'
         },
         xAxis: {
-          type: "category",
+          type: 'category',
           boundaryGap: false,
-          axisLine: { lineStyle: { color: "#eee" } },
-          axisLabel: { color: "#333" }
+          axisLine: { lineStyle: { color: '#eee' } },
+          axisLabel: { color: '#333' }
         },
         yAxis: {
-          position: "right",
-          axisLine: { lineStyle: { color: "#eee" } },
-          axisLabel: { color: "#333" },
-          type: "value",
-          splitLine: { lineStyle: { color: "#eee" } }
+          position: 'right',
+          axisLine: { lineStyle: { color: '#eee' } },
+          axisLabel: { color: '#333' },
+          type: 'value',
+          splitLine: { lineStyle: { color: '#eee' } }
         },
         series: {
-          type: "line",
-          lineStyle: { normal: { color: "#26A2FF" } }
+          type: 'line',
+          lineStyle: { normal: { color: '#26A2FF' } }
         }
       };
     },
@@ -371,11 +310,11 @@ export default {
       let self = this;
       let month = self.formData.month;
       if (!month) {
-        month = self.$moment().format("YYYY-MM");
+        month = self.$moment().format('YYYY-MM');
       }
       self.chartLoading = true;
       self
-        .$http("get", "/api/integral/statistics/a", {
+        .$http('get', '/api/integral/statistics/a', {
           employee_id: self.all_integral_row.employee_id,
           month: month
         })
@@ -407,11 +346,11 @@ export default {
       let self = this;
       let month = self.formData.month;
       if (!month) {
-        month = self.$moment().format("YYYY-MM");
+        month = self.$moment().format('YYYY-MM');
       }
       self.chartLoading = true;
       self
-        .$http("get", "/api/integral/statistics/b", {
+        .$http('get', '/api/integral/statistics/b', {
           employee_id: self.all_integral_row.employee_id,
           month: month
         })
@@ -443,11 +382,11 @@ export default {
       let self = this;
       let month = self.formData.month;
       if (!month) {
-        month = self.$moment().format("YYYY-MM");
+        month = self.$moment().format('YYYY-MM');
       }
       self.chartLoading = true;
       self
-        .$http("get", "/api/integral/statistics/performance", {
+        .$http('get', '/api/integral/statistics/performance', {
           employee_id: self.all_integral_row.employee_id,
           month: month
         })
@@ -499,10 +438,8 @@ export default {
     }
   },
   mounted() {
-    if (localStorage.getItem("dept_tree")) {
-      this.dept_tree = this.getTreeData(
-        JSON.parse(localStorage.getItem("dept_tree"))
-      );
+    if (localStorage.getItem('dept_tree')) {
+      this.dept_tree = this.getTreeData(JSON.parse(localStorage.getItem('dept_tree')));
     }
     this.get_all_integral();
   },
@@ -522,11 +459,11 @@ export default {
         this.get_JXdata();
       }
     },
-    "formData.month"(val, old_val) {
+    'formData.month'(val, old_val) {
       this.formData.page = 1;
       this.get_all_integral();
     },
-    "formData.dept_id"(val, old_val) {
+    'formData.dept_id'(val, old_val) {
       if (!val) {
         this.formData.dept_id = 0;
       }
@@ -585,7 +522,7 @@ export default {
       padding-right: 5px;
 
       &:after {
-        content: "";
+        content: '';
         position: absolute;
         margin-top: -2px;
         top: 35%;
@@ -602,7 +539,7 @@ export default {
       padding-left: 12px;
 
       &:after {
-        content: "";
+        content: '';
         position: absolute;
         margin-top: -2px;
         top: 35%;

+ 1 - 2
src/views/workbench/approval_list.vue

@@ -53,8 +53,7 @@
                   scope.row.source_type == 4 ? '绩效工作' :
                   ''
                 }}
-                </span
-              >
+                </span>
               <!-- <span class="tableTitle" v-show="scope.row.source_type == 1"
                 ><WWOpenData type="userName" :openid="scope.row.employee_name"></WWOpenData>的积分任务</span
               >

+ 1 - 1
src/views/workbench/grade/award_punish.vue

@@ -206,7 +206,7 @@
           </el-col>
           <el-col :span="20" v-else-if="item.key == '收益人'">
             <WWOpenData type="userName" :openid="item.value"></WWOpenData>
-					</el-col>
+			</el-col>
           <el-col :span="20" v-else-if="item.key == '奖扣目标'">
             <WWOpenData type="userName" :openid="item.value"></WWOpenData>
 					</el-col>

+ 1 - 1
src/views/workbench/performance/team_detail.vue

@@ -614,7 +614,7 @@ import EmployeeSelector from '@/views/common/EmployeeSelector';
     }
   },
   created () {
-    let point_types = this.$store.getters.point_types
+    let point_types = JSON.parse(localStorage.getItem('SET_POINT_TYPES'))
     for (let i in point_types) {
       if (point_types[i].code == 'JX') {
         this.examineItem.pt_id = point_types[i].id