技师业绩积分
This commit is contained in:
parent
6bdaa898af
commit
26ab975341
|
@ -145,6 +145,8 @@ const mainRoutes = {
|
|||
{ path: '/jjrData', component: _import('bl/commission/jjr/jjrData'), name: 'jjrData', meta: { title: '经纪人数据', isTab: true } },
|
||||
{ path: '/ywyConfig', component: _import('bl/commission/ywy/ywyConfig'), name: 'ywyConfig', meta: { title: '业务员设置', isTab: true } },
|
||||
{ path: '/ywyApply', component: _import('bl/commission/ywy/ywyApply'), name: 'ywyApply', meta: { title: '业务员审核', isTab: true } },
|
||||
{ path: '/artificerAchievementIntegral', component: _import('bl/artificer/artificerAchievementIntegral'), name: 'artificerAchievementIntegral', meta: { title: '技师业绩积分关系列表', isTab: true } },
|
||||
{ path: '/artificerPartitioningDetails', component: _import('bl/artificer/artificerPartitioningDetails'), name: 'artificerPartitioningDetails', meta: { title: '技师分成明细配置列表', isTab: true } },
|
||||
],
|
||||
beforeEnter(to, from, next) {
|
||||
let token = Vue.cookie.get('token')
|
||||
|
|
|
@ -313,40 +313,6 @@
|
|||
</el-table-column>
|
||||
</el-table>
|
||||
</el-tab-pane>
|
||||
<!-- 分成明细配置 -->
|
||||
<el-tab-pane label="分成明细配置" name="fcmx">
|
||||
<div style="display: flex;justify-content: left;align-items: center;">
|
||||
<div>请选择服务类型:</div>
|
||||
<el-select v-model="serverValue" placeholder="请选择服务类型" @change="changeServerType">
|
||||
<el-option v-for="item in serverList" :key="item.id" :label="item.value" :value="item.id"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<el-table v-loading="tableDataLoading" :data="tableData">
|
||||
<el-table-column fixed prop="id" label="编号" align="center" width="80">
|
||||
</el-table-column>
|
||||
<el-table-column fixed prop="grade" label="技师等级" align="center">
|
||||
</el-table-column>
|
||||
<el-table-column prop="outstandingAchievement" label="最低业绩">
|
||||
</el-table-column>
|
||||
<el-table-column prop="clockRate" label="加钟率">
|
||||
</el-table-column>
|
||||
<el-table-column prop="depositRate" label="充值率">
|
||||
</el-table-column>
|
||||
<el-table-column prop="durationOnline" label="在线时长">
|
||||
</el-table-column>
|
||||
<el-table-column prop="integral" label="积分" width="180">
|
||||
</el-table-column>
|
||||
<el-table-column prop="proportionalSharing" label="分成比例">
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" prop="id">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" type="primary" :disabled="!isAuth('allocationList:update')"
|
||||
@click="openDividedDialog(scope.$index, scope.row)">编辑
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-tab-pane>
|
||||
<!-- 修改与取消服务配置 -->
|
||||
<el-tab-pane label="修改与取消服务配置" name="v3_order_form">
|
||||
<el-table v-loading="tableDataLoading" :data="tableData">
|
||||
|
@ -576,37 +542,6 @@
|
|||
<el-button type="primary" @click="amendNoticeTo()">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!-- 分成明细配置的修改弹窗 -->
|
||||
<el-dialog title="修改" :visible.sync="dividedDialogFormVisible" center>
|
||||
<el-form :rules="rules" ref="ruleForm" :model="dividedDetailsForm">
|
||||
<el-form-item label="技师等级:" :label-width="formLabelWidth">
|
||||
<el-input v-model="dividedDetailsForm.grade" style="width:65%;"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="最低业绩:" :label-width="formLabelWidth">
|
||||
<el-input v-model="dividedDetailsForm.outstandingAchievement" style="width:65%;"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="加钟率:" :label-width="formLabelWidth" prop="clockRate">
|
||||
<el-input v-model="dividedDetailsForm.clockRate" type="number" style="width:65%;"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="充值率:" :label-width="formLabelWidth" prop="depositRate">
|
||||
<el-input v-model="dividedDetailsForm.depositRate" type="number" style="width:65%;"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="在线时长:" :label-width="formLabelWidth">
|
||||
<el-input v-model="dividedDetailsForm.durationOnline" style="width:65%;"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="积分:" :label-width="formLabelWidth">
|
||||
<el-input v-model="dividedDetailsForm.integral" style="width:65%;"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="分成比例:" :label-width="formLabelWidth" prop="proportionalSharing">
|
||||
<el-input v-model="dividedDetailsForm.proportionalSharing" type="number"
|
||||
style="width:65%;"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="dividedDialogFormVisible = false;">取 消</el-button>
|
||||
<el-button type="primary" @click="dividedDetailsSubmit()">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
@ -673,7 +608,6 @@ export default {
|
|||
dialogFormVisible1: false,
|
||||
tableDataLoading6: false,
|
||||
tableDataLoading: true,
|
||||
dividedDialogFormVisible: false,
|
||||
formLabelWidth: '200px',
|
||||
form: {
|
||||
id: '',
|
||||
|
@ -682,16 +616,6 @@ export default {
|
|||
value2: '',
|
||||
type: '',
|
||||
},
|
||||
dividedDetailsForm: {
|
||||
id: "",
|
||||
grade: "",
|
||||
outstandingAchievement: "",
|
||||
clockRate: "",
|
||||
durationOnline: "",
|
||||
integral: "",
|
||||
proportionalSharing: "",
|
||||
depositRate: "",
|
||||
},
|
||||
form2: {
|
||||
id: '',
|
||||
min: '',
|
||||
|
@ -763,25 +687,6 @@ export default {
|
|||
let txts = value.split(splitTxt);
|
||||
return txts[index] || defTxt;
|
||||
},
|
||||
changeServerType() {
|
||||
console.log(this.serverValue);
|
||||
this.getDividedDetailsList();
|
||||
},
|
||||
getServer() {
|
||||
this.$http({
|
||||
url: this.$http.adornUrl('sys/dict/list'),
|
||||
method: 'get',
|
||||
params: this.$http.adornParams({
|
||||
'page': 1,
|
||||
'limit': 100,
|
||||
'parentId': 22,
|
||||
})
|
||||
}).then(({ data }) => {
|
||||
if (data && data.code === 0) {
|
||||
this.serverList = data.page.list;
|
||||
}
|
||||
})
|
||||
},
|
||||
//上传成功
|
||||
handleAvatarSuccess(file) {
|
||||
this.form.value = file.data
|
||||
|
@ -828,10 +733,6 @@ export default {
|
|||
} else if (tab._props.label == '图片配置') {
|
||||
this.condition = 'image'
|
||||
this.dataSelect()
|
||||
} else if (tab._props.label == '分成明细配置') {
|
||||
this.condition = 'fcmx';
|
||||
this.getDividedDetailsList();
|
||||
this.getServer();
|
||||
} else if (tab._props.label == '出行配置-') {
|
||||
this.condition = 'chuxing'
|
||||
this.dataSelect()
|
||||
|
@ -855,34 +756,6 @@ export default {
|
|||
this.dataSelect()
|
||||
}
|
||||
},
|
||||
getDividedDetailsList() {
|
||||
this.tableDataLoading = true;
|
||||
console.log(this.condition, "12312hhh");
|
||||
console.log(this.serverValue);
|
||||
// if(!this.serverValue){
|
||||
// this.serverValue = '91'
|
||||
// }
|
||||
this.tableData = [];
|
||||
this.$http({
|
||||
// type服务类型 1精油2中医推拿
|
||||
url: this.$http.adornUrl(`common/fcmx/` + (this.serverValue?this.serverValue:'91')),
|
||||
method: 'get',
|
||||
}).then(({
|
||||
data
|
||||
}) => {
|
||||
if (data && data.code === 0) {
|
||||
this.tableDataLoading = false
|
||||
data.data.forEach((item) => {
|
||||
item.clockRate = (item.clockRate * 100) + "%";
|
||||
item.depositRate = (item.depositRate * 100) + "%";
|
||||
item.durationOnline = item.durationOnline + "分钟";
|
||||
item.proportionalSharing = (item.proportionalSharing * 100) + "%";
|
||||
});
|
||||
let returnData = data.data;
|
||||
this.tableData = returnData;
|
||||
}
|
||||
})
|
||||
},
|
||||
// 修改弹框
|
||||
amend(index, rows) {
|
||||
this.dialogFormVisible = true;
|
||||
|
@ -900,18 +773,6 @@ export default {
|
|||
this.form.value2 = [ this.getSplitOtherValue(rows.value,0), this.getSplitOtherValue(rows.value,1) ];
|
||||
}
|
||||
},
|
||||
openDividedDialog(index, rows) {
|
||||
console.log(this.tableData, "dwdwdw00");
|
||||
this.dividedDialogFormVisible = true;
|
||||
this.dividedDetailsForm.id = rows.id;
|
||||
this.dividedDetailsForm.grade = rows.grade;
|
||||
this.dividedDetailsForm.outstandingAchievement = rows.outstandingAchievement;
|
||||
this.dividedDetailsForm.clockRate = (rows.clockRate.substring(0, rows.clockRate.length - 1)) / 100;
|
||||
this.dividedDetailsForm.durationOnline = rows.durationOnline.substring(0, rows.durationOnline.length - 2);
|
||||
this.dividedDetailsForm.integral = rows.integral;
|
||||
this.dividedDetailsForm.proportionalSharing = (rows.proportionalSharing.substring(0, rows.proportionalSharing.length - 1)) / 100;
|
||||
this.dividedDetailsForm.depositRate = (rows.depositRate.substring(0, rows.depositRate.length - 1)) / 100;
|
||||
},
|
||||
// 修改
|
||||
amendNoticeTo() {
|
||||
if (this.form.type == 330) {
|
||||
|
@ -967,51 +828,6 @@ export default {
|
|||
}
|
||||
})
|
||||
},
|
||||
//分成比例编辑提交
|
||||
dividedDetailsSubmit() {
|
||||
let _this = this;
|
||||
let paramsObj = {
|
||||
id: this.dividedDetailsForm.id,
|
||||
grade: this.dividedDetailsForm.grade,
|
||||
outstandingAchievement: this.dividedDetailsForm.outstandingAchievement,
|
||||
clockRate: this.dividedDetailsForm.clockRate,
|
||||
durationOnline: this.dividedDetailsForm.durationOnline,
|
||||
integral: this.dividedDetailsForm.integral,
|
||||
proportionalSharing: this.dividedDetailsForm.proportionalSharing,
|
||||
depositRate: this.dividedDetailsForm.depositRate,
|
||||
}
|
||||
// 编辑提交时提取value中的数值
|
||||
// paramsObj.clockRate = Number(paramsObj.clockRate.substring(0, paramsObj.clockRate.length - 1));
|
||||
// paramsObj.durationOnline = Number(paramsObj.durationOnline.substring(0, paramsObj.durationOnline.length - 2));
|
||||
// paramsObj.proportionalSharing = Number(paramsObj.proportionalSharing.substring(0, paramsObj.proportionalSharing.length - 1));
|
||||
this.$http({
|
||||
url: this.$http.adornUrl('common/fcmx/upd'),
|
||||
method: 'POST',
|
||||
data: this.$http.adornData(paramsObj)
|
||||
}).then(({
|
||||
data
|
||||
}) => {
|
||||
if (data && data.code === 0) {
|
||||
this.dividedDialogFormVisible = false;
|
||||
this.$message({
|
||||
message: '操作成功',
|
||||
type: 'success',
|
||||
duration: 1500,
|
||||
onClose: () => {
|
||||
this.getDividedDetailsList();
|
||||
for (let item in this.dividedDetailsForm) {
|
||||
this.dividedDetailsForm[item] = "";
|
||||
}
|
||||
// if (this.form.type == 330) {
|
||||
// this.amendNoticeToJw()
|
||||
// }
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$message.error(data.msg)
|
||||
}
|
||||
})
|
||||
},
|
||||
// 修改经纬度
|
||||
amendNoticeToJw() {
|
||||
var values = this.latitude + ',' + this.longitude
|
||||
|
|
|
@ -0,0 +1,379 @@
|
|||
<template>
|
||||
<div>
|
||||
<!-- 列表 -->
|
||||
<el-button style="margin:10px;" size="mini" type="primary" icon="document" @click="handleSelect">刷新
|
||||
</el-button>
|
||||
<el-button
|
||||
style="margin-left: 10px"
|
||||
size="mini"
|
||||
type="primary"
|
||||
icon="document"
|
||||
@click="handleEdit(0)"
|
||||
>新增技师业绩积分
|
||||
</el-button>
|
||||
<el-table v-loading="tableDataLoading" :data="tableData">
|
||||
<el-table-column
|
||||
prop="id"
|
||||
label="编号"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column label="类型" prop="classifyId">
|
||||
<template slot-scope="scope">
|
||||
{{ showDictValue(scope.row.classifyId, fwData) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="achievement"
|
||||
label="业绩"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.achievement }}元
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="integral"
|
||||
label="积分"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.integral }}分
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" prop="id" width="360" fixed="right">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="primary"
|
||||
style="margin: 5px"
|
||||
@click="handleEdit(scope.row)"
|
||||
>修改
|
||||
</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="primary"
|
||||
style="margin: 5px"
|
||||
@click="handleDelete(scope.row)"
|
||||
>删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!-- 添加、修改 -->
|
||||
<el-dialog :title="titles" :visible.sync="dialogFormVisible" center>
|
||||
<div style="margin-bottom: 10px">
|
||||
<span style="width: 200px; display: inline-block; text-align: right">类型:</span>
|
||||
<el-select clearable v-model="classifyId" style="width: 50%">
|
||||
<el-option
|
||||
v-for="item in fwData"
|
||||
:key="item.id"
|
||||
:label="item.value"
|
||||
:value="item.id"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div style="margin-bottom: 10px">
|
||||
<span style="width: 200px; display: inline-block; text-align: right">业绩:</span>
|
||||
<el-input-number v-model="achievement" controls-position="right" :precision="2" :min="0" :step="1" placeholder="请输入业绩%"/>
|
||||
</div>
|
||||
<div style="margin-bottom: 10px">
|
||||
<span style="width: 200px; display: inline-block; text-align: right">积分:</span>
|
||||
<el-input-number v-model="integral" controls-position="right" :precision="2" :min="0" :step="1" placeholder="请输入业绩%"/>
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogFormVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="handleSubmit()">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
apiUrl: "",
|
||||
titles: "",
|
||||
tableDataLoading: false,
|
||||
tableData: [],
|
||||
id: "",
|
||||
classifyId: "",
|
||||
achievement: "",
|
||||
integral: "",
|
||||
dialogFormVisible: false,
|
||||
fwData: [],
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
showDictValue(data, datas){
|
||||
const dictItem = datas.find(item => data === item.id);
|
||||
return dictItem ? dictItem.value : '';
|
||||
},
|
||||
fwSelect() {
|
||||
this.$http({
|
||||
url: this.$http.adornUrl("sys/dict/selectDictList"),
|
||||
method: "get",
|
||||
params: this.$http.adornParams({
|
||||
type: "服务类型",
|
||||
}),
|
||||
}).then(({ data }) => {
|
||||
let returnData = data.data;
|
||||
this.fwData = returnData;
|
||||
});
|
||||
},
|
||||
// 获取服务包列表数据
|
||||
handleSelect() {
|
||||
this.tableDataLoading = true;
|
||||
this.$http({
|
||||
url: this.$http.adornUrl("artificer/achievementIntegral/findList"),
|
||||
method: "get",
|
||||
params: this.$http.adornParams({
|
||||
}),
|
||||
}).then(({data}) => {
|
||||
if (data.code == 0) {
|
||||
this.tableData = data.data;
|
||||
} else {
|
||||
this.$notify({
|
||||
title: "提示",
|
||||
duration: 1800,
|
||||
message: data.msg,
|
||||
type: "warning",
|
||||
});
|
||||
}
|
||||
this.tableDataLoading = false;
|
||||
});
|
||||
},
|
||||
|
||||
// 添加修改
|
||||
handleEdit(row) {
|
||||
if (row != 0) {
|
||||
this.titles = "修改";
|
||||
this.id = row.id;
|
||||
this.classifyId = row.classifyId;
|
||||
this.achievement = row.achievement;
|
||||
this.integral = row.integral;
|
||||
} else {
|
||||
this.titles = "添加";
|
||||
this.id = "";
|
||||
this.classifyId = "";
|
||||
this.achievement = "";
|
||||
this.integral = "";
|
||||
}
|
||||
this.dialogFormVisible = true;
|
||||
},
|
||||
|
||||
// 提交添加、修改
|
||||
handleSubmit() {
|
||||
if (this.classifyId == "") {
|
||||
this.$notify({
|
||||
title: "提示",
|
||||
duration: 1800,
|
||||
message: "请选择类型",
|
||||
type: "warning",
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (this.achievement == "") {
|
||||
this.$notify({
|
||||
title: "提示",
|
||||
duration: 1800,
|
||||
message: "请输入业绩",
|
||||
type: "warning",
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (this.integral == "") {
|
||||
this.$notify({
|
||||
title: "提示",
|
||||
duration: 1800,
|
||||
message: "请输入积分",
|
||||
type: "warning",
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (this.titles == "添加") {
|
||||
this.apiUrl = "artificer/achievementIntegral/add";
|
||||
} else {
|
||||
this.apiUrl = "artificer/achievementIntegral/update";
|
||||
}
|
||||
this.$http({
|
||||
url: this.$http.adornUrl(this.apiUrl),
|
||||
method: "post",
|
||||
params: this.$http.adornParams({
|
||||
id: this.id,
|
||||
classifyId: this.classifyId,
|
||||
achievement: this.achievement,
|
||||
integral: this.integral,
|
||||
}),
|
||||
}).then(({data}) => {
|
||||
if (data.code == 0) {
|
||||
this.dialogFormVisible = false;
|
||||
this.$message({
|
||||
message: "操作成功",
|
||||
type: "success",
|
||||
duration: 1500,
|
||||
onClose: () => {
|
||||
this.handleSelect();
|
||||
},
|
||||
});
|
||||
} else {
|
||||
this.$message({
|
||||
message: data.msg,
|
||||
type: "warning",
|
||||
duration: 1500,
|
||||
onClose: () => {
|
||||
},
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
handleDelete(row){
|
||||
this.$confirm(`确定删除此条信息?`, "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning",
|
||||
}).then(() => {
|
||||
let id = row.id;
|
||||
this.$http({
|
||||
url: this.$http.adornUrl("artificer/achievementIntegral/delete"),
|
||||
method: "post",
|
||||
params: this.$http.adornParams({
|
||||
id: id
|
||||
}),
|
||||
}).then(({data}) => {
|
||||
if (data.code == 0) {
|
||||
this.$message({
|
||||
message: "删除成功",
|
||||
type: "success",
|
||||
duration: 1500,
|
||||
onClose: () => {
|
||||
this.handleSelect();
|
||||
},
|
||||
});
|
||||
} else {
|
||||
this.$message({
|
||||
message: data.msg,
|
||||
type: "warning",
|
||||
duration: 1500,
|
||||
onClose: () => {
|
||||
},
|
||||
});
|
||||
}
|
||||
});
|
||||
}).catch(() => {});
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
this.fwSelect();
|
||||
this.handleSelect();
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.customWidth {
|
||||
width: 80% !important;
|
||||
}
|
||||
.el-dialog--center {
|
||||
text-align: center;
|
||||
margin-top: 1vh !important;
|
||||
}
|
||||
|
||||
.el-tooltip__popper {
|
||||
width: 200px;
|
||||
padding: 10px;
|
||||
color: #000 !important;
|
||||
box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.4);
|
||||
background-color: #fff !important;
|
||||
}
|
||||
|
||||
.adver_main.box a {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
height: 150px;
|
||||
line-height: 150px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.bannerManin span {
|
||||
display: inline-block;
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.bannerManin img {
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
.bannerbtn a {
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
color: #3e8ef7 !important;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.imgs {
|
||||
position: relative;
|
||||
border-radius: 6px;
|
||||
width: 148px;
|
||||
height: 148px;
|
||||
margin-right: 10px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.dels {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.dels .el-icon-delete {
|
||||
line-height: 148px;
|
||||
padding-left: 58px;
|
||||
font-size: 25px;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.imgs:hover .dels {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: #000;
|
||||
display: block;
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.bqList {
|
||||
padding: 4px 14px;
|
||||
margin: 4px;
|
||||
border: 1px solid #efefef;
|
||||
font-size: 12px;
|
||||
color: #999;
|
||||
border-radius: 4px;
|
||||
margin-right: 15px;
|
||||
}
|
||||
|
||||
.delss {
|
||||
display: none;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.delss .el-icon-delete {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.bqList:hover .delss {
|
||||
display: initial;
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.tj {
|
||||
padding: 6px !important;
|
||||
margin: 4px;
|
||||
font-size: 12px;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 4px;
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,420 @@
|
|||
<template>
|
||||
<div>
|
||||
<!-- 列表 -->
|
||||
<el-button style="margin:10px;" size="mini" type="primary" icon="document" @click="handleSelect">刷新
|
||||
</el-button>
|
||||
<el-button
|
||||
style="margin-left: 10px"
|
||||
size="mini"
|
||||
type="primary"
|
||||
icon="document"
|
||||
@click="handleEdit(0)"
|
||||
>新增分成明细配置
|
||||
</el-button>
|
||||
<el-table v-loading="tableDataLoading" :data="tableData">
|
||||
<el-table-column fixed prop="id" label="编号" align="center" width="80">
|
||||
</el-table-column>
|
||||
<el-table-column fixed prop="grade" label="技师等级" align="center">
|
||||
</el-table-column>
|
||||
<el-table-column prop="outstandingAchievement" label="最低业绩">
|
||||
</el-table-column>
|
||||
<el-table-column prop="clockRate" label="加钟率">
|
||||
</el-table-column>
|
||||
<el-table-column prop="depositRate" label="充值率">
|
||||
</el-table-column>
|
||||
<el-table-column prop="durationOnline" label="在线时长">
|
||||
</el-table-column>
|
||||
<el-table-column prop="integral" label="积分" width="180">
|
||||
</el-table-column>
|
||||
<el-table-column prop="proportionalSharing" label="分成比例">
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" prop="id" width="360" fixed="right">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="primary"
|
||||
style="margin: 5px"
|
||||
@click="handleEdit(scope.row)"
|
||||
>修改
|
||||
</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="primary"
|
||||
style="margin: 5px"
|
||||
@click="handleDelete(scope.row)"
|
||||
>删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!-- 添加、修改 -->
|
||||
<el-dialog :title="titles" :visible.sync="dialogFormVisible" center>
|
||||
<div style="margin-bottom: 10px">
|
||||
<span style="width: 200px; display: inline-block; text-align: right">技师等级:</span>
|
||||
<el-input v-model="grade" controls-position="right" placeholder="请输入技师等级" type="text" style="width: 50%"/>
|
||||
</div>
|
||||
<div style="margin-bottom: 10px">
|
||||
<span style="width: 200px; display: inline-block; text-align: right">最低业绩:</span>
|
||||
<el-input-number v-model="outstandingAchievement" controls-position="right" :precision="2" :min="0" :step="1" placeholder="请输入最低业绩"/>
|
||||
</div>
|
||||
<div style="margin-bottom: 10px">
|
||||
<span style="width: 200px; display: inline-block; text-align: right">加钟率:</span>
|
||||
<el-input-number v-model="clockRate" controls-position="right" :precision="2" :min="0" :max="1" :step="0.1" placeholder="请输入加钟率"/>
|
||||
</div>
|
||||
<div style="margin-bottom: 10px">
|
||||
<span style="width: 200px; display: inline-block; text-align: right">充值率:</span>
|
||||
<el-input-number v-model="depositRate" controls-position="right" :precision="2" :min="0" :max="1" :step="0.1" placeholder="请输入充值率"/>
|
||||
</div>
|
||||
<div style="margin-bottom: 10px">
|
||||
<span style="width: 200px; display: inline-block; text-align: right">在线时长:</span>
|
||||
<el-input-number v-model="durationOnline" controls-position="right" :precision="0" :min="0" :step="1" placeholder="请输入在线时长"/>
|
||||
</div>
|
||||
<div style="margin-bottom: 10px">
|
||||
<span style="width: 200px; display: inline-block; text-align: right">积分:</span>
|
||||
<el-input-number v-model="integral" controls-position="right" :precision="0" :min="0" :step="1" placeholder="请输入积分"/>
|
||||
</div>
|
||||
<div style="margin-bottom: 10px">
|
||||
<span style="width: 200px; display: inline-block; text-align: right">分成比例:</span>
|
||||
<el-input-number v-model="proportionalSharing" controls-position="right" :precision="2" :min="0" :max="1" :step="0.1" placeholder="请输入分成比例"/>
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogFormVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="handleSubmit()">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
apiUrl: "",
|
||||
titles: "",
|
||||
tableDataLoading: false,
|
||||
tableData: [],
|
||||
id: "",
|
||||
grade: "",
|
||||
outstandingAchievement: "",
|
||||
clockRate: "",
|
||||
durationOnline: "",
|
||||
integral: "",
|
||||
proportionalSharing: "",
|
||||
depositRate: "",
|
||||
dialogFormVisible: false,
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
handleSelect() {
|
||||
this.tableDataLoading = true;
|
||||
this.$http({
|
||||
url: this.$http.adornUrl("artificer/partitioningDetails/findList"),
|
||||
method: "get",
|
||||
params: this.$http.adornParams({}),
|
||||
}).then(({data}) => {
|
||||
if (data.code == 0) {
|
||||
this.tableData = data.data;
|
||||
} else {
|
||||
this.$notify({
|
||||
title: "提示",
|
||||
duration: 1800,
|
||||
message: data.msg,
|
||||
type: "warning",
|
||||
});
|
||||
}
|
||||
this.tableDataLoading = false;
|
||||
});
|
||||
},
|
||||
|
||||
// 添加修改
|
||||
handleEdit(row) {
|
||||
if (row != 0) {
|
||||
this.titles = "修改";
|
||||
this.id = row.id;
|
||||
this.grade = row.grade;
|
||||
this.outstandingAchievement = row.outstandingAchievement;
|
||||
this.clockRate = row.clockRate;
|
||||
this.durationOnline = row.durationOnline;
|
||||
this.integral = row.integral;
|
||||
this.proportionalSharing = row.proportionalSharing;
|
||||
this.depositRate = row.depositRate;
|
||||
} else {
|
||||
this.titles = "添加";
|
||||
this.id = "";
|
||||
this.grade = "";
|
||||
this.outstandingAchievement = "";
|
||||
this.clockRate = "";
|
||||
this.durationOnline = "";
|
||||
this.integral = "";
|
||||
this.proportionalSharing = "";
|
||||
this.depositRate = "";
|
||||
}
|
||||
this.dialogFormVisible = true;
|
||||
},
|
||||
|
||||
// 提交添加、修改
|
||||
handleSubmit() {
|
||||
if (this.grade == "") {
|
||||
this.$notify({
|
||||
title: "提示",
|
||||
duration: 1800,
|
||||
message: "请输入技师等级",
|
||||
type: "warning",
|
||||
});
|
||||
return;
|
||||
}
|
||||
// if (this.outstandingAchievement == "") {
|
||||
// this.$notify({
|
||||
// title: "提示",
|
||||
// duration: 1800,
|
||||
// message: "请输入最低业绩",
|
||||
// type: "warning",
|
||||
// });
|
||||
// return;
|
||||
// }
|
||||
// if (this.clockRate == "") {
|
||||
// this.$notify({
|
||||
// title: "提示",
|
||||
// duration: 1800,
|
||||
// message: "请输入加钟率",
|
||||
// type: "warning",
|
||||
// });
|
||||
// return;
|
||||
// }
|
||||
// if (this.depositRate == "") {
|
||||
// this.$notify({
|
||||
// title: "提示",
|
||||
// duration: 1800,
|
||||
// message: "请输入充值率",
|
||||
// type: "warning",
|
||||
// });
|
||||
// return;
|
||||
// }
|
||||
// if (this.durationOnline == "") {
|
||||
// this.$notify({
|
||||
// title: "提示",
|
||||
// duration: 1800,
|
||||
// message: "请输入在线时长",
|
||||
// type: "warning",
|
||||
// });
|
||||
// return;
|
||||
// }
|
||||
// if (this.integral == "") {
|
||||
// this.$notify({
|
||||
// title: "提示",
|
||||
// duration: 1800,
|
||||
// message: "请输入积分",
|
||||
// type: "warning",
|
||||
// });
|
||||
// return;
|
||||
// }
|
||||
if (this.proportionalSharing == "") {
|
||||
this.$notify({
|
||||
title: "提示",
|
||||
duration: 1800,
|
||||
message: "请输入分成比例",
|
||||
type: "warning",
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (this.titles == "添加") {
|
||||
this.apiUrl = "artificer/partitioningDetails/add";
|
||||
} else {
|
||||
this.apiUrl = "artificer/partitioningDetails/update";
|
||||
}
|
||||
let params = {
|
||||
id: this.id,
|
||||
grade: this.grade,
|
||||
outstandingAchievement: this.outstandingAchievement,
|
||||
clockRate: this.clockRate,
|
||||
durationOnline: this.durationOnline,
|
||||
integral: this.integral,
|
||||
proportionalSharing: this.proportionalSharing,
|
||||
depositRate: this.depositRate,
|
||||
}
|
||||
console.log(params);
|
||||
this.$http({
|
||||
url: this.$http.adornUrl(this.apiUrl),
|
||||
method: "post",
|
||||
params: this.$http.adornParams({
|
||||
id: this.id,
|
||||
grade: this.grade,
|
||||
outstandingAchievement: this.outstandingAchievement,
|
||||
clockRate: this.clockRate,
|
||||
durationOnline: this.durationOnline,
|
||||
integral: this.integral,
|
||||
proportionalSharing: this.proportionalSharing,
|
||||
depositRate: this.depositRate,
|
||||
}),
|
||||
}).then(({data}) => {
|
||||
if (data.code == 0) {
|
||||
this.dialogFormVisible = false;
|
||||
this.$message({
|
||||
message: "操作成功",
|
||||
type: "success",
|
||||
duration: 1500,
|
||||
onClose: () => {
|
||||
this.handleSelect();
|
||||
},
|
||||
});
|
||||
} else {
|
||||
this.$message({
|
||||
message: data.msg,
|
||||
type: "warning",
|
||||
duration: 1500,
|
||||
onClose: () => {
|
||||
},
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
handleDelete(row){
|
||||
this.$confirm(`确定删除此条信息?`, "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning",
|
||||
}).then(() => {
|
||||
let id = row.id;
|
||||
this.$http({
|
||||
url: this.$http.adornUrl("artificer/partitioningDetails/delete"),
|
||||
method: "post",
|
||||
params: this.$http.adornParams({
|
||||
id: id
|
||||
}),
|
||||
}).then(({data}) => {
|
||||
if (data.code == 0) {
|
||||
this.$message({
|
||||
message: "删除成功",
|
||||
type: "success",
|
||||
duration: 1500,
|
||||
onClose: () => {
|
||||
this.handleSelect();
|
||||
},
|
||||
});
|
||||
} else {
|
||||
this.$message({
|
||||
message: data.msg,
|
||||
type: "warning",
|
||||
duration: 1500,
|
||||
onClose: () => {
|
||||
},
|
||||
});
|
||||
}
|
||||
});
|
||||
}).catch(() => {});
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
this.handleSelect();
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.customWidth {
|
||||
width: 80% !important;
|
||||
}
|
||||
.el-dialog--center {
|
||||
text-align: center;
|
||||
margin-top: 1vh !important;
|
||||
}
|
||||
|
||||
.el-tooltip__popper {
|
||||
width: 200px;
|
||||
padding: 10px;
|
||||
color: #000 !important;
|
||||
box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.4);
|
||||
background-color: #fff !important;
|
||||
}
|
||||
|
||||
.adver_main.box a {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
height: 150px;
|
||||
line-height: 150px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.bannerManin span {
|
||||
display: inline-block;
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.bannerManin img {
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
.bannerbtn a {
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
color: #3e8ef7 !important;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.imgs {
|
||||
position: relative;
|
||||
border-radius: 6px;
|
||||
width: 148px;
|
||||
height: 148px;
|
||||
margin-right: 10px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.dels {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.dels .el-icon-delete {
|
||||
line-height: 148px;
|
||||
padding-left: 58px;
|
||||
font-size: 25px;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.imgs:hover .dels {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: #000;
|
||||
display: block;
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.bqList {
|
||||
padding: 4px 14px;
|
||||
margin: 4px;
|
||||
border: 1px solid #efefef;
|
||||
font-size: 12px;
|
||||
color: #999;
|
||||
border-radius: 4px;
|
||||
margin-right: 15px;
|
||||
}
|
||||
|
||||
.delss {
|
||||
display: none;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.delss .el-icon-delete {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.bqList:hover .delss {
|
||||
display: initial;
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.tj {
|
||||
padding: 6px !important;
|
||||
margin: 4px;
|
||||
font-size: 12px;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 4px;
|
||||
}
|
||||
</style>
|
|
@ -1,6 +1,7 @@
|
|||
<template>
|
||||
<div>
|
||||
<!-- 列表 -->
|
||||
<el-button style="margin:10px;" size="mini" type="primary" icon="document" @click="handleSelect">刷新</el-button>
|
||||
<el-button
|
||||
style="margin-left: 10px"
|
||||
size="mini"
|
||||
|
|
|
@ -469,6 +469,7 @@
|
|||
type="number"
|
||||
min="0"
|
||||
placeholder="请输入现价"
|
||||
:disabled="true"
|
||||
></el-input>
|
||||
</div>
|
||||
<div style="margin-bottom: 10px">
|
||||
|
|
Loading…
Reference in New Issue