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 { ...@@ -519,6 +519,7 @@ ul, li {
.btn_default{ .btn_default{
border: 1px solid #0081FF; border: 1px solid #0081FF;
color: #0081FF; color: #0081FF;
background: #FFFFFF;
&.h28{ &.h28{
line-height: 26px; line-height: 26px;
} }
...@@ -617,7 +618,8 @@ ul, li { ...@@ -617,7 +618,8 @@ ul, li {
top: 0; top: 0;
border-radius: 0; border-radius: 0;
&:hover{ &:hover{
color: #006AD1; color: #FFFFFF;
background: #0081FF;
} }
} }
} }
......
...@@ -392,6 +392,11 @@ ...@@ -392,6 +392,11 @@
content: "\e78f"; content: "\e78f";
opacity: 0.4; opacity: 0.4;
} }
.el-icon-arrow-down:before{
content: "\e790";
opacity: 0.4;
color: #232323;
}
} }
} }
.popbot{ .popbot{
...@@ -414,10 +419,10 @@ ...@@ -414,10 +419,10 @@
} }
.popform.j{ .popform.j{
.left{ .left{
width: 116px; width: 130px;
} }
.el-input{ .el-input{
width: 374px; width: 364px;
} }
} }
.types{ .types{
...@@ -697,12 +702,8 @@ ...@@ -697,12 +702,8 @@
font-size: 12px; font-size: 12px;
} }
} }
.b1{
padding: 0 5px;
border-radius: 2px;
}
.b2{ .b2{
padding: 0 15px; width: 80px;
border-radius: 2px; border-radius: 2px;
} }
.b3{ .b3{
...@@ -748,6 +749,25 @@ ...@@ -748,6 +749,25 @@
.el-table--enable-row-hover .el-table__body tr:hover > td.el-table__cell{ .el-table--enable-row-hover .el-table__body tr:hover > td.el-table__cell{
background: #F6F9FC;; 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{ .el-table__header-wrapper th{
background: #FFFFFF; background: #FFFFFF;
font-size: 12px; font-size: 12px;
...@@ -815,3 +835,163 @@ ...@@ -815,3 +835,163 @@
color: #0BAE8D; 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> <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> </div>
</template> </template>
<script> <script>
import gjjl from '../../project/projectList/component/gjjl.vue'
export default { export default {
components:{
gjjl
},
name: 'Trends', name: 'Trends',
data() { data() {
return { return {
datas:[]
} }
}, },
created() { created() {
......
...@@ -19,6 +19,11 @@ ...@@ -19,6 +19,11 @@
<el-option label="cccc" value="11"></el-option> <el-option label="cccc" value="11"></el-option>
<el-option label="cccc" value="121"></el-option> <el-option label="cccc" value="121"></el-option>
</el-select> </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;"> <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> <i slot="prefix" class="el-input__icon"><img src="@/assets/images/project/ico_2.png"></i>
</el-input> </el-input>
...@@ -96,13 +101,25 @@ ...@@ -96,13 +101,25 @@
<script> <script>
import "@/assets/styles/project.scss" import "@/assets/styles/project.scss"
export default { export default {
props:{
types: { //当前组件展示类型
type: String,
default: ""
},
datas:[],//数据源
},
name: 'gjjl', name: 'gjjl',
data(){ data(){
return{ return{
showtype:'',
isEdit:false, isEdit:false,
value:'' value:''
} }
}, },
created(){
this.showtype = this.types
console.log(this.types)
},
methods:{ methods:{
getEdit(){ getEdit(){
this.isEdit = true; this.isEdit = true;
......
...@@ -50,6 +50,17 @@ ...@@ -50,6 +50,17 @@
label="负责人" label="负责人"
width=""> width="">
</el-table-column> </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> </el-table>
<div class="tables"> <div class="tables">
......
...@@ -8,8 +8,37 @@ ...@@ -8,8 +8,37 @@
<el-input type="text" placeholder="输入关键词查询"></el-input> <el-input type="text" placeholder="输入关键词查询"></el-input>
<div class="btn">搜索</div> <div class="btn">搜索</div>
</div> </div>
<div class="btn btn_primary h32 b1"><div class="img img1"></div>新建文件夹</div> <div class="btn btn_primary h32 b2" @click="isupload=true"><div class="img img2"></div>上传</div>
<div class="btn btn_default h32 b2"><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>
<div class="document"> <div class="document">
<el-table <el-table
...@@ -49,6 +78,18 @@ ...@@ -49,6 +78,18 @@
sortable sortable
width=""> width="">
</el-table-column> </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> </el-table>
<div class="tables"> <div class="tables">
<div class="bottems"> <div class="bottems">
...@@ -115,6 +156,7 @@ ...@@ -115,6 +156,7 @@
name: 'zlwd', name: 'zlwd',
data(){ data(){
return{ return{
isupload:false,
dialogVisible:false, dialogVisible:false,
textarea:"", textarea:"",
nowedit:-1,//当前正在编辑的文本 nowedit:-1,//当前正在编辑的文本
...@@ -138,10 +180,23 @@ ...@@ -138,10 +180,23 @@
name: '王小虎', name: '王小虎',
address: '上海市普陀区金沙江路 1516 弄' address: '上海市普陀区金沙江路 1516 弄'
} }
] ],
fileList:[],//上传的文件
} }
}, },
mounted(){
this.$refs.uploadFile.$children[0].$refs.input.webkitdirectory = true;
},
methods:{ methods:{
//上传文件夹
fileChang(file, fileList, name) {
this.form.instFilePics = fileList;
},
fileRemove(file, fileList, name) {
this.form.instFilePics = fileList
},
//翻页 //翻页
handleCurrentChange(val) { handleCurrentChange(val) {
console.log(`当前页: ${val}`); console.log(`当前页: ${val}`);
...@@ -162,15 +217,56 @@ ...@@ -162,15 +217,56 @@
width: 102px; width: 102px;
} }
.img.img1{
margin-right: 4px;
background: url('../../../../../src/assets/images/project/add_2.png')no-repeat center center;
}
.img.img2{ .img.img2{
margin-right: 4px; 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{ .box-card{
position: relative; 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> </style>
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
<div class="contets"> <div class="contets">
<div class="det-con"> <div class="det-con">
<span>项目类型:</span> <span>项目类型:</span>
<span>轨道交通</span> <span><el-select><option label="aaa" value="888"></option></el-select></span>
</div> </div>
<div class="det-con"> <div class="det-con">
<span>项目类别:</span> <span>项目类别:</span>
...@@ -72,7 +72,7 @@ ...@@ -72,7 +72,7 @@
<!--联系人--> <!--联系人-->
<lxr v-if="thistag == 'lxr'"></lxr> <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> <gzdb v-if="thistag == 'gzdb'"></gzdb>
<!--资料文档--> <!--资料文档-->
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
<div class="app-container"> <div class="app-container">
<el-card class="box-card noborder"> <el-card class="box-card noborder">
<div class="btns"> <div class="btns">
<div class="btn btn_default h28"><div class="img img1"></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 class="btn btn_primary h28"><div class="img img2"></div>批量导</div>
</div> </div>
<el-tabs v-model="activeName" @tab-click="handleClick" class="tabpane w100"> <el-tabs v-model="activeName" @tab-click="handleClick" class="tabpane w100">
<el-tab-pane label="我参与的项目" name="first"></el-tab-pane> <el-tab-pane label="我参与的项目" name="first"></el-tab-pane>
...@@ -82,6 +82,63 @@ ...@@ -82,6 +82,63 @@
</div> </div>
</div> </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> </el-card>
</div> </div>
</template> </template>
...@@ -292,13 +349,21 @@ export default { ...@@ -292,13 +349,21 @@ export default {
value: 'jiaohu', value: 'jiaohu',
label: '组件交互文档' label: '组件交互文档'
}] }]
}] }],
dialogVisible:false,
} }
}, },
created() { created() {
}, },
methods: { methods: {
//新建项目
showNew(){
this.dialogVisible = true
},
cancel(){
this.dialogVisible = false
},
toDetail(){ toDetail(){
let Id = '111' let Id = '111'
this.$router.push({ path: '/project/projectList/detail', query: Id }); this.$router.push({ path: '/project/projectList/detail', query: Id });
...@@ -517,4 +582,15 @@ export default { ...@@ -517,4 +582,15 @@ export default {
height: 20px; height: 20px;
} }
} }
.popbot{
.wordprimary{
padding-right: 26px;
float: left;
margin-top: 6px;
}
.btn_primary{
padding: 0;
}
}
</style> </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