Commit 970079b6 authored by dcy's avatar dcy

佣金详情,佣金列表页面布局

parent 69ddd604
import request from '@/utils/request'
// 创建客户佣金类型
export function createCustomerCommission(data) {
return request({
url: '/ecw/customer-commission/create',
method: 'post',
data: data
})
}
// 更新客户佣金类型
export function updateCustomerCommission(data) {
return request({
url: '/ecw/customer-commission/update',
method: 'put',
data: data
})
}
// 删除客户佣金类型
export function deleteCustomerCommission(id) {
return request({
url: '/ecw/customer-commission/delete?id=' + id,
method: 'delete'
})
}
// 获得客户佣金类型
export function getCustomerCommission(id) {
return request({
url: '/ecw/customer-commission/get?id=' + id,
method: 'get'
})
}
// 获得客户佣金类型分页
export function getCustomerCommissionPage(query) {
return request({
url: '/ecw/customer-commission/page',
method: 'get',
params: query
})
}
// 导出客户佣金类型 Excel
export function exportCustomerCommissionExcel(query) {
return request({
url: '/ecw/customer-commission/export-excel',
method: 'get',
params: query,
responseType: 'blob'
})
}
...@@ -216,7 +216,19 @@ export const constantRoutes = [ ...@@ -216,7 +216,19 @@ export const constantRoutes = [
meta: {title: '货架设置', activeMenu: '/warehouse/shelf'} meta: {title: '货架设置', activeMenu: '/warehouse/shelf'}
} }
] ]
} },
{
path: '/customer',
component: Layout,
hidden: true,
redirect: 'noredirect',
children: [{
path: '/customerCommissionInfo/:dictId(\\d+)',
component: (resolve) => require(['@/views/ecw/customerCommissionInfo/index'], resolve),
name: 'customerCommissionInfo',
meta: {title: '佣金详情', icon: '', activeMenu: '/customer/customerCommissionInfo'}
}]
},
] ]
// 防止连续点击多次路由报错 // 防止连续点击多次路由报错
......
...@@ -86,6 +86,7 @@ export const DICT_TYPE = { ...@@ -86,6 +86,7 @@ export const DICT_TYPE = {
AREA_CODE: 'area_code', // 区号 AREA_CODE: 'area_code', // 区号
SOCIAL: 'customer_social_tools', // 社交软件 SOCIAL: 'customer_social_tools', // 社交软件
IS_DEFAULT: 'is_default', // 默认联系人 IS_DEFAULT: 'is_default', // 默认联系人
COMMISSION_PRODUCT_APPROVAL:'commission_product_approval' //佣金备案
} }
......
<template>
<div class="app-container">
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="客户名称" prop="customerId">
<el-input v-model="queryParams.customerId" placeholder="请选择客户id" clearable size="small">
</el-input>
</el-form-item>
<el-form-item label="联系电话" prop="type">
<el-input v-model="queryParams.defaultContactPhone" placeholder="请输入电话" clearable size="small">
</el-input>
</el-form-item>
<el-form-item label="佣金类型" prop="transportId">
<el-select v-model="queryParams.type" clearable size="small">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.TRANSPORT_TYPE)"
:key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
<el-form-item label="运输方式" prop="departureId">
<el-select v-model="queryParams.departureId" clearable size="small">
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
<el-form-item label="始发地" prop="objectiveId">
<el-select v-model="queryParams.objectiveId" clearable size="small">
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
<el-form-item label="目的地" prop="customsType">
<el-select v-model="queryParams.customsType" clearable size="small">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.CUSTOMS_TYPE)"
:key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
<el-form-item label="报关方式" prop="approval">
<el-select v-model="queryParams.approval" clearable size="small">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.COMMISSION_PRODUCT_APPROVAL)"
:key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
<el-form-item label="备案" prop="darkReturnType">
<el-select v-model="queryParams.darkReturnType" clearable size="small">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.COMMISSION_DARK_TYPE)"
:key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
<div style="width:100%;display: flex;justify-content: space-between;margin-bottom: 50px;">
<div style="flex: 1">
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button></div>
<div style="flex: 1; text-align: right;">
<router-link :to="'/customerCommissionInfo/'+ 0 ">
<el-button>佣金设置</el-button>
</router-link>
</div>
</div>
</el-form>
<!-- 操作工具栏 -->
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['ecw:customer-commission:create']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading"
v-hasPermi="['ecw:customer-commission:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<el-table-column
type="selection"
width="55">
</el-table-column>
<el-table-column label="佣金编码" align="center" prop="customerId" />
<el-table-column label="客户名称" align="center" prop="customerName">
</el-table-column>
<el-table-column label="联系电话" align="center" prop="transportId">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.TRANSPORT_TYPE" :value="scope.row.transportId" />
</template>
</el-table-column>
<el-table-column label="佣金类型" align="center" prop="departureId" />
<el-table-column label="暗佣返佣类型" align="center" prop="objectiveId" />
<el-table-column label="运输方式" align="center" prop="customsType">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.CUSTOMS_TYPE" :value="scope.row.customsType" />
</template>
</el-table-column>
<el-table-column label="始发地/目的地 " align="center" prop="approval">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.COMMISSION_PRODUCT_APPROVAL" :value="scope.row.approval" />
</template>
</el-table-column>
<el-table-column label="报关方式" align="center" prop="darkReturnType">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.COMMISSION_DARK_TYPE" :value="scope.row.darkReturnType" />
</template>
</el-table-column>
<el-table-column label="备案" align="center" prop="darkReturnType">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.COMMISSION_DARK_TYPE" :value="scope.row.darkReturnType" />
</template>
</el-table-column>
<el-table-column label="未付佣金" align="center" prop="darkReturnType">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.COMMISSION_DARK_TYPE" :value="scope.row.darkReturnType" />
</template>
</el-table-column>
<el-table-column label="已付佣金" align="center" prop="darkReturnType">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.COMMISSION_DARK_TYPE" :value="scope.row.darkReturnType" />
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['ecw:customer-commission:update']">编辑</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['ecw:customer-commission:delete']">删除</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页组件 -->
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
@pagination="getList"/>
<!-- 对话框(添加 / 修改) -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="客户id" prop="customerId">
<el-select v-model="form.customerId" placeholder="请选择客户id">
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
<el-form-item label="佣金类型" prop="type">
<el-select v-model="form.type" placeholder="请选择佣金类型">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.COMMISSION_TYPE)"
:key="dict.value" :label="dict.label" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
<el-form-item label="运输方式" prop="transportId">
<el-select v-model="form.transportId" placeholder="请选择运输方式">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.TRANSPORT_TYPE)"
:key="dict.value" :label="dict.label" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
<el-form-item label="始发地id" prop="departureId">
<el-select v-model="form.departureId" placeholder="请选择始发地id">
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
<el-form-item label="目的地id" prop="objectiveId">
<el-select v-model="form.objectiveId" placeholder="请选择目的地id">
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
<el-form-item label="报关类别:我司全代:1,自单代报:2,混合报关:3" prop="customsType">
<el-select v-model="form.customsType" placeholder="请选择报关类别:我司全代:1,自单代报:2,混合报关:3">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.CUSTOMS_TYPE)"
:key="dict.value" :label="dict.label" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
<el-form-item label="产品备案" prop="approval">
<el-select v-model="form.approval" placeholder="请选择产品备案">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.COMMISSION_PRODUCT_APPROVAL)"
:key="dict.value" :label="dict.label" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
<el-form-item label="暗佣类型 1产品2达标" prop="darkReturnType">
<el-select v-model="form.darkReturnType" placeholder="请选择暗佣类型 1产品2达标">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.COMMISSION_DARK_TYPE)"
:key="dict.value" :label="dict.label" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { createCustomerCommission, updateCustomerCommission, deleteCustomerCommission, getCustomerCommission, getCustomerCommissionPage, exportCustomerCommissionExcel } from "@/api/ecw/customerCommission";
export default {
name: "CustomerCommission",
components: {
},
data() {
return {
// 遮罩层
loading: true,
// 导出遮罩层
exportLoading: false,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 客户佣金类型列表
list: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNo: 1,
pageSize: 10,
customerId: null,//客户id
type: null,// 佣金类型
transportId: null,// 运输方式
departureId: null,//始发地id
objectiveId: null,//目的地id
customsType: null,//报关类别
approval: null,//产品备案
darkReturnType: null, //暗佣类型 1产品2达标
defaultContactPhone:null,//主联系电话
},
// 表单参数
form: {},
// 表单校验
rules: {
customerId: [{ required: true, message: "客户id不能为空", trigger: "change" }],
type: [{ required: true, message: "佣金类型不能为空", trigger: "change" }],
darkReturnType: [{ required: true, message: "暗佣类型 1产品2达标不能为空", trigger: "change" }],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询列表 */
getList() {
this.loading = true;
// 处理查询参数
let params = {...this.queryParams};
// 执行查询
getCustomerCommissionPage(params).then(response => {
this.list = response.data.list;
this.total = response.data.total;
this.loading = false;
});
},
/** 取消按钮 */
cancel() {
this.open = false;
this.reset();
},
/** 表单重置 */
reset() {
this.form = {
id: undefined,
customerId: undefined,
type: undefined,
transportId: undefined,
departureId: undefined,
objectiveId: undefined,
customsType: undefined,
approval: undefined,
darkReturnType: undefined,
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNo = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加客户佣金类型";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id;
getCustomerCommission(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改客户佣金类型";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (!valid) {
return;
}
// 修改的提交
if (this.form.id != null) {
updateCustomerCommission(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
return;
}
// 添加的提交
createCustomerCommission(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
});
},
/** 删除按钮操作 */
handleDelete(row) {
const id = row.id;
this.$modal.confirm('是否确认删除客户佣金类型编号为"' + id + '"的数据项?').then(function() {
return deleteCustomerCommission(id);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
// 处理查询参数
let params = {...this.queryParams};
params.pageNo = undefined;
params.pageSize = undefined;
// 执行导出
this.$modal.confirm('是否确认导出所有客户佣金类型数据项?').then(() => {
this.exportLoading = true;
return exportCustomerCommissionExcel(params);
}).then(response => {
this.$download.excel(response, '${table.classComment}.xls');
this.exportLoading = false;
}).catch(() => {});
}
}
};
</script>
<template>
<el-select v-if="options" v-model="selectVal" placeholder="请选择">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</template>
<script>
export default {
name: "customSelectorsDictionary",
props:{
options:Array,
value:String
},
data(){
return{
selectVal:''
}
},
watch:{
selectVal(val){
this.$emit('input',val)
}
}
}
</script>
<style scoped lang="scss">
</style>
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :inline="true">
<!-- 搜索工作栏 --> <el-row>
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-col :span="24">
<el-form-item label="佣金表id" prop="commissionId"> <el-form-item label="客户名称">
<el-input v-model="queryParams.commissionId" placeholder="请输入佣金表id" clearable @keyup.enter.native="handleQuery"/> <el-input></el-input>
</el-form-item> </el-form-item>
<el-form-item label="产品类型" prop="productType"> </el-col>
<el-select v-model="queryParams.productType" placeholder="请选择产品类型" clearable size="small"> </el-row>
<el-option label="请选择字典生成" value="" /> <el-row>
</el-select> <el-col :span="5">
</el-form-item> <el-form-item label="运输方式">
<el-form-item label="产品属性" prop="productAttr"> <div style="width: 130px;">
<el-select v-model="queryParams.productAttr" placeholder="请选择产品属性" clearable size="small"> <custom-selectors-dictionary :options="getDictDatas(DICT_TYPE.ECW_TRANSPORT_TYPE)"></custom-selectors-dictionary>
<el-option label="请选择字典生成" value="" /> </div>
</el-select> </el-form-item>
</el-form-item> </el-col>
<el-form-item label="暗佣佣金" prop="darkCommission"> <el-col :span="4">
<el-input v-model="queryParams.darkCommission" placeholder="请输入暗佣佣金" clearable @keyup.enter.native="handleQuery"/> <el-form-item label="始发地">
</el-form-item> <div style="width: 130px;">
<el-form-item label="暗佣货币" prop="darkCurrency"> <custom-selectors-dictionary v-model="value" :options="getDictDatas(DICT_TYPE.COUNTRY)"></custom-selectors-dictionary>
<el-select v-model="queryParams.darkCurrency" placeholder="请选择暗佣货币" clearable size="small"> </div>
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.COMMISSION_CURRENCY_TYPE)" </el-form-item>
:key="dict.value" :label="dict.label" :value="dict.value"/> </el-col>
</el-select> <el-col :span="4">
</el-form-item> <el-form-item label="目的地">
<el-form-item label="暗佣单位" prop="darkUnit"> <div style="width: 130px;">
<el-select v-model="queryParams.darkUnit" placeholder="请选择暗佣单位" clearable size="small"> <custom-selectors-dictionary v-model="value" :options="getDictDatas(DICT_TYPE.COUNTRY)"></custom-selectors-dictionary>
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.COMMISSION_UNIT)" </div>
:key="dict.value" :label="dict.label" :value="dict.value"/> </el-form-item>
</el-select> </el-col>
</el-form-item> <el-col :span="5">
<el-form-item label="暗佣上调" prop="darkAdjustCommission"> <el-form-item label="报关方式">
<el-input v-model="queryParams.darkAdjustCommission" placeholder="请输入暗佣上调" clearable @keyup.enter.native="handleQuery"/> <div style="width: 130px;">
</el-form-item> <!-- <custom-selectors-dictionary v-model="value" :options="getDictDatas(DICT_TYPE.COMMISSION_PRODUCT_APPROVAL)"></custom-selectors-dictionary>-->
<el-form-item label="暗佣货币上调" prop="darkAdjustCurrency"> </div>
<el-select v-model="queryParams.darkAdjustCurrency" placeholder="请选择暗佣货币上调" clearable size="small"> </el-form-item>
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.COMMISSION_CURRENCY_TYPE)" </el-col>
:key="dict.value" :label="dict.label" :value="dict.value"/> <el-col :span="4">
</el-select> <el-form-item label="备案">
</el-form-item> <div style="width: 130px;">
<el-form-item label="暗佣单位上调" prop="darkAdjustUnit"> <custom-selectors-dictionary v-model="value" :options="getDictDatas(DICT_TYPE.COMMISSION_PRODUCT_APPROVAL)"></custom-selectors-dictionary>
<el-select v-model="queryParams.darkAdjustUnit" placeholder="请选择暗佣单位上调" clearable size="small"> </div>
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.COMMISSION_UNIT)" </el-form-item>
:key="dict.value" :label="dict.label" :value="dict.value"/> </el-col>
</el-select> </el-row>
</el-form-item> <el-row>
<el-form-item label="满减" prop="amount"> <el-col :span="24">
<el-input v-model="queryParams.amount" placeholder="请输入满减" clearable @keyup.enter.native="handleQuery"/> <el-form-item label="佣金类型(明佣、暗佣)">
</el-form-item> <el-radio-group>
<el-form-item label="满的货多少币" prop="amountCurrency"> <el-radio :label="3">明佣</el-radio>
<el-select v-model="queryParams.amountCurrency" placeholder="请选择满的货多少币" clearable size="small"> <el-radio :label="6">暗佣</el-radio>
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.COMMISSION_CURRENCY_TYPE)" <el-radio :label="9">明佣+暗佣</el-radio>
:key="dict.value" :label="dict.label" :value="dict.value"/> </el-radio-group>
</el-select> </el-form-item>
</el-form-item> </el-col>
<el-form-item label="满多少的单位" prop="amountUnit"> </el-row>
<el-select v-model="queryParams.amountUnit" placeholder="请选择满多少的单位" clearable size="small"> <el-row>
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.COMMISSION_UNIT)" <el-col :span="24">
:key="dict.value" :label="dict.label" :value="dict.value"/> <el-form-item label="返佣类型">
</el-select> <el-radio-group>
</el-form-item> <el-radio :label="3">明佣</el-radio>
<el-form-item label="返佣金的货币" prop="refundCurrency"> <el-radio :label="6">暗佣</el-radio>
<el-select v-model="queryParams.refundCurrency" placeholder="请选择返佣金的货币" clearable size="small"> <el-radio :label="9">明佣+暗佣</el-radio>
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.COMMISSION_CURRENCY_TYPE)" </el-radio-group>
:key="dict.value" :label="dict.label" :value="dict.value"/> </el-form-item>
</el-select> </el-col>
</el-form-item> </el-row>
<el-form-item label="满返" prop="refund"> <el-row>
<el-input v-model="queryParams.refund" placeholder="请输入满返" clearable @keyup.enter.native="handleQuery"/> <el-col :span="24">
</el-form-item> <el-form-item label="商品类型">
<el-form-item label="返佣金的单位" prop="refundUnit"> <div class="shanping-type">
<el-select v-model="queryParams.refundUnit" placeholder="请选择返佣金的单位" clearable size="small"> <div class="tool">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.COMMISSION_UNIT)" <el-input placeholder="商品"></el-input>
:key="dict.value" :label="dict.label" :value="dict.value"/> </div>
</el-select> <div class="box">
</el-form-item> <div class="label">
<el-form-item label="创建时间"> 商品类型
<el-date-picker v-model="dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd" </div>
type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" /> <div class="custom">
</el-form-item> <el-input placeholder="商品特性"></el-input>
<el-form-item> </div>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button> </div>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button> <div class="box">
</el-form-item> <div class="label">
佣金
</div>
<div class="custom">
<el-input placeholder="商品特性"></el-input>
</div>
<div class="custom">
<el-input placeholder="商品特性"></el-input>
</div>
<div class="custom">
<el-input placeholder="商品特性"></el-input>
</div>
</div>
<div>
<el-button type="primary">添加</el-button>
</div>
</div>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="50">
<el-col :span="12" style="text-align: right">
<el-button type="primary">确定</el-button>
</el-col>
<el-col :span="12">
<el-button>取消</el-button>
</el-col>
</el-row>
</el-form> </el-form>
<!-- 操作工具栏 -->
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['ecw:customer-commission-info:create']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading"
v-hasPermi="['ecw:customer-commission-info:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<el-table-column label="佣金表id" align="center" prop="commissionId" />
<el-table-column label="产品类型" align="center" prop="productType" />
<el-table-column label="产品属性" align="center" prop="productAttr" />
<el-table-column label="暗佣佣金" align="center" prop="darkCommission" />
<el-table-column label="暗佣货币" align="center" prop="darkCurrency">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.COMMISSION_CURRENCY_TYPE" :value="scope.row.darkCurrency" />
</template>
</el-table-column>
<el-table-column label="暗佣单位" align="center" prop="darkUnit">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.COMMISSION_UNIT" :value="scope.row.darkUnit" />
</template>
</el-table-column>
<el-table-column label="暗佣上调" align="center" prop="darkAdjustCommission" />
<el-table-column label="暗佣货币上调" align="center" prop="darkAdjustCurrency">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.COMMISSION_CURRENCY_TYPE" :value="scope.row.darkAdjustCurrency" />
</template>
</el-table-column>
<el-table-column label="暗佣单位上调" align="center" prop="darkAdjustUnit">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.COMMISSION_UNIT" :value="scope.row.darkAdjustUnit" />
</template>
</el-table-column>
<el-table-column label="满减" align="center" prop="amount" />
<el-table-column label="满的货多少币" align="center" prop="amountCurrency">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.COMMISSION_CURRENCY_TYPE" :value="scope.row.amountCurrency" />
</template>
</el-table-column>
<el-table-column label="满多少的单位" align="center" prop="amountUnit">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.COMMISSION_UNIT" :value="scope.row.amountUnit" />
</template>
</el-table-column>
<el-table-column label="返佣金的货币" align="center" prop="refundCurrency">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.COMMISSION_CURRENCY_TYPE" :value="scope.row.refundCurrency" />
</template>
</el-table-column>
<el-table-column label="满返" align="center" prop="refund" />
<el-table-column label="返佣金的单位" align="center" prop="refundUnit">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.COMMISSION_UNIT" :value="scope.row.refundUnit" />
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['ecw:customer-commission-info:update']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['ecw:customer-commission-info:delete']">删除</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页组件 -->
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
@pagination="getList"/>
<!-- 对话框(添加 / 修改) -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="佣金表id" prop="commissionId">
<el-input v-model="form.commissionId" placeholder="请输入佣金表id" />
</el-form-item>
<el-form-item label="产品类型" prop="productType">
<el-select v-model="form.productType" placeholder="请选择产品类型">
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
<el-form-item label="产品属性" prop="productAttr">
<el-select v-model="form.productAttr" placeholder="请选择产品属性">
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
<el-form-item label="暗佣佣金" prop="darkCommission">
<el-input v-model="form.darkCommission" placeholder="请输入暗佣佣金" />
</el-form-item>
<el-form-item label="暗佣货币" prop="darkCurrency">
<el-select v-model="form.darkCurrency" placeholder="请选择暗佣货币">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.COMMISSION_CURRENCY_TYPE)"
:key="dict.value" :label="dict.label" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
<el-form-item label="暗佣单位" prop="darkUnit">
<el-select v-model="form.darkUnit" placeholder="请选择暗佣单位">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.COMMISSION_UNIT)"
:key="dict.value" :label="dict.label" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
<el-form-item label="暗佣上调" prop="darkAdjustCommission">
<el-input v-model="form.darkAdjustCommission" placeholder="请输入暗佣上调" />
</el-form-item>
<el-form-item label="暗佣货币上调" prop="darkAdjustCurrency">
<el-select v-model="form.darkAdjustCurrency" placeholder="请选择暗佣货币上调">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.COMMISSION_CURRENCY_TYPE)"
:key="dict.value" :label="dict.label" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
<el-form-item label="暗佣单位上调" prop="darkAdjustUnit">
<el-select v-model="form.darkAdjustUnit" placeholder="请选择暗佣单位上调">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.COMMISSION_UNIT)"
:key="dict.value" :label="dict.label" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
<el-form-item label="满减" prop="amount">
<el-input v-model="form.amount" placeholder="请输入满减" />
</el-form-item>
<el-form-item label="满的货多少币" prop="amountCurrency">
<el-select v-model="form.amountCurrency" placeholder="请选择满的货多少币">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.COMMISSION_CURRENCY_TYPE)"
:key="dict.value" :label="dict.label" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
<el-form-item label="满多少的单位" prop="amountUnit">
<el-select v-model="form.amountUnit" placeholder="请选择满多少的单位">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.COMMISSION_UNIT)"
:key="dict.value" :label="dict.label" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
<el-form-item label="返佣金的货币" prop="refundCurrency">
<el-select v-model="form.refundCurrency" placeholder="请选择返佣金的货币">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.COMMISSION_CURRENCY_TYPE)"
:key="dict.value" :label="dict.label" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
<el-form-item label="满返" prop="refund">
<el-input v-model="form.refund" placeholder="请输入满返" />
</el-form-item>
<el-form-item label="返佣金的单位" prop="refundUnit">
<el-select v-model="form.refundUnit" placeholder="请选择返佣金的单位">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.COMMISSION_UNIT)"
:key="dict.value" :label="dict.label" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { createCustomerCommissionInfo, updateCustomerCommissionInfo, deleteCustomerCommissionInfo, getCustomerCommissionInfo, getCustomerCommissionInfoPage, exportCustomerCommissionInfoExcel } from "@/api/ecw/customerCommissionInfo"; import {
createCustomerCommissionInfo,
updateCustomerCommissionInfo,
deleteCustomerCommissionInfo,
getCustomerCommissionInfo,
getCustomerCommissionInfoPage,
exportCustomerCommissionInfoExcel
} from "@/api/ecw/customerCommissionInfo";
import {DICT_TYPE, getDictDatas} from "@/utils/dict";
import customSelectorsDictionary from "./customSelectorsDictionary"
export default { export default {
name: "CustomerCommissionInfo", name: "CustomerCommissionInfo",
components: { components: {
customSelectorsDictionary
}, },
data() { data() {
return { return {
value:'真好',
getDictDatas,
DICT_TYPE,
// 遮罩层 // 遮罩层
loading: true, loading: true,
// 导出遮罩层 // 导出遮罩层
...@@ -299,7 +176,7 @@ export default { ...@@ -299,7 +176,7 @@ export default {
form: {}, form: {},
// 表单校验 // 表单校验
rules: { rules: {
commissionId: [{ required: true, message: "佣金表id不能为空", trigger: "blur" }], commissionId: [{required: true, message: "佣金表id不能为空", trigger: "blur"}],
} }
}; };
}, },
...@@ -400,12 +277,13 @@ export default { ...@@ -400,12 +277,13 @@ export default {
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
const id = row.id; const id = row.id;
this.$modal.confirm('是否确认删除客户佣金详情编号为"' + id + '"的数据项?').then(function() { this.$modal.confirm('是否确认删除客户佣金详情编号为"' + id + '"的数据项?').then(function () {
return deleteCustomerCommissionInfo(id); return deleteCustomerCommissionInfo(id);
}).then(() => { }).then(() => {
this.getList(); this.getList();
this.$modal.msgSuccess("删除成功"); this.$modal.msgSuccess("删除成功");
}).catch(() => {}); }).catch(() => {
});
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
...@@ -416,13 +294,34 @@ export default { ...@@ -416,13 +294,34 @@ export default {
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime'); this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime');
// 执行导出 // 执行导出
this.$modal.confirm('是否确认导出所有客户佣金详情数据项?').then(() => { this.$modal.confirm('是否确认导出所有客户佣金详情数据项?').then(() => {
this.exportLoading = true; this.exportLoading = true;
return exportCustomerCommissionInfoExcel(params); return exportCustomerCommissionInfoExcel(params);
}).then(response => { }).then(response => {
this.$download.excel(response, '${table.classComment}.xls'); this.$download.excel(response, '${table.classComment}.xls');
this.exportLoading = false; this.exportLoading = false;
}).catch(() => {}); }).catch(() => {
} });
},
} }
}; };
</script> </script>
<style lang="scss" scoped>
.shanping-type {
display: flex;
.tool {
width: 150px;
}
.box {
margin-left: 20px;
display: flex;
.label {
width: 80px;
}
.custom {
width: 150px;
margin-right:10px;
}
}
}
</style>
...@@ -67,7 +67,7 @@ ...@@ -67,7 +67,7 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['ecw:message-leave:update']">修改</el-button> v-hasPermi="['ecw:message-leave:update']">查看</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['ecw:message-leave:delete']">删除</el-button> v-hasPermi="['ecw:message-leave:delete']">删除</el-button>
</template> </template>
...@@ -119,13 +119,55 @@ ...@@ -119,13 +119,55 @@
<el-button @click="cancel">取 消</el-button> <el-button @click="cancel">取 消</el-button>
</div> </div>
</el-dialog> </el-dialog>
<!-- 留言详情-->
<el-dialog title="留言详情" :visible.sync="leavingShow" width="500px" append-to-body>
<el-row class="el-row-leaving" :gutter="10">
<el-col :span="4">客户编号:</el-col><el-col :span="12">{{}}</el-col>
</el-row>
<el-row class="el-row-leaving" :gutter="10">
<el-col :span="4">姓名:</el-col><el-col :span="12">{{messageVal.name ? messageVal.name : ''}}</el-col>
</el-row>
<el-row class="el-row-leaving" :gutter="10">
<el-col :span="4">联系方式:</el-col><el-col :span="12">{{messageVal.phone}}</el-col>
</el-row>
<el-row class="el-row-leaving" :gutter="10">
<el-col :span="4">当前状态:</el-col><el-col :span="12">{{messageVal.status === 1 ? '待回复' : '已回复'}}</el-col>
</el-row>
<el-row class="el-row-leaving" :gutter="10">
<el-col :span="4">订单编号:</el-col><el-col :span="12">{{messageVal.orderCode}}</el-col>
</el-row>
<el-row class="el-row-leaving" :gutter="10">
<el-col :span="4">留言类型:</el-col><el-col :span="12">{{messageVal.type === 1 ? '咨询':'建议'}}</el-col>
</el-row>
<div style="background-color:#cccccc;padding:10px 20px;">
<el-row class="el-row-leaving" :gutter="10">
<el-col :span="4">{{messageVal.type === 1 ? '咨询':'建议'}}时间:</el-col><el-col :span="12">{{parseTime(messageVal.createTime)}}</el-col>
</el-row>
<el-row class="el-row-leaving" :gutter="10">
<el-col :span="4">{{messageVal.type === 1 ? '咨询':'建议'}}类容:</el-col><el-col :span="12">{{messageVal.content}}</el-col>
</el-row>
</div>
<div style="background-color:#f6f6f6;padding:10px 20px;margin-top: 20px;">
<el-row v-if="messageVal.status === 2" class="el-row-leaving" :gutter="10">
<el-col :span="4">回复人:</el-col><el-col :span="12">{{messageVal.replyUserId}}</el-col>
</el-row>
<el-row v-if="messageVal.status === 2" class="el-row-leaving" :gutter="10">
<el-col :span="4">回复时间:</el-col><el-col :span="12">{{parseTime(messageVal.replyTime)}}</el-col>
</el-row>
<el-row class="el-row-leaving" :gutter="10">
<el-col :span="4">回复类容:</el-col><el-col :span="12"><el-input type="textarea" v-model="messageVal.replyContent" :disabled="messageVal.status === 2"></el-input></el-col><el-col :span="4"><el-button v-if="messageVal.status === 1" @click="replyFn">回复</el-button></el-col>
</el-row>
</div>
<div slot="footer" style="text-align: center;">
<el-button type="primary" @click="leavingShow = false;">关 闭</el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { createMessageLeave, replyMessageLeave, updateReply, deleteMessageLeave, getMessageLeave, getMessageLeavePage, exportMessageLeaveExcel } from "@/api/ecw/messageLeave" import { createMessageLeave, replyMessageLeave, updateReply, deleteMessageLeave, getMessageLeave, getMessageLeavePage, exportMessageLeaveExcel } from "@/api/ecw/messageLeave"
import { getDictDatas, DICT_TYPE } from '@/utils/dict' import { getDictDatas, DICT_TYPE } from '@/utils/dict'
export default { export default {
name: "MessageLeave", name: "MessageLeave",
components: { components: {
...@@ -133,6 +175,7 @@ export default { ...@@ -133,6 +175,7 @@ export default {
}, },
data() { data() {
return { return {
leavingShow:false,//留言详请弹窗
// 遮罩层 // 遮罩层
loading: true, loading: true,
// 导出遮罩层 // 导出遮罩层
...@@ -160,6 +203,19 @@ export default { ...@@ -160,6 +203,19 @@ export default {
}, },
// 表单参数 // 表单参数
form: {}, form: {},
messageVal:{
content: "",
createTime: "",
id: undefined,
name: "",
orderCode: "",
phone: "",
replyContent: "",
replyTime: "",
replyUserId: undefined,
status: 0,
type: 0
},
// 表单校验 // 表单校验
rules: { rules: {
} }
...@@ -226,8 +282,8 @@ export default { ...@@ -226,8 +282,8 @@ export default {
const id = row.id; const id = row.id;
getMessageLeave(id).then(response => { getMessageLeave(id).then(response => {
this.form = response.data; this.form = response.data;
this.open = true; this.messageVal = response.data;
this.title = "修改留言"; this.leavingShow = true;
}); });
}, },
/** 提交按钮 */ /** 提交按钮 */
...@@ -236,15 +292,6 @@ export default { ...@@ -236,15 +292,6 @@ export default {
if (!valid) { if (!valid) {
return; return;
} }
// 修改的提交
if (this.form.id != null) {
replyMessageLeave(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
return;
}
// 添加的提交 // 添加的提交
createMessageLeave(this.form).then(response => { createMessageLeave(this.form).then(response => {
this.$modal.msgSuccess("新增成功"); this.$modal.msgSuccess("新增成功");
...@@ -278,7 +325,19 @@ export default { ...@@ -278,7 +325,19 @@ export default {
this.$download.excel(response, '${table.classComment}.xls'); this.$download.excel(response, '${table.classComment}.xls');
this.exportLoading = false; this.exportLoading = false;
}).catch(() => {}); }).catch(() => {});
},
replyFn(){
replyMessageLeave({id:this.messageVal.id, replyContent:this.messageVal.replyContent,}).then(response => {
this.$modal.msgSuccess("修改成功");
this.leavingShow = false;
this.getList();
});
} }
} }
}; };
</script> </script>
<style lang="scss" scoped>
.el-row-leaving{
margin-bottom: 10px;
}
</style>
<template>
<div class="app-container">
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="客户编号" prop="number">
<el-input v-model="queryParams.number" placeholder="请输入客户编号" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="客户名称" prop="name">
<el-input v-model="queryParams.name" placeholder="请输入客户名称" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="客户等级" prop="level">
<el-select v-model="queryParams.level" placeholder="请选择客户等级" clearable size="small">
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_LEVEL)"
:key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
<el-form-item label="客户来源" prop="source">
<el-select v-model="queryParams.source" placeholder="请选择客户来源" clearable size="small">
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)"
:key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
<el-form-item label="跟进客服" prop="customerService">
<el-select v-model="queryParams.customerService" placeholder="请选择跟进客服" clearable size="small">
<el-option v-for="dict in getDictDatas(DICT_TYPE.COMMON_STATUS)"
:key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
<el-form-item label="客户状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择客户状态" clearable size="small">
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_STATUS)"
:key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
<el-form-item label="部门" prop="department">
<el-input v-model="queryParams.department" placeholder="请输入部门" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="创建时间">
<el-date-picker v-model="dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd"
type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<!-- 操作工具栏 -->
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['ecw:customer:create']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading"
v-hasPermi="['ecw:customer:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<el-table-column label="客户编号" align="center" prop="number" />
<el-table-column label="客户名称" align="center" prop="name" />
<el-table-column label="客户等级" align="center" prop="level">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.CUSTOMER_LEVEL" :value="scope.row.level" />
</template>
</el-table-column>
<el-table-column label="国家" align="center" prop="country">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.country" />
</template>
</el-table-column>
<el-table-column label="跟进客服" align="center" prop="customerService">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.customerService" />
</template>
</el-table-column>
<el-table-column label="客户状态" align="center" prop="status">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.CUSTOMER_STATUS" :value="scope.row.status" />
</template>
</el-table-column>
<el-table-column label="部门" align="center" prop="department" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['ecw:customer:update']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['ecw:customer:delete']">删除</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页组件 -->
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
@pagination="getList"/>
<!-- 对话框(添加 / 修改) -->
<el-dialog :title="title" :visible.sync="open" width="900px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="150px">
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="客户名称" prop="name">
<el-input v-model="form.name" placeholder="请输入客户名称" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="国家" prop="country">
<el-select v-model="form.country" placeholder="请选择国家">
<el-option v-for="dict in getDictDatas(DICT_TYPE.COMMON_STATUS)"
:key="dict.value" :label="dict.label" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="客户等级" prop="level">
<el-select v-model="form.level" placeholder="请选择客户等级">
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_LEVEL)"
:key="dict.value" :label="dict.label" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="所属代理" prop="agentId">
<el-select v-model="form.agentId" placeholder="请选择所属代理">
<el-option v-for="dict in getDictDatas(DICT_TYPE.COMMON_STATUS)"
:key="dict.value" :label="dict.label" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="联系地址" prop="address">
<el-input v-model="form.address" placeholder="请输入联系地址" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="客户类别" prop="type">
<el-select v-model="form.type" placeholder="请选择客户类别">
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_TYPE)"
:key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="常用提货网点" prop="pickupPoint">
<el-select v-model="form.pickupPoint" placeholder="请输入常用提货网点">
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="公司名称" prop="company">
<el-input v-model="form.company" placeholder="请输入公司名称" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="客户生日" prop="birthday">
<el-input v-model="form.birthday" placeholder="请输入客户生日" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="产品类型" prop="productType">
<el-select v-model="form.productType" placeholder="请选择产品类型">
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
<el-form-item label="产品id" prop="productId">
<el-input v-model="form.productId" placeholder="请输入产品id" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="客户来源" prop="source">
<el-select v-model="form.source" placeholder="请选择客户来源">
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)"
:key="dict.value" :label="dict.label" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="结算方式" prop="balance">
<el-select v-model="form.balance" placeholder="请选择结算方式">
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_BALANCE)"
:key="dict.value" :label="dict.label" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="跟进客服" prop="customerService">
<el-select v-model="form.customerService" placeholder="请选择跟进客服">
<el-option v-for="dict in getDictDatas(DICT_TYPE.COMMON_STATUS)"
:key="dict.value" :label="dict.label" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="图片" prop="picture">
<el-input v-model="form.picture" placeholder="请输入图片" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="客户状态" prop="status">
<el-select v-model="form.status" placeholder="请选择客户状态">
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_STATUS)"
:key="dict.value" :label="dict.label" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="推介人" prop="promoter">
<el-input v-model="form.promoter" placeholder="请输入推介人" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="创建人" prop="founder">
<el-input v-model="form.founder" placeholder="请输入创建人" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="创建时间" prop="founder">
<el-input v-model="form.founder" placeholder="请输入创建人" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="备注" prop="remarks">
<el-input v-model="form.remarks" placeholder="请输入备注" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="到仓确认" prop="arrivalConfirm">
<el-switch v-model="form.arrivalConfirm" :active-value="0" :inactive-value="1" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="重货标准(CBM)" prop="weightUnit">
<el-input v-model="form.weightUnit" placeholder="请输入重货标准(CBM)" />
</el-form-item>
</el-col>
</el-row>
<el-form-item label="关联会员账号" prop="memberId">
<el-input v-model="form.memberId" placeholder="请输入关联会员账号" />
</el-form-item>
<el-form-item label="部门" prop="department">
<el-input v-model="form.department" placeholder="请输入部门" />
</el-form-item>
<el-form-item label="发票抬头" prop="invoiceTitle">
<el-input v-model="form.invoiceTitle" placeholder="请输入发票抬头" />
</el-form-item>
<el-form-item label="纳税人识别号" prop="licenseNumber">
<el-input v-model="form.licenseNumber" placeholder="请输入纳税人识别号" />
</el-form-item>
<el-form-item label="开户行" prop="bank">
<el-input v-model="form.bank" placeholder="请输入开户行" />
</el-form-item>
<el-form-item label="账户" prop="bankNumber">
<el-input v-model="form.bankNumber" placeholder="请输入账户" />
</el-form-item>
<el-form-item label="项目" prop="project">
<el-input v-model="form.project" placeholder="请输入项目" />
</el-form-item>
<el-form-item label="开票地址" prop="billingAddress">
<el-input v-model="form.billingAddress" placeholder="请输入开票地址" />
</el-form-item>
<el-form-item label="开票电话" prop="billingTell">
<el-input v-model="form.billingTell" placeholder="请输入开票电话" />
</el-form-item>
<el-form-item label="税率" prop="taxRate">
<el-input v-model="form.taxRate" placeholder="请输入税率" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { createCustomer, updateCustomer, deleteCustomer, getCustomer,
getCustomerPage, exportCustomerExcel, getPublicList } from "@/api/ecw/customer";
import { getDictDatas, DICT_TYPE } from '@/utils/dict';
import {CommonStatusEnum} from '@/utils/constants'
import { uploadFile } from "@/api/infra/file";
export default {
name: "oceanCustomer",
components: {
},
data() {
return {
getDictDatas,
DICT_TYPE,
// 遮罩层
loading: true,
// 导出遮罩层
exportLoading: false,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 客户列表
list: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
dateRangeCreateTime: [],
// 查询参数
queryParams: {
pageNo: 1,
pageSize: 10,
number: null,
name: null,
level: null,
source: null,
customerService: null,
status: null,
department: null,
},
// 表单参数
form: {},
// 表单校验
rules: {
name: [{ required: true, message: "客户名称不能为空", trigger: "blur" }],
weightUnit: [{ required: true, message: "重货标准(CBM)不能为空", trigger: "blur" }],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询列表 */
getList() {
this.loading = true;
// 处理查询参数
let params = {...this.queryParams};
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime');
// 执行查询
getPublicList(params).then(response => {
this.list = response.data.list;
this.total = response.data.total;
this.loading = false;
});
},
/** 取消按钮 */
cancel() {
this.open = false;
this.reset();
},
/** 表单重置 */
reset() {
this.form = {
id: undefined,
number: undefined,
name: undefined,
level: undefined,
country: undefined,
type: undefined,
agentId: undefined,
company: undefined,
address: undefined,
productType: undefined,
productId: undefined,
pickupPoint: undefined,
memberId: undefined,
birthday: undefined,
balance: undefined,
source: undefined,
picture: undefined,
customerService: undefined,
promoter: undefined,
status: undefined,
founder: undefined,
department: undefined,
invoiceTitle: undefined,
licenseNumber: undefined,
bank: undefined,
bankNumber: undefined,
project: undefined,
billingAddress: undefined,
billingTell: undefined,
taxRate: undefined,
remarks: undefined,
arrivalConfirm: undefined,
weightUnit: undefined,
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNo = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.dateRangeCreateTime = [];
this.resetForm("queryForm");
this.handleQuery();
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加客户";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id;
getCustomer(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改客户";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (!valid) {
return;
}
// 修改的提交
if (this.form.id != null) {
updateCustomer(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
return;
}
// 添加的提交
createCustomer(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
});
},
/** 删除按钮操作 */
handleDelete(row) {
const id = row.id;
this.$modal.confirm('是否确认删除客户编号为"' + id + '"的数据项?').then(function() {
return deleteCustomer(id);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
// 处理查询参数
let params = {...this.queryParams};
params.pageNo = undefined;
params.pageSize = undefined;
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime');
// 执行导出
this.$modal.confirm('是否确认导出所有客户数据项?').then(() => {
this.exportLoading = true;
return exportCustomerExcel(params);
}).then(response => {
this.$download.excel(response, '${table.classComment}.xls');
this.exportLoading = false;
}).catch(() => {});
}
}
};
</script>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment