|
@@ -1,30 +1,33 @@
|
|
|
<template>
|
|
|
- <el-drawer append-to-body :visible.sync="dialogFormVisible" size="90%">
|
|
|
+ <el-drawer append-to-body :visible.sync="dialogFormVisible" size="97%">
|
|
|
<div class="Mcontainer">
|
|
|
<div style="background:#ffffff;padding:10px" v-if="Object.keys(baseInfo).length">
|
|
|
<div class="Mcontainer-header">
|
|
|
<div class="Mcontainer-header__left">
|
|
|
- <div style="width:60px;height: 60px;background: blue;"></div>
|
|
|
+ <div style="width:60px;height: 60px;background:#F3F9FC;border-radius:10px;padding:10px">
|
|
|
+ <img src="@/assets/customer.svg" style="width:100%;height:100%" alt="">
|
|
|
+ </div>
|
|
|
<div class="account">
|
|
|
- <p class="normal-title">
|
|
|
+ <p class="normal-title" style="font-size:18px">
|
|
|
<el-tooltip class="item" effect="dark" :content="baseInfo.enterprisename" placement="top">
|
|
|
- <p class="nowrap">{{ baseInfo.enterprisename }}</p>
|
|
|
+ <p>{{ baseInfo.enterprisename }}</p>
|
|
|
</el-tooltip>
|
|
|
</p>
|
|
|
<div class="Mtag">
|
|
|
- <el-tag size="small" v-for="(item,index) in baseInfo.sys_tag" :key="index">{{ item }}</el-tag>
|
|
|
+ <el-tag size="small" v-for="(item,index) in baseInfo.sys_tag" :key="index + 'a'">{{ item }}</el-tag>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="Mcontainer-header__right">
|
|
|
<el-descriptions class="margin-top">
|
|
|
<el-descriptions-item label="客户类型">{{ baseInfo.type }}</el-descriptions-item>
|
|
|
- <el-descriptions-item label="客户等级">{{ baseInfo.grade }}</el-descriptions-item>
|
|
|
- <el-descriptions-item label=" 合作状态">{{ baseInfo.status }}</el-descriptions-item>
|
|
|
- <el-descriptions-item label="客户行业"> {{ baseInfo.industry }}</el-descriptions-item>
|
|
|
- <el-descriptions-item label="客户分类"> {{ baseInfo.customergrade }}</el-descriptions-item>
|
|
|
- <el-descriptions-item label="成交状态"> {{ baseInfo.tradingstatus }}</el-descriptions-item>
|
|
|
- <el-descriptions-item label="负责人"> {{ baseInfo.team.length && baseInfo.team.filter(item =>item.isleader = 1)[0].name }}</el-descriptions-item>
|
|
|
+ <el-descriptions-item label="客户等级"><span style="color:#E85B5B;font-size:16px;font-weight:bold">{{ baseInfo.grade }}</span></el-descriptions-item>
|
|
|
+ <el-descriptions-item label=" 合作状态"><span style="color:#3874f6">{{ baseInfo.status }}</span></el-descriptions-item>
|
|
|
+ <el-descriptions-item label="客户行业">{{ baseInfo.industry.join(',') }}</el-descriptions-item>
|
|
|
+ <el-descriptions-item label="客户分类"><span style="color:#E85B5B;font-size:16px;font-weight:bold">{{ baseInfo.customergrade }}</span></el-descriptions-item>
|
|
|
+ <el-descriptions-item label="成交状态"><span style="color:#E85B5B;font-size:16px;font-weight:bold">{{ baseInfo.tradingstatus }}</span></el-descriptions-item>
|
|
|
+ <el-descriptions-item label="距上次跟进天数"> {{ baseInfo.subdate }}</el-descriptions-item>
|
|
|
+ <el-descriptions-item label="负责人"><span style="color:#E85B5B;font-size:16px;font-weight:bold">{{ baseInfo.team.length && baseInfo.team.filter(item =>item.isleader = 1)[0].name }}</span></el-descriptions-item>
|
|
|
<el-descriptions-item label="注册地址">{{ `${baseInfo.province}${baseInfo.city}${baseInfo.county}${baseInfo.address}` }} </el-descriptions-item>
|
|
|
</el-descriptions>
|
|
|
</div>
|
|
@@ -41,17 +44,13 @@
|
|
|
<el-descriptions-item label="人员规模">{{ baseInfo2.staffSize }}</el-descriptions-item>
|
|
|
<el-descriptions-item label="经营期限至">{{ baseInfo2.registerDate }}</el-descriptions-item>
|
|
|
<el-descriptions-item label="注册地址">
|
|
|
- <div class="nowrap" style="width: 300px;">
|
|
|
- <el-tooltip class="item" effect="dark" :content="baseInfo2.address" placement="top">
|
|
|
- <p class="nowrap">{{ baseInfo2.address }}</p>
|
|
|
- </el-tooltip>
|
|
|
+ <div style="max-width:500px">
|
|
|
+ <p>{{ baseInfo2.address }}</p>
|
|
|
</div>
|
|
|
</el-descriptions-item>
|
|
|
<el-descriptions-item label="经营范围">
|
|
|
- <div class="nowrap" style="width: 300px;">
|
|
|
- <el-tooltip class="item" effect="dark" :content="baseInfo2.opScope" placement="top">
|
|
|
- <p class="nowrap">{{ baseInfo2.opScope }}</p>
|
|
|
- </el-tooltip>
|
|
|
+ <div style="max-width:500px">
|
|
|
+ <p>{{ baseInfo2.opScope }}</p>
|
|
|
</div>
|
|
|
</el-descriptions-item>
|
|
|
</el-descriptions>
|
|
@@ -63,26 +62,44 @@
|
|
|
<div class="Mfollow">
|
|
|
<el-card class="box-card">
|
|
|
<div slot="header">
|
|
|
- <span style="margin-right: 10px;font-size: 14px;font-weight: bold;">跟进记录</span>
|
|
|
- <el-radio-group v-model="param1.content.isAll" @input="refreshTable('param1','fllow')">
|
|
|
- <el-radio :label="1">全部</el-radio>
|
|
|
- <el-radio :label="0">本年</el-radio>
|
|
|
- </el-radio-group>
|
|
|
+ <span class="myTitle">跟进记录</span>
|
|
|
+ <myRadio :value1="param1.content" key1="isAll" @clickBtn="refreshTable('param1','fllow')" :btnOptions="[{label:'全部',value:1},{label:'本年',value:0}]">
|
|
|
+ </myRadio>
|
|
|
</div>
|
|
|
<myCard
|
|
|
:list="
|
|
|
[
|
|
|
- {title:'跟进次数',value:$refs.fllow && $refs.fllow.list.length,bg:'#F3F9FC',color:'#8DCFFC'},
|
|
|
+ {title:'跟进次数',value:$refs.fllow && $refs.fllow.total,bg:'#F3F9FC',color:'#3874F6'},
|
|
|
{title:'最近跟进人',value:$refs.fllow && $refs.fllow.list[0] && $refs.fllow.list[0].name,bg:'#E8F7EC',color:'#78B32B'},
|
|
|
- {title:'最近跟进时间',value:$refs.fllow && $refs.fllow.list[0] && $refs.fllow.list[0].createdate,bg:'#F9F2E5',color:'#FF9795'},
|
|
|
+ {title:'最近跟进时间',value:$refs.fllow && $refs.fllow.list[0] && $refs.fllow.list[0].createdate,bg:'#F9F2E5',color:'#FF7603'},
|
|
|
+ {title:'跟进频率',value:$refs.fllow && $refs.fllow.list[0] && $refs.fllow.list[0].followfrequency,descript:'平均一次跟进天数,跟进频率=(总跟进天数-节假日)÷总跟进次数',bg:'#FDF3F3',color:'#E85B5B'},
|
|
|
]"
|
|
|
- ></myCard>
|
|
|
+ >
|
|
|
+ </myCard>
|
|
|
+
|
|
|
+ <p style="font-size:14px;font-weight:bold;margin-bottom:10px" v-if="$refs.fllow && $refs.fllow.list[0] && $refs.fllow.list[0].followDetail.length">跟进人及次数</p>
|
|
|
+ <div style="display:flex">
|
|
|
+ <myTag
|
|
|
+ v-for="(item,index) in $refs.fllow && $refs.fllow.list[0] && $refs.fllow.list[0].followDetail"
|
|
|
+ :key="index + 'b'"
|
|
|
+ :data="{title:item.name,descript:'跟进次数',value:item.qty}"
|
|
|
+ >
|
|
|
+ </myTag>
|
|
|
+ </div>
|
|
|
+
|
|
|
<showIsNone title="客户跟进记录明细">
|
|
|
<pageTable
|
|
|
ref="fllow"
|
|
|
:tablecols="tool.tabelCol($route.name).clueFollow.tablecols"
|
|
|
:param="param1"
|
|
|
- ></pageTable>
|
|
|
+ :custom="true"
|
|
|
+ >
|
|
|
+ <template v-slot:custom="scope">
|
|
|
+ <div style="text-wrap:wrap">
|
|
|
+ {{ scope.data.data[scope.data.columnname] }}
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </pageTable>
|
|
|
</showIsNone>
|
|
|
</el-card>
|
|
|
</div>
|
|
@@ -91,31 +108,22 @@
|
|
|
<div class="Mproject" style="margin-top:10px">
|
|
|
<el-card class="box-card">
|
|
|
<div slot="header">
|
|
|
- <span style="margin-right: 10px;font-size: 14px;font-weight: bold;">项目</span>
|
|
|
- <el-radio-group v-model="param2.content.isAll" @input="refreshTable('param2','project')">
|
|
|
- <el-radio :label="1">全部</el-radio>
|
|
|
- <el-radio :label="0">本年</el-radio>
|
|
|
- </el-radio-group>
|
|
|
-
|
|
|
- <el-select style="margin-left:10px" v-model="param2.content.where.stagename" clearable size="mini" placeholder="请选择项目阶段" @change="typeChange('param2','project')">
|
|
|
- <el-option label="全部" value=""></el-option>
|
|
|
- <el-option
|
|
|
- v-for="item in stageList"
|
|
|
- :key="item.stagename"
|
|
|
- :label="item.stagename"
|
|
|
- :value="item.stagename">
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
+ <span class="myTitle">项目</span>
|
|
|
+ <myRadio :value1="param2.content" key1="isAll" @clickBtn="refreshTable('param2','project')" :btnOptions="[{label:'全部',value:1},{label:'本年',value:0}]">
|
|
|
+ </myRadio>
|
|
|
</div>
|
|
|
<myCard
|
|
|
:list="
|
|
|
[
|
|
|
- {title:'项目数',value:$refs.project && $refs.project.list && $refs.project.list.length,bg:'#F3F9FC',color:'#8DCFFC'},
|
|
|
+ {title:'项目数',value:$refs.project && $refs.project.total,bg:'#F3F9FC',color:'#3874F6'},
|
|
|
{title:'项目成交率',value:$refs.project && $refs.project.list && $refs.project.list[0] && $refs.project.list[0].cjl,bg:'#E8F7EC',color:'#78B32B'},
|
|
|
- {title:'总预计签约金额',value:$refs.project && $refs.project.list && $refs.project.list[0] && $refs.project.list[0].allSignamount_due,bg:'#F9F2E5',color:'#FF9795'},
|
|
|
- {title:'参与项目数',value:$refs.project && $refs.project.list && $refs.project.list[0] && $refs.project.list[0].joinProjectQty,bg:'#FDF3F3',color:'#E899CC'},
|
|
|
+ {title:'总预计签约金额',value:tool.formatAmount($refs.project && $refs.project.list && $refs.project.list[0] && $refs.project.list[0].allSignamount_due || '0'),bg:'#F9F2E5',color:'#FF7603'},
|
|
|
+ // {title:'参与项目数',descript:'参与项目数:客户参与的项目数',value:$refs.project && $refs.project.list && $refs.project.list[0] && $refs.project.list[0].joinProjectQty,bg:'#FDF3F3',color:'#E899CC'},
|
|
|
]"
|
|
|
></myCard>
|
|
|
+ <div id="Bar"></div>
|
|
|
+
|
|
|
+
|
|
|
<showIsNone title="项目明细">
|
|
|
<pageTable
|
|
|
ref="project"
|
|
@@ -123,6 +131,7 @@
|
|
|
:param="param2"
|
|
|
></pageTable>
|
|
|
</showIsNone>
|
|
|
+
|
|
|
</el-card>
|
|
|
</div>
|
|
|
|
|
@@ -130,18 +139,16 @@
|
|
|
<div class="Mproject" style="margin-top:10px">
|
|
|
<el-card class="box-card">
|
|
|
<div slot="header">
|
|
|
- <span style="margin-right: 10px;font-size: 14px;font-weight: bold;">报价单</span>
|
|
|
- <el-radio-group v-model="param3.content.isAll" @input="refreshTable('param3','baojiadan')">
|
|
|
- <el-radio :label="1">全部</el-radio>
|
|
|
- <el-radio :label="0">本年</el-radio>
|
|
|
- </el-radio-group>
|
|
|
+ <span class="myTitle">报价单</span>
|
|
|
+ <myRadio :value1="param3.content" key1="isAll" @clickBtn="refreshTable('param3','baojiadan')" :btnOptions="[{label:'全部',value:1},{label:'本年',value:0}]">
|
|
|
+ </myRadio>
|
|
|
</div>
|
|
|
<myCard
|
|
|
:list="
|
|
|
[
|
|
|
- {title:'报价次数',value:$refs.baojiadan && $refs.baojiadan.list && $refs.baojiadan.list.length,bg:'#F3F9FC',color:'#8DCFFC'},
|
|
|
- {title:'最近报价金额',value:$refs.baojiadan && $refs.baojiadan.list && $refs.baojiadan.list[0] && $refs.baojiadan.list[0].sumamount,bg:'#E8F7EC',color:'#78B32B'},
|
|
|
- {title:'最近报价时间',value:$refs.baojiadan && $refs.baojiadan.list && $refs.baojiadan.list[0] && $refs.baojiadan.list[0].submitdate,bg:'#F9F2E5',color:'#FF9795'},
|
|
|
+ {title:'报价次数',value:$refs.baojiadan && $refs.baojiadan.total,bg:'#F3F9FC',color:'#3874F6'},
|
|
|
+ {title:'最近报价金额',value:tool.formatAmount($refs.baojiadan && $refs.baojiadan.list && $refs.baojiadan.list[0] && $refs.baojiadan.list[0].sumamount || '0'),bg:'#E8F7EC',color:'#78B32B'},
|
|
|
+ {title:'最近报价时间',value:$refs.baojiadan && $refs.baojiadan.list && $refs.baojiadan.list[0] && $refs.baojiadan.list[0].submitdate,bg:'#F9F2E5',color:'#FF7603'},
|
|
|
]"
|
|
|
></myCard>
|
|
|
<showIsNone title="报价单明细">
|
|
@@ -158,25 +165,23 @@
|
|
|
<div class="Mproject" style="margin-top:10px">
|
|
|
<el-card class="box-card">
|
|
|
<div slot="header">
|
|
|
- <span style="margin-right: 10px;font-size: 14px;font-weight: bold;">合同</span>
|
|
|
- <el-radio-group v-model="param4.content.isAll" @input="refreshTable('param4','hetong')">
|
|
|
- <el-radio :label="1">全部</el-radio>
|
|
|
- <el-radio :label="0">本年</el-radio>
|
|
|
- </el-radio-group>
|
|
|
- <el-select style="margin-left:10px" v-model="param4.content.where.type" clearable size="mini" placeholder="请选择订单类型" @change="typeChange('param4','hetong')">
|
|
|
+ <span class="myTitle">合同</span>
|
|
|
+ <myRadio :value1="param4.content" key1="isAll" @clickBtn="refreshTable('param4','hetong')" :btnOptions="[{label:'全部',value:1},{label:'本年',value:0}]">
|
|
|
+ </myRadio>
|
|
|
+ <el-select style="margin-left:24px" v-model="param4.content.where.type" clearable size="mini" placeholder="请选择合同类型" @change="typeChange('param4','hetong')">
|
|
|
<el-option label="全部" value=""></el-option>
|
|
|
- <el-option :label="item.value" :value="item.value" v-for="(item,index) in contractTypeList" :key="index"></el-option>
|
|
|
+ <el-option :label="item.remarks" :value="item.value" v-for="(item,index) in contractTypeList" :key="index + 'c'"></el-option>
|
|
|
</el-select>
|
|
|
</div>
|
|
|
<myCard
|
|
|
:list="
|
|
|
[
|
|
|
- {title:'项目合同总数',value:$refs.hetong && $refs.hetong.list && $refs.hetong.list[0] && $refs.hetong.list[0].allQty,bg:'#F3F9FC',color:'#8DCFFC'},
|
|
|
- {title:'项目合同总金额',value:$refs.hetong && $refs.hetong.list && $refs.hetong.list[0] && $refs.hetong.list[0].sumSignAmount,bg:'#E8F7EC',color:'#78B32B'},
|
|
|
- {title:'进行中项目总数',value:$refs.hetong && $refs.hetong.list && $refs.hetong.list[0] && $refs.hetong.list[0].inProgressQty,bg:'#F9F2E5',color:'#FF9795'},
|
|
|
- {title:'进行中项目金额',value:$refs.hetong && $refs.hetong.list && $refs.hetong.list[0] && $refs.hetong.list[0].inProgressAmount,bg:'#F9F2E5',color:'#FF9795'},
|
|
|
- {title:'到期项目合同数',value:$refs.hetong && $refs.hetong.list && $refs.hetong.list[0] && $refs.hetong.list[0].expireQty,bg:'#F9F2E5',color:'#FF9795'},
|
|
|
- {title:'到期项目合同金额',value:$refs.hetong && $refs.hetong.list && $refs.hetong.list[0] && $refs.hetong.list[0].expireAmount,bg:'#F9F2E5',color:'#FF9795'},
|
|
|
+ {title:'项目合同总数',value:$refs.hetong && $refs.hetong.list && $refs.hetong.list[0] && $refs.hetong.list[0].allQty,bg:'#F3F9FC',color:'#3874F6'},
|
|
|
+ {title:'项目合同总金额',value:tool.formatAmount($refs.hetong && $refs.hetong.list && $refs.hetong.list[0] && $refs.hetong.list[0].sumSignAmount || '0'),bg:'#E8F7EC',color:'#78B32B'},
|
|
|
+ {title:'进行中项目总数',value:tool.formatAmount($refs.hetong && $refs.hetong.list && $refs.hetong.list[0] && $refs.hetong.list[0].inProgressQty || '0'),bg:'#FDF3F3',color:'#E85B5B'},
|
|
|
+ {title:'进行中项目金额',value:tool.formatAmount($refs.hetong && $refs.hetong.list && $refs.hetong.list[0] && $refs.hetong.list[0].inProgressAmount || '0'),bg:'#F9F2E5',color:'#FF7603'},
|
|
|
+ {title:'到期项目合同数',value:$refs.hetong && $refs.hetong.list && $refs.hetong.list[0] && $refs.hetong.list[0].expireQty,bg:'#F3F9FC',color:'#3874F6'},
|
|
|
+ {title:'到期项目合同金额',value:tool.formatAmount($refs.hetong && $refs.hetong.list && $refs.hetong.list[0] && $refs.hetong.list[0].expireAmount || '0'),bg:'#E8F7EC',color:'#78B32B'},
|
|
|
]"
|
|
|
></myCard>
|
|
|
<showIsNone title="合同明细">
|
|
@@ -193,24 +198,24 @@
|
|
|
<div class="Mproject" style="margin-top:10px">
|
|
|
<el-card class="box-card">
|
|
|
<div slot="header">
|
|
|
- <span style="margin-right: 10px;font-size: 14px;font-weight: bold;">订单</span>
|
|
|
- <el-radio-group v-model="param5.content.isAll" @input="refreshTable('param5','dingdan')">
|
|
|
- <el-radio :label="1">全部</el-radio>
|
|
|
- <el-radio :label="0">本年</el-radio>
|
|
|
- </el-radio-group>
|
|
|
- <el-select style="margin-left:10px" v-model="param5.content.where.type" clearable size="mini" placeholder="请选择订单类型" @change="typeChange($event,'param5','type','dingdan')">
|
|
|
+ <span class="myTitle">订单</span>
|
|
|
+ <myRadio :value1="param5.content" key1="isAll" @clickBtn="refreshTable('param5','dingdan')" :btnOptions="[{label:'全部',value:1},{label:'本年',value:0}]">
|
|
|
+ </myRadio>
|
|
|
+ <el-select style="margin-left:24px" v-model="param5.content.where.type" clearable size="mini" placeholder="请选择订单类型" @change="typeChange('param5','dingdan')">
|
|
|
<el-option label="全部" value=""></el-option>
|
|
|
- <el-option :label="item.value" :value="item.value" v-for="(item,index) in orderTypeList" :key="index"></el-option>
|
|
|
+ <el-option :label="item.value" :value="item.value" v-for="(item,index) in orderTypeList" :key="index + 'd'"></el-option>
|
|
|
</el-select>
|
|
|
</div>
|
|
|
<myCard
|
|
|
:list="
|
|
|
[
|
|
|
- {title:'订单数量',value:$refs.dingdan && $refs.dingdan.list && $refs.dingdan.list[0] && $refs.dingdan.list[0].allOrderQty,bg:'#F3F9FC',color:'#8DCFFC'},
|
|
|
- {title:'订单总金额',value:$refs.dingdan && $refs.dingdan.list && $refs.dingdan.list[0] && $refs.dingdan.list[0].allAmount,bg:'#E8F7EC',color:'#78B32B'},
|
|
|
- {title:'回款金额',value:$refs.dingdan && $refs.dingdan.list && $refs.dingdan.list[0] && $refs.dingdan.list[0].cashbillAmount,bg:'#F9F2E5',color:'#FF9795'},
|
|
|
- {title:'未出货金额',value:$refs.dingdan && $refs.dingdan.list && $refs.dingdan.list[0] && $refs.dingdan.list[0].allunAmount,bg:'#F9F2E5',color:'#FF9795'},
|
|
|
- {title:'参与项目订单金额',value:$refs.dingdan && $refs.dingdan.list && $refs.dingdan.list[0] && $refs.dingdan.list[0].joinOrderAmount,bg:'#F9F2E5',color:'#FF9795'},
|
|
|
+ {title:'订单数量',value:$refs.dingdan && $refs.dingdan.list && $refs.dingdan.list[0] && $refs.dingdan.list[0].allOrderQty,bg:'#F3F9FC',color:'#3874F6'},
|
|
|
+ {title:'订单总金额',value:tool.formatAmount($refs.dingdan && $refs.dingdan.list && $refs.dingdan.list[0] && $refs.dingdan.list[0].allAmount || '0'),bg:'#E8F7EC',color:'#78B32B'},
|
|
|
+ {title:'回款金额',value:tool.formatAmount($refs.dingdan && $refs.dingdan.list && $refs.dingdan.list[0] && $refs.dingdan.list[0].cashbillAmount || '0'),bg:'#F9F2E5',color:'#FF7603'},
|
|
|
+ {title:'未出货金额',value:tool.formatAmount($refs.dingdan && $refs.dingdan.list && $refs.dingdan.list[0] && $refs.dingdan.list[0].allunAmount || '0'),bg:'#FDF3F3',color:'#E85B5B'},
|
|
|
+ {title:'未开票金额',value:tool.formatAmount($refs.dingdan && $refs.dingdan.list && $refs.dingdan.list[0] && $refs.dingdan.list[0].uninvoicamount || '0'),bg:'#F9F2E5',color:'#FF7603'},
|
|
|
+ {title:'未回款金额',value:tool.formatAmount($refs.dingdan && $refs.dingdan.list && $refs.dingdan.list[0] && $refs.dingdan.list[0].unwriteoffamount || '0'),bg:'#FDF3F3',color:'#E85B5B'},
|
|
|
+ {title:'参与项目订单金额',descript:'参与项目订单金额:客户参与的项目的订单金额',value:tool.formatAmount($refs.dingdan && $refs.dingdan.list && $refs.dingdan.list[0] && $refs.dingdan.list[0].joinOrderAmount || '0'),bg:'#F3F9FC',color:'#3874F6'},
|
|
|
]"
|
|
|
></myCard>
|
|
|
<showIsNone title="订单明细">
|
|
@@ -227,19 +232,17 @@
|
|
|
<div class="Mproject" style="margin-top:10px">
|
|
|
<el-card class="box-card">
|
|
|
<div slot="header">
|
|
|
- <span style="margin-right: 10px;font-size: 14px;font-weight: bold;">服务</span>
|
|
|
- <el-radio-group v-model="param6.content.isAll" @input="refreshTable('param6','fuwu')">
|
|
|
- <el-radio :label="1">全部</el-radio>
|
|
|
- <el-radio :label="0">本年</el-radio>
|
|
|
- </el-radio-group>
|
|
|
+ <span class="myTitle">服务</span>
|
|
|
+ <myRadio :value1="param6.content" key1="isAll" @clickBtn="refreshTable('param6','fuwu')" :btnOptions="[{label:'全部',value:1},{label:'本年',value:0}]">
|
|
|
+ </myRadio>
|
|
|
</div>
|
|
|
<myCard
|
|
|
:list="
|
|
|
[
|
|
|
- {title:'服务申请次数',value:$refs.fuwu && $refs.fuwu.list && $refs.fuwu.list[0] && $refs.fuwu.list[0].serviceOrderQty,bg:'#F3F9FC',color:'#8DCFFC'},
|
|
|
+ {title:'服务申请次数',value:$refs.fuwu && $refs.fuwu.list && $refs.fuwu.list[0] && $refs.fuwu.list[0].serviceOrderQty,bg:'#F3F9FC',color:'#3874F6'},
|
|
|
{title:'服务工单次数',value:$refs.fuwu && $refs.fuwu.list && $refs.fuwu.list[0] && $refs.fuwu.list[0].workOrderQty,bg:'#E8F7EC',color:'#78B32B'},
|
|
|
- {title:'完工工单次数',value:$refs.fuwu && $refs.fuwu.list && $refs.fuwu.list[0] && $refs.fuwu.list[0].okWorkOrderQty,bg:'#F9F2E5',color:'#FF9795'},
|
|
|
- {title:'最近服务时间',value:$refs.fuwu && $refs.fuwu.list && $refs.fuwu.list[0] && $refs.fuwu.list[0].createdate,bg:'#F9F2E5',color:'#FF9795'},
|
|
|
+ {title:'完工工单次数',value:$refs.fuwu && $refs.fuwu.list && $refs.fuwu.list[0] && $refs.fuwu.list[0].okWorkOrderQty,bg:'#FDF3F3',color:'#E85B5B'},
|
|
|
+ {title:'最近服务时间',value:$refs.fuwu && $refs.fuwu.list && $refs.fuwu.list[0] && $refs.fuwu.list[0].createdate,bg:'#F9F2E5',color:'#FF7603'},
|
|
|
]"
|
|
|
></myCard>
|
|
|
<showIsNone title="服务工单明细">
|
|
@@ -257,13 +260,13 @@
|
|
|
<el-col :span="12">
|
|
|
<el-card class="box-card" style="margin-right:10px">
|
|
|
<div slot="header">
|
|
|
- <span style="margin-right: 10px;font-size: 14px;font-weight: bold;">团队</span>
|
|
|
+ <span class="myTitle">团队</span>
|
|
|
</div>
|
|
|
<div class="peopleInfo-content">
|
|
|
<div class="leader">
|
|
|
<p class="title" style="margin-bottom:10px">负责人</p>
|
|
|
<div class="content">
|
|
|
- <div class="item" v-for="(item,index) in baseInfo.team.filter(item => item.isleader == 1)" :key="index">
|
|
|
+ <div class="item" v-for="(item,index) in baseInfo.team.filter(item => item.isleader == 1)" :key="index + 'e'">
|
|
|
<div class="avatar">{{ item.name.substr(0,1) }}</div>
|
|
|
<div class="Info">
|
|
|
<div>
|
|
@@ -300,12 +303,12 @@
|
|
|
<el-col :span="12">
|
|
|
<el-card class="box-card">
|
|
|
<div slot="header">
|
|
|
- <span style="margin-right: 10px;font-size: 14px;font-weight: bold;">联系人</span>
|
|
|
+ <span style="margin-right:10px;font-size: 14px;font-weight: bold;">联系人</span>
|
|
|
</div>
|
|
|
<div class="peopleInfo-content">
|
|
|
<div class="leader">
|
|
|
<div class="content" v-if="baseInfo.contacts.length">
|
|
|
- <div class="item" v-for="(item,index) in baseInfo.contacts" :key="index">
|
|
|
+ <div class="item" v-for="(item,index) in baseInfo.contacts" :key="index + 'f'">
|
|
|
<div class="avatar">{{ item.name.substr(0,1) }}</div>
|
|
|
<div class="Info">
|
|
|
<div>
|
|
@@ -334,11 +337,14 @@
|
|
|
|
|
|
<script>
|
|
|
import pageTable from './pageTable'
|
|
|
+import myTag from './myTag'
|
|
|
import showIsNone from './showIsNone'
|
|
|
import myCard from './myCrad.vue'
|
|
|
+import myRadio from './myRadio'
|
|
|
+import { Bar } from '@antv/g2plot'
|
|
|
export default {
|
|
|
name: "index",
|
|
|
- components:{showIsNone,pageTable,myCard},
|
|
|
+ components:{showIsNone,pageTable,myCard,myTag,myRadio},
|
|
|
props:['data'],
|
|
|
data() {
|
|
|
return {
|
|
@@ -350,8 +356,8 @@ export default {
|
|
|
"id": 20230713103904,
|
|
|
"content": {
|
|
|
"pageNumber": 1,
|
|
|
- "pageSize": 20,
|
|
|
- "isAll":1,
|
|
|
+ "pageSize": 1,
|
|
|
+ "isAll":1,
|
|
|
"sa_customersid":this.$route.query.id
|
|
|
}
|
|
|
},
|
|
@@ -416,7 +422,7 @@ export default {
|
|
|
},
|
|
|
contractTypeList:[],
|
|
|
orderTypeList:[],
|
|
|
- stageList:[]
|
|
|
+ stageList:[],
|
|
|
}
|
|
|
},
|
|
|
methods:{
|
|
@@ -424,7 +430,7 @@ export default {
|
|
|
let res = await this.$api.requested({
|
|
|
"id": 20230713103804,
|
|
|
"content": {
|
|
|
- "sa_customersid":this.data.sa_customersid
|
|
|
+ "sa_customersid":this.$route.query.id
|
|
|
}
|
|
|
})
|
|
|
this.baseInfo = res.data
|
|
@@ -438,13 +444,13 @@ export default {
|
|
|
"pageSize":1
|
|
|
}
|
|
|
})
|
|
|
- this.baseInfo2 = res2.data[0]
|
|
|
+ this.baseInfo2 = res2.data[0] || {}
|
|
|
console.log(this.baseInfo2,'工商信息');
|
|
|
},
|
|
|
async getSelectList () {
|
|
|
const res = await this.$store.dispatch('optiontypeselect','contracttype')
|
|
|
this.contractTypeList = res.data
|
|
|
- console.log(this.orderTypeList,'合同类型');
|
|
|
+ console.log(this.contractTypeList,'合同类型');
|
|
|
|
|
|
const res2 = await this.$store.dispatch('optiontypeselect','ordertype')
|
|
|
this.orderTypeList = res2.data
|
|
@@ -472,11 +478,36 @@ export default {
|
|
|
typeChange(param,el) {
|
|
|
this[param].content.pageNumber = 1
|
|
|
this.$refs[el] && this.$refs[el].listData()
|
|
|
- }
|
|
|
+ },
|
|
|
+ /* 渲染表格 */
|
|
|
+ renderer(data) {
|
|
|
+ const piePlot = new Bar('Bar', {
|
|
|
+ data,
|
|
|
+ xField: 'qty',
|
|
|
+ yField: 'stagename',
|
|
|
+ seriesField: 'stagename',
|
|
|
+ legend: {
|
|
|
+ position: 'top',
|
|
|
+ },
|
|
|
+ label: {
|
|
|
+ // 可手动配置 label 数据标签位置
|
|
|
+ position: 'right', // 'left', 'middle', 'right'
|
|
|
+ offset: 4,
|
|
|
+ },
|
|
|
+ });
|
|
|
+ piePlot.render();
|
|
|
+ },
|
|
|
},
|
|
|
mounted() {
|
|
|
this.getbaseInfo()
|
|
|
this.getSelectList()
|
|
|
+ setTimeout(() => {
|
|
|
+ if (this.$refs.project && this.$refs.project.list[0] && this.$refs.project.list[0].stagecount.length) {
|
|
|
+ let Bar = document.querySelector('#Bar')
|
|
|
+ Bar.style.height = '150px'
|
|
|
+ this.renderer(this.$refs.project.list[0].stagecount)
|
|
|
+ }
|
|
|
+ },2000)
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
@@ -503,7 +534,7 @@ export default {
|
|
|
}
|
|
|
|
|
|
/deep/.el-descriptions-item__cell {
|
|
|
- padding: 8px !important;
|
|
|
+ padding: 8px 8px 0px 8px !important;
|
|
|
}
|
|
|
|
|
|
/deep/.el-card__header,/deep/.el-card__body {
|
|
@@ -515,8 +546,9 @@ export default {
|
|
|
}
|
|
|
.Mcontainer .Mcontainer-header .Mcontainer-header__left {
|
|
|
display: flex;
|
|
|
- width: 300px;
|
|
|
+ max-width: 350px;
|
|
|
align-items: center;
|
|
|
+ padding-right: 10px;
|
|
|
}
|
|
|
.Mcontainer .Mcontainer-header .Mcontainer-header__right {
|
|
|
flex: 100;
|
|
@@ -528,7 +560,6 @@ export default {
|
|
|
flex-direction: column;
|
|
|
justify-content: space-between;
|
|
|
margin-left: 10px;
|
|
|
- overflow: hidden;
|
|
|
}
|
|
|
.Mcontainer .Mcontainer-header .Mcontainer-header__left .account .Mtag{
|
|
|
margin-top: 5px;
|
|
@@ -545,6 +576,11 @@ export default {
|
|
|
.peopleInfo-content {
|
|
|
display: flex;
|
|
|
flex-direction: column;
|
|
|
+ height: 300px;
|
|
|
+ overflow-y: scroll;
|
|
|
+}
|
|
|
+.peopleInfo-content::-webkit-scrollbar {
|
|
|
+ display: none;
|
|
|
}
|
|
|
.peopleInfo-content .leader {
|
|
|
margin-bottom: 10px;
|
|
@@ -569,7 +605,7 @@ export default {
|
|
|
border-radius: 50%;
|
|
|
text-align: center;
|
|
|
line-height: 50px;
|
|
|
- background: blue;
|
|
|
+ background: #3874F6;
|
|
|
margin-right: 10px;
|
|
|
color: #ffffff;
|
|
|
}
|
|
@@ -634,4 +670,9 @@ export default {
|
|
|
color: #000000;
|
|
|
margin-right: 10px;
|
|
|
}
|
|
|
+.myTitle {
|
|
|
+ margin-right:24px;
|
|
|
+ font-size: 16px;
|
|
|
+ font-weight: bold;
|
|
|
+}
|
|
|
</style>
|