|
@@ -1,8 +1,24 @@
|
|
|
<template>
|
|
|
<div class="tenant">
|
|
|
- <div class="query">
|
|
|
+ <div class="query bck">
|
|
|
<el-form :inline="true" :model="queryForm">
|
|
|
- <el-form-item label="日期范围">
|
|
|
+ <el-form-item label="查看用户">
|
|
|
+ <el-select
|
|
|
+ v-model="selectUser"
|
|
|
+ multiple
|
|
|
+ placeholder="请选择用户"
|
|
|
+ @change="changeUser"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in userList"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ :disabled="item.value !== 'all' && selectUser.includes('all')"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="日期">
|
|
|
<el-date-picker
|
|
|
v-model="queryForm.timeArr"
|
|
|
type="daterange"
|
|
@@ -22,219 +38,318 @@
|
|
|
<el-button @click="onQuery">去年</el-button>
|
|
|
<el-button @click="onQuery">今年</el-button>
|
|
|
</el-form-item>
|
|
|
- <div></div>
|
|
|
- <el-form-item label="查看用户">
|
|
|
- <el-button type="primary" plain @click="onQuery">近30天</el-button>
|
|
|
- </el-form-item>
|
|
|
</el-form>
|
|
|
</div>
|
|
|
- <div style="display: flex">
|
|
|
- <div class="bck">
|
|
|
- <TitleInfo :content="titleList[0]"></TitleInfo>
|
|
|
- <div class="one-row" style="margin-top: 15px">
|
|
|
- <div class="one-row-item first" style="margin-right: 15px">
|
|
|
- <div class="label">存量客户</div>
|
|
|
- <div class="value">20</div>
|
|
|
- </div>
|
|
|
- <div class="one-row-item other" style="margin-right: 15px">
|
|
|
- <div class="label">新增</div>
|
|
|
- <div class="value">20</div>
|
|
|
- </div>
|
|
|
- <div class="one-row-item other" style="margin-right: 15px">
|
|
|
- <div class="label">报价</div>
|
|
|
- <div class="value">20</div>
|
|
|
- </div>
|
|
|
- <div class="one-row-item other">
|
|
|
- <div class="label">成交</div>
|
|
|
- <div class="value">20</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="bck" style="margin-left: 20px">
|
|
|
- <TitleInfo :content="titleList[1]"></TitleInfo>
|
|
|
- <div class="one-row" style="margin-top: 15px">
|
|
|
- <div class="one-row-item first" style="margin-right: 15px">
|
|
|
- <div class="label">存量产品</div>
|
|
|
- <div class="value">20</div>
|
|
|
- </div>
|
|
|
- <div class="one-row-item other">
|
|
|
- <div class="label">新增</div>
|
|
|
- <div class="value">20</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="bck" style="margin-left: 20px">
|
|
|
- <TitleInfo :content="titleList[2]"></TitleInfo>
|
|
|
- <div class="one-row" style="margin-top: 15px">
|
|
|
- <div class="one-row-item first" style="margin-right: 15px">
|
|
|
- <div class="label">发件</div>
|
|
|
- <div class="value">20</div>
|
|
|
- </div>
|
|
|
- <div class="one-row-item other">
|
|
|
- <div class="label">收件</div>
|
|
|
- <div class="value">20</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div style="margin-top: 15px">
|
|
|
- <div class="bck">
|
|
|
- <TitleInfo :content="titleList[3]"></TitleInfo>
|
|
|
- <div class="two-row" style="margin-top: 15px">
|
|
|
- <div class="two-row-item first" style="margin-right: 15px">
|
|
|
- <div class="label">报价</div>
|
|
|
- <div class="value">
|
|
|
- <div style="margin-right: 15px">
|
|
|
- <div class="child-value">aa</div>
|
|
|
- <div class="text">订单数</div>
|
|
|
+ <div v-loading="loading">
|
|
|
+ <div style="display: flex; margin-top: 15px">
|
|
|
+ <div class="bck">
|
|
|
+ <TitleInfo :content="titleList[0]"></TitleInfo>
|
|
|
+ <div class="one-row" style="margin-top: 15px">
|
|
|
+ <div class="one-row-item first" style="margin-right: 15px">
|
|
|
+ <div class="label">存量客户(人)</div>
|
|
|
+ <div class="value">
|
|
|
+ {{ allData.customerSituation.customerCount }}
|
|
|
</div>
|
|
|
- <div>
|
|
|
- <div class="child-value">666666</div>
|
|
|
- <div class="text">金额</div>
|
|
|
+ </div>
|
|
|
+ <div class="one-row-item other" style="margin-right: 15px">
|
|
|
+ <div class="label">新增(人)</div>
|
|
|
+ <div class="value">
|
|
|
+ {{ allData.customerSituation.customerAddCount }}
|
|
|
</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- <div class="two-row-item other" style="margin-right: 15px">
|
|
|
- <div class="label">成交</div>
|
|
|
- <div class="value">
|
|
|
- <div style="margin-right: 15px">
|
|
|
- <div class="child-value">aa</div>
|
|
|
- <div class="text">订单数</div>
|
|
|
+ <div class="one-row-item other" style="margin-right: 15px">
|
|
|
+ <div class="label">报价(人)</div>
|
|
|
+ <div class="value">
|
|
|
+ {{ allData.customerSituation.saleQuotationCustomerCount }}
|
|
|
</div>
|
|
|
- <div>
|
|
|
- <div class="child-value">666666</div>
|
|
|
- <div class="text">金额</div>
|
|
|
+ </div>
|
|
|
+ <div class="one-row-item other">
|
|
|
+ <div class="label">成交(人)</div>
|
|
|
+ <div class="value">
|
|
|
+ {{ allData.customerSituation.contractCustomerCount }}
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="two-row-item other" style="margin-right: 15px">
|
|
|
- <div class="label">到账</div>
|
|
|
- <div class="value">
|
|
|
- <div style="margin-right: 15px">
|
|
|
- <div class="child-value">aa</div>
|
|
|
- <div class="text">笔</div>
|
|
|
+ </div>
|
|
|
+ <div class="bck" style="margin-left: 20px">
|
|
|
+ <TitleInfo :content="titleList[1]"></TitleInfo>
|
|
|
+ <div class="one-row" style="margin-top: 15px">
|
|
|
+ <div class="one-row-item first" style="margin-right: 15px">
|
|
|
+ <div class="label">存量产品</div>
|
|
|
+ <div class="value">
|
|
|
+ {{ allData.productSituation.productCount }}
|
|
|
</div>
|
|
|
- <div>
|
|
|
- <div class="child-value">666666</div>
|
|
|
- <div class="text">金额</div>
|
|
|
+ </div>
|
|
|
+ <div class="one-row-item other">
|
|
|
+ <div class="label">新增产品</div>
|
|
|
+ <div class="value">
|
|
|
+ {{ allData.productSituation.productAddCount }}
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="two-row-item other">
|
|
|
- <div class="label">创建单证</div>
|
|
|
- <div class="value">
|
|
|
- <div style="margin-right: 15px">
|
|
|
- <div class="child-value">aa</div>
|
|
|
- <div class="text">套</div>
|
|
|
- </div>
|
|
|
+ </div>
|
|
|
+ <div class="bck" style="margin-left: 20px">
|
|
|
+ <TitleInfo :content="titleList[2]"></TitleInfo>
|
|
|
+ <div class="one-row" style="margin-top: 15px">
|
|
|
+ <div class="one-row-item first" style="margin-right: 15px">
|
|
|
+ <div class="label">发件</div>
|
|
|
+ <div class="value">{{ allData.commMail.sentMailCount }}</div>
|
|
|
+ </div>
|
|
|
+ <div class="one-row-item other">
|
|
|
+ <div class="label">收件</div>
|
|
|
+ <div class="value">{{ allData.commMail.receiveMailCount }}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- <div style="margin-top: 15px">
|
|
|
- <div class="bck">
|
|
|
- <TitleInfo :content="titleList[4]"></TitleInfo>
|
|
|
- <div class="two-row" style="margin-top: 15px">
|
|
|
- <div class="two-row-item first" style="margin-right: 15px">
|
|
|
- <div class="label">报价</div>
|
|
|
- <div class="value">
|
|
|
- <div style="margin-right: 15px">
|
|
|
- <div class="child-value">aa</div>
|
|
|
- <div class="text">订单数</div>
|
|
|
+ <div style="margin-top: 15px">
|
|
|
+ <div class="bck">
|
|
|
+ <TitleInfo :content="titleList[3]"></TitleInfo>
|
|
|
+ <div class="two-row" style="margin-top: 15px">
|
|
|
+ <div class="two-row-item first" style="margin-right: 15px">
|
|
|
+ <div class="label">报价</div>
|
|
|
+ <div class="value">
|
|
|
+ <div style="margin-right: 15px">
|
|
|
+ <div class="child-value">
|
|
|
+ {{ allData.saleSituation.quotationAddStatistics.count }}
|
|
|
+ </div>
|
|
|
+ <div class="text">订单数</div>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <div class="child-value color-blue">
|
|
|
+ {{
|
|
|
+ moneyFormat(
|
|
|
+ allData.saleSituation.quotationAddStatistics.sumAmount,
|
|
|
+ 2
|
|
|
+ )
|
|
|
+ }}
|
|
|
+ </div>
|
|
|
+ <div class="text">金额</div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- <div>
|
|
|
- <div class="child-value">666666</div>
|
|
|
- <div class="text">金额</div>
|
|
|
+ </div>
|
|
|
+ <div class="two-row-item other" style="margin-right: 15px">
|
|
|
+ <div class="label">成交</div>
|
|
|
+ <div class="value">
|
|
|
+ <div style="margin-right: 15px">
|
|
|
+ <div class="child-value">
|
|
|
+ {{ allData.saleSituation.contractAddStatistics.count }}
|
|
|
+ </div>
|
|
|
+ <div class="text">订单数</div>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <div class="child-value color-blue">
|
|
|
+ {{
|
|
|
+ moneyFormat(
|
|
|
+ allData.saleSituation.quotationAddStatistics.sumAmount,
|
|
|
+ 2
|
|
|
+ )
|
|
|
+ }}
|
|
|
+ </div>
|
|
|
+ <div class="text">金额</div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- <div class="two-row-item other" style="margin-right: 15px">
|
|
|
- <div class="label">成交</div>
|
|
|
- <div class="value">
|
|
|
- <div style="margin-right: 15px">
|
|
|
- <div class="child-value">aa</div>
|
|
|
- <div class="text">订单数</div>
|
|
|
+ <div class="two-row-item other" style="margin-right: 15px">
|
|
|
+ <div class="label">到账</div>
|
|
|
+ <div class="value">
|
|
|
+ <div style="margin-right: 15px">
|
|
|
+ <div class="child-value">
|
|
|
+ {{ allData.saleSituation.claimAddStatistics.count }}
|
|
|
+ </div>
|
|
|
+ <div class="text">笔</div>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <div class="child-value color-blue">
|
|
|
+ {{
|
|
|
+ moneyFormat(
|
|
|
+ allData.saleSituation.claimAddStatistics.sumAmount,
|
|
|
+ 2
|
|
|
+ )
|
|
|
+ }}
|
|
|
+ </div>
|
|
|
+ <div class="text">金额</div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- <div>
|
|
|
- <div class="child-value">666666</div>
|
|
|
- <div class="text">金额</div>
|
|
|
+ </div>
|
|
|
+ <div class="two-row-item other">
|
|
|
+ <div class="label">创建单证</div>
|
|
|
+ <div class="value">
|
|
|
+ <div style="margin-right: 15px">
|
|
|
+ <div class="child-value">
|
|
|
+ {{ allData.saleSituation.documentsCount }}
|
|
|
+ </div>
|
|
|
+ <div class="text">套</div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="two-row-item other" style="margin-right: 15px">
|
|
|
- <div class="label">到账</div>
|
|
|
- <div class="value">
|
|
|
- <div style="margin-right: 15px">
|
|
|
- <div class="child-value">aa</div>
|
|
|
- <div class="text">笔</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div style="margin-top: 15px">
|
|
|
+ <div class="bck">
|
|
|
+ <TitleInfo :content="titleList[4]"></TitleInfo>
|
|
|
+ <div class="two-row" style="margin-top: 15px">
|
|
|
+ <div class="two-row-item first" style="margin-right: 15px">
|
|
|
+ <div class="label">报价</div>
|
|
|
+ <div class="value">
|
|
|
+ <div style="margin-right: 15px">
|
|
|
+ <div class="child-value">
|
|
|
+ {{ allData.saleAddSituation.quotationAddStatistics.count }}
|
|
|
+ </div>
|
|
|
+ <div class="text">订单数</div>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <div class="child-value color-blue">
|
|
|
+ {{
|
|
|
+ moneyFormat(
|
|
|
+ allData.saleAddSituation.quotationAddStatistics
|
|
|
+ .sumAmount,
|
|
|
+ 2
|
|
|
+ )
|
|
|
+ }}
|
|
|
+ </div>
|
|
|
+ <div class="text">金额</div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- <div>
|
|
|
- <div class="child-value">666666</div>
|
|
|
- <div class="text">金额</div>
|
|
|
+ </div>
|
|
|
+ <div class="two-row-item other" style="margin-right: 15px">
|
|
|
+ <div class="label">成交</div>
|
|
|
+ <div class="value">
|
|
|
+ <div style="margin-right: 15px">
|
|
|
+ <div class="child-value">
|
|
|
+ {{ allData.saleAddSituation.contractAddStatistics.count }}
|
|
|
+ </div>
|
|
|
+ <div class="text">订单数</div>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <div class="child-value color-blue">
|
|
|
+ {{
|
|
|
+ moneyFormat(
|
|
|
+ allData.saleAddSituation.contractAddStatistics
|
|
|
+ .sumAmount,
|
|
|
+ 2
|
|
|
+ )
|
|
|
+ }}
|
|
|
+ </div>
|
|
|
+ <div class="text">金额</div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- <div class="two-row-item other">
|
|
|
- <div class="label">创建单证</div>
|
|
|
- <div class="value">
|
|
|
- <div style="margin-right: 15px">
|
|
|
- <div class="child-value">aa</div>
|
|
|
- <div class="text">套</div>
|
|
|
+ <div class="two-row-item other" style="margin-right: 15px">
|
|
|
+ <div class="label">到账</div>
|
|
|
+ <div class="value">
|
|
|
+ <div style="margin-right: 15px">
|
|
|
+ <div class="child-value">
|
|
|
+ {{ allData.saleAddSituation.claimAddStatistics.count }}
|
|
|
+ </div>
|
|
|
+ <div class="text">笔</div>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <div class="child-value color-blue">
|
|
|
+ {{
|
|
|
+ moneyFormat(
|
|
|
+ allData.saleAddSituation.claimAddStatistics.sumAmount,
|
|
|
+ 2
|
|
|
+ )
|
|
|
+ }}
|
|
|
+ </div>
|
|
|
+ <div class="text">金额</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="two-row-item other">
|
|
|
+ <div class="label">创建单证</div>
|
|
|
+ <div class="value">
|
|
|
+ <div style="margin-right: 15px">
|
|
|
+ <div class="child-value">
|
|
|
+ {{ allData.saleAddSituation.documentsCount }}
|
|
|
+ </div>
|
|
|
+ <div class="text">套</div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
|
|
|
- <div style="display: flex; margin-top: 15px">
|
|
|
- <div class="bck">
|
|
|
- <TitleInfo :content="titleList[0]"></TitleInfo>
|
|
|
- <div class="one-row" style="margin-top: 15px">
|
|
|
- <div class="one-row-item first" style="margin-right: 15px">
|
|
|
- <div class="label">存量客户</div>
|
|
|
- <div class="value">20</div>
|
|
|
- </div>
|
|
|
- <div class="one-row-item other" style="margin-right: 15px">
|
|
|
- <div class="label">新增</div>
|
|
|
- <div class="value">20</div>
|
|
|
- </div>
|
|
|
- <div class="one-row-item other" style="margin-right: 15px">
|
|
|
- <div class="label">报价</div>
|
|
|
- <div class="value">20</div>
|
|
|
- </div>
|
|
|
- <div class="one-row-item other">
|
|
|
- <div class="label">成交</div>
|
|
|
- <div class="value">20</div>
|
|
|
+ <div style="display: flex; margin-top: 15px">
|
|
|
+ <div class="bck">
|
|
|
+ <TitleInfo :content="titleList[5]"></TitleInfo>
|
|
|
+ <div class="two-row" style="margin-top: 15px">
|
|
|
+ <div class="two-row-item first" style="margin-right: 15px">
|
|
|
+ <div class="label">待采购</div>
|
|
|
+ <div class="value">
|
|
|
+ <div style="margin-right: 15px">
|
|
|
+ <div class="child-value">
|
|
|
+ {{
|
|
|
+ allData.purchaseStatistics.waitPurchaseStatistics
|
|
|
+ .contractProductCount
|
|
|
+ }}
|
|
|
+ </div>
|
|
|
+ <div class="text">交接单</div>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <div class="child-value color-blue">
|
|
|
+ {{
|
|
|
+ allData.purchaseStatistics.waitPurchaseStatistics
|
|
|
+ .subscribeDetailCount
|
|
|
+ }}
|
|
|
+ </div>
|
|
|
+ <div class="text">申购</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="two-row-item other" style="margin-right: 15px">
|
|
|
+ <div class="label">采购订单</div>
|
|
|
+ <div class="value">
|
|
|
+ <div style="margin-right: 15px">
|
|
|
+ <div class="child-value">
|
|
|
+ {{ allData.purchaseStatistics.purchaseOrder.purchaseCount }}
|
|
|
+ </div>
|
|
|
+ <div class="text">订单数</div>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <div class="child-value color-blue">
|
|
|
+ {{
|
|
|
+ moneyFormat(
|
|
|
+ allData.purchaseStatistics.purchaseOrder.purchaseAmount,
|
|
|
+ 2
|
|
|
+ )
|
|
|
+ }}
|
|
|
+ </div>
|
|
|
+ <div class="text">金额</div>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <div class="child-value color-blue">
|
|
|
+ {{
|
|
|
+ allData.purchaseStatistics.purchaseOrder.purchasePayAmount
|
|
|
+ }}
|
|
|
+ </div>
|
|
|
+ <div class="text">已付款</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- <div class="bck" style="margin-left: 20px">
|
|
|
- <TitleInfo :content="titleList[1]"></TitleInfo>
|
|
|
- <div class="one-row" style="margin-top: 15px">
|
|
|
- <div class="one-row-item first" style="margin-right: 15px">
|
|
|
- <div class="label">存量产品</div>
|
|
|
- <div class="value">20</div>
|
|
|
- </div>
|
|
|
- <div class="one-row-item other">
|
|
|
- <div class="label">新增</div>
|
|
|
- <div class="value">20</div>
|
|
|
+
|
|
|
+ <!-- <div class="bck" style="margin-left: 20px">
|
|
|
+ <TitleInfo :content="titleList[6]"></TitleInfo>
|
|
|
+ <div class="one-row" style="margin-top: 15px">
|
|
|
+ <div class="one-row-item first" style="margin-right: 15px">
|
|
|
+ <div class="label">发起</div>
|
|
|
+ <div class="value">
|
|
|
+ {{ allData.flowStatistics.flowExampleCount }}
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="one-row-item other">
|
|
|
+ <div class="label">待处理</div>
|
|
|
+ <div class="value">
|
|
|
+ {{ allData.flowStatistics.waitFlowExampleCount }}
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="bck" style="margin-left: 20px">
|
|
|
- <TitleInfo :content="titleList[2]"></TitleInfo>
|
|
|
- <div class="one-row" style="margin-top: 15px">
|
|
|
- <div class="one-row-item first" style="margin-right: 15px">
|
|
|
- <div class="label">发件</div>
|
|
|
- <div class="value">20</div>
|
|
|
- </div>
|
|
|
- <div class="one-row-item other">
|
|
|
- <div class="label">收件</div>
|
|
|
- <div class="value">20</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ </div> -->
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -242,21 +357,92 @@
|
|
|
|
|
|
<script setup>
|
|
|
import TitleInfo from "@/components/TitleInfo/index.vue";
|
|
|
+import useUserStore from "@/store/modules/user";
|
|
|
+
|
|
|
const titleList = [
|
|
|
"客户情况",
|
|
|
"产品情况",
|
|
|
"往来邮件",
|
|
|
"销售行为(存量客户)",
|
|
|
"销售行为(新增客户)",
|
|
|
+ "采购行为",
|
|
|
+ "流程统计",
|
|
|
];
|
|
|
+const userList = ref([]);
|
|
|
+const selectUser = ref([]);
|
|
|
const { proxy } = getCurrentInstance();
|
|
|
const loading = ref(false);
|
|
|
const queryForm = reactive({
|
|
|
- countryId: "",
|
|
|
+ userIds: [],
|
|
|
beginTime: "",
|
|
|
endTime: "",
|
|
|
timeArr: "",
|
|
|
});
|
|
|
+const allData = ref({
|
|
|
+ customerSituation: {},
|
|
|
+ productSituation: {},
|
|
|
+ commMail: {},
|
|
|
+ flowStatistics: {},
|
|
|
+ saleSituation: {
|
|
|
+ quotationAddStatistics: {},
|
|
|
+ contractAddStatistics: {},
|
|
|
+ claimAddStatistics: {},
|
|
|
+ },
|
|
|
+ saleAddSituation: {
|
|
|
+ quotationAddStatistics: {},
|
|
|
+ contractAddStatistics: {},
|
|
|
+ claimAddStatistics: {},
|
|
|
+ },
|
|
|
+ purchaseStatistics: {
|
|
|
+ waitPurchaseStatistics: {},
|
|
|
+ purchaseOrder: {},
|
|
|
+ },
|
|
|
+});
|
|
|
+const getData = () => {
|
|
|
+ loading.value = true;
|
|
|
+ proxy.post("/employeeAnalysis/info", queryForm).then((res) => {
|
|
|
+ allData.value = res;
|
|
|
+ loading.value = false;
|
|
|
+ });
|
|
|
+};
|
|
|
+const getDict = () => {
|
|
|
+ proxy
|
|
|
+ .get("/tenantUser/list", {
|
|
|
+ pageNum: 1,
|
|
|
+ pageSize: 10000,
|
|
|
+ tenantId: useUserStore().user.tenantId,
|
|
|
+ })
|
|
|
+ .then((res) => {
|
|
|
+ userList.value = res.rows.map((item) => {
|
|
|
+ return {
|
|
|
+ label: item.nickName,
|
|
|
+ value: item.userId,
|
|
|
+ };
|
|
|
+ });
|
|
|
+ userList.value.unshift({
|
|
|
+ label: "全部",
|
|
|
+ value: "all",
|
|
|
+ });
|
|
|
+ });
|
|
|
+};
|
|
|
+
|
|
|
+const onQuery = () => {
|
|
|
+ if (queryForm.timeArr.length > 1) {
|
|
|
+ queryForm.beginTime = queryForm.timeArr[0];
|
|
|
+ queryForm.endTime = queryForm.timeArr[1];
|
|
|
+ } else {
|
|
|
+ queryForm.beginTime = "";
|
|
|
+ queryForm.endTime = "";
|
|
|
+ }
|
|
|
+ getData();
|
|
|
+};
|
|
|
+const changeUser = (val) => {
|
|
|
+ selectUser.value = val.includes("all") ? ["all"] : val;
|
|
|
+ queryForm.userIds = val.includes("all") ? [] : val;
|
|
|
+ onQuery();
|
|
|
+};
|
|
|
+getDict();
|
|
|
+getData();
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
@@ -270,71 +456,94 @@ const queryForm = reactive({
|
|
|
.one-row {
|
|
|
display: flex;
|
|
|
.one-row-item {
|
|
|
- min-width: 100px;
|
|
|
+ min-width: 160px;
|
|
|
padding: 15px;
|
|
|
border-radius: 10px;
|
|
|
.label {
|
|
|
margin-bottom: 10px;
|
|
|
- font-size: 16px;
|
|
|
- }
|
|
|
- .value {
|
|
|
font-size: 14px;
|
|
|
+ color: #333333;
|
|
|
}
|
|
|
- .label,
|
|
|
.value {
|
|
|
+ font-size: 24px;
|
|
|
font-weight: 700;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
.first {
|
|
|
- background: #f5f3ff;
|
|
|
+ background: #fff1e1;
|
|
|
.value {
|
|
|
- color: #9e64ed;
|
|
|
+ color: #333333;
|
|
|
+ }
|
|
|
+ .label::before {
|
|
|
+ content: "";
|
|
|
+ display: inline-block;
|
|
|
+ width: 10px;
|
|
|
+ height: 10px;
|
|
|
+ background: #ff9315;
|
|
|
+ border-radius: 50%;
|
|
|
+ margin-right: 10px;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.other {
|
|
|
background: #eff6ff;
|
|
|
.value {
|
|
|
- color: #0084ff;
|
|
|
+ color: #333333;
|
|
|
+ }
|
|
|
+ .label::before {
|
|
|
+ content: "";
|
|
|
+ display: inline-block;
|
|
|
+ width: 10px;
|
|
|
+ height: 10px;
|
|
|
+ background: #0084ff;
|
|
|
+ border-radius: 50%;
|
|
|
+ margin-right: 10px;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
.two-row {
|
|
|
display: flex;
|
|
|
.two-row-item {
|
|
|
- min-width: 160px;
|
|
|
+ min-width: 320px;
|
|
|
padding: 15px;
|
|
|
border-radius: 10px;
|
|
|
.label {
|
|
|
margin-bottom: 10px;
|
|
|
- font-size: 16px;
|
|
|
+ font-size: 14px;
|
|
|
font-weight: 700;
|
|
|
+ color: #333333;
|
|
|
}
|
|
|
.value {
|
|
|
display: flex;
|
|
|
font-size: 14px;
|
|
|
+ justify-content: space-between;
|
|
|
+ padding-right: 30px;
|
|
|
.child-value {
|
|
|
- font-size: 14px;
|
|
|
+ font-size: 16px;
|
|
|
font-weight: 700;
|
|
|
}
|
|
|
.text {
|
|
|
- color: #908f91;
|
|
|
- font-size: 12px;
|
|
|
+ // color: #333333;
|
|
|
+ font-size: 14px;
|
|
|
margin-top: 10px;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
.first {
|
|
|
- background: #f5f3ff;
|
|
|
- .child-value {
|
|
|
- color: #9e64ed;
|
|
|
- }
|
|
|
+ background: #fff1e1;
|
|
|
+ // .child-value {
|
|
|
+ // color: #333333;
|
|
|
+ // }
|
|
|
}
|
|
|
.other {
|
|
|
background: #eff6ff;
|
|
|
- .child-value {
|
|
|
- color: #0084ff;
|
|
|
- }
|
|
|
+ // .child-value {
|
|
|
+ // color: #0084ff;
|
|
|
+ // }
|
|
|
+ }
|
|
|
+ .color-blue {
|
|
|
+ color: #0084ff;
|
|
|
}
|
|
|
}
|
|
|
</style>
|