|
@@ -6,23 +6,29 @@
|
|
<div class="all">
|
|
<div class="all">
|
|
<div class="flex-box">
|
|
<div class="flex-box">
|
|
<div class="terr-left">
|
|
<div class="terr-left">
|
|
- <div><el-button size="medium" @click="add_grouping()" type="primary">新增加分组</el-button></div>
|
|
|
|
- <div><el-button size="medium" @click="add_rules_detail" type="primary">新增加分项</el-button></div>
|
|
|
|
|
|
+ <div><el-button size="medium" @click="add_grouping()" type="primary">新增加分组</el-button></div>
|
|
|
|
+ <div><el-button size="medium" @click="add_rules_detail" type="primary">新增加分项</el-button></div>
|
|
|
|
|
|
<!-- 循环分组 -->
|
|
<!-- 循环分组 -->
|
|
<el-col :span="24" style="padding-right: 0;" v-loading="rule_trees_load">
|
|
<el-col :span="24" style="padding-right: 0;" v-loading="rule_trees_load">
|
|
- <el-menu :default-active='default_active' class="rule_name" :unique-opened="true">
|
|
|
|
|
|
+ <el-menu :default-active="default_active" class="rule_name" :unique-opened="true">
|
|
<el-submenu :index="index.toString()" :key="index" v-for="(item, index) in rule_list">
|
|
<el-submenu :index="index.toString()" :key="index" v-for="(item, index) in rule_list">
|
|
<template slot="title">
|
|
<template slot="title">
|
|
- <div style="width: 80%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; height: 47px;line-height: 47px;" >
|
|
|
|
|
|
+ <div style="width: 80%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; height: 47px;line-height: 47px;">
|
|
<i class="el-icon-edit-outline title_top" @click.stop="edit_grouping(item)"></i>
|
|
<i class="el-icon-edit-outline title_top" @click.stop="edit_grouping(item)"></i>
|
|
<span class="title_top">{{ item.name }}</span>
|
|
<span class="title_top">{{ item.name }}</span>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
- <el-menu-item :key="index2" :index="returnIndex(index,index2)" v-for="(data, index2) in item.child" @click="open_rights(data)" style="height: 47px;line-height: 47px;">
|
|
|
|
- <div style="overflow:hidden;text-overflow:ellipsis;white-space:nowrap">
|
|
|
|
- <span slot="title">{{ data.remark }}</span>
|
|
|
|
- </div>
|
|
|
|
|
|
+ <el-menu-item
|
|
|
|
+ :key="index2"
|
|
|
|
+ :index="returnIndex(index, index2)"
|
|
|
|
+ v-for="(data, index2) in item.child"
|
|
|
|
+ @click="open_rights(data)"
|
|
|
|
+ style="height: 47px;line-height: 47px;"
|
|
|
|
+ >
|
|
|
|
+ <div style="overflow:hidden;text-overflow:ellipsis;white-space:nowrap">
|
|
|
|
+ <span slot="title">{{ data.remark }}</span>
|
|
|
|
+ </div>
|
|
</el-menu-item>
|
|
</el-menu-item>
|
|
</el-submenu>
|
|
</el-submenu>
|
|
</el-menu>
|
|
</el-menu>
|
|
@@ -30,10 +36,12 @@
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="terr-right border-right flex-1">
|
|
<div class="terr-right border-right flex-1">
|
|
- <el-col :span="24" v-show="rule_list.length == 0 || isShowAdd" style="text-align: center;margin: 0 auto;position: relative;top: 30%;">
|
|
|
|
|
|
+ <el-col :span="24" v-show="rule_list.length == 0 || isShowAdd" style="text-align: center;margin: 0 auto;position: relative;top: 30%;">
|
|
<p><img src="@/assets/image/nodata_default.png" width="200px" alt="" /></p>
|
|
<p><img src="@/assets/image/nodata_default.png" width="200px" alt="" /></p>
|
|
<p style="color: #909399;">
|
|
<p style="color: #909399;">
|
|
- 还没有<span v-if="rule_list.length == 0">加分组和</span>加分项
|
|
|
|
|
|
+ 还没有
|
|
|
|
+ <span v-if="rule_list.length == 0">加分组和</span>
|
|
|
|
+ 加分项
|
|
</p>
|
|
</p>
|
|
<p style="color: #909399;">
|
|
<p style="color: #909399;">
|
|
<span v-if="rule_list.length == 0">先</span>
|
|
<span v-if="rule_list.length == 0">先</span>
|
|
@@ -43,8 +51,8 @@
|
|
<span style="color: #26A2FF;cursor:pointer" @click="add_rules_detail">【新增加分项】</span>
|
|
<span style="color: #26A2FF;cursor:pointer" @click="add_rules_detail">【新增加分项】</span>
|
|
</p>
|
|
</p>
|
|
</el-col>
|
|
</el-col>
|
|
-
|
|
|
|
- <el-col v-if="!isShowAdd&&right_rules_detail.remark">
|
|
|
|
|
|
+
|
|
|
|
+ <el-col v-if="!isShowAdd && right_rules_detail.remark">
|
|
<el-row>
|
|
<el-row>
|
|
<el-col :span="24" style="font-size:20px;color:#303133;line-height:36px;">
|
|
<el-col :span="24" style="font-size:20px;color:#303133;line-height:36px;">
|
|
{{ right_rules_detail.remark }}
|
|
{{ right_rules_detail.remark }}
|
|
@@ -55,22 +63,22 @@
|
|
<div class="flex-box btns flex-v-ce">
|
|
<div class="flex-box btns flex-v-ce">
|
|
<div class="flex-1">
|
|
<div class="flex-1">
|
|
<el-button size="small" @click="del_item" type="danger" plain>批量移除</el-button>
|
|
<el-button size="small" @click="del_item" type="danger" plain>批量移除</el-button>
|
|
- <el-button size="small" type="primary" @click="add_employee_show=true">添加人员</el-button>
|
|
|
|
|
|
+ <el-button size="small" type="primary" @click="add_employee_show = true">添加人员</el-button>
|
|
<el-button size="small" type="primary" plain @click="toleadShw = true">导入自动积分</el-button>
|
|
<el-button size="small" type="primary" plain @click="toleadShw = true">导入自动积分</el-button>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<div>
|
|
<el-select size="small" v-model="employee_id" filterable clearable placeholder="请输入或选择人员">
|
|
<el-select size="small" v-model="employee_id" filterable clearable placeholder="请输入或选择人员">
|
|
- <el-option v-for="item in employee_map" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
|
|
|
|
|
+ <el-option v-for="item in employee_map" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <el-table ref="multipleTable" :data="table_list" tooltip-effect="dark" style="width: 100%;margin-top:20px;" @selection-change="handleSelectionChange">
|
|
|
|
|
|
+ <el-table ref="multipleTable" :data="table_list" tooltip-effect="dark" style="width: 100%;margin-top:20px;" @selection-change="handleSelectionChange">
|
|
<el-table-column type="selection" width="45"></el-table-column>
|
|
<el-table-column type="selection" width="45"></el-table-column>
|
|
<el-table-column label="姓名">
|
|
<el-table-column label="姓名">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
<div style="display:flex">
|
|
<div style="display:flex">
|
|
<span class="fl">
|
|
<span class="fl">
|
|
- <userImage
|
|
|
|
|
|
+ <userImage
|
|
width="50px"
|
|
width="50px"
|
|
height="50px"
|
|
height="50px"
|
|
:user_name="scope.row.employee.name"
|
|
:user_name="scope.row.employee.name"
|
|
@@ -85,7 +93,7 @@
|
|
<el-table-column prop="cycle_remark" label="加分周期"></el-table-column>
|
|
<el-table-column prop="cycle_remark" label="加分周期"></el-table-column>
|
|
<el-table-column prop="update_time" label="更新时间">
|
|
<el-table-column prop="update_time" label="更新时间">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- <div>{{getUpdate(scope.row.update_time)}}</div>
|
|
|
|
|
|
+ <div>{{ getUpdate(scope.row.update_time) }}</div>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<template slot="empty">
|
|
<template slot="empty">
|
|
@@ -115,11 +123,21 @@
|
|
<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 :model="numberValidateForm" ref="numberValidateForm" label-width="100px" class="demo-ruleForm">
|
|
<el-form-item label="加分组名称" prop="name" :rules="[{ required: true, message: '请输入加分组名称' }]">
|
|
<el-form-item label="加分组名称" prop="name" :rules="[{ required: true, message: '请输入加分组名称' }]">
|
|
- <el-input type="age" v-model="numberValidateForm.name" placeholder="请输入加分组名称"></el-input>
|
|
|
|
|
|
+ <el-input type="age" v-model="numberValidateForm.name" placeholder="请输入加分组名称"></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
<span slot="footer" class="dialog-footer" style=" overflow: hidden;">
|
|
<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" :loading="disabled" :disabled="disabled">删除</el-button>
|
|
|
|
|
|
+ <el-button
|
|
|
|
+ class="fl"
|
|
|
|
+ type="danger"
|
|
|
|
+ v-show="grouping_type"
|
|
|
|
+ @click="del_grouping(numberValidateForm)"
|
|
|
|
+ style="float:left"
|
|
|
|
+ :loading="disabled"
|
|
|
|
+ :disabled="disabled"
|
|
|
|
+ >
|
|
|
|
+ 删除
|
|
|
|
+ </el-button>
|
|
<el-button @click="dialogVisible = false">取 消</el-button>
|
|
<el-button @click="dialogVisible = false">取 消</el-button>
|
|
<el-button type="primary" @click="submitForm('numberValidateForm')" :loading="disabled" :disabled="disabled">确 定</el-button>
|
|
<el-button type="primary" @click="submitForm('numberValidateForm')" :loading="disabled" :disabled="disabled">确 定</el-button>
|
|
</span>
|
|
</span>
|
|
@@ -129,7 +147,7 @@
|
|
<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 :model="rules_detail_form" ref="rules_detail_form" :rules="rules_rules" label-width="120px">
|
|
<el-form-item label="加分项名称" :label-width="formLabelWidth" prop="remark">
|
|
<el-form-item label="加分项名称" :label-width="formLabelWidth" prop="remark">
|
|
- <el-input v-model="rules_detail_form.remark" placeholder="请输入加分项名称" ></el-input>
|
|
|
|
|
|
+ <el-input v-model="rules_detail_form.remark" placeholder="请输入加分项名称"></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="加分组" :label-width="formLabelWidth" prop="rule_id">
|
|
<el-form-item label="加分组" :label-width="formLabelWidth" prop="rule_id">
|
|
<el-select v-model="rules_detail_form.rule_id" style="width: 100%;" placeholder="请选择加分组">
|
|
<el-select v-model="rules_detail_form.rule_id" style="width: 100%;" placeholder="请选择加分组">
|
|
@@ -146,14 +164,32 @@
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<!-- <el-form-item label="是否与考勤挂钩" prop="is_attendance"><el-switch v-model="is_attendance"></el-switch></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;">
|
|
<div style="overflow: hidden;">
|
|
- <el-button type="danger" v-show="rules_detail_title" class="fl" @click="del_rules_detail(rules_detail_form)" style="float:left" :loading="disabled" :disabled="disabled">
|
|
|
|
|
|
+ <el-button
|
|
|
|
+ type="danger"
|
|
|
|
+ v-show="rules_detail_title"
|
|
|
|
+ class="fl"
|
|
|
|
+ @click="del_rules_detail(rules_detail_form)"
|
|
|
|
+ style="float:left"
|
|
|
|
+ :loading="disabled"
|
|
|
|
+ :disabled="disabled"
|
|
|
|
+ >
|
|
删除
|
|
删除
|
|
</el-button>
|
|
</el-button>
|
|
|
|
|
|
- <el-button v-if="rules_detail_title" class="fr" type="primary" @click="editRule('rules_detail_form')" style="float:right" :loading="disabled" :disabled="disabled">
|
|
|
|
|
|
+ <el-button
|
|
|
|
+ v-if="rules_detail_title"
|
|
|
|
+ class="fr"
|
|
|
|
+ type="primary"
|
|
|
|
+ @click="editRule('rules_detail_form')"
|
|
|
|
+ style="float:right"
|
|
|
|
+ :loading="disabled"
|
|
|
|
+ :disabled="disabled"
|
|
|
|
+ >
|
|
|
|
+ 确 定
|
|
|
|
+ </el-button>
|
|
|
|
+ <el-button v-else class="fr" type="primary" @click="editRule('rules_detail_form')" style="float:right" :loading="disabled" :disabled="disabled">
|
|
确 定
|
|
确 定
|
|
</el-button>
|
|
</el-button>
|
|
- <el-button v-else class="fr" type="primary" @click="editRule('rules_detail_form')" style="float:right" :loading="disabled" :disabled="disabled">确 定</el-button>
|
|
|
|
<el-button class="fr" @click="rules_detail_close('rules_detail_form')" style="float:right">取 消</el-button>
|
|
<el-button class="fr" @click="rules_detail_close('rules_detail_form')" style="float:right">取 消</el-button>
|
|
</div>
|
|
</div>
|
|
</el-form>
|
|
</el-form>
|
|
@@ -170,7 +206,7 @@
|
|
<EmployeeSelector
|
|
<EmployeeSelector
|
|
v-if="add_employee_show"
|
|
v-if="add_employee_show"
|
|
:max="add_employee_max"
|
|
:max="add_employee_max"
|
|
- :user_no_select="false"
|
|
|
|
|
|
+ :user_no_select="false"
|
|
@confirm="add_employee_confirm"
|
|
@confirm="add_employee_confirm"
|
|
ref="Employee"
|
|
ref="Employee"
|
|
></EmployeeSelector>
|
|
></EmployeeSelector>
|
|
@@ -181,7 +217,7 @@
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
-
|
|
|
|
|
|
+
|
|
<!-- 导入规则 -->
|
|
<!-- 导入规则 -->
|
|
<!-- <el-dialog title="导入自动积分" :visible.sync="import_rules_show" width="500px" @before-close="close_import">
|
|
<!-- <el-dialog title="导入自动积分" :visible.sync="import_rules_show" width="500px" @before-close="close_import">
|
|
<el-row>
|
|
<el-row>
|
|
@@ -223,37 +259,37 @@
|
|
<template slot="1">
|
|
<template slot="1">
|
|
<el-row v-if="nowIndex == 1">
|
|
<el-row v-if="nowIndex == 1">
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
- <div style="text-align: center;line-height: 34px;">
|
|
|
|
- <p>1、导出模板,填写好规则</p>
|
|
|
|
- <p><img src="../../assets/image/rules_mould.png" alt="" /></p>
|
|
|
|
- <p>规则表</p>
|
|
|
|
- <p>
|
|
|
|
- <a target="_blank" :href="publicBASE_API + '/api/download/point_auto'"><el-button type="primary" >下载模板</el-button></a>
|
|
|
|
- </p>
|
|
|
|
- </div>
|
|
|
|
|
|
+ <div style="text-align: center;line-height: 34px;">
|
|
|
|
+ <p>1、导出模板,填写好规则</p>
|
|
|
|
+ <p><img src="../../assets/image/rules_mould.png" alt="" /></p>
|
|
|
|
+ <p>规则表</p>
|
|
|
|
+ <p>
|
|
|
|
+ <a target="_blank" :href="publicBASE_API + '/api/download/point_auto'"><el-button type="primary">下载模板</el-button></a>
|
|
|
|
+ </p>
|
|
|
|
+ </div>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
- <div style="text-align: center;line-height: 34px;">
|
|
|
|
- <p>2、上传填好的规则表</p>
|
|
|
|
- <p><img src="../../assets/image/rules_mould1.png" alt="" /></p>
|
|
|
|
- <p>仅支持xls、xlsx格式文件</p>
|
|
|
|
- <el-upload
|
|
|
|
- class="upload-demo"
|
|
|
|
- :headers="ATOKEN"
|
|
|
|
- :data="{ type: 'auto_integral' }"
|
|
|
|
- ref="upload"
|
|
|
|
- :limit="1"
|
|
|
|
- :action="action"
|
|
|
|
- :on-remove="handleRemove"
|
|
|
|
- :on-success="handleSuccess"
|
|
|
|
- :before-upload="beforeFilesUpload"
|
|
|
|
- :file-list="fileList"
|
|
|
|
- :on-progress="handleOnthecross"
|
|
|
|
- >
|
|
|
|
- <el-button slot="trigger" type="primary">选取文件</el-button>
|
|
|
|
- </el-upload>
|
|
|
|
- <!-- <p><el-button type="primary" @click="submitUpload" :loading="save_loading" v-show="import_btn_show" block>导入</el-button></p> -->
|
|
|
|
- </div>
|
|
|
|
|
|
+ <div style="text-align: center;line-height: 34px;">
|
|
|
|
+ <p>2、上传填好的规则表</p>
|
|
|
|
+ <p><img src="../../assets/image/rules_mould1.png" alt="" /></p>
|
|
|
|
+ <p>仅支持xls、xlsx格式文件</p>
|
|
|
|
+ <el-upload
|
|
|
|
+ class="upload-demo"
|
|
|
|
+ :headers="ATOKEN"
|
|
|
|
+ :data="{ type: 'auto_integral' }"
|
|
|
|
+ ref="upload"
|
|
|
|
+ :limit="1"
|
|
|
|
+ :action="action"
|
|
|
|
+ :on-remove="handleRemove"
|
|
|
|
+ :on-success="handleSuccess"
|
|
|
|
+ :before-upload="beforeFilesUpload"
|
|
|
|
+ :file-list="fileList"
|
|
|
|
+ :on-progress="handleOnthecross"
|
|
|
|
+ >
|
|
|
|
+ <el-button slot="trigger" type="primary">选取文件</el-button>
|
|
|
|
+ </el-upload>
|
|
|
|
+ <!-- <p><el-button type="primary" @click="submitUpload" :loading="save_loading" v-show="import_btn_show" block>导入</el-button></p> -->
|
|
|
|
+ </div>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
</template>
|
|
</template>
|
|
@@ -264,13 +300,13 @@
|
|
|
|
|
|
<script>
|
|
<script>
|
|
import EmployeeSelector from '@/components/EmployeeSelector';
|
|
import EmployeeSelector from '@/components/EmployeeSelector';
|
|
-import noData from '@/components/noData';
|
|
|
|
|
|
+
|
|
import toLead from '@/components/toLead';
|
|
import toLead from '@/components/toLead';
|
|
export default {
|
|
export default {
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
- pd_tianjia:false,
|
|
|
|
- default_active:'0-0',
|
|
|
|
|
|
+ pd_tianjia: false,
|
|
|
|
+ default_active: '0-0',
|
|
table_list: [],
|
|
table_list: [],
|
|
tips_show: false,
|
|
tips_show: false,
|
|
rule_trees_load: false,
|
|
rule_trees_load: false,
|
|
@@ -285,8 +321,8 @@ export default {
|
|
add_employee_form: {
|
|
add_employee_form: {
|
|
employee_ids: []
|
|
employee_ids: []
|
|
},
|
|
},
|
|
-
|
|
|
|
- isShowAdd:false,
|
|
|
|
|
|
+
|
|
|
|
+ isShowAdd: false,
|
|
del_arr: {
|
|
del_arr: {
|
|
ids: []
|
|
ids: []
|
|
},
|
|
},
|
|
@@ -378,16 +414,16 @@ export default {
|
|
action: process.env.VUE_APP_BASE_API + 'api/integral/auto/import',
|
|
action: process.env.VUE_APP_BASE_API + 'api/integral/auto/import',
|
|
publicBASE_API: process.env.VUE_APP_BASE_API,
|
|
publicBASE_API: process.env.VUE_APP_BASE_API,
|
|
save_loading: false,
|
|
save_loading: false,
|
|
- ATOKEN: { 'A-TOKEN': this.$getToken(),'Accept':'application/vnd.test.v2+json' },
|
|
|
|
|
|
+ ATOKEN: { 'A-TOKEN': this.$getToken(), Accept: 'application/vnd.test.v2+json' },
|
|
import_btn_show: false,
|
|
import_btn_show: false,
|
|
fileList: [],
|
|
fileList: [],
|
|
file: null,
|
|
file: null,
|
|
import_rules_show: false, //导出弹窗
|
|
import_rules_show: false, //导出弹窗
|
|
-
|
|
|
|
- keyword:'',
|
|
|
|
- employee_map:[],
|
|
|
|
- employee_id:'',
|
|
|
|
- selectData:{},
|
|
|
|
|
|
+
|
|
|
|
+ keyword: '',
|
|
|
|
+ employee_map: [],
|
|
|
|
+ employee_id: '',
|
|
|
|
+ selectData: {},
|
|
//导入相关
|
|
//导入相关
|
|
toleadShw: false,
|
|
toleadShw: false,
|
|
nowIndex: 1,
|
|
nowIndex: 1,
|
|
@@ -396,18 +432,17 @@ export default {
|
|
},
|
|
},
|
|
components: {
|
|
components: {
|
|
EmployeeSelector,
|
|
EmployeeSelector,
|
|
- noData,
|
|
|
|
toLead
|
|
toLead
|
|
},
|
|
},
|
|
created() {
|
|
created() {
|
|
this.getEmployee();
|
|
this.getEmployee();
|
|
},
|
|
},
|
|
- watch:{
|
|
|
|
- toleadShw(val){
|
|
|
|
- if(val) this.nowIndex = 1
|
|
|
|
|
|
+ watch: {
|
|
|
|
+ toleadShw(val) {
|
|
|
|
+ if (val) this.nowIndex = 1;
|
|
},
|
|
},
|
|
- employee_id(val){
|
|
|
|
- this.page=1;
|
|
|
|
|
|
+ employee_id(val) {
|
|
|
|
+ this.page = 1;
|
|
this.open_right(this.selectData);
|
|
this.open_right(this.selectData);
|
|
}
|
|
}
|
|
},
|
|
},
|
|
@@ -422,123 +457,121 @@ export default {
|
|
methods: {
|
|
methods: {
|
|
//获取员工列表
|
|
//获取员工列表
|
|
getEmployee() {
|
|
getEmployee() {
|
|
- this.$axios('get', '/api/employee/index', { dept_id: 0, keywords: '', page: 1, page_size: 3000,is_official:1 })
|
|
|
|
|
|
+ this.$axios('get', '/api/employee/index', { dept_id: 0, keywords: '', page: 1, page_size: 3000, is_official: 1 })
|
|
.then(res => {
|
|
.then(res => {
|
|
let list = res.data.data.list;
|
|
let list = res.data.data.list;
|
|
this.employee_map = list;
|
|
this.employee_map = list;
|
|
})
|
|
})
|
|
.finally(err => {});
|
|
.finally(err => {});
|
|
},
|
|
},
|
|
- getUpdate(date){
|
|
|
|
- return this.$moment.unix(date).format('YYYY-MM-DD HH:mm:ss')
|
|
|
|
|
|
+ getUpdate(date) {
|
|
|
|
+ return this.$moment.unix(date).format('YYYY-MM-DD HH:mm:ss');
|
|
},
|
|
},
|
|
// 搜索
|
|
// 搜索
|
|
- onFilterChanged(){
|
|
|
|
-
|
|
|
|
- },
|
|
|
|
|
|
+ onFilterChanged() {},
|
|
close_import() {
|
|
close_import() {
|
|
- this.import_rules_show = false;
|
|
|
|
- this.import_btn_show = false;
|
|
|
|
- this.$refs.upload.clearFiles();
|
|
|
|
|
|
+ this.import_rules_show = false;
|
|
|
|
+ this.import_btn_show = false;
|
|
|
|
+ this.$refs.upload.clearFiles();
|
|
},
|
|
},
|
|
submitUpload() {
|
|
submitUpload() {
|
|
- this.save_loading = true;
|
|
|
|
- let params = {
|
|
|
|
- file: this.file
|
|
|
|
- };
|
|
|
|
- this.$axios('post', '/api/integral/auto/import', params)
|
|
|
|
- .then(res => {
|
|
|
|
- if (res.data.code == 1) {
|
|
|
|
- // this.import_rules_show = false;
|
|
|
|
- this.close_import(); //成功之后关闭并清除选中的文件
|
|
|
|
- this.$message.success({ message: res.data.msg });
|
|
|
|
- this.get_rule_trees();
|
|
|
|
- } else {
|
|
|
|
- this.$message({ type: 'error', message: res.data.msg });
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- .catch(() => {})
|
|
|
|
- .finally(() => {
|
|
|
|
- this.save_loading = false;
|
|
|
|
- });
|
|
|
|
|
|
+ this.save_loading = true;
|
|
|
|
+ let params = {
|
|
|
|
+ file: this.file
|
|
|
|
+ };
|
|
|
|
+ this.$axios('post', '/api/integral/auto/import', params)
|
|
|
|
+ .then(res => {
|
|
|
|
+ if (res.data.code == 1) {
|
|
|
|
+ // this.import_rules_show = false;
|
|
|
|
+ this.close_import(); //成功之后关闭并清除选中的文件
|
|
|
|
+ this.$message.success({ message: res.data.msg });
|
|
|
|
+ this.get_rule_trees();
|
|
|
|
+ } else {
|
|
|
|
+ this.$message({ type: 'error', message: res.data.msg });
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ .catch(() => {})
|
|
|
|
+ .finally(() => {
|
|
|
|
+ this.save_loading = false;
|
|
|
|
+ });
|
|
},
|
|
},
|
|
//导入
|
|
//导入
|
|
beforeFilesUpload(file) {
|
|
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.toleadResult.id = 0
|
|
|
|
- this.toleadResult.name = '文件格式上传错误,仅支持上传xlsx,xls)'
|
|
|
|
- this.nowIndex = 3
|
|
|
|
- // this.$message.warning('文件格式上传错误,仅支持上传xlsx,xls)');
|
|
|
|
- return false;
|
|
|
|
- }
|
|
|
|
|
|
+ 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.toleadResult.id = 0;
|
|
|
|
+ this.toleadResult.name = '文件格式上传错误,仅支持上传xlsx,xls)';
|
|
|
|
+ this.nowIndex = 3;
|
|
|
|
+ // this.$message.warning('文件格式上传错误,仅支持上传xlsx,xls)');
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
},
|
|
},
|
|
- tealConfirm(){
|
|
|
|
- this.page=1;
|
|
|
|
|
|
+ tealConfirm() {
|
|
|
|
+ this.page = 1;
|
|
this.open_right(this.selectData);
|
|
this.open_right(this.selectData);
|
|
},
|
|
},
|
|
- handleOnthecross(event, file, fileList){
|
|
|
|
- this.nowIndex = 2
|
|
|
|
|
|
+ handleOnthecross(event, file, fileList) {
|
|
|
|
+ this.nowIndex = 2;
|
|
},
|
|
},
|
|
handleSuccess(response) {
|
|
handleSuccess(response) {
|
|
- if(response.code == 1){
|
|
|
|
- response.data.id = 1
|
|
|
|
- }else{
|
|
|
|
- response.data.id = 0
|
|
|
|
- response.data.name = response.msg
|
|
|
|
|
|
+ if (response.code == 1) {
|
|
|
|
+ response.data.id = 1;
|
|
|
|
+ } else {
|
|
|
|
+ response.data.id = 0;
|
|
|
|
+ response.data.name = response.msg;
|
|
|
|
+ }
|
|
|
|
+ this.toleadResult = response.data;
|
|
|
|
+ this.nowIndex = 3;
|
|
|
|
+ return;
|
|
|
|
+ if (response.code == 1) {
|
|
|
|
+ if (response.data.length > 0) {
|
|
|
|
+ var htmls = response.data;
|
|
|
|
+ var str = "<div class='red'></div>";
|
|
|
|
+ htmls.forEach(item => {
|
|
|
|
+ str += `<div>${item.errors}</div>`;
|
|
|
|
+ });
|
|
|
|
+ this.close_import();
|
|
|
|
+ this.$notify.error({
|
|
|
|
+ title: '导入错误',
|
|
|
|
+ dangerouslyUseHTMLString: true,
|
|
|
|
+ message: str,
|
|
|
|
+ duration: 0,
|
|
|
|
+ offset: 50,
|
|
|
|
+ customClass: 'notifyBox'
|
|
|
|
+ });
|
|
|
|
+ } else {
|
|
|
|
+ this.file = response.data;
|
|
|
|
+ this.$message.success({ message: response.msg });
|
|
|
|
+ this.close_import();
|
|
|
|
+ this.page = 1;
|
|
|
|
+ this.open_right(this.selectData);
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ this.$message.error({ message: response.msg });
|
|
|
|
+ this.close_import();
|
|
}
|
|
}
|
|
- this.toleadResult = response.data
|
|
|
|
- this.nowIndex = 3
|
|
|
|
- return
|
|
|
|
- if (response.code == 1) {
|
|
|
|
- if (response.data.length > 0) {
|
|
|
|
- var htmls = response.data;
|
|
|
|
- var str = "<div class='red'></div>";
|
|
|
|
- htmls.forEach(item => {
|
|
|
|
- str += `<div>${item.errors}</div>`;
|
|
|
|
- });
|
|
|
|
- this.close_import();
|
|
|
|
- this.$notify.error({
|
|
|
|
- title: '导入错误',
|
|
|
|
- dangerouslyUseHTMLString: true,
|
|
|
|
- message: str,
|
|
|
|
- duration: 0,
|
|
|
|
- offset: 50,
|
|
|
|
- customClass: 'notifyBox'
|
|
|
|
- });
|
|
|
|
- } else {
|
|
|
|
- this.file = response.data;
|
|
|
|
- this.$message.success({ message: response.msg });
|
|
|
|
- this.close_import();
|
|
|
|
- this.page=1;
|
|
|
|
- this.open_right(this.selectData);
|
|
|
|
- }
|
|
|
|
- }else{
|
|
|
|
- this.$message.error({ message: response.msg });
|
|
|
|
- this.close_import();
|
|
|
|
- }
|
|
|
|
},
|
|
},
|
|
handleRemove(file, fileList) {
|
|
handleRemove(file, fileList) {
|
|
- if (fileList !== null && fileList.length != 0) {
|
|
|
|
- this.import_btn_show = true;
|
|
|
|
- } else {
|
|
|
|
- this.import_btn_show = false;
|
|
|
|
- }
|
|
|
|
|
|
+ if (fileList !== null && fileList.length != 0) {
|
|
|
|
+ this.import_btn_show = true;
|
|
|
|
+ } else {
|
|
|
|
+ this.import_btn_show = false;
|
|
|
|
+ }
|
|
},
|
|
},
|
|
|
|
|
|
- returnIndex(str,str2){
|
|
|
|
- return str+"-"+str2;
|
|
|
|
|
|
+ returnIndex(str, str2) {
|
|
|
|
+ return str + '-' + str2;
|
|
},
|
|
},
|
|
handleCurrentChange(val) {
|
|
handleCurrentChange(val) {
|
|
this.page = val;
|
|
this.page = val;
|
|
this.open_right();
|
|
this.open_right();
|
|
},
|
|
},
|
|
- open_rights(data){
|
|
|
|
- this.page=1;
|
|
|
|
- this.selectData=data;
|
|
|
|
|
|
+ open_rights(data) {
|
|
|
|
+ this.page = 1;
|
|
|
|
+ this.selectData = data;
|
|
this.open_right(data);
|
|
this.open_right(data);
|
|
},
|
|
},
|
|
// 组建
|
|
// 组建
|
|
@@ -555,7 +588,7 @@ export default {
|
|
add_employee_close() {
|
|
add_employee_close() {
|
|
this.add_employee_show = false;
|
|
this.add_employee_show = false;
|
|
},
|
|
},
|
|
-
|
|
|
|
|
|
+
|
|
// 添加成员点击完成
|
|
// 添加成员点击完成
|
|
sub_add_employee(form) {
|
|
sub_add_employee(form) {
|
|
let self = this;
|
|
let self = this;
|
|
@@ -581,7 +614,8 @@ export default {
|
|
} else {
|
|
} else {
|
|
this.disabled = true;
|
|
this.disabled = true;
|
|
self.staff_loading = true;
|
|
self.staff_loading = true;
|
|
- self.$axios('post','/api/integral/auto/add',data).then(res => {
|
|
|
|
|
|
+ self.$axios('post', '/api/integral/auto/add', data)
|
|
|
|
+ .then(res => {
|
|
if (res.data.code == 1) {
|
|
if (res.data.code == 1) {
|
|
self.$message.success('此次操作成功' + res.data.data.success + '条,失败' + res.data.data.error + '条,已经存在的' + res.data.data.exist + '条');
|
|
self.$message.success('此次操作成功' + res.data.data.success + '条,失败' + res.data.data.error + '条,已经存在的' + res.data.data.exist + '条');
|
|
self.open_right();
|
|
self.open_right();
|
|
@@ -616,7 +650,8 @@ export default {
|
|
cancelButtonText: '取消',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
type: 'warning'
|
|
}).then(() => {
|
|
}).then(() => {
|
|
- self.$axios('post','/api/integral/auto/delete/many',self.del_arr).then(res => {
|
|
|
|
|
|
+ self.$axios('post', '/api/integral/auto/delete/many', self.del_arr)
|
|
|
|
+ .then(res => {
|
|
if (res.data.code == 1) {
|
|
if (res.data.code == 1) {
|
|
self.$message.success(res.data.msg);
|
|
self.$message.success(res.data.msg);
|
|
// 判断当页的总数与选中的数量是否相等,如果相等,此页就无数据,就请求上一页的数据
|
|
// 判断当页的总数与选中的数量是否相等,如果相等,此页就无数据,就请求上一页的数据
|
|
@@ -626,7 +661,7 @@ export default {
|
|
this.page = this.page - 1;
|
|
this.page = this.page - 1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- self.open_right();
|
|
|
|
|
|
+ self.open_right();
|
|
} else {
|
|
} else {
|
|
self.$message.error(res.data.msg);
|
|
self.$message.error(res.data.msg);
|
|
}
|
|
}
|
|
@@ -646,7 +681,7 @@ export default {
|
|
},
|
|
},
|
|
//新增加分项
|
|
//新增加分项
|
|
add_rules_detail() {
|
|
add_rules_detail() {
|
|
- this.rules_detail_form={
|
|
|
|
|
|
+ this.rules_detail_form = {
|
|
rule_id: '',
|
|
rule_id: '',
|
|
range_type: '1',
|
|
range_type: '1',
|
|
prize_type: '1',
|
|
prize_type: '1',
|
|
@@ -655,7 +690,7 @@ export default {
|
|
is_attendance: '0',
|
|
is_attendance: '0',
|
|
cycle_type: '2',
|
|
cycle_type: '2',
|
|
pt_id: '3'
|
|
pt_id: '3'
|
|
- }
|
|
|
|
|
|
+ };
|
|
this.dialogFormVisible = true;
|
|
this.dialogFormVisible = true;
|
|
this.rules_detail_title = false;
|
|
this.rules_detail_title = false;
|
|
},
|
|
},
|
|
@@ -671,7 +706,7 @@ export default {
|
|
} else {
|
|
} else {
|
|
self.rules_detail_form.item_id = self.rules_detail_form.id;
|
|
self.rules_detail_form.item_id = self.rules_detail_form.id;
|
|
data = self.rules_detail_form;
|
|
data = self.rules_detail_form;
|
|
- data.sync=2;
|
|
|
|
|
|
+ data.sync = 2;
|
|
}
|
|
}
|
|
self.$refs[form].validate(valid => {
|
|
self.$refs[form].validate(valid => {
|
|
if (valid) {
|
|
if (valid) {
|
|
@@ -681,26 +716,31 @@ export default {
|
|
// } else {
|
|
// } else {
|
|
// self.rules_detail_form.is_attendance = 0;
|
|
// self.rules_detail_form.is_attendance = 0;
|
|
// }
|
|
// }
|
|
- var url=this.rules_detail_title ? 'api/integral/rule/items/edit' : '/api/integral/rule/items';
|
|
|
|
- self.$axios('post',url,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 => {
|
|
// setTimeout(() => {
|
|
// setTimeout(() => {
|
|
// this.is_attendance = false;
|
|
// this.is_attendance = false;
|
|
// }, 300);
|
|
// }, 300);
|
|
if (res.data.code == 1) {
|
|
if (res.data.code == 1) {
|
|
self.$message.success(res.data.msg);
|
|
self.$message.success(res.data.msg);
|
|
self.rules_detail_show = false;
|
|
self.rules_detail_show = false;
|
|
- if (this.rules_detail_title) {//当为编辑时
|
|
|
|
- if(self.rules_detail_form.rule_id!=self.right_rules_detail.rule_id){//当编辑规则修改了上级时
|
|
|
|
|
|
+ if (this.rules_detail_title) {
|
|
|
|
+ //当为编辑时
|
|
|
|
+ if (self.rules_detail_form.rule_id != self.right_rules_detail.rule_id) {
|
|
|
|
+ //当编辑规则修改了上级时
|
|
self.get_role_lists(true);
|
|
self.get_role_lists(true);
|
|
- }else{//正常编辑
|
|
|
|
- self.get_role_lists();
|
|
|
|
- self.right_rules_detail.remark=data.remark;
|
|
|
|
- self.right_rules_detail.min_point=data.min_point;
|
|
|
|
- }
|
|
|
|
- }else{//当为添加时
|
|
|
|
- self.add_employee_id = res.data.data.item_id;//规则ID
|
|
|
|
- self.add_rulse_id = self.rules_detail_form.rule_id;//分类ID
|
|
|
|
- self.get_role_lists(true,true);
|
|
|
|
|
|
+ } else {
|
|
|
|
+ //正常编辑
|
|
|
|
+ self.get_role_lists();
|
|
|
|
+ self.right_rules_detail.remark = data.remark;
|
|
|
|
+ self.right_rules_detail.min_point = data.min_point;
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ //当为添加时
|
|
|
|
+ self.add_employee_id = res.data.data.item_id; //规则ID
|
|
|
|
+ self.add_rulse_id = self.rules_detail_form.rule_id; //分类ID
|
|
|
|
+ self.get_role_lists(true, true);
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|
|
self.add_employee_show = true;
|
|
self.add_employee_show = true;
|
|
}, 600);
|
|
}, 600);
|
|
@@ -708,7 +748,8 @@ export default {
|
|
} else {
|
|
} else {
|
|
self.$message.error(res.data.msg);
|
|
self.$message.error(res.data.msg);
|
|
}
|
|
}
|
|
- }).finally(() => {
|
|
|
|
|
|
+ })
|
|
|
|
+ .finally(() => {
|
|
this.dialogFormVisible = false;
|
|
this.dialogFormVisible = false;
|
|
self.disabled = false;
|
|
self.disabled = false;
|
|
});
|
|
});
|
|
@@ -724,37 +765,38 @@ export default {
|
|
this.$refs[form].resetFields();
|
|
this.$refs[form].resetFields();
|
|
},
|
|
},
|
|
//获取右边表格数据
|
|
//获取右边表格数据
|
|
- open_right(data,updata) {
|
|
|
|
|
|
+ open_right(data, updata) {
|
|
let self = this;
|
|
let self = this;
|
|
self.table_loading = true;
|
|
self.table_loading = true;
|
|
- this.isShowAdd=false;
|
|
|
|
- if (data&&!updata) {
|
|
|
|
|
|
+ this.isShowAdd = false;
|
|
|
|
+ if (data && !updata) {
|
|
self.add_employee_id = data.id;
|
|
self.add_employee_id = data.id;
|
|
self.add_rulse_id = data.rule_id;
|
|
self.add_rulse_id = data.rule_id;
|
|
- self.right_rules_detail = data;
|
|
|
|
-
|
|
|
|
- }else if(updata){
|
|
|
|
- self.right_rules_detail = data;
|
|
|
|
- }else{
|
|
|
|
|
|
+ self.right_rules_detail = data;
|
|
|
|
+ } else if (updata) {
|
|
|
|
+ self.right_rules_detail = data;
|
|
|
|
+ } else {
|
|
self.add_employee_id = self.right_rules_detail.id;
|
|
self.add_employee_id = self.right_rules_detail.id;
|
|
self.add_rulse_id = self.right_rules_detail.rule_id;
|
|
self.add_rulse_id = self.right_rules_detail.rule_id;
|
|
}
|
|
}
|
|
var params = {
|
|
var params = {
|
|
- item_id: self.add_employee_id || '',
|
|
|
|
- employee_id: self.employee_id || '',
|
|
|
|
- page: self.page,
|
|
|
|
- page_size: Number(this.pagesize)
|
|
|
|
|
|
+ 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 => {
|
|
if (res.data.code == 1) {
|
|
if (res.data.code == 1) {
|
|
self.table_list = res.data.data.list || [];
|
|
self.table_list = res.data.data.list || [];
|
|
self.total = res.data.data.total;
|
|
self.total = res.data.data.total;
|
|
} else {
|
|
} else {
|
|
self.$message.error(res.data.msg);
|
|
self.$message.error(res.data.msg);
|
|
}
|
|
}
|
|
- }).finally(() => {
|
|
|
|
- self.table_loading = false;
|
|
|
|
- });
|
|
|
|
|
|
+ })
|
|
|
|
+ .finally(() => {
|
|
|
|
+ self.table_loading = false;
|
|
|
|
+ });
|
|
},
|
|
},
|
|
|
|
|
|
// 编辑规则
|
|
// 编辑规则
|
|
@@ -772,7 +814,8 @@ export default {
|
|
type: 'warning'
|
|
type: 'warning'
|
|
}).then(() => {
|
|
}).then(() => {
|
|
this.disabled = true;
|
|
this.disabled = true;
|
|
- this.$axios('post','/api/integral/rule/items/destroy',{item_ids:JSON.stringify([item.id])}).then(res => {
|
|
|
|
|
|
+ this.$axios('post', '/api/integral/rule/items/destroy', { item_ids: JSON.stringify([item.id]) })
|
|
|
|
+ .then(res => {
|
|
if (res.data.code == 1) {
|
|
if (res.data.code == 1) {
|
|
this.$message.success('删除成功');
|
|
this.$message.success('删除成功');
|
|
this.rules_detail_show = false;
|
|
this.rules_detail_show = false;
|
|
@@ -781,18 +824,19 @@ export default {
|
|
this.$message.error(res.data.msg);
|
|
this.$message.error(res.data.msg);
|
|
this.get_role_lists();
|
|
this.get_role_lists();
|
|
}
|
|
}
|
|
- }).finally(() => {
|
|
|
|
- this.dialogFormVisible = false;
|
|
|
|
- this.disabled = false;
|
|
|
|
|
|
+ })
|
|
|
|
+ .finally(() => {
|
|
|
|
+ this.dialogFormVisible = false;
|
|
|
|
+ this.disabled = false;
|
|
});
|
|
});
|
|
});
|
|
});
|
|
},
|
|
},
|
|
|
|
|
|
//新增加分组展示不同渲染
|
|
//新增加分组展示不同渲染
|
|
add_grouping() {
|
|
add_grouping() {
|
|
- this.numberValidateForm={
|
|
|
|
- name:''
|
|
|
|
- }
|
|
|
|
|
|
+ this.numberValidateForm = {
|
|
|
|
+ name: ''
|
|
|
|
+ };
|
|
this.dialogVisible = true;
|
|
this.dialogVisible = true;
|
|
this.grouping_type = false;
|
|
this.grouping_type = false;
|
|
},
|
|
},
|
|
@@ -812,13 +856,15 @@ export default {
|
|
name: this.numberValidateForm.name
|
|
name: this.numberValidateForm.name
|
|
};
|
|
};
|
|
this.disabled = true;
|
|
this.disabled = true;
|
|
- var url=this.grouping_type ? '/api/integral/rule/edit' : '/api/integral/rule';
|
|
|
|
- this.$axios('post',url,data).then(res => {
|
|
|
|
|
|
+ var url = this.grouping_type ? '/api/integral/rule/edit' : '/api/integral/rule';
|
|
|
|
+ this.$axios('post', url, data)
|
|
|
|
+ .then(res => {
|
|
if (res.data.code == '1') {
|
|
if (res.data.code == '1') {
|
|
this.get_role_lists();
|
|
this.get_role_lists();
|
|
this.$message.success(this.grouping_type ? '修改积分规则' : res.data.msg);
|
|
this.$message.success(this.grouping_type ? '修改积分规则' : res.data.msg);
|
|
}
|
|
}
|
|
- }).finally(() => {
|
|
|
|
|
|
+ })
|
|
|
|
+ .finally(() => {
|
|
this.dialogVisible = false;
|
|
this.dialogVisible = false;
|
|
this.disabled = false;
|
|
this.disabled = false;
|
|
});
|
|
});
|
|
@@ -839,63 +885,71 @@ export default {
|
|
confirmButtonText: '确定',
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
type: 'warning'
|
|
- }).then(() => {
|
|
|
|
- this.disabled = true;
|
|
|
|
- this.$axios('post','/api/integral/rule/destroy',{rule_id: item.id}).then(res => {
|
|
|
|
- if (res.data.code == 1) {
|
|
|
|
- this.get_role_lists();
|
|
|
|
- this.$message.success('删除成功');
|
|
|
|
- }
|
|
|
|
- }).finally(()=>{
|
|
|
|
- this.dialogVisible = false;
|
|
|
|
- this.disabled = false;
|
|
|
|
|
|
+ })
|
|
|
|
+ .then(() => {
|
|
|
|
+ this.disabled = true;
|
|
|
|
+ this.$axios('post', '/api/integral/rule/destroy', { rule_id: item.id })
|
|
|
|
+ .then(res => {
|
|
|
|
+ if (res.data.code == 1) {
|
|
|
|
+ this.get_role_lists();
|
|
|
|
+ this.$message.success('删除成功');
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ .finally(() => {
|
|
|
|
+ this.dialogVisible = false;
|
|
|
|
+ this.disabled = false;
|
|
|
|
+ });
|
|
|
|
+ })
|
|
|
|
+ .catch(() => {
|
|
|
|
+ setTimeout(() => {
|
|
|
|
+ this.dialogVisible = false;
|
|
|
|
+ }, 300);
|
|
});
|
|
});
|
|
- }).catch(() => {
|
|
|
|
- setTimeout(() => {
|
|
|
|
- this.dialogVisible = false;
|
|
|
|
- }, 300);
|
|
|
|
- });
|
|
|
|
},
|
|
},
|
|
// 获取初始化数据
|
|
// 获取初始化数据
|
|
- get_role_lists(is,noUpdata) {
|
|
|
|
|
|
+ get_role_lists(is, noUpdata) {
|
|
this.table_loading = true;
|
|
this.table_loading = true;
|
|
this.rule_trees_load = true;
|
|
this.rule_trees_load = true;
|
|
- this.$axios('get','/api/integral/rule/trees', {cycle_type: '2'}).then(res => {
|
|
|
|
- var rule_list = res.data.data.rule_tree||[];
|
|
|
|
- var item_list = res.data.data.item_list||[];
|
|
|
|
- var itemListAll=[];
|
|
|
|
|
|
+ this.$axios('get', '/api/integral/rule/trees', { cycle_type: '2' })
|
|
|
|
+ .then(res => {
|
|
|
|
+ var rule_list = res.data.data.rule_tree || [];
|
|
|
|
+ var item_list = res.data.data.item_list || [];
|
|
|
|
+ var itemListAll = [];
|
|
for (let i in item_list) {
|
|
for (let i in item_list) {
|
|
- for (let k in item_list[i]) {
|
|
|
|
- itemListAll.push(item_list[i][k])
|
|
|
|
- }
|
|
|
|
|
|
+ for (let k in item_list[i]) {
|
|
|
|
+ itemListAll.push(item_list[i][k]);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- rule_list.map(item=>{
|
|
|
|
- item.child=itemListAll.filter((item2)=>{return item2.rule_id==item.id});
|
|
|
|
- })
|
|
|
|
- this.rule_list=rule_list;
|
|
|
|
- this.item_list=itemListAll;
|
|
|
|
- if(is){
|
|
|
|
- this.default_active="";
|
|
|
|
- if(rule_list[0].child[0]){
|
|
|
|
- this.right_rules_detail={};
|
|
|
|
- this.table_list=[];
|
|
|
|
- this.page=1;
|
|
|
|
- this.selectData=rule_list[0].child[0];
|
|
|
|
- this.open_right(rule_list[0].child[0],noUpdata);
|
|
|
|
- setTimeout(()=>{
|
|
|
|
- this.default_active = '0-0'
|
|
|
|
- },500)
|
|
|
|
- }else{
|
|
|
|
- this.right_rules_detail={};
|
|
|
|
- this.isShowAdd=true;
|
|
|
|
|
|
+ rule_list.map(item => {
|
|
|
|
+ item.child = itemListAll.filter(item2 => {
|
|
|
|
+ return item2.rule_id == item.id;
|
|
|
|
+ });
|
|
|
|
+ });
|
|
|
|
+ this.rule_list = rule_list;
|
|
|
|
+ this.item_list = itemListAll;
|
|
|
|
+ if (is) {
|
|
|
|
+ this.default_active = '';
|
|
|
|
+ if (rule_list[0].child[0]) {
|
|
|
|
+ this.right_rules_detail = {};
|
|
|
|
+ this.table_list = [];
|
|
|
|
+ this.page = 1;
|
|
|
|
+ this.selectData = rule_list[0].child[0];
|
|
|
|
+ this.open_right(rule_list[0].child[0], noUpdata);
|
|
|
|
+ setTimeout(() => {
|
|
|
|
+ this.default_active = '0-0';
|
|
|
|
+ }, 500);
|
|
|
|
+ } else {
|
|
|
|
+ this.right_rules_detail = {};
|
|
|
|
+ this.isShowAdd = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- }).finally(err=>{
|
|
|
|
- setTimeout(()=>{
|
|
|
|
- this.rule_trees_load = false;
|
|
|
|
- this.table_loading = false;
|
|
|
|
- },700)
|
|
|
|
- });
|
|
|
|
|
|
+ })
|
|
|
|
+ .finally(err => {
|
|
|
|
+ setTimeout(() => {
|
|
|
|
+ this.rule_trees_load = false;
|
|
|
|
+ this.table_loading = false;
|
|
|
|
+ }, 700);
|
|
|
|
+ });
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
};
|
|
@@ -936,8 +990,8 @@ export default {
|
|
// }
|
|
// }
|
|
}
|
|
}
|
|
::v-deep .el-submenu__title {
|
|
::v-deep .el-submenu__title {
|
|
- height: 47px !important;
|
|
|
|
- line-height: 47px !important;
|
|
|
|
|
|
+ height: 47px !important;
|
|
|
|
+ line-height: 47px !important;
|
|
}
|
|
}
|
|
.rule_list {
|
|
.rule_list {
|
|
position: relative;
|
|
position: relative;
|
|
@@ -961,7 +1015,7 @@ export default {
|
|
margin-right: 20px;
|
|
margin-right: 20px;
|
|
}
|
|
}
|
|
|
|
|
|
- .btns{
|
|
|
|
|
|
+ .btns {
|
|
padding-top: 20px;
|
|
padding-top: 20px;
|
|
}
|
|
}
|
|
}
|
|
}
|