Commit 9ac19078 authored by 黄奎's avatar 黄奎

页面修改

parent b4ec03f7
<style> <style>
@import '../../assets/css/Record.css'; @import '../../assets/css/Record.css';
</style> </style>
<template> <template>
<div class="Record" id="Record"> <div class="Record" id="Record">
<div class="ha-cont" style="justify-content: flex-start; align-items: stretch;" v-for="(item, index) in logList" :key="index"> <div class="ha-cont" style="justify-content: flex-start; align-items: stretch;" v-for="(item, index) in logList"
:key="index">
<div class="ha-circle"></div> <div class="ha-circle"></div>
<div class="ha-time">{{item.UpdateDate}}</div> <div class="ha-time">{{item.UpdateDate}}</div>
<!-- <div class="ha-name">admin</div> --> <!-- <div class="ha-name">admin</div> -->
...@@ -18,52 +18,52 @@ ...@@ -18,52 +18,52 @@
</div> </div>
</div> </div>
</template> </template>
</template>
<script> <script>
export default { export default {
props: ['CustomerId'], props: ['CustomerId'],
data() { data() {
return { return {
logList: [], logList: [],
msg: { msg: {
Type: 4, Type: 4,
pageIndex: 1, pageIndex: 1,
pageSize: 10, pageSize: 10,
SourceId: 0 SourceId: 0
}
};
},watch:{
},
mounted() {
let $this= this
document
.getElementById("Record")
.addEventListener("scroll", function() {
//全部动态
if (this.scrollHeight - this.scrollTop === this.clientHeight) {
$this.logMsg.pageIndex = $this.logMsg.pageIndex + 1
$this.GetOperationLogPageList(1)
} }
}); };
this.msg.SourceId = this.CustomerId },
this.GetOperationLogPageList() watch: {
},
methods: { },
GetOperationLogPageList(t){ mounted() {
this.apipost('/api/Customer/GetOperationLogPageList', this.msg, res=>{ let $this = this
if (res.data.resultCode == 1) { document
let data = res.data.data .getElementById("Record")
if (t) { .addEventListener("scroll", function () {
this.logList = this.logList.concat( //全部动态
data.pageData if (this.scrollHeight - this.scrollTop === this.clientHeight) {
) $this.logMsg.pageIndex = $this.logMsg.pageIndex + 1
} else { $this.GetOperationLogPageList(1)
this.logList = data.pageData
} }
} });
}) this.msg.SourceId = this.CustomerId
this.GetOperationLogPageList()
},
methods: {
GetOperationLogPageList(t) {
this.apipost('/api/Customer/GetOperationLogPageList', this.msg, res => {
if (res.data.resultCode == 1) {
let data = res.data.data
if (t) {
this.logList = this.logList.concat(
data.pageData
)
} else {
this.logList = data.pageData
}
}
})
}
} }
} }
}
</script> </script>
\ No newline at end of file
...@@ -194,13 +194,15 @@ ...@@ -194,13 +194,15 @@
@size-change="handleSizeChange" :total="total"> @size-change="handleSizeChange" :total="total">
</el-pagination> </el-pagination>
</div> </div>
<el-drawer :with-header="false" size='70%' :visible.sync="isShowCustomerInfo" direction="rtl" :before-close="handleClose"> <el-drawer :with-header="false" size='70%' :visible.sync="isShowCustomerInfo" direction="rtl"
:before-close="handleClose">
<customerInfoBox :CustomerId="CustomerId" @transferS="transfer" @deleteClue="deleteClue" @watersS="waters" <customerInfoBox :CustomerId="CustomerId" @transferS="transfer" @deleteClue="deleteClue" @watersS="waters"
@editCustS="editCust" /> @editCustS="editCust" @getList="getList" />
</el-drawer> </el-drawer>
<el-drawer :with-header="false" size='70%' :visible.sync="isShowGuestInfo" direction="rtl" :before-close="handleClose"> <el-drawer :with-header="false" size='70%' :visible.sync="isShowGuestInfo" direction="rtl"
:before-close="handleClose">
<guestInfoBox :CustomerId="CustomerId" @transferS="transfer" @deleteClue="deleteClue" @watersS="waters" <guestInfoBox :CustomerId="CustomerId" @transferS="transfer" @deleteClue="deleteClue" @watersS="waters"
@editCustS="editCust" /> @editCustS="editCust" @getList="getList" />
</el-drawer> </el-drawer>
<div v-if="dialogTableVisible"> <div v-if="dialogTableVisible">
<customerDialogBox @getList="getList" :name="dialogTableVisibleName" :CustomerId="CustomerId" /> <customerDialogBox @getList="getList" :name="dialogTableVisibleName" :CustomerId="CustomerId" />
...@@ -256,7 +258,7 @@ ...@@ -256,7 +258,7 @@
return { return {
ruleList: [], ruleList: [],
guestDialogBoxShow: false, guestDialogBoxShow: false,
isShowGuestInfo: false,//是否显示直客弹窗 isShowGuestInfo: false, //是否显示直客弹窗
activeMenu: 1, activeMenu: 1,
queryType2: [{ queryType2: [{
label: '线索名称', label: '线索名称',
...@@ -336,7 +338,7 @@ ...@@ -336,7 +338,7 @@
CustomerIdStr: '', CustomerIdStr: '',
transferVisible: false, transferVisible: false,
mySelectCtrl: false, mySelectCtrl: false,
isShowCustomerInfo: false,//是否显示客户弹窗 isShowCustomerInfo: false, //是否显示客户弹窗
loading: true, loading: true,
dialogTableVisible: false, dialogTableVisible: false,
dialogTableVisibleName: '新建线索', dialogTableVisibleName: '新建线索',
...@@ -527,10 +529,6 @@ ...@@ -527,10 +529,6 @@
//导出 //导出
export () { export () {
},
// 更改状态
changeState() {
}, },
//转换为客户 //转换为客户
waters(type) { waters(type) {
......
<style> <style>
.drawer-box{ .drawer-box {
height: 100%; height: 100%;
} }
.drawer-header{
height: 83px; .drawer-header {
display: flex; height: 83px;
align-items: center; display: flex;
justify-content: space-between; align-items: center;
padding: 0 30px; justify-content: space-between;
} padding: 0 30px;
.drawer-header .left{ }
display: flex;
align-items: center; .drawer-header .left {
} display: flex;
.drawer-header .left img{ align-items: center;
display: inline-block; }
margin-right: 10px;
} .drawer-header .left img {
.drawer-body{ display: inline-block;
height: calc( 100% - 83px); margin-right: 10px;
} }
.drawer-body .top-info{
height: 115px; .drawer-body {
padding: 30px; height: calc(100% - 83px);
box-sizing: border-box; }
font-size: 12px;
background-color: #F6F4FC; .drawer-body .top-info {
} height: 115px;
.drawer-body .top-info .info-lable{ padding: 30px;
display: inline-block; box-sizing: border-box;
width: 80px; font-size: 12px;
color: #999999; background-color: #F6F4FC;
} }
.margin-bottom-25{
margin-bottom: 25px; .drawer-body .top-info .info-lable {
} display: inline-block;
.drawer-box .el-tabs__nav-wrap::after{ width: 80px;
height: 0; color: #999999;
} }
.drawer-body .el-tabs__header{
padding: 0 25px; .margin-bottom-25 {
margin-bottom: 0; margin-bottom: 25px;
} }
.drawer-body>.content{
height: calc(100% - 115px); .drawer-box .el-tabs__nav-wrap::after {
} height: 0;
.drawer-body .el-tabs{ }
height: 100%;
} .drawer-body .el-tabs__header {
.drawer-body .el-tabs__content{ padding: 0 25px;
background-color: #F6F4FC; margin-bottom: 0;
height: calc(100% - 40px); }
box-sizing: border-box;
} .drawer-body>.content {
.drawer-body .el-tabs__content .el-tab-pane{ height: calc(100% - 115px);
height: 100%; }
position: absolute;
width: calc(100%); .drawer-body .el-tabs {
padding: 17px 20px; height: 100%;
box-sizing: border-box }
}
.drawer-body .el-tabs__content {
background-color: #F6F4FC;
height: calc(100% - 40px);
box-sizing: border-box;
}
.drawer-body .el-tabs__content .el-tab-pane {
height: 100%;
position: absolute;
width: calc(100%);
padding: 17px 20px;
box-sizing: border-box
}
</style> </style>
<template> <template>
<div class="drawer-box" v-if="loading"> <div class="drawer-box" v-if="loading">
...@@ -69,15 +82,17 @@ ...@@ -69,15 +82,17 @@
<p>{{detailsData.CustomerName}}</p> <p>{{detailsData.CustomerName}}</p>
</div> </div>
<div class="right"> <div class="right">
<el-button class="crm-btn query-btn" @click="editCust">编辑</el-button> <el-button class="crm-btn query-btn" @click="editCustomerInfo">编辑</el-button>
<el-dropdown @command="handleCommand" style="top: 1px;"> <el-dropdown @command="handleCommand" style="top: 1px;">
<el-button class="crm-btn crm-btn-more easy-btn margin-right0"> <el-button class="crm-btn crm-btn-more easy-btn margin-right0">
<i class="iconfont icongengduo"></i> <i class="iconfont icongengduo"></i>
</el-button> </el-button>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item command="z"><i class="iconfont iconplus-transfer"></i> 转移</el-dropdown-item> <el-dropdown-item command="z"><i class="iconfont iconplus-transfer"></i> 转移</el-dropdown-item>
<el-dropdown-item command="g"><i class="iconfont icongonghaiguanli"></i> 转化为客户</el-dropdown-item> <el-dropdown-item command="g"><i class="iconfont icongonghaiguanli"></i> 转化为客户
</el-dropdown-item>
<el-dropdown-item command="d"><i class="iconfont icondelete"></i> 删除</el-dropdown-item> <el-dropdown-item command="d"><i class="iconfont icondelete"></i> 删除</el-dropdown-item>
<el-dropdown-item command="w"><i class="iconfont icondelete"></i> 无效线索</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
</div> </div>
...@@ -89,7 +104,7 @@ ...@@ -89,7 +104,7 @@
<span class="info-lable">客户级别:</span><span>{{detailsData.CustomerIdLevelStr}}</span> <span class="info-lable">客户级别:</span><span>{{detailsData.CustomerIdLevelStr}}</span>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<span class="info-lable">成交状态:</span><span >已成交</span> <span class="info-lable">成交状态:</span><span>已成交</span>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
...@@ -107,113 +122,133 @@ ...@@ -107,113 +122,133 @@
<Activity v-if="activeName === '1'" :CustomerId="CustomerId" /> <Activity v-if="activeName === '1'" :CustomerId="CustomerId" />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="详细资料" name="2"> <el-tab-pane label="详细资料" name="2">
<Details v-if="activeName === '2'" :detailsData="detailsData"/> <Details v-if="activeName === '2'" :detailsData="detailsData" />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="附件" name="8"> <el-tab-pane label="附件" name="8">
<Enclosure v-if="activeName === '8'" :ID='CustomerId' :type='1'/> <Enclosure v-if="activeName === '8'" :ID='CustomerId' :type='1' />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="操作记录" name="9"> <el-tab-pane label="操作记录" name="9">
<Record v-if="activeName === '9'" :CustomerId="CustomerId"/> <Record v-if="activeName === '9'" :CustomerId="CustomerId" />
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
</div> </div>
</div> </div>
<invalidDialogBox v-if="isShowInvalidBox" :customerInfo="detailsData" @success="refreshParentPage" />
</div> </div>
</template> </template>
<script> <script>
import Activity from "./Activity"; import Activity from "./Activity";
import Details from "./Details"; import Details from "./Details";
import Enclosure from "./Enclosure"; import Enclosure from "./Enclosure";
import Record from "./Record"; import Record from "./Record";
export default { import invalidDialogBox from "./invalidDialogBox";
components: { export default {
Activity, components: {
Details, Activity,
Enclosure, Details,
Record Enclosure,
}, Record,
props:{ invalidDialogBox
CustomerId: {
type: Number,
default: 0
}
},
data() {
return {
activeName: '1',
detailsData: {},
loading: false,
};
},watch:{
CustomerId: {
handler(val, oldVal){
this.init()
this.activeName = '1'
},
deep:true
}
},
mounted() {
let $this = this
$this.init()
// 监听修改更新界面
this.MsgBus.$on('RefreshInfoBox', function () {
$this.init()
})
},
methods: {
init(){
this.apipost('/api/Customer/GetAllCustmersModel', {CustomerId: this.CustomerId}, res=>{
if (res.data.resultCode == 1) {
let data = res.data.data
if(!data.HousePhotos){
data.HousePhotos = []
}
if(!data.BusinessCardPhotos){
data.BusinessCardPhotos = []
}
if(!data.Images){
data.Images = []
}
if(!data.CustomerSourceType){
data.CustomerSourceType = ''
}
if(!data.CustomerSource){
data.CustomerSource = ''
}
if(!data.Province){
data.Province = ''
}
if(!data.Country){
data.Country = ''
}
if(!data.City){
data.City = ''
}
if(!data.District){
data.District = ''
}
this.detailsData = data
this.loading = true
}
})
}, },
handleCommand(command){ props: {
if (command === 'z') { CustomerId: {
this.$emit('transferS', 3); type: Number,
} else if (command === 'g') { default: 0
this.$emit('watersS', 1)
} else if (command === 'd') {
this.$emit('deleteClue', 1)
} }
}, },
handleClick(tab, event) {}, data() {
editCust(){ return {
this.$emit('editCustS', 1) activeName: '1',
detailsData: {},
loading: false,
isShowInvalidBox: false,
};
},
watch: {
CustomerId: {
handler(val, oldVal) {
this.init()
this.activeName = '1'
},
deep: true
}
}, },
handleClose(done) { mounted() {
done(); let $this = this
$this.init()
// 监听修改更新界面
this.MsgBus.$on('RefreshInfoBox', function () {
$this.init()
})
//关闭无效线索弹窗
this.MsgBus.$on('closeInvalidDialogBox', function () {
$this.isShowInvalidBox = false;
})
},
methods: {
//刷新父页面
refreshParentPage() {
this.$emit('getList')
},
init() {
this.apipost('/api/Customer/GetAllCustmersModel', {
CustomerId: this.CustomerId
}, res => {
if (res.data.resultCode == 1) {
let data = res.data.data
if (!data.HousePhotos) {
data.HousePhotos = []
}
if (!data.BusinessCardPhotos) {
data.BusinessCardPhotos = []
}
if (!data.Images) {
data.Images = []
}
if (!data.CustomerSourceType) {
data.CustomerSourceType = ''
}
if (!data.CustomerSource) {
data.CustomerSource = ''
}
if (!data.Province) {
data.Province = ''
}
if (!data.Country) {
data.Country = ''
}
if (!data.City) {
data.City = ''
}
if (!data.District) {
data.District = ''
}
this.detailsData = data
this.loading = true
}
})
},
handleCommand(command) {
if (command === 'z') {
this.$emit('transferS', 3);
} else if (command === 'g') {
this.$emit('watersS', 1)
} else if (command === 'd') {
this.$emit('deleteClue', 1)
}
//无效线索弹窗
else if (command === 'w') {
this.isShowInvalidBox = true;
}
},
handleClick(tab, event) {},
//编辑客户信息
editCustomerInfo() {
this.$emit('editCustS', 1)
},
handleClose(done) {
done();
}
} }
} }
}
</script> </script>
\ No newline at end of file
...@@ -82,7 +82,7 @@ ...@@ -82,7 +82,7 @@
<p>{{detailsData.GusetName}}</p> <p>{{detailsData.GusetName}}</p>
</div> </div>
<div class="right"> <div class="right">
<el-button class="crm-btn query-btn" @click="editCust">编辑</el-button> <el-button class="crm-btn query-btn" @click="editGuestInfo">编辑</el-button>
<el-dropdown @command="handleCommand" style="top: 1px;"> <el-dropdown @command="handleCommand" style="top: 1px;">
<el-button class="crm-btn crm-btn-more easy-btn margin-right0"> <el-button class="crm-btn crm-btn-more easy-btn margin-right0">
<i class="iconfont icongengduo"></i> <i class="iconfont icongengduo"></i>
...@@ -119,7 +119,8 @@ ...@@ -119,7 +119,8 @@
<div class="content"> <div class="content">
<el-tabs v-model="activeName" @tab-click="handleClick"> <el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="活动" name="1"> <el-tab-pane label="活动" name="1">
<Activity v-if="activeName === '1'" :CustomerId="CustomerId" :showType="2" :detailsData="detailsData" /> <Activity v-if="activeName === '1'" :CustomerId="CustomerId" :showType="2"
:detailsData="detailsData" />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="详细资料" name="2"> <el-tab-pane label="详细资料" name="2">
<Details v-if="activeName === '2'" :detailsData="detailsData" /> <Details v-if="activeName === '2'" :detailsData="detailsData" />
...@@ -132,7 +133,7 @@ ...@@ -132,7 +133,7 @@
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
</div> </div>
<invalidDialogBox v-if="isShowInvalidBox" :guestInfo="detailsData" /> <invalidDialogBox v-if="isShowInvalidBox" :guestInfo="detailsData" @success="refreshParentPage" />
</div> </div>
</div> </div>
</template> </template>
...@@ -180,8 +181,15 @@ ...@@ -180,8 +181,15 @@
this.MsgBus.$on('RefreshInfoBox', function () { this.MsgBus.$on('RefreshInfoBox', function () {
$this.init() $this.init()
}) })
this.MsgBus.$on('closeInvalidDialogBox', function () {
$this.isShowInvalidBox = false;
})
}, },
methods: { methods: {
//刷新父页面
refreshParentPage() {
this.$emit('getList')
},
init() { init() {
this.apipost('/api/Customer/GetAllGuesstCustomerModel', { this.apipost('/api/Customer/GetAllGuesstCustomerModel', {
ID: this.CustomerId ID: this.CustomerId
...@@ -228,19 +236,13 @@ ...@@ -228,19 +236,13 @@
} }
//无效线索弹窗 //无效线索弹窗
else if (command === 'w') { else if (command === 'w') {
this.isShowInvalidBox=true; this.isShowInvalidBox = true;
var pmsg = {};
console.log("this.detailsData", this.detailsData);
// this.apipost('/api/Customer/UpdateClueState', pmsg, res => {
// if (res.data.resultCode == 1) {
// this.SceneEmployeeList = res.data.data
// }
// })
} }
}, },
handleClick(tab, event) {}, handleClick(tab, event) {},
editCust() { //编辑直客信息
this.$emit('editCustS', 2) editGuestInfo() {
this.$emit('editCustS', 2)
}, },
handleClose(done) { handleClose(done) {
done(); done();
......
...@@ -153,14 +153,15 @@ ...@@ -153,14 +153,15 @@
} }
</style> </style>
<template> <template>
<el-dialog :visible.sync="dialogTableVisible" @closed="closedDialog" <el-dialog :visible.sync="dialogTableVisible" @closed="closedDialog" class="add-box add-box1 invalidDialogBox"
class="add-box add-box1 invalidDialogBox" width="450px"> width="450px" append-to-body>
<div class="add-tit" slot="title"> <div class="add-tit" slot="title">
<p><span></span>无效线索弹窗</p> <p><span></span>无效线索标记</p>
<span icon="el-icon-close"></span> <span icon="el-icon-close"></span>
</div> </div>
<div class="form-box"> <div class="form-box">
<el-form ref="form" class="MyEditForm"> <el-form ref="form" class="MyEditForm">
<p class="form-box-tit"><span class="radius"></span> 你正在把线索【{{guestInfo.ClueName}}】,标记为无效</p>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<div class="MyEditForm-item label-pad-left"> <div class="MyEditForm-item label-pad-left">
...@@ -186,6 +187,10 @@ ...@@ -186,6 +187,10 @@
type: Object, type: Object,
default: null, default: null,
}, },
customerInfo: {
type: Object,
default: null,
},
}, },
data() { data() {
return { return {
...@@ -193,13 +198,16 @@ ...@@ -193,13 +198,16 @@
saveMsg: { saveMsg: {
CustomerId: 0, CustomerId: 0,
GueustId: 0, GueustId: 0,
Remark: "" Remark: "",
ClueState: 2,
ClueName: "", //线索名称
} }
}; };
}, },
mounted() { watch: {
console.log("this.guestInfo", this.guestInfo);
},
mounted() {
let $this = this; let $this = this;
setTimeout(() => { setTimeout(() => {
$this.dialogTableVisible = true; $this.dialogTableVisible = true;
...@@ -207,11 +215,28 @@ ...@@ -207,11 +215,28 @@
}, },
methods: { methods: {
closedDialog() { closedDialog() {
this.MsgBus.$emit("closeCustomerDialogBox"); this.MsgBus.$emit("closeInvalidDialogBox");
}, },
//保存无效线索 //保存无效线索
SaveInvalid() { SaveInvalid() {
if (this.guestInfo) {
this.saveMsg.GueustId = this.guestInfo.Id;
this.saveMsg.ClueName = this.guestInfo.ClueName;
}
if (this.customerInfo) {
this.saveMsg.CustomerId = this.customerInfo.CustomerId;
this.saveMsg.ClueName = this.customerInfo.CustomerName;
}
this.apipost('/api/Customer/UpdateClueState', this.saveMsg, res => {
if (res.data.resultCode == 1) {
this.$emit("success");
this.dialogTableVisible = false;
this.Success(res.data.message);
} else {
this.Error(res.data.message);
}
})
}, },
}, },
}; };
......
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