Commit 10c340f3 authored by MyName's avatar MyName

项目管理

parent 6306f4e5
...@@ -15,4 +15,59 @@ export function getProjectlist(param) { ...@@ -15,4 +15,59 @@ export function getProjectlist(param) {
params: param params: param
}) })
} }
//删除项目
export function delProject(param) {
return request({
url: '/business/info/remove/'+param,
method: 'DELETE',
})
}
//建设内容
export function getJSNR(param) {
return request({
url: '/business/info/construction/'+param,
method: 'GET',
})
}
//项目速览
export function getXMSL(param) {
return request({
url: '/business/info/browse/'+param,
method: 'GET',
})
}
//项目速览修改
export function editXMSL(param) {
return request({
url: '/business/info/edit',
method: 'POST',
data:param
})
}
//查询项目联系人
export function getLXR(param) {
return request({
url: '/business/contacts/list',
method: 'GET',
params:param
})
}
//修改项目联系人
export function editLXR(param) {
return request({
url: '/business/contacts/edit',
method: 'POST',
data:param
})
}
//新增项目联系人
export function addLXR(param) {
return request({
url: '/business/contacts/add',
method: 'POST',
data:param
})
}
...@@ -124,6 +124,7 @@ ...@@ -124,6 +124,7 @@
border-radius: 2px; border-radius: 2px;
line-height: 28px; line-height: 28px;
cursor: pointer; cursor: pointer;
position: relative;
>span{ >span{
padding-left: 8px; padding-left: 8px;
} }
...@@ -131,6 +132,15 @@ ...@@ -131,6 +132,15 @@
color: rgba(35,35,32,0.4); color: rgba(35,35,32,0.4);
margin-left: 4px; margin-left: 4px;
} }
.timeinput{
opacity: 0;
position: absolute;
.el-input__inner{
padding: 0;
margin: 0;
border: 0;
}
}
} }
} }
} }
...@@ -570,7 +580,7 @@ ...@@ -570,7 +580,7 @@
.el-input__prefix{ .el-input__prefix{
left: 8px; left: 8px;
top: -2px; top: 3px;
} }
.el-input__suffix{ .el-input__suffix{
height: 32px; height: 32px;
...@@ -988,7 +998,7 @@ ...@@ -988,7 +998,7 @@
background: rgba(0, 129, 255, 0.16); background: rgba(0, 129, 255, 0.16);
font-size: 12px; font-size: 12px;
line-height: 22px; line-height: 22px;
top: 149px; top: 148px;
right: 61px; right: 61px;
cursor: pointer; cursor: pointer;
.img{ .img{
...@@ -1067,3 +1077,5 @@ ...@@ -1067,3 +1077,5 @@
white-space: nowrap; white-space: nowrap;
padding-right: 10px; padding-right: 10px;
} }
.none{display: none}
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
<div class="empty" v-if="tableData.total==0 && isNew == true"> <div class="empty" v-if="tableData.total==0 && isNew == true">
<img src="@/assets/images/project/empty.png"> <img src="@/assets/images/project/empty.png">
<div class="p1">添加你的第一位客户吧</div> <div class="p1">添加你的第一位客户吧</div>
<div class="p2">抱歉,你还未添加客户,快去添加吧</div> <div class="p2">抱歉你还未添加客户,快去添加吧</div>
<div class="btn btn_primary h36 w88" @click="opennew">添加客户</div> <div class="btn btn_primary h36 w88" @click="opennew">添加客户</div>
<div class="btn btn_primary btn_shallow h36 w88" @click="pldrs">批量导入</div> <div class="btn btn_primary btn_shallow h36 w88" @click="pldrs">批量导入</div>
</div> </div>
...@@ -227,56 +227,7 @@ ...@@ -227,56 +227,7 @@
</el-dialog> </el-dialog>
</el-card> </el-card>
</div> </div>
<div class="uploadwin" v-if="pldr"> <batchimport v-if="pldr" :importtype="types" @cancels="importCancel" @getdatas="handleCurrentChange(1)"></batchimport>
<div class="upload" v-if="addfile==false">
<div class="up_title">批量导入客户</div>
<div class="up_box">
<el-upload :class="{'none':isUpload == true}"
class="upload-demo"
:action="action"
:multiple="false"
accept=".xls,.xlsx"
drag
ref="upload"
:auto-upload="false"
:file-list="fileList"
:on-change="handleFileListChange"
:headers="headers"
:on-success="onSuccess">
<img class="up_img" src="@/assets/images/project/upload.png">
<div class="up_text">点击选择或将文件(xls,xlsx)拖拽至此上传成员名录</div>
<div class="up_tip">导入的文件内容必须依照下载模板的要求填写</div>
<div class="up_tip">上传文件最大为2M,仅支持Excel表格文件(xls,xlsx)</div>
<div class="up_tip">导入已存在的客户将自动跳过</div>
</el-upload>
<div class="up_success" v-if="isUpload == true">
<img src="@/assets/images/project/success.png">上传成功
</div>
<div class="btn_download" v-if="isUpload == false" @click="downloadClick"><div class="img"></div>点击下载</div>
</div>
<div class="btns">
<div class="btn btn_primary btn_disabled h34" v-if="isUpload==false">确定导入</div>
<div class="btn btn_primary h34" @click="importConfirmClick" v-else>确定导入</div>
<div class="btn btn_default h34">取消</div>
</div>
</div>
<div class="success" v-if="addfile==true">
<div v-if="addsuccess==false">
<img class="img" src="@/assets/images/project/clock.png">
<div class="p1">查询客户中...</div>
<div class="p2">请耐心等待,过程大概30秒</div>
</div>
<div v-if="addsuccess == true">
<div class="p3">
<img src="@/assets/images/project/success.png">查询成功
</div>
<div class="p2">成功导入客户信息</div>
<div class="btns">
<div class="btn btn_primary h32" @click="handleCurrentChange(1)">查看</div>
</div>
</div>
</div>
</div>
</div> </div>
</template> </template>
...@@ -286,12 +237,15 @@ ...@@ -286,12 +237,15 @@
import {getCustomerList,importData,addCustomer} from '@/api/custom/custom' import {getCustomerList,importData,addCustomer} from '@/api/custom/custom'
import {getEnterprise,getDictType,} from '@/api/main' import {getEnterprise,getDictType,} from '@/api/main'
import prvinceTree from '@/assets/json/provinceTree' import prvinceTree from '@/assets/json/provinceTree'
import batchimport from '../../project/projectList/component/batchImport'
import axios from 'axios' import axios from 'axios'
export default { export default {
name: 'CustomList', name: 'CustomList',
components:{batchimport},
data() { data() {
return{ return{
pldr: false, pldr: false,
types:'custom',
searchParam:{ searchParam:{
companyName:'', companyName:'',
pageNum:1, pageNum:1,
...@@ -304,9 +258,6 @@ export default { ...@@ -304,9 +258,6 @@ export default {
tipslit:[],//项目标签 tipslit:[],//项目标签
tipsvalue:"",//标签填写内容 tipsvalue:"",//标签填写内容
tableData: [],//列表 tableData: [],//列表
isUpload:false,//有上传的文件
addfile:false,//已上传文件
addsuccess:false,//已成功加入数据
companData:[],//联想企业列表 companData:[],//联想企业列表
customerLevel:[],//客户等级 customerLevel:[],//客户等级
...@@ -352,9 +303,9 @@ export default { ...@@ -352,9 +303,9 @@ export default {
}, },
pldrs(){ pldrs(){
this.pldr = true this.pldr = true
this.addfile = false },
this.isUpload = false importCancel(){
this.addsuccess = false this.pldr = false
}, },
//获取客户列表 //获取客户列表
getCustomerList(){ getCustomerList(){
...@@ -372,6 +323,7 @@ export default { ...@@ -372,6 +323,7 @@ export default {
}, },
//翻页 //翻页
handleCurrentChange(val) { handleCurrentChange(val) {
this.pldr=false
this.isNew = false this.isNew = false
this.searchParam.pageNum=val this.searchParam.pageNum=val
this.getCustomerList() this.getCustomerList()
...@@ -472,35 +424,6 @@ export default { ...@@ -472,35 +424,6 @@ export default {
this.dialogVisible = false this.dialogVisible = false
this.showlist = false this.showlist = false
}, },
// 批量导入
importConfirmClick() {
if (this.fileList.length > 0) {
this.$refs["upload"].submit();
this.getCustomerList();
this.addfile = true
} else {
this.$message("请先选择文件");
}
},
downloadClick() {
let a = document.createElement("a");
a.setAttribute("href", "/file/Template.xlsx");
a.setAttribute("download", "批量导入模版.xlsx");
document.body.appendChild(a);
a.click();
},
handleFileListChange(file, fileList) {
if (fileList.length > 0) {
this.fileList = [fileList[fileList.length - 1]];
this.isUpload = true
}
},
onSuccess(res, file, fileList) {
if(res.code == 200 )
this.addsuccess = true
else
this.$message.error({message:res.msg,showClose:true})
},
//地区 //地区
async prvinceTree() { async prvinceTree() {
...@@ -617,5 +540,4 @@ export default { ...@@ -617,5 +540,4 @@ export default {
padding-right: 26px; padding-right: 26px;
} }
} }
.none{display: none}
</style> </style>
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
> >
<div class="poptitle"> <div class="poptitle">
<img src="@/assets/images/economies/icon.png"> <img src="@/assets/images/economies/icon.png">
<span>添加客户</span> <span>添加项目</span>
</div> </div>
<el-form class="popform j" :model="queryParam" :rules="rules" ref="ruleForm" label-width="130px"> <el-form class="popform j" :model="queryParam" :rules="rules" ref="ruleForm" label-width="130px">
<el-form-item label="项目名称:" class="row" prop="projectName"> <el-form-item label="项目名称:" class="row" prop="projectName">
......
<template>
<div class="uploadwin">
<div class="upload" v-if="addfile==false">
<div class="up_title">批量导入{{titletext}}</div>
<div class="up_box">
<el-upload :class="{'none':isUpload == true}"
class="upload-demo"
:action="action"
:multiple="false"
accept=".xls,.xlsx"
drag
ref="upload"
:auto-upload="false"
:file-list="fileList"
:on-change="handleFileListChange"
:headers="headers"
:on-success="onSuccess">
<img class="up_img" src="@/assets/images/project/upload.png">
<div class="up_text">点击选择或将文件(xls,xlsx)拖拽至此上传成员名录</div>
<div class="up_tip">导入的文件内容必须依照下载模板的要求填写</div>
<div class="up_tip">上传文件最大为2M,仅支持Excel表格文件(xls,xlsx)</div>
<div class="up_tip">导入已存在的客户将自动跳过</div>
</el-upload>
<div class="up_success" v-if="isUpload == true">
<img src="@/assets/images/project/success.png">上传成功
</div>
<div class="btn_download" v-if="isUpload == false" @click="downloadClick"><div class="img"></div>点击下载</div>
</div>
<div class="btns">
<div class="btn btn_primary btn_disabled h34" v-if="isUpload==false">确定导入</div>
<div class="btn btn_primary h34" @click="importConfirmClick" v-else>确定导入</div>
<div class="btn btn_default h34" @click="importCancel">取消</div>
</div>
</div>
<div class="success" v-if="addfile==true">
<div v-if="addsuccess==false">
<img class="img" src="@/assets/images/project/clock.png">
<div class="p1">查询客户中...</div>
<div class="p2">请耐心等待,过程大概30秒</div>
</div>
<div v-if="addsuccess == true">
<div class="p3">
<img src="@/assets/images/project/success.png">查询成功
</div>
<div class="p2">成功导入客户信息</div>
<div class="btns">
<div class="btn btn_primary h32" @click="getmsg">查看</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { getToken } from "@/utils/auth";
import "@/assets/styles/project.scss"
import {importData} from '@/api/custom/custom'
export default {
name: 'batchImport',
props:{
importtype:''
},
data(){
return{
isUpload:false,//有上传的文件
addfile:false,//已上传文件
addsuccess:false,//已成功加入数据
//批量导入
action:"",
fileList: [],
headers: {
Authorization: "Bearer " + getToken(),
},
downloadhref:'',//样例地址
titletext:'',
}
},
created(){
console.log(this.importtype )
if(this.importtype == 'project'){//项目管理
this.downloadhref = '/file/projectTemplate.xlsx'
this.titletext = '项目'
this.action = process.env.VUE_APP_BASE_API + '/business/info/upload'
}
if(this.importtype == 'custom'){//客户管理
this.downloadhref = '/file/Template.xlsx'
this.titletext = '客户'
this.action = process.env.VUE_APP_BASE_API + "/customer/importData"
}
},
methods:{
getmsg(){
this.$emit('getdatas')
},
handleFileListChange(file, fileList) {
if (fileList.length > 0) {
this.fileList = [fileList[fileList.length - 1]];
this.isUpload = true
}
},
onSuccess(res, file, fileList) {
if(res.code == 200 )
this.addsuccess = true
else
this.$message.error({message:res.msg,showClose:true})
},
downloadClick() {
let a = document.createElement("a");
a.setAttribute("href", this.downloadhref);
a.setAttribute("download", "批量导入模版.xlsx");
document.body.appendChild(a);
a.click();
},
// 批量导入
importConfirmClick() {
if (this.fileList.length > 0) {
this.$refs["upload"].submit();
this.addfile = true
} else {
this.$message("请先选择文件");
}
},
importCancel(){
this.addfile = false
this.isUpload = false
this.addsuccess = false
this.$emit('cancels')
},
}
}
</script>
<style scoped>
</style>
...@@ -9,26 +9,26 @@ ...@@ -9,26 +9,26 @@
<span>总投资额(万元) :</span> <span>总投资额(万元) :</span>
<div class="inputxt"> <div class="inputxt">
<div class="flex" v-if="nowedit == 1"> <div class="flex" v-if="nowedit == 1">
<el-input placeholder="待添加" v-model="money" @input="number"></el-input> <el-input placeholder="待添加" v-model="investmentAmount" @input="number"></el-input>
<div class="flex"> <div class="flex">
<div class="btnsmall btn_primary h28" style="width: 56px">确定</div> <div class="btnsmall btn_primary h28" style="width: 56px" @click="changes({'investmentAmount':investmentAmount})">确定</div>
<div class="cancels h28" @click="nowedit = -1" style="">取消</div> <div class="cancels h28" @click="nowedit = -1" style="">取消</div>
</div> </div>
</div> </div>
<span class="txt" v-else @click="nowedit = 1">待添加</span> <span :class="{'txt':!investmentAmount}" v-else @click="nowedit = 1">{{investmentAmount||'待添加'}}</span>
</div> </div>
</div> </div>
<div class="con i"> <div class="con i">
<span>资金来源 :</span> <span>资金来源 :</span>
<div class="inputxt"> <div class="inputxt">
<div class="flex" v-if="nowedit == 2"> <div class="flex" v-if="nowedit == 2">
<el-input placeholder="待添加"></el-input> <el-input placeholder="待添加" v-model="amountSource"></el-input>
<div class="flex"> <div class="flex">
<div class="btnsmall btn_primary h28" style="width: 56px">确定</div> <div class="btnsmall btn_primary h28" @click="changes({'amountSource':amountSource})" style="width: 56px">确定</div>
<div class="cancels h28" @click="nowedit = -1" style="">取消</div> <div class="cancels h28" @click="nowedit = -1" style="">取消</div>
</div> </div>
</div> </div>
<span class="txt" v-else @click="nowedit = 2">待添加</span> <span :class="{'txt':!amountSource}" v-else @click="nowedit = 2">{{amountSource||'待添加'}}</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -37,27 +37,27 @@ ...@@ -37,27 +37,27 @@
<span>建设性质 :</span> <span>建设性质 :</span>
<div class="inputxt"> <div class="inputxt">
<div class="flex" v-if="nowedit == 3"> <div class="flex" v-if="nowedit == 3">
<el-input placeholder="待添加"></el-input> <el-input placeholder="待添加" v-model="buildProperty"></el-input>
<div class="flex"> <div class="flex">
<div class="btnsmall btn_primary h28" style="width: 56px">确定</div> <div class="btnsmall btn_primary h28" @click="changes({'buildProperty':buildProperty})" style="width: 56px">确定</div>
<div class="cancels h28" @click="nowedit = -1" style="">取消</div> <div class="cancels h28" @click="nowedit = -1" style="">取消</div>
</div> </div>
</div> </div>
<span class="txt" v-else @click="nowedit = 3">待添加</span> <span :class="{'txt':!buildProperty}" v-else @click="nowedit = 3">{{buildProperty||'待添加'}}</span>
</div> </div>
</div> </div>
<div class="con i"> <div class="con i">
<span>计划招标 :</span> <span>计划招标 :</span>
<div class="inputime"> <div class="inputime">
<div class="flex" style="opacity: 0;height: 0"> <div class="flex" style="">
<el-date-picker v-if="nowedit == 11" showWordLimit="true" <el-date-picker class="timeinput"
v-model="value1" v-model="planBidTime"
type="date" type="date"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
placeholder="待添加" @change="nowedit = -1"> placeholder="待添加" @change="changes({'planBidTime':planBidTime})">
</el-date-picker> </el-date-picker>
</div> </div>
<span :class="{'txt':!value1}" @click="nowedit = 11">{{value1||"待添加"}}<i class="el-icon-caret-bottom"></i></span> <span :class="{'txt':!planBidTime}">{{planBidTime||"待添加"}}<i class="el-icon-caret-bottom"></i></span>
</div> </div>
</div> </div>
</div> </div>
...@@ -66,28 +66,28 @@ ...@@ -66,28 +66,28 @@
<span>计划开工 :</span> <span>计划开工 :</span>
<div class="inputime"> <div class="inputime">
<div class="flex" style="opacity: 0;height: 0"> <div class="flex" style="opacity: 0;height: 0">
<el-date-picker v-if="nowedit == 12" showWordLimit="true" <el-date-picker class="timeinput"
v-model="value1" v-model="planStartTime"
type="date" type="date"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
placeholder="待添加" @change="nowedit = -1"> placeholder="待添加" @change="changes({'planStartTime':planStartTime})">
</el-date-picker> </el-date-picker>
</div> </div>
<span :class="{'txt':!value1}" @click="nowedit = 12">{{value1||"待添加"}}<i class="el-icon-caret-bottom"></i></span> <span :class="{'txt':!planStartTime}">{{planStartTime||"待添加"}}<i class="el-icon-caret-bottom"></i></span>
</div> </div>
</div> </div>
<div class="con i"> <div class="con i">
<span>计划竣工 :</span> <span>计划竣工 :</span>
<div class="inputime"> <div class="inputime">
<div class="flex" style="opacity: 0;height: 0"> <div class="flex" style="opacity: 0;height: 0">
<el-date-picker v-if="nowedit == 13" showWordLimit="true" <el-date-picker class="timeinput"
v-model="value1" v-model="planCompleteTime"
type="date" type="date"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
placeholder="待添加" @change="nowedit = -1"> placeholder="待添加" @change="changes({'planCompleteTime':planCompleteTime})">
</el-date-picker> </el-date-picker>
</div> </div>
<span :class="{'txt':!value1}" @click="nowedit = 13">{{value1||"待添加"}}<i class="el-icon-caret-bottom"></i></span> <span :class="{'txt':!planCompleteTime}">{{planCompleteTime||"待添加"}}<i class="el-icon-caret-bottom"></i></span>
</div> </div>
</div> </div>
</div> </div>
...@@ -96,10 +96,10 @@ ...@@ -96,10 +96,10 @@
<el-card class="box-card noborder"> <el-card class="box-card noborder">
<div class="cardtitles">项目概况与建设规模</div> <div class="cardtitles">项目概况与建设规模</div>
<div class="baseinfo"> <div class="baseinfo">
<el-input v-model="textarea" @focus="nowedit = 9" class="textarea" type="textarea" placeholder="请输入项目概况与建设规模详细信息" maxlength="500" show-word-limit="true" ></el-input> <el-input v-model="projectDetails" @focus="nowedit = 9" class="textarea" type="textarea" placeholder="请输入项目概况与建设规模详细信息" maxlength="500" :show-word-limit="true" ></el-input>
<div class="flex btns" v-if="nowedit == 9"> <div class="flex btns" v-if="nowedit == 9">
<div class="flex"> <div class="flex">
<div class="btnsmall btn_primary h28" style="width: 56px">确定</div> <div class="btnsmall btn_primary h28" @click="changes({'projectDetails':projectDetails})" style="width: 56px">确定</div>
<div class="cancels h28" @click="nowedit = -1" style="">取消</div> <div class="cancels h28" @click="nowedit = -1" style="">取消</div>
</div> </div>
</div> </div>
...@@ -113,27 +113,27 @@ ...@@ -113,27 +113,27 @@
<span>评标办法 :</span> <span>评标办法 :</span>
<div class="inputxt"> <div class="inputxt">
<div class="flex" v-if="nowedit == 4"> <div class="flex" v-if="nowedit == 4">
<el-input placeholder="待添加"></el-input> <el-input placeholder="待添加" v-model="evaluationBidWay"></el-input>
<div class="flex"> <div class="flex">
<div class="btnsmall btn_primary h28" style="width: 56px">确定</div> <div class="btnsmall btn_primary h28" @click="changes({'evaluationBidWay':evaluationBidWay})" style="width: 56px">确定</div>
<div class="cancels h28" @click="nowedit = -1" style="">取消</div> <div class="cancels h28" @click="nowedit = -1" style="">取消</div>
</div> </div>
</div> </div>
<span class="txt" v-else @click="nowedit = 4">待添加</span> <span :class="{'txt':!evaluationBidWay}" v-else @click="nowedit = 4">{{evaluationBidWay||'待添加'}}</span>
</div> </div>
</div> </div>
<div class="con i"> <div class="con i">
<span>开标时间 :</span> <span>开标时间 :</span>
<div class="inputime"> <div class="inputime">
<div class="flex" style="opacity: 0;height: 0"> <div class="flex" style="opacity: 0;height: 0">
<el-date-picker v-if="nowedit == 14" showWordLimit="true" <el-date-picker class="timeinput"
v-model="value1" v-model="bidOpenTime"
type="date" type="date"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
placeholder="待添加" @change="nowedit = -1"> placeholder="待添加" @change="changes({'bidOpenTime':bidOpenTime})">
</el-date-picker> </el-date-picker>
</div> </div>
<span :class="{'txt':!value1}" @click="nowedit = 14">{{value1||"待添加"}}<i class="el-icon-caret-bottom"></i></span> <span :class="{'txt':!bidOpenTime}">{{bidOpenTime||"待添加"}}<i class="el-icon-caret-bottom"></i></span>
</div> </div>
</div> </div>
</div> </div>
...@@ -142,26 +142,26 @@ ...@@ -142,26 +142,26 @@
<span>保证金缴纳 :</span> <span>保证金缴纳 :</span>
<div class="inputxt"> <div class="inputxt">
<div class="flex" v-if="nowedit == 5"> <div class="flex" v-if="nowedit == 5">
<el-input placeholder="待添加"></el-input> <el-input placeholder="待添加" v-model="earnestMoneyPay"></el-input>
<div class="flex"> <div class="flex">
<div class="btnsmall btn_primary h28" style="width: 56px">确定</div> <div class="btnsmall btn_primary h28" @click="changes({'earnestMoneyPay':earnestMoneyPay})" style="width: 56px">确定</div>
<div class="cancels h28" @click="nowedit = -1" style="">取消</div> <div class="cancels h28" @click="nowedit = -1" style="">取消</div>
</div> </div>
</div> </div>
<span class="txt" v-else @click="nowedit = 5">待添加</span> <span :class="{'txt':!earnestMoneyPay}" v-else @click="nowedit = 5">{{earnestMoneyPay||'待添加'}}</span>
</div> </div>
</div> </div>
<div class="con i"> <div class="con i">
<span>保证金金额(万元) :</span> <span>保证金金额(万元) :</span>
<div class="inputxt"> <div class="inputxt">
<div class="flex" v-if="nowedit == 6"> <div class="flex" v-if="nowedit == 6">
<el-input placeholder="待添加"></el-input> <el-input placeholder="待添加" v-model="earnestMoney"></el-input>
<div class="flex"> <div class="flex">
<div class="btnsmall btn_primary h28" style="width: 56px">确定</div> <div class="btnsmall btn_primary h28" @click="changes({'earnestMoney':earnestMoney})" style="width: 56px">确定</div>
<div class="cancels h28" @click="nowedit = -1" style="">取消</div> <div class="cancels h28" @click="nowedit = -1" style="">取消</div>
</div> </div>
</div> </div>
<span class="txt" v-else @click="nowedit = 6">待添加</span> <span :class="{'txt':!earnestMoney}" v-else @click="nowedit = 6">{{earnestMoney||'待添加'}}</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -170,26 +170,26 @@ ...@@ -170,26 +170,26 @@
<span>开标地点 :</span> <span>开标地点 :</span>
<div class="inputxt"> <div class="inputxt">
<div class="flex" v-if="nowedit == 7"> <div class="flex" v-if="nowedit == 7">
<el-input placeholder="待添加"></el-input> <el-input placeholder="待添加" v-model="bidOpenPlace"></el-input>
<div class="flex"> <div class="flex">
<div class="btnsmall btn_primary h28" style="width: 56px">确定</div> <div class="btnsmall btn_primary h28" @click="changes({'bidOpenPlace':bidOpenPlace})" style="width: 56px">确定</div>
<div class="cancels h28" @click="nowedit = -1" style="">取消</div> <div class="cancels h28" @click="nowedit = -1" style="">取消</div>
</div> </div>
</div> </div>
<span class="txt" v-else @click="nowedit = 7">待添加</span> <span :class="{'txt':!bidOpenPlace}" v-else @click="nowedit = 7">{{bidOpenPlace||'待添加'}}</span>
</div> </div>
</div> </div>
<div class="con i"> <div class="con i">
<span>评标委员会 :</span> <span>评标委员会 :</span>
<div class="inputxt"> <div class="inputxt">
<div class="flex" v-if="nowedit == 8"> <div class="flex" v-if="nowedit == 8">
<el-input placeholder="待添加"></el-input> <el-input placeholder="待添加" v-model="evaluationBidCouncil"></el-input>
<div class="flex"> <div class="flex">
<div class="btnsmall btn_primary h28" style="width: 56px">确定</div> <div class="btnsmall btn_primary h28" @click="changes({'evaluationBidCouncil':evaluationBidCouncil})" style="width: 56px">确定</div>
<div class="cancels h28" @click="nowedit = -1" style="">取消</div> <div class="cancels h28" @click="nowedit = -1" style="">取消</div>
</div> </div>
</div> </div>
<span class="txt" v-else @click="nowedit = 8">待添加</span> <span :class="{'txt':!evaluationBidCouncil}" v-else @click="nowedit = 8">{{evaluationBidCouncil||'待添加'}}</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -200,28 +200,67 @@ ...@@ -200,28 +200,67 @@
<script> <script>
import "@/assets/styles/project.scss" import "@/assets/styles/project.scss"
import {getJSNR,editXMSL} from '@/api/project/project'
export default { export default {
name: 'jsnr', name: 'jsnr',
data(){ data(){
return{ return{
textarea:"",
nowedit:-1,//当前正在编辑的文本 nowedit:-1,//当前正在编辑的文本
value1:'', id:parseInt(this.$route.query.id),
money:'', investmentAmount: '',//总投资额
amountSource: '',//资金来源
buildProperty: '',//建设性质
planBidTime: '',//计划招标
planStartTime: '',//计划开工
planCompleteTime: '',//计划竣工
projectDetails: '',//项目概况与建设规模
evaluationBidWay: '',//评标办法
bidOpenTime: '',//开标时间
bidOpenPlace: '',//开标地点
earnestMoney: '',//保证金金额
earnestMoneyPay: '',//保证金缴纳
evaluationBidCouncil: '',//评标委员会
} }
}, },
watch:{ watch:{
// nowedit(oldvalue,newvalue){ },
// if (newvalue == 13){ created(){
// this.$ref.newvalue13.=true this.getJSNR()
// }
// }
}, },
methods:{ methods:{
getJSNR(){
getJSNR(this.id).then(result=>{
this.investmentAmount = result.data.investmentAmount//总投资额
this.amountSource = result.data.amountSource//资金来源
this.buildProperty = result.data.buildProperty//建设性质
this.planBidTime = result.data.planBidTime//计划招标
this.planStartTime = result.data.planStartTime//计划开工
this.planCompleteTime = result.data.planCompleteTime//计划竣工
this.projectDetails = result.data.projectDetails//项目概况与建设规模
this.evaluationBidWay = result.data.evaluationBidWay//评标办法
this.bidOpenTime = result.data.bidOpenTime//开标时间
this.bidOpenPlace = result.data.bidOpenPlace//开标地点
this.earnestMoney = result.data.earnestMoney//保证金金额
this.earnestMoneyPay = result.data.earnestMoneyPay//保证金缴纳
this.evaluationBidCouncil = result.data.evaluationBidCouncil//评标委员会
})
},
changes(str){
this.nowedit = -1
let param = str
param.id = this.id
editXMSL(param).then(result=>{
if(result.code == 200)
this.$message.success('修改成功')
else{
this.getJSNR()
}
})
},
//输入数字 //输入数字
number(value){ number(value){
console.log(value) console.log(value)
this.money = value.replace(/^\D*(\d*(?:\.\d{0,6})?).*$/g, '$1')//输入6位小数 this.investmentAmount = this.investmentAmount == ""||this.investmentAmount == null? value.replace(/^\D*(\d*(?:\.\d{0,6})?).*$/g, '$1'):null//输入6位小数
}, },
} }
} }
......
...@@ -13,12 +13,12 @@ ...@@ -13,12 +13,12 @@
<div class="empty"> <div class="empty">
<img src="@/assets/images/project/empty.png"> <img src="@/assets/images/project/empty.png">
<div class="p1">暂无数据展示</div> <div class="p1">暂无数据展示</div>
<div class="p2">抱歉,你还未添加相关数据,快去添加吧</div> <div class="p2">抱歉你还未添加相关数据,快去添加吧</div>
<div class="btn btn_primary h36 w102" @click="opennew">新增联系人</div> <div class="btn btn_primary h36 w102" @click="opennew">新增联系人</div>
</div> </div>
</template> </template>
<el-table-column <el-table-column
prop="date" prop="name"
label="姓名" label="姓名"
width="113"> width="113">
</el-table-column> </el-table-column>
...@@ -27,34 +27,34 @@ ...@@ -27,34 +27,34 @@
label="操作" label="操作"
width="118"> width="118">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="edit"> <div class="edit" @click="getDetail(scope.row)">
<img src="@/assets/images/project/edit.png"> <img src="@/assets/images/project/edit.png">
<span>编辑</span> <span>编辑</span>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="name" prop="role"
label="角色" label="角色"
sortable sortable
width="146"> width="146">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="address" prop="office"
label="公司/机关"> label="公司/机关">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="name" prop="position"
label="职位" label="职位"
width="125"> width="125">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="name" prop="phone"
label="联系方式" label="联系方式"
width="175"> width="175">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="name" prop="accendant"
label="内部维护人" label="内部维护人"
width="146"> width="146">
</el-table-column> </el-table-column>
...@@ -63,11 +63,11 @@ ...@@ -63,11 +63,11 @@
<div class="btn btn_primary h28" @click="opennew"><div class="img img1"></div>新增联系人</div> <div class="btn btn_primary h28" @click="opennew"><div class="img img1"></div>新增联系人</div>
<el-pagination <el-pagination
background background
:page-size="20" :page-size="searchParam.pageSize"
:current-page="1" :current-page="searchParam.pageNum"
@current-change="handleCurrentChange" @current-change="handleCurrentChange"
layout="prev, pager, next" layout="prev, pager, next"
:total="1000"> :total="total">
</el-pagination> </el-pagination>
</div> </div>
</div> </div>
...@@ -77,33 +77,30 @@ ...@@ -77,33 +77,30 @@
width="464px"> width="464px">
<div class="poptitle"> <div class="poptitle">
<img src="@/assets/images/economies/icon.png"> <img src="@/assets/images/economies/icon.png">
<span>重庆市轨道交通3号线二期工程4标段施工总承包</span> <span>{{projectname}}</span>
</div> </div>
<el-form class="popform" label-width="137px"> <el-form class="popform" label-width="137px">
<el-form-item label="联系人姓名:" class="row"> <el-form-item label="联系人姓名:" class="row">
<el-input type="text" placeholder="请输入"></el-input> <el-input type="text" v-model="queryParam.name" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="联系人角色:" class="row"> <el-form-item label="联系人角色:" class="row">
<el-select placeholder="请选择"> <el-input type="text" v-model="queryParam.role" placeholder="请输入"></el-input>
<el-option label="cccc" value="11"></el-option>
<el-option label="cccc" value="121"></el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="联系人职位:" class="row"> <el-form-item label="联系人职位:" class="row">
<el-input type="text" placeholder="请输入"></el-input> <el-input type="text" v-model="queryParam.position" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="联系人公司/机关:" class="row"> <el-form-item label="联系人公司/机关:" class="row">
<el-input type="text" placeholder="请输入"></el-input> <el-input type="text" v-model="queryParam.office" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="内部维护人:" class="row"> <el-form-item label="内部维护人:" class="row">
<el-input type="text" placeholder="请输入"></el-input> <el-input type="text" v-model="queryParam.accendant" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="联系方式:" class="row"> <el-form-item label="联系方式:" class="row">
<el-input type="text" placeholder="请输入"></el-input> <el-input type="text" v-model="queryParam.phone" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
<div class="popbot"> <div class="popbot">
<div class="btn btn_cancel h32" @click="cancel">返回</div> <div class="btn btn_cancel h32" @click="cancel">返回</div>
<div class="btn btn_primary h32">保存</div> <div class="btn btn_primary h32" @click="save">保存</div>
</div> </div>
</el-form> </el-form>
</el-dialog> </el-dialog>
...@@ -113,40 +110,68 @@ ...@@ -113,40 +110,68 @@
<script> <script>
import "@/assets/styles/project.scss" import "@/assets/styles/project.scss"
import {getLXR,editLXR,addLXR} from '@/api/project/project'
export default { export default {
name: 'lxr', name: 'lxr',
data(){ data(){
return{ return{
dialogVisible:false, dialogVisible:false,
isnew:true,//是否新增
textarea:"", textarea:"",
nowedit:-1,//当前正在编辑的文本 nowedit:-1,//当前正在编辑的文本
tipslit:[],//项目标签 tipslit:[],//项目标签
tipsvalue:"",//标签填写内容 tipsvalue:"",//标签填写内容
tableData: [ tableData: [],
{ searchParam:{
date: '2016-05-02', pageNum:1,
name: '王小虎', pageSize:20,
address: '上海市普陀区金沙江路 1518 弄' businessId:this.$route.query.id
}, { },
date: '2016-05-04', id:this.$route.query.id,
name: '王小虎', total:0,
address: '上海市普陀区金沙江路 1517 弄' projectname:this.$route.query.projectname,
}, { queryParam:[],
date: '2016-05-01',
name: '王小虎',
address: '上海市普陀区金沙江路 1519 弄'
}, {
date: '2016-05-03',
name: '王小虎',
address: '上海市普陀区金沙江路 1516 弄'
}
]
} }
}, },
created(){
this.getList()
},
methods:{ methods:{
getDetail(item){
this.dialogVisible = true
this.queryParam = item
this.isnew = false
},
getList(){
getLXR(this.searchParam).then(result=>{
this.tableData = result.code == 200?result.rows:[]
this.total = result.code == 200?result.total:0
})
},
save(){
if(this.isnew == false){
editLXR(this.queryParam).then(result=>{
if(result.code == 200){
this.$message.success('保存成功!')
this.getList()
this.dialogVisible = false
}
})
}
if(this.isnew == true){
addLXR(this.queryParam).then(result=>{
if(result.code == 200){
this.$message.success('新增成功!')
this.getList()
this.dialogVisible = false
}
})
}
},
//翻页 //翻页
handleCurrentChange(val) { handleCurrentChange(val) {
console.log(`当前页: ${val}`); this.searchParam.pageNum = val
this.getList()
}, },
cancel(){ cancel(){
this.dialogVisible = false this.dialogVisible = false
...@@ -154,6 +179,16 @@ ...@@ -154,6 +179,16 @@
//打开新建窗口 //打开新建窗口
opennew(){ opennew(){
this.dialogVisible = true this.dialogVisible = true
this.isnew = true
this.queryParam = {
businessId:this.id,
name:"",
role:"",
office:"",
position:"",
phone:"",
accendant:"",
}
}, },
} }
} }
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
<div class="empty"> <div class="empty">
<img src="@/assets/images/project/empty.png"> <img src="@/assets/images/project/empty.png">
<div class="p1">暂无数据展示</div> <div class="p1">暂无数据展示</div>
<div class="p2">抱歉,你还未添加相关数据,快去添加吧</div> <div class="p2">抱歉你还未添加相关数据,快去添加吧</div>
<div class="btn btn_primary h36 w102" @click="opennew">新增联系人</div> <div class="btn btn_primary h36 w102" @click="opennew">新增联系人</div>
</div> </div>
</template> </template>
......
...@@ -169,8 +169,12 @@ ...@@ -169,8 +169,12 @@
<script> <script>
import "@/assets/styles/project.scss" import "@/assets/styles/project.scss"
import {getDictType,} from '@/api/main' import {getDictType,} from '@/api/main'
import {} from '@/api/project/project'
export default { export default {
name: 'xmsl', name: 'xmsl',
props:{
datas:'',
},
data(){ data(){
return{ return{
nowedit:-1,//当前正在编辑的文本 nowedit:-1,//当前正在编辑的文本
...@@ -178,10 +182,10 @@ ...@@ -178,10 +182,10 @@
tipsvalue:"",//标签填写内容 tipsvalue:"",//标签填写内容
xmjd:'待添加', xmjd:'待添加',
projectStage:[],//项目阶段 projectStage:[],//项目阶段
sldata:this.datas,
} }
}, },
created(){ created(){
//项目阶段 //项目阶段
getDictType('project_stage_type').then(result=>{ getDictType('project_stage_type').then(result=>{
this.projectStage = result.code == 200 ? result.data:[] this.projectStage = result.code == 200 ? result.data:[]
......
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
<div class="empty"> <div class="empty">
<img src="@/assets/images/project/empty.png"> <img src="@/assets/images/project/empty.png">
<div class="p1">暂无数据展示</div> <div class="p1">暂无数据展示</div>
<div class="p2">抱歉,你还未添加相关数据,快去添加吧</div> <div class="p2">抱歉你还未添加相关数据,快去添加吧</div>
<div class="btn btn_primary h36 w102" @click="opennew">新增联系人</div> <div class="btn btn_primary h36 w102" @click="opennew">新增联系人</div>
</div> </div>
</template> </template>
......
...@@ -103,7 +103,7 @@ ...@@ -103,7 +103,7 @@
</div> </div>
</el-card> </el-card>
<!--项目概览--> <!--项目概览-->
<xmsl v-if="thistag == 'xmsl'"></xmsl> <xmsl v-if="thistag == 'xmsl'" :datas="ProjectData"></xmsl>
<!--建设内容--> <!--建设内容-->
<jsnr v-if="thistag == 'jsnr'"></jsnr> <jsnr v-if="thistag == 'jsnr'"></jsnr>
<!--联系人--> <!--联系人-->
...@@ -132,6 +132,7 @@ ...@@ -132,6 +132,7 @@
import zlwd from './component/zlwd.vue' import zlwd from './component/zlwd.vue'
import xgqy from './component/xgqy.vue' import xgqy from './component/xgqy.vue'
import prvinceTree from '@/assets/json/provinceTree' import prvinceTree from '@/assets/json/provinceTree'
import {getXMSL} from '@/api/project/project'
export default { export default {
name: 'detail', name: 'detail',
components: {xmsl,jsnr,lxr,gjjl,gzdb,zlwd,xgqy}, components: {xmsl,jsnr,lxr,gjjl,gzdb,zlwd,xgqy},
...@@ -161,10 +162,13 @@ ...@@ -161,10 +162,13 @@
addressList:[], addressList:[],
domicile:[], domicile:[],
props:{ checkStrictly: true, expandTrigger: 'hover' }, props:{ checkStrictly: true, expandTrigger: 'hover' },
id:'',
ProjectData:null,
} }
}, },
created(){ created(){
this.prvinceTree() this.prvinceTree()
this.id = this.$route.query.id
//项目阶段 //项目阶段
getDictType('project_stage_type').then(result=>{ getDictType('project_stage_type').then(result=>{
this.projectStage = result.code == 200 ? result.data:[] this.projectStage = result.code == 200 ? result.data:[]
...@@ -177,6 +181,12 @@ ...@@ -177,6 +181,12 @@
getDictType('project_category').then(result=>{ getDictType('project_category').then(result=>{
this.projectCategory = result.code == 200 ? result.data:[] this.projectCategory = result.code == 200 ? result.data:[]
}) })
//获取基本信息
getXMSL(this.id).then(result=>{
this.ProjectData = result.code==200?result.data:[]
this.$route.query.projectname = result.data.projectName
})
}, },
methods: { methods: {
//地区 //地区
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<el-card class="box-card noborder"> <el-card class="box-card noborder">
<div class="btns"> <div class="btns">
<div class="btn btn_default h28" @click="addNew(true)"><div class="img img1"></div>新建项目商机</div> <div class="btn btn_default h28" @click="addNew(true)"><div class="img img1"></div>新建项目商机</div>
<div class="btn btn_primary h28"><div class="img img2"></div>批量导入</div> <div class="btn btn_primary h28" @click="pldrs"><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>
...@@ -19,8 +19,8 @@ ...@@ -19,8 +19,8 @@
地区团队 地区团队
</span> </span>
<div class="select-popper"> <div class="select-popper">
<span :class="{ color_text:searchParam.province.length ||searchParam.city.length ||searchParam.area.length,}"> <span :class="{ color_text:searchParam.provinceId.length ||searchParam.cityId.length ||searchParam.districtId.length,}">
项目地区{{searchParam.province.length ||searchParam.city.length ||searchParam.area.length? searchParam.province.length +searchParam.city.length +searchParam.area.length +"项": ""}} 项目地区{{searchParam.provinceId.length ||searchParam.cityId.length ||searchParam.districtId.length? searchParam.provinceId.length +searchParam.cityId.length +searchParam.districtId.length +"项": ""}}
<i class="el-icon-caret-bottom"></i> <i class="el-icon-caret-bottom"></i>
</span> </span>
<el-cascader class="cascader-region select-location" <el-cascader class="cascader-region select-location"
...@@ -98,14 +98,23 @@ ...@@ -98,14 +98,23 @@
<el-card class="box-card noborder overflows"> <el-card class="box-card noborder overflows">
<div class="titles">项目明细 <div class="titles">项目明细
<div class="dc"> <div class="dc">
<div class="total">126</div> <div class="total">{{total}}</div>
<div class="btn-export"><img src="@/assets/images/EXCEL.png">导出EXCEL</div> <div class="btn-export"><img src="@/assets/images/EXCEL.png">导出EXCEL</div>
</div> </div>
</div> </div>
<div class="tables" v-if="total == 0">
<div class="empty">
<img src="@/assets/images/project/empty.png">
<div class="p1">添加你的第一个项目吧</div>
<div class="p2">抱歉,你还未添加项目,快去添加吧</div>
<div class="btn btn_primary h36 w88" @click="addNew(true)">新建商机</div>
<div class="btn btn_primary btn_shallow h36 w88" @click="pldrs">批量导入</div>
</div>
</div>
<div class="datalist"> <div class="datalist">
<div class="datali"> <div class="datali" v-for="(item,index) in datalist">
<div class="det-title" @click="toDetail()">轨道交通13号线扩能提升工程<span class="people"><i>A</i>四川-李丽 <font color="#FA8A00">正在跟进</font></span></div> <div class="det-title" @click="toDetail(item.id)">{{item.projectName}}<span v-if="activeName!='first'" class="people"><i>A</i>四川-李丽 <font color="#FA8A00" v-if="activeName!='first'">正在跟进</font></span></div>
<div class="det-tips"><span class="tips tip1">轨道交通</span><span class="tips tip2">江西省-南昌市</span></div> <div class="det-tips"><span class="tips tip1" v-if="item.label">{{item.label}}</span><span v-if="item.address" class="tips tip2">{{item.address}}</span></div>
<div class="det-contets"> <div class="det-contets">
<div class="det-con"> <div class="det-con">
<span>项目类型:</span> <span>项目类型:</span>
...@@ -113,35 +122,48 @@ ...@@ -113,35 +122,48 @@
</div> </div>
<div class="det-con"> <div class="det-con">
<span>投资估算(万元):</span> <span>投资估算(万元):</span>
<span>21</span> <span>{{item.investmentAmount}}</span>
</div> </div>
<div class="det-con"> <div class="det-con">
<span>最后跟进时间:</span> <span>最后跟进时间:</span>
<span>2013-02-19</span> <span>{{item.followTime || '--'}}</span>
</div> </div>
<div class="det-con"> <div class="det-con">
<span>业主单位:</span> <span>业主单位:</span>
<span class="wordprimary">重庆市交通开发投资(集团)有限公司</span> <span class="wordprimary">{{item.ownerCompany}}</span>
</div> </div>
</div> </div>
<el-divider></el-divider> <el-divider></el-divider>
<div class="operates"> <div class="operates" v-if="activeName=='first'">
<div class="i1"><img src="@/assets/images/follow.png">跟进</div> <div class="i1"><img src="@/assets/images/follow.png">跟进</div>
<div class="i2"><img src="@/assets/images/edit.png">编辑</div> <div class="i2"><img src="@/assets/images/edit.png">编辑</div>
<div class="i3"><img src="@/assets/images/delete.png">删除</div> <div class="i3" @click="deldetail(index)"><img src="@/assets/images/delete.png">删除</div>
</div> </div>
<div class="delform"> <div class="delform" v-if="activeName=='first' && ondel == index">
<div class="words">是否将项目删除</div> <div class="words">是否将项目删除</div>
<div> <div>
<div class="btnsmall btn_primary h28">确定</div> <div class="btnsmall btn_primary h28" @click="deleteProject(item.id)">确定</div>
<div class="btnsmall btn_cancel h28">取消</div> <div class="btnsmall btn_cancel h28" @click="ondel = -1">取消</div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="tables">
<div class="bottems" v-if="total>0">
<el-pagination
background
:page-size="searchParam.pageSize"
:current-page="searchParam.pageNum"
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="total">
</el-pagination>
</div>
</div>
</el-card> </el-card>
<addproject v-if="isshow" @addproject="add" @cancel="addNew"></addproject> <addproject v-if="isshow" @addproject="add" @cancel="addNew"></addproject>
<batchimport v-if="pldr" :importtype="types" @cancels="cancelimport" @getdatas="getdatas"></batchimport>
</div> </div>
</template> </template>
...@@ -149,18 +171,21 @@ ...@@ -149,18 +171,21 @@
import "@/assets/styles/project.scss" import "@/assets/styles/project.scss"
import "@/assets/styles/public.css" import "@/assets/styles/public.css"
import prvinceTree from '@/assets/json/provinceTree' import prvinceTree from '@/assets/json/provinceTree'
import {getProjectlist} from '@/api/project/project' import {getProjectlist,delProject} from '@/api/project/project'
import {getDictType,} from '@/api/main' import {getDictType,} from '@/api/main'
import addproject from './component/addProject' import addproject from './component/addProject'
import batchimport from './component/batchImport'
export default { export default {
name: 'ProjectList', name: 'ProjectList',
components:{addproject}, components:{addproject,batchimport},
data() { data() {
return { return {
types:'project',
props:{multiple: true}, props:{multiple: true},
activeName:'first', activeName:'first',
projectStage:[],//项目阶段 projectStage:[],//项目阶段
isshow:false,//新增商机 isshow:false,//新增商机
pldr:false,//批量导入
//项目地区 //项目地区
addressList:[], addressList:[],
addressType: [], addressType: [],
...@@ -168,6 +193,7 @@ export default { ...@@ -168,6 +193,7 @@ export default {
minAmount:'',//投资估算最小值 minAmount:'',//投资估算最小值
maxAmount:'',//投资估算最大值 maxAmount:'',//投资估算最大值
searchParam: { searchParam: {
userId:null,//个人项目需传,公司项目不传
projectName:'',//项目名称 projectName:'',//项目名称
ownerCompany:'',//业主单位 ownerCompany:'',//业主单位
projectType:'',//项目类型 projectType:'',//项目类型
...@@ -175,9 +201,9 @@ export default { ...@@ -175,9 +201,9 @@ export default {
minAmount:'',//投资估算最小值 minAmount:'',//投资估算最小值
maxAmount:'',//投资估算最大值 maxAmount:'',//投资估算最大值
Amount:'',//投资估算 Amount:'',//投资估算
province: [], provinceId: [],
city: [], cityId: [],
area: [], districtId: [],
pageNum:1, pageNum:1,
pageSize:10, pageSize:10,
}, },
...@@ -204,6 +230,9 @@ export default { ...@@ -204,6 +230,9 @@ export default {
], ],
contractSignTimeValue: "", contractSignTimeValue: "",
transactionPriceShowPopper: false, transactionPriceShowPopper: false,
datalist:[],//列表数据
ondel:-1,
total:0,
} }
}, },
created() { created() {
...@@ -223,17 +252,55 @@ export default { ...@@ -223,17 +252,55 @@ export default {
}) })
}, },
methods: { methods: {
deldetail(index){
this.ondel = index
},
deleteProject(id){
delProject(id).then(result =>{
if(result.code==200){
this.$message.success('删除成功!')
this.getList(1)
this.ondel = -1
}else{
this.$message.error(result.msg)
}
})
},
getdatas(){
this.getList(1)
},
cancelimport(){
this.pldr = false
},
pldrs(){
this.pldr = true
},
//获取商机列表 //获取商机列表
getList(pageNum){ getList(pageNum){
this.searchParam.pageNum = pageNum this.searchParam.pageNum = pageNum
console.log(this.searchParam) if(this.activeName == 'first'){
// return false this.searchParam.userId = this.$store.state.user.userId
}else{
this.searchParam.userId = null
}
getProjectlist(this.searchParam).then(result=>{ getProjectlist(this.searchParam).then(result=>{
console.log(result) if(result.code == 200){
this.datalist = result.rows
this.total = result.total
this.datalist.forEach(item=>{
let str = item.provinceName
if(item.cityName != "" && item.cityName != null)
str += '-' +item.cityName
if(item.districtName != ""&& item.districtName != null)
str += '-' +item.districtName
item.address = str
})
}
}) })
}, },
reset(){ reset(){
this.searchParam ={ this.searchParam ={
userId:null,
projectName:'',//项目名称 projectName:'',//项目名称
ownerCompany:'',//业主单位 ownerCompany:'',//业主单位
projectType:'',//项目类型 projectType:'',//项目类型
...@@ -241,9 +308,9 @@ export default { ...@@ -241,9 +308,9 @@ export default {
minAmount:'',//投资估算最小值 minAmount:'',//投资估算最小值
maxAmount:'',//投资估算最大值 maxAmount:'',//投资估算最大值
Amount:'',//投资估算 Amount:'',//投资估算
province: [], provinceId: [],
city: [], cityId: [],
area: [], districtId: [],
pageNum:1, pageNum:1,
pageSize:10, pageSize:10,
} }
...@@ -287,9 +354,8 @@ export default { ...@@ -287,9 +354,8 @@ export default {
this.isshow = false this.isshow = false
this.getList(1) this.getList(1)
}, },
toDetail(){ toDetail(id){
let Id = '111' this.$router.push({ path: '/project/projectList/detail', query: {id:id} });
this.$router.push({ path: '/project/projectList/detail', query: Id });
}, },
handleClick(){ handleClick(){
...@@ -299,27 +365,27 @@ export default { ...@@ -299,27 +365,27 @@ export default {
// var labelString = this.$refs.myCascader.getCheckedNodes()[0].pathLabels; // var labelString = this.$refs.myCascader.getCheckedNodes()[0].pathLabels;
let arr = this.$refs.myCascader.getCheckedNodes(); let arr = this.$refs.myCascader.getCheckedNodes();
// console.log(arr) // console.log(arr)
let province = [], let provinceId = [],
city = [], cityId = [],
area = []; districtId = [];
this.domicile = []; this.domicile = [];
for (var i in arr) { for (var i in arr) {
if (arr[i].parent) { if (arr[i].parent) {
if (!arr[i].parent.checked) { if (!arr[i].parent.checked) {
arr[i].hasChildren && city.push(arr[i].value); arr[i].hasChildren && cityId.push(arr[i].value);
arr[i].hasChildren && this.domicile.push(arr[i].label); arr[i].hasChildren && this.domicile.push(arr[i].label);
!arr[i].hasChildren && area.push(arr[i].value); !arr[i].hasChildren && districtId.push(arr[i].value);
!arr[i].hasChildren && this.domicile.push(arr[i].label); !arr[i].hasChildren && this.domicile.push(arr[i].label);
} }
} else { } else {
province.push(arr[i].value); provinceId.push(arr[i].value);
this.domicile.push(arr[i].label); this.domicile.push(arr[i].label);
} }
} }
var obj = JSON.parse(JSON.stringify(this.searchParam)); var obj = JSON.parse(JSON.stringify(this.searchParam));
obj.province = province; obj.provinceId = provinceId;
obj.city = city; obj.cityId = cityId;
obj.area = area; obj.districtId = districtId;
this.searchParam = obj; this.searchParam = obj;
}, },
...@@ -358,6 +424,11 @@ export default { ...@@ -358,6 +424,11 @@ export default {
this.searchParam = obj; this.searchParam = obj;
} }
}, },
//翻页
handleCurrentChange(val) {
this.getList(val)
},
} }
} }
</script> </script>
...@@ -542,4 +613,7 @@ export default { ...@@ -542,4 +613,7 @@ export default {
padding: 0; padding: 0;
} }
} }
.btn{
padding: 0 12px;
}
</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