|
@@ -1,7 +1,7 @@
|
|
|
<template>
|
|
|
<div>
|
|
|
- <el-alert class="diy-tip" title="什么是固定积分?" @close="tips_close" v-if="tips_show" type="success" description show-icon>
|
|
|
- <p>系统按照设定的时间(每月/每周/每日) 自动给员工添加的积分,比如某员工有一个工程师证,得到公司的认可,公司就会每月给他加分</p>
|
|
|
+ <el-alert class="diy-tip" title="什么是自动积分?" @close="tips_close" v-if="tips_show" type="success" description show-icon>
|
|
|
+ <p>系统按照设定的时间(每月/每周/每日) 自动给员工添加B分,比如某员工有一个工程师证,得到公司的认可,公司就会每月给他加分</p>
|
|
|
</el-alert>
|
|
|
<div class="all">
|
|
|
<div class="flex-box">
|
|
@@ -36,26 +36,18 @@
|
|
|
<el-col :span="24" v-show="rule_list.length == 0 || item_list.length == 0 || diyige == true" style="text-align: center;margin: 0 auto;position: relative;top: 30%;">
|
|
|
<p><img src="@/assets/image/nodata_default.png" width="200px" alt="" /></p>
|
|
|
<p style="color: #909399;">
|
|
|
- 还没有
|
|
|
- <span v-if="rule_list.length == 0">加分组和</span>
|
|
|
- 加分项
|
|
|
+ 还没有<span v-if="rule_list.length == 0">加分组和</span>加分项
|
|
|
</p>
|
|
|
<p style="color: #909399;">
|
|
|
<span v-if="rule_list.length == 0">先</span>
|
|
|
- <span style="color: #26A2FF;cursor:pointer;" v-if="rule_list.length == 0" @click="add_grouping()">【添加加分组】</span>
|
|
|
- ,
|
|
|
+ <span style="color: #26A2FF;cursor:pointer;" v-if="rule_list.length == 0" @click="add_grouping()">【新增加分组】</span>
|
|
|
<span v-if="rule_list.length == 0">再</span>
|
|
|
<span v-if="rule_list.length !== 0">请</span>
|
|
|
- <span style="color: #26A2FF;cursor:pointer" @click="add_rules_detail">【添加加分项】</span>
|
|
|
+ <span style="color: #26A2FF;cursor:pointer" @click="add_rules_detail">【新增加分项】</span>
|
|
|
</p>
|
|
|
</el-col>
|
|
|
<el-col v-if="item_list.length != 0 && diyige == false" >
|
|
|
<el-row>
|
|
|
- <!-- 移除隐藏 -->
|
|
|
- <!-- <el-col :span="24" style="font-size:20px;color:#303133;line-height:36px;display:flex;flex-wrap: wrap;">
|
|
|
- <div style="width:5%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap">
|
|
|
- <span>{{right_rules_detail.remark}}</span>
|
|
|
- </div> -->
|
|
|
<el-col :span="24" style="font-size:20px;color:#303133;line-height:36px;">
|
|
|
{{ right_rules_detail.remark }}
|
|
|
<span style="padding-left: 10px;">{{ right_rules_detail.min_point }}B分</span>
|
|
@@ -116,37 +108,37 @@
|
|
|
|
|
|
<!-- 可写公共组建: -->
|
|
|
<!-- 新增加分组弹出框 -->
|
|
|
- <el-dialog :close-on-click-modal="false" :title="grouping_type ? '编辑分类' : '新增分类'" :visible.sync="dialogVisible" width="40%">
|
|
|
+ <el-dialog :close-on-click-modal="false" :title="grouping_type ? '编辑加分组' : '新增加分组'" :visible.sync="dialogVisible" width="40%">
|
|
|
<el-form :model="numberValidateForm" ref="numberValidateForm" label-width="100px" class="demo-ruleForm">
|
|
|
- <el-form-item label="分组名称" prop="name" :rules="[{ required: true, message: '请输入分组名称' }]">
|
|
|
- <el-input type="age" v-model="numberValidateForm.name" autocomplete="off" placeholder="请输入分组名称"></el-input>
|
|
|
+ <el-form-item label="加分组名称" prop="name" :rules="[{ required: true, message: '请输入加分组名称' }]">
|
|
|
+ <el-input type="age" v-model="numberValidateForm.name" autocomplete="off" placeholder="请输入加分组名称"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
<span slot="footer" class="dialog-footer" style=" overflow: hidden;">
|
|
|
<el-button class="fl" type="danger" v-show="grouping_type" @click="del_grouping(numberValidateForm)" style="float:left" :disabled="disabled">删除</el-button>
|
|
|
- <el-button type="primary" @click="submitForm('numberValidateForm')" :disabled="disabled">确 定</el-button>
|
|
|
<el-button @click="dialogVisible = false">取 消</el-button>
|
|
|
+ <el-button type="primary" @click="submitForm('numberValidateForm')" :disabled="disabled">确 定</el-button>
|
|
|
</span>
|
|
|
</el-dialog>
|
|
|
|
|
|
<!-- 新增加分项 -->
|
|
|
- <el-dialog :title="rules_detail_title ? '编辑规则' : '新增规则'" :visible.sync="dialogFormVisible" width="500px">
|
|
|
+ <el-dialog :title="rules_detail_title ? '编辑加分项' : '新增加分项'" :visible.sync="dialogFormVisible" width="500px">
|
|
|
<el-form :model="rules_detail_form" ref="rules_detail_form" :rules="rules_rules" label-width="120px">
|
|
|
- <el-form-item label="规则名称" :label-width="formLabelWidth" prop="remark" :rules="[{ required: true, message: '请输入规则名称' }]">
|
|
|
- <el-input v-model="rules_detail_form.remark" placeholder="请输入规则名称" autocomplete="off"></el-input>
|
|
|
+ <el-form-item label="加分项名称" :label-width="formLabelWidth" prop="remark" :rules="[{ required: true, message: '请输入加分项名称' }]">
|
|
|
+ <el-input v-model="rules_detail_form.remark" placeholder="请输入加分项名称" autocomplete="off"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="分类" :label-width="formLabelWidth" prop="rule_id" :rules="[{ required: true, message: '请选择分类' }]">
|
|
|
- <el-select v-model="rules_detail_form.rule_id" style="width: 100%;" placeholder="请选择分类">
|
|
|
+ <el-form-item label="加分组" :label-width="formLabelWidth" prop="rule_id" :rules="[{ required: true, message: '请选择加分组' }]">
|
|
|
+ <el-select v-model="rules_detail_form.rule_id" style="width: 100%;" placeholder="请选择加分组">
|
|
|
<el-option v-for="item in rule_list" :key="item.value" :label="item.name" :value="item.id"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="积分" prop="min_point" :rules="[{ required: true, message: '请输入积分' }]">
|
|
|
+ <el-form-item label="B分" prop="min_point" :rules="[{ required: true, message: '请输入B分分值' }]">
|
|
|
<el-input
|
|
|
v-model="rules_detail_form.min_point"
|
|
|
- placeholder="请输入积分"
|
|
|
+ placeholder="请输入B分分值"
|
|
|
oninput="if(this.value=='0'){this.value='';}else{this.value=this.value.replace(/[^0-9]/g,'')}"
|
|
|
></el-input>
|
|
|
- <span data-v-a17f1960 style="display: block; font-size: 12px; color: rgb(96, 98, 102);text-align: left;">固定加分加B分</span>
|
|
|
+ <!-- <span data-v-a17f1960 style="display: block; font-size: 12px; color: rgb(96, 98, 102);text-align: left;">固定加分加B分</span> -->
|
|
|
</el-form-item>
|
|
|
<!-- <el-form-item label="是否与考勤挂钩" prop="is_attendance"><el-switch v-model="is_attendance"></el-switch></el-form-item> -->
|
|
|
<div style="overflow: hidden;">
|
|
@@ -250,7 +242,6 @@ export default {
|
|
|
|
|
|
right_rules_detail: {},
|
|
|
|
|
|
- add_employee_id: '',
|
|
|
add_employee_id: '',
|
|
|
rules_detail_form: {
|
|
|
rule_id: '',
|
|
@@ -350,19 +341,10 @@ export default {
|
|
|
add_employee_show_TJ() {
|
|
|
this.add_employee_show = true; //弹出添加人员框
|
|
|
var params = {
|
|
|
- params: {
|
|
|
item_id: this.add_employee_id || '',
|
|
|
employee_id: this.employee_id || ''
|
|
|
- }
|
|
|
};
|
|
|
- this.$axios.get('/api/integral/auto/list', params).then(res => {
|
|
|
- // let grup_list = [];
|
|
|
- // for(let i=0;i<res.data.data.list.length;i++){
|
|
|
- // grup_list.push(res.data.data.list[i])
|
|
|
- // }
|
|
|
- // this.grouping = grup_list//拿到当前细则的人员
|
|
|
- // this.grouping_Json = this.res.data.data.list//拿到当前细则的人员
|
|
|
- });
|
|
|
+ this.$axios('get','/api/integral/auto/list', params).then(res => {});
|
|
|
},
|
|
|
// 添加成员点击完成
|
|
|
sub_add_employee(form) {
|
|
@@ -389,12 +371,7 @@ export default {
|
|
|
} else {
|
|
|
this.disabled = true;
|
|
|
self.staff_loading = true;
|
|
|
- self.$axios({
|
|
|
- url: '/api/integral/auto/add',
|
|
|
- method: 'post',
|
|
|
- data: data
|
|
|
- })
|
|
|
- .then(res => {
|
|
|
+ self.$axios('post','/api/integral/auto/add',data).then(res => {
|
|
|
this.disabled = false;
|
|
|
self.table_loading = false;
|
|
|
self.staff_loading = false;
|
|
@@ -440,12 +417,7 @@ export default {
|
|
|
cancelButtonText: '取消',
|
|
|
type: 'warning'
|
|
|
}).then(() => {
|
|
|
- self.$axios({
|
|
|
- url: '/api/integral/auto/delete/many',
|
|
|
- method: 'post',
|
|
|
- data: self.del_arr
|
|
|
- })
|
|
|
- .then(res => {
|
|
|
+ self.$axios('post','/api/integral/auto/delete/many',self.del_arr).then(res => {
|
|
|
if (res.data.code == 1) {
|
|
|
self.$message.success(res.data.msg);
|
|
|
// 判断当页的总数与选中的数量是否相等,如果相等,此页就无数据,就请求上一页的数据
|
|
@@ -499,12 +471,8 @@ export default {
|
|
|
} else {
|
|
|
self.rules_detail_form.is_attendance = 0;
|
|
|
}
|
|
|
- self.$axios({
|
|
|
- url: this.rules_detail_title ? 'api/integral/rule/items/edit' : '/api/integral/rule/items',
|
|
|
- method: 'post',
|
|
|
- data: data
|
|
|
- })
|
|
|
- .then(res => {
|
|
|
+ var usl=this.rules_detail_title ? 'api/integral/rule/items/edit' : '/api/integral/rule/items';
|
|
|
+ self.$axios('post',url,data).then(res => {
|
|
|
this.disabled = false;
|
|
|
this.dialogFormVisible = false;
|
|
|
setTimeout(() => {
|
|
@@ -560,12 +528,8 @@ export default {
|
|
|
} else {
|
|
|
self.rules_detail_form.is_attendance = 0;
|
|
|
}
|
|
|
- self.$axios({
|
|
|
- url: this.rules_detail_title ? 'api/integral/rule/items/edit' : '/api/integral/rule/items',
|
|
|
- method: 'post',
|
|
|
- data: data
|
|
|
- })
|
|
|
- .then(res => {
|
|
|
+ var url=this.rules_detail_title ? 'api/integral/rule/items/edit' : '/api/integral/rule/items';
|
|
|
+ self.$axios('post',url,data).then(res => {
|
|
|
this.disabled = false;
|
|
|
this.dialogFormVisible = false;
|
|
|
setTimeout(() => {
|
|
@@ -607,9 +571,9 @@ export default {
|
|
|
this.$refs[form].resetFields();
|
|
|
},
|
|
|
open_right(data) {
|
|
|
- console.log(data)
|
|
|
+ // console.log(data)
|
|
|
this.diyige = false
|
|
|
- console.log(data)
|
|
|
+ // console.log(data)
|
|
|
let self = this;
|
|
|
self.table_loading = true;
|
|
|
if (data) {
|
|
@@ -618,16 +582,12 @@ export default {
|
|
|
self.right_rules_detail = data;
|
|
|
}
|
|
|
var params = {
|
|
|
- params: {
|
|
|
item_id: self.add_employee_id || '',
|
|
|
employee_id: self.employee_id || '',
|
|
|
page: self.page,
|
|
|
page_size: Number(this.pagesize)
|
|
|
- }
|
|
|
};
|
|
|
- self.$axios
|
|
|
- .get('/api/integral/auto/list', params)
|
|
|
- .then(res => {
|
|
|
+ self.$axios('get','/api/integral/auto/list', params).then(res => {
|
|
|
self.table_loading = false;
|
|
|
if (res.data.code == 1) {
|
|
|
self.table_list = res.data.data.list || [];
|
|
@@ -651,20 +611,13 @@ export default {
|
|
|
},
|
|
|
// 删除规则
|
|
|
del_rules_detail(item) {
|
|
|
- this.$confirm('此操作将永久删除该规则, 是否继续?', '提示', {
|
|
|
+ this.$confirm('此操作将永久删除该加分项, 是否继续?', '提示', {
|
|
|
confirmButtonText: '确定',
|
|
|
cancelButtonText: '取消',
|
|
|
type: 'warning'
|
|
|
}).then(() => {
|
|
|
this.disabled = true;
|
|
|
- this.$axios({
|
|
|
- url: '/api/integral/rule/items/destroy',
|
|
|
- method: 'post',
|
|
|
- data: {
|
|
|
- item_id: item.id
|
|
|
- }
|
|
|
- })
|
|
|
- .then(res => {
|
|
|
+ this.$axios('post','/api/integral/rule/items/destroy',{item_id: item.id}).then(res => {
|
|
|
this.dialogFormVisible = false;
|
|
|
this.disabled = false;
|
|
|
if (res.data.code == 1) {
|
|
@@ -709,12 +662,8 @@ export default {
|
|
|
name: this.numberValidateForm.name
|
|
|
};
|
|
|
this.disabled = true;
|
|
|
- this.$axios({
|
|
|
- url: this.grouping_type ? 'api/integral/rule/edit' : '/api/integral/rule',
|
|
|
- method: 'post',
|
|
|
- data: data
|
|
|
- })
|
|
|
- .then(res => {
|
|
|
+ var url=this.grouping_type ? 'api/integral/rule/edit' : '/api/integral/rule';
|
|
|
+ this.$axios('post',url,data).then(res => {
|
|
|
this.dialogVisible = false;
|
|
|
this.disabled = false;
|
|
|
if (res.data.code == '1') {
|
|
@@ -747,30 +696,20 @@ export default {
|
|
|
confirmButtonText: '确定',
|
|
|
cancelButtonText: '取消',
|
|
|
type: 'warning'
|
|
|
- })
|
|
|
- .then(() => {
|
|
|
- this.disabled = true;
|
|
|
- this.$axios({
|
|
|
- url: 'api/integral/rule/destroy',
|
|
|
- method: 'post',
|
|
|
- data: {
|
|
|
- rule_id: item.id
|
|
|
+ }).then(() => {
|
|
|
+ this.disabled = true;
|
|
|
+ this.$axios('post','api/integral/rule/destroy',{rule_id: item.id}).then(res => {
|
|
|
+ this.dialogVisible = false;
|
|
|
+ this.disabled = false;
|
|
|
+ if (res.data.code == 1) {
|
|
|
+ this.get_role_lists();
|
|
|
+ this.$message.success('删除成功');
|
|
|
}
|
|
|
- })
|
|
|
- .then(res => {
|
|
|
- this.dialogVisible = false;
|
|
|
- this.disabled = false;
|
|
|
- if (res.data.code == 1) {
|
|
|
- this.get_role_lists();
|
|
|
- this.$message.success('删除成功');
|
|
|
- }
|
|
|
- })
|
|
|
- .catch(err => {
|
|
|
- this.dialogVisible = false;
|
|
|
- this.disabled = false;
|
|
|
- });
|
|
|
- })
|
|
|
- .catch(() => {
|
|
|
+ }).catch(err => {
|
|
|
+ this.dialogVisible = false;
|
|
|
+ this.disabled = false;
|
|
|
+ });
|
|
|
+ }).catch(() => {
|
|
|
setTimeout(() => {
|
|
|
this.dialogVisible = false;
|
|
|
}, 300);
|
|
@@ -781,59 +720,34 @@ export default {
|
|
|
this.table_loading = true;
|
|
|
this.rule_trees_load = true;
|
|
|
this.openeds = ['0'];//修改后 修改高亮选中项
|
|
|
- this.$axios.get('/api/integral/rule/trees', {
|
|
|
- params: {
|
|
|
- cycle_type: '2'
|
|
|
- }
|
|
|
- })
|
|
|
- .then(res => {
|
|
|
+ this.$axios('get','/api/integral/rule/trees', {cycle_type: '2'}).then(res => {
|
|
|
this.is_attendance = this.rules_detail_form.is_attendance == '0' ? false : true;
|
|
|
this.rule_list = res.data.data.rule_tree;
|
|
|
this.item_list = res.data.data.item_list;
|
|
|
- this.rule_trees_load = false;
|
|
|
- // if (this.item_list !== null) {
|
|
|
- // for (const key in this.item_list) {
|
|
|
- // for (let i = 0; i < this.item_list[key].length; i++) {
|
|
|
- // if (i == 0) {
|
|
|
- // this.open_right(this.item_list[key][i]);
|
|
|
- // return false;
|
|
|
- // }
|
|
|
- // }
|
|
|
- // }
|
|
|
- // }
|
|
|
if (this.item_list !== null) {
|
|
|
for (const key in this.item_list) {
|
|
|
for (let i = 0; i < this.item_list[key].length; i++) {
|
|
|
if (i == 0) {
|
|
|
if(this.rule_list[0].id == this.item_list[key][0].rule_id){
|
|
|
this.diyige = false
|
|
|
- console.log('不为空')
|
|
|
+ // console.log('不为空')
|
|
|
this.open_right(this.item_list[key][i]);
|
|
|
}else{
|
|
|
this.diyige = true
|
|
|
- console.log('这是第一个为空时执行的方法')
|
|
|
+ // console.log('这是第一个为空时执行的方法')
|
|
|
this.staff_loading = false;
|
|
|
this.rule_trees_load = false;
|
|
|
this.table_loading = false;
|
|
|
}
|
|
|
- // if(this.item_list[key] == undefined){
|
|
|
- // console.log('这是第一个为空时执行的方法')
|
|
|
-
|
|
|
- // }else{
|
|
|
- // this.open_right(this.item_list[key][i]);
|
|
|
- // }
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- // console.log(this.item_list[0])
|
|
|
- // if(this.item_list['rule_108'] == undefined){
|
|
|
- // console.log('ccccccccc')
|
|
|
- // }else{
|
|
|
- // }
|
|
|
- this.table_loading = false;
|
|
|
- });
|
|
|
+ }).finally(err=>{
|
|
|
+ this.rule_trees_load = false;
|
|
|
+ this.table_loading = false;
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
};
|