feature_0521
zhenghuang 6 years ago
parent f19cd852a2
commit 3e4f825467

@ -1,193 +1,194 @@
<template> <template>
<div> <div>
<Tabs active-key="key1" @on-click="onTabClick"> <Tabs active-key="key1"
<Tab-pane label="待审核" key="key1"> @on-click="onTabClick">
<Tab-pane label="待审核"
key="key1">
<Row class="search-row"> <Row class="search-row">
<i-col span="24" class="search-col"> <i-col span="24"
class="search-col">
<Row class="row-style"> <Row class="row-style">
<i-input placeholder="请输入推广员姓名或手机号" class="search-select" v-model="searchShop" /> <i-input placeholder="请输入推广员姓名或手机号"
class="search-select"
v-model="searchShop" />
<span class="search-span">选择日期</span> <span class="search-span">选择日期</span>
<DatePicker <DatePicker :value="selectDate"
:value="selectDate"
type="daterange" type="daterange"
split-panels split-panels
placeholder="请选择日期" placeholder="请选择日期"
@on-change="onChangeDateLister" @on-change="onChangeDateLister"
class="date-picker" class="date-picker"></DatePicker>
></DatePicker>
<span class="search-span">零售公司</span> <span class="search-span">零售公司</span>
<Select <Select v-model="companyId"
v-model="companyId"
filterable filterable
class="search-select" class="search-select"
@on-change="companySelect" @on-change="companySelect">
> <Option v-for="(item,index) in companyList"
<Option
v-for="(item,index) in companyList"
:value="item.id" :value="item.id"
:key="index + item.id" :key="index + item.id">{{ item.name }}</Option>
>{{ item.name }}</Option>
</Select> </Select>
<span class="search-span">店铺</span> <span class="search-span">店铺</span>
<Select v-model="selectedStore" filterable class="search-select"> <Select v-model="selectedStore"
<Option filterable
v-for="(item,index) in shopList" class="search-select">
<Option v-for="(item,index) in shopList"
:value="item.id" :value="item.id"
:key="index + item.id" :key="index + item.id">{{ item.name }}</Option>
>{{ item.name }}</Option>
</Select> </Select>
<Button type="primary" @click="searchCustomerDataBtnClick" class="search-btn">查询</Button> <Button type="primary"
@click="searchCustomerDataBtnClick"
class="search-btn">查询</Button>
</Row> </Row>
</i-col> </i-col>
</Row> </Row>
<Table <Table ref="table"
ref="table"
:loading="loading" :loading="loading"
:columns="columns1" :columns="columns1"
:data="data1" :data="data1"
class="table-store" class="table-store"
size="small" size="small"
@on-row-dblclick="onDblClickRowLister" @on-row-dblclick="onDblClickRowLister">
> <template slot="action"
<template slot="action" slot-scope="{row}"> slot-scope="{row}">
<i-col span="12"> <i-col span="12">
<Button type="success" class="router-btn" @click="() => {passShow(row)}">审核通过</Button> <Button type="success"
class="router-btn"
@click="() => {passShow(row)}">审核通过</Button>
</i-col> </i-col>
<i-col span="12"> <i-col span="12">
<Button type="error" class="router-btn" @click="() => {refuseShow(row)}">审核不通过</Button> <Button type="error"
class="router-btn"
@click="() => {refuseShow(row)}">审核不通过</Button>
</i-col> </i-col>
</template> </template>
</Table> </Table>
</Tab-pane> </Tab-pane>
<Tab-pane label="通过审核" key="key2"> <Tab-pane label="通过审核"
key="key2">
<Row class="search-row"> <Row class="search-row">
<i-col span="24" class="search-col"> <i-col span="24"
class="search-col">
<Row class="row-style"> <Row class="row-style">
<i-input placeholder="请输入推广员姓名或手机号" class="search-select" v-model="searchShop" /> <i-input placeholder="请输入推广员姓名或手机号"
class="search-select"
v-model="searchShop" />
<span class="search-span">选择日期</span> <span class="search-span">选择日期</span>
<DatePicker <DatePicker v-model="date"
v-model="date"
class="left-15 date-picker" class="left-15 date-picker"
type="date" type="date"
placement="bottom-start" placement="bottom-start"
split-panels split-panels
placeholder="请选择日期" placeholder="请选择日期"></DatePicker>
></DatePicker>
<span class="search-span">零售公司</span> <span class="search-span">零售公司</span>
<Select <Select v-model="companyId"
v-model="companyId"
filterable filterable
class="search-select" class="search-select"
@on-change="companySelect" @on-change="companySelect">
> <Option v-for="(item,index) in companyList"
<Option
v-for="(item,index) in companyList"
:value="item.id" :value="item.id"
:key="index + item.id" :key="index + item.id">{{ item.name }}</Option>
>{{ item.name }}</Option>
</Select> </Select>
<span class="search-span">店铺</span> <span class="search-span">店铺</span>
<Select v-model="selectedStore" filterable class="search-select"> <Select v-model="selectedStore"
<Option filterable
v-for="(item,index) in shopList" class="search-select">
<Option v-for="(item,index) in shopList"
:value="item.id" :value="item.id"
:key="index + item.id" :key="index + item.id">{{ item.name }}</Option>
>{{ item.name }}</Option>
</Select> </Select>
<Button type="primary" @click="searchCustomerDataBtnClick" class="search-btn">查询</Button> <Button type="primary"
@click="searchCustomerDataBtnClick"
class="search-btn">查询</Button>
</Row> </Row>
</i-col> </i-col>
</Row> </Row>
<Table <Table ref="table1"
ref="table"
:loading="loading" :loading="loading"
:columns="columns2" :columns="columns2"
:data="data2" :data="data2"
class="table-store" class="table-store"
size="small" size="small"
@on-row-dblclick="onDblClickRowLister" @on-row-dblclick="onDblClickRowLister"></Table>
></Table>
</Tab-pane> </Tab-pane>
<Tab-pane label="审核未通过" key="key3"> <Tab-pane label="审核未通过"
key="key3">
<Row class="search-row"> <Row class="search-row">
<i-col span="24" class="search-col"> <i-col span="24"
class="search-col">
<Row class="row-style"> <Row class="row-style">
<i-input placeholder="请输入推广员姓名或手机号" class="search-select" v-model="searchShop" /> <i-input placeholder="请输入推广员姓名或手机号"
class="search-select"
v-model="searchShop" />
<span class="search-span">选择日期</span> <span class="search-span">选择日期</span>
<DatePicker <DatePicker v-model="date"
v-model="date"
class="left-15 date-picker" class="left-15 date-picker"
type="date" type="date"
placement="bottom-start" placement="bottom-start"
split-panels split-panels
placeholder="请选择日期" placeholder="请选择日期"></DatePicker>
></DatePicker>
<span class="search-span">零售公司</span> <span class="search-span">零售公司</span>
<Select <Select v-model="companyId"
v-model="companyId"
filterable filterable
class="search-select" class="search-select"
@on-change="companySelect" @on-change="companySelect">
> <Option v-for="(item,index) in companyList"
<Option
v-for="(item,index) in companyList"
:value="item.id" :value="item.id"
:key="index + item.id" :key="index + item.id">{{ item.name }}</Option>
>{{ item.name }}</Option>
</Select> </Select>
<span class="search-span">店铺</span> <span class="search-span">店铺</span>
<Select v-model="selectedStore" filterable class="search-select"> <Select v-model="selectedStore"
<Option filterable
v-for="(item,index) in shopList" class="search-select">
<Option v-for="(item,index) in shopList"
:value="item.id" :value="item.id"
:key="index + item.id" :key="index + item.id">{{ item.name }}</Option>
>{{ item.name }}</Option>
</Select> </Select>
<Button type="primary" @click="searchCustomerDataBtnClick" class="search-btn">查询</Button> <Button type="primary"
@click="searchCustomerDataBtnClick"
class="search-btn">查询</Button>
</Row> </Row>
</i-col> </i-col>
</Row> </Row>
<Table <Table ref="table2"
ref="table"
:loading="loading" :loading="loading"
:columns="columns3" :columns="columns3"
:data="data3" :data="data3"
class="table-store" class="table-store"
size="small" size="small"
@on-row-dblclick="onDblClickRowLister" @on-row-dblclick="onDblClickRowLister"></Table>
></Table>
</Tab-pane> </Tab-pane>
</Tabs> </Tabs>
<!-- 拒绝 --> <!-- 拒绝 -->
<Modal <Modal v-model="refuseIsShow"
v-model="refuseIsShow"
:title="showStoreName" :title="showStoreName"
:footer-hide="true" :footer-hide="true"
width="600" width="600"
class-name="vertical-center-modal" class-name="vertical-center-modal"
@on-ok="ok" @on-ok="ok">
>
<div slot="header"> <div slot="header">
<p>审核不通过原因</p> <p>审核不通过原因</p>
</div> </div>
<div> <div>
<i-input v-model="remark" type="textarea" :rows="4" placeholder="请填写审核不通过原因"></i-input> <i-input v-model="remark"
type="textarea"
:rows="4"
placeholder="请填写审核不通过原因"></i-input>
</div> </div>
<div style="margin-top:20px;text-align: center;"> <div style="margin-top:20px;text-align: center;">
<Button ghost type="primary" @click="refuse(rowData)"></Button> <Button ghost
type="primary"
@click="refuse(rowData)">确定</Button>
</div> </div>
</Modal> </Modal>
<!-- 升级 --> <!-- 升级 -->
<Modal <Modal v-model="passIsShow"
v-model="passIsShow"
:title="showStoreName" :title="showStoreName"
:footer-hide="true" :footer-hide="true"
width="600" width="600"
class-name="vertical-center-modal" class-name="vertical-center-modal"
@on-ok="ok" @on-ok="ok">
>
<div slot="header"> <div slot="header">
<p style="text-align: center;">确认审核</p> <p style="text-align: center;">确认审核</p>
</div> </div>
@ -196,20 +197,20 @@
</div> </div>
<div style="margin-top:20px;text-align: center;"> <div style="margin-top:20px;text-align: center;">
<Button @click="cancel(rowData)"></Button> <Button @click="cancel(rowData)"></Button>
<Button style="margin-left:20px" type="primary" @click="confirm(rowData)"></Button> <Button style="margin-left:20px"
type="primary"
@click="confirm(rowData)">确定</Button>
</div> </div>
</Modal> </Modal>
<Page <Page :total="total"
:total="total"
:current="pageNum" :current="pageNum"
:page-size="pageSize" :page-size="pageSize"
show-elevator show-elevator
show-total show-total
placement="top" placement="top"
@on-change="handlePage" @on-change="handlePage"
class-name="ks-page" class-name="ks-page"></Page>
></Page>
</div> </div>
</template> </template>
@ -268,6 +269,13 @@ export default {
return h("span", params.row.promoterInfo.phone); return h("span", params.row.promoterInfo.phone);
} }
}, },
{
title: "推广员身份证号",
width: 120,
render: (h, params) => {
return h("span", params.row.promoterInfo.idNo);
}
},
{ {
title: "零售公司", title: "零售公司",
width: 150, width: 150,
@ -343,6 +351,13 @@ export default {
return h("span", params.row.promoterInfo.phone); return h("span", params.row.promoterInfo.phone);
} }
}, },
{
title: "推广员身份证号",
width: 120,
render: (h, params) => {
return h("span", params.row.promoterInfo.idNo);
}
},
{ {
title: "零售公司", title: "零售公司",
width: 150, width: 150,
@ -421,6 +436,13 @@ export default {
return h("span", params.row.promoterInfo.phone); return h("span", params.row.promoterInfo.phone);
} }
}, },
{
title: "推广员身份证号",
width: 120,
render: (h, params) => {
return h("span", params.row.promoterInfo.idNo);
}
},
{ {
title: "零售公司", title: "零售公司",
width: 150, width: 150,
@ -474,7 +496,7 @@ export default {
title: "审核不通过原因", title: "审核不通过原因",
width: 120, width: 120,
render: (h, params) => { render: (h, params) => {
return h("span",params.row.fissionUser.remark); return h("span", params.row.remark);
} }
} }
], ],

@ -1,42 +1,68 @@
<template> <template>
<div> <div>
<Row class="search-row"> <Row class="search-row">
<i-col span="24" class="search-col"> <i-col span="24"
class="search-col">
<Row class="row-style"> <Row class="row-style">
<i-input placeholder="请输入推广员姓名或手机号" class="search-select" v-model="searchShop"/> <i-input placeholder="请输入推广员姓名或手机号"
class="search-select"
v-model="searchShop" />
<span class="search-span">选择日期</span> <span class="search-span">选择日期</span>
<DatePicker :value="selectDate" type="daterange" split-panels placeholder="请选择日期" <DatePicker :value="selectDate"
type="daterange"
split-panels
placeholder="请选择日期"
@on-change="onChangeDateLister" @on-change="onChangeDateLister"
class="date-picker"></DatePicker> class="date-picker"></DatePicker>
<span class="search-span">零售公司</span> <span class="search-span">零售公司</span>
<Select v-model="companyId" filterable class="search-select" @on-change="companySelect"> <Select v-model="companyId"
<Option v-for="(item,index) in companyList" :value="item.id" :key="index + item.id">{{ item.name }}</Option> filterable
class="search-select"
@on-change="companySelect">
<Option v-for="(item,index) in companyList"
:value="item.id"
:key="index + item.id">{{ item.name }}</Option>
</Select> </Select>
<span class="search-span">店铺</span> <span class="search-span">店铺</span>
<Select v-model="selectedStore" filterable class="search-select"> <Select v-model="selectedStore"
<Option v-for="(item,index) in shopList" :value="item.id" :key="index + item.id">{{ item.name }}</Option> filterable
class="search-select">
<Option v-for="(item,index) in shopList"
:value="item.id"
:key="index + item.id">{{ item.name }}</Option>
</Select> </Select>
<Button type="primary" @click="searchCustomerDataBtnClick" class="search-btn">查询</Button> <Button type="primary"
@click="searchCustomerDataBtnClick"
class="search-btn">查询</Button>
</Row> </Row>
</i-col> </i-col>
</Row> </Row>
<Table ref="table" :loading="loading" :columns="columns1" :data="data1" class="table-store" size="small" @on-row-dblclick="onDblClickRowLister"> <Table ref="table"
<template slot="action" slot-scope="{row}"> :loading="loading"
:columns="columns1"
:data="data1"
class="table-store"
size="small"
@on-row-dblclick="onDblClickRowLister">
<template slot="action"
slot-scope="{row}">
<i-col span="12"> <i-col span="12">
<Button type="success" class="router-btn" <Button type="success"
class="router-btn"
@click="() => {show(row)}">升级</Button> @click="() => {show(row)}">升级</Button>
</i-col> </i-col>
<i-col span="12"> <i-col span="12">
<Button type="text" class="router-btn" style="color:2DBCF0!important" <Button type="text"
class="router-btn"
style="color:2DBCF0!important"
@click="() => {doShow(row,true)}">查看上下级</Button> @click="() => {doShow(row,true)}">查看上下级</Button>
</i-col> </i-col>
</template> </template>
</Table> </Table>
<!-- 升级 --> <!-- 升级 -->
<Modal <Modal v-model="isShow"
v-model="isShow"
:title="showStoreName" :title="showStoreName"
:footer-hide="true" :footer-hide="true"
width="600" width="600"
@ -46,11 +72,13 @@
<p style="text-align: center;">确认升级</p> <p style="text-align: center;">确认升级</p>
</div> </div>
<div style="text-align:center;min-height:100px"> <div style="text-align:center;min-height:100px">
<span style="line-height:100px">确认将张继军从客户经理升级成服务经理吗?</span> <span style="line-height:100px">{{upgradeStr}}</span>
</div> </div>
<div style="margin-top:20px;text-align: center;"> <div style="margin-top:20px;text-align: center;">
<Button @click="cancel(rowData)"></Button> <Button @click="cancel(rowData)"></Button>
<Button style="margin-left:20px" type="primary" @click="confirm(rowData)"></Button> <Button style="margin-left:20px"
type="primary"
@click="confirm(rowData)">确定升级</Button>
</div> </div>
</Modal> </Modal>
<recruitTable ref="recruitTable" <recruitTable ref="recruitTable"
@ -58,8 +86,14 @@
:show="showrecruit" :show="showrecruit"
:schedule="recruitSchedule"> :schedule="recruitSchedule">
</recruitTable> </recruitTable>
<Page :total="total" :current="pageNum" :page-size="pageSize" show-elevator show-total <Page :total="total"
placement="top" @on-change="handlePage" class-name="ks-page"></Page> :current="pageNum"
:page-size="pageSize"
show-elevator
show-total
placement="top"
@on-change="handlePage"
class-name="ks-page"></Page>
</div> </div>
</template> </template>
@ -86,6 +120,7 @@
showrecruit: false, showrecruit: false,
recruitSchedule: {}, recruitSchedule: {},
rowData: {}, rowData: {},
upgradeStr: "",
//list //list
companyList: [], companyList: [],
selectedStore: null, selectedStore: null,
@ -125,7 +160,21 @@
title: '等级', title: '等级',
width: 80, width: 80,
render: (h, params) => { render: (h, params) => {
return h('span', params.row.organizational.level); let str = "";
switch (params.row.level) {
case 1:
str = "一般推广员";
break;
case 2:
str = "客户经理";
break;
case 3:
str = "服务经理";
break;
default:
str = "一般推广员";
}
return h('span', str);
} }
}, },
{ {
@ -389,8 +438,31 @@
this.isShow = false; this.isShow = false;
}, },
show (index) { show (index) {
if (index.level >= 3) {
that.$Message.error(`${index.name}的等级已是最高`);
return false;
}
this.isShow = true; this.isShow = true;
this.rowData = index; this.rowData = index;
let str = "";
let next = "";
switch (index.level) {
case 1:
str = "一般推广员";
next = "客户经理";
break;
case 2:
str = "客户经理";
next = "服务经理";
break;
case 3:
str = "服务经理";
next = "服务经理";
break;
default:
str = "一般推广员";
}
this.upgradeStr = `确认将${index.name}${str}升级成${next}吗?`;
}, },
doShow (currData, ishow) { doShow (currData, ishow) {
this.showrecruit = false; this.showrecruit = false;
@ -417,7 +489,6 @@
</script> </script>
<style scoped> <style scoped>
.table-store { .table-store {
margin-top: 20px; margin-top: 20px;
} }

@ -6,7 +6,8 @@
@on-cancel="cancel" @on-cancel="cancel"
:loading="true" :loading="true"
width="70%"> width="70%">
<div v-if="isShow" class="m-info"> <div v-if="isShow"
class="m-info">
<div class="m-info-top"> <div class="m-info-top">
<p>所属零售公司{{schedule.organizational.name}}</p> <p>所属零售公司{{schedule.organizational.name}}</p>
<p>所属店铺{{schedule.store.name}}</p> <p>所属店铺{{schedule.store.name}}</p>
@ -16,16 +17,16 @@
<div class="t-rows"> <div class="t-rows">
<div>{{schedule.fissionUser.name}}</div> <div>{{schedule.fissionUser.name}}</div>
<div>{{schedule.fissionUser.mobil}}</div> <div>{{schedule.fissionUser.mobil}}</div>
<div>服务经理</div> <div>{{level}}</div>
</div> </div>
</div> </div>
<div class="m-subordinate">下级(35)</div> <div class="m-subordinate">下级(0)</div>
<div> <div>
<div class="t-rows"> <!-- <div class="t-rows">
<div>张胜男</div> <div>张胜男</div>
<div>13123209313</div> <div>13123209313</div>
<div>推广员</div> <div>推广员</div>
</div> </div> -->
</div> </div>
</div> </div>
<div slot="footer"> <div slot="footer">
@ -47,7 +48,7 @@ export default {
currentStep: 0, currentStep: 0,
modal_loading: false, modal_loading: false,
loading: false, loading: false,
showUse: false, showUse: false
}; };
}, },
props: { props: {
@ -72,6 +73,25 @@ export default {
this.isShow = true; this.isShow = true;
} }
}, },
computed: {
level () {
let str = "";
switch (this.schedule.level) {
case 1:
str = "一般推广员";
break;
case 2:
str = "客户经理";
break;
case 3:
str = "服务经理";
break;
default:
str = "一般推广员";
}
return str;
}
},
mounted () { }, mounted () { },
methods: { methods: {
cancel () { cancel () {
@ -85,19 +105,18 @@ export default {
<style scoped> <style scoped>
.m-info-top { .m-info-top {
display: flex; display: flex;
} }
.m-info-top p:last-child { .m-info-top p:last-child {
margin-left: 160px; margin-left: 160px;
} }
.m-superior,.m-subordinate{ .m-superior,
.m-subordinate {
margin: 10px 0; margin: 10px 0;
padding: 10px 0 10px 10px; padding: 10px 0 10px 10px;
background-color: #f5f7f9; background-color: #f5f7f9;
} }
.t-rows { .t-rows {
display: flex; display: flex;
} }
.t-rows div { .t-rows div {
margin-right: 40px; margin-right: 40px;

Loading…
Cancel
Save