|
|
@@ -0,0 +1,201 @@
|
|
|
+<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="value">
|
|
|
+ <el-select v-model="form.value" 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="valuereward" 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="请填写" type="number"></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="请填写" type="number"></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 === 'rewardtype'">
|
|
|
+ <el-select v-model="scope.column.data.rewardtype">
|
|
|
+ <el-option v-for="item in rewardList" :key="item.index" :value="item.value" :label="item.remarks"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </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: "editField",
|
|
|
+ props:['data'],
|
|
|
+ data(){
|
|
|
+ return {
|
|
|
+ dialogVisible:false,
|
|
|
+ form:{
|
|
|
+ "action": "0",//1 新增 0 更新
|
|
|
+ "type":'领域',
|
|
|
+ "value": "",//领域
|
|
|
+ "valuereward": []
|
|
|
+ },
|
|
|
+ rules:{
|
|
|
+ value:[
|
|
|
+ { required: true, message: '未选择领域', trigger: 'change'},
|
|
|
+ ],
|
|
|
+ valuereward:[
|
|
|
+ { required: true, message: '未设置产品售价折扣区间及其提成类型', trigger: 'change'},
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ categoriesList:[],
|
|
|
+ rewardList:[],
|
|
|
+ tablecols:[],
|
|
|
+ list:[],
|
|
|
+ loading:false
|
|
|
+ }
|
|
|
+ },
|
|
|
+ methods:{
|
|
|
+ onEdit(){
|
|
|
+ this.getFieldList()
|
|
|
+ this.getRewardList()
|
|
|
+ this.listData()
|
|
|
+ },
|
|
|
+ async listData(){
|
|
|
+ const res = await this.$api.requested({
|
|
|
+ "id": "20240313164004",
|
|
|
+ "content": {
|
|
|
+ "type":'领域',
|
|
|
+ "value": this.data.value
|
|
|
+ }
|
|
|
+ })
|
|
|
+ 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.rewardtype = item.rewardtype?item.rewardtype:''
|
|
|
+ })
|
|
|
+ },
|
|
|
+ addRow(){
|
|
|
+ this.list.push(
|
|
|
+ {
|
|
|
+ "rewardstart": "",
|
|
|
+ "rewardend": "",
|
|
|
+ "includerewardstart": "0",
|
|
|
+ "includerewardend": "0",
|
|
|
+ "rewardtype":'',
|
|
|
+ "rowindex":this.list.length + 1
|
|
|
+ }
|
|
|
+ )
|
|
|
+ console.log(this.list,'listData')
|
|
|
+ },
|
|
|
+ delRow(){
|
|
|
+ this.list.pop()
|
|
|
+ },
|
|
|
+ /*获取可选领域*/
|
|
|
+ async getFieldList () {
|
|
|
+ const res = await this.$store.dispatch('optiontypeselect','tradefield')
|
|
|
+ this.fieldList = res.data
|
|
|
+ },
|
|
|
+ /*获取可选提成类型*/
|
|
|
+ async getRewardList() {
|
|
|
+ const res = await this.$store.dispatch('optiontypeselect','rewardtype')
|
|
|
+ this.rewardList = res.data
|
|
|
+ },
|
|
|
+ onSubmit(){
|
|
|
+ this.form.valuereward = this.list
|
|
|
+ this.$refs.form.validate(async (valid)=>{
|
|
|
+ if (!valid) return false
|
|
|
+ this.form.action = 0
|
|
|
+ this.form.valuereward.forEach(item=>{
|
|
|
+ item.rewardstart = item.rewardstart?(item.rewardstart/100).toFixed(4):''
|
|
|
+ item.rewardend = item.rewardend?(item.rewardend/100).toFixed(4):''
|
|
|
+ })
|
|
|
+ console.log(this.form,'formData')
|
|
|
+ const res = await this.$api.requested({
|
|
|
+ "id": 20240311150704,
|
|
|
+ "content":this.form
|
|
|
+ })
|
|
|
+ if (res.code === 0){
|
|
|
+ this.form.valuereward.forEach(item=>{
|
|
|
+ item.rewardstart = item.rewardstart?Math.round((item.rewardstart*100)*100)/100:''
|
|
|
+ item.rewardend = item.rewardend?Math.round((item.rewardend*100)*100)/100:''
|
|
|
+ })
|
|
|
+ }
|
|
|
+ this.tool.showMessage(res,()=>{
|
|
|
+ this.form = {
|
|
|
+ "action": "1",//0 新增 1 更新
|
|
|
+ "type":'领域',
|
|
|
+ "value": "",//领域
|
|
|
+ "valuereward": []
|
|
|
+ }
|
|
|
+ this.list = []
|
|
|
+ this.dialogVisible = false
|
|
|
+ this.$emit('editSuccess')
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ onClose(){
|
|
|
+ this.form = {
|
|
|
+ "action": "1",//0 新增 1 更新
|
|
|
+ "type":'领域',
|
|
|
+ "value": "",//领域
|
|
|
+ "valuereward": []
|
|
|
+ }
|
|
|
+ this.list = []
|
|
|
+ this.dialogVisible = false
|
|
|
+ this.$emit('editSuccess')
|
|
|
+ }
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.tablecols = this.tool.tabelCol(this.$route.name).fieldCommissionSet.tablecols
|
|
|
+ }
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<style scoped>
|
|
|
+
|
|
|
+</style>
|