系统管理部分数据校验、表格式统一

master
15004070936 1 week ago
parent f6d3ed29ad
commit a39f5672e9

@ -326,6 +326,10 @@ export default {
this.columnTitles = response.data.columnTitles this.columnTitles = response.data.columnTitles
this.claTimeContainer = response.data.claTimeContainer this.claTimeContainer = response.data.claTimeContainer
} }
}else {
this.msgError(response.respMsg)
this.columnTitles=[]
this.claTimeContainer=[]
} }
}).catch(() => { }).catch(() => {
this.loading = false this.loading = false
@ -345,6 +349,10 @@ export default {
this.columnTitles = response.data.columnTitles this.columnTitles = response.data.columnTitles
this.claTimeContainer = response.data.claTimeContainer this.claTimeContainer = response.data.claTimeContainer
} }
}else {
this.msgError(response.respMsg)
this.columnTitles=[]
this.claTimeContainer=[]
} }
}).catch(() => { }).catch(() => {
this.loading = false this.loading = false

@ -56,6 +56,10 @@ export default {
created() { created() {
this.campusList() this.campusList()
}, },
activated() {
// keep-alive
this.campusList()
},
methods: { methods: {
campusList() { campusList() {
campusList().then(response => { campusList().then(response => {

@ -22,13 +22,13 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item style="float: right">
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8" >
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
v-hasPermi="['sc:room:add']" v-hasPermi="['sc:room:add']"
@ -60,11 +60,32 @@
</el-col> </el-col>
</el-row> </el-row>
<el-table v-loading="loading" :data="dataList" @selection-change="handleSelectionChange"> <el-table
v-loading="loading"
:data="dataList"
@selection-change="handleSelectionChange"
border
:header-cell-style="{'text-align': 'center'}"
:cell-style="{'text-align': 'center'}"
>
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column prop="deptName" label="所属校区" /> <el-table-column prop="deptName" label="所属校区" />
<el-table-column prop="roomName" label="教室名" /> <el-table-column prop="roomName" label="教室名" />
<el-table-column prop="venueFee" label="场地费/小时(元)" /> <el-table-column prop="venueFee" label="场地费" >
<template slot-scope="scope">
<el-tooltip effect="dark" placement="top">
<template slot="content">
<span style="color: #999; font-size: 12px;">
* 说明场地费为xx元每小时
<br>作用在APP端店长角色查看周期内花费的场地费用时提供计算依据计算结果仅供参考
<br>实际计算中未满半小时按0.5小时计算收费已满半小时,按1小时计算收费
<br>例如教室使用40分钟按1小时计算收费使用70分钟按1.5小时计算收费
</span>
</template>
<span>{{ scope.row.venueFee }}/小时</span>
</el-tooltip>
</template>
</el-table-column>
<el-table-column prop="memo" label="备注" /> <el-table-column prop="memo" label="备注" />
<el-table-column width="150" label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column width="150" label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
@ -120,7 +141,8 @@
</el-col> </el-col>
</el-row> </el-row>
<span style="color: #999; font-size: 12px;"> <span style="color: #999; font-size: 12px;">
* 说明场地费为xx元每小时 * 说明场地费为xx元每小时
<br>作用在APP端店长角色查看周期内花费的场地费用时提供计算依据计算结果仅供参考
<br>实际计算中未满半小时按0.5小时计算收费已满半小时,按1小时计算收费 <br>实际计算中未满半小时按0.5小时计算收费已满半小时,按1小时计算收费
<br>例如教室使用40分钟按1小时计算收费使用70分钟按1.5小时计算收费 <br>例如教室使用40分钟按1小时计算收费使用70分钟按1.5小时计算收费
</span> </span>

@ -2,21 +2,39 @@
<div class="app-container"> <div class="app-container">
<el-form ref="queryForm" :model="queryParams" :inline="true" label-width="68px"> <el-form ref="queryForm" :model="queryParams" :inline="true" label-width="68px">
<el-form-item label="方案名称" prop="planName"> <el-form-item label="方案名称" prop="planName">
<el-input v-model="queryParams.planName" placeholder="请输入所属校区" /> <el-input v-model="queryParams.planName" placeholder="请输入方案名称" />
</el-form-item> </el-form-item>
<el-form-item label="是否生效" prop="isActive"> <el-form-item label="是否生效" prop="isActive">
<el-select v-model="queryParams.isActive" filterable placeholder="请选择"> <el-select v-model="queryParams.isActive" filterable placeholder="请选择" clearable>
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"></el-option> <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item style="float: right">
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button> <el-button type="success" icon="el-icon-plus" size="mini" @click="handleAdd"></el-button>
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd"></el-button>
</el-form-item> </el-form-item>
<el-row style="padding-bottom: 10px">
<span style="color: #999; font-size: 12px;">
* 说明佣金方案为app端提成统计提供数据依据计算结果仅供参考
<br>* 计算方式
1.按成交订单使用的佣金方案分组
2.按照方案中的比例计算某一组的提成
3.所有分组的提成之和 = 最后应得提成
<br>* 举例
课程顾问Amy本月成交了10单其中有3单使用了佣金方案A
如果三单的销售额之和为12000元大于方案A的第一阶梯阈值8000元小于方案A的第二阶梯阈值15000元
那么这三单的提成=Amy这三单的销售额之和 方案A的第二阶梯比例8% = 120000.08 = 960
</span>
</el-row>
</el-form> </el-form>
<el-table v-loading="loading" :data="dataList" @selection-change="handleSelectionChange"> <el-table
v-loading="loading"
:data="dataList"
@selection-change="handleSelectionChange"
border
:cell-style="{ 'text-align': 'center' }"
:header-cell-style="{'text-align': 'center'}" >
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column prop="planName" label="方案名称" /> <el-table-column prop="planName" label="方案名称" />
<el-table-column prop="tier1Threshold" label="第一阶梯阈值" /> <el-table-column prop="tier1Threshold" label="第一阶梯阈值" />
@ -26,8 +44,8 @@
<el-table-column prop="tier3Threshold" label="第三阶梯阈值" /> <el-table-column prop="tier3Threshold" label="第三阶梯阈值" />
<el-table-column prop="tier3Rate" label="第三阶梯比例" /> <el-table-column prop="tier3Rate" label="第三阶梯比例" />
<el-table-column prop="tier4Rate" label="第四阶梯比例" /> <el-table-column prop="tier4Rate" label="第四阶梯比例" />
<el-table-column prop="renewalRate" label="续费率" /> <!-- <el-table-column prop="renewalRate" label="续费率" />-->
<el-table-column prop="referralRate" label="转介绍率" /> <!-- <el-table-column prop="referralRate" label="转介绍率" />-->
<el-table-column prop="isActive" :formatter="activeFormat" label="是否生效" /> <el-table-column prop="isActive" :formatter="activeFormat" label="是否生效" />
<el-table-column prop="effectiveDate" label="生效日期" /> <el-table-column prop="effectiveDate" label="生效日期" />
<el-table-column width="150" label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column width="150" label="操作" align="center" class-name="small-padding fixed-width">
@ -42,7 +60,7 @@
<!-- 添加或修改对话框 --> <!-- 添加或修改对话框 -->
<el-dialog :title="title" :visible.sync="open" width="770px"> <el-dialog :title="title" :visible.sync="open" width="770px">
<el-form ref="form" v-loading="loadingChange" :model="form" label-width="120px"> <el-form ref="form" v-loading="loadingChange" :rules="rules" :model="form" label-width="120px">
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="方案名称:" prop="planName"> <el-form-item label="方案名称:" prop="planName">
@ -56,7 +74,7 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="第一阶梯比例:" prop="tier1Rate"> <el-form-item label="第一阶梯比例:" prop="tier1Rate">
<el-input v-model="form.tier1Rate" placeholder="第一阶梯比例(8%)" /> <el-input v-model="form.tier1Rate" placeholder="第一阶梯比例(0.06)" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@ -66,7 +84,7 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="第二阶梯比例:" prop="tier2Rate"> <el-form-item label="第二阶梯比例:" prop="tier2Rate">
<el-input v-model="form.tier2Rate" placeholder="第二阶梯比例(8%)" /> <el-input v-model="form.tier2Rate" placeholder="第二阶梯比例(0.08)" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@ -76,39 +94,41 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="第三阶梯比例:" prop="tier3Rate"> <el-form-item label="第三阶梯比例:" prop="tier3Rate">
<el-input v-model="form.tier3Rate" placeholder="第三阶梯比例(8%)" /> <el-input v-model="form.tier3Rate" placeholder="第三阶梯比例(0.10)" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="第四阶梯比例:" prop="tier4Rate"> <el-form-item label="第四阶梯比例:" prop="tier4Rate">
<el-input v-model="form.tier4Rate" placeholder="第四阶梯比例(8%)" /> <el-input v-model="form.tier4Rate" placeholder="第四阶梯比例(0.12)" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="续费率:" prop="renewalRate">
<el-input v-model="form.renewalRate" placeholder="续费率(5%)" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="转介绍率:" prop="referralRate">
<el-input v-model="form.referralRate" placeholder="转介绍率(8-10%)" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <!-- <el-col :span="12">-->
<!-- <el-form-item label="续费率:" prop="renewalRate">-->
<!-- <el-input v-model="form.renewalRate" placeholder="续费率(5%)" />-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="12">-->
<!-- <el-form-item label="转介绍率:" prop="referralRate">-->
<!-- <el-input v-model="form.referralRate" placeholder="转介绍率(8-10%)" />-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="12" >
<el-form-item label="是否生效:" prop="isActive"> <el-form-item label="是否生效:" prop="isActive">
<el-select v-model="form.isActive" filterable placeholder="请选择"> <el-select v-model="form.isActive" filterable placeholder="请选择" :disabled="form.id!=undefined && form.isActive!='0'">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"></el-option> <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12" >
<el-form-item label="生效日期:" prop="effectiveDate"> <el-form-item label="生效日期:" prop="effectiveDate">
<el-date-picker <el-date-picker
v-model="form.effectiveDate" v-model="form.effectiveDate"
format="yyyy-MM-dd" format="yyyy-MM-dd"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
type="date" type="date"
placeholder="选择日期" /> placeholder="选择日期"
:disabled="form.id!=undefined && form.isActive!='0'"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -124,7 +144,8 @@
<script> <script>
import { list, saveOrEdit, remove } from '@/api/school/salary/commissionPlans' import { list, saveOrEdit, remove } from '@/api/school/salary/commissionPlans'
export default { export default {
name: 'Room', name: 'commission_plans',
data() { data() {
return { return {
// //
@ -143,7 +164,7 @@ export default {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
planName:'', planName:'',
isActive:1, isActive:'',
}, },
// //
form: { form: {
@ -163,13 +184,48 @@ export default {
options:[ options:[
{label:'生效',value:1}, {label:'生效',value:1},
{label:'未生效',value:0}, {label:'未生效',value:0},
] ],
rules: {
planName: [
{ required: true, message: '方案名称不能为空', trigger: 'blur' }
],
tier1Threshold: [
{ required: true, message: '阈值不能为空', trigger: 'blur' },
{validator:this.positiveIntegerLessThanSix,trigger: 'blur'}
],
tier1Rate:[
{ required: true, message: '比例不能为空', trigger: 'blur' },
{ validator:this.positiveDecimalWith2Digits, trigger: 'blur' }
],
tier2Threshold: [
{ required: true, message: '阈值不能为空', trigger: 'blur' },
{validator:this.positiveIntegerLessThanSix,trigger: 'blur'}
],
tier2Rate:[
{ required: true, message: '比例不能为空', trigger: 'blur' },
{ validator:this.positiveDecimalWith2Digits, trigger: 'blur' }
],
tier3Threshold: [
{ required: true, message: '阈值不能为空', trigger: 'blur' },
{validator:this.positiveIntegerLessThanSix,trigger: 'blur'}
],
tier3Rate:[
{ required: true, message: '比例不能为空', trigger: 'blur' },
{ validator:this.positiveDecimalWith2Digits, trigger: 'blur' }
],
tier4Rate:[
{ required: true, message: '比例不能为空', trigger: 'blur' },
{ validator:this.positiveDecimalWith2Digits, trigger: 'blur' }
],
},
} }
}, },
created() { created() {
this.getList() this.getList()
}, },
methods: { methods: {
getList() { getList() {
this.loading = true this.loading = true
list(this.queryParams).then(response => { list(this.queryParams).then(response => {
@ -240,6 +296,11 @@ export default {
/** 提交按钮 */ /** 提交按钮 */
submitForm: function() { submitForm: function() {
this.loadingChange = true this.loadingChange = true
this.$refs['form'].validate(valid => {
if (!valid) {
this.loadingChange =false
return
}
saveOrEdit(this.form).then(response => { saveOrEdit(this.form).then(response => {
this.loadingChange = false this.loadingChange = false
this.msgSuccess(response.msg) this.msgSuccess(response.msg)
@ -249,6 +310,8 @@ export default {
this.msgError(response.msg) this.msgError(response.msg)
this.loadingChange = false this.loadingChange = false
}) })
})
}, },
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
@ -266,6 +329,33 @@ export default {
this.msgError(response.msg) this.msgError(response.msg)
} }
}).catch(function() {}) }).catch(function() {})
},
positiveIntegerLessThanSix(rule, value, callback) {
if (value === '' || value === null || value === undefined) {
callback(); // required
return;
}
const str = String(value);
if (!/^[1-9]\d{0,4}$/.test(str)) {
callback(new Error('必须为非零正整数且小于6位'));
} else {
callback();
}
},
positiveDecimalWith2Digits(rule, value, callback) {
const str = String(value);
if (!/^\d+(\.\d{1,2})?$/.test(str)) {
callback(new Error('必须为小于1的正数且最多两位小数'));
} else {
const num = parseFloat(value);
if (num <= 0) {
callback(new Error('数值必须大于0'));
} else if (num >= 1) {
callback(new Error('数值必须小于1'));
} else {
callback();
}
}
} }
} }
} }

@ -77,16 +77,16 @@
<div v-else> <div v-else>
<div v-if="scope.row.cardTypes.chargeType=='default'"> <div v-if="scope.row.cardTypes.chargeType=='default'">
默认<br> 默认<br>
<spa v-if="scope.row.chargeType=='count'">{{scope.row.cardTypes.defaultNum}} </spa> <span v-if="scope.row.chargeType=='count'">{{scope.row.cardTypes.defaultNum}} </span>
<spa v-if="scope.row.chargeType=='total_fee'">{{scope.row.cardTypes.defaultFee}} </spa> <span v-if="scope.row.chargeType=='total_fee'">{{scope.row.cardTypes.defaultFee}} </span>
</div> </div>
<div v-if="scope.row.cardTypes.chargeType=='customize'"> <div v-if="scope.row.cardTypes.chargeType=='customize'">
<div> <div>
<ul> <ul>
<li v-for="item in scope.row.cardTypes.feeModeHourList" :key="item.courseTypeId"> <li v-for="item in scope.row.cardTypes.feeModeHourList" :key="item.courseTypeId">
{{ item.courseType }} - {{ item.courseType }} -
<spa v-if="scope.row.chargeType=='count'">{{item.cnt}} </spa> <span v-if="scope.row.chargeType=='count'">{{item.cnt}} </span>
<spa v-if="scope.row.chargeType=='total_fee'">{{item.totalFee}} </spa> <span v-if="scope.row.chargeType=='total_fee'">{{item.totalFee}} </span>
</li> </li>
</ul> </ul>
</div> </div>

@ -10,13 +10,13 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item style="float: right">
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8" style="display: flex; align-items: center;">
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
v-hasPermi="['sys:receipt:add']" v-hasPermi="['sys:receipt:add']"
@ -46,9 +46,18 @@
@click="handleDelete" @click="handleDelete"
>删除</el-button> >删除</el-button>
</el-col> </el-col>
<span style="color: #999; font-size: 12px;" >
* 为学员办理入会时作为收款账户标签使用
</span>
</el-row> </el-row>
<el-table v-loading="loading" :data="dataList" @selection-change="handleSelectionChange"> <el-table
v-loading="loading"
:data="dataList"
@selection-change="handleSelectionChange"
border
:header-cell-style="{'text-align': 'center'}"
:cell-style="{'text-align': 'center'}">
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column prop="accountName" label="账户名称" /> <el-table-column prop="accountName" label="账户名称" />
<el-table-column prop="memo" label="备注" /> <el-table-column prop="memo" label="备注" />

@ -19,7 +19,7 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item style="float: right">
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
</el-form-item> </el-form-item>
@ -45,16 +45,23 @@
@click="toggleExpandAll" @click="toggleExpandAll"
>展开/折叠</el-button> >展开/折叠</el-button>
</el-col> </el-col>
<span style="color: #999; font-size: 12px; ">
* 校区会作为门店展示可创建教室班级排课作为门店展示的内容可在左侧菜单APP首页宣传修改<br>
* 部门仅内部管理使用不会展示无法创建教室班级排课
</span>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> </el-row>
<el-table <el-table
border
v-if="refreshTable" v-if="refreshTable"
v-loading="loading" v-loading="loading"
:data="deptList" :data="deptList"
row-key="deptId" row-key="deptId"
:default-expand-all="isExpandAll" :default-expand-all="isExpandAll"
:tree-props="{children: 'children', hasChildren: 'hasChildren'}" :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
:header-cell-style="{'text-align': 'center'}"
> >
<el-table-column prop="deptName" label="部门/校区名称" width="260"> <el-table-column prop="deptName" label="部门/校区名称" width="260">
<template slot-scope="scope"> <template slot-scope="scope">
@ -62,8 +69,8 @@
<span>{{ scope.row.deptName }}{{scope.row.parentId==0?'(总店)':''}}</span> <span>{{ scope.row.deptName }}{{scope.row.parentId==0?'(总店)':''}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="orderNum" label="排序" width="200"></el-table-column> <el-table-column prop="orderNum" align="center" label="排序" width="200"></el-table-column>
<el-table-column prop="status" label="状态" width="100"> <el-table-column prop="status" align="center" label="状态" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/> <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/>
</template> </template>

@ -45,7 +45,7 @@
end-placeholder="结束日期" end-placeholder="结束日期"
></el-date-picker> ></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item style="float: right">
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
</el-form-item> </el-form-item>
@ -88,7 +88,14 @@
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> </el-row>
<el-table v-loading="loading" :data="roleList" @selection-change="handleSelectionChange"> <el-table
v-loading="loading"
:data="roleList"
@selection-change="handleSelectionChange"
border
:header-cell-style="{'text-align': 'center'}"
:cell-style="{'text-align': 'center'}"
>
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="角色编号" prop="roleId" width="120" /> <el-table-column label="角色编号" prop="roleId" width="120" />
<el-table-column label="角色名称" prop="roleName" :show-overflow-tooltip="true" width="150" /> <el-table-column label="角色名称" prop="roleName" :show-overflow-tooltip="true" width="150" />

@ -51,7 +51,7 @@
<el-form-item label="状态" prop="status"> <el-form-item label="状态" prop="status">
<el-select <el-select
v-model="queryParams.status" v-model="queryParams.status"
placeholder="用户状态" placeholder="员工状态"
clearable clearable
style="width: 240px" style="width: 240px"
> >
@ -86,11 +86,11 @@
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
</el-row> </el-row>
<el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange" border :header-cell-style="{'text-align': 'center'}">
<el-table-column type="selection" width="50" align="center" /> <el-table-column type="selection" width="50" align="center" />
<el-table-column label="用户编号" align="center" key="userId" prop="userId" v-if="columns[0].visible" /> <el-table-column label="员工编号" align="center" key="userId" prop="userId" v-if="columns[0].visible" />
<el-table-column label="登录账号" align="center" key="userName" prop="userName" v-if="columns[1].visible" :show-overflow-tooltip="true" /> <el-table-column label="登录账号" align="center" key="userName" prop="userName" v-if="columns[1].visible" :show-overflow-tooltip="true" />
<el-table-column label="用户昵称" align="center" key="nickName" prop="nickName" v-if="columns[2].visible" :show-overflow-tooltip="true" /> <el-table-column label="员工昵称" align="center" key="nickName" prop="nickName" v-if="columns[2].visible" :show-overflow-tooltip="true" />
<el-table-column label="部门" align="center" key="deptName" prop="dept.deptName" v-if="columns[3].visible" :show-overflow-tooltip="true" /> <el-table-column label="部门" align="center" key="deptName" prop="dept.deptName" v-if="columns[3].visible" :show-overflow-tooltip="true" />
<el-table-column label="手机号码" align="center" key="phonenumber" prop="phonenumber" v-if="columns[4].visible" width="120" /> <el-table-column label="手机号码" align="center" key="phonenumber" prop="phonenumber" v-if="columns[4].visible" width="120" />
<el-table-column prop="teacher" align="center" label="教练角色" v-if="columns[5].visible" width="120"> <el-table-column prop="teacher" align="center" label="教练角色" v-if="columns[5].visible" width="120">
@ -165,8 +165,8 @@
<el-form ref="form" :model="form" :rules="rules" label-width="80px" > <el-form ref="form" :model="form" :rules="rules" label-width="80px" >
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="用户昵称" prop="nickName"> <el-form-item label="员工昵称" prop="nickName">
<el-input v-model="form.nickName" placeholder="请输入用户昵称" maxlength="30" /> <el-input v-model="form.nickName" placeholder="请输入员工昵称" maxlength="30" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@ -206,7 +206,7 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="用户性别"> <el-form-item label="员工性别">
<el-select v-model="form.sex" placeholder="请选择性别"> <el-select v-model="form.sex" placeholder="请选择性别">
<el-option <el-option
v-for="dict in dict.type.sys_user_sex" v-for="dict in dict.type.sys_user_sex"
@ -252,7 +252,7 @@
</el-col> </el-col>
</el-row> </el-row>
<span v-if="form.userId == undefined" style="color: #999; font-size: 12px;padding-top: 1px"> <span v-if="form.userId == undefined" style="color: #999; font-size: 12px;padding-top: 1px">
* 操作说明本操作会自动关联角色关联相同手机号的app用户<br> * 操作说明本操作会自动关联同步角色相同手机号的app用户<br>
如果手机号未在app注册本操作会自动注册一个新的app用户,<br> 如果手机号未在app注册本操作会自动注册一个新的app用户,<br>
登录账号默认为本手机号{{form.phonenumber}}登录密码与本账号密码相同{{form.password}} 登录账号默认为本手机号{{form.phonenumber}}登录密码与本账号密码相同{{form.password}}
</span> </span>
@ -370,9 +370,9 @@ export default {
}, },
// //
columns: [ columns: [
{ key: 0, label: `用户编号`, visible: true }, { key: 0, label: `员工编号`, visible: true },
{ key: 1, label: `登录账号`, visible: true }, { key: 1, label: `登录账号`, visible: true },
{ key: 2, label: `用户昵称`, visible: true }, { key: 2, label: `员工昵称`, visible: true },
{ key: 3, label: `部门`, visible: true }, { key: 3, label: `部门`, visible: true },
{ key: 4, label: `手机号码`, visible: true }, { key: 4, label: `手机号码`, visible: true },
{ key: 5, label: `教练角色`, visible: true }, { key: 5, label: `教练角色`, visible: true },
@ -391,7 +391,7 @@ export default {
} }
], ],
nickName: [ nickName: [
{ required: true, message: "用户昵称不能为空", trigger: "blur" } { required: true, message: "员工昵称不能为空", trigger: "blur" }
], ],
password: [ password: [
{ required: true, message: "用户密码不能为空", trigger: "blur" }, { required: true, message: "用户密码不能为空", trigger: "blur" },
@ -534,7 +534,7 @@ export default {
this.postOptions = response.posts; this.postOptions = response.posts;
this.roleOptions = response.roles; this.roleOptions = response.roles;
this.open = true; this.open = true;
this.title = "添加用户"; this.title = "添加员工";
this.form.password = this.initPassword; this.form.password = this.initPassword;
}); });
}, },
@ -550,7 +550,7 @@ export default {
this.form.postIds = response.postIds; this.form.postIds = response.postIds;
this.form.roleIds = response.roleIds; this.form.roleIds = response.roleIds;
this.open = true; this.open = true;
this.title = "修改用户"; this.title = "修改员工";
this.form.password = ""; this.form.password = "";
}); });
}, },
@ -602,7 +602,7 @@ export default {
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
const userIds = row.userId || this.ids; const userIds = row.userId || this.ids;
this.$modal.confirm('是否确认删除用户编号为"' + userIds + '"的数据项?').then(function() { this.$modal.confirm('是否确认删除员工编号为"' + userIds + '"的数据项?').then(function() {
return delUser(userIds); return delUser(userIds);
}).then(() => { }).then(() => {
this.getList(); this.getList();
@ -617,7 +617,7 @@ export default {
}, },
/** 导入按钮操作 */ /** 导入按钮操作 */
handleImport() { handleImport() {
this.upload.title = "用户导入"; this.upload.title = "员工导入";
this.upload.open = true; this.upload.open = true;
}, },
/** 下载模板操作 */ /** 下载模板操作 */

Loading…
Cancel
Save