Commit b5244da5 authored by lcl's avatar lcl

Merge branch 'dev20230707' of http://192.168.60.201/root/dsk-operate-sys into dev20230707

parents 5af0cb00 828cd416
...@@ -5,9 +5,7 @@ import lombok.EqualsAndHashCode; ...@@ -5,9 +5,7 @@ import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.ToString; import lombok.ToString;
import javax.validation.constraints.AssertFalse;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.util.List;
@Data @Data
@ToString @ToString
...@@ -25,6 +23,11 @@ public class EnterpriseProjectApprovalProjectPageBody extends BasePage { ...@@ -25,6 +23,11 @@ public class EnterpriseProjectApprovalProjectPageBody extends BasePage {
*/ */
private String keys; private String keys;
/**
* 是否为民介0(否),1(是)
*/
private String isProject;
/* /*
* 1金额倒序,2金额正序,3计划开工时间倒序,4计划开工时间正序,13计划完工时间倒序,14计划完工时间正序 * 1金额倒序,2金额正序,3计划开工时间倒序,4计划开工时间正序,13计划完工时间倒序,14计划完工时间正序
......
...@@ -158,6 +158,15 @@ export function addXGQY(param) { ...@@ -158,6 +158,15 @@ export function addXGQY(param) {
}) })
} }
//编辑相关企业
export function saveXGQY(param) {
return request({
url: '/business/company/edit',
method: 'POST',
data:param
})
}
//删除相关企业 //删除相关企业
export function delXGQY(param) { export function delXGQY(param) {
return request({ return request({
......
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.12); box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.12);
border-radius: 2px; border-radius: 2px;
position: absolute; position: absolute;
z-index: 3; z-index: 20;
text-align: center; text-align: center;
.words{ .words{
padding: 24px 0; padding: 24px 0;
...@@ -500,6 +500,12 @@ ...@@ -500,6 +500,12 @@
width: 80px; width: 80px;
} }
} }
.row.i{
.el-form-item__label{
line-height: 18px;
text-align: left;
}
}
} }
.popform.i{ .popform.i{
.el-input{ .el-input{
...@@ -907,6 +913,9 @@ ...@@ -907,6 +913,9 @@
.xz{ .xz{
opacity: 0.8; opacity: 0.8;
} }
.xg{
//color: #FF3C3C;
}
.sc{ .sc{
color: #FF3C3C; color: #FF3C3C;
} }
......
...@@ -390,8 +390,8 @@ export default { ...@@ -390,8 +390,8 @@ export default {
height: 17px; height: 17px;
justify-content: center; justify-content: center;
width: 36px; width: 36px;
right: -46px; right: -130px;
bottom: 10px; bottom: 0px;
cursor: pointer; cursor: pointer;
text-align: center; text-align: center;
&:hover{ &:hover{
......
...@@ -104,7 +104,7 @@ ...@@ -104,7 +104,7 @@
label="注册资本金(万元)" label="注册资本金(万元)"
width="140"> width="140">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.registerCapital || '--'}} <span v-if="scope.row.registerCapital && scope.row.registerCapital>0">{{scope.row.registerCapital}}</span><span v-else>--</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -313,9 +313,18 @@ ...@@ -313,9 +313,18 @@
} }
}, },
created() { created() {
this.getCustomerList() this.$watch(
this.getDictType() () => this.$route.params,
this.prvinceTree() () => {
this.getCustomerList()
this.getDictType()
this.prvinceTree()
this.searchParam.companyName=''
},
// 组件创建完后获取数据,
// 此时 data 已经被 observed 了
{ immediate: true }
)
}, },
methods:{ methods:{
sq1(item,sq){ sq1(item,sq){
......
...@@ -93,7 +93,7 @@ ...@@ -93,7 +93,7 @@
label="注册资本金(万元)" label="注册资本金(万元)"
width="140"> width="140">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.registerCapital || '--'}} <span v-if="scope.row.registerCapital && scope.row.registerCapital>0">{{scope.row.registerCapital}}</span><span v-else>--</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -243,8 +243,13 @@ export default { ...@@ -243,8 +243,13 @@ export default {
} }
}, },
created() { created() {
this.getCustomerList() this.$watch(
this.getDictType() () => this.$route.params,
() => {
this.getCustomerList()
this.getDictType()
this.searchParam.companyName = ''
},{ immediate: true })
}, },
methods:{ methods:{
sq1(item,sq){ sq1(item,sq){
......
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
</div> </div>
</div> </div>
<div class="flex"> <div class="flex">
<el-card class="box-card noborder left" style="position: relative"> <el-card class="box-card noborder left" style="position: relative;padding-bottom: 0">
<div class="cardtitles">客户级别</div> <div class="cardtitles">客户级别</div>
<div class="chartsum"> <div class="chartsum">
<div class="sum">23家</div> <div class="sum">23家</div>
...@@ -67,7 +67,7 @@ ...@@ -67,7 +67,7 @@
</el-card> </el-card>
<el-card class="box-card noborder right"> <el-card class="box-card noborder right" style="padding-bottom: 0">
<div class="cardtitles">客户跟进动态 <div class="cardtitles">客户跟进动态
<div class="labels"> <div class="labels">
<div :class="{'on':datatype==1}" @click="getDT(1)">周</div> <div :class="{'on':datatype==1}" @click="getDT(1)">周</div>
...@@ -259,11 +259,11 @@ ...@@ -259,11 +259,11 @@
{ {
name: '', name: '',
type: 'bar', type: 'bar',
barWidth: '12px', barWidth: '18px',
data: [100, 152, 200, 334, 390, 330, 220,256,178], data: [100, 152, 200, 334, 390, 330, 220,256,178],
itemStyle:{ itemStyle:{
normal: { normal: {
barBorderRadius: [4, 4, 0, 0], barBorderRadius: [9, 9, 0, 0],
color: '#165DFF' color: '#165DFF'
} }
} }
...@@ -316,11 +316,11 @@ ...@@ -316,11 +316,11 @@
{ {
name: '', name: '',
type: 'bar', type: 'bar',
barWidth: '12px', barWidth: '18px',
data: [110, 112, 190, 234, 310, 350, 220,276,198], data: [110, 112, 190, 234, 310, 350, 220,276,198],
itemStyle:{ itemStyle:{
normal:{ normal:{
barBorderRadius:[4,4,0,0], barBorderRadius:[9,9,0,0],
color:'#14C9C9' color:'#14C9C9'
}, },
} }
...@@ -367,7 +367,7 @@ ...@@ -367,7 +367,7 @@
left:'8%', left:'8%',
top:'8%', top:'8%',
right:'5%', right:'5%',
bottom:'10%', bottom:'42px',
}, },
tooltip:{ tooltip:{
axisPointer:{ //悬浮于圆点展示标签 axisPointer:{ //悬浮于圆点展示标签
......
...@@ -107,7 +107,7 @@ export default { ...@@ -107,7 +107,7 @@ export default {
{title: '商务信息', pathName: 'business'}, {title: '商务信息', pathName: 'business'},
{title: '招标偏好', pathName: 'preference'}, {title: '招标偏好', pathName: 'preference'},
{title: '合作情况', pathName: 'cooperate'}, {title: '合作情况', pathName: 'cooperate'},
{title: '决策链条', pathName: 'decisionMaking'}, {title: '联系人', pathName: 'decisionMaking'},
{title: '跟进记录', pathName: 'gjjl'} {title: '跟进记录', pathName: 'gjjl'}
], ],
defaultRoute: [], defaultRoute: [],
......
...@@ -266,6 +266,17 @@ export default { ...@@ -266,6 +266,17 @@ export default {
this.ifEmpty = true this.ifEmpty = true
} }
this.tableData = res.rows this.tableData = res.rows
this.tableData.forEach(item=>{
let investmentAmount = item.investmentAmount
if(investmentAmount){
investmentAmount = parseFloat(investmentAmount)
if(investmentAmount<=0){
item.investmentAmount = null
}
}else{
item.investmentAmount = null
}
})
this.tableDataTotal = res.total this.tableDataTotal = res.total
this.tableLoading = false this.tableLoading = false
} }
......
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
<!-- 弹窗添加联系人 --> <!-- 弹窗添加联系人 -->
<el-dialog <el-dialog
class="popups1" class="popups"
:visible.sync="dialogVisible" :visible.sync="dialogVisible"
:before-close="cancel" :before-close="cancel"
width="464px"> width="464px">
...@@ -41,25 +41,28 @@ ...@@ -41,25 +41,28 @@
<img src="@/assets/images/economies/icon.png"> <img src="@/assets/images/economies/icon.png">
<span>{{ companyInfo && companyInfo.companyName || customerInfo.companyName }}</span> <span>{{ companyInfo && companyInfo.companyName || customerInfo.companyName }}</span>
</div> </div>
<el-form :model="addRorm" :rules="addRules" ref="addRorm" class="popform" label-width="90px"> <el-form :model="addRorm" :rules="addRules" ref="addRorm" class="popform" label-width="137px">
<el-form-item label="姓名:" prop="name"> <el-form-item label="联系人姓名:" prop="name" class="row">
<el-input v-model="addRorm.name" placeholder="请输入"></el-input> <el-input v-model="addRorm.name" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="角色:" prop="role"> <el-form-item label="联系人性别:" class="row">
<el-radio-group v-model="addRorm.sex">
<el-radio label=1></el-radio>
<el-radio label=0></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="联系人角色:" prop="role" class="row">
<el-input v-model="addRorm.role" placeholder="请输入"></el-input> <el-input v-model="addRorm.role" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="职位:" prop="workUnit"> <el-form-item label="关联企业:" class="row">
<el-input v-model="addRorm.workUnit" placeholder="请输入"></el-input> <el-input type="text" v-model="addRorm.office" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="公司/机关:" prop="position"> <el-form-item label="联系人职位:" prop="workUnit" class="row">
<el-input v-model="addRorm.position" placeholder="请输入"></el-input> <el-input v-model="addRorm.position" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="联系方式:" prop="contactInformation"> <el-form-item label="联系方式:" prop="contactInformation" class="row">
<el-input v-model="addRorm.contactInformation" placeholder="请输入"></el-input> <el-input v-model="addRorm.contactInformation" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="备注:" prop="remark">
<el-input v-model="addRorm.remark" placeholder="请输入"></el-input>
</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" @click="add">保存</div> <div class="btn btn_primary h32" @click="add">保存</div>
...@@ -93,20 +96,21 @@ export default { ...@@ -93,20 +96,21 @@ export default {
forData: [ forData: [
{label: '姓名', prop: 'name', width: '124'}, {label: '姓名', prop: 'name', width: '124'},
{label: '角色', prop: 'role', width: '110'}, {label: '角色', prop: 'role', width: '110'},
{label: '公司/机关', prop: 'position', width: '268'}, // {label: '公司/机关', prop: 'position', width: '268'},
{label: '职位', prop: 'workUnit', width: '110'}, {label: '职位', prop: 'position', width: '110'},
{label: '联系方式', prop: 'contactInformation', width: '105'}, {label: '联系方式', prop: 'contactInformation', width: '105'},
{label: '内部维护人', prop: 'updateBy', width: '100'}, {label: '内部维护人', prop: 'updateBy', width: '100'},
{label: '备注', prop: 'remark'}, {label: '来源', prop: 'remark'},
], ],
addRorm: { addRorm: {
customerId:this.customerIds, customerId:this.customerIds,
name:'', name:'',
role:'', role:'',
workUnit:'', sex:"1",
position:'', position:'',
// position:'',
contactInformation:'', contactInformation:'',
remark:'', // remark:'',
}, },
addRules:{ addRules:{
name: [ name: [
...@@ -151,7 +155,9 @@ export default { ...@@ -151,7 +155,9 @@ export default {
add(){ add(){
this.$refs.addRorm.validate((valid) => { this.$refs.addRorm.validate((valid) => {
if (valid) { if (valid) {
addChain(this.addRorm).then((res) => { let param = JSON.parse(JSON.stringify(this.addRorm))
param.sex = parseInt(param.sex)
addChain(param).then((res) => {
if(res.data){ if(res.data){
this.$message({ this.$message({
message: '新增成功', message: '新增成功',
...@@ -263,59 +269,59 @@ export default { ...@@ -263,59 +269,59 @@ export default {
margin-top: 10px; margin-top: 10px;
} }
// 弹窗 // 弹窗
.popups1{ /*.popups1{*/
.poptitle { /*.poptitle {*/
line-height: 48px; /*line-height: 48px;*/
border-bottom: 1px solid #E1E1E1; /*border-bottom: 1px solid #E1E1E1;*/
height: 48px; /*height: 48px;*/
position: absolute; /*position: absolute;*/
top: 0; /*top: 0;*/
left: 0; /*left: 0;*/
width: 100%; /*width: 100%;*/
img { /*img {*/
width: 17px; /*width: 17px;*/
margin: 16px; /*margin: 16px;*/
float: left; /*float: left;*/
} /*}*/
span { /*span {*/
font-weight: bold; /*font-weight: bold;*/
font-size: 16px; /*font-size: 16px;*/
color: #232323; /*color: #232323;*/
font-family: Microsoft YaHei-Bold, Microsoft YaHei; /*font-family: Microsoft YaHei-Bold, Microsoft YaHei;*/
width: 385px; /*width: 385px;*/
display: block; /*display: block;*/
overflow: hidden; /*overflow: hidden;*/
white-space: nowrap; /*white-space: nowrap;*/
text-overflow: ellipsis; /*text-overflow: ellipsis;*/
} /*}*/
} /*}*/
::v-deep .el-dialog__body{ /*::v-deep .el-dialog__body{*/
padding: 24px 24px 18px; /*padding: 24px 24px 18px;*/
} /*}*/
.popform { /*.popform {*/
padding-top: 14px; /*padding-top: 14px;*/
::v-deep .el-form-item__label{ /*::v-deep .el-form-item__label{*/
padding:0; /*padding:0;*/
} /*}*/
.row { /*.row {*/
padding-bottom: 16px; /*padding-bottom: 16px;*/
.left { /*.left {*/
width: 137px; /*width: 137px;*/
display: inline-block; /*display: inline-block;*/
text-align: right; /*text-align: right;*/
opacity: 0.8; /*opacity: 0.8;*/
} /*}*/
::v-deep .el-input { /*::v-deep .el-input {*/
display: inline-block; /*display: inline-block;*/
width: 240px; /*width: 240px;*/
} /*}*/
} /*}*/
.popbot { /*.popbot {*/
text-align: right; /*text-align: right;*/
padding-top: 8px; /*padding-top: 8px;*/
} /*}*/
} /*}*/
} /*}*/
} }
::v-deep .el-table__fixed::before, ::v-deep .el-table__fixed-right::before{ ::v-deep .el-table__fixed::before, ::v-deep .el-table__fixed-right::before{
background-color:unset; background-color:unset;
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
</el-tabs> </el-tabs>
<div class="flex-box clue-box"> <div class="flex-box clue-box">
<div class="clue-echarts" v-if="viewData.length>0"><div id="echartsClue" style="width: 100%;height:300px; margin: 0 auto;"></div></div> <div class="clue-echarts" v-if="viewData.length>0"><div id="echartsClue" style="width: 100%;height:300px; margin: 0 auto;"></div></div>
<div class="table-item" v-if="viewData.length>0"> <div class="table-item" v-if="viewData.length>0">
<el-table <el-table
v-if="viewData.length>0" v-if="viewData.length>0"
......
...@@ -283,6 +283,20 @@ export default { ...@@ -283,6 +283,20 @@ export default {
} }
::v-deep .table-item{ ::v-deep .table-item{
.el-table{ .el-table{
overflow:visible;
.el-table__body-wrapper{
overflow:visible;
}
.el-table__body{
tr:first-child{
position: sticky;
top:56px;
z-index: 9;
}
}
td.el-table__cell{
border-bottom: 0;
}
.el-table__body-wrapper{ .el-table__body-wrapper{
tr{ tr{
&:first-child{ &:first-child{
......
...@@ -114,14 +114,23 @@ export default { ...@@ -114,14 +114,23 @@ export default {
} }
bidMoneyGroupByProjectType(params).then(res => { bidMoneyGroupByProjectType(params).then(res => {
if(res.data.length > 0){ if(res.data.length > 0){
let list=res.data[1].type let list=[]
for (let i=0; i<res.data[0].type.length; i++){ if(res.data.length > 1){
for (let j=0; j<list.length; j++){ list=res.data[1].type
if(res.data[0].type[i].projectType === list[j].projectType){ for (let i=0; i<res.data[0].type.length; i++){
list[j].lastMoney=res.data[0].type[i].money; for (let j=0; j<list.length; j++){
list[j].lastRate=res.data[0].type[i].rate; if(res.data[0].type[i].projectType === list[j].projectType){
list[j].lastMoney=res.data[0].type[i].money;
list[j].lastRate=res.data[0].type[i].rate;
}
} }
} }
}else {
list=res.data[0].type
for (let i=0; i<list.length; i++){
list[i].lastMoney=0;
list[i].lastRate=0;
}
} }
for(let i=0; i<list.length; i++){ for(let i=0; i<list.length; i++){
list[i].money=list[i].money ? Number(list[i].money).toFixed(2) : '-'; list[i].money=list[i].money ? Number(list[i].money).toFixed(2) : '-';
...@@ -189,6 +198,8 @@ export default { ...@@ -189,6 +198,8 @@ export default {
//鼠标悬停时显示的样式 //鼠标悬停时显示的样式
tooltip: { tooltip: {
extraCssText:'width:120px!important;', extraCssText:'width:120px!important;',
backgroundColor:"rgba(255, 255, 255, 0.8)",
borderWidth:'0',
formatter: function (params){ formatter: function (params){
var result = '' var result = ''
result+='<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;">'+ params.name +'</p>' result+='<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;">'+ params.name +'</p>'
......
<template> <template>
<div class="app-container qyzx"> <div class="app-container qyzx">
<Region v-if="province" :province="province" :dataQuery="dataQuery" @addressListbtn="addressListbtn"></Region> <Region v-if="province" :province="province" :dataQuery="dataQuery" @addressListbtn="addressListbtn"></Region>
<div class="content"> <skeleton v-if="isSkeleton" style="padding: 16px"></skeleton>
<div v-if="!isSkeleton" class="content">
<div class="common-title">专项债项目</div> <div class="common-title">专项债项目</div>
<div class="content-box" v-if="!state"> <div class="content-box" v-if="!state">
<div class="box-left"> <div class="box-left">
...@@ -14,7 +15,7 @@ ...@@ -14,7 +15,7 @@
border border
:summary-method="getSummaries" :summary-method="getSummaries"
show-summary show-summary
height="400" max-height="400"
fit fit
@sort-change="sortChange" @sort-change="sortChange"
highlight-current-row highlight-current-row
...@@ -34,7 +35,7 @@ ...@@ -34,7 +35,7 @@
</div> </div>
</div> </div>
</div> </div>
<div class="content"> <div v-if="!isSkeleton" class="content">
<div class="common-title flex-box"> <div class="common-title flex-box">
<div class="flex-box">项目明细</div> <div class="flex-box">项目明细</div>
<div class="flex-box query-ability"> <div class="flex-box query-ability">
...@@ -44,7 +45,6 @@ ...@@ -44,7 +45,6 @@
</div> </div>
<div class="table-item"> <div class="table-item">
<el-table <el-table
v-loading="tableLoading"
:data="listData" :data="listData"
element-loading-text="Loading" element-loading-text="Loading"
@sort-change="sortChange1" @sort-change="sortChange1"
...@@ -85,10 +85,11 @@ ...@@ -85,10 +85,11 @@
import * as echarts from 'echarts'; import * as echarts from 'echarts';
import { statistics,projectsPage,location } from '@/api/macro/macro' import { statistics,projectsPage,location } from '@/api/macro/macro'
import Region from '../component/region' import Region from '../component/region'
import skeleton from '../component/skeleton'
export default { export default {
name: 'Financing', name: 'Financing',
components: { components: {
Region Region,skeleton
}, },
data() { data() {
return { return {
...@@ -96,7 +97,6 @@ export default { ...@@ -96,7 +97,6 @@ export default {
tableParams:{}, tableParams:{},
tableData:[], tableData:[],
listData:[], listData:[],
tableLoading: false,
pageIndex: 1, pageIndex: 1,
pageSize: 10, pageSize: 10,
tableDataTotal: 0, tableDataTotal: 0,
...@@ -106,6 +106,7 @@ export default { ...@@ -106,6 +106,7 @@ export default {
province:'', province:'',
provinceId:[], provinceId:[],
state:false, state:false,
isSkeleton:true
} }
}, },
created() { created() {
...@@ -157,7 +158,7 @@ export default { ...@@ -157,7 +158,7 @@ export default {
}, },
methods: { methods: {
getData(){ getData(){
this.tableLoading = true this.isSkeleton = true
let params={ pageNum: this.pageIndex, pageSize: this.pageSize} let params={ pageNum: this.pageIndex, pageSize: this.pageSize}
if(this.tableParams.field){ if(this.tableParams.field){
params.field=this.tableParams.field params.field=this.tableParams.field
...@@ -175,14 +176,10 @@ export default { ...@@ -175,14 +176,10 @@ export default {
params.areaId=this.provinceId[2] params.areaId=this.provinceId[2]
} }
projectsPage(params).then(res => { projectsPage(params).then(res => {
this.tableLoading = false this.isSkeleton = false
this.listData=res.data.list; this.listData=res.data.list;
this.tableDataTotal = res.data.totalCount this.tableDataTotal = res.data.totalCount
}) })
// 延迟关闭加载效果
// setTimeout(() => {
// this.tableLoading = false
// }, 200)
}, },
getStatistics(){ getStatistics(){
let params={}; let params={};
......
...@@ -53,7 +53,7 @@ export default { ...@@ -53,7 +53,7 @@ export default {
}, },
{ {
prop: 'gdpGrowth', prop: 'gdpGrowth',
label: 'GDP增速', label: 'GDP增速(%)',
}, },
{ {
prop: 'gdpPerCapita', prop: 'gdpPerCapita',
......
...@@ -15,14 +15,14 @@ ...@@ -15,14 +15,14 @@
<div class="main2"> <div class="main2">
<div class="flex-box query-box head"> <div class="flex-box query-box head">
<span>{{value}}全国招标总数<span class="number"> {{totalCount}} </span>万个</span> <span>{{value}}全国招标总数<span class="number"> {{totalCount}} </span>万个</span>
<div class="select-popper" style="position: relative;"> <div class="select-popper" style="position: relative;margin-right:0;">
<el-dropdown <el-dropdown
@command="handleDate" @command="handleDate"
trigger="click" trigger="click"
ref="punishDateShowPopper" ref="punishDateShowPopper"
:hide-on-click="false" :hide-on-click="false"
> >
<span class="el-dropdown-link" :class="punishDateValue ? 'color_text' : ''">{{punishDateValue}}<i class="el-icon-caret-bottom"></i></span> <span class="el-dropdown-link" :class="punishDateValue ? 'color_text' : ''">{{punishDateValue}}<i class="el-icon-arrow-down" style="color:#313131;"></i></span>
<div> <div>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item <el-dropdown-item
...@@ -625,5 +625,10 @@ export default { ...@@ -625,5 +625,10 @@ export default {
} }
} }
} }
::v-deep .el-input--medium{
.el-input__icon{
line-height: 32px;
}
}
} }
</style> </style>
...@@ -831,6 +831,9 @@ export default { ...@@ -831,6 +831,9 @@ export default {
border-radius: 4px; border-radius: 4px;
.search{ .search{
margin-top: 22px; margin-top: 22px;
::v-deep .el-radio{
margin-right: 16px;
}
.search-box{ .search-box{
display: inline-block; display: inline-block;
margin-right: 32px; margin-right: 32px;
...@@ -918,7 +921,7 @@ export default { ...@@ -918,7 +921,7 @@ export default {
height: 32px; height: 32px;
line-height: 32px; line-height: 32px;
font-size: 12px; font-size: 12px;
padding-left: 6px; padding-left: 8px;
border-right: 0; border-right: 0;
} }
.el-input__suffix{ .el-input__suffix{
...@@ -931,6 +934,8 @@ export default { ...@@ -931,6 +934,8 @@ export default {
background: #F5F5F5; background: #F5F5F5;
color:#0081FF; color:#0081FF;
border-left: 0; border-left: 0;
border-radius: 0;
border-right: 0;
} }
/*}*/ /*}*/
} }
......
...@@ -253,7 +253,6 @@ export default { ...@@ -253,7 +253,6 @@ export default {
weekdata1.length = time weekdata1.length = time
weekdata2.length = time weekdata2.length = time
weekdata3.length = time weekdata3.length = time
console.log(time)
for(var i=0;i<7;i++){ for(var i=0;i<7;i++){
if(i > time){ if(i > time){
weekdata1.push('') weekdata1.push('')
...@@ -304,8 +303,6 @@ export default { ...@@ -304,8 +303,6 @@ export default {
default: default:
break; break;
} }
console.log(datas)
console.log(labels)
this.initDT(datas,labels) this.initDT(datas,labels)
}, },
resizeEcharts (){ resizeEcharts (){
...@@ -350,8 +347,8 @@ export default { ...@@ -350,8 +347,8 @@ export default {
// trigger: 'axis' // trigger: 'axis'
}, },
legend: { legend: {
right: '20px', right: '155px',
top:"30px", top:"2px",
data: ['成交金额', '储备项目', '跟进动态'], data: ['成交金额', '储备项目', '跟进动态'],
itemHeight: 8, // 修改icon图形大小 itemHeight: 8, // 修改icon图形大小
itemGap: 20 itemGap: 20
......
...@@ -12,7 +12,10 @@ ...@@ -12,7 +12,10 @@
</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">
<el-input type="text" placeholder="请输入" v-model="queryParam.projectName"></el-input> <el-input type="text" placeholder="请输入" v-model="queryParam.projectName" @input="getProject"></el-input>
<div class="resultlist" v-if="proList.length>0" id="box1">
<div v-for="(item,index) in proList" @click="selProject(item)"><span v-html="item"></span></div>
</div>
</el-form-item> </el-form-item>
<el-form-item label="业主单位:" class="row" prop="ownerCompany"> <el-form-item label="业主单位:" class="row" prop="ownerCompany">
<el-input type="text" placeholder="请输入" v-model="queryParam.ownerCompany" @input="getCompany"></el-input> <el-input type="text" placeholder="请输入" v-model="queryParam.ownerCompany" @input="getCompany"></el-input>
...@@ -56,6 +59,7 @@ ...@@ -56,6 +59,7 @@
<script> <script>
import {getEnterprise,getDictType,} from '@/api/main' import {getEnterprise,getDictType,} from '@/api/main'
import {addProject} from '@/api/project/project' import {addProject} from '@/api/project/project'
import {queryProject} from '@/api/detail/party-a/cooperate'
export default { export default {
name: 'addProject', name: 'addProject',
data(){ data(){
...@@ -90,6 +94,7 @@ ...@@ -90,6 +94,7 @@
projectStage:[],//项目阶段 projectStage:[],//项目阶段
projectType:[],//项目类型 projectType:[],//项目类型
projectCategory:[],//项目类别 projectCategory:[],//项目类别
proList:[],//项目列表
} }
}, },
mounted(){ mounted(){
...@@ -119,6 +124,12 @@ ...@@ -119,6 +124,12 @@
this.showlist = false this.showlist = false
} }
} }
var two = document.getElementById("box1");
if(two){
if(!two.contains(event.target)){
this.proList = []
}
}
}, },
//获取建设库客户 //获取建设库客户
getCompany(value){ getCompany(value){
...@@ -139,11 +150,31 @@ ...@@ -139,11 +150,31 @@
}) })
} }
}, },
//获取项目名称
getProject(value){
// if (value.length>=2){
// let param = {
// projectName:value,
// }
// queryProject(JSON.stringify(param)).then(result=>{
// if(result.code != 200){
// this.proList = []
// return false
// }
// this.proList = result.data
// })
// }
},
selCompany(item){ selCompany(item){
this.queryParam.companyId = item.jskEid this.queryParam.companyId = item.jskEid
this.queryParam.ownerCompany = item.name.replace(/<[^>]+>/g, '') this.queryParam.ownerCompany = item.name.replace(/<[^>]+>/g, '')
this.showlist = false this.showlist = false
}, },
selProject(item){
// this.queryParam.companyId = item.jskEid
// this.queryParam.ownerCompany = item.name.replace(/<[^>]+>/g, '')
this.proList = []
},
//添加客户 //添加客户
submitForm(formName) { submitForm(formName) {
this.queryParam.userId = this.$store.state.user.userId this.queryParam.userId = this.$store.state.user.userId
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
</div> </div>
<div class="sels"> <div class="sels">
<img src="@/assets/images/project/ico_2.png"> <img src="@/assets/images/project/ico_2.png">
<el-input v-model="queryParam.target" placeholder="拜访对象" style="width: 100px;"> <el-input v-model="queryParam.target" placeholder="拜访对象" maxlength="500" style="width: 100px;">
</el-input> </el-input>
</div> </div>
<div class="btn btn_primary h32 wc" @click="add" :class="{'btn_disabled':queryParam.task == ''}">完成</div> <div class="btn btn_primary h32 wc" @click="add" :class="{'btn_disabled':queryParam.task == ''}">完成</div>
...@@ -85,7 +85,7 @@ ...@@ -85,7 +85,7 @@
}, },
data(){ data(){
return{ return{
isEdit:false, isEdit:true,
value:'', value:'',
status:0, status:0,
queryParam:{ queryParam:{
......
...@@ -202,6 +202,16 @@ ...@@ -202,6 +202,16 @@
save(){ save(){
let param = JSON.parse(JSON.stringify(this.queryParam)) let param = JSON.parse(JSON.stringify(this.queryParam))
param.sex = parseInt(param.sex) param.sex = parseInt(param.sex)
if(!this.queryParam.phone){
this.$message.error('请输入电话号码')
return false
}
var regPartton = /1[3-9]+\d{9}/;
var regPartton1 = /0\d{2,3}-\d{7,8}|\(?0\d{2,3}[)-]?\d{7,8}|\(?0\d{2,3}[)-]*\d{7,8}/;
if (!regPartton.test(this.queryParam.phone) && !regPartton1.test(this.queryParam.phone)) {
this.$message.error("请输入正确的电话");
return false
}
if(this.isnew == false){ if(this.isnew == false){
editLXR(param).then(result=>{ editLXR(param).then(result=>{
if(result.code == 200){ if(result.code == 200){
......
...@@ -64,7 +64,7 @@ ...@@ -64,7 +64,7 @@
</div> </div>
</div> </div>
<div class="con i"> <div class="con i">
<span>建设单位 :</span> <span>业主单位 :</span>
<div class="inputxt" id="inputxt3" :style="{width:rig1}"> <div class="inputxt" id="inputxt3" :style="{width:rig1}">
<div class="flex" v-if="nowedit == 3 && isDisabled == false"> <div class="flex" v-if="nowedit == 3 && isDisabled == false">
<el-input placeholder="待添加" v-model="xmsldata.constructionUnit"></el-input> <el-input placeholder="待添加" v-model="xmsldata.constructionUnit"></el-input>
...@@ -93,7 +93,7 @@ ...@@ -93,7 +93,7 @@
</div> </div>
</div> </div>
<div class="con i"> <div class="con i">
<span>建设单位负责人 :</span> <span>业主单位负责人 :</span>
<div class="inputxt" id="inputxt5"> <div class="inputxt" id="inputxt5">
<div class="flex" v-if="nowedit == 5 && isDisabled == false"> <div class="flex" v-if="nowedit == 5 && isDisabled == false">
<el-input placeholder="待添加" v-model="xmsldata.constructionPrincipal"></el-input> <el-input placeholder="待添加" v-model="xmsldata.constructionPrincipal"></el-input>
...@@ -121,7 +121,7 @@ ...@@ -121,7 +121,7 @@
</div> </div>
</div> </div>
<div class="con i"> <div class="con i">
<span>建设单位联系电话 :</span> <span>业主单位联系电话 :</span>
<div class="inputxt" id="inputxt7"> <div class="inputxt" id="inputxt7">
<div class="flex" v-if="nowedit == 7 && isDisabled == false"> <div class="flex" v-if="nowedit == 7 && isDisabled == false">
<el-input placeholder="待添加" v-model="xmsldata.constructionPhone"></el-input> <el-input placeholder="待添加" v-model="xmsldata.constructionPhone"></el-input>
......
...@@ -129,7 +129,7 @@ ...@@ -129,7 +129,7 @@
<span>项目类型:</span> <span>项目类型:</span>
<span>{{item.projectType}}</span> <span>{{item.projectType}}</span>
</div> </div>
<div class="det-con" v-if="item.investmentAmount"> <div class="det-con" v-if="item.investmentAmount&&item.investmentAmount>0">
<span>投资估算(万元):</span> <span>投资估算(万元):</span>
<span>{{item.investmentAmount}}</span> <span>{{item.investmentAmount}}</span>
</div> </div>
...@@ -139,7 +139,7 @@ ...@@ -139,7 +139,7 @@
</div> </div>
<div class="det-con" v-if="item.ownerCompany "> <div class="det-con" v-if="item.ownerCompany ">
<span>业主单位:</span> <span>业主单位:</span>
<span class="wordprimary">{{item.ownerCompany}}</span> <span class="wordprimary" @click="toEnterprise(item)">{{item.ownerCompany}}</span>
</div> </div>
</div> </div>
<el-divider v-if="index != datalist.length-1"></el-divider> <el-divider v-if="index != datalist.length-1"></el-divider>
...@@ -185,6 +185,7 @@ ...@@ -185,6 +185,7 @@
import addproject from './component/addProject' import addproject from './component/addProject'
import batchimport from './component/batchImport' import batchimport from './component/batchImport'
import skeleton from './component/skeleton' import skeleton from './component/skeleton'
import {encodeStr} from "@/assets/js/common.js"
export default { export default {
name: 'ProjectList', name: 'ProjectList',
components:{addproject,batchimport,skeleton}, components:{addproject,batchimport,skeleton},
...@@ -387,6 +388,13 @@ export default { ...@@ -387,6 +388,13 @@ export default {
toDetail(id,tag){ toDetail(id,tag){
this.$router.push({ path: '/project/projectList/detail', query: {id:id,tag:tag} }); this.$router.push({ path: '/project/projectList/detail', query: {id:id,tag:tag} });
}, },
toEnterprise(item){
if(item.ownerCompanyUipId){
this.$router.push({ path: '/enterprise/'+this.encodeStr(item.ownerCompanyUipId)});
}else{
this.$router.push({ path: '/company/'+this.encodeStr(item.ownerCompanyCid)});
}
},
handleClick(){ handleClick(){
this.reset() this.reset()
}, },
......
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
ORDER BY create_time DESC ORDER BY create_time DESC
</select> </select>
<select id="selectBusinessBacklogById" parameterType="Long" resultMap="BusinessBacklogResult"> <select id="selectBusinessBacklogById" resultMap="BusinessBacklogResult">
<include refid="selectBusinessBacklogVo"/> <include refid="selectBusinessBacklogVo"/>
where id = #{id} where id = #{id}
</select> </select>
......
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