Commit 9a3a93f3 authored by 华国豪's avatar 华国豪 🙄

新增合同修改部分样式问,合并css

parent 5e1efea0
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
"vue-chartjs": "^3.5.0", "vue-chartjs": "^3.5.0",
"vue-echarts-v3": "^1.0.19", "vue-echarts-v3": "^1.0.19",
"vue-lazyload": "^1.2.6", "vue-lazyload": "^1.2.6",
"vue-quill-editor": "^3.0.6",
"vue-router": "^3.0.1", "vue-router": "^3.0.1",
"vue2.0-zoom": "^2.1.1", "vue2.0-zoom": "^2.1.1",
"vuex": "^3.0.1", "vuex": "^3.0.1",
......
...@@ -28,7 +28,7 @@ export default { ...@@ -28,7 +28,7 @@ export default {
<style> <style>
@import './assets/global/font.css'; @import './assets/global/font.css';
@import '//at.alicdn.com/t/font_1627123_3p2i0yd7sda.css'; @import '//at.alicdn.com/t/font_1627123_p3nwdbzx6c.css';
/* @import './assets/css/common.css'; */ /* @import './assets/css/common.css'; */
@import './assets/css/init.css'; @import './assets/css/init.css';
@import './assets/css/tablevoerride.css'; @import './assets/css/tablevoerride.css';
......
.Record{
height: 100%;
overflow: auto;
background-color: white;
padding: 20px;
box-sizing: border-box;
}
.ha-cont{
display: flex;
align-items: center;
font-size: 12px;
position: relative;
line-height: 20px;
min-height: 40px;
padding-top: 3px;
}
.ha-cont .ha-week{
margin: 0 17px 0 10px;
-ms-flex-negative: 0;
flex-shrink: 0;
color: #777;
width: 80px;
}
.ha-cont .ha-circle{
-ms-flex-negative: 0;
flex-shrink: 0;
width: 10px;
height: 10px;
z-index: 2;
border-radius: 9px;
background-color: #fff;
border: 5px solid #a5ecd7;
}
.ha-cont .ha-time{
padding: 0 10px 0 24px;
-ms-flex-negative: 0;
flex-shrink: 0;
color: #aaa;
}
.ha-cont .ha-name {
padding: 0 10px;
-ms-flex-negative: 0;
flex-shrink: 0;
color: #333;
}
.ha-cont .ha-content{
padding: 0 10px 10px;
-webkit-box-flex: 1;
-ms-flex: 1;
flex: 1;
color: #333;
}
.ha-cont .ha-line{
position: absolute;
z-index: 1;
width: 1px;
top: 3px;
bottom: -3px;
left: 9px;
background-color: #e6e6e6;
}
.nodata{
text-align: center;
font-size: 12px;
}
\ No newline at end of file
...@@ -24,7 +24,7 @@ table { border-collapse:collapse; border-spacing:0; } ...@@ -24,7 +24,7 @@ table { border-collapse:collapse; border-spacing:0; }
} }
.crm-btn.el-button{ .crm-btn.el-button{
border-radius: 0; border-radius: 0;
padding: 8px 10px; padding: 12px 10px;
text-align: center; text-align: center;
margin-right: 20px; margin-right: 20px;
} }
...@@ -68,12 +68,15 @@ table { border-collapse:collapse; border-spacing:0; } ...@@ -68,12 +68,15 @@ table { border-collapse:collapse; border-spacing:0; }
color: rgba(255, 164, 117, .8) !important; color: rgba(255, 164, 117, .8) !important;
} }
.crm-btn.crm-btn-more{ .crm-btn.crm-btn-more{
padding: 7px 10px; padding: 11px 15px;
width: auto; width: auto;
} }
.el-input__inner{ .el-input__inner{
border-radius: 0 !important; border-radius: 0 !important;
} }
.el-input-group__append{
border-radius: 0 !important;
}
.MyEditForm .el-form-item .label { .MyEditForm .el-form-item .label {
font-size: 10px; font-size: 10px;
color: #888888; color: #888888;
...@@ -154,7 +157,7 @@ table { border-collapse:collapse; border-spacing:0; } ...@@ -154,7 +157,7 @@ table { border-collapse:collapse; border-spacing:0; }
/* 字体颜色 */ /* 字体颜色 */
.font-color-link{ .font-color-link{
color: #2362fb!important; color: #409eff !important;
} }
.font-color-link:hover,.underline:hover{ .font-color-link:hover,.underline:hover{
text-decoration: underline; text-decoration: underline;
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
<div class="icon"> <div class="icon">
<i class="iconfont iconVerifiedcustomername"></i> <i class="iconfont iconVerifiedcustomername"></i>
</div> </div>
<div class="title">客户</div> <div class="title">客户</div>
<div class="result">10</div> <div class="result">10</div>
<div class="eq"> <div class="eq">
较上月 较上月
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
<div class="icon orange"> <div class="icon orange">
<i class="iconfont iconlianxiren"></i> <i class="iconfont iconlianxiren"></i>
</div> </div>
<div class="title">联系人</div> <div class="title">联系人</div>
<div class="result">30</div> <div class="result">30</div>
<div class="eq"> <div class="eq">
较上月 较上月
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
<div class="icon green"> <div class="icon green">
<i class="iconfont iconshangji-"></i> <i class="iconfont iconshangji-"></i>
</div> </div>
<div class="title">商机</div> <div class="title">商机</div>
<div class="result">5</div> <div class="result">5</div>
<div class="eq"> <div class="eq">
较上月 较上月
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
<div class="icon blue"> <div class="icon blue">
<i class="iconfont icondingdan"></i> <i class="iconfont icondingdan"></i>
</div> </div>
<div class="title">订单</div> <div class="title">订单</div>
<div class="result">9</div> <div class="result">9</div>
<div class="eq"> <div class="eq">
较上月 较上月
...@@ -71,7 +71,7 @@ ...@@ -71,7 +71,7 @@
<div class="icon zi"> <div class="icon zi">
<i class="iconfont iconmoney"></i> <i class="iconfont iconmoney"></i>
</div> </div>
<div class="title">收款</div> <div class="title">收款</div>
<div class="result">200,000</div> <div class="result">200,000</div>
<div class="eq"> <div class="eq">
较上月 较上月
...@@ -83,7 +83,7 @@ ...@@ -83,7 +83,7 @@
<div class="icon yellow"> <div class="icon yellow">
<i class="iconfont iconbaifang"></i> <i class="iconfont iconbaifang"></i>
</div> </div>
<div class="title">拜访</div> <div class="title">拜访</div>
<div class="result">9</div> <div class="result">9</div>
<div class="eq"> <div class="eq">
较上月 较上月
...@@ -95,7 +95,7 @@ ...@@ -95,7 +95,7 @@
<div class="icon grey"> <div class="icon grey">
<i class="iconfont icongenjin"></i> <i class="iconfont icongenjin"></i>
</div> </div>
<div class="title">跟进</div> <div class="title">跟进</div>
<div class="result">30</div> <div class="result">30</div>
<div class="eq"> <div class="eq">
较上月 较上月
...@@ -163,7 +163,7 @@ ...@@ -163,7 +163,7 @@
<div class="icon"></div> <div class="icon"></div>
<div class="item-name">客户汇总</div> <div class="item-name">客户汇总</div>
<div class="item-hui"> <div class="item-hui">
客户 客户
<b>0</b> <b>0</b>
</div> </div>
<div class="item-hui"> <div class="item-hui">
...@@ -179,7 +179,7 @@ ...@@ -179,7 +179,7 @@
<b>0</b> <b>0</b>
</div> </div>
<div class="item-hui"> <div class="item-hui">
客户中未跟进 客户中未跟进
<b>0</b> <b>0</b>
</div> </div>
</div> </div>
...@@ -187,7 +187,7 @@ ...@@ -187,7 +187,7 @@
<div class="icon blue"></div> <div class="icon blue"></div>
<div class="item-name">商机汇总</div> <div class="item-name">商机汇总</div>
<div class="item-hui"> <div class="item-hui">
商机 商机
<b>0</b> <b>0</b>
</div> </div>
<div class="item-hui"> <div class="item-hui">
...@@ -199,7 +199,7 @@ ...@@ -199,7 +199,7 @@
<div class="icon zi"></div> <div class="icon zi"></div>
<div class="item-name">订单汇总</div> <div class="item-name">订单汇总</div>
<div class="item-hui"> <div class="item-hui">
订单 订单
<b>0</b> <b>0</b>
</div> </div>
<div class="item-hui"> <div class="item-hui">
...@@ -290,8 +290,8 @@ ...@@ -290,8 +290,8 @@
<el-col :span="12" class="option-item" style=""> <el-col :span="12" class="option-item" style="">
<el-select v-model="rankType" size="mini" style="width:120px;" placeholder="请选择"> <el-select v-model="rankType" size="mini" style="width:120px;" placeholder="请选择">
<el-option label="销售额排名" value="1"></el-option> <el-option label="销售额排名" value="1"></el-option>
<el-option label="新客户排名" value="2"></el-option> <el-option label="新客户排名" value="2"></el-option>
<el-option label="新商机排名" value="3"></el-option> <el-option label="新商机排名" value="3"></el-option>
</el-select> </el-select>
</el-col> </el-col>
</el-row> </el-row>
......
...@@ -67,12 +67,12 @@ ...@@ -67,12 +67,12 @@
class="home-menu-item" class="home-menu-item"
v-for="(item, index) in navList" v-for="(item, index) in navList"
:key="index" :key="index"
:class="[index === activeIndex ? 'active' : '', activeIndex === index + 1 ? 'shang' : '']" :class="[index === activeIndex ? 'active' : '']"
@click="changeMenu(item, index)" @click="changeMenu(item, index)"
> >
<div> <div>
<i :class="item.class"></i> <i :class="[item.MenuStyle ? JSON.parse(item.MenuStyle).icon : '']"></i>
<span>{{item.name}}</span> <span>{{item.MenuName}}</span>
</div> </div>
</li> </li>
</ul> </ul>
...@@ -135,6 +135,9 @@ export default { ...@@ -135,6 +135,9 @@ export default {
}; };
}, },
mounted() { mounted() {
let userInfo = this.getLocalStorage()
this.userInfo = userInfo
this.navList = userInfo.UserMenu[0].ChildMenu[0].ChildMenu
let $this = this let $this = this
this.MsgBus.$on('setLeftNav', function (val){ this.MsgBus.$on('setLeftNav', function (val){
$this.activeIndex = val; $this.activeIndex = val;
...@@ -144,7 +147,7 @@ export default { ...@@ -144,7 +147,7 @@ export default {
changeMenu: function(item, ind) { changeMenu: function(item, ind) {
this.activeIndex = ind; this.activeIndex = ind;
this.$router.push({ this.$router.push({
path: item.path path: item.MenuUrl
}); });
} }
} }
......
...@@ -77,8 +77,8 @@ ...@@ -77,8 +77,8 @@
<div class="nav-right"> <div class="nav-right">
<div class="nav-right-menu"> <div class="nav-right-menu">
<ul> <ul>
<li :class="{'active':chosenMenuId==item.id}" v-for="(item, index) in menuList" :key="index" @click="chosenFirstLeaveMenu(item)"> <li :class="{'active':chosenMenuId==item.MenuId}" v-for="(item, index) in menuList[0].ChildMenu" :key="index" @click="chosenFirstLeaveMenu(item, index)">
<i class="iconfont" :class="[item.icon]"></i>{{item.name}} <i class="iconfont" :class="[item.MenuStyle ? JSON.parse(item.MenuStyle).icon : '']"></i>{{item.MenuName}}
</li> </li>
</ul> </ul>
</div> </div>
...@@ -104,38 +104,7 @@ export default { ...@@ -104,38 +104,7 @@ export default {
return { return {
activeIndex: 0, activeIndex: 0,
value: 0, value: 0,
menuList: [ menuList: [{ChildMenu: []}],
{
id:1,
name: "客户管理",
path: "/Home",
icon: "iconcompany"
},
{
id:2,
name: "任务/审批",
path: "/home",
icon: "icontask"
},
{
id:3,
name: "日志",
path: "/home",
icon: "iconlog"
},
{
id:4,
name: "通讯录",
path: "/home",
icon: "icontongxunlu"
},
{
id:5,
name: "智能分析",
path: "/home",
icon: "iconareachart"
}
],
chosenMenuId: 0, chosenMenuId: 0,
userInfo: { userInfo: {
EmName: '', EmName: '',
...@@ -146,14 +115,16 @@ export default { ...@@ -146,14 +115,16 @@ export default {
mounted() { mounted() {
let userInfo = this.getLocalStorage() let userInfo = this.getLocalStorage()
this.userInfo = userInfo this.userInfo = userInfo
this.menuList = userInfo.UserMenu
this.chosenMenuId = userInfo.UserMenu[0].ChildMenu[0].MenuId
}, },
methods: { methods: {
chosenFirstLeaveMenu(item){ chosenFirstLeaveMenu(item, index){
this.chosenMenuId = item.id this.chosenMenuId = item.id
this.MsgBus.$emit('setLeftNav', 0) this.MsgBus.$emit('setLeftNav', 0)
this.$router.push({ // this.$router.push({
path: item.path // path: item.path
}); // });
}, },
errorHandler() { errorHandler() {
return true; return true;
......
...@@ -280,19 +280,19 @@ export default { ...@@ -280,19 +280,19 @@ export default {
return { return {
newCast: [ newCast: [
{ {
name: '新客户', name: '新客户',
num: 50 num: 50
},{ },{
name: '新联系人', name: '新联系人',
num: 11 num: 11
},{ },{
name: '新商机', name: '新商机',
num: 467 num: 467
},{ },{
name: '阶段变化的商机', name: '阶段变化的商机',
num: 1 num: 1
},{ },{
name: '新合同', name: '新合同',
num: 39 num: 39
} }
], ],
......
...@@ -324,7 +324,7 @@ ...@@ -324,7 +324,7 @@
</el-form> </el-form>
<div v-if="gjImgList.length" style="margin-bottom: 15px;"> <div v-if="gjImgList.length" style="margin-bottom: 15px;">
<div class="img-box"> <div class="img-box">
<div v-for="(item, index) in gjImgList" :key="index" class="img-item" :style="{'background-image': `url(${item.url})`}"> <div v-for="(item, index) in gjImgList" :key="index" class="img-item" :style="{'background-image': `url(${item.url})`}" @click="previewFile(item.url)">
<div class="img-item-del" @click="deleteImg(index)">×</div> <div class="img-item-del" @click="deleteImg(index)">×</div>
</div> </div>
<el-upload <el-upload
...@@ -413,13 +413,13 @@ ...@@ -413,13 +413,13 @@
<p class="mb-10">{{subItem.LogInfo}}</p> <p class="mb-10">{{subItem.LogInfo}}</p>
<p class="xg-lxr"><span class="font-color-info">相关联系人:</span> <span>{{subItem.CustomerFollowUpModel.ContactName}}</span></p> <p class="xg-lxr"><span class="font-color-info">相关联系人:</span> <span>{{subItem.CustomerFollowUpModel.ContactName}}</span></p>
<div class="img-box mb-10" v-if="subItem.CustomerFollowUpModel.FollowUpImgList"> <div class="img-box mb-10" v-if="subItem.CustomerFollowUpModel.FollowUpImgList">
<div v-for="(img, imgIndex) in subItem.CustomerFollowUpModel.FollowUpImgList" :key="imgIndex" class="img-box-item" :style="`background-image:url(${img.FileUrl})`"></div> <div v-for="(img, imgIndex) in subItem.CustomerFollowUpModel.FollowUpImgList" :key="imgIndex" class="img-box-item" :style="`background-image:url(${img.FileUrl})`" @click="previewFile(img.FileUrl)"></div>
</div> </div>
<div class="mb-10" v-if="subItem.CustomerFollowUpModel.FollowUpFileList" style="display: flex;"> <div class="mb-10" v-if="subItem.CustomerFollowUpModel.FollowUpFileList" style="display: flex;">
<div>附件:</div> <div class="font-color-info">附件:</div>
<div> <div>
<p v-for="(file, fileIndex) in subItem.CustomerFollowUpModel.FollowUpFileList" :key="fileIndex"> <p v-for="(file, fileIndex) in subItem.CustomerFollowUpModel.FollowUpFileList" :key="fileIndex">
<span class="font-color-info">&nbsp;&nbsp;{{file.FileName}} </span>&nbsp;&nbsp;&nbsp;&nbsp; <span >&nbsp;&nbsp;{{file.FileName}} </span>&nbsp;&nbsp;&nbsp;&nbsp;
<span class="font-color-link cp" @click="previewFile(file.FileUrl)"> 预览</span> <span class="font-color-link cp" @click="previewFile(file.FileUrl)"> 预览</span>
</p> </p>
</div> </div>
...@@ -437,6 +437,7 @@ ...@@ -437,6 +437,7 @@
<div v-if="addContactsShow"> <div v-if="addContactsShow">
<addContacts :ID="CustomerId" @addContactsOk="addContactsOk"/> <addContacts :ID="CustomerId" @addContactsOk="addContactsOk"/>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
...@@ -551,7 +552,15 @@ export default { ...@@ -551,7 +552,15 @@ export default {
this.GetLogPageList() this.GetLogPageList()
}, },
methods: { methods: {
addBusiness(){
let $this= this
this.MsgBus.$emit('addBusinessBoxOpen', $this.CustomerId, 0)
},
previewFile(file) { previewFile(file) {
if (file.IsPicture()) {
this.MsgBus.$emit('showImg', file)
return
}
window.open(file, "_blank"); window.open(file, "_blank");
}, },
GetLogPageList(t){ GetLogPageList(t){
...@@ -714,6 +723,8 @@ export default { ...@@ -714,6 +723,8 @@ export default {
this.addContactsShow = true this.addContactsShow = true
} else if (param.id < 3) { } else if (param.id < 3) {
this.type = param.id this.type = param.id
} else if (param.id === 4) {
this.addBusiness()
} }
} }
} }
......
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
show-overflow-tooltip> show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
<p v-if="scope.row.IsFirstContact === 1" class="font-color-warning">首要联系人</p> <p v-if="scope.row.IsFirstContact === 1" class="font-color-warning">首要联系人</p>
<p v-else class="font-color-link cp" @click="SetFirstContact(scope)">设为首要联系人</p> <p v-else-if="IsRead === 0 && scope.row.IsFirstContact !== 1" class="font-color-link cp" @click="SetFirstContact(scope)">设为首要联系人</p>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -60,6 +60,10 @@ export default { ...@@ -60,6 +60,10 @@ export default {
CustomerId: { CustomerId: {
type: Number, type: Number,
default: 0 default: 0
},
IsRead: {
type: Number,
default: 0
} }
}, },
data() { data() {
......
<style> <style>
.Record{ @import '../../assets/css/Record.css';
height: 100%;
overflow: auto;
background-color: white;
padding: 10px;
box-sizing: border-box;
}
.ha-cont{
display: flex;
align-items: center;
font-size: 12px;
position: relative;
line-height: 20px;
min-height: 40px;
padding-top: 3px;
}
.ha-cont .ha-week{
margin: 0 17px 0 10px;
-ms-flex-negative: 0;
flex-shrink: 0;
color: #777;
width: 80px;
}
.ha-cont .ha-circle{
-ms-flex-negative: 0;
flex-shrink: 0;
width: 10px;
height: 10px;
z-index: 2;
border-radius: 9px;
background-color: #fff;
border: 5px solid #a5ecd7;
}
.ha-cont .ha-time{
padding: 0 10px 0 24px;
-ms-flex-negative: 0;
flex-shrink: 0;
color: #aaa;
}
.ha-cont .ha-name {
padding: 0 10px;
-ms-flex-negative: 0;
flex-shrink: 0;
color: #333;
}
.ha-cont .ha-content{
padding: 0 10px 10px;
-webkit-box-flex: 1;
-ms-flex: 1;
flex: 1;
color: #333;
}
.ha-cont .ha-line{
position: absolute;
z-index: 1;
width: 1px;
top: 3px;
bottom: -3px;
left: 9px;
background-color: #e6e6e6;
}
.nodata{
text-align: center;
font-size: 12px;
}
</style> </style>
<template> <template>
<div class="Record" id="Record"> <div class="Record" id="Record">
......
...@@ -7,9 +7,9 @@ ...@@ -7,9 +7,9 @@
<template> <template>
<div class="addTeamman"> <div class="addTeamman">
<div class="addTeamman-ctrl"> <div class="addTeamman-ctrl">
<el-button icon="el-icon-plus" class="crm-btn crm-btn-mini query-btn" @click="addTeammanShow=true">团队成员</el-button> <el-button icon="el-icon-plus" class="crm-btn crm-btn-mini query-btn" @click="addTeammanShow=true" v-if="IsRead === 0">团队成员</el-button>
<el-button class="crm-btn query-btn crm-btn-mini easy-btn" @click="bianji">编辑</el-button> <el-button class="crm-btn query-btn crm-btn-mini easy-btn" @click="bianji" v-if="IsRead === 0">编辑</el-button>
<el-button class="crm-btn query-btn crm-btn-mini easy-btn" @click="yichu">移除</el-button> <el-button class="crm-btn query-btn crm-btn-mini easy-btn" @click="yichu" v-if="IsRead === 0">移除</el-button>
<el-button class="crm-btn query-btn crm-btn-mini org-btn margin-right0" @click="tuichu">退出团队</el-button> <el-button class="crm-btn query-btn crm-btn-mini org-btn margin-right0" @click="tuichu">退出团队</el-button>
</div> </div>
<el-table <el-table
...@@ -72,6 +72,10 @@ export default { ...@@ -72,6 +72,10 @@ export default {
CustomerId: { CustomerId: {
type: Number, type: Number,
default: 0 default: 0
},
IsRead: {
type: Number,
default: 0
} }
}, },
data() { data() {
......
...@@ -69,9 +69,9 @@ ...@@ -69,9 +69,9 @@
<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="editCust" v-if="detailsData.IsRead === 0">编辑</el-button>
<el-button class="crm-btn easy-btn iconfont iconwancheng">更改成交状态</el-button> <el-button class="crm-btn easy-btn iconfont iconwancheng" v-if="detailsData.IsRead === 0">更改成交状态</el-button>
<el-dropdown @command="handleCommand" style="top: 1px;"> <el-dropdown @command="handleCommand" style="top: 1px;" v-if="detailsData.IsRead === 0">
<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>
...@@ -113,10 +113,10 @@ ...@@ -113,10 +113,10 @@
<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="3"> <el-tab-pane label="联系人" name="3">
<Contacts v-if="activeName === '3'" :CustomerId="CustomerId" /> <Contacts v-if="activeName === '3'" :CustomerId="CustomerId" :IsRead="detailsData.IsRead"/>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="团队成员" name="4"> <el-tab-pane label="团队成员" name="4">
<TeamMembers v-if="activeName === '4'" :CustomerId="CustomerId"/> <TeamMembers v-if="activeName === '4'" :CustomerId="CustomerId" :IsRead="detailsData.IsRead"/>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="商机" name="5"> <el-tab-pane label="商机" name="5">
<Business v-if="activeName === '5'" :ID="CustomerId"/> <Business v-if="activeName === '5'" :ID="CustomerId"/>
......
...@@ -321,7 +321,7 @@ ...@@ -321,7 +321,7 @@
</el-form> </el-form>
<div v-if="gjImgList.length" style="margin-bottom: 15px;"> <div v-if="gjImgList.length" style="margin-bottom: 15px;">
<div class="img-box"> <div class="img-box">
<div v-for="(item, index) in gjImgList" :key="index" class="img-item" :style="{'background-image': `url(${item.url})`}"> <div v-for="(item, index) in gjImgList" :key="index" class="img-item" :style="{'background-image': `url(${item.url})`}" @click="previewFile(item.url)">
<div class="img-item-del" @click="deleteImg(index)">×</div> <div class="img-item-del" @click="deleteImg(index)">×</div>
</div> </div>
<el-upload <el-upload
...@@ -409,13 +409,13 @@ ...@@ -409,13 +409,13 @@
<div> <div>
<p class="mb-10">{{subItem.LogInfo}}</p> <p class="mb-10">{{subItem.LogInfo}}</p>
<div class="img-box mb-10" v-if="subItem.CustomerFollowUpModel.FollowUpImgList"> <div class="img-box mb-10" v-if="subItem.CustomerFollowUpModel.FollowUpImgList">
<div v-for="(img, imgIndex) in subItem.CustomerFollowUpModel.FollowUpImgList" :key="imgIndex" class="img-box-item" :style="`background-image:url(${img.FileUrl})`"></div> <div v-for="(img, imgIndex) in subItem.CustomerFollowUpModel.FollowUpImgList" :key="imgIndex" class="img-box-item" :style="`background-image:url(${img.FileUrl})`" @click="previewFile(img.FileUrl)"></div>
</div> </div>
<div class="mb-10" v-if="subItem.CustomerFollowUpModel.FollowUpFileList" style="display: flex;"> <div class="mb-10" v-if="subItem.CustomerFollowUpModel.FollowUpFileList" style="display: flex;">
<div>附件:</div> <div class="font-color-info">附件:</div>
<div> <div>
<p v-for="(file, fileIndex) in subItem.CustomerFollowUpModel.FollowUpFileList" :key="fileIndex"> <p v-for="(file, fileIndex) in subItem.CustomerFollowUpModel.FollowUpFileList" :key="fileIndex">
<span class="font-color-info">&nbsp;&nbsp;{{file.FileName}} </span>&nbsp;&nbsp;&nbsp;&nbsp; <span >&nbsp;&nbsp;{{file.FileName}} </span>&nbsp;&nbsp;&nbsp;&nbsp;
<span class="font-color-link cp" @click="previewFile(file.FileUrl)"> 预览</span> <span class="font-color-link cp" @click="previewFile(file.FileUrl)"> 预览</span>
</p> </p>
</div> </div>
...@@ -546,6 +546,10 @@ export default { ...@@ -546,6 +546,10 @@ export default {
}, },
methods: { methods: {
previewFile(file) { previewFile(file) {
if (file.IsPicture()) {
this.MsgBus.$emit('showImg', file)
return
}
window.open(file, "_blank"); window.open(file, "_blank");
}, },
GetLogPageList(t){ GetLogPageList(t){
...@@ -605,6 +609,7 @@ export default { ...@@ -605,6 +609,7 @@ export default {
NextContactDate: '', NextContactDate: '',
ContactContent: '' ContactContent: ''
} }
this.GetLogPageList()
} }
}) })
}, },
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
<div class="Contacts"> <div class="Contacts">
<div class="add-contacts"> <div class="add-contacts">
<el-button class="crm-btn query-btn crm-btn-mini easy-btn" @click="guanlian">关联</el-button> <el-button class="crm-btn query-btn crm-btn-mini easy-btn" @click="guanlian">关联</el-button>
<el-button class="crm-btn query-btn crm-btn-mini easy-btn" @click="jiechuguanlian">解除关联</el-button> <el-button class="crm-btn query-btn crm-btn-mini easy-btn" @click="jiechuguanlian" v-if="IsRead === 0">解除关联</el-button>
<el-button icon="el-icon-plus" class="crm-btn query-btn crm-btn-mini margin-right0" @click="addContactsShow=true">新建联系人</el-button> <el-button icon="el-icon-plus" class="crm-btn query-btn crm-btn-mini margin-right0" @click="addContactsShow=true">新建联系人</el-button>
</div> </div>
<el-table <el-table
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
show-overflow-tooltip> show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
<p v-if="scope.row.IsFirstContact === 1" class="font-color-warning">首要联系人</p> <p v-if="scope.row.IsFirstContact === 1" class="font-color-warning">首要联系人</p>
<p v-else class="font-color-link cp" @click="SetFirstContact(scope)">设为首要联系人</p> <p v-else-if="IsRead === 0 && scope.row.IsFirstContact !== 1" class="font-color-link cp" @click="SetFirstContact(scope)">设为首要联系人</p>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -105,6 +105,10 @@ export default { ...@@ -105,6 +105,10 @@ export default {
BusinessIdCustomerId: { BusinessIdCustomerId: {
type: Number, type: Number,
default: 0 default: 0
},
IsRead: {
type: Number,
default: 0
} }
}, },
data() { data() {
......
<style> <style>
.Record{ @import '../../assets/css/Record.css';
height: 100%;
overflow: auto;
background-color: white;
padding: 10px;
box-sizing: border-box;
}
.ha-cont{
display: flex;
align-items: center;
font-size: 12px;
position: relative;
line-height: 20px;
min-height: 40px;
padding-top: 3px;
}
.ha-cont .ha-circle{
-ms-flex-negative: 0;
flex-shrink: 0;
width: 10px;
height: 10px;
z-index: 2;
border-radius: 9px;
background-color: #fff;
border: 5px solid #a5ecd7;
}
.ha-cont .ha-time{
padding: 0 10px 0 24px;
-ms-flex-negative: 0;
flex-shrink: 0;
color: #aaa;
}
.ha-cont .ha-name {
padding: 0 10px;
-ms-flex-negative: 0;
flex-shrink: 0;
color: #333;
}
.ha-cont .ha-content{
padding: 0 10px 10px;
-webkit-box-flex: 1;
-ms-flex: 1;
flex: 1;
color: #333;
}
.ha-cont .ha-line{
position: absolute;
z-index: 1;
width: 1px;
top: 3px;
bottom: -3px;
left: 9px;
background-color: #e6e6e6;
}
.nodata{
text-align: center;
font-size: 12px;
}
</style> </style>
<template> <template>
<div class="Record" id="Record"> <div class="Record" id="Record">
......
...@@ -7,9 +7,9 @@ ...@@ -7,9 +7,9 @@
<template> <template>
<div class="addTeamman"> <div class="addTeamman">
<div class="addTeamman-ctrl"> <div class="addTeamman-ctrl">
<el-button icon="el-icon-plus" class="crm-btn crm-btn-mini query-btn" @click="addTeammanShow=true">团队成员</el-button> <el-button icon="el-icon-plus" class="crm-btn crm-btn-mini query-btn" @click="addTeammanShow=true" v-if="IsRead === 0">团队成员</el-button>
<el-button class="crm-btn query-btn crm-btn-mini easy-btn" @click="bianji">编辑</el-button> <el-button class="crm-btn query-btn crm-btn-mini easy-btn" @click="bianji" v-if="IsRead === 0">编辑</el-button>
<el-button class="crm-btn query-btn crm-btn-mini easy-btn" @click="yichu">移除</el-button> <el-button class="crm-btn query-btn crm-btn-mini easy-btn" @click="yichu" v-if="IsRead === 0">移除</el-button>
<el-button class="crm-btn query-btn crm-btn-mini org-btn margin-right0" @click="tuichu">退出团队</el-button> <el-button class="crm-btn query-btn crm-btn-mini org-btn margin-right0" @click="tuichu">退出团队</el-button>
</div> </div>
<el-table <el-table
...@@ -72,6 +72,10 @@ export default { ...@@ -72,6 +72,10 @@ export default {
BusinessId: { BusinessId: {
type: Number, type: Number,
default: 0 default: 0
},
IsRead: {
type: Number,
default: 0
} }
}, },
data() { data() {
......
...@@ -178,9 +178,9 @@ ...@@ -178,9 +178,9 @@
<p>{{detailsData.BusinessName}}</p> <p>{{detailsData.BusinessName}}</p>
</div> </div>
<div class="right"> <div class="right">
<el-button class="crm-btn query-btn" @click="editCustbusiness">编辑</el-button> <el-button class="crm-btn query-btn" @click="editCustbusiness" v-if="detailsData.IsRead === 0">编辑</el-button>
<el-button class="crm-btn easy-btn iconfont iconplus-transfer ">转移</el-button> <el-button class="crm-btn easy-btn iconfont iconplus-transfer " v-if="detailsData.IsRead === 0">转移</el-button>
<el-dropdown @command="handleCommand" style="top: 1px;"> <el-dropdown @command="handleCommand" style="top: 1px;" v-if="detailsData.IsRead === 0">
<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>
...@@ -282,10 +282,10 @@ ...@@ -282,10 +282,10 @@
<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="3"> <el-tab-pane label="联系人" name="3">
<Contacts v-if="activeName === '3'" :BusinessId="BusinessId" :BusinessIdCustomerId="detailsData.CustomerId" /> <Contacts v-if="activeName === '3'" :BusinessId="BusinessId" :BusinessIdCustomerId="detailsData.CustomerId" :IsRead="detailsData.IsRead"/>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="团队成员" name="4"> <el-tab-pane label="团队成员" name="4">
<TeamMembers v-if="activeName === '4'" :BusinessId="BusinessId"/> <TeamMembers v-if="activeName === '4'" :BusinessId="BusinessId" :IsRead="detailsData.IsRead"/>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="合同" name="6"> <el-tab-pane label="合同" name="6">
<Agreement /> <Agreement />
...@@ -294,7 +294,7 @@ ...@@ -294,7 +294,7 @@
<MoneyBack /> <MoneyBack />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="附件" name="8"> <el-tab-pane label="附件" name="8">
<Enclosure v-if="activeName === '8'" :ID='BusinessId' :type='2'/> <Enclosure v-if="activeName === '8'" :ID='BusinessId' :type='2' :IsRead="detailsData.IsRead"/>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="操作记录" name="9"> <el-tab-pane label="操作记录" name="9">
<Record v-if="activeName === '9'" /> <Record v-if="activeName === '9'" />
......
...@@ -303,7 +303,7 @@ export default { ...@@ -303,7 +303,7 @@ export default {
], ],
BusinessId: 0, BusinessId: 0,
BusinessIdCustomerId: 0, BusinessIdCustomerId: 0,
dialogTableVisibleName: '新客户', dialogTableVisibleName: '新客户',
dialogBusinessVisibleName: '新建商机', dialogBusinessVisibleName: '新建商机',
CustomerId: 0, CustomerId: 0,
CustomerIdStr: '', CustomerIdStr: '',
......
...@@ -305,7 +305,7 @@ ...@@ -305,7 +305,7 @@
</el-form> </el-form>
<div v-if="gjImgList.length" style="margin-bottom: 15px;"> <div v-if="gjImgList.length" style="margin-bottom: 15px;">
<div class="img-box"> <div class="img-box">
<div v-for="(item, index) in gjImgList" :key="index" class="img-item" :style="{'background-image': `url(${item.url})`}"> <div v-for="(item, index) in gjImgList" :key="index" class="img-item" :style="{'background-image': `url(${item.url})`}" @click="previewFile(item.url)">
<div class="img-item-del" @click="deleteImg(index)">×</div> <div class="img-item-del" @click="deleteImg(index)">×</div>
</div> </div>
<el-upload <el-upload
...@@ -385,13 +385,13 @@ ...@@ -385,13 +385,13 @@
<div> <div>
<p class="mb-10">{{subItem.LogInfo}}</p> <p class="mb-10">{{subItem.LogInfo}}</p>
<div class="img-box mb-10" v-if="subItem.CustomerFollowUpModel.FollowUpImgList"> <div class="img-box mb-10" v-if="subItem.CustomerFollowUpModel.FollowUpImgList">
<div v-for="(img, imgIndex) in subItem.CustomerFollowUpModel.FollowUpImgList" :key="imgIndex" class="img-box-item" :style="`background-image:url(${img.FileUrl})`"></div> <div v-for="(img, imgIndex) in subItem.CustomerFollowUpModel.FollowUpImgList" :key="imgIndex" class="img-box-item" :style="`background-image:url(${img.FileUrl})`" @click="previewFile(img.FileUrl)"></div>
</div> </div>
<div class="mb-10" v-if="subItem.CustomerFollowUpModel.FollowUpFileList" style="display: flex;"> <div class="mb-10" v-if="subItem.CustomerFollowUpModel.FollowUpFileList" style="display: flex;">
<div>附件:</div> <div class="font-color-info">附件:</div>
<div> <div>
<p v-for="(file, fileIndex) in subItem.CustomerFollowUpModel.FollowUpFileList" :key="fileIndex"> <p v-for="(file, fileIndex) in subItem.CustomerFollowUpModel.FollowUpFileList" :key="fileIndex">
<span class="font-color-info">&nbsp;&nbsp;{{file.FileName}} </span>&nbsp;&nbsp;&nbsp;&nbsp; <span >&nbsp;&nbsp;{{file.FileName}} </span>&nbsp;&nbsp;&nbsp;&nbsp;
<span class="font-color-link cp" @click="previewFile(file.FileUrl)"> 预览</span> <span class="font-color-link cp" @click="previewFile(file.FileUrl)"> 预览</span>
</p> </p>
</div> </div>
...@@ -491,6 +491,10 @@ export default { ...@@ -491,6 +491,10 @@ export default {
}, },
methods: { methods: {
previewFile(file) { previewFile(file) {
if (file.IsPicture()) {
this.MsgBus.$emit('showImg', file)
return
}
window.open(file, "_blank"); window.open(file, "_blank");
}, },
GetLogPageList(t){ GetLogPageList(t){
...@@ -548,6 +552,7 @@ export default { ...@@ -548,6 +552,7 @@ export default {
NextContactDate: '', NextContactDate: '',
ContactContent: '' ContactContent: ''
} }
this.GetLogPageList()
} }
}) })
}, },
......
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
show-overflow-tooltip> show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
<span class="font-color-link cp" style="padding-right: 10px;" @click="previewFile(scope.row.FileURL)">预览</span> <span class="font-color-link cp" style="padding-right: 10px;" @click="previewFile(scope.row.FileURL)">预览</span>
<span class="font-color-warning cp underline" v-if="scope.row.FileUploadType" @click="deleteItem(scope.row.ID)">删除</span> <span class="font-color-warning cp underline" v-if="scope.row.FileUploadType && IsRead === 0" @click="deleteItem(scope.row.ID)">删除</span>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -55,7 +55,7 @@ ...@@ -55,7 +55,7 @@
</template> </template>
<script> <script>
export default { export default {
props:['ID', 'type'], props:['ID', 'type', 'IsRead'],
data() { data() {
return { return {
loading: false, loading: false,
...@@ -123,6 +123,10 @@ export default { ...@@ -123,6 +123,10 @@ export default {
}); });
}, },
previewFile(file) { previewFile(file) {
if (file.IsPicture()) {
this.MsgBus.$emit('showImg', file)
return
}
window.open(file, "_blank"); window.open(file, "_blank");
}, },
// 上传附件 // 上传附件
......
<style> <style>
.Record{ @import '../../assets/css/Record.css';
height: 100%;
overflow: auto;
background-color: white;
padding: 10px;
box-sizing: border-box;
}
.ha-cont{
display: flex;
align-items: center;
font-size: 12px;
position: relative;
line-height: 20px;
min-height: 40px;
padding-top: 3px;
}
.ha-cont .ha-week{
margin: 0 17px 0 10px;
-ms-flex-negative: 0;
flex-shrink: 0;
color: #777;
width: 80px;
}
.ha-cont .ha-circle{
-ms-flex-negative: 0;
flex-shrink: 0;
width: 10px;
height: 10px;
z-index: 2;
border-radius: 9px;
background-color: #fff;
border: 5px solid #a5ecd7;
}
.ha-cont .ha-time{
padding: 0 10px 0 24px;
-ms-flex-negative: 0;
flex-shrink: 0;
color: #aaa;
}
.ha-cont .ha-name {
padding: 0 10px;
-ms-flex-negative: 0;
flex-shrink: 0;
color: #333;
}
.ha-cont .ha-content{
padding: 0 10px 10px;
-webkit-box-flex: 1;
-ms-flex: 1;
flex: 1;
color: #333;
}
.ha-cont .ha-line{
position: absolute;
z-index: 1;
width: 1px;
top: 3px;
bottom: -3px;
left: 9px;
background-color: #e6e6e6;
}
.nodata{
text-align: center;
font-size: 12px;
}
</style> </style>
<template> <template>
<div class="Record" id="Record"> <div class="Record" id="Record">
......
...@@ -11,8 +11,8 @@ ...@@ -11,8 +11,8 @@
</el-input> </el-input>
</div> </div>
<div class="rightmenu"> <div class="rightmenu">
<el-button class="crm-btn query-btn" @click="getList">查询</el-button> <!-- <el-button class="crm-btn query-btn" @click="getList">查询</el-button> -->
<el-button icon="el-icon-plus" class="crm-btn org-btn" @click="CustomerId = 0, dialogTableVisibleName = '新增客户', dialogTableVisible=true">新增</el-button> <el-button icon="el-icon-plus" class="crm-btn org-btn" @click="CustomerId = 0, dialogTableVisibleName = '新建线索', dialogTableVisible=true">新建线索</el-button>
<el-dropdown> <el-dropdown>
<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>
...@@ -305,7 +305,7 @@ export default { ...@@ -305,7 +305,7 @@ export default {
drawer: false, drawer: false,
loading: true, loading: true,
dialogTableVisible: false, dialogTableVisible: false,
dialogTableVisibleName: '新增客户', dialogTableVisibleName: '新建线索',
tableData: [], tableData: [],
multipleSelection: [], multipleSelection: [],
EmployeeList: [], EmployeeList: [],
...@@ -437,7 +437,7 @@ export default { ...@@ -437,7 +437,7 @@ export default {
changeState(){ changeState(){
console.log('更改状态') console.log('更改状态')
}, },
// 放入公海 // 转换为客户
waters(type){ waters(type){
let tips = '确定将这些线索转换为客户吗?' let tips = '确定将这些线索转换为客户吗?'
if(type === 1) { if(type === 1) {
...@@ -521,7 +521,7 @@ export default { ...@@ -521,7 +521,7 @@ export default {
} }
}, },
editCust(){ editCust(){
this.dialogTableVisibleName = '修改客户' this.dialogTableVisibleName = '修改线索'
this.dialogTableVisible = true this.dialogTableVisible = true
}, },
openDetails(scope){ openDetails(scope){
......
...@@ -391,7 +391,11 @@ export default { ...@@ -391,7 +391,11 @@ export default {
}, },
name: { name: {
type: String, type: String,
default: '新增客户' default: '新建客户'
},
type: {
type: String,
default: '1'
} }
}, },
data() { data() {
...@@ -535,7 +539,9 @@ export default { ...@@ -535,7 +539,9 @@ export default {
} else { } else {
this.$message.success('新建线索成功'); this.$message.success('新建线索成功');
} }
this.$emit('getList') if (this.type !== '2') {
this.$emit('getList')
}
this.resetForm("form"); this.resetForm("form");
} }
}) })
......
...@@ -308,7 +308,7 @@ ...@@ -308,7 +308,7 @@
</el-form> </el-form>
<div v-if="gjImgList.length" style="margin-bottom: 15px;"> <div v-if="gjImgList.length" style="margin-bottom: 15px;">
<div class="img-box"> <div class="img-box">
<div v-for="(item, index) in gjImgList" :key="index" class="img-item" :style="{'background-image': `url(${item.url})`}"> <div v-for="(item, index) in gjImgList" :key="index" class="img-item" :style="{'background-image': `url(${item.url})`}" @click="previewFile(item.url)">
<div class="img-item-del" @click="deleteImg(index)">×</div> <div class="img-item-del" @click="deleteImg(index)">×</div>
</div> </div>
<el-upload <el-upload
...@@ -393,13 +393,13 @@ ...@@ -393,13 +393,13 @@
<p class="mb-10">{{subItem.LogInfo}}</p> <p class="mb-10">{{subItem.LogInfo}}</p>
<p class="xg-lxr"><span class="font-color-info">相关联系人:</span> <span>{{subItem.CustomerFollowUpModel.ContactName}}</span></p> <p class="xg-lxr"><span class="font-color-info">相关联系人:</span> <span>{{subItem.CustomerFollowUpModel.ContactName}}</span></p>
<div class="img-box mb-10" v-if="subItem.CustomerFollowUpModel.FollowUpImgList"> <div class="img-box mb-10" v-if="subItem.CustomerFollowUpModel.FollowUpImgList">
<div v-for="(img, imgIndex) in subItem.CustomerFollowUpModel.FollowUpImgList" :key="imgIndex" class="img-box-item" :style="`background-image:url(${img.FileUrl})`"></div> <div v-for="(img, imgIndex) in subItem.CustomerFollowUpModel.FollowUpImgList" :key="imgIndex" class="img-box-item" :style="`background-image:url(${img.FileUrl})`" @click="previewFile(img.FileUrl)"></div>
</div> </div>
<div class="mb-10" v-if="subItem.CustomerFollowUpModel.FollowUpFileList" style="display: flex;"> <div class="mb-10" v-if="subItem.CustomerFollowUpModel.FollowUpFileList" style="display: flex;">
<div>附件:</div> <div class="font-color-info">附件:</div>
<div> <div>
<p v-for="(file, fileIndex) in subItem.CustomerFollowUpModel.FollowUpFileList" :key="fileIndex"> <p v-for="(file, fileIndex) in subItem.CustomerFollowUpModel.FollowUpFileList" :key="fileIndex">
<span class="font-color-info">&nbsp;&nbsp;{{file.FileName}} </span>&nbsp;&nbsp;&nbsp;&nbsp; <span >&nbsp;&nbsp;{{file.FileName}} </span>&nbsp;&nbsp;&nbsp;&nbsp;
<span class="font-color-link cp" @click="previewFile(file.FileUrl)"> 预览</span> <span class="font-color-link cp" @click="previewFile(file.FileUrl)"> 预览</span>
</p> </p>
</div> </div>
...@@ -519,6 +519,10 @@ export default { ...@@ -519,6 +519,10 @@ export default {
}, },
methods: { methods: {
previewFile(file) { previewFile(file) {
if (file.IsPicture()) {
this.MsgBus.$emit('showImg', file)
return
}
window.open(file, "_blank"); window.open(file, "_blank");
}, },
GetLogPageList(t){ GetLogPageList(t){
......
<style> <style>
.Record{ @import '../../assets/css/Record.css';
height: 100%;
overflow: auto;
background-color: white;
padding: 10px;
box-sizing: border-box;
}
.ha-cont{
display: flex;
align-items: center;
font-size: 12px;
position: relative;
line-height: 20px;
min-height: 40px;
padding-top: 3px;
}
.ha-cont .ha-week{
margin: 0 17px 0 10px;
-ms-flex-negative: 0;
flex-shrink: 0;
color: #777;
width: 80px;
}
.ha-cont .ha-circle{
-ms-flex-negative: 0;
flex-shrink: 0;
width: 10px;
height: 10px;
z-index: 2;
border-radius: 9px;
background-color: #fff;
border: 5px solid #a5ecd7;
}
.ha-cont .ha-time{
padding: 0 10px 0 24px;
-ms-flex-negative: 0;
flex-shrink: 0;
color: #aaa;
}
.ha-cont .ha-name {
padding: 0 10px;
-ms-flex-negative: 0;
flex-shrink: 0;
color: #333;
}
.ha-cont .ha-content{
padding: 0 10px 10px;
-webkit-box-flex: 1;
-ms-flex: 1;
flex: 1;
color: #333;
}
.ha-cont .ha-line{
position: absolute;
z-index: 1;
width: 1px;
top: 3px;
bottom: -3px;
left: 9px;
background-color: #e6e6e6;
}
.nodata{
text-align: center;
font-size: 12px;
}
</style> </style>
<template> <template>
<div class="Record" id="Record"> <div class="Record" id="Record">
......
...@@ -69,8 +69,8 @@ ...@@ -69,8 +69,8 @@
<p>{{detailsData.ContactName}}</p> <p>{{detailsData.ContactName}}</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="editCust" v-if="detailsData.IsRead === 0">编辑</el-button>
<el-dropdown @command="handleCommand" style="top: 1px;"> <el-dropdown @command="handleCommand" style="top: 1px;" v-if="detailsData.IsRead === 0">
<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>
......
...@@ -309,7 +309,7 @@ export default { ...@@ -309,7 +309,7 @@ export default {
], ],
BusinessId: 0, BusinessId: 0,
BusinessIdCustomerId: 0, BusinessIdCustomerId: 0,
dialogTableVisibleName: '新客户', dialogTableVisibleName: '新客户',
dialogBusinessVisibleName: '新建联系人', dialogBusinessVisibleName: '新建联系人',
CustomerId: 0, CustomerId: 0,
CustomerIdStr: '', CustomerIdStr: '',
......
<style>
.ComTripList .leftDayList {
display: inline-block;
width: 30px;
height: 100%;
vertical-align: top;
}
.ComTripList .dayNum {
font-weight: bold;
font-size: 16px;
margin-left: -42px;
position: relative;
z-index: 2;
margin-bottom: 5px;
display: block;
}
.ComTripList .siteList {
display: inline-block;
position: relative;
border-left: 2px solid #ebebec;
position: relative;
padding: 0 0 50px 50px;
margin-left: 10px;
}
.ComTripList .Trip_Content {
margin-left: 100px;
}
.ComTripList .Trip_Content:first-child {
margin-top: 20px;
}
.ComTripList .Trip_Content:last-child {
margin-bottom: 20px;
}
.ComTripList .TC_circles {
width: 18px;
height: 18px;
background: #fff;
border-radius: 100%;
border: 2px solid rgba(13, 36, 129, .8);
position: absolute;
left: -11px;
top: 0;
}
.ComTripList .TripControl {
display: inline-block;
vertical-align: middle;
position: relative;
top: -170px;
margin-left: 30px;
}
.ComTripList .TripControl i {
display: inline-block;
width: 30px;
height: 30px;
line-height: 30px;
cursor: pointer;
border-radius: 50%;
text-align: center;
}
.ComTripList .TripControl i:hover {
background-color: rgba(13, 36, 129, .8);
color: #fff;
}
.ComTripList .addTrip {
width: 30px;
height: 30px;
color: #fff;
text-align: center;
font-size: 25px;
line-height: 28px;
background-color: #f60;
border-radius: 100%;
cursor: pointer;
margin: -2px 0 20px 130px;
}
</style>
<template>
<div class="ComTripList">
<div v-if="TripType==0">
<quill-editor v-model="TripListArr[0].TravelContent" style="height:400px;"></quill-editor>
</div>
<div v-else class="Trip_Content" v-for="(item,index) in TripListArr" :key="index">
<div class="leftDayList">
<span class="dayNum">{{index+1}}</span>
</div>
<div class="siteList">
<el-form-item label="前往地" label-width='100px' style="display:inline-block;">
<el-input type="text" class="w150" v-model="item.Go"></el-input>
</el-form-item>
<el-form-item label="前往省份/国家地区" label-width='160px' style="display:inline-block;">
<el-input type="text" class="w150" v-model="item.GoProvice"></el-input>
</el-form-item>
<el-form-item label="是否过境" label-width='100px' style="display:inline-block;">
<el-checkbox v-model="item.IsOut" :true-label="CheckedVaule" :false-label="UnCheckedVaule"></el-checkbox>
</el-form-item>
<quill-editor v-model="item.TravelContent" style="height:300px;"></quill-editor>
<div class="TC_circles"></div>
</div>
<div class="TripControl">
<i class="iconfont icon-img_delete_small" style="margin-left:10px;" @click="delTrip(index)"></i>
</div>
<div class="addTrip" @click="addTrip()">+</div>
</div>
</div>
</template>
<script>
export default {
props: ["ContractTripList", "TripType"],
data() {
return {
checked: false,
TripListArr: [],
//选中过境
CheckedVaule: 1,
//不过境
UnCheckedVaule: 0,
};
},
mounted() {
},
created() {
if (this.ContractTripList) {
if (this.ContractTripList.length > 0) {
this.TripListArr = JSON.parse(JSON.stringify(this.ContractTripList));
} else {
var tripObj = {
DayNum: 1, //天数
Go: '', // 前往地
GoProvice: '', //前往国家地区
IsOut: 0, // 是否过境(0-不过,1-过)
TravelContent: '', //行程内容
}
this.TripListArr.push(tripObj);
}
}
},
methods: {
//添加行程
addTrip() {
let obj = {
DayNum: '', //天数
Go: '', // 前往地
GoProvice: '', //前往国家地区
IsOut: 0, // 是否过境(0-不过,1-过)
TravelContent: '', //行程内容
}
this.TripListArr.push(obj);
this.getSavedData();
},
//删除行程
delTrip(index) {
this.TripListArr.splice(index, 1);
this.getSavedData();
},
//遍历已经保存数据
getSavedData() {
this.TripListArr.forEach((x, index) => {
x.DayNum = index + 1;
})
}
},
watch: {
//监听参数
TripListArr: {
handler: function (val, oldVal) {
this.$emit('tripData', this.TripListArr);
},
deep: true
},
}
};
</script>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -11,8 +11,8 @@ ...@@ -11,8 +11,8 @@
</el-input> </el-input>
</div> </div>
<div class="rightmenu"> <div class="rightmenu">
<el-button class="crm-btn query-btn" @click="getList">查询</el-button> <!-- <el-button class="crm-btn query-btn" @click="getList">查询</el-button> -->
<el-button icon="el-icon-plus" class="crm-btn org-btn" @click="CustomerId = 0, dialogTableVisibleName = '新增客户', dialogTableVisible=true">新增</el-button> <el-button icon="el-icon-plus" class="crm-btn org-btn" @click="CustomerId = 0, dialogTableVisibleName = '新建客户', dialogTableVisible=true">新建客户</el-button>
<el-dropdown> <el-dropdown>
<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>
...@@ -461,7 +461,7 @@ export default { ...@@ -461,7 +461,7 @@ export default {
drawer: false, drawer: false,
loading: true, loading: true,
dialogTableVisible: false, dialogTableVisible: false,
dialogTableVisibleName: '新客户', dialogTableVisibleName: '新客户',
tableData: [], tableData: [],
multipleSelection: [], multipleSelection: [],
EmployeeList: [], EmployeeList: [],
......
...@@ -156,7 +156,7 @@ ...@@ -156,7 +156,7 @@
<div class="rightmenu"> <div class="rightmenu">
<div class="gaoji">高级查询 <i class="iconfont iconjiantou_xia"></i></div> <div class="gaoji">高级查询 <i class="iconfont iconjiantou_xia"></i></div>
<el-button class="crm-btn query-btn" @click="getList">查询</el-button> <el-button class="crm-btn query-btn" @click="getList">查询</el-button>
<el-button icon="el-icon-plus" class="crm-btn easy-btn" @click="dialogTableVisible=true"></el-button> <el-button icon="el-icon-plus" class="crm-btn easy-btn" @click="dialogTableVisible=true"></el-button>
<el-button class="crm-btn easy-btn">导入</el-button> <el-button class="crm-btn easy-btn">导入</el-button>
<el-button class="crm-btn org-btn">导出</el-button> <el-button class="crm-btn org-btn">导出</el-button>
</div> </div>
......
...@@ -391,7 +391,7 @@ export default { ...@@ -391,7 +391,7 @@ export default {
}, },
name: { name: {
type: String, type: String,
default: '新客户' default: '新客户'
} }
}, },
data() { data() {
......
...@@ -61,6 +61,9 @@ ...@@ -61,6 +61,9 @@
prop="CustomerName" prop="CustomerName"
label="线索名称" label="线索名称"
show-overflow-tooltip> show-overflow-tooltip>
<template slot-scope="scope">
<p @click="openDetails(scope)" class="font-color-link cp">{{scope.row.CustomerName}}</p>
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="CustomerName" prop="CustomerName"
...@@ -129,6 +132,10 @@ export default { ...@@ -129,6 +132,10 @@ export default {
this.getList() this.getList()
}, },
methods: { methods: {
openDetails(scope){
console.log(scope.row)
this.MsgBus.$emit('openClueWin', scope.row)
},
handleSelectionChange(val) { handleSelectionChange(val) {
this.selectID = val.map(x=> this.selectID = val.map(x=>
x.ID x.ID
......
...@@ -11,8 +11,8 @@ ...@@ -11,8 +11,8 @@
</el-input> </el-input>
</div> </div>
<div class="rightmenu"> <div class="rightmenu">
<el-button class="crm-btn query-btn" @click="getList">查询</el-button> <!-- <el-button class="crm-btn query-btn" @click="getList">查询</el-button> -->
<el-button icon="el-icon-plus" class="crm-btn org-btn" @click="CustomerId = 0, dialogTableVisibleName = '新增客户', dialogTableVisible=true">新增</el-button> <!-- <el-button icon="el-icon-plus" class="crm-btn org-btn" @click="CustomerId = 0, dialogTableVisibleName = '新建客户', dialogTableVisible=true">新建</el-button> -->
<el-dropdown> <el-dropdown>
<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>
...@@ -456,7 +456,7 @@ export default { ...@@ -456,7 +456,7 @@ export default {
drawer: false, drawer: false,
loading: true, loading: true,
dialogTableVisible: false, dialogTableVisible: false,
dialogTableVisibleName: '新客户', dialogTableVisibleName: '新客户',
tableData: [], tableData: [],
multipleSelection: [], multipleSelection: [],
EmployeeList: [], EmployeeList: [],
......
...@@ -18,6 +18,9 @@ import co from 'co' ...@@ -18,6 +18,9 @@ import co from 'co'
import MsgBus from './plugins/event-bus' import MsgBus from './plugins/event-bus'
import { location } from "./assets/utils/getLocation" import { location } from "./assets/utils/getLocation"
import 'xe-utils' import 'xe-utils'
import vueQuillEditor from 'vue-quill-editor'
import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css'
// import VXETable from 'vxe-table' // import VXETable from 'vxe-table'
// import 'vxe-table/lib/index.css' // import 'vxe-table/lib/index.css'
// import tinymce from 'tinymce/tinymce' // import tinymce from 'tinymce/tinymce'
...@@ -27,7 +30,7 @@ import 'xe-utils' ...@@ -27,7 +30,7 @@ import 'xe-utils'
Vue.use(htmlToPdf) Vue.use(htmlToPdf)
Vue.use(VueLazyload) Vue.use(VueLazyload)
// Vue.use(VXETable) // Vue.use(VXETable)
Vue.use(vueQuillEditor)
// Vue.use(VueLazyload, { // Vue.use(VueLazyload, {
// preLoad: 1.3, // preLoad: 1.3,
// error: '../src/assets/img/banner@3x.png', // error: '../src/assets/img/banner@3x.png',
...@@ -43,6 +46,26 @@ Vue.commonUtils = Vue.prototype.$commonUtils=commonUtils ...@@ -43,6 +46,26 @@ Vue.commonUtils = Vue.prototype.$commonUtils=commonUtils
Vue.languageUtils=Vue.prototype.$languageUtils=languageUtils Vue.languageUtils=Vue.prototype.$languageUtils=languageUtils
Vue.prototype.MsgBus = MsgBus Vue.prototype.MsgBus = MsgBus
Vue.prototype.$echarts = echarts Vue.prototype.$echarts = echarts
String.prototype.IsPicture = function() {
//判断是否是图片 - strFilter必须是小写列举
var strFilter=".jpeg|.gif|.jpg|.png|.bmp|.pic|"
if(this.indexOf(".")>-1)
{
var p = this.lastIndexOf(".");
//alert(p);
//alert(this.length);
var strPostfix=this.substring(p,this.length) + '|';
strPostfix = strPostfix.toLowerCase();
//alert(strPostfix);
if(strFilter.indexOf(strPostfix)>-1)
{
//alert("True");
return true;
}
}
//alert('False');
return false;
}
router.beforeEach((to, from, next) => { router.beforeEach((to, from, next) => {
let msg = { let msg = {
path: from.path, path: from.path,
......
...@@ -10,6 +10,7 @@ import clueManagement from "./components/clueManagement/clueManagement" ...@@ -10,6 +10,7 @@ import clueManagement from "./components/clueManagement/clueManagement"
import contactsManagement from "./components/contactsManagement/contactsManagement" import contactsManagement from "./components/contactsManagement/contactsManagement"
import watersManagement from "./components/watersManagement/watersManagement" import watersManagement from "./components/watersManagement/watersManagement"
import waitMatter from "./components/waitMatter/waitMatter" import waitMatter from "./components/waitMatter/waitMatter"
import contractManagement from "./components/contractManagement/contractManagement"
Vue.use(Router); Vue.use(Router);
export default new Router({ export default new Router({
...@@ -109,6 +110,14 @@ export default new Router({ ...@@ -109,6 +110,14 @@ export default new Router({
meta: { meta: {
title: "待办事项" title: "待办事项"
} }
},
{
path: "/contractManagement",
name: "contractManagement",
component: contractManagement,
meta: {
title: "合同管理"
}
} }
] ]
}, },
......
This diff is collapsed.
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