Commit 50b791cf authored by 罗超's avatar 罗超

1

parent 3ff9efb1
......@@ -26,6 +26,16 @@
</div>
</div>
<q-space />
<!-- && AuthorityObj.isShowEdit -->
<q-btn
size="sm"
icon="delete"
color="accent"
label="删除"
class="q-mr-md"
v-if="detailData.ApproveState == 0"
@click="RemoveCustomer"
/>
<q-btn
color="accent"
size="sm"
......@@ -79,8 +89,7 @@
</q-dialog>
</template>
<script>
import { GetCustomer, SetCustomer } from "../../../api/sale/peemanagement";
import { setCustomerCareOf } from "../../../api/sale/peemanagement";
import { GetCustomer, SetCustomer ,RemoveCustomer,setCustomerCareOf} from "../../../api/sale/peemanagement";
import baseInfo from "./baseInfo.vue";
import right from "./conRight.vue";
export default {
......@@ -97,13 +106,13 @@ export default {
type: Object,
default: null
},
empList:{
type:Array,
default:()=>[]
empList: {
type: Array,
default: () => []
},
tabId:{
type:Number,
default:1
tabId: {
type: Number,
default: 1
}
},
data() {
......@@ -113,6 +122,7 @@ export default {
CustomerId: 0,
CustomerName: "",
ContactNumber: "",
ApproveState:0,
Sex: 1,
Fax: "",
QQ: "",
......@@ -127,20 +137,20 @@ export default {
CustomerType: 1,
EnterpriseName: ""
},
//员工列表
//员工列表
employeeList: [],
myEmployeeList: [],
isShowTrans: false,
TransferMsg: {
CustomerIds: "",
EmpId: ""
},
}
};
},
mounted() {
this.initObj();
this.employeeList=this.empList
this.myEmployeeList=this.empList
this.employeeList = this.empList;
this.myEmployeeList = this.empList;
},
methods: {
//关闭弹窗
......@@ -158,6 +168,7 @@ export default {
if (res.Code == 1) {
let tempData = res.Data;
this.detailData.CustomerId = tempData.CustomerId;
this.detailData.ApproveState = tempData.ApproveState;
this.detailData.CustomerName = tempData.CustomerName;
this.detailData.ContactNumber = tempData.ContactNumber;
this.detailData.Sex = tempData.Sex;
......@@ -177,6 +188,7 @@ export default {
});
} else {
this.detailData.CustomerId = 0;
this.detailData.ApproveState =0
this.detailData.CustomerName = "";
this.detailData.ContactNumber = "";
this.detailData.Sex = 1;
......@@ -213,7 +225,7 @@ export default {
saveTransForm() {
this.$refs.transfer.validate();
if (this.$refs.transfer.hasError) return;
this.TransferMsg.CustomerIds = this.rowId
this.TransferMsg.CustomerIds = this.rowId;
setCustomerCareOf(this.TransferMsg).then(res => {
this.$q.notify({
icon: "iconfont icon-chenggong",
......@@ -223,6 +235,7 @@ export default {
position: "top"
});
this.isShowTrans = false;
this.$emit("success");
});
},
//筛选员工
......@@ -232,7 +245,48 @@ export default {
v => v.EmployeeName.indexOf(val) > -1
);
});
}
},
//删除客户
RemoveCustomer(obj) {
let that = this;
var message =
"您正在进行删除【" +
this.detailData.CustomerName +
"】行为,一旦执行无法找回,是否确认执行?";
this.$q
.dialog({
title: "删除客户",
message: message,
isShowEditClassRoomForm: true,
cancel: {
label: "取消",
flat: true
},
ok: {
label: "确认",
flat: true,
focus: true
}
})
.onOk(() => {
var delMsg = {
CustomerId: this.detailData.CustomerId
};
RemoveCustomer(delMsg).then(res => {
if (res.Code == 1) {
that.$q.notify({
icon: "iconfont icon-chenggong",
color: "accent",
timeout: 2000,
message: "操作成功",
position: "top"
});
that.$emit("success");
that.closeAuditCustomerForm()
}
});
});
},
}
};
</script>
......
......@@ -93,6 +93,11 @@
<div class="flex no-wrap justify-between items-center q-my-lg" v-else @click="showEdit('Address')">
<span style="white-space:nowrap">详细地址</span>
<span style="max-width:60%" class="ellepsis">{{Data.Address}}</span>
</div>
<!-- 市场专员 -->
<div class="flex justify-between items-center q-my-lg">
<span>市场专员</span>
<span class="text-grey-6">{{Data.CreateByName}}</span>
</div>
<!-- OpenId -->
<div class="flex justify-between items-center q-my-lg">
......
<template>
<div>
<q-timeline color="secondary" v-if="logList.length>0">
<q-timeline-entry v-for="(item,index) in logList" :key="index" :title="item.CreateByName">
<q-timeline-entry v-for="(item,index) in logList" :key="index" >
<template #subtitle>
<div>
<span>{{item.DayStr}}</span><span class="q-ml-md">{{item.TimeStr}}</span><span class="q-ml-md" v-if="item.WeekDay">{{item.WeekDay}}</span>
<div class="flex justify-between">
<div>
<span>{{item.DayStr}}</span><span class="q-ml-md">{{item.TimeStr}}</span>
</div>
<div>{{item.CreateByName}}</div>
</div>
</template>
<div>
......
<template>
<div class=" myOrder q-pb-lg">
<div class="row q-my-xs">
<div class="col-6">
<q-input
@input="resetSearch"
clearable
filled
v-model="msg.OrderId"
label="订单号"
dense
maxlength="10"
/>
</div>
</div>
<div class="row wrap q-gutter-xs q-my-xs" v-if="data.Statistics">
<div class=" stics">
<span class="stics-name">应收款</span>
......@@ -23,16 +36,8 @@
<span class="stics-name">取消人数</span>
<span>{{ data.Statistics.CancelNum }}</span>
</div>
<div class=" stics">
<span class="stics-name">提成金额</span>
<span>{{ data.Statistics.CommissionMoney }}</span>
</div>
<div class=" stics">
<span class="stics-name">额外奖励</span>
<span>{{ data.Statistics.ExtraRewardMoney }}</span>
</div>
</div>
<div style="width:100%;overflow:auto">
<orderlist
:dataList="data.List"
......@@ -141,8 +146,7 @@ export default {
AllemployeeList: [],
TeacherList: [], //关联教师
AllTeacherList: [],
CourseSubjectList: [], //科目列表
CourseSubjectList: [] //科目列表
};
},
created() {
......@@ -176,7 +180,6 @@ export default {
this.getList();
this.getEmployee(0);
this.getglteacher();
},
methods: {
queryCourseSubject() {
......@@ -387,7 +390,7 @@ li {
}
.myOrder .stics {
padding:5px 10px ;
padding: 5px 10px;
background: #dddee0;
border-radius: 4px;
font-size: 14px;
......
......@@ -18,6 +18,16 @@
<span>{{ data.NotSettlementMoney }}</span>
</div>
</div>
<q-tabs
v-model="tabs"
active-color="primary"
align="left"
style="width:180px;"
class="q-my-xs"
>
<q-tab :name="1" label="返佣明细" />
<q-tab :name="2" label="提现记录" />
</q-tabs>
<q-table
:pagination="msg"
:loading="loading"
......@@ -28,6 +38,7 @@
:data="dataList"
:columns="columns"
row-key="name"
v-if="tabs==1"
>
<template v-slot:body-cell-ClassName="props">
<q-td :props="props" style="padding-right: 0px">
......@@ -45,6 +56,7 @@
/>
</template>
</q-table>
<withdraw v-if="tabs==2" :Type="2"></withdraw>
</div>
</template>
<script>
......@@ -52,7 +64,11 @@ import {
getCustomerCommissionPassbook,
GetCustomerBalanceDetailPage
} from "../../../api/sale/peemanagement";
import withdraw from './withdraw'
export default {
components:{
withdraw
},
props: {
Id: {
type: Number,
......@@ -128,7 +144,8 @@ export default {
field: "UpdateTimeStr",
align: "left"
}
]
],
tabs:1,
};
},
mounted() {
......
......@@ -18,6 +18,16 @@
<span>{{ data.NotSettlementMoney }}</span>
</div>
</div>
<q-tabs
v-model="tabs"
active-color="primary"
align="left"
style="width:180px;"
class="q-my-xs"
>
<q-tab :name="1" label="返佣明细" />
<q-tab :name="2" label="提现记录" />
</q-tabs>
<q-table
:pagination="msg"
:loading="loading"
......@@ -28,6 +38,7 @@
:data="dataList"
:columns="columns"
row-key="name"
v-if="tabs==1"
>
<template v-slot:body-cell-ClassName="props">
<q-td :props="props" style="padding-right: 0px">
......@@ -45,6 +56,7 @@
/>
</template>
</q-table>
<withdraw v-if="tabs==2" :Type="1"></withdraw>
</div>
</template>
<script>
......@@ -52,7 +64,11 @@ import {
getCustomerCommissionPassbook,
GetCustomerBalanceDetailPage
} from "../../../api/sale/peemanagement";
import withdraw from './withdraw'
export default {
components:{
withdraw
},
props: {
Id: {
//1返佣 2幸福存折
......@@ -129,7 +145,8 @@ export default {
field: "UpdateTimeStr",
align: "left"
}
]
],
tabs:1
};
},
mounted() {
......
This diff is collapsed.
......@@ -16,10 +16,11 @@
flat
selection="multiple"
:selected.sync="selection"
class="sticky-column-table sticky-right-column-table "
:class="sticky"
separator="none"
:data="dataList"
:columns="columns"
:visible-columns="visibleColumns"
row-key="CustomerId"
>
<template v-slot:top="props">
......@@ -78,14 +79,14 @@
</template>
<template v-slot:body-cell-StuNum="props">
<q-td>
<div class="CustomerName" @click="showDetail(props.row,2)">
<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)">
<div class="CustomerName" @click="showDetail(props.row, 3)">
{{ props.row.OrderNum }}
</div>
</q-td>
......@@ -113,7 +114,7 @@
/>
<!-- <q-btn flat size="xs"
icon="edit" color="accent" style="font-weight:400" label="编辑" @click="EditCustom(props.row)" /> -->
<q-btn
<!-- <q-btn
flat
v-if="props.row.ApproveState == 0 && AuthorityObj.isShowEdit"
size="xs"
......@@ -122,7 +123,7 @@
style="font-weight:400"
label="删除"
@click="RemoveCustomer(props.row)"
/>
/> -->
<!-- <q-btn
flat
v-if="AuthorityObj.isShowBankBook"
......@@ -189,9 +190,17 @@ export default {
type: Object,
default: null
},
empList:{
type:Array,
default:()=>[]
empList: {
type: Array,
default: () => []
},
visibleColumns: {
type: Array,
default: () => []
},
sticky:{
type:String,
default:""
}
},
components: {
......@@ -250,7 +259,12 @@ export default {
field: "ApproveStateStr",
align: "left"
},
{
name: "CreateByName",
label: "市场专员",
field: "CreateByName",
align: "left"
},
{
name: "CreateTimeStr",
label: "加入时间",
......@@ -280,7 +294,7 @@ export default {
isShowRebate: false //是否显示返佣
},
selection: [],
tabId:1,
tabId: 1,
TransferMsg: {
CustomerIds: "",
EmpId: ""
......@@ -338,9 +352,9 @@ export default {
this.isShowRightForm = true;
},
//客户详情
showDetail(row,tabId=1) {
showDetail(row, tabId = 1) {
this.curRowId = row.CustomerId;
this.tabId=tabId
this.tabId = tabId;
this.isShowDetailForm = true;
},
//删除客户
......@@ -393,22 +407,24 @@ export default {
this.$emit("success");
},
//跳转到幸福存折
// gohappyPassbook(item) {
// this.OpenNewUrl("/sale/happyPassbook", {
// CustomerId: item.CustomerId
// });
// },
gohappyPassbook(item) {
this.OpenNewUrl("/sale/happyPassbook", {
CustomerId: item.CustomerId
});
},
//跳转到返佣管理
// gohappyCommisson(item) {
// this.OpenNewUrl("/sale/commsionManagement", {
// 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()
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",
......@@ -417,7 +433,8 @@ export default {
message: "转交成功",
position: "top"
});
this.isShowTrans = false;
this.isShowTrans = false;
this.selection = [];
});
},
//获取员工列表
......
<style>
.page-content p {
margin: 0 !important;
}
.quetion_Title {
background: transparent !important;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
width: 400px;
}
.page-content p {
margin: 0 !important;
}
.quetion_Title {
background: transparent !important;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
width: 400px;
}
</style>
<template>
<div class="page-body">
<div class="page-search row items-center">
<div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-3">
<q-input @input="resetSearch" filled clearable v-model="msg.CustomerName" label="同业名称" maxlength="20" />
<q-input
@input="resetSearch"
filled
clearable
v-model="msg.CustomerName"
label="同业名称"
maxlength="20"
/>
</div>
<div class="col-3">
<q-input @input="resetSearch" filled clearable v-model="msg.CustomerId" label="同业ID" maxlength="20" />
<q-input
@input="resetSearch"
filled
clearable
v-model="msg.CustomerId"
label="同业ID"
maxlength="20"
/>
</div>
<div class="col-3">
<q-input @input="resetSearch" filled clearable v-model="msg.ContactNumber" label="电话" maxlength="20" />
<q-input
@input="resetSearch"
filled
clearable
v-model="msg.ContactNumber"
label="电话"
maxlength="20"
/>
</div>
<div class="col-3">
<q-select @input="resetSearch" clearable filled v-model="msg.ApproveState" :options="ApproveStateList"
emit-value map-options label="审核状态" />
<q-select
@input="resetSearch"
clearable
filled
v-model="msg.ApproveState"
:options="ApproveStateList"
emit-value
map-options
label="审核状态"
/>
</div>
</div>
</div>
<div class="page-content">
<div>
<q-tabs style="margin-bottom:20px;" v-model="tabCheck" @input="resetSearch()" narrow-indicator dense
align="left" class="text-primary">
<q-tabs
style="margin-bottom:20px;"
v-model="tabCheck"
@input="resetSearch()"
narrow-indicator
dense
align="left"
class="text-primary"
>
<q-tab :ripple="false" :name="1" label="正式客户" />
<q-tab :ripple="false" :name="2" label="非正式客户" />
<q-tab :ripple="false" :name="3" label="未通过客户" />
<q-tab :ripple="false" :name="4" label="黑名单客户" />
</q-tabs>
</div>
<b2bcustomlist :dataList="dataList" :authObj="authObj" :loading="loading" @success="getList"></b2bcustomlist>
<q-pagination class="full-width justify-end" v-model="msg.pageIndex" color="primary" :max="pageCount"
:input="true" @input="changePage" />
<b2bcustomlist
:dataList="dataList"
:authObj="authObj"
:loading="loading"
@success="getList"
:visibleColumns="visibleColumns"
sticky="sticky-tow-column-table "
></b2bcustomlist>
<q-pagination
class="full-width justify-end"
v-model="msg.pageIndex"
color="primary"
:max="pageCount"
:input="true"
@input="changePage"
/>
</div>
</div>
</template>
<script>
import {
GetCustomerPage,
RemoveCustomer
} from '../../api/sale/peemanagement';
import b2bcustomlist from '../../components/sale/b2bcustomlist';
export default {
meta: {
title: "同行管理"
},
components: {
b2bcustomlist
},
data() {
return {
pageCount: 0,
msg: {
pageIndex: 1,
pageSize: 12,
rowsPerPage: 12,
CustomerName: '', //客户名称
ContactNumber: "", //联系电话
ApproveState: "", //审核状态
QCustomerState: "", //账号状态
import { GetCustomerPage, RemoveCustomer } from "../../api/sale/peemanagement";
import b2bcustomlist from "../../components/sale/b2bcustomlist";
export default {
meta: {
title: "同行管理"
},
components: {
b2bcustomlist
},
data() {
return {
pageCount: 0,
msg: {
pageIndex: 1,
pageSize: 12,
rowsPerPage: 12,
CustomerName: "", //客户名称
ContactNumber: "", //联系电话
ApproveState: "", //审核状态
QCustomerState: "" //账号状态
},
loading: false,
visibleColumns: [
"CustomerName",
"CustomerType",
"EnterpriseName",
"ContactNumber",
"StuNum",
"OrderNum",
"OrderSales",
"ApproveStateStr",
"CreateByName",
"CreateTimeStr",
"optioned"
],
tabCheck: 1,
//审核状态列表
ApproveStateList: [
{
label: "通过",
value: "1"
},
loading: false,
tabCheck: 1,
//审核状态列表
ApproveStateList: [{
label: "通过",
value: "1",
},
{
label: "拒绝",
value: "2",
},
],
dataList: [],
//判断显示
authObj: {
isShowEdit: true, //显示新增、修改、删除
isShowBankBook: true, //显示幸福存折
isShowRebate: true, //是否显示返佣
{
label: "拒绝",
value: "2"
}
],
dataList: [],
//判断显示
authObj: {
isShowEdit: true, //显示新增、修改、删除
isShowBankBook: true, //显示幸福存折
isShowRebate: true //是否显示返佣
}
};
},
created() {},
mounted() {
this.getList();
},
methods: {
//重新查询
resetSearch() {
this.msg.pageIndex = 1;
this.getList();
},
created() {},
mounted() {
//翻页
changePage(val) {
this.msg.pageIndex = val;
this.getList();
},
methods: {
//重新查询
resetSearch() {
this.msg.pageIndex = 1;
this.getList();
},
//翻页
changePage(val) {
this.msg.pageIndex = val;
this.getList()
},
//获取分页数据
getList() {
this.msg.QCustomerState = this.tabCheck;
GetCustomerPage(this.msg).then(res => {
//获取分页数据
getList() {
this.msg.QCustomerState = this.tabCheck;
GetCustomerPage(this.msg)
.then(res => {
this.dataList = res.Data.PageData;
this.loading = false;
this.pageCount = res.Data.PageCount;
}).catch(() => {
this.loading = false
})
}
.catch(() => {
this.loading = false;
});
}
}
};
</script>
<style lang="sass">
@import url('~assets/css/table.sass')
@import url('~assets/css/table.sass')
</style>
<style>
.page-content p {
margin: 0 !important;
}
.quetion_Title {
background: transparent !important;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
width: 400px;
.page-content p {
margin: 0 !important;
}
}
.quetion_Title {
background: transparent !important;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
width: 400px;
}
</style>
<template>
<div class="page-body">
<div class="page-search row items-center">
<div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-3">
<q-input @input="resetSearch" filled clearable v-model="msg.CustomerName" label="客户名称" maxlength="20" />
<q-input
@input="resetSearch"
filled
clearable
v-model="msg.CustomerName"
label="客户名称"
maxlength="20"
/>
</div>
<div class="col-3">
<q-input @input="resetSearch" filled clearable v-model="msg.ContactNumber" label="联系电话" maxlength="20" />
<q-input
@input="resetSearch"
filled
clearable
v-model="msg.ContactNumber"
label="联系电话"
maxlength="20"
/>
</div>
<div class="col-3">
<q-select @input="resetSearch" clearable filled v-model="msg.ApproveState" :options="ApproveStateList"
emit-value map-options label="审核状态" />
<q-select
@input="resetSearch"
clearable
filled
v-model="msg.ApproveState"
:options="ApproveStateList"
emit-value
map-options
label="审核状态"
/>
</div>
</div>
</div>
<div class="page-content">
<b2bcustomlist :dataList="dataList" :authObj="authObj" :loading="loading" @success="getList"></b2bcustomlist>
<q-pagination class="full-width justify-end" v-model="msg.pageIndex" color="primary" :max="pageCount"
:input="true" @input="changePage" />
<b2bcustomlist
:dataList="dataList"
:authObj="authObj"
:loading="loading"
@success="getList"
:visibleColumns="visibleColumns"
sticky="sticky-right-column-table"
></b2bcustomlist>
<q-pagination
class="full-width justify-end"
v-model="msg.pageIndex"
color="primary"
:max="pageCount"
:input="true"
@input="changePage"
/>
</div>
</div>
</template>
<script>
import {
GetCustomerPage,
RemoveCustomer
} from '../../api/sale/peemanagement';
import b2bcustomlist from '../../components/sale/b2bcustomlist';
export default {
meta: {
title: "同行审批"
},
components: {
b2bcustomlist
},
data() {
return {
pageCount: 0,
msg: {
pageIndex: 1,
pageSize: 12,
rowsPerPage: 12,
CustomerName: '', //客户名称
ContactNumber: "", //联系电话
ApproveState: "", //审核状态
CustomerState: "", //账号状态
CustomerId:0,
import { GetCustomerPage, RemoveCustomer } from "../../api/sale/peemanagement";
import b2bcustomlist from "../../components/sale/b2bcustomlist";
export default {
meta: {
title: "同行审批"
},
components: {
b2bcustomlist
},
data() {
return {
pageCount: 0,
msg: {
pageIndex: 1,
pageSize: 12,
rowsPerPage: 12,
CustomerName: "", //客户名称
ContactNumber: "", //联系电话
ApproveState: "", //审核状态
CustomerState: "", //账号状态
CustomerId: 0
},
loading: false,
visibleColumns: [
"CustomerName",
"CustomerType",
"EnterpriseName",
"ContactNumber",
"StuNum",
"OrderNum",
"OrderSales",
"ApproveStateStr",
"CreateByName",
"CreateTimeStr",
"optioned"
],
//审核状态列表
ApproveStateList: [
{
label: "通过",
value: "1"
},
loading: false,
//审核状态列表
ApproveStateList: [{
label: "通过",
value: "1",
},
{
label: "拒绝",
value: "2",
},
],
dataList: [],
//判断显示
authObj: {
isShowAudit: true,
{
label: "拒绝",
value: "2"
}
],
dataList: [],
//判断显示
authObj: {
isShowAudit: true
}
},
created() {},
mounted() {
if(this.$route.query.CustomerId){
this.msg.CustomerId=this.$route.query.CustomerId
};
},
created() {},
mounted() {
if (this.$route.query.CustomerId) {
this.msg.CustomerId = this.$route.query.CustomerId;
}
this.getList();
},
methods: {
//重新查询
resetSearch() {
this.msg.pageIndex = 1;
this.getList();
},
methods: {
//重新查询
resetSearch() {
this.msg.pageIndex = 1;
this.getList();
},
//翻页
changePage(val) {
this.msg.pageIndex = val;
this.getList()
},
//获取分页数据
getList() {
GetCustomerPage(this.msg).then(res => {
//翻页
changePage(val) {
this.msg.pageIndex = val;
this.getList();
},
//获取分页数据
getList() {
GetCustomerPage(this.msg)
.then(res => {
this.dataList = res.Data.PageData;
this.loading = false;
this.pageCount = res.Data.PageCount;
}).catch(() => {
this.loading = false
})
}
.catch(() => {
this.loading = false;
});
}
}
};
</script>
<style lang="sass">
@import url('~assets/css/table.sass')
</style>
\ No newline at end of file
@import url('~assets/css/table.sass')
</style>
......@@ -333,6 +333,5 @@ export default {
}
</script>
<style lang="sass">
@import url('~assets/css/table.sass')
</style>
\ No newline at end of file
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