Commit 28b88daf authored by 吴春's avatar 吴春

1

parent 0fe8af85
<style>
.domesticScenic .clearfix:after {
content: "\0020";
display: block;
height: 0;
clear: both;
}
.domesticScenic .hotelResource {
width: 100%;
min-height: 500px;
margin-top: 20px;
}
.domesticScenic .resourceList {
width: 215px;
background-color: #fff;
border: 1px dashed #ededed;
border-radius: 4px;
margin: 0 20px 20px 0;
font-size: 12px;
color: #333333;
float: left;
}
.domesticScenic .resourceList:hover {
box-shadow: 0px 0px 20px rgba(191, 191, 191, 1);
transition: all linear 0.5s;
}
.domesticScenic .reTopInfo {
width: 100%;
height: 123px;
position: relative;
}
.domesticScenic .reTopInfo img {
position: absolute;
width: 100%;
height: 100%;
top: 0;
border-top-left-radius: 4px;
border-top-right-radius: 4px;
}
.domesticScenic .resTypeList {
position: absolute;
top: 10px;
left: 10px;
}
.domesticScenic .resTypeList span {
display: inline-block;
padding: 1px 5px;
border-radius: 10px;
color: #fff;
margin-right: 10px;
}
.domesticScenic .L1 {
background-color: #e95252;
}
.domesticScenic .L2 {
background-color: #47bf8c;
}
.domesticScenic .L3 {
background-color: #2aaef2;
}
.domesticScenic .L4 {
background-color: #9cf;
}
.domesticScenic .L5 {
background-color: #00c6ff;
margin-top: 5px;
}
.domesticScenic .starSu {
position: absolute;
bottom: 8px;
right: 10px;
display: flex;
}
.domesticScenic .starSu .star {
margin-left: 5px;
}
.domesticScenic .sushe {
background-color: #ffc800;
display: inline-block;
padding: 1px 5px;
border-radius: 10px;
color: #fff;
}
.domesticScenic .hotelTitle {
margin: 20px 16px 0 16px;
font-size: 14px;
color: #333333;
height: 20px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.domesticScenic .brandList i {
position: relative;
top: 2px;
}
.domesticScenic .brand {
float: left;
width: 49%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
text-align: center;
}
.domesticScenic .dayNum {
float: right;
text-align: center;
width: 50%;
}
.domesticScenic .dieline {
color: #2aaef2;
font-size: 14px;
top: 1px !important;
}
.domesticScenic .AddressInner {
float: right;
width: 160px;
height: 18px;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
}
.domesticScenic .btnList {
padding: 10px 0 20px 0;
text-align: center;
}
.domesticScenic .hotelBtn {
width: 60px;
height: 28px;
background: #f76f6f;
border-radius: 14px;
color: #fff;
cursor: pointer;
}
.domesticScenic .w150 .el-input {
width: 150px !important;
}
.domesticScenic .SupportCount {
color: #4bca81;
font-size: 18px;
font-weight: bold;
margin: 0 5px 5px 0;
display: inline-block;
}
.domesticScenic .dayNumber {
color: #2aaef2;
font-size: 18px;
font-weight: bold;
margin: 0 5px 5px 5px;
display: inline-block;
}
.domesticScenic .line {
float: left;
width: 1px;
height: 35px;
background-color: #ededed;
margin-top: 6px;
}
.domesticScenic .foodList {
display: inline-block;
padding: 1px 5px;
background-color: #ff9c00;
color: #fff;
margin-right: 6px;
border-radius: 2px;
}
.domesticScenic .foodList:last-child {
margin-right: 0;
}
.domesticScenic .delScien {
position: absolute;
right: 10px;
top: 10px;
display: none;
}
.domesticScenic .delScien:hover {
color: #f76f6f;
cursor: pointer;
}
.domesticScenic .resourceList:hover .delScien {
display: block;
}
.domesticScenic .comCursorUrl {
cursor: pointer;
}
/* 景区列表 */
</style>
<template>
<div class="flexOne domesticScenic">
<div class="query-box">
<ul>
<li>
<span class="hotel_name">
<em>{{$t('salesModule.keyWords')}}</em>
<el-input maxlength="50" :placeholder="$t('pub.PleaseKeyWords')" @keyup.native.enter="resetPageIndex(),selectResource()" v-model="msg.KeyWord">
</el-input>
</span>
</li>
<li v-if="pagesTitle=='全部'">
<span class="hotel_name">
<em>{{$t('system.table_company')}}</em>
<el-select filterable v-model="msg.BranchId" class="w210" @change="msg.EnterID='0',getEmployeeList()" :placeholder="$t('pub.unlimitedSel')" >
<el-option value="" :label="$t('pub.unlimitedSel')"></el-option>
<el-option v-for="item in CompanyList" :label="item.BName" :value="item.Id" :key="item.Id">
</el-option>
</el-select>
</span>
</li>
<li v-if="pagesTitle=='全部'">
<span><em>{{$t('objFill.v101.xiaosoureny')}}</em></span>
<el-select class="w210" v-model="msg.UpdateBy" filterable :placeholder="$t('pub.pleaseSel')">
<el-option :label="$t('pub.unlimitedSel')" :value="0">
</el-option>
<el-option v-for="item in EmployeeList" :label="item.name" :value="item.empId"
:key="item.empId">
<div>
<span>{{`${item.name}`}}</span>
<span style="margin-left: 15px;">
<el-tag size="mini" v-if="item.isLeave==1">{{$t('pub.noJobSel')}}</el-tag>
</span>
</div>
</el-option>
</el-select>
</li>
<li>
<span>
<em>{{$t('fnc.yes')+$t('fnc.fou')}}VIP</em>
<el-select v-model="msg.IsVip" class="w210" :placeholder="$t('pub.unlimitedSel')">
<el-option :label="$t('pub.unlimitedSel')" value="-1"></el-option>
<el-option v-for="item in status" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</span>
</li>
<li>
<span>
<!-- 1-是,2- -->
<em>{{$t('salesModule.CustomerStatus')}}</em>
<el-select v-model="msg.Blacklist" class="w210" :placeholder="$t('pub.unlimitedSel')">
<el-option :label="$t('pub.unlimitedSel')" value="0"></el-option>
<el-option :label="$t('pub.normalSel')" value="2"></el-option>
<el-option :label="$t('objFill.v101.activity.heimindan')" value="1"></el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>{{$t('objFill.v101.zhuceshij')}}</em>
<el-date-picker class="h34 w250" v-model="missionDate" @change="timeAdd()" type="daterange"
value-format="yyyy-MM-dd">
</el-date-picker>
</span>
</li>
<li>
<button class="hollowFixedBtn" type="button"
@click="resetPageIndex(),selectResource()">{{$t('pub.searchBtn')}}</button>
<!-- <button class="normalBtn" type="button"
@click="$router.push('domesticScenicSpotInfoManage')">{{$t('pub.addBtn')}}</button> -->
</li>
</ul>
</div>
<el-table :data="tableData" tooltip-effect="dark" style="width: 100%;min-height:450px;" v-loading="loading">
<el-table-column prop="Name" :label="$t('system.query_name')">
<template slot-scope="scope">
<div style="display:flex;align-items:center;">
<div>
<img v-if="!scope.row.Photo" src="../../../assets/img/bg_c3@3x.png" style="width:60px;height:45px;">
<img v-else :src="scope.row.Photo" style="width:60px;height:45px;" />
</div>
<div style="margin-left:5px;">{{scope.row.Name}}</div>
</div>
</template>
</el-table-column>
<el-table-column prop="Mailbox" :label="$t('sm.email')">
</el-table-column>
<el-table-column prop="Moblie" :label="$t('scen.sc_tel')">
</el-table-column>
<el-table-column prop="TotalPrice" :label="$t('objFill.leijijiaoyie')">
</el-table-column>
<el-table-column prop="CouponNum" :label="$t('active.cl_couponNum')">
<template slot-scope="scope">
<div style="display:flex;align-items:center;">
<div style="margin-left:5px;text-decoration:underline;cursor: pointer;" @click.stop="goUrC('CouponsList',scope.row.Id)">{{scope.row.CouponNum}}</div>
</div>
</template>
</el-table-column>
<el-table-column prop="IsVip" :label="$t('fnc.yes')+$t('fnc.fou')+$t('VIP')">
<template slot-scope="scope">
<div style="display:flex;align-items:center;">
<template v-if="scope.row.IsVip==1">{{$t('fnc.yes')}}</template>
<template v-else>{{$t('fnc.fou')}}</template>
</div>
</template>
</el-table-column>
<el-table-column prop="Blacklist" :label="$t('salesModule.CustomerStatus')">
<template slot-scope="scope">
<div style="display:flex;align-items:center;">
<template v-if="scope.row.Blacklist==2">{{$t('pub.normalSel')}}</template>
<template v-else>{{$t('objFill.v101.activity.heimindan')}}</template>
</div>
</template>
</el-table-column>
<el-table-column prop="EnterName" :label="$t('objFill.v101.xiaosoureny')">
</el-table-column>
<el-table-column prop="CreateDate" :label="$t('objFill.v101.zhuceshij')">
</el-table-column>
<el-table-column :label="$t('system.table_operation')" width="150" v-if="pagesTitle!='全部'">
<template slot-scope="scope">
<el-tooltip class="item" effect="dark" :content="$t('salesModule.BlackList')" placement="top" v-if="scope.row.Blacklist==2">
<el-button @click="getBlacklist(item)" type="primary" icon="iconfont icon-jiaruheimingdan" circle>
</el-button>
</el-tooltip>
<el-tooltip class="item" effect="dark" :content="$t('salesModule.RemoveBlackList')" placement="top" v-if="scope.row.Blacklist!=2">
<el-button @click="getBlacklist(item)" type="primary" icon="iconfont icon-yichuheimingdan" circle>
</el-button>
</el-tooltip>
<el-tooltip class="item" effect="dark" :content="$t('visaT.Accountmanagement')" placement="top-start">
<el-button style="padding:4px" @click.stop="goUrlT('empBankAccount',scope.row.Id)" type="danger"
icon="iconfont icon-guanliyuan" circle></el-button>
</el-tooltip>
</template>
</el-table-column>
</el-table>
<el-pagination background @current-change="handleCurrentChange" :current-page.sync="msg.currentPage"
:page-size="msg.pageSize" layout="total,prev, pager, next, jumper" :total="msg.total"></el-pagination>
</div>
</template>
<script>
export default {
props:['pagesTitle','CustomerMsg'],
data() {
return {
countryList: "",
provinceList: "",
cityList: "",
district: "",
Ids: [],
userInfo: {},
tableData: [],
CompanyList: [], //公司列表
noData: false,
deleteID: "",
status: [{
value: "0",
label: this.$t('fnc.fou')
},
{
value: "1",
label: this.$t('fnc.yes')
}
],
loading: true,
EmployeeList: [],
missionDate: [],
// defaultImg: 'this.src="' + require("../../assets/img/bg_z1@2x.png") + '"',
msg: {
pageIndex: 1,
pageSize: 14,
KeyWord: "",
IsVip: "-1",
BranchId: "",
EnterID: "0",
CStartTime: "",
CEndDate: "",
total: 0,
currentPage: 1,
IsAll: 1,
Blacklist:"0"
}
};
},
watch: {
CustomerMsg:{
handler(val, oldVal) {
},
deep: true,
},
pagesTitle(val, oldval) {
},
},
methods: {
timeAdd(t) { // 日期格式
if (!this.missionDate) {
this.msg.CStartTime = '';
this.msg.CEndDate = '';
return
}
this.msg.CStartTime = this.missionDate[0];
this.msg.CEndDate = this.missionDate[1];
},
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.selectResource();
},
resetPageIndex() {
this.msg.pageIndex = 1;
this.msg.currentPage = 1;
},
getBlacklist(item) {
let DisabledType
let CustomerId = item.CustomerId.split('|')[0]
if (item.Blacklist == 2) {
DisabledType = 1
this.$confirm(this.$t('objFill.v101.Rest.shifoujruhmdan'), this.$t('tips.tips'), {
confirmButtonText: this.$t('pub.sureBtn'),
cancelButtonText: this.$t('pub.cancelBtn'),
type: "warning"
})
.then(() => {
this.apipost(
"app_customer_DisabledCustomer", {
CustomerId: CustomerId,
DisabledType: DisabledType
},
res => {
if (res.data.resultCode == 1) {
this.$message.success(this.$t('objFill.v101.Rest.jiaruhemindcgo'));
this.getList();
}
},
err => {}
);
})
.catch(() => {
this.$message.info(this.$t('objFill.v101.Rest.yiquxiaojiaru'));
});
} else if (item.CustomerStatus == 1) {
DisabledType = 2
this.$confirm(this.$t('objFill.v101.Rest.shifouyichmdan'), this.$t('tips.tips'), {
confirmButtonText: this.$t('pub.sureBtn'),
cancelButtonText: this.$t('pub.cancelBtn'),
type: "warning"
})
.then(() => {
this.apipost(
"app_customer_DisabledCustomer", {
CustomerId: CustomerId,
DisabledType: DisabledType
},
res => {
if (res.data.resultCode == 1) {
this.$message.success(this.$t('objFill.v101.Rest.yiquheimdancgo'));
this.selectResource();
}
},
err => {}
);
})
.catch(() => {
this.$message.info(this.$t('objFill.v101.Rest.yiquxiaoyichu'));
});
}
},
selectResource() {
this.loading = true;
if (this.msg.Status == "") {
this.msg.Status = "-1";
}
if (this.pagesTitle!='全部') {
this.msg.EnterID=this.userInfo.EmployeeId;
}
this.apipost(
"post_GetDirectCustomerPageList",
this.msg,
res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.msg.total = res.data.data.count;
var tempData = res.data.data.pageData;
this.noData = !this.msg.total > 0;
tempData.forEach(x => {
if (x.ScenicSpotTag != null && x.ScenicSpotTag !== "") {
x.FoodTagArr = x.ScenicSpotTag.split(",");
var newAr = [];
if (x.FoodTagArr != null) {
x.FoodTagArr.forEach(o => {
newAr.push({
Aname: o.slice(0, 3),
Bname: o
});
});
x.newAr = newAr;
}
}
});
this.tableData = tempData;
}
},
null
);
},
goUrlT(path, id) {
this.$router.push({
name: path,
query: {
"id": id,
"type": 14,
blank: 'y'
}
})
},
goUrC(path, customerId) {
this.$router.push({
name: path,
query: {
"customerId": customerId,
"customerType":1,
blank: 'y'
}
})
},
//根据当前员工所在部门获取该部门及子部门员工信息
getEmployeeList() {
if(this.msg.BranchId!="-1"){
let msg = {
GroupId: this.userInfo.RB_Group_id,
RB_Branch_id: this.msg.BranchId,
DepartmentId: "-1",
PostId: "-1",
IsLeave: "-1"
};
this.apipost(
"app_get_company_employee", msg,
res => {
if (res.data.resultCode == 1) {
this.EmployeeList = res.data.data;
}
},
err => {}
);
}
else{
this.EmployeeList=[];
}
},
getCompanyList() {
//获取公司列表
this.apipost(
"admin_get_BranchGetList",
this.getCompanyMsg,
(res) => {
if (res.data.resultCode == 1) {
var tempCompanyList= res.data.data;
if((this.userInfo.RB_Branch_id==0&&(this.userInfo.EmployeeId==5||this.userInfo.EmployeeId==1))||this.userInfo.RB_Branch_id==49){
this.CompanyList =tempCompanyList
}
else{
tempCompanyList.forEach((item,index) => {
if (this.userInfo.RB_Branch_id==36||this.userInfo.RB_Branch_id==1214 ) {
this.CompanyList.push(JSON.parse(JSON.stringify(item)))
}
else if(this.userInfo.RB_Branch_id==item.Id){//item.Id==36||item.Id==1214
this.CompanyList.push(JSON.parse(JSON.stringify(item)))
}
});
}
//this.CompanyList = res.data.data;
}
},
(err) => {}
);
},
},
mounted() {
//this.getEmployeeList();
// this.getCountryList();
},
created() {
this.userInfo = this.getLocalStorage();
var id = this.$route.query.ID;
if (id) {
this.msg.ID = id;
}
if (this.$route.query.EnterTime) {
this.EnterTime = this.$route.query.EnterTime
this.msg.CStartTime = this.EnterTime[0];
this.msg.CEndDate = this.EnterTime[1];
}
this.selectResource();
this.getCompanyList();
}
};
</script>
<template>
<div>
<directCustomerList :CustomerMsg="CustomerMsg" :pagesTitle="pagesTitle"></directCustomerList>
</div>
</template>
<script>
import directCustomerList from "./components/directCustomerList.vue";
export default {
components: {
directCustomerList
},
data() {
return {
CustomerMsg:{},
pagesTitle:"全部",
}
},
watch: {
$route: {
handler(val, oldVal) {
},
deep: true,
} ,
pagesTitle(val,oldval){
},
}
}
</script>
\ No newline at end of file
<template>
<div>
<directCustomerList :CustomerMsg="CustomerMsg" :pagesTitle="title"></directCustomerList>
</div>
</template>
<script>
import directCustomerList from "./components/directCustomerList.vue";
export default {
components: {
directCustomerList
},
data() {
return {
CustomerMsg:{
},
pagesTitle:"自己",
}
},
watch: {
$route: {
handler(val, oldVal) {
},
deep: true,
},
pagesTitle(val,oldval){
},
}
}
</script>
\ No newline at end of file
......@@ -241,23 +241,6 @@
<el-dropdown-item v-for="(item,index) in ScopeOfUseList" :key="index"
@click.native="dropdownText = item.Id>0?item.Name:$t('pub.unlimitedSel'), msg.CouponsUseScope = item.Id, getList(), resetPageIndex()">{{ item.Name }}
</el-dropdown-item>
<!-- <el-dropdown-item
@click.native="dropdownText = $t('active.cl_tongyong'), msg.couponsUseScope = 1, getList(), resetPageIndex()">{{$t('active.cl_tongyong')}}
</el-dropdown-item>
<el-dropdown-item
@click.native="dropdownText = $t('objFill.gentuanyou'), msg.couponsUseScope = 2, getList(), resetPageIndex()">{{$t('objFill.gentuanyou')}}
</el-dropdown-item>
<el-dropdown-item @click.native="dropdownText = $t('MarketingActi.local')">{{$t('MarketingActi.local')}}</el-dropdown-item>
<el-dropdown-item @click.native="dropdownText = $t('objFill.dinzhiyou')">{{$t('objFill.dinzhiyou')}}</el-dropdown-item>
<el-dropdown-item
@click.native="dropdownText = $t('active.cl_qianzheng'), msg.couponsUseScope = 3, getList(), resetPageIndex()">{{$t('active.cl_qianzheng')}}
</el-dropdown-item>
<el-dropdown-item
@click.native="dropdownText = $t('active.cl_jipiao'), msg.couponsUseScope = 4, getList(), resetPageIndex()">{{$t('active.cl_jipiao')}}
</el-dropdown-item>
<el-dropdown-item
@click.native="dropdownText = $t('hotel.hotel'), msg.couponsUseScope = 10, getList(), resetPageIndex()">{{$t('hotel.hotel')}}
</el-dropdown-item> -->
</el-dropdown-menu>
</el-dropdown>
</li>
......@@ -332,13 +315,24 @@
};
},
computed: {},
created() {},
created() {
if (this.$route.query.customerId) {
this.msg.userId = this.$route.query.customerId;
}
if (this.$route.query.customerType) {
this.msg.CustomerType = this.$route.query.customerType;
}
},
mounted() {
this.getScopeOfUse()
this.getList();
if (this.$route.query.customerId) {
if (this.$route.query.customerId) {
this.msg.userId = this.$route.query.customerId;
}
if (this.$route.query.customerType) {
this.msg.CustomerType = this.$route.query.customerType;
}
this.getScopeOfUse()
this.getList();
},
methods: {
getScopeOfUse() {
......
......@@ -481,6 +481,7 @@
}
},
getSupplierGetPageList() {
if (this.addMsg.Type == 10) {
return
}
......@@ -573,6 +574,19 @@
AlCode: "",
TicketCode: "",
}
} if (this.addMsg.Type == 14) {
//{"msg":{"pageIndex":1,"pageSize":14,"KeyWord":"","IsVip":"-1","BranchId":"","EnterID":"0","CStartTime":"","CEndDate":"","total":85,"currentPage":1,"IsAll":1,"Blacklist":"0"},"cmd":"post_GetDirectCustomerPageList","timestamp":1742456340888,"token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE3NDI0MzQ2NDcuMCwiZXhwIjoxNzQyNjkzODQ3LjAsInVzZXJJbmZvIjp7InVpZCI6IjUiLCJncm91cElkIjoyLCJyZXF1ZXN0RnJvbSI6MSwiZXhwaXJlVGltZSI6bnVsbH19.XjicqVVYxCNdW6FeljZLLEF6zztziqN-sFkzg1V4TdQ","sign":"dba6d746e901f6f1340c436505b36366","languageId":0}
url = "post_GetDirectCustomerPageList"
msg = {
pageIndex: 1,
pageSize: this.supplierMsg.pageSize,
KeyWord: this.supplierMsg.Name,
IsVip: "-1",
BranchId: "",
EnterID: "0",
CStartTime: "",
CEndDate: ""
}
}
this.supplierLoading = true
this.apipost(
......@@ -700,7 +714,7 @@
this.$message.error(this.$t('rule.qxzkhmingcheng'))
return
}
if (this.addMsg.Type != 7 && this.addMsg.Type != 9 && this.addMsg.Type != 10 && this.addMsg.Type != 12) {
if (this.addMsg.Type != 7 && this.addMsg.Type != 9 && this.addMsg.Type != 10 && this.addMsg.Type != 12&& this.addMsg.Type != 14) {
if (this.addMsg.DutyNo == '' || this.addMsg.DutyNo == undefined) {
this.$message.error(this.$t('objFill.qingtxsh'))
return
......
......@@ -749,6 +749,20 @@ export default {
TicketCode:"",
}
}
if (this.addMsg.Type == 14) {
url = "post_GetDirectCustomerPageList"
msg = {
pageIndex: 1,
pageSize: this.supplierMsg.pageSize,
KeyWord: this.supplierMsg.Name,
IsVip: "-1",
BranchId: "",
EnterID: "0",
CStartTime: "",
CEndDate: "",
IsAll:1,
}
}
this.supplierLoading = true
this.apipost(
url,
......@@ -793,7 +807,12 @@ export default {
Name:x.Name,
ID: x.Id
}
} else{
} else if(this.addMsg.Type==14){
Obj = {
Name: x.Name,
ID: x.Id
}
}else{
Obj = {
Name:x.Name,
ID: x.ID
......@@ -896,7 +915,7 @@ export default {
},
addData() {
//添加角色
if (this.addMsg.Type!=7&&this.addMsg.Type!=9&&this.addMsg.Type!=10) {
if (this.addMsg.Type!=7&&this.addMsg.Type!=9&&this.addMsg.Type!=10&&this.addMsg.Type!=14) {
if(this.addMsg.DutyNo==''||this.addMsg.DutyNo==undefined){
this.$message.error(this.$t('objFill.qingtxsh'))
return
......
......@@ -2921,6 +2921,22 @@ export default {
title: '客户地图'
},
},
{
path: '/directCustomerList', //直客管理
name: 'directCustomerList',
component: resolve => require(['@/components/DirectCustomer/list'], resolve),
meta: {
title: '直客管理'
},
},
{
path: '/directCustomerListSale', //直客管理
name: 'directCustomerListSale',
component: resolve => require(['@/components/DirectCustomer/listSale'], resolve),
meta: {
title: '我的直客'
},
},
{
path: '/ActivityStatistics', // 销售=>活动统计
name: 'ActivityStatistics',
......
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