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);
|
||||
} catch (error) {
|
||||
console.error('解密失败:', error);
|
||||
return '';
|
||||
}
|
||||
}
|
||||
@ -56,12 +56,12 @@ const handleGetData = async () => {
|
||||
let realData: string[] = []
|
||||
|
||||
const req: any = {
|
||||
// ProvinceCode: "530000",
|
||||
ProvinceCode: "340000",
|
||||
ProvinceCode: "530000",
|
||||
GetFromRedis: true
|
||||
// ProvinceCode: "340000",
|
||||
}
|
||||
const data = await handleGetProjectSummaryInfo(req)
|
||||
|
||||
console.log('dsajoidasjodasjoida', data);
|
||||
|
||||
// 应收账款预警
|
||||
let ArrearageList = data.ArrearageList
|
||||
@ -114,7 +114,7 @@ const handleHaveFirstPie = async () => {
|
||||
},
|
||||
formatter: function (params: any) {
|
||||
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 () => {
|
||||
let category: string[] = []
|
||||
let seriesData: number[] = []
|
||||
let seriesData: any = []
|
||||
let realData: string[] = []
|
||||
|
||||
const req: any = {
|
||||
// ProvinceCode: "530000",
|
||||
ProvinceCode: "340000",
|
||||
ProvinceCode: "530000",
|
||||
GetFromRedis: true
|
||||
// ProvinceCode: "340000",
|
||||
}
|
||||
const data = await handleGetContractExpiredInfo(req)
|
||||
|
||||
console.log('dasdasjdasoijdo', data);
|
||||
|
||||
// 应收账款预警
|
||||
let ContractHalfYearListExpired = data.ContractHalfYearListExpired
|
||||
@ -185,7 +185,7 @@ const handleGetDataSecond = async () => {
|
||||
if (ContractHalfYearListExpired && ContractHalfYearListExpired.length > 0) {
|
||||
ContractHalfYearListExpired.forEach((item: any) => {
|
||||
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',
|
||||
data: res.category,
|
||||
axisLabel: {
|
||||
color: '#fff',
|
||||
width: 80,
|
||||
overflow: 'truncate',
|
||||
ellipsis: '...',
|
||||
interval: 0
|
||||
},
|
||||
axisLine: {
|
||||
lineStyle: {
|
||||
color: '#fff' // 设置 y 轴线颜色为白色(可选)
|
||||
}
|
||||
}
|
||||
},
|
||||
xAxis: { // 改为 xAxis 显示数值
|
||||
type: 'value',
|
||||
name: "万元",
|
||||
splitLine: { show: false }
|
||||
splitLine: { show: false },
|
||||
axisLabel: {
|
||||
color: '#fff',
|
||||
formatter: '{value}' // 刻度值保持纯数字
|
||||
},
|
||||
axisLine: {
|
||||
lineStyle: {
|
||||
color: '#fff' // 设置 y 轴线颜色为白色(可选)
|
||||
}
|
||||
},
|
||||
},
|
||||
series: [
|
||||
{
|
||||
@ -121,10 +136,9 @@ const handleGetData = async () => {
|
||||
let seriesData: any = []
|
||||
|
||||
const req: any = {
|
||||
|
||||
GetFromRedis: true
|
||||
}
|
||||
const data = await handleGetProjectYearlyArrearageList(req)
|
||||
console.log('handleGetProjectYearlyArrearageListhandleGetProjectYearlyArrearageListhandleGetProjectYearlyArrearageList', data);
|
||||
|
||||
let list: any = data.ProjectMonthlyCompleteList.slice(0, 5)
|
||||
list.reverse()
|
||||
|
||||
@ -7,6 +7,7 @@
|
||||
|
||||
.AssessmentScoringRankingItem {
|
||||
width: 100%;
|
||||
height: 80px;
|
||||
box-sizing: border-box;
|
||||
padding: 11px 10px;
|
||||
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 req: any = {
|
||||
DataType: 1,
|
||||
StartMonth: "202501",
|
||||
EndMonth: "202501",
|
||||
StartMonth: "202505",
|
||||
EndMonth: "202505",
|
||||
provinceCode: "530000",
|
||||
}
|
||||
|
||||
const data = await handleGetExamineResultList(req)
|
||||
console.log('fjdisfjoasidfj', data);
|
||||
let list: any = data.slice(0, 5)
|
||||
if (list && list.length > 0) {
|
||||
rankList.value = list
|
||||
} else {
|
||||
rankList.value = [{}, {}, {}, {}, {}]
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
@ -153,7 +153,7 @@
|
||||
.brandRightBottomItem {
|
||||
font-family: Microsoft YaHei, Microsoft YaHei;
|
||||
font-weight: 400;
|
||||
font-size: 10px;
|
||||
font-size: 12px;
|
||||
color: #0094FF;
|
||||
text-align: center;
|
||||
font-style: normal;
|
||||
|
||||
@ -36,6 +36,8 @@ let selectTab = ref<number>(1)
|
||||
let allBrandList = ref<any>([])
|
||||
// 品牌列表数据
|
||||
let brandListData = ref<any>([])
|
||||
// 拿到全部类型的品牌数据
|
||||
let allBrandObjData = ref<any>()
|
||||
|
||||
// 传入的数据
|
||||
const props = defineProps<{
|
||||
@ -135,17 +137,15 @@ const handleGoMounted = async () => {
|
||||
// 拿到数据
|
||||
const handleGetData = async () => {
|
||||
// 拿到枚举数据
|
||||
const enumData: any = await handleGetFieldEnumTree({
|
||||
FieldExplainField: "BRAND_TYPE",
|
||||
sessionName: "BRAND_TYPE"
|
||||
})
|
||||
console.log('enumDataenumDataenumDataenumData', enumData);
|
||||
// const enumData: any = await handleGetFieldEnumTree({
|
||||
// FieldExplainField: "BRAND_TYPE",
|
||||
// sessionName: "BRAND_TYPE"
|
||||
// })
|
||||
|
||||
let req: any = {
|
||||
ProvinceCode: "530000"
|
||||
}
|
||||
const data = await handleGetBrandStructureAnalysis(req)
|
||||
console.log('datadatadatadatadata', data);
|
||||
let category: any = []
|
||||
let pieData: any = []
|
||||
if (data && data.length > 0) {
|
||||
@ -177,11 +177,8 @@ const handleGetData = async () => {
|
||||
// SERVERPART_IDS: props.currentService?.SERVERPART_ID || ""
|
||||
})
|
||||
|
||||
console.log('listDatalistDatalistData', listData);
|
||||
|
||||
let tableList: any = []
|
||||
|
||||
|
||||
if (listData && listData.length > 0) {
|
||||
listData.forEach((item: any) => {
|
||||
tableList.push({ label: item.AUTOSTATISTICS_NAME, value: item.AUTOSTATISTICS_ID })
|
||||
@ -190,7 +187,24 @@ const handleGetData = async () => {
|
||||
|
||||
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 = {
|
||||
category: category,// x轴的内容
|
||||
@ -209,15 +223,19 @@ const handleGetTableData = async (BRAND_INDUSTRY: number) => {
|
||||
// SERVERPART_IDS:""
|
||||
}
|
||||
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
|
||||
const handleChangeTab = async (value: number) => {
|
||||
if (allBrandObjData.value[tabList.value[value - 1].value]) {
|
||||
brandListData.value = []
|
||||
selectTab.value = value
|
||||
await handleGetTableData(tabList.value[value - 1].value)
|
||||
brandListData.value = allBrandObjData.value[tabList.value[value - 1].value]
|
||||
// await handleGetTableData(tabList.value[value - 1].value)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -112,12 +112,14 @@
|
||||
color: #78828E;
|
||||
text-align: left;
|
||||
font-style: normal;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.changeBox {
|
||||
margin-left: 5px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
.changeIcon {
|
||||
width: 6px;
|
||||
height: 8px;
|
||||
@ -257,18 +259,17 @@
|
||||
|
||||
.featureAnalysis {
|
||||
width: 100%;
|
||||
height: 283px;
|
||||
margin-top: 32px;
|
||||
|
||||
.featureAnalysisBox {
|
||||
width: 100%;
|
||||
height: 283px;
|
||||
height: 300px;
|
||||
margin-top: 18px;
|
||||
}
|
||||
|
||||
.featureAnalysisBottom {
|
||||
width: 100%;
|
||||
height: 283px;
|
||||
height: 300px;
|
||||
margin-top: 18px;
|
||||
}
|
||||
}
|
||||
|
||||
@ -83,13 +83,12 @@ const handleChangeTab = async (value: number) => {
|
||||
// 拿到数据的方法
|
||||
const handleGetData = async () => {
|
||||
const req: any = {
|
||||
ProvinceCode: "340000",
|
||||
ProvinceCode: "530000",
|
||||
StatisticsDate: moment().subtract(1, 'd').format('YYYY-MM-DD'),
|
||||
ServerpartId: props.currentService?.SERVERPART_ID || "",
|
||||
}
|
||||
|
||||
const data = await handleCodeGetRevenueCompare(req)
|
||||
console.log('djsakjdaskldjasoifioad', data);
|
||||
|
||||
getAllData.value = data
|
||||
|
||||
@ -153,7 +152,6 @@ const handleGetData = async () => {
|
||||
2: [category, ...res2],
|
||||
3: [category, ...res3],
|
||||
}
|
||||
console.log('dhsauhdasjhdak', obj);
|
||||
realData.value = obj
|
||||
|
||||
handleShowData(selectTab.value)
|
||||
@ -176,8 +174,6 @@ const handleGetBottomData = async () => {
|
||||
const data = await handleGetRevenueTrend(req)
|
||||
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 currentYear: number[] = []
|
||||
@ -207,7 +203,6 @@ const handleGetBottomData = async () => {
|
||||
const handleShowData = async (value: number) => {
|
||||
let data = realData.value[value]
|
||||
|
||||
console.log('fjidufasdhfsdjfsdn', data);
|
||||
|
||||
|
||||
const chartDom = document.getElementById('featureAnalysis');
|
||||
@ -447,9 +442,9 @@ onBeforeUnmount(() => {
|
||||
</div>
|
||||
<div class="BusinessCaseRightItemBottom">
|
||||
<div class="BusinessCaseItemBottomLeft">
|
||||
<div class="compareTitle">相比去年同日</div>
|
||||
<div class="changeBox">
|
||||
<img class="changeIcon" :src="selectTab === 1 ? getAllData?.RevenueAmountYOYRate > 0 ? addIcon : reduce :
|
||||
<img v-if="getAllData?.RevenueAmountYOYRate || getAllData?.TicketCountYOYRate || getAllData?.AvgTicketAmountRate"
|
||||
class="changeIcon" :src="selectTab === 1 ? getAllData?.RevenueAmountYOYRate > 0 ? addIcon : reduce :
|
||||
selectTab === 2 ? getAllData?.TicketCountYOYRate > 0 ? addIcon : reduce :
|
||||
selectTab === 3 ? getAllData?.AvgTicketAmountRate > 0 ? addIcon : reduce : ''
|
||||
" />
|
||||
@ -458,10 +453,11 @@ onBeforeUnmount(() => {
|
||||
selectTab === 2 ? getAllData?.TicketCountYOYRate > 0 ? '#00FF00' : '#D24343' :
|
||||
selectTab === 3 ? getAllData?.AvgTicketAmountRate > 0 ? '#00FF00' : '#D24343' : ''
|
||||
}">{{
|
||||
selectTab === 1 ? getAllData?.RevenueAmountYOYRate :
|
||||
selectTab === 2 ? getAllData?.TicketCountYOYRate :
|
||||
selectTab === 3 ? getAllData?.AvgTicketAmountRate : ''
|
||||
selectTab === 1 ? getAllData?.RevenueAmountYOYRate || '-' :
|
||||
selectTab === 2 ? getAllData?.TicketCountYOYRate || '-' :
|
||||
selectTab === 3 ? getAllData?.AvgTicketAmountRate || '-' : ''
|
||||
}}%</div>
|
||||
<div class="compareTitle">(相比去年同日)</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -473,7 +469,7 @@ onBeforeUnmount(() => {
|
||||
getAllData?.TicketCount.toLocaleString() : selectTab === 3 ?
|
||||
getAllData?.AvgTicketAmount.toLocaleString() : ''
|
||||
}}</div>
|
||||
<div class="BusinessCaseRevenueUnit">{{ selectTab===2?'笔':'元' }}</div>
|
||||
<div class="BusinessCaseRevenueUnit">{{ selectTab === 2 ? '笔' : '元' }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
width: 100%;
|
||||
height: 210px;
|
||||
box-sizing: border-box;
|
||||
padding: 42px 0 0 31px;
|
||||
padding: 52px 0 0 31px;
|
||||
|
||||
.BusinessStructureUnit {
|
||||
font-family: "Microsoft YaHei";
|
||||
|
||||
@ -168,7 +168,6 @@ const handleGetData = async () => {
|
||||
|
||||
const data = await handleGetBusinessTradeRevenue(req)
|
||||
|
||||
console.log('业态结构占比', data)
|
||||
|
||||
let list: any = data.BusinessTradeRank
|
||||
let seriesData: any = []
|
||||
|
||||
@ -29,7 +29,6 @@ const handleGetServiceBusyData = async () => {
|
||||
}
|
||||
// const data = await handleGetCurHalfCollect(req)
|
||||
const data = await handleGetCurBusyRank(req)
|
||||
console.log('服务区繁忙度数据:', data);
|
||||
let list: any = data.List
|
||||
// 营收排行
|
||||
const revenueReq: any = {
|
||||
|
||||
@ -153,7 +153,6 @@ onMounted(async () => {
|
||||
type: 'line' // 改为线条指示器
|
||||
},
|
||||
formatter: function (params: any) {
|
||||
console.log('paramsparamsparamsparams', params);
|
||||
|
||||
return `<div>
|
||||
<div>${params[0].name}时:</div>
|
||||
@ -203,7 +202,6 @@ const handleGetData = async () => {
|
||||
Serverpart_ID: ''
|
||||
}
|
||||
const data = await handleGetTransactionConvert(req)
|
||||
console.log('jfidsafuidsopfjsdflksjdfds', data);
|
||||
|
||||
|
||||
let carList = data.BayonetList.data
|
||||
@ -234,7 +232,6 @@ const handleGetData = async () => {
|
||||
orderResList: orderResList,
|
||||
orderRealResList: orderRealResList
|
||||
}
|
||||
console.log('resresresresres', res);
|
||||
|
||||
|
||||
return res
|
||||
|
||||
@ -42,7 +42,8 @@ onMounted(async () => {
|
||||
// 拿到数据
|
||||
const handleGetData = async () => {
|
||||
const req: any = {
|
||||
ProvinceCode: '530000'
|
||||
ProvinceCode: '530000',
|
||||
GetFromRedis: true
|
||||
}
|
||||
const data = await handleGetProjectSummaryInfo(req)
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
.CustomerAgeGroupBox {
|
||||
width: calc((100% - 28px) / 3);
|
||||
width: calc((100% - 28px) / 4);
|
||||
display: inline-block;
|
||||
height: 210px;
|
||||
|
||||
|
||||
@ -75,13 +75,16 @@ const handleGoMounted = async () => {
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
name: "万辆",
|
||||
name: "客单占比(%)",
|
||||
axisLine: {
|
||||
show: true,
|
||||
lineStyle: {
|
||||
color: '#fff'
|
||||
}
|
||||
},
|
||||
nameTextStyle: {
|
||||
padding: [0, 0, 0, 30]
|
||||
},
|
||||
splitLine: { show: false } // 隐藏刻度线
|
||||
},
|
||||
series: [
|
||||
@ -130,7 +133,7 @@ const handleGoMounted = async () => {
|
||||
left: '0', // 左侧间距
|
||||
right: '0', // 右侧间距
|
||||
bottom: '0', // 底部间距
|
||||
top: '10', // 顶部间距
|
||||
top: '30', // 顶部间距
|
||||
containLabel: true // 确保坐标轴标签在grid内
|
||||
},
|
||||
tooltip: { // 新增 tooltip 配置
|
||||
@ -145,7 +148,7 @@ const handleGoMounted = async () => {
|
||||
|
||||
return `
|
||||
<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',
|
||||
style: {
|
||||
text: `${dailyDetailObj.value.CompleteRate || '-'}`, // 要显示的文字内容
|
||||
text: `${dailyDetailObj.value.CompleteRate || '-'}%`, // 要显示的文字内容
|
||||
font: 'bold 20px Arial', // 字体样式
|
||||
fill: '#FFFFFF', // 文字颜色
|
||||
textAlign: 'center',
|
||||
@ -135,9 +135,10 @@ watch(
|
||||
const handleGetData = async () => {
|
||||
|
||||
const req: any = {
|
||||
StartDate: '2025-01-01',
|
||||
EndDate: '2025-01-01',
|
||||
provinceCode: "340000"
|
||||
StartDate: moment().subtract(1, 'd').startOf('M').format('YYYY-MM-DD'),
|
||||
EndDate: moment().subtract(1, 'd').endOf('M').format('YYYY-MM-DD'),
|
||||
// provinceCode: "340000"
|
||||
provinceCode: "530000"
|
||||
}
|
||||
|
||||
const data = await handleGetPatrolAnalysis(req)
|
||||
|
||||
@ -101,7 +101,7 @@ onMounted(async () => {
|
||||
const handleGetSectionFlowCount = async () => {
|
||||
|
||||
const req: any = {
|
||||
|
||||
GetFromRedis: true
|
||||
}
|
||||
const data = await handleGetProjectYearlyArrearageList(req)
|
||||
console.log('handleGetProjectYearlyArrearageListhandleGetProjectYearlyArrearageListhandleGetProjectYearlyArrearageList', data);
|
||||
|
||||
@ -13,7 +13,7 @@
|
||||
|
||||
.FestivalRevenue {
|
||||
width: 100%;
|
||||
height: 220px;
|
||||
height: 260px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
}
|
||||
@ -88,7 +88,7 @@ const handleGoMounted = async () => {
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
name: '万元',
|
||||
name: '营收(万元)',
|
||||
splitLine: { show: false },
|
||||
|
||||
axisLabel: {
|
||||
@ -175,8 +175,8 @@ const handleGetData = async () => {
|
||||
let lastYearDateList: any = []
|
||||
|
||||
const req: any = {
|
||||
// pushProvinceCode: 530000,
|
||||
pushProvinceCode: 340000,
|
||||
pushProvinceCode: 530000,
|
||||
// pushProvinceCode: 340000,
|
||||
curYear: moment().format('YYYY'),
|
||||
compareYear: moment().subtract(1, 'y').format('YYYY'),
|
||||
HolidayType: props?.FestivalValue || 5,
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
.GenderCustomerGroupBox {
|
||||
width: calc((100% - 28px) / 3);
|
||||
width: calc((100% - 28px) / 4);
|
||||
display: inline-block;
|
||||
height: 210px;
|
||||
|
||||
|
||||
@ -167,7 +167,7 @@ const handleGetData = async () => {
|
||||
|
||||
if (data && data.length > 0) {
|
||||
data.forEach((item: any) => {
|
||||
category.push(item.StatisticsMonth)
|
||||
category.push(`${item.StatisticsMonth}月`)
|
||||
TicketCountData.push(item.TicketCount)
|
||||
SellAmountData.push(item.SellAmount)
|
||||
})
|
||||
|
||||
@ -49,8 +49,10 @@ onMounted(async () => {
|
||||
fontSize: 14
|
||||
},
|
||||
formatter: function (params: any) {
|
||||
console.log('params', params);
|
||||
|
||||
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 = {
|
||||
ProvinceCode: '530000',
|
||||
GetFromRedis: true
|
||||
}
|
||||
|
||||
const data = await handleGetContractExpiredInfo(req)
|
||||
@ -114,7 +117,7 @@ const handleGetData = async () => {
|
||||
receivePayment.value = data
|
||||
|
||||
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[] = []
|
||||
|
||||
|
||||
@ -148,7 +151,7 @@ onBeforeUnmount(() => {
|
||||
<div class="boxTopLeft">到期金额收款进度</div>
|
||||
<div class="boxTopRight">
|
||||
<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 class="progressBoxrightUnit">万元</span>
|
||||
@ -171,8 +174,8 @@ onBeforeUnmount(() => {
|
||||
<div class="itemName">未到期金额</div>
|
||||
</div>
|
||||
<div class="progressPieItemRight">
|
||||
<div class="itemValue">{{ receivePayment?.UnExpired_Amount }}</div>
|
||||
<div class="itemUnit">元</div>
|
||||
<div class="itemValue">{{ Number(receivePayment?.UnExpired_Amount.toFixed(2)) }}</div>
|
||||
<div class="itemUnit">万元</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="progressPieItem">
|
||||
@ -181,8 +184,8 @@ onBeforeUnmount(() => {
|
||||
<div class="itemName">到期金额</div>
|
||||
</div>
|
||||
<div class="progressPieItemRight">
|
||||
<div class="itemValue">{{ receivePayment?.Expired_Amount }}</div>
|
||||
<div class="itemUnit">元</div>
|
||||
<div class="itemValue">{{ Number(receivePayment?.Expired_Amount.toFixed(2)) }}</div>
|
||||
<div class="itemUnit">万元</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
.PreferenceTypeBox {
|
||||
// width: 50%;
|
||||
width: calc((100% - 28px) / 3 * 2);
|
||||
width: calc((100% - 28px) / 4 * 2);
|
||||
display: inline-block;
|
||||
height: 210px;
|
||||
|
||||
|
||||
@ -42,7 +42,8 @@ onMounted(async () => {
|
||||
// 拿到数据
|
||||
const handleGetData = async () => {
|
||||
const req: any = {
|
||||
ProvinceCode: '530000'
|
||||
ProvinceCode: '530000',
|
||||
GetFromRedis: true
|
||||
}
|
||||
const data = await handleGetProjectSummaryInfo(req)
|
||||
|
||||
@ -175,7 +176,7 @@ onBeforeUnmount(() => {
|
||||
<div class="SignedClientsSmallLeft" id="SignedClients1"></div>
|
||||
<div class="SignedClientsSmallRight">
|
||||
<div class="SignedClientsSmallRightLeft">
|
||||
<div class="SignedClientsSmallRightLeftTop">合作分成</div>
|
||||
<div class="SignedClientsSmallRightLeftTop">联合经营</div>
|
||||
<div class="SignedClientsSmallRightLeftBottom">
|
||||
<span class="SignedClientsSmallRightLeftBottomNormalText">欠款商户</span>
|
||||
<span class="SignedClientsSmallRightLeftBottomValue">{{
|
||||
@ -201,7 +202,7 @@ onBeforeUnmount(() => {
|
||||
<div class="SignedClientsSmallLeft" id="SignedClients2"></div>
|
||||
<div class="SignedClientsSmallRight">
|
||||
<div class="SignedClientsSmallRightLeft">
|
||||
<div class="SignedClientsSmallRightLeftTop">固定租金</div>
|
||||
<div class="SignedClientsSmallRightLeftTop">委托运营管理</div>
|
||||
<div class="SignedClientsSmallRightLeftBottom">
|
||||
<span class="SignedClientsSmallRightLeftBottomNormalText">欠款商户</span>
|
||||
<span class="SignedClientsSmallRightLeftBottomValue">{{ FixedRent?.ArrearageMerchant_Count
|
||||
|
||||
@ -60,7 +60,7 @@ onMounted(async () => {
|
||||
},
|
||||
formatter: function (params: any) { // 自定义提示框内容
|
||||
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'
|
||||
},
|
||||
axisLabel: {
|
||||
color: '#fff',
|
||||
interval: 0, // 强制显示所有标签
|
||||
rotate: 0, // 如果标签过多,可以旋转角度(可选)
|
||||
fontSize: 10 // 调整字体大小(可选)
|
||||
},
|
||||
axisLine: {
|
||||
lineStyle: {
|
||||
color: '#fff' // 设置 y 轴线颜色为白色(可选)
|
||||
}
|
||||
},
|
||||
}
|
||||
],
|
||||
yAxis: {
|
||||
name: '已收金额(元)',
|
||||
type: 'value',
|
||||
splitLine: { show: false } // 隐藏刻度线
|
||||
splitLine: { show: false }, // 隐藏刻度线
|
||||
nameTextStyle: {
|
||||
padding: [0, 0, 0, 20]
|
||||
},
|
||||
axisLabel: {
|
||||
color: '#fff',
|
||||
},
|
||||
axisLine: {
|
||||
lineStyle: {
|
||||
color: '#fff' // 设置 y 轴线颜色为白色(可选)
|
||||
}
|
||||
},
|
||||
},
|
||||
series: [
|
||||
{
|
||||
@ -110,6 +128,7 @@ onMounted(async () => {
|
||||
]
|
||||
}
|
||||
},
|
||||
|
||||
data: res.seriesData
|
||||
},
|
||||
|
||||
@ -146,7 +165,8 @@ const handleGetSectionFlowCount = async () => {
|
||||
|
||||
const req: any = {
|
||||
ProvinceCode: "530000",
|
||||
StatisticsYear: moment().subtract(1, 'd').format('YYYY')
|
||||
StatisticsYear: moment().subtract(1, 'd').format('YYYY'),
|
||||
GetFromRedis: true
|
||||
}
|
||||
const data = await handleGetProjectMonthlyArrearageList(req)
|
||||
|
||||
|
||||
@ -16,6 +16,8 @@
|
||||
padding: 10px 15px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
background: linear-gradient(0, rgba(0, 148, 255, 0.1) 0%, rgba(0, 148, 255, 0) 100%);
|
||||
|
||||
|
||||
.TradingAlertItemLeft {
|
||||
width: 46px;
|
||||
@ -30,6 +32,7 @@
|
||||
|
||||
.TradingAlertItemRight {
|
||||
flex: 1;
|
||||
|
||||
.TradingAlertItemRightLabel {
|
||||
font-family: Microsoft YaHei, Microsoft YaHei;
|
||||
font-weight: 400;
|
||||
@ -39,6 +42,11 @@
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
.TradingAlertItemRightValueBox {
|
||||
display: flex;
|
||||
align-items: flex-end;
|
||||
justify-content: flex-end;
|
||||
|
||||
.TradingAlertItemRightValue {
|
||||
font-family: Impact, Impact;
|
||||
font-weight: 400;
|
||||
@ -47,7 +55,21 @@
|
||||
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="TradingAlertItem">
|
||||
<div class="TradingAlertItemLeft">
|
||||
<div class="TradingAlertItemLeftIcon"></div>
|
||||
<img class="TradingAlertItemLeftIcon" src="../../../../assets/image/busyIcon.png" />
|
||||
</div>
|
||||
<div class="TradingAlertItemRight">
|
||||
<div class="TradingAlertItemRightLabel">必查项</div>
|
||||
<div class="TradingAlertItemRightValueBox">
|
||||
<div class="TradingAlertItemRightValue">{{ TradingOtherData?.value || '' }}</div>
|
||||
<div class="OverviewOfServiceAreaBusyContentItemRightUnit">项</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="TradingAlertItem">
|
||||
<div class="TradingAlertItemLeft">
|
||||
<div class=""></div>
|
||||
<img class="TradingAlertItemLeftIcon" src="../../../../assets/image/normalIcon.png" />
|
||||
</div>
|
||||
<div class="TradingAlertItemRight">
|
||||
<div class="TradingAlertItemRightLabel">抽查项</div>
|
||||
<div class="TradingAlertItemRightValueBox">
|
||||
<div class="TradingAlertItemRightValue">{{ TradingOtherData?.data || '' }}</div>
|
||||
<div class="OverviewOfServiceAreaBusyContentItemRightUnit">项</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
.TrendOfTrafficFlowBox {
|
||||
width: 100%;
|
||||
// width: 100%;
|
||||
width: calc((100vw - 90px) / 4 - 35px);
|
||||
|
||||
.TrendOfTrafficFlowCharts {
|
||||
width: 100%;
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
.VehicleModelStayBox {
|
||||
width: 100%;
|
||||
// width: 100%;
|
||||
width: calc((100vw - 90px) / 4 - 35px);
|
||||
|
||||
|
||||
.VehicleModelStayCharts {
|
||||
width: 100%;
|
||||
|
||||
@ -173,7 +173,8 @@ const handleGetData = async () => {
|
||||
|
||||
const req: any = {
|
||||
StatisticsDate: moment().format('YYYY'),
|
||||
ProvinceCode: '340000',
|
||||
// ProvinceCode: '340000',
|
||||
ProvinceCode: '530000',
|
||||
StatisticsType: 4,
|
||||
}
|
||||
const data = await handleGetRevenueTrend(req)
|
||||
@ -188,7 +189,8 @@ const handleGetData = async () => {
|
||||
|
||||
const lastYearReq: any = {
|
||||
StatisticsDate: moment().subtract(1, 'y').format('YYYY'),
|
||||
ProvinceCode: '340000',
|
||||
// ProvinceCode: '340000',
|
||||
ProvinceCode: '530000',
|
||||
StatisticsType: 4,
|
||||
}
|
||||
const lastYearData = await handleGetRevenueTrend(lastYearReq)
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<script setup lang="ts">
|
||||
import './noticeListBox.less'
|
||||
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'
|
||||
|
||||
|
||||
@ -23,6 +23,7 @@ onMounted(async () => {
|
||||
// 传入的数据
|
||||
const props = defineProps<{
|
||||
currentService?: any;
|
||||
selectPageTab?: number
|
||||
}>();
|
||||
|
||||
// 监听传入的选中服务区
|
||||
@ -35,7 +36,17 @@ watch(
|
||||
},
|
||||
{ deep: true }
|
||||
);
|
||||
|
||||
// 监听传入的选中服务区
|
||||
watch(
|
||||
() => props.selectPageTab,
|
||||
(newVal, oldVal) => {
|
||||
// 获取播报数据
|
||||
handleGetNoticeList()
|
||||
// 获取播报数据
|
||||
startScrolling()
|
||||
},
|
||||
{ deep: true }
|
||||
);
|
||||
|
||||
// 获取播报数据
|
||||
const handleGetNoticeList = async () => {
|
||||
@ -65,7 +76,7 @@ const handleGetNoticeList = async () => {
|
||||
const startScrolling = () => {
|
||||
isScrolling.value = false;
|
||||
nextTick(() => {
|
||||
const listEl = document.querySelector('.noticeList') as HTMLElement;
|
||||
const listEl = document.querySelector(`.noticeList${props.selectPageTab}`) as HTMLElement;
|
||||
if (listEl) {
|
||||
const originWidth = listEl.scrollWidth / 2;
|
||||
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>
|
||||
|
||||
|
||||
@ -129,7 +154,8 @@ const stopScrolling = () => {
|
||||
<div class="noticeListBigBox">
|
||||
<img class="noticeIcon" :src="noticeIcon" />
|
||||
<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="icon"></div>
|
||||
<div class="contentMessage">
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
|
||||
.supplierListItem {
|
||||
width: 100%;
|
||||
height: 86px;
|
||||
// height: 86px;
|
||||
box-sizing: border-box;
|
||||
padding: 10px 20px;
|
||||
border-radius: 10px;
|
||||
@ -31,22 +31,41 @@
|
||||
// }
|
||||
|
||||
.supplierListRight {
|
||||
// flex: 1;
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
padding: 10px 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
|
||||
.supplierListNamebox {
|
||||
width: 60%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
.supplierListIcon {
|
||||
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 {
|
||||
margin-top: 12px;
|
||||
// margin-top: 12px;
|
||||
|
||||
.shopIcon {
|
||||
width: 12px;
|
||||
@ -55,7 +74,7 @@
|
||||
}
|
||||
|
||||
.shopValue {
|
||||
width: 60px;
|
||||
width: 50px;
|
||||
display: inline-block;
|
||||
font-family: Impact, Impact;
|
||||
font-weight: 400;
|
||||
@ -68,7 +87,19 @@
|
||||
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 {
|
||||
width: 20px;
|
||||
display: inline-block;
|
||||
font-family: Microsoft YaHei, Microsoft YaHei;
|
||||
font-weight: 400;
|
||||
font-size: 12px;
|
||||
|
||||
@ -3,7 +3,7 @@ import { onMounted, ref } from 'vue';
|
||||
import './supplierListBox.less'
|
||||
import shopIcon from '../../../../assets/image/shopIcon.png'
|
||||
import { handleGetSupplierList, handleGetSupplierListChain } from '../../service';
|
||||
|
||||
import supplierIcon from '../../../../assets/image/supplierIcon.png'
|
||||
|
||||
// 供应商列表
|
||||
let supplierList = ref<any>([])
|
||||
@ -23,7 +23,7 @@ const handleGetData = async () => {
|
||||
const data = await handleGetSupplierListChain(req)
|
||||
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 class="supplierListRight">
|
||||
<div class="supplierListNamebox">
|
||||
<img class="supplierListIcon" :src="supplierIcon" />
|
||||
<div class="supplierListName">{{ item.SupplierName || '' }}</div>
|
||||
</div>
|
||||
|
||||
<div class="supplierListContent">
|
||||
<img class="shopIcon" :src="shopIcon" />
|
||||
<!-- <img class="shopIcon" :src="shopIcon" /> -->
|
||||
<span class="shopValue">{{ item.VarietyCount }}</span>
|
||||
<span class="shopUnit">种</span>
|
||||
|
||||
<!-- <span class="shopLabel">送达率</span>
|
||||
<span class="shopValue">{{ item.DeliverRate || '-' }}</span>
|
||||
<span class="shopUnit">%</span> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -114,12 +114,15 @@ const handleChangePageTab = (value: number) => {
|
||||
</div>
|
||||
|
||||
<!-- 分区一 -->
|
||||
<div class="content169" v-if="selectPageTab === 1">
|
||||
<div class="content169" v-show="selectPageTab === 1 || selectPageTab === 3">
|
||||
<div class="content169Left">
|
||||
<!-- 消息轮播框 -->
|
||||
<NoticeListBox :currentService="currentService" />
|
||||
<NoticeListBox v-if="selectPageTab === 1" :currentService="currentService"
|
||||
:selectPageTab="selectPageTab" />
|
||||
|
||||
<!-- <modalTitle :title="'流量趋势'" style="margin-top: 20px;" /> -->
|
||||
|
||||
<div v-show="selectPageTab === 1">
|
||||
<div class="content169LeftContent">
|
||||
<!-- 服务区概况 -->
|
||||
<OverviewOfServiceArea />
|
||||
@ -135,20 +138,24 @@ const handleChangePageTab = (value: number) => {
|
||||
<!-- 交易预警 -->
|
||||
<TradingAlert style="margin-top: 11px;" />
|
||||
</div>
|
||||
|
||||
<!-- <modalTitle :title="'节假日营收分析'" style="margin-top: 20px;">
|
||||
<template #extra>
|
||||
<div class="FestivalBox">
|
||||
<el-select class="festivalSelect" v-model="FestivalValue" placeholder="Select"
|
||||
style="width: 72px;">
|
||||
<el-option v-for="item in FestivalOptions" :key="item.value" :label="item.label"
|
||||
:value="item.value" />
|
||||
</el-select>
|
||||
</div>
|
||||
</template>
|
||||
</modalTitle> -->
|
||||
<!-- 节假日营收分析 -->
|
||||
<!-- <FestivalRevenue :currentService="currentService" /> -->
|
||||
|
||||
<div v-if="selectPageTab === 3">
|
||||
<NewBigTitleBox title="应收账款" style="margin-top: 20px;" />
|
||||
<div style="width: 100%;box-sizing: border-box;padding: 20px 11px;">
|
||||
<!-- 合同信息 -->
|
||||
<ContractInformation />
|
||||
|
||||
<!-- 收款完成进度 -->
|
||||
<PaymentProgress style="margin-top: 24px;" />
|
||||
|
||||
<!-- 收款预警 -->
|
||||
<AccountsReceivableWarning style="margin-top: 24px;" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="content169Center">
|
||||
@ -167,6 +174,7 @@ const handleChangePageTab = (value: number) => {
|
||||
<!-- 时间天气等内容 -->
|
||||
<BasicMessageBox :currentService="currentService" />
|
||||
|
||||
<div v-show="selectPageTab === 1">
|
||||
<NewBigTitleBox title="流量趋势" style="margin-top: 24px;" />
|
||||
|
||||
<div class="content169LeftContent" style="margin-top: 21px;">
|
||||
@ -192,6 +200,26 @@ const handleChangePageTab = (value: number) => {
|
||||
</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 class="pageBottom" v-if="selectPageTab === 1">
|
||||
@ -202,7 +230,7 @@ const handleChangePageTab = (value: number) => {
|
||||
<div class="content1692st" v-if="selectPageTab === 2">
|
||||
<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;" /> -->
|
||||
<!-- <CoreBusinessData style="position: relative;z-index: 9;" :noTitle="true" /> -->
|
||||
@ -299,7 +327,7 @@ const handleChangePageTab = (value: number) => {
|
||||
<BusinessStructure :currentService="currentService" style="margin-top: 22px;" />
|
||||
</div>
|
||||
|
||||
<NewBigTitleBox :title="'节假日营收分析'" style="margin-top: 34px;">
|
||||
<NewBigTitleBox :title="'节假日营收分析'" style="margin-top: 44px;">
|
||||
<template #extra>
|
||||
<div class="FestivalBox">
|
||||
<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">
|
||||
<!-- 消息轮播框 -->
|
||||
<NoticeListBox :currentService="currentService" />
|
||||
<NoticeListBox :currentService="currentService" :selectPageTab="selectPageTab" />
|
||||
|
||||
<NewBigTitleBox title="应收账款" style="margin-top: 20px;" />
|
||||
<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="content1694stItem">
|
||||
<!-- 消息轮播框 -->
|
||||
<NoticeListBox />
|
||||
<NoticeListBox :selectPageTab="selectPageTab" />
|
||||
|
||||
<NewBigTitleBox :title="'管理运营监控'" style="margin-top: 29px;" />
|
||||
|
||||
|
||||
@ -443,6 +443,23 @@
|
||||
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