|
|
@@ -0,0 +1,188 @@
|
|
|
+<template>
|
|
|
+ <div>
|
|
|
+ <el-button size="mini" type="text" @click="onEdit(dialogVisible = true)">编 辑</el-button>
|
|
|
+ <el-drawer
|
|
|
+ title="编辑提成方案"
|
|
|
+ :visible.sync="dialogVisible"
|
|
|
+ size="900px"
|
|
|
+ direction="rtl"
|
|
|
+ append-to-body
|
|
|
+ @close="onClose">
|
|
|
+ <div class="drawer__panel">
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-form :model="form" :rules="rules" ref="form" label-width="90px" label-position="right" size="mini">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="商品大类" prop="categories">
|
|
|
+ <el-select v-model="form.categories" style="width:100%">
|
|
|
+ <el-option v-for="item in categoriesList" :key="item.index" :value="item.tag" :label="item.tag"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="产品售价折扣区间及其提成比例:" prop="categoriesreward" label-width="245px">
|
|
|
+ <span style="color:#c0c4cc;">(上限值、下限值表示为牌价的折扣值)</span>
|
|
|
+ <el-button size="small" type="success" style="float: right" @click="delRow" :disabled="list.length === 0">删除末行</el-button>
|
|
|
+ <el-button size="small" type="primary" style="float: right" class="inline-16" @click="addRow">添加行</el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <tableLayout :layout="tablecols" :data="list" :opwidth="200" :custom="true" :height="'600px'">
|
|
|
+ <template v-slot:customcol="scope">
|
|
|
+ <div v-if="scope.column.columnname === 'rewardstart'">
|
|
|
+ <el-input v-model="scope.column.data.rewardstart" placeholder="请填写"></el-input>
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'includerewardstart'">
|
|
|
+ <el-select v-model="scope.column.data.includerewardstart" placeholder="请选择">
|
|
|
+ <el-option label="是" value="1"></el-option>
|
|
|
+ <el-option label="否" value="0"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'rewardend'">
|
|
|
+ <el-input v-model="scope.column.data.rewardend" placeholder="请填写"></el-input>
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'includerewardend'">
|
|
|
+ <el-select v-model="scope.column.data.includerewardend" placeholder="请选择">
|
|
|
+ <el-option label="是" value="1"></el-option>
|
|
|
+ <el-option label="否" value="0"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'reward_rate'">
|
|
|
+ <el-input v-model="scope.column.data.reward_rate" placeholder="请填写"></el-input>
|
|
|
+ </div>
|
|
|
+ <p v-else>{{scope.column.data[scope.column.columnname]}}</p>
|
|
|
+ </template>
|
|
|
+ </tableLayout>
|
|
|
+ </el-col>
|
|
|
+ </el-form>
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
+ <div class="fixed__btn__panel">
|
|
|
+ <el-button size="small" @click="onClose" class="normal-btn-width">取 消</el-button>
|
|
|
+ <el-button size="small" type="primary" :loading="loading" @click="onSubmit" class="normal-btn-width">确定保存</el-button>
|
|
|
+ </div>
|
|
|
+ </el-drawer>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+export default {
|
|
|
+ name: "addScheme",
|
|
|
+ props:['data'],
|
|
|
+ data(){
|
|
|
+ return {
|
|
|
+ dialogVisible:false,
|
|
|
+ form:{
|
|
|
+ "action": "0",//1 新增 0 更新
|
|
|
+ "categories": "",//商品大类
|
|
|
+ "categoriesreward": []
|
|
|
+ },
|
|
|
+ rules:{
|
|
|
+ categories:[
|
|
|
+ { required: true, message: '未选择商品大类', trigger: 'change'},
|
|
|
+ ],
|
|
|
+ categoriesreward:[
|
|
|
+ { required: true, message: '未设置产品售价折扣区间及其提成比例', trigger: 'change'},
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ categoriesList:[],
|
|
|
+ tablecols:[],
|
|
|
+ list:[],
|
|
|
+ loading:false
|
|
|
+ }
|
|
|
+ },
|
|
|
+ methods:{
|
|
|
+ onEdit(){
|
|
|
+ this.getCategoriesList()
|
|
|
+ this.listData()
|
|
|
+ },
|
|
|
+ async listData(){
|
|
|
+ const res = await this.$api.requested({
|
|
|
+ "id": "20240313164004",
|
|
|
+ "content": {
|
|
|
+ "categories": this.data.categories
|
|
|
+ }
|
|
|
+ })
|
|
|
+ console.log(res.data)
|
|
|
+ this.form = Object.assign({},this.form,this.data)
|
|
|
+ this.list = res.data
|
|
|
+ this.list.forEach(item=>{
|
|
|
+ item.includerewardstart = item.includerewardstart == '0'?'0':'1'
|
|
|
+ item.includerewardend = item.includerewardend == '0'?'0':'1'
|
|
|
+ item.rewardstart = item.rewardstart?Math.round((item.rewardstart * 100)*100)/100:''
|
|
|
+ item.rewardend = item.rewardend?Math.round((item.rewardend * 100)*100)/100:''
|
|
|
+ item.reward_rate = item.reward_rate?Math.round((item.reward_rate * 100)*100)/100:'0'
|
|
|
+ })
|
|
|
+ },
|
|
|
+ addRow(){
|
|
|
+ this.list.push(
|
|
|
+ {
|
|
|
+ "rewardstart": "",
|
|
|
+ "rewardend": "",
|
|
|
+ "includerewardstart": "0",
|
|
|
+ "includerewardend": "0",
|
|
|
+ "reward_rate": "0",
|
|
|
+ "rowindex":this.list.length + 1
|
|
|
+ }
|
|
|
+ )
|
|
|
+ console.log(this.list,'listData')
|
|
|
+ },
|
|
|
+ delRow(){
|
|
|
+ this.list.pop()
|
|
|
+ },
|
|
|
+ /*获取可选商品大类*/
|
|
|
+ async getCategoriesList () {
|
|
|
+ let res = await this.$api.requested({
|
|
|
+ "id": 20221013104401,
|
|
|
+ "content": {
|
|
|
+ "isExport":1,
|
|
|
+ "pageNumber":1,
|
|
|
+ "pageSize":100,
|
|
|
+ "sys_systemtagid":22,
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.categoriesList = res.data
|
|
|
+ },
|
|
|
+ onSubmit(){
|
|
|
+ this.form.categoriesreward = this.list
|
|
|
+ this.$refs.form.validate(async (valid)=>{
|
|
|
+ if (!valid) return false
|
|
|
+ this.form.categoriesreward.forEach(item=>{
|
|
|
+ item.rewardstart = item.rewardstart?(item.rewardstart/100).toFixed(4):''
|
|
|
+ item.rewardend = item.rewardend?(item.rewardend/100).toFixed(4):''
|
|
|
+ item.reward_rate = item.reward_rate?(item.reward_rate/100).toFixed(4):0
|
|
|
+ })
|
|
|
+ console.log(this.form,'formData')
|
|
|
+ const res = await this.$api.requested({
|
|
|
+ "id": 20240311150704,
|
|
|
+ "content":this.form
|
|
|
+ })
|
|
|
+ if (res.code === 0){
|
|
|
+ this.form.categoriesreward.forEach(item=>{
|
|
|
+ item.rewardstart = item.rewardstart?Math.round((item.rewardstart*100)*100)/100:''
|
|
|
+ item.rewardend = item.rewardend?Math.round((item.rewardend*100)*100)/100:''
|
|
|
+ item.reward_rate = item.reward_rate?Math.round((item.reward_rate*100)*100)/100:0
|
|
|
+ })
|
|
|
+ }
|
|
|
+ this.tool.showMessage(res,()=>{
|
|
|
+ this.form = {
|
|
|
+ "action": "1",//0 新增 1 更新
|
|
|
+ "categories": "",//商品大类
|
|
|
+ "categoriesreward": []
|
|
|
+ }
|
|
|
+ this.list = []
|
|
|
+ this.dialogVisible = false
|
|
|
+ this.$emit('editSuccess')
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ onClose(){}
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.tablecols = this.tool.tabelCol(this.$route.name).commissionSet.tablecols
|
|
|
+ }
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<style scoped>
|
|
|
+
|
|
|
+</style>
|