Commit fc4750ee authored by 罗超's avatar 罗超

同业管理修改

parent e9cfccfb
...@@ -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>
This diff is collapsed.
...@@ -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