Commit 79d43c33 authored by MyName's avatar MyName

客户管理

parent fb408bbd
import request from '@/utils/request'
// 客户列表
export function getCustomerList(param) {
return request({
url: '/customer/list',
method: 'get',
params: param
})
}
//新增客户
export function addCustomer(param) {
return request({
url: '/customer',
method: 'POST',
data: param
})
}
import request from '@/utils/request'
//根据字典类型查询字典数据信息
export function getDictType(dictType) {
return request({
url: '/system/dict/data/type/'+dictType,
method: 'get',
})
}
//模糊查询企业联想
export function getEnterprise(param) {
return request({
url: '/enterprise/index',
method: 'POST',
data: param
})
}
This diff is collapsed.
......@@ -519,6 +519,7 @@ ul, li {
.btn_default{
border: 1px solid #0081FF;
color: #0081FF;
background: #FFFFFF;
&.h28{
line-height: 26px;
}
......@@ -617,7 +618,8 @@ ul, li {
top: 0;
border-radius: 0;
&:hover{
color: #006AD1;
color: #FFFFFF;
background: #0081FF;
}
}
}
......
......@@ -392,6 +392,11 @@
content: "\e78f";
opacity: 0.4;
}
.el-icon-arrow-down:before{
content: "\e790";
opacity: 0.4;
color: #232323;
}
}
}
.popbot{
......@@ -414,10 +419,10 @@
}
.popform.j{
.left{
width: 116px;
width: 130px;
}
.el-input{
width: 374px;
width: 364px;
}
}
.types{
......@@ -697,12 +702,8 @@
font-size: 12px;
}
}
.b1{
padding: 0 5px;
border-radius: 2px;
}
.b2{
padding: 0 15px;
width: 80px;
border-radius: 2px;
}
.b3{
......@@ -748,6 +749,25 @@
.el-table--enable-row-hover .el-table__body tr:hover > td.el-table__cell{
background: #F6F9FC;;
}
.hoverbtn{
display: none;
>div{
cursor: pointer;
margin-right: 24px;
}
.xz{
opacity: 0.8;
}
.sc{
color: #FF3C3C;
}
}
tr:hover{
.hoverbtn{
display: flex;
justify-content: right;
}
}
.el-table__header-wrapper th{
background: #FFFFFF;
font-size: 12px;
......@@ -815,3 +835,163 @@
color: #0BAE8D;
}
}
//批量导入
.uploadwin{
background: rgba(0,0,0,0.3);
width: 100%;
height: 100%;
position: fixed;
top: 0;
left: 0;
z-index: 2;
.upload{
width: 528px;
height: 430px;
background: #F4F9FF;
border-radius: 4px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
.up_title{
font-size: 14px;
font-weight: 700;
text-align: center;
line-height: 50px;
}
.up_box{
margin: 0 24px;
width: 480px;
height: 296px;
background: #FFFFFF;
border-radius: 2px;
border: 1px dashed #0081FF;
position: relative;
.el-upload-dragger{
height: 294px;
width: 478px;
border: 0;
}
.up_img{
margin: 56px auto 13px;
}
.up_text{
color: #666;
font-size: 14px;
line-height: 18px;
padding-bottom: 12px;
}
.up_tip{
color: #999;
font-size: 12px;
line-height: 16px;
padding-bottom: 12px;
text-align: left;
padding-left: 82px;
&:before{
content: " ";
width: 4px;
height: 4px;
background: #D8D8D8;
border-radius: 50%;
float: left;
margin: 6px 6px 0 0;
}
}
.up_success{
padding-top: 135px;
font-size: 18px;
color: #46AF41;
font-weight: 700;
line-height: 24px;
>img{
float: left;
width: 24px;
margin-right: 10px;
margin-left: 187px;
}
}
}
.btn_download{
position: absolute;
width: 78px;
height: 22px;
background: #E2EEFF;
border-radius: 2px;
color: #0081FF;
background: rgba(0, 129, 255, 0.16);
font-size: 12px;
line-height: 22px;
top: 149px;
right: 61px;
cursor: pointer;
.img{
float: left;
background: url('../images/upload.png')no-repeat center center;
transform: rotateX(180deg);
width: 9px;
height: 11px;
margin: 4px 2px 0 10px;
}
}
}
.btns{
text-align: center;
.btn_primary,.btn_disabled,.btn_default{
border-radius: 2px;
margin: 24px 8px 0;
width: 104px;
}
.btn_disabled{
background: #999;
}
}
.success{
width: 240px;
height: 175px;
background: #FFFFFF;
border-radius: 4px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
text-align: center;
.img{
display: block;
margin: 24px auto 16px;
width: 60px;
}
.p1{
font-size: 16px;
font-family: Microsoft YaHei-Bold, Microsoft YaHei;
font-weight: 700;
color: rgba(35,35,35,0.8);
line-height: 21px;
}
.p2{
margin-top: 16px;
font-size: 14px;
font-family: Microsoft YaHei-Regular, Microsoft YaHei;
font-weight: 400;
color: rgba(35,35,35,0.4);
line-height: 14px;
}
.p3{
padding-top: 35px;
font-size: 18px;
color: #46AF41;
font-weight: 700;
line-height: 24px;
text-align: left;
>img{
float: left;
width: 24px;
margin-right: 10px;
margin-left: 67px;
}
}
.btn_primary{
margin-top: 16px;
}
}
}
<template>
<div class="app-container">
跟进动态
<div>
<div class="miantitle">
<span>客户管理</span>
<span> / 客户列表</span>
<span> / 跟进动态</span>
</div>
<div class="app-container">
<gjjl types="gjdt" :data="datas"></gjjl>
</div>
</div>
</template>
<script>
import gjjl from '../../project/projectList/component/gjjl.vue'
export default {
components:{
gjjl
},
name: 'Trends',
data() {
return {
datas:[]
}
},
created() {
......
......@@ -19,6 +19,11 @@
<el-option label="cccc" value="11"></el-option>
<el-option label="cccc" value="121"></el-option>
</el-select>
<el-select v-if="showtype == 'gjdt'" v-model="value" class="w128" placeholder="关联企业">
<i slot="prefix" class="el-input__icon"><img src="@/assets/images/project/ico_1.png"></i>
<el-option label="cccc" value="11"></el-option>
<el-option label="cccc" value="121"></el-option>
</el-select>
<el-input v-model="value" placeholder="拜访对象" style="width: 100px;">
<i slot="prefix" class="el-input__icon"><img src="@/assets/images/project/ico_2.png"></i>
</el-input>
......@@ -96,13 +101,25 @@
<script>
import "@/assets/styles/project.scss"
export default {
props:{
types: { //当前组件展示类型
type: String,
default: ""
},
datas:[],//数据源
},
name: 'gjjl',
data(){
return{
showtype:'',
isEdit:false,
value:''
}
},
created(){
this.showtype = this.types
console.log(this.types)
},
methods:{
getEdit(){
this.isEdit = true;
......
......@@ -50,6 +50,17 @@
label="负责人"
width="">
</el-table-column>
<el-table-column
prop="name"
label=""
align="right"
width="">
<template slot-scope="scope">
<div class="hoverbtn">
<div class="sc">删除</div>
</div>
</template>
</el-table-column>
</el-table>
<div class="tables">
......
......@@ -8,8 +8,37 @@
<el-input type="text" placeholder="输入关键词查询"></el-input>
<div class="btn">搜索</div>
</div>
<div class="btn btn_primary h32 b1"><div class="img img1"></div>新建文件夹</div>
<div class="btn btn_default h32 b2"><div class="img img2"></div>上传</div>
<div class="btn btn_primary h32 b2" @click="isupload=true"><div class="img img2"></div>上传</div>
</div>
<div class="uploadbox" v-if="isupload">
<div>
<el-upload
class="upload-demo"
action="https://jsonplaceholder.typicode.com/posts/"
:on-preview="handlePreview"
:on-remove="handleRemove"
:before-remove="beforeRemove"
multiple
:limit="3"
:on-exceed="handleExceed"
:file-list="fileList">
<div class="wj wj1"></div>上传文件
</el-upload>
</div>
<div>
<el-upload
class="upload-demo"
action="https://jsonplaceholder.typicode.com/posts/"
:on-remove="fileRemove"
:on-change="fileChang"
multiple
:limit="3"
:on-exceed="handleExceed"
ref="uploadFile"
:file-list="fileList">
<div class="wj wj2"></div>上传文件夹
</el-upload>
</div>
</div>
<div class="document">
<el-table
......@@ -49,6 +78,18 @@
sortable
width="">
</el-table-column>
<el-table-column
prop=""
label=""
align="right"
width="">
<template slot-scope="scope">
<div class="hoverbtn">
<div class="xz">下载</div>
<div class="sc">删除</div>
</div>
</template>
</el-table-column>
</el-table>
<div class="tables">
<div class="bottems">
......@@ -115,6 +156,7 @@
name: 'zlwd',
data(){
return{
isupload:false,
dialogVisible:false,
textarea:"",
nowedit:-1,//当前正在编辑的文本
......@@ -138,10 +180,23 @@
name: '王小虎',
address: '上海市普陀区金沙江路 1516 弄'
}
]
],
fileList:[],//上传的文件
}
},
mounted(){
this.$refs.uploadFile.$children[0].$refs.input.webkitdirectory = true;
},
methods:{
//上传文件夹
fileChang(file, fileList, name) {
this.form.instFilePics = fileList;
},
fileRemove(file, fileList, name) {
this.form.instFilePics = fileList
},
//翻页
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
......@@ -162,15 +217,56 @@
width: 102px;
}
.img.img1{
margin-right: 4px;
background: url('../../../../../src/assets/images/project/add_2.png')no-repeat center center;
}
.img.img2{
margin-right: 4px;
background: url('../../../../../src/assets/images/upload.png')no-repeat center center;
transform: rotateX(180deg);
background: url('../../../../../src/assets/images/import.png')no-repeat center center;
}
.box-card{
position: relative;
}
.uploadbox{
position: absolute;
width: 124px;
height: 73px;
background: #FFFFFF;
box-shadow: 0px 0px 4px 0px rgba(0,0,0,0.08);
border-radius: 2px;
border: 1px solid #F0F0F0;
right: 16px;
top: 53px;
z-index: 2;
>div{
line-height: 35px;
height: 36px;
color: rgba(35, 35, 35, 0.80);
font-size: 14px;
.wj{
float: left;
margin: 10px 4px 10px 16px;
width: 16px;
height: 16px;
&.wj1{
background: url("../../../../assets/images/project/wj_1.png") top center;
background-size: 100%;
}
&.wj2{
background: url("../../../../assets/images/project/wj_3.png") top center;
background-size: 100%;
}
}
&:hover{
color: #0081FF;
background: #F4F6F9;
.wj1{
background: url("../../../../assets/images/project/wj_2.png") top center;
background-size: 100%;
}
.wj2{
background: url("../../../../assets/images/project/wj_4.png") top center;
background-size: 100%;
}
}
}
}
</style>
......@@ -27,7 +27,7 @@
<div class="contets">
<div class="det-con">
<span>项目类型:</span>
<span>轨道交通</span>
<span><el-select><option label="aaa" value="888"></option></el-select></span>
</div>
<div class="det-con">
<span>项目类别:</span>
......@@ -72,7 +72,7 @@
<!--联系人-->
<lxr v-if="thistag == 'lxr'"></lxr>
<!--跟进记录-->
<gjjl v-if="thistag == 'gjjl'"></gjjl>
<gjjl v-if="thistag == 'gjjl'" types="gjjl"></gjjl>
<!--工作待办-->
<gzdb v-if="thistag == 'gzdb'"></gzdb>
<!--资料文档-->
......
......@@ -2,8 +2,8 @@
<div class="app-container">
<el-card class="box-card noborder">
<div class="btns">
<div class="btn btn_default h28"><div class="img img1"></div>新建项目商机</div>
<div class="btn btn_primary h28"><div class="img img2"></div>批量导</div>
<div class="btn btn_default h28" @click="showNew"><div class="img img1"></div>新建项目商机</div>
<div class="btn btn_primary h28"><div class="img img2"></div>批量导</div>
</div>
<el-tabs v-model="activeName" @tab-click="handleClick" class="tabpane w100">
<el-tab-pane label="我参与的项目" name="first"></el-tab-pane>
......@@ -82,6 +82,63 @@
</div>
</div>
</div>
<el-dialog
class="popups"
:visible.sync="dialogVisible"
width="464px">
<div class="poptitle">
<img src="@/assets/images/economies/icon.png">
<span>新建商机</span>
</div>
<div class="popform i">
<div class="row">
<span class="left"><i>*</i>项目名称:</span>
<el-input type="text" placeholder="请输入"></el-input>
</div>
<div class="row">
<span class="left"><i>*</i>业主单位:</span>
<el-input type="text" placeholder="请输入"></el-input>
</div>
<div class="row">
<span class="left">项目阶段:</span>
<el-select placeholder="请选择">
<el-option label="cccc" value="11"></el-option>
<el-option label="cccc" value="121"></el-option>
</el-select>
</div>
<div class="row">
<span class="left">项目类型:</span>
<el-select placeholder="请选择">
<el-option label="cccc" value="11"></el-option>
<el-option label="cccc" value="121"></el-option>
</el-select>
</div>
<div class="row">
<span class="left">项目类别:</span>
<el-select placeholder="请选择">
<el-option label="cccc" value="11"></el-option>
<el-option label="cccc" value="121"></el-option>
</el-select>
</div>
<div class="row">
<span class="left">投资估算:</span>
<el-input type="text" placeholder="请输入"></el-input>
</div>
<div class="row">
<span class="left">可见范围:</span>
<el-select placeholder="请选择">
<el-option label="cccc" value="11"></el-option>
<el-option label="cccc" value="121"></el-option>
</el-select>
</div>
<div class="popbot">
<div class="wordprimary">前往商机雷达寻找项目线索></div>
<div class="btn btn_cancel h32" @click="cancel">取消</div>
<div class="btn btn_primary h32">新建商机</div>
</div>
</div>
</el-dialog>
</el-card>
</div>
</template>
......@@ -292,13 +349,21 @@ export default {
value: 'jiaohu',
label: '组件交互文档'
}]
}]
}],
dialogVisible:false,
}
},
created() {
},
methods: {
//新建项目
showNew(){
this.dialogVisible = true
},
cancel(){
this.dialogVisible = false
},
toDetail(){
let Id = '111'
this.$router.push({ path: '/project/projectList/detail', query: Id });
......@@ -517,4 +582,15 @@ export default {
height: 20px;
}
}
.popbot{
.wordprimary{
padding-right: 26px;
float: left;
margin-top: 6px;
}
.btn_primary{
padding: 0;
}
}
</style>
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