update
This commit is contained in:
parent
216d4716fe
commit
b02851d456
BIN
src/assets/image/supplierIcon.png
Normal file
BIN
src/assets/image/supplierIcon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.5 KiB |
@ -43,7 +43,6 @@ function fallbackDecrypt(ciphertext) {
|
|||||||
|
|
||||||
return decrypted.toString(CryptoJS.enc.Utf8);
|
return decrypted.toString(CryptoJS.enc.Utf8);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('解密失败:', error);
|
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -56,12 +56,12 @@ const handleGetData = async () => {
|
|||||||
let realData: string[] = []
|
let realData: string[] = []
|
||||||
|
|
||||||
const req: any = {
|
const req: any = {
|
||||||
// ProvinceCode: "530000",
|
ProvinceCode: "530000",
|
||||||
ProvinceCode: "340000",
|
GetFromRedis: true
|
||||||
|
// ProvinceCode: "340000",
|
||||||
}
|
}
|
||||||
const data = await handleGetProjectSummaryInfo(req)
|
const data = await handleGetProjectSummaryInfo(req)
|
||||||
|
|
||||||
console.log('dsajoidasjodasjoida', data);
|
|
||||||
|
|
||||||
// 应收账款预警
|
// 应收账款预警
|
||||||
let ArrearageList = data.ArrearageList
|
let ArrearageList = data.ArrearageList
|
||||||
@ -114,7 +114,7 @@ const handleHaveFirstPie = async () => {
|
|||||||
},
|
},
|
||||||
formatter: function (params: any) {
|
formatter: function (params: any) {
|
||||||
return `
|
return `
|
||||||
<div style="font-weight:bold">${params.name} ${params.value}份</div>
|
<div>${params.name} ${params.percent}%</div>
|
||||||
`;
|
`;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -165,16 +165,16 @@ const handleHaveFirstPie = async () => {
|
|||||||
|
|
||||||
const handleGetDataSecond = async () => {
|
const handleGetDataSecond = async () => {
|
||||||
let category: string[] = []
|
let category: string[] = []
|
||||||
let seriesData: number[] = []
|
let seriesData: any = []
|
||||||
let realData: string[] = []
|
let realData: string[] = []
|
||||||
|
|
||||||
const req: any = {
|
const req: any = {
|
||||||
// ProvinceCode: "530000",
|
ProvinceCode: "530000",
|
||||||
ProvinceCode: "340000",
|
GetFromRedis: true
|
||||||
|
// ProvinceCode: "340000",
|
||||||
}
|
}
|
||||||
const data = await handleGetContractExpiredInfo(req)
|
const data = await handleGetContractExpiredInfo(req)
|
||||||
|
|
||||||
console.log('dasdasjdasoijdo', data);
|
|
||||||
|
|
||||||
// 应收账款预警
|
// 应收账款预警
|
||||||
let ContractHalfYearListExpired = data.ContractHalfYearListExpired
|
let ContractHalfYearListExpired = data.ContractHalfYearListExpired
|
||||||
@ -185,7 +185,7 @@ const handleGetDataSecond = async () => {
|
|||||||
if (ContractHalfYearListExpired && ContractHalfYearListExpired.length > 0) {
|
if (ContractHalfYearListExpired && ContractHalfYearListExpired.length > 0) {
|
||||||
ContractHalfYearListExpired.forEach((item: any) => {
|
ContractHalfYearListExpired.forEach((item: any) => {
|
||||||
category.push(item.Expired_Situation)
|
category.push(item.Expired_Situation)
|
||||||
seriesData.push(item.Expired_Count)
|
seriesData.push({ name: item.Expired_Situation, value: item.Expired_Count })
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -41,16 +41,31 @@ onMounted(async () => {
|
|||||||
type: 'category',
|
type: 'category',
|
||||||
data: res.category,
|
data: res.category,
|
||||||
axisLabel: {
|
axisLabel: {
|
||||||
|
color: '#fff',
|
||||||
width: 80,
|
width: 80,
|
||||||
overflow: 'truncate',
|
overflow: 'truncate',
|
||||||
ellipsis: '...',
|
ellipsis: '...',
|
||||||
interval: 0
|
interval: 0
|
||||||
|
},
|
||||||
|
axisLine: {
|
||||||
|
lineStyle: {
|
||||||
|
color: '#fff' // 设置 y 轴线颜色为白色(可选)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
xAxis: { // 改为 xAxis 显示数值
|
xAxis: { // 改为 xAxis 显示数值
|
||||||
type: 'value',
|
type: 'value',
|
||||||
name: "万元",
|
name: "万元",
|
||||||
splitLine: { show: false }
|
splitLine: { show: false },
|
||||||
|
axisLabel: {
|
||||||
|
color: '#fff',
|
||||||
|
formatter: '{value}' // 刻度值保持纯数字
|
||||||
|
},
|
||||||
|
axisLine: {
|
||||||
|
lineStyle: {
|
||||||
|
color: '#fff' // 设置 y 轴线颜色为白色(可选)
|
||||||
|
}
|
||||||
|
},
|
||||||
},
|
},
|
||||||
series: [
|
series: [
|
||||||
{
|
{
|
||||||
@ -121,10 +136,9 @@ const handleGetData = async () => {
|
|||||||
let seriesData: any = []
|
let seriesData: any = []
|
||||||
|
|
||||||
const req: any = {
|
const req: any = {
|
||||||
|
GetFromRedis: true
|
||||||
}
|
}
|
||||||
const data = await handleGetProjectYearlyArrearageList(req)
|
const data = await handleGetProjectYearlyArrearageList(req)
|
||||||
console.log('handleGetProjectYearlyArrearageListhandleGetProjectYearlyArrearageListhandleGetProjectYearlyArrearageList', data);
|
|
||||||
|
|
||||||
let list: any = data.ProjectMonthlyCompleteList.slice(0, 5)
|
let list: any = data.ProjectMonthlyCompleteList.slice(0, 5)
|
||||||
list.reverse()
|
list.reverse()
|
||||||
|
|||||||
@ -7,6 +7,7 @@
|
|||||||
|
|
||||||
.AssessmentScoringRankingItem {
|
.AssessmentScoringRankingItem {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
height: 80px;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: 11px 10px;
|
padding: 11px 10px;
|
||||||
background: linear-gradient(0deg, rgba(0, 148, 255, 0.1) 0%, rgba(0, 148, 255, 0.05) 100%);
|
background: linear-gradient(0deg, rgba(0, 148, 255, 0.1) 0%, rgba(0, 148, 255, 0.05) 100%);
|
||||||
|
|||||||
@ -17,15 +17,18 @@ onMounted(async () => {
|
|||||||
const handleGetData = async () => {
|
const handleGetData = async () => {
|
||||||
const req: any = {
|
const req: any = {
|
||||||
DataType: 1,
|
DataType: 1,
|
||||||
StartMonth: "202501",
|
StartMonth: "202505",
|
||||||
EndMonth: "202501",
|
EndMonth: "202505",
|
||||||
provinceCode: "530000",
|
provinceCode: "530000",
|
||||||
}
|
}
|
||||||
|
|
||||||
const data = await handleGetExamineResultList(req)
|
const data = await handleGetExamineResultList(req)
|
||||||
console.log('fjdisfjoasidfj', data);
|
|
||||||
let list: any = data.slice(0, 5)
|
let list: any = data.slice(0, 5)
|
||||||
rankList.value = list
|
if (list && list.length > 0) {
|
||||||
|
rankList.value = list
|
||||||
|
} else {
|
||||||
|
rankList.value = [{}, {}, {}, {}, {}]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -153,7 +153,7 @@
|
|||||||
.brandRightBottomItem {
|
.brandRightBottomItem {
|
||||||
font-family: Microsoft YaHei, Microsoft YaHei;
|
font-family: Microsoft YaHei, Microsoft YaHei;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
font-size: 10px;
|
font-size: 12px;
|
||||||
color: #0094FF;
|
color: #0094FF;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
|
|||||||
@ -36,6 +36,8 @@ let selectTab = ref<number>(1)
|
|||||||
let allBrandList = ref<any>([])
|
let allBrandList = ref<any>([])
|
||||||
// 品牌列表数据
|
// 品牌列表数据
|
||||||
let brandListData = ref<any>([])
|
let brandListData = ref<any>([])
|
||||||
|
// 拿到全部类型的品牌数据
|
||||||
|
let allBrandObjData = ref<any>()
|
||||||
|
|
||||||
// 传入的数据
|
// 传入的数据
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
@ -135,17 +137,15 @@ const handleGoMounted = async () => {
|
|||||||
// 拿到数据
|
// 拿到数据
|
||||||
const handleGetData = async () => {
|
const handleGetData = async () => {
|
||||||
// 拿到枚举数据
|
// 拿到枚举数据
|
||||||
const enumData: any = await handleGetFieldEnumTree({
|
// const enumData: any = await handleGetFieldEnumTree({
|
||||||
FieldExplainField: "BRAND_TYPE",
|
// FieldExplainField: "BRAND_TYPE",
|
||||||
sessionName: "BRAND_TYPE"
|
// sessionName: "BRAND_TYPE"
|
||||||
})
|
// })
|
||||||
console.log('enumDataenumDataenumDataenumData', enumData);
|
|
||||||
|
|
||||||
let req: any = {
|
let req: any = {
|
||||||
ProvinceCode: "530000"
|
ProvinceCode: "530000"
|
||||||
}
|
}
|
||||||
const data = await handleGetBrandStructureAnalysis(req)
|
const data = await handleGetBrandStructureAnalysis(req)
|
||||||
console.log('datadatadatadatadata', data);
|
|
||||||
let category: any = []
|
let category: any = []
|
||||||
let pieData: any = []
|
let pieData: any = []
|
||||||
if (data && data.length > 0) {
|
if (data && data.length > 0) {
|
||||||
@ -177,11 +177,8 @@ const handleGetData = async () => {
|
|||||||
// SERVERPART_IDS: props.currentService?.SERVERPART_ID || ""
|
// SERVERPART_IDS: props.currentService?.SERVERPART_ID || ""
|
||||||
})
|
})
|
||||||
|
|
||||||
console.log('listDatalistDatalistData', listData);
|
|
||||||
|
|
||||||
let tableList: any = []
|
let tableList: any = []
|
||||||
|
|
||||||
|
|
||||||
if (listData && listData.length > 0) {
|
if (listData && listData.length > 0) {
|
||||||
listData.forEach((item: any) => {
|
listData.forEach((item: any) => {
|
||||||
tableList.push({ label: item.AUTOSTATISTICS_NAME, value: item.AUTOSTATISTICS_ID })
|
tableList.push({ label: item.AUTOSTATISTICS_NAME, value: item.AUTOSTATISTICS_ID })
|
||||||
@ -190,7 +187,24 @@ const handleGetData = async () => {
|
|||||||
|
|
||||||
tabList.value = tableList
|
tabList.value = tableList
|
||||||
|
|
||||||
await handleGetTableData(tableList[0].value)
|
let obj: any = {}
|
||||||
|
|
||||||
|
if (tableList && tableList.length > 0) {
|
||||||
|
for (let i = 0; i < tableList.length; i++) {
|
||||||
|
obj[tableList[i].value] = await handleGetTableData(tableList[i].value)
|
||||||
|
|
||||||
|
if (i === 0) {
|
||||||
|
console.log('i 0 ', obj[tableList[i].value]);
|
||||||
|
brandListData.value = obj[tableList[i].value]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
console.log('obj', obj);
|
||||||
|
|
||||||
|
allBrandObjData.value = obj
|
||||||
|
|
||||||
|
brandListData.value = obj[tableList[0].value]
|
||||||
|
// await handleGetTableData(tableList[0].value)
|
||||||
|
|
||||||
let res: any = {
|
let res: any = {
|
||||||
category: category,// x轴的内容
|
category: category,// x轴的内容
|
||||||
@ -209,15 +223,19 @@ const handleGetTableData = async (BRAND_INDUSTRY: number) => {
|
|||||||
// SERVERPART_IDS:""
|
// SERVERPART_IDS:""
|
||||||
}
|
}
|
||||||
const data = await handleGetCombineBrandList(req)
|
const data = await handleGetCombineBrandList(req)
|
||||||
console.log('tableDatasadasd', data);
|
// brandListData.value = data.slice(0, 6)
|
||||||
brandListData.value = data.slice(0, 6)
|
|
||||||
|
return data.slice(0, 6)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 切换tab
|
// 切换tab
|
||||||
const handleChangeTab = async (value: number) => {
|
const handleChangeTab = async (value: number) => {
|
||||||
brandListData.value = []
|
if (allBrandObjData.value[tabList.value[value - 1].value]) {
|
||||||
selectTab.value = value
|
brandListData.value = []
|
||||||
await handleGetTableData(tabList.value[value - 1].value)
|
selectTab.value = value
|
||||||
|
brandListData.value = allBrandObjData.value[tabList.value[value - 1].value]
|
||||||
|
// await handleGetTableData(tabList.value[value - 1].value)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -112,12 +112,14 @@
|
|||||||
color: #78828E;
|
color: #78828E;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
.changeBox {
|
.changeBox {
|
||||||
margin-left: 5px;
|
margin-left: 5px;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
.changeIcon {
|
.changeIcon {
|
||||||
width: 6px;
|
width: 6px;
|
||||||
height: 8px;
|
height: 8px;
|
||||||
@ -257,18 +259,17 @@
|
|||||||
|
|
||||||
.featureAnalysis {
|
.featureAnalysis {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 283px;
|
|
||||||
margin-top: 32px;
|
margin-top: 32px;
|
||||||
|
|
||||||
.featureAnalysisBox {
|
.featureAnalysisBox {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 283px;
|
height: 300px;
|
||||||
margin-top: 18px;
|
margin-top: 18px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.featureAnalysisBottom {
|
.featureAnalysisBottom {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 283px;
|
height: 300px;
|
||||||
margin-top: 18px;
|
margin-top: 18px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -83,13 +83,12 @@ const handleChangeTab = async (value: number) => {
|
|||||||
// 拿到数据的方法
|
// 拿到数据的方法
|
||||||
const handleGetData = async () => {
|
const handleGetData = async () => {
|
||||||
const req: any = {
|
const req: any = {
|
||||||
ProvinceCode: "340000",
|
ProvinceCode: "530000",
|
||||||
StatisticsDate: moment().subtract(1, 'd').format('YYYY-MM-DD'),
|
StatisticsDate: moment().subtract(1, 'd').format('YYYY-MM-DD'),
|
||||||
ServerpartId: props.currentService?.SERVERPART_ID || "",
|
ServerpartId: props.currentService?.SERVERPART_ID || "",
|
||||||
}
|
}
|
||||||
|
|
||||||
const data = await handleCodeGetRevenueCompare(req)
|
const data = await handleCodeGetRevenueCompare(req)
|
||||||
console.log('djsakjdaskldjasoifioad', data);
|
|
||||||
|
|
||||||
getAllData.value = data
|
getAllData.value = data
|
||||||
|
|
||||||
@ -153,7 +152,6 @@ const handleGetData = async () => {
|
|||||||
2: [category, ...res2],
|
2: [category, ...res2],
|
||||||
3: [category, ...res3],
|
3: [category, ...res3],
|
||||||
}
|
}
|
||||||
console.log('dhsauhdasjhdak', obj);
|
|
||||||
realData.value = obj
|
realData.value = obj
|
||||||
|
|
||||||
handleShowData(selectTab.value)
|
handleShowData(selectTab.value)
|
||||||
@ -176,8 +174,6 @@ const handleGetBottomData = async () => {
|
|||||||
const data = await handleGetRevenueTrend(req)
|
const data = await handleGetRevenueTrend(req)
|
||||||
const yesData = await handleGetRevenueTrend(yesReq)
|
const yesData = await handleGetRevenueTrend(yesReq)
|
||||||
|
|
||||||
console.log('datadatadatadata', data);
|
|
||||||
console.log('yesDatayesDatayesDatayesData', yesData);
|
|
||||||
|
|
||||||
let category: string[] = ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']
|
let category: string[] = ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']
|
||||||
let currentYear: number[] = []
|
let currentYear: number[] = []
|
||||||
@ -207,7 +203,6 @@ const handleGetBottomData = async () => {
|
|||||||
const handleShowData = async (value: number) => {
|
const handleShowData = async (value: number) => {
|
||||||
let data = realData.value[value]
|
let data = realData.value[value]
|
||||||
|
|
||||||
console.log('fjidufasdhfsdjfsdn', data);
|
|
||||||
|
|
||||||
|
|
||||||
const chartDom = document.getElementById('featureAnalysis');
|
const chartDom = document.getElementById('featureAnalysis');
|
||||||
@ -447,21 +442,22 @@ onBeforeUnmount(() => {
|
|||||||
</div>
|
</div>
|
||||||
<div class="BusinessCaseRightItemBottom">
|
<div class="BusinessCaseRightItemBottom">
|
||||||
<div class="BusinessCaseItemBottomLeft">
|
<div class="BusinessCaseItemBottomLeft">
|
||||||
<div class="compareTitle">相比去年同日</div>
|
|
||||||
<div class="changeBox">
|
<div class="changeBox">
|
||||||
<img class="changeIcon" :src="selectTab === 1 ? getAllData?.RevenueAmountYOYRate > 0 ? addIcon : reduce :
|
<img v-if="getAllData?.RevenueAmountYOYRate || getAllData?.TicketCountYOYRate || getAllData?.AvgTicketAmountRate"
|
||||||
selectTab === 2 ? getAllData?.TicketCountYOYRate > 0 ? addIcon : reduce :
|
class="changeIcon" :src="selectTab === 1 ? getAllData?.RevenueAmountYOYRate > 0 ? addIcon : reduce :
|
||||||
selectTab === 3 ? getAllData?.AvgTicketAmountRate > 0 ? addIcon : reduce : ''
|
selectTab === 2 ? getAllData?.TicketCountYOYRate > 0 ? addIcon : reduce :
|
||||||
" />
|
selectTab === 3 ? getAllData?.AvgTicketAmountRate > 0 ? addIcon : reduce : ''
|
||||||
|
" />
|
||||||
<div class="changeText" :style="{
|
<div class="changeText" :style="{
|
||||||
color: selectTab === 1 ? getAllData?.RevenueAmountYOYRate > 0 ? '#00FF00' : '#D24343' :
|
color: selectTab === 1 ? getAllData?.RevenueAmountYOYRate > 0 ? '#00FF00' : '#D24343' :
|
||||||
selectTab === 2 ? getAllData?.TicketCountYOYRate > 0 ? '#00FF00' : '#D24343' :
|
selectTab === 2 ? getAllData?.TicketCountYOYRate > 0 ? '#00FF00' : '#D24343' :
|
||||||
selectTab === 3 ? getAllData?.AvgTicketAmountRate > 0 ? '#00FF00' : '#D24343' : ''
|
selectTab === 3 ? getAllData?.AvgTicketAmountRate > 0 ? '#00FF00' : '#D24343' : ''
|
||||||
}">{{
|
}">{{
|
||||||
selectTab === 1 ? getAllData?.RevenueAmountYOYRate :
|
selectTab === 1 ? getAllData?.RevenueAmountYOYRate || '-' :
|
||||||
selectTab === 2 ? getAllData?.TicketCountYOYRate :
|
selectTab === 2 ? getAllData?.TicketCountYOYRate || '-' :
|
||||||
selectTab === 3 ? getAllData?.AvgTicketAmountRate : ''
|
selectTab === 3 ? getAllData?.AvgTicketAmountRate || '-' : ''
|
||||||
}}%</div>
|
}}%</div>
|
||||||
|
<div class="compareTitle">(相比去年同日)</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -473,7 +469,7 @@ onBeforeUnmount(() => {
|
|||||||
getAllData?.TicketCount.toLocaleString() : selectTab === 3 ?
|
getAllData?.TicketCount.toLocaleString() : selectTab === 3 ?
|
||||||
getAllData?.AvgTicketAmount.toLocaleString() : ''
|
getAllData?.AvgTicketAmount.toLocaleString() : ''
|
||||||
}}</div>
|
}}</div>
|
||||||
<div class="BusinessCaseRevenueUnit">{{ selectTab===2?'笔':'元' }}</div>
|
<div class="BusinessCaseRevenueUnit">{{ selectTab === 2 ? '笔' : '元' }}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@ -7,7 +7,7 @@
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
height: 210px;
|
height: 210px;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: 42px 0 0 31px;
|
padding: 52px 0 0 31px;
|
||||||
|
|
||||||
.BusinessStructureUnit {
|
.BusinessStructureUnit {
|
||||||
font-family: "Microsoft YaHei";
|
font-family: "Microsoft YaHei";
|
||||||
|
|||||||
@ -168,7 +168,6 @@ const handleGetData = async () => {
|
|||||||
|
|
||||||
const data = await handleGetBusinessTradeRevenue(req)
|
const data = await handleGetBusinessTradeRevenue(req)
|
||||||
|
|
||||||
console.log('业态结构占比', data)
|
|
||||||
|
|
||||||
let list: any = data.BusinessTradeRank
|
let list: any = data.BusinessTradeRank
|
||||||
let seriesData: any = []
|
let seriesData: any = []
|
||||||
|
|||||||
@ -29,7 +29,6 @@ const handleGetServiceBusyData = async () => {
|
|||||||
}
|
}
|
||||||
// const data = await handleGetCurHalfCollect(req)
|
// const data = await handleGetCurHalfCollect(req)
|
||||||
const data = await handleGetCurBusyRank(req)
|
const data = await handleGetCurBusyRank(req)
|
||||||
console.log('服务区繁忙度数据:', data);
|
|
||||||
let list: any = data.List
|
let list: any = data.List
|
||||||
// 营收排行
|
// 营收排行
|
||||||
const revenueReq: any = {
|
const revenueReq: any = {
|
||||||
|
|||||||
@ -153,7 +153,6 @@ onMounted(async () => {
|
|||||||
type: 'line' // 改为线条指示器
|
type: 'line' // 改为线条指示器
|
||||||
},
|
},
|
||||||
formatter: function (params: any) {
|
formatter: function (params: any) {
|
||||||
console.log('paramsparamsparamsparams', params);
|
|
||||||
|
|
||||||
return `<div>
|
return `<div>
|
||||||
<div>${params[0].name}时:</div>
|
<div>${params[0].name}时:</div>
|
||||||
@ -203,7 +202,6 @@ const handleGetData = async () => {
|
|||||||
Serverpart_ID: ''
|
Serverpart_ID: ''
|
||||||
}
|
}
|
||||||
const data = await handleGetTransactionConvert(req)
|
const data = await handleGetTransactionConvert(req)
|
||||||
console.log('jfidsafuidsopfjsdflksjdfds', data);
|
|
||||||
|
|
||||||
|
|
||||||
let carList = data.BayonetList.data
|
let carList = data.BayonetList.data
|
||||||
@ -234,7 +232,6 @@ const handleGetData = async () => {
|
|||||||
orderResList: orderResList,
|
orderResList: orderResList,
|
||||||
orderRealResList: orderRealResList
|
orderRealResList: orderRealResList
|
||||||
}
|
}
|
||||||
console.log('resresresresres', res);
|
|
||||||
|
|
||||||
|
|
||||||
return res
|
return res
|
||||||
|
|||||||
@ -42,7 +42,8 @@ onMounted(async () => {
|
|||||||
// 拿到数据
|
// 拿到数据
|
||||||
const handleGetData = async () => {
|
const handleGetData = async () => {
|
||||||
const req: any = {
|
const req: any = {
|
||||||
ProvinceCode: '530000'
|
ProvinceCode: '530000',
|
||||||
|
GetFromRedis: true
|
||||||
}
|
}
|
||||||
const data = await handleGetProjectSummaryInfo(req)
|
const data = await handleGetProjectSummaryInfo(req)
|
||||||
|
|
||||||
@ -156,7 +157,7 @@ onBeforeUnmount(() => {
|
|||||||
<div class="ContractInformationBigRightText">
|
<div class="ContractInformationBigRightText">
|
||||||
<span class="ContractInformationBigRightSmallLabel">签约合同</span>
|
<span class="ContractInformationBigRightSmallLabel">签约合同</span>
|
||||||
<span class="ContractInformationBigRightValue">{{ realDataObj?.Contract_SignCount || ''
|
<span class="ContractInformationBigRightValue">{{ realDataObj?.Contract_SignCount || ''
|
||||||
}}</span>
|
}}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
.CustomerAgeGroupBox {
|
.CustomerAgeGroupBox {
|
||||||
width: calc((100% - 28px) / 3);
|
width: calc((100% - 28px) / 4);
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
height: 210px;
|
height: 210px;
|
||||||
|
|
||||||
|
|||||||
@ -75,13 +75,16 @@ const handleGoMounted = async () => {
|
|||||||
},
|
},
|
||||||
yAxis: {
|
yAxis: {
|
||||||
type: 'value',
|
type: 'value',
|
||||||
name: "万辆",
|
name: "客单占比(%)",
|
||||||
axisLine: {
|
axisLine: {
|
||||||
show: true,
|
show: true,
|
||||||
lineStyle: {
|
lineStyle: {
|
||||||
color: '#fff'
|
color: '#fff'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
nameTextStyle: {
|
||||||
|
padding: [0, 0, 0, 30]
|
||||||
|
},
|
||||||
splitLine: { show: false } // 隐藏刻度线
|
splitLine: { show: false } // 隐藏刻度线
|
||||||
},
|
},
|
||||||
series: [
|
series: [
|
||||||
@ -130,7 +133,7 @@ const handleGoMounted = async () => {
|
|||||||
left: '0', // 左侧间距
|
left: '0', // 左侧间距
|
||||||
right: '0', // 右侧间距
|
right: '0', // 右侧间距
|
||||||
bottom: '0', // 底部间距
|
bottom: '0', // 底部间距
|
||||||
top: '10', // 顶部间距
|
top: '30', // 顶部间距
|
||||||
containLabel: true // 确保坐标轴标签在grid内
|
containLabel: true // 确保坐标轴标签在grid内
|
||||||
},
|
},
|
||||||
tooltip: { // 新增 tooltip 配置
|
tooltip: { // 新增 tooltip 配置
|
||||||
@ -145,7 +148,7 @@ const handleGoMounted = async () => {
|
|||||||
|
|
||||||
return `
|
return `
|
||||||
<div style="font-weight:bold">${data.name}</div>
|
<div style="font-weight:bold">${data.name}</div>
|
||||||
<div>车流量:${realData ? realData + '%' : data.value + '%'} </div>
|
<div>客单占比:${realData ? realData + '%' : data.value + '%'} </div>
|
||||||
`;
|
`;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@ -75,7 +75,7 @@ const handleGoMounted = async () => {
|
|||||||
// 中心文字(叠加在图片上)
|
// 中心文字(叠加在图片上)
|
||||||
type: 'text',
|
type: 'text',
|
||||||
style: {
|
style: {
|
||||||
text: `${dailyDetailObj.value.CompleteRate || '-'}`, // 要显示的文字内容
|
text: `${dailyDetailObj.value.CompleteRate || '-'}%`, // 要显示的文字内容
|
||||||
font: 'bold 20px Arial', // 字体样式
|
font: 'bold 20px Arial', // 字体样式
|
||||||
fill: '#FFFFFF', // 文字颜色
|
fill: '#FFFFFF', // 文字颜色
|
||||||
textAlign: 'center',
|
textAlign: 'center',
|
||||||
@ -135,9 +135,10 @@ watch(
|
|||||||
const handleGetData = async () => {
|
const handleGetData = async () => {
|
||||||
|
|
||||||
const req: any = {
|
const req: any = {
|
||||||
StartDate: '2025-01-01',
|
StartDate: moment().subtract(1, 'd').startOf('M').format('YYYY-MM-DD'),
|
||||||
EndDate: '2025-01-01',
|
EndDate: moment().subtract(1, 'd').endOf('M').format('YYYY-MM-DD'),
|
||||||
provinceCode: "340000"
|
// provinceCode: "340000"
|
||||||
|
provinceCode: "530000"
|
||||||
}
|
}
|
||||||
|
|
||||||
const data = await handleGetPatrolAnalysis(req)
|
const data = await handleGetPatrolAnalysis(req)
|
||||||
|
|||||||
@ -101,7 +101,7 @@ onMounted(async () => {
|
|||||||
const handleGetSectionFlowCount = async () => {
|
const handleGetSectionFlowCount = async () => {
|
||||||
|
|
||||||
const req: any = {
|
const req: any = {
|
||||||
|
GetFromRedis: true
|
||||||
}
|
}
|
||||||
const data = await handleGetProjectYearlyArrearageList(req)
|
const data = await handleGetProjectYearlyArrearageList(req)
|
||||||
console.log('handleGetProjectYearlyArrearageListhandleGetProjectYearlyArrearageListhandleGetProjectYearlyArrearageList', data);
|
console.log('handleGetProjectYearlyArrearageListhandleGetProjectYearlyArrearageListhandleGetProjectYearlyArrearageList', data);
|
||||||
|
|||||||
@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
.FestivalRevenue {
|
.FestivalRevenue {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 220px;
|
height: 260px;
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -14,7 +14,7 @@ import { handleGetHolidayAnalysis, handleGetHolidayDailyAnalysis } from '../../s
|
|||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
|
|
||||||
// 注册组件
|
// 注册组件
|
||||||
echarts.use([
|
echarts.use([
|
||||||
LineChart,
|
LineChart,
|
||||||
GridComponent,
|
GridComponent,
|
||||||
TitleComponent,
|
TitleComponent,
|
||||||
@ -88,7 +88,7 @@ const handleGoMounted = async () => {
|
|||||||
},
|
},
|
||||||
yAxis: {
|
yAxis: {
|
||||||
type: 'value',
|
type: 'value',
|
||||||
name: '万元',
|
name: '营收(万元)',
|
||||||
splitLine: { show: false },
|
splitLine: { show: false },
|
||||||
|
|
||||||
axisLabel: {
|
axisLabel: {
|
||||||
@ -175,8 +175,8 @@ const handleGetData = async () => {
|
|||||||
let lastYearDateList: any = []
|
let lastYearDateList: any = []
|
||||||
|
|
||||||
const req: any = {
|
const req: any = {
|
||||||
// pushProvinceCode: 530000,
|
pushProvinceCode: 530000,
|
||||||
pushProvinceCode: 340000,
|
// pushProvinceCode: 340000,
|
||||||
curYear: moment().format('YYYY'),
|
curYear: moment().format('YYYY'),
|
||||||
compareYear: moment().subtract(1, 'y').format('YYYY'),
|
compareYear: moment().subtract(1, 'y').format('YYYY'),
|
||||||
HolidayType: props?.FestivalValue || 5,
|
HolidayType: props?.FestivalValue || 5,
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
.GenderCustomerGroupBox {
|
.GenderCustomerGroupBox {
|
||||||
width: calc((100% - 28px) / 3);
|
width: calc((100% - 28px) / 4);
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
height: 210px;
|
height: 210px;
|
||||||
|
|
||||||
|
|||||||
@ -167,7 +167,7 @@ const handleGetData = async () => {
|
|||||||
|
|
||||||
if (data && data.length > 0) {
|
if (data && data.length > 0) {
|
||||||
data.forEach((item: any) => {
|
data.forEach((item: any) => {
|
||||||
category.push(item.StatisticsMonth)
|
category.push(`${item.StatisticsMonth}月`)
|
||||||
TicketCountData.push(item.TicketCount)
|
TicketCountData.push(item.TicketCount)
|
||||||
SellAmountData.push(item.SellAmount)
|
SellAmountData.push(item.SellAmount)
|
||||||
})
|
})
|
||||||
|
|||||||
@ -49,8 +49,10 @@ onMounted(async () => {
|
|||||||
fontSize: 14
|
fontSize: 14
|
||||||
},
|
},
|
||||||
formatter: function (params: any) {
|
formatter: function (params: any) {
|
||||||
|
console.log('params', params);
|
||||||
|
|
||||||
return `
|
return `
|
||||||
<div style="font-weight:bold">${params.name} ${params.value}%</div>
|
<div>${params.name}${params.percent}%</div>
|
||||||
`;
|
`;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -106,6 +108,7 @@ const handleGetData = async () => {
|
|||||||
// 拿到现在的到期金额收款进度
|
// 拿到现在的到期金额收款进度
|
||||||
const req: any = {
|
const req: any = {
|
||||||
ProvinceCode: '530000',
|
ProvinceCode: '530000',
|
||||||
|
GetFromRedis: true
|
||||||
}
|
}
|
||||||
|
|
||||||
const data = await handleGetContractExpiredInfo(req)
|
const data = await handleGetContractExpiredInfo(req)
|
||||||
@ -114,7 +117,7 @@ const handleGetData = async () => {
|
|||||||
receivePayment.value = data
|
receivePayment.value = data
|
||||||
|
|
||||||
let category: string[] = ["未到期金额", "到期金额"]
|
let category: string[] = ["未到期金额", "到期金额"]
|
||||||
let seriesData: number[] = [data.UnExpired_Amount, data.Expired_Amount]
|
let seriesData: any = [{ name: '未到期金额', value: Number(data.UnExpired_Amount.toFixed(2)) }, { name: '到期金额', value: Number(data.Expired_Amount.toFixed(2)) }]
|
||||||
let realData: string[] = []
|
let realData: string[] = []
|
||||||
|
|
||||||
|
|
||||||
@ -148,10 +151,10 @@ onBeforeUnmount(() => {
|
|||||||
<div class="boxTopLeft">到期金额收款进度</div>
|
<div class="boxTopLeft">到期金额收款进度</div>
|
||||||
<div class="boxTopRight">
|
<div class="boxTopRight">
|
||||||
<span class="progressBoxrightLabel">总金额:</span>
|
<span class="progressBoxrightLabel">总金额:</span>
|
||||||
<span class="progressBoxrightValue">{{ receivePayment?.Paid_Amount ? receivePayment?.Paid_Amount :
|
<span class="progressBoxrightValue">{{ receivePayment?.Paid_Amount ? receivePayment?.Paid_Amount.toFixed(2) :
|
||||||
""
|
""
|
||||||
}}</span>
|
}}</span>
|
||||||
<span class="progressBoxrightUnit">万元</span>
|
<span class="progressBoxrightUnit">万元</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -171,8 +174,8 @@ onBeforeUnmount(() => {
|
|||||||
<div class="itemName">未到期金额</div>
|
<div class="itemName">未到期金额</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="progressPieItemRight">
|
<div class="progressPieItemRight">
|
||||||
<div class="itemValue">{{ receivePayment?.UnExpired_Amount }}</div>
|
<div class="itemValue">{{ Number(receivePayment?.UnExpired_Amount.toFixed(2)) }}</div>
|
||||||
<div class="itemUnit">元</div>
|
<div class="itemUnit">万元</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="progressPieItem">
|
<div class="progressPieItem">
|
||||||
@ -181,8 +184,8 @@ onBeforeUnmount(() => {
|
|||||||
<div class="itemName">到期金额</div>
|
<div class="itemName">到期金额</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="progressPieItemRight">
|
<div class="progressPieItemRight">
|
||||||
<div class="itemValue">{{ receivePayment?.Expired_Amount }}</div>
|
<div class="itemValue">{{ Number(receivePayment?.Expired_Amount.toFixed(2)) }}</div>
|
||||||
<div class="itemUnit">元</div>
|
<div class="itemUnit">万元</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
.PreferenceTypeBox {
|
.PreferenceTypeBox {
|
||||||
// width: 50%;
|
// width: 50%;
|
||||||
width: calc((100% - 28px) / 3 * 2);
|
width: calc((100% - 28px) / 4 * 2);
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
height: 210px;
|
height: 210px;
|
||||||
|
|
||||||
|
|||||||
@ -42,7 +42,8 @@ onMounted(async () => {
|
|||||||
// 拿到数据
|
// 拿到数据
|
||||||
const handleGetData = async () => {
|
const handleGetData = async () => {
|
||||||
const req: any = {
|
const req: any = {
|
||||||
ProvinceCode: '530000'
|
ProvinceCode: '530000',
|
||||||
|
GetFromRedis: true
|
||||||
}
|
}
|
||||||
const data = await handleGetProjectSummaryInfo(req)
|
const data = await handleGetProjectSummaryInfo(req)
|
||||||
|
|
||||||
@ -175,7 +176,7 @@ onBeforeUnmount(() => {
|
|||||||
<div class="SignedClientsSmallLeft" id="SignedClients1"></div>
|
<div class="SignedClientsSmallLeft" id="SignedClients1"></div>
|
||||||
<div class="SignedClientsSmallRight">
|
<div class="SignedClientsSmallRight">
|
||||||
<div class="SignedClientsSmallRightLeft">
|
<div class="SignedClientsSmallRightLeft">
|
||||||
<div class="SignedClientsSmallRightLeftTop">合作分成</div>
|
<div class="SignedClientsSmallRightLeftTop">联合经营</div>
|
||||||
<div class="SignedClientsSmallRightLeftBottom">
|
<div class="SignedClientsSmallRightLeftBottom">
|
||||||
<span class="SignedClientsSmallRightLeftBottomNormalText">欠款商户</span>
|
<span class="SignedClientsSmallRightLeftBottomNormalText">欠款商户</span>
|
||||||
<span class="SignedClientsSmallRightLeftBottomValue">{{
|
<span class="SignedClientsSmallRightLeftBottomValue">{{
|
||||||
@ -201,7 +202,7 @@ onBeforeUnmount(() => {
|
|||||||
<div class="SignedClientsSmallLeft" id="SignedClients2"></div>
|
<div class="SignedClientsSmallLeft" id="SignedClients2"></div>
|
||||||
<div class="SignedClientsSmallRight">
|
<div class="SignedClientsSmallRight">
|
||||||
<div class="SignedClientsSmallRightLeft">
|
<div class="SignedClientsSmallRightLeft">
|
||||||
<div class="SignedClientsSmallRightLeftTop">固定租金</div>
|
<div class="SignedClientsSmallRightLeftTop">委托运营管理</div>
|
||||||
<div class="SignedClientsSmallRightLeftBottom">
|
<div class="SignedClientsSmallRightLeftBottom">
|
||||||
<span class="SignedClientsSmallRightLeftBottomNormalText">欠款商户</span>
|
<span class="SignedClientsSmallRightLeftBottomNormalText">欠款商户</span>
|
||||||
<span class="SignedClientsSmallRightLeftBottomValue">{{ FixedRent?.ArrearageMerchant_Count
|
<span class="SignedClientsSmallRightLeftBottomValue">{{ FixedRent?.ArrearageMerchant_Count
|
||||||
|
|||||||
@ -60,7 +60,7 @@ onMounted(async () => {
|
|||||||
},
|
},
|
||||||
formatter: function (params: any) { // 自定义提示框内容
|
formatter: function (params: any) { // 自定义提示框内容
|
||||||
return `
|
return `
|
||||||
<div style="font-weight:bold">${params.data.name} ${params?.percent}% ${res.realData[params.dataIndex]}</div>
|
<div style="font-weight:bold">${params.data.name} ${params?.percent}%</div>
|
||||||
`;
|
`;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@ -76,15 +76,33 @@ onMounted(async () => {
|
|||||||
type: 'shadow'
|
type: 'shadow'
|
||||||
},
|
},
|
||||||
axisLabel: {
|
axisLabel: {
|
||||||
|
color: '#fff',
|
||||||
interval: 0, // 强制显示所有标签
|
interval: 0, // 强制显示所有标签
|
||||||
rotate: 0, // 如果标签过多,可以旋转角度(可选)
|
rotate: 0, // 如果标签过多,可以旋转角度(可选)
|
||||||
fontSize: 10 // 调整字体大小(可选)
|
fontSize: 10 // 调整字体大小(可选)
|
||||||
}
|
},
|
||||||
|
axisLine: {
|
||||||
|
lineStyle: {
|
||||||
|
color: '#fff' // 设置 y 轴线颜色为白色(可选)
|
||||||
|
}
|
||||||
|
},
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
yAxis: {
|
yAxis: {
|
||||||
|
name: '已收金额(元)',
|
||||||
type: 'value',
|
type: 'value',
|
||||||
splitLine: { show: false } // 隐藏刻度线
|
splitLine: { show: false }, // 隐藏刻度线
|
||||||
|
nameTextStyle: {
|
||||||
|
padding: [0, 0, 0, 20]
|
||||||
|
},
|
||||||
|
axisLabel: {
|
||||||
|
color: '#fff',
|
||||||
|
},
|
||||||
|
axisLine: {
|
||||||
|
lineStyle: {
|
||||||
|
color: '#fff' // 设置 y 轴线颜色为白色(可选)
|
||||||
|
}
|
||||||
|
},
|
||||||
},
|
},
|
||||||
series: [
|
series: [
|
||||||
{
|
{
|
||||||
@ -110,6 +128,7 @@ onMounted(async () => {
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
data: res.seriesData
|
data: res.seriesData
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -146,7 +165,8 @@ const handleGetSectionFlowCount = async () => {
|
|||||||
|
|
||||||
const req: any = {
|
const req: any = {
|
||||||
ProvinceCode: "530000",
|
ProvinceCode: "530000",
|
||||||
StatisticsYear: moment().subtract(1, 'd').format('YYYY')
|
StatisticsYear: moment().subtract(1, 'd').format('YYYY'),
|
||||||
|
GetFromRedis: true
|
||||||
}
|
}
|
||||||
const data = await handleGetProjectMonthlyArrearageList(req)
|
const data = await handleGetProjectMonthlyArrearageList(req)
|
||||||
|
|
||||||
|
|||||||
@ -16,6 +16,8 @@
|
|||||||
padding: 10px 15px;
|
padding: 10px 15px;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
background: linear-gradient(0, rgba(0, 148, 255, 0.1) 0%, rgba(0, 148, 255, 0) 100%);
|
||||||
|
|
||||||
|
|
||||||
.TradingAlertItemLeft {
|
.TradingAlertItemLeft {
|
||||||
width: 46px;
|
width: 46px;
|
||||||
@ -30,6 +32,7 @@
|
|||||||
|
|
||||||
.TradingAlertItemRight {
|
.TradingAlertItemRight {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
|
|
||||||
.TradingAlertItemRightLabel {
|
.TradingAlertItemRightLabel {
|
||||||
font-family: Microsoft YaHei, Microsoft YaHei;
|
font-family: Microsoft YaHei, Microsoft YaHei;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
@ -39,15 +42,34 @@
|
|||||||
font-style: normal;
|
font-style: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
.TradingAlertItemRightValue {
|
.TradingAlertItemRightValueBox {
|
||||||
font-family: Impact, Impact;
|
display: flex;
|
||||||
font-weight: 400;
|
align-items: flex-end;
|
||||||
font-size: 25px;
|
justify-content: flex-end;
|
||||||
color: #FFFFFF;
|
|
||||||
letter-spacing: 2px;
|
.TradingAlertItemRightValue {
|
||||||
text-align: right;
|
font-family: Impact, Impact;
|
||||||
font-style: normal;
|
font-weight: 400;
|
||||||
|
font-size: 25px;
|
||||||
|
color: #FFFFFF;
|
||||||
|
letter-spacing: 2px;
|
||||||
|
text-align: right;
|
||||||
|
font-style: normal;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.OverviewOfServiceAreaBusyContentItemRightUnit {
|
||||||
|
font-family: Inter, Inter;
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 12px;
|
||||||
|
color: #808A96;
|
||||||
|
text-align: right;
|
||||||
|
font-style: normal;
|
||||||
|
text-transform: none;
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -52,21 +52,28 @@ const handleGetData = async () => {
|
|||||||
<div class="TradingAlertBox">
|
<div class="TradingAlertBox">
|
||||||
<div class="TradingAlertItem">
|
<div class="TradingAlertItem">
|
||||||
<div class="TradingAlertItemLeft">
|
<div class="TradingAlertItemLeft">
|
||||||
<div class="TradingAlertItemLeftIcon"></div>
|
<img class="TradingAlertItemLeftIcon" src="../../../../assets/image/busyIcon.png" />
|
||||||
</div>
|
</div>
|
||||||
<div class="TradingAlertItemRight">
|
<div class="TradingAlertItemRight">
|
||||||
<div class="TradingAlertItemRightLabel">必查项</div>
|
<div class="TradingAlertItemRightLabel">必查项</div>
|
||||||
<div class="TradingAlertItemRightValue">{{ TradingOtherData?.value || '' }}</div>
|
<div class="TradingAlertItemRightValueBox">
|
||||||
|
<div class="TradingAlertItemRightValue">{{ TradingOtherData?.value || '' }}</div>
|
||||||
|
<div class="OverviewOfServiceAreaBusyContentItemRightUnit">项</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="TradingAlertItem">
|
<div class="TradingAlertItem">
|
||||||
<div class="TradingAlertItemLeft">
|
<div class="TradingAlertItemLeft">
|
||||||
<div class=""></div>
|
<img class="TradingAlertItemLeftIcon" src="../../../../assets/image/normalIcon.png" />
|
||||||
</div>
|
</div>
|
||||||
<div class="TradingAlertItemRight">
|
<div class="TradingAlertItemRight">
|
||||||
<div class="TradingAlertItemRightLabel">抽查项</div>
|
<div class="TradingAlertItemRightLabel">抽查项</div>
|
||||||
<div class="TradingAlertItemRightValue">{{ TradingOtherData?.data || '' }}</div>
|
<div class="TradingAlertItemRightValueBox">
|
||||||
|
<div class="TradingAlertItemRightValue">{{ TradingOtherData?.data || '' }}</div>
|
||||||
|
<div class="OverviewOfServiceAreaBusyContentItemRightUnit">项</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
.TrendOfTrafficFlowBox {
|
.TrendOfTrafficFlowBox {
|
||||||
width: 100%;
|
// width: 100%;
|
||||||
|
width: calc((100vw - 90px) / 4 - 35px);
|
||||||
|
|
||||||
.TrendOfTrafficFlowCharts {
|
.TrendOfTrafficFlowCharts {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
.VehicleModelStayBox {
|
.VehicleModelStayBox {
|
||||||
width: 100%;
|
// width: 100%;
|
||||||
|
width: calc((100vw - 90px) / 4 - 35px);
|
||||||
|
|
||||||
|
|
||||||
.VehicleModelStayCharts {
|
.VehicleModelStayCharts {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|||||||
@ -173,7 +173,8 @@ const handleGetData = async () => {
|
|||||||
|
|
||||||
const req: any = {
|
const req: any = {
|
||||||
StatisticsDate: moment().format('YYYY'),
|
StatisticsDate: moment().format('YYYY'),
|
||||||
ProvinceCode: '340000',
|
// ProvinceCode: '340000',
|
||||||
|
ProvinceCode: '530000',
|
||||||
StatisticsType: 4,
|
StatisticsType: 4,
|
||||||
}
|
}
|
||||||
const data = await handleGetRevenueTrend(req)
|
const data = await handleGetRevenueTrend(req)
|
||||||
@ -188,7 +189,8 @@ const handleGetData = async () => {
|
|||||||
|
|
||||||
const lastYearReq: any = {
|
const lastYearReq: any = {
|
||||||
StatisticsDate: moment().subtract(1, 'y').format('YYYY'),
|
StatisticsDate: moment().subtract(1, 'y').format('YYYY'),
|
||||||
ProvinceCode: '340000',
|
// ProvinceCode: '340000',
|
||||||
|
ProvinceCode: '530000',
|
||||||
StatisticsType: 4,
|
StatisticsType: 4,
|
||||||
}
|
}
|
||||||
const lastYearData = await handleGetRevenueTrend(lastYearReq)
|
const lastYearData = await handleGetRevenueTrend(lastYearReq)
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import './noticeListBox.less'
|
import './noticeListBox.less'
|
||||||
import noticeIcon from '../../../../assets/image/noticeIcon.png'
|
import noticeIcon from '../../../../assets/image/noticeIcon.png'
|
||||||
import { nextTick, onMounted, reactive, ref, watch } from 'vue'
|
import { nextTick, onMounted, onUnmounted, reactive, ref, watch } from 'vue'
|
||||||
import { handleGetGDNearServiceList } from '../../service'
|
import { handleGetGDNearServiceList } from '../../service'
|
||||||
|
|
||||||
|
|
||||||
@ -23,6 +23,7 @@ onMounted(async () => {
|
|||||||
// 传入的数据
|
// 传入的数据
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
currentService?: any;
|
currentService?: any;
|
||||||
|
selectPageTab?: number
|
||||||
}>();
|
}>();
|
||||||
|
|
||||||
// 监听传入的选中服务区
|
// 监听传入的选中服务区
|
||||||
@ -35,7 +36,17 @@ watch(
|
|||||||
},
|
},
|
||||||
{ deep: true }
|
{ deep: true }
|
||||||
);
|
);
|
||||||
|
// 监听传入的选中服务区
|
||||||
|
watch(
|
||||||
|
() => props.selectPageTab,
|
||||||
|
(newVal, oldVal) => {
|
||||||
|
// 获取播报数据
|
||||||
|
handleGetNoticeList()
|
||||||
|
// 获取播报数据
|
||||||
|
startScrolling()
|
||||||
|
},
|
||||||
|
{ deep: true }
|
||||||
|
);
|
||||||
|
|
||||||
// 获取播报数据
|
// 获取播报数据
|
||||||
const handleGetNoticeList = async () => {
|
const handleGetNoticeList = async () => {
|
||||||
@ -65,7 +76,7 @@ const handleGetNoticeList = async () => {
|
|||||||
const startScrolling = () => {
|
const startScrolling = () => {
|
||||||
isScrolling.value = false;
|
isScrolling.value = false;
|
||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
const listEl = document.querySelector('.noticeList') as HTMLElement;
|
const listEl = document.querySelector(`.noticeList${props.selectPageTab}`) as HTMLElement;
|
||||||
if (listEl) {
|
if (listEl) {
|
||||||
const originWidth = listEl.scrollWidth / 2;
|
const originWidth = listEl.scrollWidth / 2;
|
||||||
const speed = 100; // px/s
|
const speed = 100; // px/s
|
||||||
@ -121,6 +132,20 @@ const stopScrolling = () => {
|
|||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
onUnmounted(() => {
|
||||||
|
// // 清理定时器等资源
|
||||||
|
// if (scrollTimer) {
|
||||||
|
// clearInterval(scrollTimer)
|
||||||
|
// }
|
||||||
|
// 停止滚动
|
||||||
|
stopScrolling();
|
||||||
|
|
||||||
|
// 清除动态添加的样式标签
|
||||||
|
const styleEl = document.getElementById('dynamic-scroll-keyframes');
|
||||||
|
if (styleEl) {
|
||||||
|
styleEl.remove();
|
||||||
|
}
|
||||||
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
@ -129,7 +154,8 @@ const stopScrolling = () => {
|
|||||||
<div class="noticeListBigBox">
|
<div class="noticeListBigBox">
|
||||||
<img class="noticeIcon" :src="noticeIcon" />
|
<img class="noticeIcon" :src="noticeIcon" />
|
||||||
<div class="noticeListBox">
|
<div class="noticeListBox">
|
||||||
<div :class="['noticeList', { 'scrolling': isScrolling }]" :style="{ '--scroll-duration': scrollDuration }">
|
<div :class="['noticeList', `noticeList${props.selectPageTab}`, { 'scrolling': isScrolling }]"
|
||||||
|
:style="{ '--scroll-duration': scrollDuration }">
|
||||||
<div class="noticeItem" v-for="(item, index) in noticeList.concat(noticeList)" :key="index">
|
<div class="noticeItem" v-for="(item, index) in noticeList.concat(noticeList)" :key="index">
|
||||||
<div class="icon"></div>
|
<div class="icon"></div>
|
||||||
<div class="contentMessage">
|
<div class="contentMessage">
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
.supplierListItem {
|
.supplierListItem {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 86px;
|
// height: 86px;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: 10px 20px;
|
padding: 10px 20px;
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
@ -31,22 +31,41 @@
|
|||||||
// }
|
// }
|
||||||
|
|
||||||
.supplierListRight {
|
.supplierListRight {
|
||||||
// flex: 1;
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: 10px 0;
|
padding: 10px 0;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
|
||||||
.supplierListName {
|
.supplierListNamebox {
|
||||||
font-family: Microsoft YaHei, Microsoft YaHei;
|
width: 60%;
|
||||||
font-weight: 400;
|
display: flex;
|
||||||
font-size: 12px;
|
align-items: center;
|
||||||
color: #FFFFFF;
|
|
||||||
text-align: left;
|
.supplierListIcon {
|
||||||
font-style: normal;
|
width: 17px;
|
||||||
|
height: 14px;
|
||||||
|
margin-right: 7px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.supplierListName {
|
||||||
|
width: calc(100% - 24px);
|
||||||
|
font-family: Microsoft YaHei, Microsoft YaHei;
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 12px;
|
||||||
|
color: #FFFFFF;
|
||||||
|
text-align: left;
|
||||||
|
font-style: normal;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.supplierListContent {
|
.supplierListContent {
|
||||||
margin-top: 12px;
|
// margin-top: 12px;
|
||||||
|
|
||||||
.shopIcon {
|
.shopIcon {
|
||||||
width: 12px;
|
width: 12px;
|
||||||
@ -55,7 +74,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.shopValue {
|
.shopValue {
|
||||||
width: 60px;
|
width: 50px;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
font-family: Impact, Impact;
|
font-family: Impact, Impact;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
@ -68,7 +87,19 @@
|
|||||||
margin-right: 4px;
|
margin-right: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.shopLabel {
|
||||||
|
width: 50px;
|
||||||
|
display: inline-block;
|
||||||
|
font-family: Source Han Sans SC;
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #B2B2B2;
|
||||||
|
line-height: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
.shopUnit {
|
.shopUnit {
|
||||||
|
width: 20px;
|
||||||
|
display: inline-block;
|
||||||
font-family: Microsoft YaHei, Microsoft YaHei;
|
font-family: Microsoft YaHei, Microsoft YaHei;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
|
|||||||
@ -3,7 +3,7 @@ import { onMounted, ref } from 'vue';
|
|||||||
import './supplierListBox.less'
|
import './supplierListBox.less'
|
||||||
import shopIcon from '../../../../assets/image/shopIcon.png'
|
import shopIcon from '../../../../assets/image/shopIcon.png'
|
||||||
import { handleGetSupplierList, handleGetSupplierListChain } from '../../service';
|
import { handleGetSupplierList, handleGetSupplierListChain } from '../../service';
|
||||||
|
import supplierIcon from '../../../../assets/image/supplierIcon.png'
|
||||||
|
|
||||||
// 供应商列表
|
// 供应商列表
|
||||||
let supplierList = ref<any>([])
|
let supplierList = ref<any>([])
|
||||||
@ -23,7 +23,7 @@ const handleGetData = async () => {
|
|||||||
const data = await handleGetSupplierListChain(req)
|
const data = await handleGetSupplierListChain(req)
|
||||||
console.log('handleGetSupplierListChainhandleGetSupplierListChain', data);
|
console.log('handleGetSupplierListChainhandleGetSupplierListChain', data);
|
||||||
|
|
||||||
supplierList.value = data.slice(0, 9)
|
supplierList.value = data.slice(0, 11)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -37,12 +37,19 @@ const handleGetData = async () => {
|
|||||||
</div> -->
|
</div> -->
|
||||||
|
|
||||||
<div class="supplierListRight">
|
<div class="supplierListRight">
|
||||||
<div class="supplierListName">{{ item.SupplierName || '' }}</div>
|
<div class="supplierListNamebox">
|
||||||
|
<img class="supplierListIcon" :src="supplierIcon" />
|
||||||
|
<div class="supplierListName">{{ item.SupplierName || '' }}</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="supplierListContent">
|
<div class="supplierListContent">
|
||||||
<img class="shopIcon" :src="shopIcon" />
|
<!-- <img class="shopIcon" :src="shopIcon" /> -->
|
||||||
<span class="shopValue">{{ item.VarietyCount }}</span>
|
<span class="shopValue">{{ item.VarietyCount }}</span>
|
||||||
<span class="shopUnit">种</span>
|
<span class="shopUnit">种</span>
|
||||||
|
|
||||||
|
<!-- <span class="shopLabel">送达率</span>
|
||||||
|
<span class="shopValue">{{ item.DeliverRate || '-' }}</span>
|
||||||
|
<span class="shopUnit">%</span> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -114,41 +114,48 @@ const handleChangePageTab = (value: number) => {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 分区一 -->
|
<!-- 分区一 -->
|
||||||
<div class="content169" v-if="selectPageTab === 1">
|
<div class="content169" v-show="selectPageTab === 1 || selectPageTab === 3">
|
||||||
<div class="content169Left">
|
<div class="content169Left">
|
||||||
<!-- 消息轮播框 -->
|
<!-- 消息轮播框 -->
|
||||||
<NoticeListBox :currentService="currentService" />
|
<NoticeListBox v-if="selectPageTab === 1" :currentService="currentService"
|
||||||
|
:selectPageTab="selectPageTab" />
|
||||||
|
|
||||||
<!-- <modalTitle :title="'流量趋势'" style="margin-top: 20px;" /> -->
|
<!-- <modalTitle :title="'流量趋势'" style="margin-top: 20px;" /> -->
|
||||||
<div class="content169LeftContent">
|
|
||||||
<!-- 服务区概况 -->
|
|
||||||
<OverviewOfServiceArea />
|
|
||||||
|
|
||||||
<NewBigTitleBox :title="'特情事件'" style="margin-top: 15px;" />
|
<div v-show="selectPageTab === 1">
|
||||||
|
<div class="content169LeftContent">
|
||||||
|
<!-- 服务区概况 -->
|
||||||
|
<OverviewOfServiceArea />
|
||||||
|
|
||||||
<!-- 今日走势图 -->
|
<NewBigTitleBox :title="'特情事件'" style="margin-top: 15px;" />
|
||||||
<!-- <TodayTrend /> -->
|
|
||||||
|
|
||||||
<!-- 服务区繁忙排行 交易排行 -->
|
<!-- 今日走势图 -->
|
||||||
<!-- <BusyTradingRanking style="margin-top: 11px;" /> -->
|
<!-- <TodayTrend /> -->
|
||||||
|
|
||||||
<!-- 交易预警 -->
|
<!-- 服务区繁忙排行 交易排行 -->
|
||||||
<TradingAlert style="margin-top: 11px;" />
|
<!-- <BusyTradingRanking style="margin-top: 11px;" /> -->
|
||||||
|
|
||||||
|
<!-- 交易预警 -->
|
||||||
|
<TradingAlert style="margin-top: 11px;" />
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- <modalTitle :title="'节假日营收分析'" style="margin-top: 20px;">
|
<div v-if="selectPageTab === 3">
|
||||||
<template #extra>
|
<NewBigTitleBox title="应收账款" style="margin-top: 20px;" />
|
||||||
<div class="FestivalBox">
|
<div style="width: 100%;box-sizing: border-box;padding: 20px 11px;">
|
||||||
<el-select class="festivalSelect" v-model="FestivalValue" placeholder="Select"
|
<!-- 合同信息 -->
|
||||||
style="width: 72px;">
|
<ContractInformation />
|
||||||
<el-option v-for="item in FestivalOptions" :key="item.value" :label="item.label"
|
|
||||||
:value="item.value" />
|
<!-- 收款完成进度 -->
|
||||||
</el-select>
|
<PaymentProgress style="margin-top: 24px;" />
|
||||||
</div>
|
|
||||||
</template>
|
<!-- 收款预警 -->
|
||||||
</modalTitle> -->
|
<AccountsReceivableWarning style="margin-top: 24px;" />
|
||||||
<!-- 节假日营收分析 -->
|
</div>
|
||||||
<!-- <FestivalRevenue :currentService="currentService" /> -->
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="content169Center">
|
<div class="content169Center">
|
||||||
@ -167,30 +174,51 @@ const handleChangePageTab = (value: number) => {
|
|||||||
<!-- 时间天气等内容 -->
|
<!-- 时间天气等内容 -->
|
||||||
<BasicMessageBox :currentService="currentService" />
|
<BasicMessageBox :currentService="currentService" />
|
||||||
|
|
||||||
<NewBigTitleBox title="流量趋势" style="margin-top: 24px;" />
|
<div v-show="selectPageTab === 1">
|
||||||
|
<NewBigTitleBox title="流量趋势" style="margin-top: 24px;" />
|
||||||
|
|
||||||
<div class="content169LeftContent" style="margin-top: 21px;">
|
<div class="content169LeftContent" style="margin-top: 21px;">
|
||||||
<div class="leftContentBoxItem">
|
<div class="leftContentBoxItem">
|
||||||
<!-- 断面流量趋势 -->
|
<!-- 断面流量趋势 -->
|
||||||
<TrendOfTrafficFlow :currentService="currentService" />
|
<TrendOfTrafficFlow :currentService="currentService" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="leftContentBoxItem" style="margin-top: 23px;">
|
<div class="leftContentBoxItem" style="margin-top: 23px;">
|
||||||
<!-- 入区车流趋势 -->
|
<!-- 入区车流趋势 -->
|
||||||
<VehiclesEntering :currentService="currentService" />
|
<VehiclesEntering :currentService="currentService" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- <div class="leftContentBoxItem" style="margin-top: 30px;"> -->
|
<!-- <div class="leftContentBoxItem" style="margin-top: 30px;"> -->
|
||||||
<!-- 客流变化 -->
|
<!-- 客流变化 -->
|
||||||
<!-- <PassengerFlowChanges :currentService="currentService" /> -->
|
<!-- <PassengerFlowChanges :currentService="currentService" /> -->
|
||||||
<!-- </div> -->
|
<!-- </div> -->
|
||||||
|
|
||||||
|
|
||||||
<div class="leftContentBoxItem" style="margin-top: 33px;">
|
<div class="leftContentBoxItem" style="margin-top: 33px;">
|
||||||
<!-- 经营效益趋势 -->
|
<!-- 经营效益趋势 -->
|
||||||
<VehicleModelStay />
|
<VehicleModelStay />
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div v-if="selectPageTab === 3">
|
||||||
|
<NewBigTitleBox :title="'应收账款'" style="margin-top: 20px;" />
|
||||||
|
<div style="width: 100%;box-sizing: border-box;padding: 16px 11px 0;">
|
||||||
|
<!-- 签约客户 -->
|
||||||
|
<SignedClients />
|
||||||
|
|
||||||
|
<!-- 应收总额完成度 -->
|
||||||
|
<TotalAccountsReceivable style="margin-top: 35px;" />
|
||||||
|
|
||||||
|
<!-- 年度应收总额完成度 -->
|
||||||
|
<AnnualAccountsReceivable style="margin-top: 35px;" />
|
||||||
|
|
||||||
|
<!-- 详细款项完成进度 -->
|
||||||
|
<DetailedPayment style="margin-top: 35px;" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -202,7 +230,7 @@ const handleChangePageTab = (value: number) => {
|
|||||||
<div class="content1692st" v-if="selectPageTab === 2">
|
<div class="content1692st" v-if="selectPageTab === 2">
|
||||||
<div class="content1692stLeft">
|
<div class="content1692stLeft">
|
||||||
<!-- 消息轮播框 -->
|
<!-- 消息轮播框 -->
|
||||||
<NoticeListBox style="margin-top: 20px;width: 50%;" />
|
<NoticeListBox style="margin-top: 20px;width: 50%;" :selectPageTab="selectPageTab" />
|
||||||
<!-- 核心经营数据 -->
|
<!-- 核心经营数据 -->
|
||||||
<!-- <modalTitle :title="'核心经营数据'" style="margin-top: 20px;" /> -->
|
<!-- <modalTitle :title="'核心经营数据'" style="margin-top: 20px;" /> -->
|
||||||
<!-- <CoreBusinessData style="position: relative;z-index: 9;" :noTitle="true" /> -->
|
<!-- <CoreBusinessData style="position: relative;z-index: 9;" :noTitle="true" /> -->
|
||||||
@ -299,7 +327,7 @@ const handleChangePageTab = (value: number) => {
|
|||||||
<BusinessStructure :currentService="currentService" style="margin-top: 22px;" />
|
<BusinessStructure :currentService="currentService" style="margin-top: 22px;" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<NewBigTitleBox :title="'节假日营收分析'" style="margin-top: 34px;">
|
<NewBigTitleBox :title="'节假日营收分析'" style="margin-top: 44px;">
|
||||||
<template #extra>
|
<template #extra>
|
||||||
<div class="FestivalBox">
|
<div class="FestivalBox">
|
||||||
<el-select class="festivalSelect" v-model="FestivalValue" placeholder="Select"
|
<el-select class="festivalSelect" v-model="FestivalValue" placeholder="Select"
|
||||||
@ -338,10 +366,10 @@ const handleChangePageTab = (value: number) => {
|
|||||||
|
|
||||||
|
|
||||||
<!-- 分区三 -->
|
<!-- 分区三 -->
|
||||||
<div class="content1693st" v-if="selectPageTab === 3">
|
<div class="content1693st" v-if="selectPageTab === 99999">
|
||||||
<div class="content1693stItem">
|
<div class="content1693stItem">
|
||||||
<!-- 消息轮播框 -->
|
<!-- 消息轮播框 -->
|
||||||
<NoticeListBox :currentService="currentService" />
|
<NoticeListBox :currentService="currentService" :selectPageTab="selectPageTab" />
|
||||||
|
|
||||||
<NewBigTitleBox title="应收账款" style="margin-top: 20px;" />
|
<NewBigTitleBox title="应收账款" style="margin-top: 20px;" />
|
||||||
<div style="width: 100%;box-sizing: border-box;padding: 20px 11px;">
|
<div style="width: 100%;box-sizing: border-box;padding: 20px 11px;">
|
||||||
@ -421,7 +449,7 @@ const handleChangePageTab = (value: number) => {
|
|||||||
<div class="content1694st" v-if="selectPageTab === 4">
|
<div class="content1694st" v-if="selectPageTab === 4">
|
||||||
<div class="content1694stItem">
|
<div class="content1694stItem">
|
||||||
<!-- 消息轮播框 -->
|
<!-- 消息轮播框 -->
|
||||||
<NoticeListBox />
|
<NoticeListBox :selectPageTab="selectPageTab" />
|
||||||
|
|
||||||
<NewBigTitleBox :title="'管理运营监控'" style="margin-top: 29px;" />
|
<NewBigTitleBox :title="'管理运营监控'" style="margin-top: 29px;" />
|
||||||
|
|
||||||
|
|||||||
@ -443,6 +443,23 @@
|
|||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.FestivalBox {
|
||||||
|
padding-right: 20px;
|
||||||
|
|
||||||
|
.festivalSelect {
|
||||||
|
.el-select__wrapper {
|
||||||
|
background-color: #122849;
|
||||||
|
box-shadow: 0 0 0 1px #394051 inset;
|
||||||
|
|
||||||
|
.el-select__selection {
|
||||||
|
.el-select__selected-item {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user