Commit 09607817 authored by 黄奎's avatar 黄奎
parents 1bc2b433 fc4750ee
...@@ -217,3 +217,25 @@ export function getCustomerStuStageStatistics(data) { ...@@ -217,3 +217,25 @@ export function getCustomerStuStageStatistics(data) {
data data
}) })
} }
/**
* 获取同业佣金/幸福存折明细
*
*/
export function getCustomerCommissionPassbook(data) {
return request({
url: '/B2BCustomer/GetCustomerCommissionPassbook',
method: 'post',
data
})
}
/**
* 同业转交
*
*/
export function setCustomerCareOf(data) {
return request({
url: 'B2BCustomer/SetCustomerCareOf',
method: 'post',
data
})
}
\ No newline at end of file
<template> <template>
<q-dialog v-model="persistent" maximized full-height seamless position="right" @hide="closeAuditCustomerForm"> <q-dialog
v-model="persistent"
maximized
full-height
seamless
position="right"
@hide="closeAuditCustomerForm"
>
<div class="info-content-component"> <div class="info-content-component">
<div class="info-head flex items-center"> <div class="info-head flex items-center">
<div class="flex items-center"> <div class="flex items-center">
<q-img :src="detailData.WeChatPhoto" :ratio="1" width="60px" class="q-mr-md"/> <q-img
:src="detailData.WeChatPhoto"
:ratio="1"
width="60px"
class="q-mr-md"
/>
<div> <div>
<div class="text-weight-thin" style="font-size:10px"> <div class="text-weight-thin" style="font-size:10px">
微信名 微信名
</div> </div>
<div class="text-h6"> <div class="text-h6">
{{detailData.WeChatName}} {{ detailData.WeChatName }}
</div> </div>
</div> </div>
</div> </div>
<q-space /> <q-space />
<q-btn color="accent" size="sm" class="q-mr-md" icon="swap_horiz" label="转移" /> <q-btn
color="accent"
size="sm"
label="转交"
icon="swap_horiz"
@click="isShowTrans = true"
>
<q-popup-proxy :offset="[10, 10]">
<q-banner v-if="isShowTrans">
<q-select
style="margin-top:20px;"
filled
v-model="TransferMsg.EmpId"
@filter="filterEmployee"
use-input
:options="myEmployeeList"
option-label="EmployeeName"
option-value="Id"
emit-value
map-options
:rules="[val => !!val || '请选择接收人']"
ref="transfer"
/>
<q-btn
label="保存"
style="float:right;margin-top:15px"
color="accent q-mb-lg"
size="sm"
@click="saveTransForm"
/>
</q-banner>
</q-popup-proxy>
</q-btn>
</div> </div>
<div class="info-content"> <div class="info-content">
<div class="detail-info"> <div class="detail-info">
<baseInfo :Data="detailData" @confirm="saveBaseInfo"></baseInfo> <baseInfo :Data="detailData" @confirm="saveBaseInfo"></baseInfo>
</div> </div>
<div class="detail-log"> <div class="detail-log">
<right :Id="rowId"></right> <right :Id="rowId" :tabId="tabId"></right>
</div> </div>
</div> </div>
</div> </div>
<div class="dialog-out-close" @click="closeAuditCustomerForm" <div
style="height:40px !important;border-top-left-radius: 4px !important;border-bottom-left-radius: 4px !important;"> class="dialog-out-close"
@click="closeAuditCustomerForm"
style="height:40px !important;border-top-left-radius: 4px !important;border-bottom-left-radius: 4px !important;"
>
<q-icon name="iconfont icon-jujue1" size="26px" /> <q-icon name="iconfont icon-jujue1" size="26px" />
</div> </div>
</q-dialog> </q-dialog>
</template> </template>
<script> <script>
import { import { GetCustomer, SetCustomer } from "../../../api/sale/peemanagement";
GetCustomer, import { setCustomerCareOf } from "../../../api/sale/peemanagement";
SetCustomer import baseInfo from "./baseInfo.vue";
} from "../../../api/sale/peemanagement"; import right from "./conRight.vue";
import baseInfo from './baseInfo.vue' export default {
import right from './conRight.vue'
export default {
components: { components: {
baseInfo, baseInfo,
right right
...@@ -52,6 +96,14 @@ ...@@ -52,6 +96,14 @@
auth: { auth: {
type: Object, type: Object,
default: null default: null
},
empList:{
type:Array,
default:()=>[]
},
tabId:{
type:Number,
default:1
} }
}, },
data() { data() {
...@@ -73,17 +125,27 @@ ...@@ -73,17 +125,27 @@
WeChatName: "", WeChatName: "",
WeChatPhoto: "", WeChatPhoto: "",
CustomerType: 1, CustomerType: 1,
EnterpriseName: "", EnterpriseName: ""
}, },
} //员工列表
employeeList: [],
myEmployeeList: [],
isShowTrans: false,
TransferMsg: {
CustomerIds: "",
EmpId: ""
},
};
}, },
mounted() { mounted() {
this.initObj() this.initObj();
this.employeeList=this.empList
this.myEmployeeList=this.empList
}, },
methods: { methods: {
//关闭弹窗 //关闭弹窗
closeAuditCustomerForm() { closeAuditCustomerForm() {
this.$emit('close'); this.$emit("close");
this.persistent = false; this.persistent = false;
}, },
//初始化表单 //初始化表单
...@@ -91,7 +153,7 @@ ...@@ -91,7 +153,7 @@
if (this.rowId > 0) { if (this.rowId > 0) {
let msg = { let msg = {
CustomerId: this.rowId CustomerId: this.rowId
} };
GetCustomer(msg).then(res => { GetCustomer(msg).then(res => {
if (res.Code == 1) { if (res.Code == 1) {
let tempData = res.Data; let tempData = res.Data;
...@@ -112,28 +174,28 @@ ...@@ -112,28 +174,28 @@
this.detailData.CustomerType = tempData.CustomerType; this.detailData.CustomerType = tempData.CustomerType;
this.detailData.EnterpriseName = tempData.EnterpriseName; this.detailData.EnterpriseName = tempData.EnterpriseName;
} }
}) });
} else { } else {
this.detailData.CustomerId = 0; this.detailData.CustomerId = 0;
this.detailData.CustomerName = ''; this.detailData.CustomerName = "";
this.detailData.ContactNumber = ''; this.detailData.ContactNumber = "";
this.detailData.Sex = 1; this.detailData.Sex = 1;
this.detailData.Fax = ''; this.detailData.Fax = "";
this.detailData.QQ = ''; this.detailData.QQ = "";
this.detailData.Email = ''; this.detailData.Email = "";
this.detailData.Address = ''; this.detailData.Address = "";
this.detailData.Account = ''; this.detailData.Account = "";
this.detailData.Remark = ''; this.detailData.Remark = "";
this.detailData.OpenId = ''; this.detailData.OpenId = "";
this.detailData.UnionId = ''; this.detailData.UnionId = "";
this.detailData.WeChatName = ''; this.detailData.WeChatName = "";
this.detailData.WeChatPhoto = ''; this.detailData.WeChatPhoto = "";
this.detailData.CustomerType = 1; this.detailData.CustomerType = 1;
this.detailData.EnterpriseName = ''; this.detailData.EnterpriseName = "";
} }
}, },
saveBaseInfo(obj){ saveBaseInfo(obj) {
this.detailData[obj.field]=obj.val this.detailData[obj.field] = obj.val;
SetCustomer(this.detailData).then(res => { SetCustomer(this.detailData).then(res => {
if (res.Code == 1) { if (res.Code == 1) {
this.$q.notify({ this.$q.notify({
...@@ -141,19 +203,41 @@ ...@@ -141,19 +203,41 @@
color: "accent", color: "accent",
timeout: 2000, timeout: 2000,
message: "数据保存成功!", message: "数据保存成功!",
position: "top", position: "top"
}); });
this.$emit("success"); this.$emit("success");
} }
}) });
}
}, },
//同业转交
saveTransForm() {
this.$refs.transfer.validate();
if (this.$refs.transfer.hasError) return;
this.TransferMsg.CustomerIds = this.rowId
setCustomerCareOf(this.TransferMsg).then(res => {
this.$q.notify({
icon: "iconfont icon-chenggong",
color: "accent",
timeout: 2000,
message: "转交成功",
position: "top"
});
this.isShowTrans = false;
});
},
//筛选员工
filterEmployee(val, update, abort) {
update(() => {
this.myEmployeeList = this.employeeList.filter(
v => v.EmployeeName.indexOf(val) > -1
);
});
} }
}
};
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.info-content-component { .info-content-component {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
width: 1010px; width: 1010px;
...@@ -196,6 +280,5 @@ ...@@ -196,6 +280,5 @@
overflow: hidden; overflow: hidden;
} }
} }
} }
</style> </style>
<!--订单列表--> <!--订单列表-->
<template> <template>
<div class="classorder"> <div class="b2bclassorder">
<q-table <q-table
:pagination="msg" :pagination="msg"
:loading="loading" :loading="loading"
no-data-label="暂无相关数据" no-data-label="暂无相关数据"
flat flat
class="sticky-tow-column-table" class="sticky-column-table"
separator="none" separator="none"
:data="dataList" :data="dataList"
:columns="columns" :columns="columns"
row-key="Id" row-key="Id"
> >
<!-- <template v-slot:body-cell-StuIcon="props"> <template v-slot:body-cell-OrderId="props">
<q-td auto-width :props="props"> <q-td auto-width :props="props">
<q-avatar size="md" v-if="props.value"> <div style="color:var(--q-color-primary)" @click="goOrderdetails(props.row,1)">
<img :src="props.value" /> {{ props.row.OrderId}}
</q-avatar> </div>
<q-avatar
size="md"
color="teal-10"
text-color="white"
v-if="!props.value"
>
{{ props.row.StuName.substring(0, 1) }}</q-avatar
>
</q-td> </q-td>
</template> --> </template>
<template v-slot:body-cell-GuestList="props">
<q-td auto-width :props="props">
<div class="q-ma-xs" v-for="(item,index) in props.row.GuestList" :key="index">
{{item.GuestName}}
</div>
</q-td>
</template>
<template v-slot:bottom> <template v-slot:bottom>
<q-pagination <div style="height:1px"></div>
class="full-width justify-end"
v-model="msg.pageIndex"
color="primary"
:max="pageCount"
:input="true"
@input="changePage"
/>
</template> </template>
</q-table> </q-table>
<!--修改课程订单--> <!--修改课程订单-->
...@@ -86,7 +77,7 @@ ...@@ -86,7 +77,7 @@
</viewquotation-form> </viewquotation-form>
<!--合同信息--> <!--合同信息-->
<eduinfo-form v-if="isShowEduForm" :seting-obj="eduObj" @close="closeEdudia" @success="refreshPage"> <eduinfo-form v-if="isShowEduForm" :seting-obj="eduObj" @close="closeEdudia" @success="refreshPage" style="margin:0">
</eduinfo-form> </eduinfo-form>
<div v-if="isShowContract" class="_show_img_box" @click="(isShowContract = false), (imgViewList = [])"> <div v-if="isShowContract" class="_show_img_box" @click="(isShowContract = false), (imgViewList = [])">
<div style=" <div style="
...@@ -157,7 +148,7 @@ ...@@ -157,7 +148,7 @@
//正常订单 //正常订单
dataList: { dataList: {
type: Array, type: Array,
default: null default: ()=>[]
}, },
//取消订单 //取消订单
cancelList: { cancelList: {
...@@ -251,63 +242,56 @@ ...@@ -251,63 +242,56 @@
imgViewUrl: '', imgViewUrl: '',
imgViewList: [], imgViewList: [],
initialIndex: 0, initialIndex: 0,
loading:false,
columns: [ columns: [
{ {
name: "StuIcon", name: "OrderId",
label: "", label: "订单号",
field: "StuIcon", field: "OrderId",
align: "left" align: "left"
}, },
{ {
name: "StuName", name: "ClassName",
required: true, label: "班级",
label: "昵称",
align: "left", align: "left",
field: row => row.StuName field: "ClassName"
}, },
{ {
name: "StuSex", name: "CourseName",
label: "性别", label: "课程",
field: "StuSex", field: "CourseName",
align: "left" align: "left"
}, },
{ {
name: "StuBirthStr", name: "PreferPrice",
label: "出生日期", label: "应收",
field: "StuBirthStr", field: "PreferPrice",
align: "left" align: "left",
}, },
{ {
name: "StuTel", name: "DiscountMoney",
label: "手机号码", label: "实收",
field: "StuTel", field: "DiscountMoney",
align: "left" align: "left"
}, },
{ {
name: "CreateTypeStr", name: "OrderStateName",
label: "客户来源", label: "状态",
field: "CreateTypeStr", field: "OrderStateName",
align: "left" align: "left"
}, },
{ {
name: "StuStageName", name: "GuestList",
label: "客户阶段", label: "学生名单",
field: "StuStageName", field: "GuestList",
align: "left" align: "left"
}, },
{
name: "CreateTimeStr",
label: "创建时间",
field: "CreateTimeStr",
align: "left"
}
// {
// name: "CreateByName",
// label: "负责人",
// align: "left",
// field: "CreateByName"
// }
], ],
msg:{
pageIndex: 1,
pageSize: 10,
rowsPerPage: 10,
},
} }
}, },
created() { created() {
...@@ -966,27 +950,27 @@ ...@@ -966,27 +950,27 @@
list-style-type: none; list-style-type: none;
} }
.classorder ul { .b2bclassorder ul {
padding: 0px padding: 0px
} }
.classorder .price-popup { .b2bclassorder .price-popup {
border-radius: 4px; border-radius: 4px;
} }
.classorder .el-range-editor .el-range-input { .b2bclassorder .el-range-editor .el-range-input {
background: none; background: none;
} }
.classorder .el-range-editor.el-input__inner { .b2bclassorder .el-range-editor.el-input__inner {
background-color: transparent; background-color: transparent;
} }
.classorder .q-mb-md { .b2bclassorder .q-mb-md {
margin-bottom: 0; margin-bottom: 0;
} }
.classorder .stics { .b2bclassorder .stics {
padding: 10px 20px; padding: 10px 20px;
background: #DDDEE0; background: #DDDEE0;
border-radius: 4px; border-radius: 4px;
...@@ -995,84 +979,31 @@ ...@@ -995,84 +979,31 @@
font-weight: bold font-weight: bold
} }
.classorder .stics .stics-name { .b2bclassorder .stics .stics-name {
color: #2D2D2D; color: #2D2D2D;
font-weight: 600; font-weight: 600;
margin-right: 10px margin-right: 10px
} }
.classorder .tis { .b2bclassorder .tis {
margin: 10px 0; margin: 10px 0;
align-items: center align-items: center
} }
.classorder .tis .tis-k { .b2bclassorder .tis .tis-k {
width: 10px; width: 10px;
height: 10px; height: 10px;
margin-right: 8px margin-right: 8px
} }
.classorder .tis span { .b2bclassorder .tis span {
font-size: 14px; font-size: 14px;
color: #2D2D2D; color: #2D2D2D;
font-weight: 600; font-weight: 600;
margin-right: 20px margin-right: 20px
} }
.classorder table { .b2bclassorder .enrollTotalSearchTable {
padding: 10px 0;
width: 100%;
background-color: #ededed;
border-collapse: collapse;
border: 1px solid #d2d2d2;
font-size: 12px;
}
.classorder table th {
background-color: #ededed;
height: 34px;
text-indent: 15px;
}
.classorder table td {
background-color: #ffffff;
padding: 9px 15px;
color: #333333;
border: 1px solid rgba(138, 138, 138, 0.09);
text-align: center;
}
.classorder table ._color_666 {
color: #666666;
}
.classorder table tr._color_666 th {
padding: 9px 15px;
}
.classorder table th {
background-color: #ededed;
height: 34px;
text-indent: 15px;
}
.classorder table td {
background-color: #ffffff;
padding: 9px 15px;
color: #333333;
/*border: 1px solid #d2d2d2;*/
}
.classorder table ._color_666 {
color: #666666;
}
.classorder table tr._color_666 th {
padding: 9px 15px;
}
.classorder .enrollTotalSearchTable {
width: 100%; width: 100%;
font-size: 14px; font-size: 14px;
color: #333; color: #333;
...@@ -1081,38 +1012,38 @@ ...@@ -1081,38 +1012,38 @@
border-collapse: collapse; border-collapse: collapse;
} }
.classorder .enrollTotalSearchTable tr { .b2bclassorder .enrollTotalSearchTable tr {
/* border-bottom: 2px solid #333; */ /* border-bottom: 2px solid #333; */
} }
.classorder .enrollTotalSearchTable tr th { .b2bclassorder .enrollTotalSearchTable tr th {
background: #DDDEE0; background: #DDDEE0;
height: 30px; height: 30px;
font-size: 12px; font-size: 12px;
text-align: center; text-align: center;
} }
.classorder .enrollTotalSearchTable tr { .b2bclassorder .enrollTotalSearchTable tr {
background: #fff; background: #fff;
text-align: left; text-align: left;
} }
.classorder .enrollTotalSearchTable tbody tr:last-child { .b2bclassorder .enrollTotalSearchTable tbody tr:last-child {
border-bottom: 2px solid #333; border-bottom: 2px solid #333;
} }
.classorder .enrollTotalSearchTable tr:first-child td:first-child { .b2bclassorder .enrollTotalSearchTable tr:first-child td:first-child {
border-bottom: 2px solid #333; border-bottom: 2px solid #333;
} }
.classorder .enrollTotalSearchTable tr td { .b2bclassorder .enrollTotalSearchTable tr td {
height: 66px; height: 66px;
padding: 10px; padding: 10px;
/*border-top: 1px solid #cccccc;*/ /*border-top: 1px solid #cccccc;*/
/*border-left: 1px solid #cccccc;*/ /*border-left: 1px solid #cccccc;*/
} }
.classorder .enrollTotalSearchTable tr td>img { .b2bclassorder .enrollTotalSearchTable tr td>img {
width: 32px; width: 32px;
height: 32px; height: 32px;
border-radius: 16px; border-radius: 16px;
...@@ -1120,16 +1051,16 @@ ...@@ -1120,16 +1051,16 @@
margin-right: 5px; margin-right: 5px;
} }
.classorder .enrollTotalSearchTable tr td p { .b2bclassorder .enrollTotalSearchTable tr td p {
line-height: 20px; line-height: 20px;
} }
.classorder .remarks { .b2bclassorder .remarks {
font-size: 14px; font-size: 14px;
color: #2D2D2D; color: #2D2D2D;
} }
.classorder .remarks-b { .b2bclassorder .remarks-b {
width: 100%; width: 100%;
height: 94px; height: 94px;
background: #F0F5FB; background: #F0F5FB;
...@@ -1145,18 +1076,18 @@ ...@@ -1145,18 +1076,18 @@
-webkit-box-orient: vertical; -webkit-box-orient: vertical;
} }
.classorder .remarks-b-b { .b2bclassorder .remarks-b-b {
text-align: right; text-align: right;
position: absolute; position: absolute;
right: 0px; right: 0px;
bottom: 0px bottom: 0px
} }
.classorder .on-left { .b2bclassorder .on-left {
margin-right: 5px; margin-right: 5px;
} }
.classorder .finance { .b2bclassorder .finance {
padding: 1px 10px; padding: 1px 10px;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
...@@ -1164,7 +1095,7 @@ ...@@ -1164,7 +1095,7 @@
margin: 5px 3px 3px 0; margin: 5px 3px 3px 0;
} }
.classorder .order_OfferId { .b2bclassorder .order_OfferId {
font-size: 18px; font-size: 18px;
color: #2961FE; color: #2961FE;
margin-bottom: 10px; margin-bottom: 10px;
...@@ -1196,7 +1127,7 @@ ...@@ -1196,7 +1127,7 @@
overflow-y: auto; overflow-y: auto;
} }
.classorder .redstyle { .b2bclassorder .redstyle {
color: var(--q-color-negative); color: var(--q-color-negative);
} }
...@@ -1207,3 +1138,26 @@ ...@@ -1207,3 +1138,26 @@
} }
</style> </style>
<style lang="scss">
.b2bclassorder ::-webkit-scrollbar {
width: 5px;
height: 5px;
}
.b2bclassorder ::-webkit-scrollbar-track {
background: #fff;
border-radius: 2px;
}
.b2bclassorder ::-webkit-scrollbar-thumb {
background: #444;
border-radius: 10px;
}
.b2bclassorder ::-webkit-scrollbar-thumb:hover {
background: #999;
}
.b2bclassorder ::-webkit-scrollbar-corner {
background: #204754;
}
.b2bclassorder .q-table__bottom {
min-height:0px;
}
</style>
\ No newline at end of file
...@@ -79,21 +79,6 @@ ...@@ -79,21 +79,6 @@
<span>企业/学校名称</span> <span>企业/学校名称</span>
<span>{{Data.EnterpriseName}}</span> <span>{{Data.EnterpriseName}}</span>
</div> </div>
<!-- 账号 -->
<!-- <div class="q-my-sm" v-if="editField=='Account'">
<div class="flex justify-between items-center q-mb-sm">
<span>账号</span>
<div>
<q-btn size="sm" text-color="primary" label="取消" @click="showEdit('')"></q-btn>
<q-btn size="sm" color="primary" label="确定" class="q-ml-sm" @click="save('Account',Data.Account)"></q-btn>
</div>
</div>
<q-input outlined dense v-model="Data.Account" :rules="[val => !!val || '请输入账号']"></q-input>
</div>
<div class="flex justify-between items-center q-my-lg" v-else @click="showEdit('Account')">
<span>账号</span>
<span>{{Data.Account}}</span>
</div> -->
<!-- 详细地址 --> <!-- 详细地址 -->
<div class="q-my-sm" v-if="editField=='Address'"> <div class="q-my-sm" v-if="editField=='Address'">
<div class="flex justify-between items-center q-mb-sm"> <div class="flex justify-between items-center q-mb-sm">
......
...@@ -4,45 +4,49 @@ ...@@ -4,45 +4,49 @@
v-model="tabs" v-model="tabs"
active-color="primary" active-color="primary"
align="left" align="left"
style="width:350px;margin-bottom:20px;" style="width:400px;"
> >
<q-tab :name="1" label="操作日志" /> <q-tab :name="1" label="操作日志" />
<q-tab :name="2" label="客户" /> <q-tab :name="2" label="客户" />
<q-tab :name="3" label="订单" /> <q-tab :name="3" label="订单" />
<q-tab :name="4" label="幸福存折" /> <q-tab :name="4" label="返佣" />
<q-tab :name="5" label="幸福存折" />
</q-tabs> </q-tabs>
<div class="q-mb-lg"> <div class="q-mb-lg">
<log :Id="Id" v-if="tabs===1"></log> <log :Id="Id" v-if="tabs === 1"></log>
<customer :Id="Id" v-if="tabs===2"></customer> <customer :Id="Id" v-if="tabs === 2"></customer>
<order :Id="Id" v-if="tabs===3"></order> <order :Id="Id" v-if="tabs === 3"></order>
<rakeback :Id="Id" v-if="tabs === 4" :type="type"></rakeback>
<passbook :Id="Id" v-if="tabs === 5" :type="type"></passbook>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import log from './log.vue' import log from "./log.vue";
import customer from './customer' import customer from "./customer";
import order from './order' import order from "./order";
export default { import passbook from "./passbook";
components: {log,customer,order}, import rakeback from "./rakeback";
export default {
components: { log, customer, order, rakeback, passbook },
props: { props: {
Id: { Id: {
type: Number, type: Number,
default: 0 default: 0
},
tabId: {
type: Number,
default: 1
} }
}, },
data() { data() {
return { return {
tabs:1, tabs: 1,
type: 1
} };
}, },
created() {},
mounted() { mounted() {
this.tabs=this.tabId
}, },
methods: { };
},
}
</script> </script>
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
:columns="columns" :columns="columns"
row-key="Id" row-key="Id"
> >
<template v-slot:body-cell-StuIcon="props"> <!-- <template v-slot:body-cell-StuIcon="props">
<q-td auto-width :props="props"> <q-td auto-width :props="props">
<q-avatar size="md" v-if="props.value"> <q-avatar size="md" v-if="props.value">
<img :src="props.value" /> <img :src="props.value" />
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
{{ props.row.StuName.substring(0, 1) }}</q-avatar {{ props.row.StuName.substring(0, 1) }}</q-avatar
> >
</q-td> </q-td>
</template> </template> -->
<template v-slot:body-cell-StuName="props"> <template v-slot:body-cell-StuName="props">
<q-td :props="props"> <q-td :props="props">
<div class="text-blue cursor-pointer" @click="getStuRight(props.row)"> <div class="text-blue cursor-pointer" @click="getStuRight(props.row)">
...@@ -119,12 +119,12 @@ export default { ...@@ -119,12 +119,12 @@ export default {
list: [], list: [],
pageCount: 0, pageCount: 0,
columns: [ columns: [
{ // {
name: "StuIcon", // name: "StuIcon",
label: "", // label: "",
field: "StuIcon", // field: "StuIcon",
align: "left" // align: "left"
}, // },
{ {
name: "StuName", name: "StuName",
required: true, required: true,
...@@ -217,7 +217,6 @@ export default { ...@@ -217,7 +217,6 @@ export default {
StuNum: total StuNum: total
}; };
this.stagelist.unshift(obj); this.stagelist.unshift(obj);
console.log("tag", this.stagelist);
}); });
}, },
changePage(val) { changePage(val) {
......
<template> <template>
<div class=" myOrder q-pb-lg"> <div class=" myOrder q-pb-lg">
<div class="row wrap q-gutter-xs" v-if="data.Statistics"> <div class="row wrap q-gutter-xs q-my-xs" v-if="data.Statistics">
<div class="col-3 stics"> <div class=" stics">
<span class="stics-name">应收款</span> <span class="stics-name">应收款</span>
<span>{{ <span>{{
data.Statistics.PreferPrice ? data.Statistics.PreferPrice : 0 data.Statistics.PreferPrice ? data.Statistics.PreferPrice : 0
}}</span> }}</span>
</div> </div>
<div class="col-3 stics"> <div class=" stics">
<span class="stics-name">实收款</span> <span class="stics-name">实收款</span>
<span>{{ data.Statistics.Income }}</span> <span>{{ data.Statistics.Income }}</span>
</div> </div>
<div class="col-3 stics"> <div class=" stics">
<span class="stics-name">待收款</span> <span class="stics-name">待收款</span>
<span style="color: #F72E52">{{ data.Statistics.DueInMoney }}</span> <span style="color: #F72E52">{{ data.Statistics.DueInMoney }}</span>
</div> </div>
<div class="col-3 stics"> <div class=" stics">
<span class="stics-name">收客人数</span> <span class="stics-name">收客人数</span>
<span style="color:#2961FE;">{{ data.Statistics.GuestNum }}</span> <span style="color:#2961FE;">{{ data.Statistics.GuestNum }}</span>
</div> </div>
<div class="col-3 stics"> <div class=" stics">
<span class="stics-name">取消人数</span> <span class="stics-name">取消人数</span>
<span>{{ data.Statistics.CancelNum }}</span> <span>{{ data.Statistics.CancelNum }}</span>
</div> </div>
<div class="col-3 stics"> <div class=" stics">
<span class="stics-name">提成金额</span> <span class="stics-name">提成金额</span>
<span>{{ data.Statistics.CommissionMoney }}</span> <span>{{ data.Statistics.CommissionMoney }}</span>
</div> </div>
<div class="col-3 stics"> <div class=" stics">
<span class="stics-name">额外奖励</span> <span class="stics-name">额外奖励</span>
<span>{{ data.Statistics.ExtraRewardMoney }}</span> <span>{{ data.Statistics.ExtraRewardMoney }}</span>
</div> </div>
</div> </div>
<div class="row col" style="justify-content: flex-end">
<div class="row tis">
<div class="tis-k" style="background: #2961FE"></div>
<span>已打单</span>
</div>
<div class="row tis">
<div class="tis-k" style="background: #02C499"></div>
<span>平台出纳已审核</span>
</div>
<div class="row tis">
<div class="tis-k" style="background: #F28C1D"></div>
<span>银行出纳已审核</span>
</div>
<div class="row tis">
<div class="tis-k" style="background: #3FC4FF"></div>
<span>已通过</span>
</div>
</div>
<div style="width:100%;overflow:auto"> <div style="width:100%;overflow:auto">
<orderlist <orderlist
:dataList="data.List" :dataList="data.List"
...@@ -404,7 +387,7 @@ li { ...@@ -404,7 +387,7 @@ li {
} }
.myOrder .stics { .myOrder .stics {
padding: 10px 20px; padding:5px 10px ;
background: #dddee0; background: #dddee0;
border-radius: 4px; border-radius: 4px;
font-size: 14px; font-size: 14px;
......
<template>
<div class="passbook">
<div class="row wrap q-gutter-xs q-my-xs">
<div class="stics">
<span class="stics-name">累计</span>
<span>{{ data.TotalMoney }}</span>
</div>
<div class=" stics">
<span class="stics-name">已提现</span>
<span style="color: #F72E52">{{ data.RemitMoney }}</span>
</div>
<div class=" stics">
<span class="stics-name">可提现</span>
<span style="color:#2961FE;">{{ data.SurplusMoney }}</span>
</div>
<div class=" stics">
<span class="stics-name">未结算</span>
<span>{{ data.NotSettlementMoney }}</span>
</div>
</div>
<q-table
:pagination="msg"
:loading="loading"
no-data-label="暂无相关数据"
flat
class="sticky-column-table"
separator="none"
:data="dataList"
:columns="columns"
row-key="name"
>
<template v-slot:body-cell-ClassName="props">
<q-td :props="props" style="padding-right: 0px">
{{ props.row.ClassName }}{{ props.row.ClassNo }}
</q-td>
</template>
<template v-slot:bottom>
<q-pagination
class="full-width justify-end"
v-model="msg.pageIndex"
color="primary"
:max="pageCount"
:input="true"
@input="changePage"
/>
</template>
</q-table>
</div>
</template>
<script>
import {
getCustomerCommissionPassbook,
GetCustomerBalanceDetailPage
} from "../../../api/sale/peemanagement";
export default {
props: {
type: {
//1返佣 2幸福存折
type: Number,
default: 1
},
Id: {
//1返佣 2幸福存折
type: Number,
default: 0
}
},
data() {
return {
loading: false,
msg: {
CustomerId: 0,
pageIndex: 1,
pageSize: 10,
rowsPerPage: 10,
RebateType: 2,
Description: ""
},
pageCount: 0,
data:{},
dataList: [],
columns: [
{
name: "BalanceTypeStr",
label: "类型",
field: "BalanceTypeStr",
align: "left"
},
{
name: "Money",
label: "变更金额",
align: "left",
field: "Money"
},
{
name: "Description",
label: "变更详情",
field: "Description",
align: "left"
},
{
name: "ClassName",
label: "班级信息",
field: "ClassName",
align: "left"
},
{
name: "OrderId",
label: "订单编号",
field: "OrderId",
align: "left"
},
{
name: "PeopleNum",
label: "订单人数",
field: "PeopleNum",
align: "left"
},
{
name: "BalanceStateStr",
label: "返佣",
field: "BalanceStateStr",
align: "left"
},
{
name: "RemitStr",
label: "提现",
field: "RemitStr",
align: "left"
},
{
name: "UpdateTimeStr",
label: "更新时间",
field: "UpdateTimeStr",
align: "left"
}
]
};
},
mounted() {
this.getData();
this.getList();
},
methods: {
getData() {
const msg = {
CustomerId: this.Id,
Type: this.type
};
getCustomerCommissionPassbook(msg).then(res => {
console.log(29, res);
this.data=res.Data
});
},
//获取数据
getList() {
this.loading = true;
GetCustomerBalanceDetailPage(this.msg)
.then(res => {
this.loading = false;
if (res.Code == 1) {
console.log(30, res);
this.dataList = res.Data.PageData;
this.pageCount = res.Data.PageCount;
}
})
.catch(() => {
this.loading = false;
});
},
changePage(val) {
this.msg.pageIndex = val;
this.getList();
}
}
};
</script>
<style>
.passbook ::-webkit-scrollbar {
width: 5px;
height: 5px;
}
.passbook ::-webkit-scrollbar-track {
background: #fff;
border-radius: 2px;
}
.passbook ::-webkit-scrollbar-thumb {
background: #444;
border-radius: 10px;
}
.passbook ::-webkit-scrollbar-thumb:hover {
background: #999;
}
.passbook ::-webkit-scrollbar-corner {
background: #204754;
}
.passbook .stics {
padding: 5px 10px;
background: #dddee0;
border-radius: 4px;
font-size: 14px;
color: #000000;
font-weight: bold;
white-space: nowrap;
}
.passbook .stics-name {
color: #2d2d2d;
font-weight: 600;
margin-right: 10px;
}
</style>
<template>
<div class="passbook">
<div class="row wrap q-gutter-xs q-my-xs ">
<div class="stics">
<span class="stics-name">累计</span>
<span>{{ data.TotalMoney }}</span>
</div>
<div class=" stics">
<span class="stics-name">已提现</span>
<span style="color: #F72E52">{{ data.RemitMoney }}</span>
</div>
<div class=" stics">
<span class="stics-name">可提现</span>
<span style="color:#2961FE;">{{ data.SurplusMoney }}</span>
</div>
<div class=" stics">
<span class="stics-name">未结算</span>
<span>{{ data.NotSettlementMoney }}</span>
</div>
</div>
<q-table
:pagination="msg"
:loading="loading"
no-data-label="暂无相关数据"
flat
class="sticky-column-table"
separator="none"
:data="dataList"
:columns="columns"
row-key="name"
>
<template v-slot:body-cell-ClassName="props">
<q-td :props="props" style="padding-right: 0px">
{{ props.row.ClassName }}{{ props.row.ClassNo }}
</q-td>
</template>
<template v-slot:bottom>
<q-pagination
class="full-width justify-end"
v-model="msg.pageIndex"
color="primary"
:max="pageCount"
:input="true"
@input="changePage"
/>
</template>
</q-table>
</div>
</template>
<script>
import {
getCustomerCommissionPassbook,
GetCustomerBalanceDetailPage
} from "../../../api/sale/peemanagement";
export default {
props: {
type: {
//1返佣 2幸福存折
type: Number,
default: 1
},
Id: {
//1返佣 2幸福存折
type: Number,
default: 0
}
},
data() {
return {
loading: false,
msg: {
CustomerId: 0,
pageIndex: 1,
pageSize: 10,
rowsPerPage: 10,
RebateType: 2,
Description: ""
},
pageCount: 0,
data: {},
dataList: [],
columns: [
{
name: "BalanceTypeStr",
label: "类型",
field: "BalanceTypeStr",
align: "left"
},
{
name: "Money",
label: "变更金额",
align: "left",
field: "Money"
},
{
name: "Description",
label: "变更详情",
field: "Description",
align: "left"
},
{
name: "ClassName",
label: "班级信息",
field: "ClassName",
align: "left"
},
{
name: "OrderId",
label: "订单编号",
field: "OrderId",
align: "left"
},
{
name: "PeopleNum",
label: "订单人数",
field: "PeopleNum",
align: "left"
},
{
name: "BalanceStateStr",
label: "返佣",
field: "BalanceStateStr",
align: "left"
},
{
name: "RemitStr",
label: "提现",
field: "RemitStr",
align: "left"
},
{
name: "UpdateTimeStr",
label: "更新时间",
field: "UpdateTimeStr",
align: "left"
}
]
};
},
mounted() {
this.getData();
this.getList();
},
methods: {
getData() {
const msg = {
CustomerId: this.Id,
Type: this.type
};
getCustomerCommissionPassbook(msg).then(res => {
console.log(29, res);
this.data = res.Data;
});
},
//获取数据
getList() {
this.loading = true;
GetCustomerBalanceDetailPage(this.msg)
.then(res => {
this.loading = false;
if (res.Code == 1) {
this.dataList = res.Data.PageData;
this.pageCount = res.Data.PageCount;
}
})
.catch(() => {
this.loading = false;
});
},
changePage(val) {
this.msg.pageIndex = val;
this.getList();
}
}
};
</script>
<style>
.passbook ::-webkit-scrollbar {
width: 5px;
height: 5px;
}
.passbook ::-webkit-scrollbar-track {
background: #fff;
border-radius: 2px;
}
.passbook ::-webkit-scrollbar-thumb {
background: #444;
border-radius: 10px;
}
.passbook ::-webkit-scrollbar-thumb:hover {
background: #999;
}
.passbook ::-webkit-scrollbar-corner {
background: #204754;
}
.passbook .stics {
padding: 5px 10px;
background: #dddee0;
border-radius: 4px;
font-size: 14px;
color: #000000;
font-weight: bold;
white-space: nowrap;
}
.passbook .stics-name {
color: #2d2d2d;
font-weight: 600;
margin-right: 10px;
}
</style>
<style lang="scss"> <style lang="scss">
.b2bcustomlist .q-table__bottom { .b2bcustomlist .q-table__bottom {
min-height: 0; min-height: 0;
} }
.CustomerName{ .CustomerName {
cursor: pointer; cursor: pointer;
color:var(--q-color-primary) ; color: var(--q-color-primary);
} }
</style> </style>
<template> <template>
<div class="b2bcustomlist"> <div class="b2bcustomlist">
<q-table :pagination="pageMsg" :loading="loading" no-data-label="暂无相关数据" flat selection ="multiple" :selected.sync="selection" <q-table
class="sticky-column-table sticky-right-column-table " separator="none" :data="dataList" :columns="columns" :pagination="pageMsg"
row-key="CustomerId"> :loading="loading"
no-data-label="暂无相关数据"
flat
selection="multiple"
:selected.sync="selection"
class="sticky-column-table sticky-right-column-table "
separator="none"
:data="dataList"
:columns="columns"
row-key="CustomerId"
>
<template v-slot:top="props"> <template v-slot:top="props">
<q-space /> <q-space />
<div class="page-option" v-if="authObj.isShowEdit"> <div class="page-option" v-if="authObj.isShowEdit">
<q-btn color="accent" size="sm" class="q-mr-md" icon="add" @click="EditCustom(null)" label="新增客户" /> <q-btn
<q-btn color="accent" size="sm" class="q-mr-md" icon="swap_horiz" :disable ="selection.length==0" label="转移" /> color="accent"
size="sm"
class="q-mr-md"
icon="add"
@click="EditCustom(null)"
label="新增客户"
/>
<q-btn
color="accent"
size="sm"
label="转交"
:disable="selection.length == 0"
icon="swap_horiz"
@click="isShowTrans = true"
>
<q-popup-proxy :offset="[10, 10]">
<q-banner v-if="isShowTrans">
<q-select
style="margin-top:20px;"
filled
v-model="TransferMsg.EmpId"
@filter="filterEmployee"
use-input
:options="myEmployeeList"
option-label="EmployeeName"
option-value="Id"
emit-value
map-options
:rules="[val => !!val || '请选择接收人']"
ref="transfer"
/>
<q-btn
label="保存"
style="float:right;margin-top:15px"
color="accent q-mb-lg"
size="sm"
@click="saveTransForm"
/>
</q-banner>
</q-popup-proxy>
</q-btn>
</div> </div>
</template> </template>
<template v-slot:body-cell-CustomerName="props"> <template v-slot:body-cell-CustomerName="props">
<q-td> <q-td>
<div class="CustomerName" @click="showDetail(props.row)"> <div class="CustomerName" @click="showDetail(props.row)">
{{props.row.CustomerName}} {{ props.row.CustomerName }}
</div>
</q-td>
</template>
<template v-slot:body-cell-StuNum="props">
<q-td>
<div class="CustomerName" @click="showDetail(props.row,2)">
{{ props.row.StuNum }}
</div>
</q-td>
</template>
<template v-slot:body-cell-OrderNum="props">
<q-td>
<div class="CustomerName" @click="showDetail(props.row,3)">
{{ props.row.OrderNum }}
</div> </div>
</q-td> </q-td>
</template> </template>
<template v-slot:body-cell-CustomerType="props"> <template v-slot:body-cell-CustomerType="props">
<q-td> <q-td>
<div v-if="props.row.CustomerType===1">企业</div> <div v-if="props.row.CustomerType === 1">企业</div>
<div v-if="props.row.CustomerType===2">学校</div> <div v-if="props.row.CustomerType === 2">学校</div>
</q-td> </q-td>
</template> </template>
<template v-slot:body-cell-optioned="props"> <template v-slot:body-cell-optioned="props">
<q-td :props="props" style="width:200px;"> <q-td :props="props">
<q-btn flat v-if="(props.row.ApproveState==0||props.row.ApproveState==2)&&authObj.isShowAudit" size="xs" <q-btn
icon="edit" color="accent" style="font-weight:400" label="客户审批" @click="AuditCustomer(props.row,1)" /> flat
<q-btn flat size="xs" v-if="
icon="edit" color="accent" style="font-weight:400" label="编辑" @click="EditCustom(props.row)" /> (props.row.ApproveState == 0 || props.row.ApproveState == 2) &&
<q-btn flat v-if="props.row.ApproveState==0 && AuthorityObj.isShowEdit" size="xs" icon="delete" authObj.isShowAudit
color="negative" style="font-weight:400" label="删除" @click="RemoveCustomer(props.row)" /> "
<q-btn flat v-if="AuthorityObj.isShowBankBook" size="xs" icon="edit" color="accent" style="font-weight:400" size="xs"
label="幸福存折" @click="gohappyPassbook(props.row)" /> icon="edit"
<q-btn flat v-if="AuthorityObj.isShowRebate" size="xs" icon="edit" color="accent" style="font-weight:400" color="accent"
label="返佣管理" @click="gohappyCommisson(props.row)" /> style="font-weight:400"
label="客户审批"
@click="AuditCustomer(props.row, 1)"
/>
<!-- <q-btn flat size="xs"
icon="edit" color="accent" style="font-weight:400" label="编辑" @click="EditCustom(props.row)" /> -->
<q-btn
flat
v-if="props.row.ApproveState == 0 && AuthorityObj.isShowEdit"
size="xs"
icon="delete"
color="negative"
style="font-weight:400"
label="删除"
@click="RemoveCustomer(props.row)"
/>
<!-- <q-btn
flat
v-if="AuthorityObj.isShowBankBook"
size="xs"
icon="edit"
color="accent"
style="font-weight:400"
label="幸福存折"
@click="gohappyPassbook(props.row)"
/>
<q-btn
flat
v-if="AuthorityObj.isShowRebate"
size="xs"
icon="edit"
color="accent"
style="font-weight:400"
label="返佣管理"
@click="gohappyCommisson(props.row)"
/> -->
</q-td> </q-td>
</template> </template>
<template v-slot:bottom> <template v-slot:bottom>
<div></div> <div></div>
</template> </template>
</q-table> </q-table>
<customerEdit-form v-if="isShowCustomForm" :customerObj="customerObj" @close="closeCustomForm" <customerEdit-form
@success="refreshQuestion"> v-if="isShowCustomForm"
:customerObj="customerObj"
@close="closeCustomForm"
@success="refreshQuestion"
>
</customerEdit-form> </customerEdit-form>
<customerReview-form v-if="isShowRightForm" :customerObj="customerObj" @close="closeCustomForm" <customerReview-form
@success="refreshQuestion"></customerReview-form> v-if="isShowRightForm"
<customerInfo v-if="isShowDetailForm" :rowId="curRowId" @close="closeCustomForm" :auth="AuthorityObj" :customerObj="customerObj"
@success="refreshQuestion"></customerInfo> @close="closeCustomForm"
@success="refreshQuestion"
></customerReview-form>
<customerInfo
v-if="isShowDetailForm"
:rowId="curRowId"
:tabId="tabId"
:empList="employeeList"
@close="closeCustomForm"
:auth="AuthorityObj"
@success="refreshQuestion"
></customerInfo>
</div> </div>
</template> </template>
<script> <script>
import customerEditForm from '../sale/customerEdit-form'; import { queryEmployee } from "../../api/users/user";
import customerReviewForm from '../sale/customerReview-form'; import { setCustomerCareOf } from "../../api/sale/peemanagement";
import customerInfo from './b2bcustomerinfo/b2bCustomerInfo.vue'; import customerEditForm from "../sale/customerEdit-form";
export default { import customerReviewForm from "../sale/customerReview-form";
import customerInfo from "./b2bcustomerinfo/b2bCustomerInfo.vue";
export default {
props: { props: {
dataList: { dataList: {
type: Array, type: Array,
...@@ -72,6 +188,10 @@ ...@@ -72,6 +188,10 @@
authObj: { authObj: {
type: Object, type: Object,
default: null default: null
},
empList:{
type:Array,
default:()=>[]
} }
}, },
components: { components: {
...@@ -83,87 +203,97 @@ ...@@ -83,87 +203,97 @@
return { return {
columns: [ columns: [
{ {
name: 'CustomerName', name: "CustomerName",
label: '同业名称', label: "同业名称",
field: 'CustomerName', field: "CustomerName",
align: 'left' align: "left"
}, },
{ {
name: 'CustomerType', name: "CustomerType",
label: '类型', label: "类型",
field: 'CustomerType', field: "CustomerType",
align: 'left' align: "left"
}, },
{ {
name: 'EnterpriseName', name: "EnterpriseName",
label: '企业/学校名称', label: "企业/学校名称",
field: 'EnterpriseName', field: "EnterpriseName",
align: 'left' align: "left"
}, },
{ {
name: 'ContactNumber', name: "ContactNumber",
label: '电话', label: "电话",
field: 'ContactNumber', field: "ContactNumber",
align: 'left', align: "left"
}, },
{ {
name: 'StuNum', name: "StuNum",
label: '客户数量', label: "客户数量",
field: 'StuNum', field: "StuNum",
align: 'left' align: "left"
}, },
{ {
name: 'OrderNum', name: "OrderNum",
label: '订单数量', label: "订单数量",
field: 'OrderNum', field: "OrderNum",
align: 'left' align: "left"
}, },
{ {
name: 'OrderSales', name: "OrderSales",
label: '交易额', label: "交易额",
field: 'OrderSales', field: "OrderSales",
align: 'left' align: "left"
}, },
{ {
name: 'ApproveStateStr', name: "ApproveStateStr",
label: '审核状态', label: "审核状态",
field: 'ApproveStateStr', field: "ApproveStateStr",
align: 'left' align: "left"
}, },
{ {
name: 'CreateTimeStr', name: "CreateTimeStr",
label: '加入时间', label: "加入时间",
field: 'CreateTimeStr', field: "CreateTimeStr",
align: 'left' align: "left"
}, },
{ {
name: 'optioned', name: "optioned",
label: '操作', label: "操作",
field: 'QuestionId' field: "QuestionId"
} }
], ],
pageMsg: { pageMsg: {
rowsPerPage: 12, rowsPerPage: 12
}, },
loading: false, loading: false,
isShowCustomForm: false, isShowCustomForm: false,
isShowRightForm: false, isShowRightForm: false,
customerObj: null, //传入参数 customerObj: null, //传入参数
isShowDetailForm:false, isShowDetailForm: false,
curRowId:0, curRowId: 0,
//权限设置 //权限设置
AuthorityObj: { AuthorityObj: {
isShowEdit: false, //是否显示新增修改按钮 isShowEdit: false, //是否显示新增修改按钮
isShowAudit: false, //是否显示审批 isShowAudit: false, //是否显示审批
isShowBankBook: false, //是否显示幸福存折 isShowBankBook: false, //是否显示幸福存折
isShowRebate: false, //是否显示返佣 isShowRebate: false //是否显示返佣
}, },
selection:[] selection: [],
} tabId:1,
TransferMsg: {
CustomerIds: "",
EmpId: ""
},
//员工列表
employeeList: [],
myEmployeeList: [],
isShowTrans: false
};
}, },
created() { created() {
this.initAuth(); this.initAuth();
this.getEmployeeList();
}, },
mounted() {}, mounted() {},
methods: { methods: {
...@@ -176,7 +306,10 @@ ...@@ -176,7 +306,10 @@
if (this.authObj.isShowAudit != null && this.authObj.isShowAudit) { if (this.authObj.isShowAudit != null && this.authObj.isShowAudit) {
this.AuthorityObj.isShowAudit = this.authObj.isShowAudit; this.AuthorityObj.isShowAudit = this.authObj.isShowAudit;
} }
if (this.authObj.isShowBankBook != null && this.authObj.isShowBankBook) { if (
this.authObj.isShowBankBook != null &&
this.authObj.isShowBankBook
) {
this.AuthorityObj.isShowBankBook = this.authObj.isShowBankBook; this.AuthorityObj.isShowBankBook = this.authObj.isShowBankBook;
} }
if (this.authObj.isShowRebate != null && this.authObj.isShowRebate) { if (this.authObj.isShowRebate != null && this.authObj.isShowRebate) {
...@@ -187,33 +320,38 @@ ...@@ -187,33 +320,38 @@
//新增或者修改客户 //新增或者修改客户
EditCustom(obj) { EditCustom(obj) {
if (obj) { if (obj) {
this.customerObj = obj this.customerObj = obj;
} else { } else {
this.customerObj = null this.customerObj = null;
} }
this.isShowCustomForm = true this.isShowCustomForm = true;
}, },
//客户审核 //客户审核
AuditCustomer(obj, Type) { AuditCustomer(obj, Type) {
if (obj) { if (obj) {
this.customerObj = obj this.customerObj = obj;
this.customerObj.Type = Type; this.customerObj.Type = Type;
} else { } else {
this.customerObj = null this.customerObj = null;
} }
this.isShowRightForm = true this.isShowRightForm = true;
}, },
//客户详情 //客户详情
showDetail(row) { showDetail(row,tabId=1) {
this.curRowId=row.CustomerId this.curRowId = row.CustomerId;
this.isShowDetailForm = true this.tabId=tabId
this.isShowDetailForm = true;
}, },
//删除客户 //删除客户
RemoveCustomer(obj) { RemoveCustomer(obj) {
let that = this; let that = this;
var message = "您正在进行删除【" + obj.CustomerName + "】行为,一旦执行无法找回,是否确认执行?";; var message =
this.$q.dialog({ "您正在进行删除【" +
obj.CustomerName +
"】行为,一旦执行无法找回,是否确认执行?";
this.$q
.dialog({
title: "删除客户", title: "删除客户",
message: message, message: message,
isShowEditClassRoomForm: true, isShowEditClassRoomForm: true,
...@@ -226,22 +364,23 @@ ...@@ -226,22 +364,23 @@
flat: true, flat: true,
focus: true focus: true
} }
}).onOk(() => { })
.onOk(() => {
var delMsg = { var delMsg = {
CustomerId: obj.CustomerId, CustomerId: obj.CustomerId
}; };
RemoveCustomer(delMsg).then(res => { RemoveCustomer(delMsg).then(res => {
if (res.Code == 1) { if (res.Code == 1) {
that.$q.notify({ that.$q.notify({
icon: 'iconfont icon-chenggong', icon: "iconfont icon-chenggong",
color: 'accent', color: "accent",
timeout: 2000, timeout: 2000,
message: '操作成功', message: "操作成功",
position: 'top' position: "top"
}) });
that.refreshQuestion(); that.refreshQuestion();
} }
}) });
}); });
}, },
//关闭弹窗 //关闭弹窗
...@@ -251,20 +390,53 @@ ...@@ -251,20 +390,53 @@
this.isShowDetailForm = false; this.isShowDetailForm = false;
}, },
refreshQuestion() { refreshQuestion() {
this.$emit('success'); this.$emit("success");
}, },
//跳转到幸福存折 //跳转到幸福存折
gohappyPassbook(item) { // gohappyPassbook(item) {
this.OpenNewUrl('/sale/happyPassbook', { // this.OpenNewUrl("/sale/happyPassbook", {
CustomerId: item.CustomerId, // CustomerId: item.CustomerId
// });
// },
//跳转到返佣管理
// gohappyCommisson(item) {
// this.OpenNewUrl("/sale/commsionManagement", {
// CustomerId: item.CustomerId
// });
// },
//同业转交
saveTransForm() {
this.$refs.transfer.validate();
if(this.$refs.transfer.hasError) return
this.TransferMsg.CustomerIds=this.selection.map(e=>e.CustomerId).toString()
setCustomerCareOf(this.TransferMsg).then(res => {
this.$q.notify({
icon: "iconfont icon-chenggong",
color: "accent",
timeout: 2000,
message: "转交成功",
position: "top"
});
this.isShowTrans = false;
}); });
}, },
//跳转到返佣管理 //获取员工列表
gohappyCommisson(item) { getEmployeeList() {
this.OpenNewUrl('/sale/commsionManagement', { queryEmployee({
CustomerId: item.CustomerId, IsLeave: 1
}).then(res => {
this.employeeList = res.Data;
this.myEmployeeList = res.Data;
}); });
}, },
//筛选员工
filterEmployee(val, update, abort) {
update(() => {
this.myEmployeeList = this.employeeList.filter(
v => v.EmployeeName.indexOf(val) > -1
);
});
} }
} }
};
</script> </script>
...@@ -59,6 +59,7 @@ ...@@ -59,6 +59,7 @@
ContactNumber: "", //联系电话 ContactNumber: "", //联系电话
ApproveState: "", //审核状态 ApproveState: "", //审核状态
CustomerState: "", //账号状态 CustomerState: "", //账号状态
CustomerId:0,
}, },
loading: false, loading: false,
//审核状态列表 //审核状态列表
...@@ -80,6 +81,9 @@ ...@@ -80,6 +81,9 @@
}, },
created() {}, created() {},
mounted() { mounted() {
if(this.$route.query.CustomerId){
this.msg.CustomerId=this.$route.query.CustomerId
}
this.getList(); this.getList();
}, },
methods: { methods: {
......
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