Commit 96932cf2 authored by 罗超's avatar 罗超

Merge branch 'master' of http://gitlab.oytour.com/huaguohao/crm into master

parents 9eb4ebe6 04ad4222
...@@ -473,7 +473,7 @@ export default { ...@@ -473,7 +473,7 @@ export default {
font-size: 14px; font-size: 14px;
color: #333333; color: #333333;
width: 80px; width: 80px;
padding-top: 18px; /* padding-top: 18px; */
font-weight: bold; font-weight: bold;
font-family: perfectFont; font-family: perfectFont;
} }
......
<style> <style>
@import '../../assets/css/customerManage.css'; @import '../../assets/css/customerManage.css';
/* .tools{ /* .tools{
padding-bottom: 0 padding-bottom: 0
} }
.tools-item{ .tools-item{
...@@ -20,9 +20,10 @@ ...@@ -20,9 +20,10 @@
color: rgb(35, 98, 251); color: rgb(35, 98, 251);
border-color: rgb(35, 98, 251); border-color: rgb(35, 98, 251);
} */ } */
.el-table__fixed-body-wrapper table{
padding-bottom: 8px!important; .el-table__fixed-body-wrapper table {
} padding-bottom: 8px!important;
}
</style> </style>
<template> <template>
<div class="customerManage"> <div class="customerManage">
...@@ -140,84 +141,44 @@ ...@@ -140,84 +141,44 @@
@selection-change="handleSelectionChange"> @selection-change="handleSelectionChange">
<el-table-column fixed type="selection" width="40"></el-table-column> <el-table-column fixed type="selection" width="40"></el-table-column>
<el-table-column <el-table-column
prop="CustomerName" prop="ClueName"
label="线索名称" label="线索名称"
v-if="queryType[0].show" v-if="queryType[0].show"
show-overflow-tooltip> show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
<p @click="openDetails(scope)" class="font-color-link cp">{{scope.row.CustomerName}}</p> <p @click="openDetails(scope)" class="font-color-link cp">{{scope.row.ClueName}}</p>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="CustomerSourceTypeStr" label="线索来源" v-if="queryType[1].show" show-overflow-tooltip>
prop="CustomerSourceTypeStr" </el-table-column>
label="线索来源" <el-table-column prop="CustomerSource" label="来源细分" v-if="queryType[2].show && msg.CustomerType === 1" show-overflow-tooltip>
v-if="queryType[1].show" </el-table-column>
show-overflow-tooltip> <el-table-column prop="ClueDemand" label="需求" v-if="queryType[3].show && msg.CustomerType === 1" show-overflow-tooltip>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="CustomerLevelStr" label="客户级别" sortable width="100" v-if="queryType[4].show && msg.CustomerType === 0" show-overflow-tooltip>
prop="CustomerLevelStr" </el-table-column>
label="客户级别" <el-table-column prop="CustomerName" label="联系人" v-if="queryType[5].show" show-overflow-tooltip>
sortable </el-table-column>
width="100" <el-table-column prop="MobilePhone" label="联系电话" sortable v-if="queryType[6].show" show-overflow-tooltip>
v-if="queryType[5].show && msg.CustomerType === 0" </el-table-column>
show-overflow-tooltip>
</el-table-column> <el-table-column prop="WeChatNo" label="微信号" sortable v-if="queryType[7].show && msg.CustomerType === 1" show-overflow-tooltip>
<el-table-column </el-table-column>
prop="Contact" <!-- <el-table-column prop="Address" label="地址" v-if="queryType[4].show" show-overflow-tooltip>
label="联系人" </el-table-column> -->
v-if="queryType[2].show" <el-table-column prop="PersonChargeStr" label="负责人" sortable v-if="queryType[8].show && msg.CustomerType === 1" show-overflow-tooltip>
show-overflow-tooltip> </el-table-column>
</el-table-column> <el-table-column prop="CreateByStr" label="创建人" sortable v-if="queryType[9].show" show-overflow-tooltip>
<el-table-column </el-table-column>
prop="ContactNumber" <el-table-column prop="UpdateTime" label="上次更新时间" sortable v-if="queryType[10].show" show-overflow-tooltip>
label="联系电话" <template slot-scope="scope">
sortable
v-if="queryType[3].show"
show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="Address"
label="地址"
v-if="queryType[4].show"
show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="PersonChargeStr"
label="负责人"
sortable
v-if="queryType[9].show"
show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="CreateByStr"
label="创建人"
sortable
v-if="queryType[6].show"
show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="UpdateTime"
label="上次更新时间"
sortable
v-if="queryType[7].show"
show-overflow-tooltip>
<template slot-scope="scope">
<span>{{scope.row.UpdateTime}}</span> <span>{{scope.row.UpdateTime}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="CreateTimestr" label="创建时间" sortable v-if="queryType[11].show" show-overflow-tooltip>
prop="CreateTimestr" </el-table-column>
label="创建时间" <el-table-column prop="IsCarefor" fixed="right" width="50" label="关注">
sortable <template slot-scope="scope">
v-if="queryType[8].show"
show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="IsCarefor"
fixed="right"
width="50"
label="关注">
<template slot-scope="scope">
<p> <p>
<el-tooltip class="item" effect="dark" content="关注" placement="top"> <el-tooltip class="item" effect="dark" content="关注" placement="top">
<i v-if="scope.row.IsCarefor === 0" @click="CareforCustomer(scope)" class="iconfont iconwujiaoxing cp"></i> <i v-if="scope.row.IsCarefor === 0" @click="CareforCustomer(scope)" class="iconfont iconwujiaoxing cp"></i>
...@@ -227,11 +188,9 @@ ...@@ -227,11 +188,9 @@
</el-tooltip> </el-tooltip>
</p> </p>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column width="40" fixed="right">
width="40" <template slot="header" slot-scope="scope">
fixed="right">
<template slot="header" slot-scope="scope">
<el-popover <el-popover
placement="bottom" placement="bottom"
width="240"> width="240">
...@@ -239,484 +198,470 @@ ...@@ -239,484 +198,470 @@
<i class="el-icon-s-operation cp" slot="reference"></i> <i class="el-icon-s-operation cp" slot="reference"></i>
</el-popover> </el-popover>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
<div> <div>
<el-pagination <el-pagination class="Mypagination" background @current-change="handleCurrentChange" :page-sizes="[30, 60, 90, 100]" :page-size="msg.pageSize" layout="sizes, prev, pager, next" @size-change="handleSizeChange" :total="total">
class="Mypagination" </el-pagination>
background </div>
@current-change="handleCurrentChange" <el-drawer :with-header="false" size='70%' :visible.sync="drawer" direction="rtl" :before-close="handleClose">
:page-sizes="[30, 60, 90, 100]" <customerInfoBox :CustomerId="CustomerId" @transferS="transfer" @deleteClue="deleteClue" @watersS="waters" @editCustS="editCust" />
:page-size="msg.pageSize" </el-drawer>
layout="sizes, prev, pager, next" <el-drawer :with-header="false" size='70%' :visible.sync="drawer2" direction="rtl" :before-close="handleClose">
@size-change="handleSizeChange" <guestInfoBox :CustomerId="CustomerId" @transferS="transfer" @deleteClue="deleteClue" @watersS="waters" @editCustS="editCust" />
:total="total"> </el-drawer>
</el-pagination> <div v-if="dialogTableVisible">
</div> <customerDialogBox @getList="getList" :name="dialogTableVisibleName" :CustomerId="CustomerId" />
<el-drawer </div>
:with-header="false" <div v-if="guestDialogBoxShow">
size='70%' <guestDialogBox @getList="getList" :name="dialogTableVisibleName" :CustomerId="CustomerId" />
:visible.sync="drawer" </div>
direction="rtl" <el-dialog :visible.sync="transferVisible" :close-on-click-modal="false" width="450px" custom-class="transfer-box add-box add-box2">
:before-close="handleClose"> <div class="add-tit" slot="title">
<customerInfoBox :CustomerId="CustomerId" @transferS="transfer" @deleteClue="deleteClue" @watersS="waters" @editCustS="editCust"/> <p><span></span>线索转移</p>
</el-drawer> <span icon="el-icon-close"></span>
<el-drawer
:with-header="false"
size='70%'
:visible.sync="drawer2"
direction="rtl"
:before-close="handleClose">
<guestInfoBox :CustomerId="CustomerId" @transferS="transfer" @deleteClue="deleteClue" @watersS="waters" @editCustS="editCust"/>
</el-drawer>
<div v-if="dialogTableVisible">
<customerDialogBox @getList="getList" :name="dialogTableVisibleName" :CustomerId="CustomerId"/>
</div> </div>
<div v-if="guestDialogBoxShow"> <el-form :model="transferMsg" ref="form" class="MyEditForm">
<guestDialogBox @getList="getList" :name="dialogTableVisibleName" :CustomerId="CustomerId"/> <div class="MyEditForm-item">
</div> <el-form-item label="变更负责人为" class="label-pad-left">
<el-dialog :visible.sync="transferVisible" :close-on-click-modal="false" width="450px" custom-class="transfer-box add-box add-box2"> <el-select filterable v-model="transferMsg.EmpId" placeholder="请选择">
<div class="add-tit" slot="title"> <el-option v-for="item in EmployeeList" :label='item.EmName' :value='item.EmployeeId' :key='item.EmployeeId'>
<p><span></span>线索转移</p> </el-option>
<span icon="el-icon-close"></span> </el-select>
</div> </el-form-item>
<el-form :model="transferMsg" ref="form" class="MyEditForm" >
<div class="MyEditForm-item">
<el-form-item label="变更负责人为" class="label-pad-left">
<el-select
filterable
v-model="transferMsg.EmpId" placeholder="请选择">
<el-option
v-for="item in EmployeeList"
:label='item.EmName'
:value='item.EmployeeId'
:key='item.EmployeeId'>
</el-option>
</el-select>
</el-form-item>
</div>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" class="add-box-btn" @click="transfer(2)">确 定</el-button>
<el-button class="add-box-btn add-box-cancel" @click="transferVisible = false">取 消</el-button>
</div> </div>
</el-dialog> </el-form>
</div> <div slot="footer" class="dialog-footer">
<el-button type="primary" class="add-box-btn" @click="transfer(2)">确 定</el-button>
<el-button class="add-box-btn add-box-cancel" @click="transferVisible = false">取 消</el-button>
</div>
</el-dialog>
</div>
</template> </template>
<script> <script>
import mySelect from "../dialogModel/select"; import mySelect from "../dialogModel/select";
import customerInfoBox from "./customerInfoBox"; import customerInfoBox from "./customerInfoBox";
import customerDialogBox from "./customerDialogBox"; import customerDialogBox from "./customerDialogBox";
import guestDialogBox from "./guestDialogBox"; import guestDialogBox from "./guestDialogBox";
import guestInfoBox from "./guestInfoBox"; import guestInfoBox from "./guestInfoBox";
export default { export default {
components: { components: {
mySelect, mySelect,
customerInfoBox, customerInfoBox,
customerDialogBox, customerDialogBox,
guestDialogBox, guestDialogBox,
guestInfoBox guestInfoBox
},
data() {
return {
guestDialogBoxShow: false,
drawer2: false,
activeMenu: 1,
queryType2: [
{
label: '线索名称',
show: true,
},{
label: '线索来源',
show: true,
},{
label: '联系人',
show: true,
},{
label: '联系电话',
show: true,
},{
label: '地址',
show: true,
},{
label: '客户级别',
show: true,
},{
label: '负责人',
show: true,
},{
label: '上次更新时间',
show: true,
},{
label: '创建时间',
show: true,
},{
label: '创建人',
show: true,
}
],
queryType: [
{
label: '线索名称',
show: true,
},{
label: '线索来源',
show: true,
},{
label: '联系人',
show: true,
},{
label: '联系电话',
show: true,
},{
label: '地址',
show: true,
},{
label: '客户级别',
show: true,
},{
label: '负责人',
show: true,
},{
label: '上次更新时间',
show: true,
},{
label: '创建时间',
show: true,
},{
label: '创建人',
show: true,
}
],
CustomerId: 0,
CustomerIdStr: '',
transferVisible: false,
mySelectCtrl: false,
drawer: false,
loading: true,
dialogTableVisible: false,
dialogTableVisibleName: '新建线索',
tableData: [],
multipleSelection: [],
EmployeeList: [],
value: '',
userInfo: {},
transferMsg: {
CustomerIds: [],
EmpId: '',
}, },
msg: { data() {
CustomerName: '', return {
Contact: '', guestDialogBoxShow: false,
pageIndex: 1, drawer2: false,
pageSize: 30, activeMenu: 1,
ContactNumber: '', queryType2: [{
WhereType: -1, label: '线索名称',
OrderBy: '', show: true,
CustomerType: 0, }, {
ID: 29, label: '线索来源',
show: true,
}, {
label: '来源细分',
show: true,
}, {
label: '需求',
show: true,
}, {
label: '客户级别',
show: true,
}, {
label: '联系人',
show: true,
}, {
label: '联系电话',
show: true,
}, {
label: '微信',
show: true,
}, {
label: '负责人',
show: true,
}, {
label: '创建人',
show: true,
}, {
label: '上次更新时间',
show: true,
}, {
label: '创建时间',
show: true,
}],
queryType: [{
label: '线索名称',
show: true,
}, {
label: '线索来源',
show: true,
}, {
label: '来源细分',
show: true,
}, {
label: '需求',
show: true,
}, {
label: '客户级别',
show: true,
}, {
label: '联系人',
show: true,
}, {
label: '联系电话',
show: true,
}, {
label: '微信',
show: true,
}, {
label: '负责人',
show: true,
}, {
label: '创建人',
show: true,
}, {
label: '上次更新时间',
show: true,
}, {
label: '创建时间',
show: true,
}],
CustomerId: 0,
CustomerIdStr: '',
transferVisible: false,
mySelectCtrl: false,
drawer: false,
loading: true,
dialogTableVisible: false,
dialogTableVisibleName: '新建线索',
tableData: [],
multipleSelection: [],
EmployeeList: [],
value: '',
userInfo: {},
transferMsg: {
CustomerIds: [],
EmpId: '',
},
msg: {
CustomerName: '',
Contact: '',
pageIndex: 1,
pageSize: 30,
ContactNumber: '',
WhereType: -1,
OrderBy: '',
CustomerType: 1,
ID: 29,
},
total: 0,
WhereTypeList: [{
id: -1,
name: '全部'
}, {
id: 1,
name: '我负责的'
}, {
id: 2,
name: '下属的'
}, {
id: 3,
name: '我参与的'
}, {
id: 4,
name: '我关注的'
}, ],
selectionList: [{
name: '转移',
class: 'iconfont iconplus-transfer',
myFun: this.transfer
}, {
name: '转化为客户',
class: 'iconfont iconplus-transfer',
myFun: this.waters
}, {
name: '删除',
class: 'iconfont icondelete',
myFun: this.deleteClue
}],
sceneList: [],
SceneEmployeeList: [],
sceneID: 29,
visible: false,
};
}, },
total: 0, mounted() {
WhereTypeList: [ this.userInfo = this.getLocalStorage();
{ this.getList()
id: -1, this.Employee()
name: '全部' let $this = this
},{ this.MsgBus.$on('closeCustomerDialogBox', function() {
id: 1, $this.dialogTableVisible = false
name: '我负责的' $this.guestDialogBoxShow = false
},{
id: 2,
name: '下属的'
},{
id: 3,
name: '我参与的'
},{
id: 4,
name: '我关注的'
},
],
selectionList: [
{
name: '转移',
class:'iconfont iconplus-transfer',
myFun: this.transfer
},{
name: '转化为客户',
class:'iconfont iconplus-transfer',
myFun: this.waters
},{
name: '删除',
class:'iconfont icondelete',
myFun: this.deleteClue
}
],
sceneList: [],
SceneEmployeeList: [],
sceneID: 29,
visible: false,
};
},
mounted() {
this.userInfo = this.getLocalStorage();
this.getList()
this.Employee()
let $this = this
this.MsgBus.$on('closeCustomerDialogBox', function (){
$this.dialogTableVisible = false
$this.guestDialogBoxShow = false
})
this.GetSceneEmployeeList()
this.MsgBus.$on('sceneSave', function (msg){
$this.sceneList = [...msg]
$this.GetSceneEmployeeList()
let obj = {}
msg.forEach(element => {
obj[element.name] = element
});
$this.msg.Data = obj
$this.getList()
})
this.MsgBus.$on('editScene', function (){
$this.GetSceneEmployeeList()
})
},beforeDestroy() {
this.MsgBus.$off('sceneSave');
this.MsgBus.$off('editScene');
},
methods: {
changeWhere(item){
this.msg.ID = item.ID
this.sceneID = item.ID
this.msg.Data = item.WhereData ? JSON.parse(item.WhereData) : {}
this.msg.WhereType = item.WhereType
this.visible = false
this.getList()
},
GetSceneEmployeeList(){
this.apipost('/api/Scene/GetSceneEmployeeList', {LableType: 4}, res=>{
if (res.data.resultCode == 1) {
this.SceneEmployeeList = res.data.data
}
})
},
deleteScene(index){
this.sceneList.splice(index, 1)
let obj = {}
this.sceneList.forEach(element => {
obj[element.name] = element
});
this.msg.Data = obj
this.getList()
},
handleCommand(command){
this.CustomerId = 0
if (command === '1') {
this.dialogTableVisibleName = '新建线索'
this.dialogTableVisible = true
} else if (command === '2') {
this.guestDialogBoxShow = true
} else if (command === '3') {
this.$message.warning('功能正在开发中~');
}
},
Employee(){
let msg = {
RB_Group_id: this.userInfo.RB_Group_id,
BranchId:-1,
DepartmentId:0,
PostId:0,
IsLeave:0,
}
this.apipost2(
"admin_get_EmployeeGetList",
this.msg,
res => {
if (res.data.resultCode == 1) {
this.EmployeeList = res.data.data;
} else {
}
},
err => {}
);
},
//删除
deleteClue(type){
console.log('删除')
let tips = '确定将这些线索删除?'
if(type === 1) {
tips = '是否把线索“'+ this.CustomerName + '”删除?'
this.multipleSelection.push(this.CustomerId)
}
this.$confirm(tips, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
let str = ''
this.multipleSelection.map((x, i)=>{
str = str + x + ','
}) })
this.apipost('/api/Customer/DelCustomerClue', {CustomerIds: str.substring(0, str.length - 1)}, res=>{ this.GetSceneEmployeeList()
if (res.data.resultCode == 1) { this.MsgBus.$on('sceneSave', function(msg) {
if (type === 1) {} { $this.sceneList = [...msg]
this.drawer = false $this.GetSceneEmployeeList()
this.drawer2 = false let obj = {}
} msg.forEach(element => {
this.multipleSelection = [] obj[element.name] = element
this.$message.success(res.data.message); });
this.getList() $this.msg.Data = obj
} $this.getList()
}) })
}).catch(() => { this.MsgBus.$on('editScene', function() {
this.$message({ $this.GetSceneEmployeeList()
type: 'info',
message: '已取消'
});
});
},
//导出
export(){
console.log('导出')
},
// 更改状态
changeState(){
console.log('更改状态')
},
// 转换为客户
waters(type){
let tips = '确定将这些线索转换为客户吗?'
if(type === 1) {
tips = '是否把线索“'+ this.CustomerName + '”转换为客户吗?'
this.multipleSelection.push(this.CustomerId)
}
this.$confirm(tips, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
let str = ''
this.multipleSelection.map((x, i)=>{
str = str + x + ','
}) })
let msg = { },
CustomerIds: str.substring(0, str.length - 1), beforeDestroy() {
CustomerType: this.msg.CustomerType this.MsgBus.$off('sceneSave');
} this.MsgBus.$off('editScene');
this.apipost('/api/Customer/UpdateCustomerClue', msg, res=>{ },
if (res.data.resultCode == 1) { methods: {
if (type === 1) {} { changeWhere(item) {
this.drawer = false this.msg.ID = item.ID
this.drawer2 = false this.sceneID = item.ID
this.msg.Data = item.WhereData ? JSON.parse(item.WhereData) : {}
this.msg.WhereType = item.WhereType
this.visible = false
this.getList()
},
GetSceneEmployeeList() {
this.apipost('/api/Scene/GetSceneEmployeeList', {
LableType: 4
}, res => {
if (res.data.resultCode == 1) {
this.SceneEmployeeList = res.data.data
} }
this.multipleSelection = [] })
this.$message.success(res.data.message); },
this.getList() deleteScene(index) {
} this.sceneList.splice(index, 1)
}) let obj = {}
}).catch(() => { this.sceneList.forEach(element => {
this.$message({ obj[element.name] = element
type: 'info', });
message: '已取消' this.msg.Data = obj
});
});
},
// 关注
CareforCustomer(scope){
this.apipost('/api/Customer/CareforCustomer', {CustomerCreateId: scope.row.CustomerCreateId}, res=>{
if (res.data.resultCode == 1) {
this.$message.success('操作成功');
this.getList() this.getList()
} },
}) handleCommand(command) {
}, this.CustomerId = 0
// 转移 if (command === '1') {
transfer(type){ this.dialogTableVisibleName = '新建线索'
if (type !== 2) { this.dialogTableVisible = true
if (type === 3) { } else if (command === '2') {
this.multipleSelection.push(this.CustomerId) this.guestDialogBoxShow = true
} } else if (command === '3') {
this.transferVisible = true this.$message.warning('功能正在开发中~');
} else { }
if (this.transferMsg.EmpId === '') { },
return this.$message.error('请选择变更负责人!') Employee() {
} let msg = {
let str = '' RB_Group_id: this.userInfo.RB_Group_id,
this.multipleSelection.map((x, i)=>{ BranchId: -1,
str = str + x + ',' DepartmentId: 0,
}) PostId: 0,
this.transferMsg.CustomerIds = str.substring(0, str.length - 1) IsLeave: 0,
this.apipost('/api/Customer/TransferCustomerClue', this.transferMsg, res=>{ }
if (res.data.resultCode == 1) { this.apipost2(
this.multipleSelection = [] "admin_get_EmployeeGetList",
this.transferVisible = false this.msg,
if (type === 3) {} { res => {
this.drawer = false if (res.data.resultCode == 1) {
this.drawer2 = false this.EmployeeList = res.data.data;
} else {}
},
err => {}
);
},
//删除
deleteClue(type) {
console.log('删除')
let tips = '确定将这些线索删除?'
if (type === 1) {
tips = '是否把线索“' + this.CustomerName + '”删除?'
this.multipleSelection.push(this.CustomerId)
}
this.$confirm(tips, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
let str = ''
this.multipleSelection.map((x, i) => {
str = str + x + ','
})
this.apipost('/api/Customer/DelCustomerClue', {
CustomerIds: str.substring(0, str.length - 1)
}, res => {
if (res.data.resultCode == 1) {
if (type === 1) {} {
this.drawer = false
this.drawer2 = false
}
this.multipleSelection = []
this.$message.success(res.data.message);
this.getList()
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消'
});
});
},
//导出
export () {
console.log('导出')
},
// 更改状态
changeState() {
console.log('更改状态')
},
// 转换为客户
waters(type) {
let tips = '确定将这些线索转换为客户吗?'
if (type === 1) {
tips = '是否把线索“' + this.CustomerName + '”转换为客户吗?'
this.multipleSelection.push(this.CustomerId)
}
this.$confirm(tips, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
let str = ''
this.multipleSelection.map((x, i) => {
str = str + x + ','
})
let msg = {
CustomerIds: str.substring(0, str.length - 1),
CustomerType: this.msg.CustomerType
} }
this.$message.success(res.data.message); this.apipost('/api/Customer/UpdateCustomerClue', msg, res => {
this.getList() if (res.data.resultCode == 1) {
this.transferMsg = { if (type === 1) {} {
CustomerIds: [], this.drawer = false
EmpId: '', this.drawer2 = false
}
this.multipleSelection = []
this.$message.success(res.data.message);
this.getList()
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消'
});
});
},
// 关注
CareforCustomer(scope) {
this.apipost('/api/Customer/CareforCustomer', {
CustomerCreateId: scope.row.CustomerCreateId
}, res => {
if (res.data.resultCode == 1) {
this.$message.success('操作成功');
this.getList()
} }
})
},
// 转移
transfer(type) {
if (type !== 2) {
if (type === 3) {
this.multipleSelection.push(this.CustomerId)
}
this.transferVisible = true
} else {
if (this.transferMsg.EmpId === '') {
return this.$message.error('请选择变更负责人!')
}
let str = ''
this.multipleSelection.map((x, i) => {
str = str + x + ','
})
this.transferMsg.CustomerIds = str.substring(0, str.length - 1)
this.apipost('/api/Customer/TransferCustomerClue', this.transferMsg, res => {
if (res.data.resultCode == 1) {
this.multipleSelection = []
this.transferVisible = false
if (type === 3) {} {
this.drawer = false
this.drawer2 = false
}
this.$message.success(res.data.message);
this.getList()
this.transferMsg = {
CustomerIds: [],
EmpId: '',
}
}
})
} }
}) console.log('转移')
} },
console.log('转移') showMessageFromChild(list) {
}, this.mySelectCtrl = !this.mySelectCtrl
showMessageFromChild(list){ if (list) {
this.mySelectCtrl=!this.mySelectCtrl this.queryType = list
if (list) { this.getList()
this.queryType = list }
this.getList() },
} editCust(type) {
}, this.dialogTableVisibleName = '修改线索'
editCust(type){ if (type === 1) {
this.dialogTableVisibleName = '修改线索' this.dialogTableVisible = true
if (type === 1) { } else {
this.dialogTableVisible = true this.guestDialogBoxShow = true
} else { }
this.guestDialogBoxShow = true },
} openDetails(scope) {
}, this.CustomerId = scope.row.CustomerId
openDetails(scope){ this.CustomerName = scope.row.CustomerName
this.CustomerId = scope.row.CustomerId if (this.msg.CustomerType === 0) {
this.CustomerName = scope.row.CustomerName this.drawer = true
if (this.msg.CustomerType === 0) { } else {
this.drawer = true this.drawer2 = true
} else { }
this.drawer2 = true },
} handleSizeChange(val) {
}, this.msg.pageSize = val
handleSizeChange(val) { this.getList();
this.msg.pageSize = val },
this.getList(); handleCurrentChange(val) {
}, this.msg.pageIndex = val;
handleCurrentChange(val) { this.getList();
this.msg.pageIndex = val; },
this.getList(); handleClose(done) {
}, done();
handleClose(done) { },
done(); getList: function() {
}, this.tableData = []
getList: function (){ this.loading = true
this.tableData = [] this.apipost('/api/Customer/GetCustomerCluePage', this.msg, res => {
this.loading = true if (res.data.resultCode == 1) {
this.apipost('/api/Customer/GetCustomerCluePage', this.msg, res=>{ this.tableData = res.data.data.pageData;
if (res.data.resultCode == 1) { this.total = res.data.data.count;
this.tableData = res.data.data.pageData; this.loading = false;
this.total = res.data.data.count; }
this.loading = false; })
},
handleSelectionChange(val) {
this.multipleSelection = val.map(x =>
x.CustomerId
)
} }
}) }
}, };
handleSelectionChange(val) { </script>
this.multipleSelection = val.map(x=> \ No newline at end of file
x.CustomerId
)
}
}
};
</script>
...@@ -489,7 +489,7 @@ export default { ...@@ -489,7 +489,7 @@ export default {
watch: { watch: {
CustomerId: { CustomerId: {
handler(val, oldVal) { handler(val, oldVal) {
console.log(val); // console.log(val);
}, },
deep: true, deep: true,
}, },
......
...@@ -260,7 +260,7 @@ ...@@ -260,7 +260,7 @@
</el-form-item> </el-form-item>
</div> </div>
</el-col> </el-col>
<el-col :span="8" v-if="form.CustomerSourceType === 7"> <el-col :span="8" v-else="SourceEnum.ID === SourceSegmentList.ID">
<div class="MyEditForm-item label-pad-left"> <div class="MyEditForm-item label-pad-left">
<el-form-item label="来源细分" prop="SourceAccount"> <el-form-item label="来源细分" prop="SourceAccount">
<el-select placeholder="请选择来源途径" v-model="form.SourceAccount"> <el-select placeholder="请选择来源途径" v-model="form.SourceAccount">
...@@ -721,7 +721,7 @@ ...@@ -721,7 +721,7 @@
/* /api/Customer/GetGuestSourceAccountList */ /* /api/Customer/GetGuestSourceAccountList */
methods: { methods: {
handleChange(val) { handleChange(val) {
console.log(val); // console.log(val);
}, },
Transformation(val, type) { Transformation(val, type) {
let text = this.pinyin(val, { let text = this.pinyin(val, {
...@@ -984,16 +984,39 @@ ...@@ -984,16 +984,39 @@
}) })
}, },
GetCustomerSourceEnum() { GetCustomerSourceEnum() {
this.SourceEnum = []
this.apipost('/api/Customer/GetCustomerSourceEnum', {}, res => { this.apipost('/api/Customer/GetCustomerSourceEnum', {}, res => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.SourceEnum = res.data.data this.SourceEnum = res.data.data
} }
/* if (res.data.resultCode == 1) {
let data = res.data.data
let addList = function(arr) {
arr.forEach(item => {
item.SourceSegmentList = []
});
};
addList(data);
this.SourceEnum = res.data.data;
this.getSourceSegmentList();
} */
}) })
}, },
//来源细分
getSourceSegmentList() { getSourceSegmentList() {
this.apipost('/api/Customer/GetGuestSourceAccountList', {}, res => { this.apipost('/api/Customer/GetGuestSourceAccountList', {}, res => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.SourceSegmentList = res.data.data this.SourceSegmentList = res.data.data
for (let i = 0; i < this.SourceEnum.length; i++) {
for (let j = 0; j < this.SourceSegmentList.length; j++) {
if (this.SourceEnum[i].ID == this.SourceSegmentList[j].ID) {
let obj = {
ID: this.SourceSegmentList[j].ID,
}
this.SourceEnum[i].SourceSegmentList.push(obj);
}
}
}
} }
}) })
}, },
......
<style> <style>
.Details { .Details {
padding: 17px 20px; padding: 17px 20px;
margin-top: 20px; margin-top: 20px;
background-color: white; background-color: white;
height: calc(100% - 54px); height: calc(100% - 54px);
overflow-y: auto; overflow-y: auto;
font-size: 12px; font-size: 12px;
} }
.Details .Details_box .tit {
border: 4px solid #409efe; .Details .Details_box .tit {
border-top: 0; border: 4px solid #409efe;
border-bottom: 0; border-top: 0;
border-right: 0; border-bottom: 0;
padding-left: 10px; border-right: 0;
font-size: 14px; padding-left: 10px;
color: #111; font-size: 14px;
font-weight: bold; color: #111;
} font-weight: bold;
.Details_box_row { }
margin-top: 30px;
} .Details_box_row {
.Details_box_lable { margin-top: 30px;
color: #999999; }
}
.Details_box_lable {
color: #999999;
}
</style> </style>
<template> <template>
<div class="Details"> <div class="Details">
<div class="Details_box"> <div class="Details_box">
<p class="tit">基本信息</p> <p class="tit">基本信息</p>
<el-row :gutter="40" class="Details_box_row"> <el-row :gutter="40" class="Details_box_row">
<el-col :span="12"> <el-col :span="12">
<el-row> <el-row>
<el-col :span="6" class="Details_box_lable"> <el-col :span="6" class="Details_box_lable">
客户名称: 名称:
</el-col> </el-col>
<el-col :span="14"> <el-col :span="14">
{{detailsData.SurName + detailsData.Name}} {{detailsData.ClueName}}
</el-col> </el-col>
</el-row> </el-row>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-row> <el-row>
<el-col :span="6" class="Details_box_lable"> <el-col :span="6" class="Details_box_lable">
手机 需求
</el-col> </el-col>
<el-col :span="14"> <el-col :span="14">
{{detailsData.MobilePhone}} {{detailsData.ClueDemand}}
</el-col> </el-col>
</el-row> </el-row>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="40" class="Details_box_row"> <el-row :gutter="40" class="Details_box_row">
<el-col :span="12"> <el-col :span="12">
<el-row> <el-row>
<el-col :span="6" class="Details_box_lable"> <el-col :span="6" class="Details_box_lable">
性别 微信号
</el-col> </el-col>
<el-col :span="14"> <el-col :span="14">
{{detailsData.Sex === 0 ? '保密' : detailsData.Sex === 1 ? '男' : '女'}} {{detailsData.WeChatNo}}
</el-col> </el-col>
</el-row> </el-row>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-row> <el-row>
<el-col :span="6" class="Details_box_lable"> <el-col :span="6" class="Details_box_lable">
生日 手机号码
</el-col> </el-col>
<el-col :span="14"> <el-col :span="14">
{{detailsData.Birthday}} {{detailsData.MobilePhone}}
</el-col> </el-col>
</el-row> </el-row>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="40" class="Details_box_row"> <el-row :gutter="40" class="Details_box_row">
<el-col :span="12"> <el-col :span="12">
<el-row> <el-row>
<el-col :span="6" class="Details_box_lable"> <el-col :span="6" class="Details_box_lable">
国籍 来源
</el-col> </el-col>
<el-col :span="14"> <el-col :span="14">
{{detailsData.Nationality}} {{detailsData.CustomerSourceType}}
</el-col> </el-col>
</el-row> </el-row>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-row> <el-row>
<el-col :span="6" class="Details_box_lable"> <el-col :span="6" class="Details_box_lable">
身份证号 来源细分
</el-col> </el-col>
<el-col :span="14"> <el-col :span="14">
{{detailsData.IdCard}} {{detailsData.SourceAccountName}}
</el-col> </el-col>
</el-row> </el-row>
</el-col> </el-col>
...@@ -98,24 +104,26 @@ ...@@ -98,24 +104,26 @@
<el-col :span="12"> <el-col :span="12">
<el-row> <el-row>
<el-col :span="6" class="Details_box_lable"> <el-col :span="6" class="Details_box_lable">
性别 客户中文名称
</el-col> </el-col>
<el-col :span="14"> <el-col :span="14">
{{detailsData.Sex}} {{detailsData.SurName + detailsData.Name}}
</el-col> </el-col>
</el-row> </el-row>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-row> <el-row>
<el-col :span="6" class="Details_box_lable"> <el-col :span="6" class="Details_box_lable">
手机号 客户英文名称
</el-col> </el-col>
<el-col :span="14"> <el-col :span="14">
{{detailsData.MobilePhone}} {{detailsData.ESurName + detailsData.EName}}
</el-col> </el-col>
</el-row> </el-row>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="40" class="Details_box_row"> <el-row :gutter="40" class="Details_box_row">
<el-col :span="12"> <el-col :span="12">
<el-row> <el-row>
...@@ -130,22 +138,23 @@ ...@@ -130,22 +138,23 @@
<el-col :span="12"> <el-col :span="12">
<el-row> <el-row>
<el-col :span="6" class="Details_box_lable"> <el-col :span="6" class="Details_box_lable">
护照签发日期 护照号签发地
</el-col> </el-col>
<el-col :span="14"> <el-col :span="14">
{{detailsData.PassportIssued}} {{detailsData.PassportAddress}}
</el-col> </el-col>
</el-row> </el-row>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="40" class="Details_box_row"> <el-row :gutter="40" class="Details_box_row">
<el-col :span="12"> <el-col :span="12">
<el-row> <el-row>
<el-col :span="6" class="Details_box_lable"> <el-col :span="6" class="Details_box_lable">
职务 护照签发日期
</el-col> </el-col>
<el-col :span="14"> <el-col :span="14">
{{detailsData.PassportExpiry}} {{detailsData.PassportIssued}}
</el-col> </el-col>
</el-row> </el-row>
</el-col> </el-col>
...@@ -160,29 +169,93 @@ ...@@ -160,29 +169,93 @@
</el-row> </el-row>
</el-col> </el-col>
</el-row> </el-row>
</div>
<el-divider><i class="el-icon-s-promotion"></i></el-divider>
<div class="Details_box">
<p class="tit" style="margin-top: 30px;">系统信息</p>
<el-row :gutter="40" class="Details_box_row"> <el-row :gutter="40" class="Details_box_row">
<el-col :span="12"> <el-col :span="12">
<el-row> <el-row>
<el-col :span="6" class="Details_box_lable"> <el-col :span="6" class="Details_box_lable">
单位类型 性别
</el-col> </el-col>
<el-col :span="14"> <el-col :span="14">
{{detailsData.UnitTypeStr}} {{detailsData.Sex === 0 ? '保密' : detailsData.Sex === 1 ? '男' : '女'}}
</el-col> </el-col>
</el-row> </el-row>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-row> <el-row>
<el-col :span="6" class="Details_box_lable"> <el-col :span="6" class="Details_box_lable">
出游类型 生日
</el-col> </el-col>
<el-col :span="14"> <el-col :span="14">
{{detailsData.TravelTypeStr}} {{detailsData.Birthday}}
</el-col> </el-col>
</el-row> </el-row>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="40" class="Details_box_row"> <el-row :gutter="40" class="Details_box_row">
<el-col :span="12">
<el-row>
<el-col :span="6" class="Details_box_lable">
国籍:
</el-col>
<el-col :span="14">
{{detailsData.Nationality}}
</el-col>
</el-row>
</el-col>
<el-col :span="12">
<el-row>
<el-col :span="6" class="Details_box_lable">
身份证号:
</el-col>
<el-col :span="14">
{{detailsData.IdCard}}
</el-col>
</el-row>
</el-col>
</el-row>
<el-row :gutter="40" class="Details_box_row">
<el-col :span="12">
<el-row>
<el-col :span="6" class="Details_box_lable">
性别:
</el-col>
<el-col :span="14">
{{detailsData.Sex}}
</el-col>
</el-row>
</el-col>
<el-col :span="12">
<el-row>
<el-col :span="6" class="Details_box_lable">
电话:
</el-col>
<el-col :span="14">
{{detailsData.Tel}}
</el-col>
</el-row>
</el-col>
</el-row>
<el-row :gutter="40" class="Details_box_row">
<el-col :span="12">
<el-row>
<el-col :span="6" class="Details_box_lable">
职务:
</el-col>
<el-col :span="14">
{{detailsData.PassportExpiry}}
</el-col>
</el-row>
</el-col>
<el-col :span="12"> <el-col :span="12">
<el-row> <el-row>
<el-col :span="6" class="Details_box_lable"> <el-col :span="6" class="Details_box_lable">
...@@ -193,20 +266,29 @@ ...@@ -193,20 +266,29 @@
</el-col> </el-col>
</el-row> </el-row>
</el-col> </el-col>
</el-row>
<el-row :gutter="40" class="Details_box_row">
<el-col :span="12"> <el-col :span="12">
<el-row> <el-row>
<el-col :span="6" class="Details_box_lable"> <el-col :span="6" class="Details_box_lable">
备注 单位类型
</el-col> </el-col>
<el-col :span="14"> <el-col :span="14">
{{detailsData.Remarks}} {{detailsData.UnitTypeStr}}
</el-col>
</el-row>
</el-col>
<el-col :span="12">
<el-row>
<el-col :span="6" class="Details_box_lable">
出游类型:
</el-col>
<el-col :span="14">
{{detailsData.TravelTypeStr}}
</el-col> </el-col>
</el-row> </el-row>
</el-col> </el-col>
</el-row> </el-row>
</div>
<div class="Details_box">
<p class="tit" style="margin-top: 30px;">系统信息</p>
<el-row :gutter="40" class="Details_box_row"> <el-row :gutter="40" class="Details_box_row">
<el-col :span="12"> <el-col :span="12">
<el-row> <el-row>
...@@ -251,22 +333,88 @@ ...@@ -251,22 +333,88 @@
</el-row> </el-row>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="40" class="Details_box_row">
<el-col :span="12">
<el-row>
<el-col :span="6" class="Details_box_lable">
出生地:
</el-col>
<el-col :span="14">
{{detailsData.BirthdayAddress}}
</el-col>
</el-row>
</el-col>
<el-col :span="12">
<el-row>
<el-col :span="6" class="Details_box_lable">
婚姻状况:
</el-col>
<el-col :span="14">
{{detailsData.Marriage}}
</el-col>
</el-row>
</el-col>
</el-row>
<el-row :gutter="40" class="Details_box_row">
<el-col :span="12">
<el-row>
<el-col :span="6" class="Details_box_lable">
家庭居住地址:
</el-col>
<el-col :span="14">
{{detailsData.Address}}
</el-col>
</el-row>
</el-col>
<el-col :span="12">
<el-row>
<el-col :span="6" class="Details_box_lable">
家庭详情地址:
</el-col>
<el-col :span="14">
{{detailsData.AddressDetail}}
</el-col>
</el-row>
</el-col>
</el-row>
<el-row :gutter="40" class="Details_box_row">
<el-col :span="12">
<el-row>
<el-col :span="6" class="Details_box_lable">
出境记录:
</el-col>
<el-col :span="14">
{{detailsData.HistoryRecord}}
</el-col>
</el-row>
</el-col>
<el-col :span="12">
<el-row>
<el-col :span="6" class="Details_box_lable">
备注:
</el-col>
<el-col :span="14">
{{detailsData.Remarks}}
</el-col>
</el-row>
</el-col>
</el-row>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
props: { props: {
detailsData: { detailsData: {
type: Object, type: Object,
default: {}, default: {},
}, },
}, },
data() { data() {
return {}; return {};
}, },
watch: {}, watch: {},
mounted() {}, mounted() {},
methods: {}, methods: {},
}; };
</script> </script>
\ No newline at end of file
...@@ -516,7 +516,7 @@ ...@@ -516,7 +516,7 @@
<el-form :model="form" ref="form" class="MyEditForm"> <el-form :model="form" ref="form" class="MyEditForm">
<el-row :gutter="30"> <el-row :gutter="30">
<el-col :span="8"> <el-col :span="8">
<div class="MyEditForm-item"> <div class="MyEditForm-item label-pad-left">
<el-form-item label="身份证号码" prop="IdCard"> <el-form-item label="身份证号码" prop="IdCard">
<el-input placeholder="请输入客户身份证号码" v-model="form.IdCard"></el-input> <el-input placeholder="请输入客户身份证号码" v-model="form.IdCard"></el-input>
</el-form-item> </el-form-item>
...@@ -524,7 +524,7 @@ ...@@ -524,7 +524,7 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="MyEditForm-item"> <div class="MyEditForm-item label-pad-left">
<el-form-item label="性别" prop="Sex"> <el-form-item label="性别" prop="Sex">
<el-select v-model="form.Sex"> <el-select v-model="form.Sex">
<el-option :key="0" label="保密" :value="0"></el-option> <el-option :key="0" label="保密" :value="0"></el-option>
...@@ -534,16 +534,8 @@ ...@@ -534,16 +534,8 @@
</el-form-item> </el-form-item>
</div> </div>
</el-col> </el-col>
<el-col :span="8">
<div class="MyEditForm-item">
<el-form-item label="手机号码" prop="MobilePhone">
<el-input placeholder="请输入手机号码" v-model="form.MobilePhone"></el-input>
</el-form-item>
</div>
</el-col>
<el-col :span="8"> <el-col :span="8">
<div class="MyEditForm-item"> <div class="MyEditForm-item label-pad-left">
<el-form-item label="生日" prop="Birthday"> <el-form-item label="生日" prop="Birthday">
<el-date-picker :clearable="false" value-format="yyyy-MM-dd HH:mm:ss" v-model="form.Birthday" type="date" placeholder="选择日期"> <el-date-picker :clearable="false" value-format="yyyy-MM-dd HH:mm:ss" v-model="form.Birthday" type="date" placeholder="选择日期">
</el-date-picker> </el-date-picker>
...@@ -551,7 +543,7 @@ ...@@ -551,7 +543,7 @@
</div> </div>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="MyEditForm-item"> <div class="MyEditForm-item label-pad-left">
<el-form-item label="出生地" prop="BirthdayAddress"> <el-form-item label="出生地" prop="BirthdayAddress">
<el-input placeholder="请输入出生地" v-model="form.BirthdayAddress"></el-input> <el-input placeholder="请输入出生地" v-model="form.BirthdayAddress"></el-input>
</el-form-item> </el-form-item>
...@@ -580,21 +572,21 @@ ...@@ -580,21 +572,21 @@
</div> </div>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="MyEditForm-item"> <div class="MyEditForm-item label-pad-left">
<el-form-item label="家庭居住地" prop="Address"> <el-form-item label="家庭居住地" prop="Address">
<el-input placeholder="请输入家庭居住地" v-model="form.Address"></el-input> <el-input placeholder="请输入家庭居住地" v-model="form.Address"></el-input>
</el-form-item> </el-form-item>
</div> </div>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="MyEditForm-item"> <div class="MyEditForm-item label-pad-left">
<el-form-item label="家庭详细地址" prop="AddressDetail"> <el-form-item label="家庭详细地址" prop="AddressDetail">
<el-input placeholder="请输入详细地址" v-model="form.AddressDetail"></el-input> <el-input placeholder="请输入详细地址" v-model="form.AddressDetail"></el-input>
</el-form-item> </el-form-item>
</div> </div>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="MyEditForm-item"> <div class="MyEditForm-item label-pad-left">
<el-form-item label="身份确认" prop="IdentityType"> <el-form-item label="身份确认" prop="IdentityType">
<el-select v-model="form.IdentityType"> <el-select v-model="form.IdentityType">
<el-option v-for="item in VisaIdentityTypeEnum" :key="item.Id" :label="item.Name" :value="item.Name"></el-option> <el-option v-for="item in VisaIdentityTypeEnum" :key="item.Id" :label="item.Name" :value="item.Name"></el-option>
...@@ -603,7 +595,7 @@ ...@@ -603,7 +595,7 @@
</div> </div>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="MyEditForm-item MyEditForm-item-checkd"> <div class="MyEditForm-item MyEditForm-item-checkd label-pad-left">
<el-form-item label="出境记录" prop="HistoryRecord"> <el-form-item label="出境记录" prop="HistoryRecord">
<el-select v-model="form.HistoryRecord" filterable> <el-select v-model="form.HistoryRecord" filterable>
<el-option v-for="item in VisaDeparturesType" :key="item.Id" :label="item.Name" :value="item.Name"> <el-option v-for="item in VisaDeparturesType" :key="item.Id" :label="item.Name" :value="item.Name">
...@@ -615,7 +607,7 @@ ...@@ -615,7 +607,7 @@
</div> </div>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="MyEditForm-item"> <div class="MyEditForm-item label-pad-left">
<el-form-item label="出游类型" prop="TravelType"> <el-form-item label="出游类型" prop="TravelType">
<el-select v-model="form.TravelType" filterable> <el-select v-model="form.TravelType" filterable>
<el-option v-for="item in TravelTypeList" :key="item.Code" :label="item.Content" :value="item.Code"></el-option> <el-option v-for="item in TravelTypeList" :key="item.Code" :label="item.Content" :value="item.Code"></el-option>
...@@ -624,7 +616,7 @@ ...@@ -624,7 +616,7 @@
</div> </div>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="MyEditForm-item"> <div class="MyEditForm-item label-pad-left">
<el-form-item label="单位类型" prop="UnitType"> <el-form-item label="单位类型" prop="UnitType">
<el-select v-model="form.UnitType" filterable> <el-select v-model="form.UnitType" filterable>
<el-option v-for="item in UnitTypeList" :key="item.Code" :label="item.Content" :value="item.Code"></el-option> <el-option v-for="item in UnitTypeList" :key="item.Code" :label="item.Content" :value="item.Code"></el-option>
...@@ -633,7 +625,7 @@ ...@@ -633,7 +625,7 @@
</div> </div>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="MyEditForm-item"> <div class="MyEditForm-item label-pad-left">
<el-form-item label="职务类型" prop="DutyType"> <el-form-item label="职务类型" prop="DutyType">
<el-select v-model="form.DutyType" filterable> <el-select v-model="form.DutyType" filterable>
<el-option v-for="item in DutyTypeList" :key="item.Code" :label="item.Content" :value="item.Code"></el-option> <el-option v-for="item in DutyTypeList" :key="item.Code" :label="item.Content" :value="item.Code"></el-option>
...@@ -642,7 +634,7 @@ ...@@ -642,7 +634,7 @@
</div> </div>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="MyEditForm-item"> <div class="MyEditForm-item label-pad-left">
<el-form-item label="高校学生"> <el-form-item label="高校学生">
<el-select v-model="form.IsHightSchool"> <el-select v-model="form.IsHightSchool">
<el-option :key="1" label="是" :value="1"></el-option> <el-option :key="1" label="是" :value="1"></el-option>
...@@ -651,24 +643,6 @@ ...@@ -651,24 +643,6 @@
</el-form-item> </el-form-item>
</div> </div>
</el-col> </el-col>
<el-col :span="8">
<div class="MyEditForm-item">
<el-form-item label="客户来源" prop="CustomerSourceType">
<el-select v-model="form.CustomerSourceType" placeholder="请选择客户来源">
<el-option v-for="item in SourceEnum" :key="item.ID" :label="item.Name" :value="item.ID">
</el-option>
</el-select>
</el-form-item>
</div>
</el-col>
<el-col :span="16" v-if="form.CustomerSourceType === 6">
<div class="MyEditForm-item">
<el-form-item label="客户来源信息" prop="CustomerSource">
<el-input type="textarea" placeholder="请输入客户来源信息" v-model="form.CustomerSource">
</el-input>
</el-form-item>
</div>
</el-col>
<template v-for='(item,index) in EconomicCapabilityS'> <template v-for='(item,index) in EconomicCapabilityS'>
<el-col :span="8" :key="index" v-if='item.isShow'> <el-col :span="8" :key="index" v-if='item.isShow'>
<div class="MyEditForm-item"> <div class="MyEditForm-item">
......
<style> <style>
@import "../../assets/css/customerManage.css"; @import "../../assets/css/customerManage.css";
.el-table__fixed-body-wrapper table { .el-table__fixed-body-wrapper table {
padding-bottom: 8px !important; padding-bottom: 8px !important;
} }
</style> </style>
<template> <template>
<div class="customerManage"> <div class="customerManage">
...@@ -117,7 +117,7 @@ ...@@ -117,7 +117,7 @@
v-if="queryType[0].show" v-if="queryType[0].show"
show-overflow-tooltip> show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
<div style="width:100%;min-height:38px" class="cp" @click="openDetails(scope)"> <div style="width:100%;min-height:38px;line-height:38px;" class="cp" @click="openDetails(scope)">
<p class="font-color-link cp">{{scope.row.GusetName}}</p> <p class="font-color-link cp">{{scope.row.GusetName}}</p>
</div> </div>
</template> </template>
...@@ -245,555 +245,478 @@ ...@@ -245,555 +245,478 @@
</div> </div>
</template> </template>
<script> <script>
import mySelect from "../dialogModel/select"; import mySelect from "../dialogModel/select";
import customerInfoBox from "./customerInfoBox"; import customerInfoBox from "./customerInfoBox";
import customerDialogBox from "./customerDialogBox"; import customerDialogBox from "./customerDialogBox";
export default { export default {
components: { components: {
mySelect, mySelect,
customerInfoBox, customerInfoBox,
customerDialogBox, customerDialogBox,
}, },
data() { data() {
return { return {
queryType2: [ queryType2: [{
{ label: "客户名称",
label: "客户名称", show: true,
show: true, }, {
}, label: "手机号码",
{ show: true,
label: "手机号码", }, {
show: true, label: "地址",
}, show: true,
{ }, {
label: "地址", label: "客户来源",
show: true, show: true,
}, }, {
{ label: "参团数",
label: "客户来源", show: true,
show: true, }, {
}, label: "商机数",
{ show: true,
label: "参团数", }, {
show: true, label: "总评分",
}, show: true,
{ }, {
label: "商机数", label: "客户等级",
show: true, show: true,
}, }, {
{ label: "余额",
label: "总评分", show: true,
show: true, }, {
}, label: "最后更新时间",
{ show: true,
label: "客户等级", }, {
show: true, label: "负责人",
}, show: true,
{ }, {
label: "余额", label: "创建时间",
show: true, show: true,
}, }, {
{ label: "创建人",
label: "最后更新时间", show: true,
show: true, }, {
}, label: "生日",
{ show: true,
label: "负责人", }, {
show: true, label: "是否结婚",
}, show: true,
{ }, {
label: "创建时间", label: "职务",
show: true, show: true,
}, }, {
{ label: "是否高中生",
label: "创建人", show: true,
show: true, }, {
}, label: "身份证",
{ show: true,
label: "生日", }, {
show: true, label: "护照号",
}, show: true,
{ }, {
label: "是否结婚", label: "护照签发地",
show: true, show: true,
}, }, {
{ label: "护照签发日期",
label: "职务", show: true,
show: true, }, {
}, label: "护照过期时间",
{ show: true,
label: "是否高中生", }, {
show: true, label: "签发机关",
}, show: true,
{ }, {
label: "身份证", label: "备注",
show: true, show: true,
}, }, {
{ label: "订单交易数",
label: "护照号", show: true,
show: true, }, {
}, label: "订单金额",
{ show: true,
label: "护照签发地", }, {
show: true, label: "出境记录",
}, show: true,
{ }, {
label: "护照签发日期", label: "家庭详细地址 ",
show: true, show: true,
}, }, {
{ label: "出生地点",
label: "护照过期时间", show: true,
show: true, }, {
}, label: "经济能力确认",
{ show: true,
label: "签发机关", }, {
show: true, label: "是否推存",
}, show: true,
{ }, ],
label: "备注", queryType: [{
show: true, label: "客户名称",
}, show: true,
{ }, {
label: "订单交易数", label: "手机号码",
show: true, show: true,
}, }, {
{ label: "地址",
label: "订单金额", show: true,
show: true, }, {
}, label: "客户来源",
{ show: true,
label: "出境记录", }, {
show: true, label: "参团数",
}, show: true,
{ }, {
label: "家庭详细地址 ", label: "商机数",
show: true, show: true,
}, }, {
{ label: "总评分",
label: "出生地点", show: true,
show: true, }, {
}, label: "客户等级",
{ show: true,
label: "经济能力确认", }, {
show: true, label: "余额",
}, show: true,
{ }, {
label: "是否推存", label: "最后更新时间",
show: true, show: true,
}, }, {
], label: "负责人",
queryType: [ show: true,
{ }, {
label: "客户名称", label: "创建时间",
show: true, show: true,
}, }, {
{ label: "创建人",
label: "手机号码", show: true,
show: true, }, {
}, label: "生日",
{ show: true,
label: "地址", }, {
show: true, label: "是否结婚",
}, show: true,
{ }, {
label: "客户来源", label: "职务",
show: true, show: true,
}, }, {
{ label: "是否高中生",
label: "参团数", show: true,
show: true, }, {
}, label: "身份证",
{ show: true,
label: "商机数", }, {
show: true, label: "护照号",
}, show: true,
{ }, {
label: "总评分", label: "护照签发地",
show: true, show: true,
}, }, {
{ label: "护照签发日期",
label: "客户等级", show: true,
show: true, }, {
}, label: "护照过期时间",
{ show: true,
label: "余额", }, {
show: true, label: "签发机关",
}, show: true,
{ }, {
label: "最后更新时间", label: "备注",
show: true, show: true,
}, }, {
{ label: "订单交易数",
label: "负责人", show: true,
show: true, }, {
}, label: "订单金额",
{ show: true,
label: "创建时间", }, {
show: true, label: "出境记录",
}, show: true,
{ }, {
label: "创建人", label: "家庭详细地址 ",
show: true, show: true,
}, }, {
{ label: "出生地点",
label: "生日", show: true,
show: true, }, {
}, label: "经济能力确认",
{ show: true,
label: "是否结婚", }, {
show: true, label: "是否推存",
}, show: true,
{ }, ],
label: "职务", CustomerId: 0,
show: true, CustomerIdStr: "",
}, transferVisible: false,
{ mySelectCtrl: false,
label: "是否高中生", drawer: false,
show: true, loading: true,
}, dialogTableVisible: false,
{ dialogTableVisibleName: "新建直客",
label: "身份证", tableData: [],
show: true, multipleSelection: [],
}, EmployeeList: [],
{ value: "",
label: "护照号", userInfo: {},
show: true, transferMsg: {
}, IDs: [],
{ EmpId: "",
label: "护照签发地", },
show: true, msg: {
}, GusetName: "",
{ pageIndex: 1,
label: "护照签发日期", pageSize: 30,
show: true, ContactNumber: "",
}, WhereType: -1,
{ OrderBy: "",
label: "护照过期时间", ID: 36,
show: true, },
}, total: 0,
{ WhereTypeList: [{
label: "签发机关", id: -1,
show: true, name: "全部",
}, }, {
{ id: 1,
label: "备注", name: "我负责的",
show: true, }, {
}, id: 2,
{ name: "下属的",
label: "订单交易数", }, {
show: true, id: 3,
}, name: "我关注的",
{ }, ],
label: "订单金额", selectionList: [{
show: true, name: "转移",
}, class: "iconfont iconplus-transfer",
{ myFun: this.transfer,
label: "出境记录", }, {
show: true, name: "删除",
}, class: "iconfont icondelete",
{ myFun: this.delete,
label: "家庭详细地址 ", }, ],
show: true, sceneList: [],
}, SceneEmployeeList: [],
{ sceneID: 36,
label: "出生地点", visible: false,
show: true, };
}, },
{ mounted() {
label: "经济能力确认", this.userInfo = this.getLocalStorage();
show: true, console.log(this.queryType);
}, this.getList();
{ this.Employee();
label: "是否推存", let $this = this;
show: true, this.MsgBus.$on("closeCustomerDialogBox", function() {
}, $this.dialogTableVisible = false;
], });
CustomerId: 0, this.GetSceneEmployeeList();
CustomerIdStr: "", this.MsgBus.$on("sceneSave", function(msg) {
transferVisible: false, $this.sceneList = [...msg];
mySelectCtrl: false, $this.GetSceneEmployeeList();
drawer: false, let obj = {};
loading: true, msg.forEach((element) => {
dialogTableVisible: false, obj[element.name] = element;
dialogTableVisibleName: "新建直客", });
tableData: [], $this.msg.Data = obj;
multipleSelection: [], $this.getList();
EmployeeList: [], });
value: "", this.MsgBus.$on("editScene", function() {
userInfo: {}, console.log(1);
transferMsg: { $this.GetSceneEmployeeList();
IDs: [], });
EmpId: "",
},
msg: {
GusetName: "",
pageIndex: 1,
pageSize: 30,
ContactNumber: "",
WhereType: -1,
OrderBy: "",
ID: 36,
},
total: 0,
WhereTypeList: [
{
id: -1,
name: "全部",
},
{
id: 1,
name: "我负责的",
},
{
id: 2,
name: "下属的",
},
{
id: 3,
name: "我关注的",
},
],
selectionList: [
{
name: "转移",
class: "iconfont iconplus-transfer",
myFun: this.transfer,
},
{
name: "删除",
class: "iconfont icondelete",
myFun: this.delete,
},
],
sceneList: [],
SceneEmployeeList: [],
sceneID: 36,
visible: false,
};
},
mounted() {
this.userInfo = this.getLocalStorage();
console.log(this.queryType);
this.getList();
this.Employee();
let $this = this;
this.MsgBus.$on("closeCustomerDialogBox", function() {
$this.dialogTableVisible = false;
});
this.GetSceneEmployeeList();
this.MsgBus.$on("sceneSave", function(msg) {
$this.sceneList = [...msg];
$this.GetSceneEmployeeList();
let obj = {};
msg.forEach((element) => {
obj[element.name] = element;
});
$this.msg.Data = obj;
$this.getList();
});
this.MsgBus.$on("editScene", function() {
console.log(1);
$this.GetSceneEmployeeList();
});
},
beforeDestroy() {
this.MsgBus.$off("sceneSave");
this.MsgBus.$off("editScene");
},
methods: {
handleCommand(command) {
this.$message.warning("功能正在开发中~");
},
changeWhere(item) {
this.msg.ID = item.ID;
this.sceneID = item.ID;
this.msg.Data = item.WhereData ? JSON.parse(item.WhereData) : {};
this.msg.WhereType = item.WhereType;
this.visible = false;
this.getList();
},
GetSceneEmployeeList() {
this.apipost(
"/api/Scene/GetSceneEmployeeList",
{
LableType: 5,
},
(res) => {
if (res.data.resultCode == 1) {
this.SceneEmployeeList = res.data.data;
}
}
);
},
deleteScene(index) {
this.sceneList.splice(index, 1);
let obj = {};
this.sceneList.forEach((element) => {
obj[element.name] = element;
});
this.msg.Data = obj;
this.getList();
},
getMarriageStr(type) {
if (type === 5) return "其他";
if (type === 4) return "丧偶";
if (type === 3) return "未婚";
if (type === 2) return "离婚";
if (type === 1) return "已婚";
if (type === 0) return "无";
},
Employee() {
let msg = {
RB_Group_id: this.userInfo.RB_Group_id,
BranchId: -1,
DepartmentId: 0,
PostId: 0,
IsLeave: 0,
};
this.apipost2(
"admin_get_EmployeeGetList",
this.msg,
(res) => {
if (res.data.resultCode == 1) {
this.EmployeeList = res.data.data;
} else {
}
}, },
(err) => {} beforeDestroy() {
); this.MsgBus.$off("sceneSave");
}, this.MsgBus.$off("editScene");
},
methods: {
handleCommand(command) {
this.$message.warning("功能正在开发中~");
},
changeWhere(item) {
this.msg.ID = item.ID;
this.sceneID = item.ID;
this.msg.Data = item.WhereData ? JSON.parse(item.WhereData) : {};
this.msg.WhereType = item.WhereType;
this.visible = false;
this.getList();
},
GetSceneEmployeeList() {
this.apipost(
"/api/Scene/GetSceneEmployeeList", {
LableType: 5,
},
(res) => {
if (res.data.resultCode == 1) {
this.SceneEmployeeList = res.data.data;
}
}
);
},
deleteScene(index) {
this.sceneList.splice(index, 1);
let obj = {};
this.sceneList.forEach((element) => {
obj[element.name] = element;
});
this.msg.Data = obj;
this.getList();
},
getMarriageStr(type) {
if (type === 5) return "其他";
if (type === 4) return "丧偶";
if (type === 3) return "未婚";
if (type === 2) return "离婚";
if (type === 1) return "已婚";
if (type === 0) return "无";
},
Employee() {
let msg = {
RB_Group_id: this.userInfo.RB_Group_id,
BranchId: -1,
DepartmentId: 0,
PostId: 0,
IsLeave: 0,
};
this.apipost2(
"admin_get_EmployeeGetList",
this.msg,
(res) => {
if (res.data.resultCode == 1) {
this.EmployeeList = res.data.data;
} else {}
},
(err) => {}
);
},
//锁定 //锁定
locking() { locking() {
console.log("锁定"); console.log("锁定");
}, },
//解锁 //解锁
Unlock() { Unlock() {
console.log("解锁"); console.log("解锁");
}, },
//删除团队成员 //删除团队成员
delCust() { delCust() {
console.log("删除团队成员"); console.log("删除团队成员");
}, },
//删除 //删除
delete() { delete() {
console.log("删除"); console.log("删除");
}, },
//导出 //导出
export() { export () {
console.log("导出"); console.log("导出");
}, },
// 更改状态 // 更改状态
changeState() { changeState() {
console.log("更改状态"); console.log("更改状态");
}, },
// 关注 // 关注
CareforCustomer(scope) { CareforCustomer(scope) {
this.apipost( this.apipost(
"/api/Customer/CareforGuesstCustomer", "/api/Customer/CareforGuesstCustomer", {
{ ID: scope.row.ID,
ID: scope.row.ID, },
(res) => {
if (res.data.resultCode == 1) {
this.$message.success("操作成功");
this.getList();
}
}
);
},
// 转移
transfer(type) {
if (type !== 2) {
if (type === 3) {
this.multipleSelection.push(this.CustomerId);
}
this.transferVisible = true;
} else {
if (this.transferMsg.EmpId === "") {
return this.$message.error("请选择变更负责人!");
}
let str = "";
this.multipleSelection.map((x, i) => {
str = str + x + ",";
});
this.transferMsg.IDs = str.substring(0, str.length - 1);
this.apipost(
"/api/Customer/TransferGuesstCustomer",
this.transferMsg,
(res) => {
if (res.data.resultCode == 1) {
this.multipleSelection = [];
this.transferVisible = false;
if (type === 3) {} {
this.drawer = false;
}
this.$message.success(res.data.message);
this.getList();
this.transferMsg = {
IDs: [],
EmpId: "",
};
}
}
);
}
console.log("转移");
},
showMessageFromChild(list) {
this.mySelectCtrl = !this.mySelectCtrl;
if (list) {
this.queryType = list;
this.getList();
}
},
editCust() {
this.dialogTableVisibleName = "修改直客";
this.dialogTableVisible = true;
},
openDetails(scope) {
this.drawer = true;
this.CustomerId = scope.row.ID;
this.CustomerName = scope.row.GusetName;
},
handleSizeChange(val) {
this.msg.pageSize = val;
this.getList();
},
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList();
},
handleClose(done) {
done();
},
getList: function() {
this.tableData = [];
this.loading = true;
this.apipost(
"/api/Customer/GetGuesstCustomerPageList",
this.msg,
(res) => {
if (res.data.resultCode == 1) {
this.tableData = res.data.data.pageData;
this.tableData.map((x) => {
if (x.EconomicCapability) {
x.EconomicCapability = JSON.parse(x.EconomicCapability);
} else {
x.EconomicCapability = [];
}
});
this.total = res.data.data.count;
this.loading = false;
}
}
);
},
handleSelectionChange(val) {
this.multipleSelection = val.map((x) => x.ID);
},
}, },
(res) => { };
if (res.data.resultCode == 1) { </script>
this.$message.success("操作成功"); \ No newline at end of file
this.getList();
}
}
);
},
// 转移
transfer(type) {
if (type !== 2) {
if (type === 3) {
this.multipleSelection.push(this.CustomerId);
}
this.transferVisible = true;
} else {
if (this.transferMsg.EmpId === "") {
return this.$message.error("请选择变更负责人!");
}
let str = "";
this.multipleSelection.map((x, i) => {
str = str + x + ",";
});
this.transferMsg.IDs = str.substring(0, str.length - 1);
this.apipost(
"/api/Customer/TransferGuesstCustomer",
this.transferMsg,
(res) => {
if (res.data.resultCode == 1) {
this.multipleSelection = [];
this.transferVisible = false;
if (type === 3) {
}
{
this.drawer = false;
}
this.$message.success(res.data.message);
this.getList();
this.transferMsg = {
IDs: [],
EmpId: "",
};
}
}
);
}
console.log("转移");
},
showMessageFromChild(list) {
this.mySelectCtrl = !this.mySelectCtrl;
if (list) {
this.queryType = list;
this.getList();
}
},
editCust() {
this.dialogTableVisibleName = "修改直客";
this.dialogTableVisible = true;
},
openDetails(scope) {
this.drawer = true;
this.CustomerId = scope.row.ID;
this.CustomerName = scope.row.GusetName;
},
handleSizeChange(val) {
this.msg.pageSize = val;
this.getList();
},
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList();
},
handleClose(done) {
done();
},
getList: function() {
this.tableData = [];
this.loading = true;
this.apipost(
"/api/Customer/GetGuesstCustomerPageList",
this.msg,
(res) => {
if (res.data.resultCode == 1) {
this.tableData = res.data.data.pageData;
this.tableData.map((x) => {
if (x.EconomicCapability) {
x.EconomicCapability = JSON.parse(x.EconomicCapability);
} else {
x.EconomicCapability = [];
}
});
this.total = res.data.data.count;
this.loading = false;
}
}
);
},
handleSelectionChange(val) {
this.multipleSelection = val.map((x) => x.ID);
},
},
};
</script>
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