Browse Source

首页

pull/97/head
rainbro 2 months ago
parent
commit
f35e6e1882
  1. BIN
      src/assets/home/kf.png
  2. BIN
      src/assets/home/supplyPrice1.png
  3. BIN
      src/assets/home/supplyPrice2.png
  4. BIN
      src/assets/home/supplyPrice3.png
  5. 281
      src/views/agent/home.vue

BIN
src/assets/home/kf.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 KiB

BIN
src/assets/home/supplyPrice1.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

BIN
src/assets/home/supplyPrice2.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

BIN
src/assets/home/supplyPrice3.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

281
src/views/agent/home.vue

@ -19,16 +19,37 @@
</div>
<div class="salesStatistics common-area">
<h2 class="flex-between">
<b>销售统计 <span>202410-28数据</span></b>
<b>销售统计 <span>{{ saleStats.date }}数据</span></b>
<span class="hoverCommon" @click="lookMoreSystem">查看全部</span>
</h2>
<div class="salesStatistics-main flex">
<div class="sales-item flex" v-for="(item, index) in salesList" :key="item.name">
<img :src="require(`@/assets/home/sales${index + 1}.png`)" alt="">
<div class="sales-item flex">
<img :src="require(`@/assets/home/sales1.png`)" alt="">
<div class="column">
<p class="flex"><span class="number">{{ item.num }}</span> <span v-if="index < 2" class="unit"></span></p>
<span class="label">{{ item.label }}</span>
<p class="flex"><span class="number">{{ saleStats.income }}</span> <span class="unit"></span></p>
<span class="label">销售金额</span>
</div>
</div>
<div class="sales-item flex">
<img :src="require(`@/assets/home/sales2.png`)" alt="">
<div class="column">
<p class="flex"><span class="number">{{ saleStats.cost }}</span> <span class="unit"></span></p>
<span class="label">成本支出</span>
</div>
</div>
<div class="sales-item flex">
<img :src="require(`@/assets/home/sales3.png`)" alt="">
<div class="column">
<p class="flex"><span class="number">{{ saleStats.check_num }}</span></p>
<span class="label">查重订单量</span>
</div>
</div>
<div class="sales-item flex">
<img :src="require(`@/assets/home/sales4.png`)" alt="">
<div class="column">
<p class="flex"><span class="number">{{ saleStats.ai_num }}</span></p>
<span class="label">AIGC订单量</span>
</div>
</div>
</div>
@ -44,7 +65,7 @@
</div>
<a href="/agent/supplyList" target="_blank"><span>详情</span></a>
</div>
<div class="list-wrap" style="overflow: auto;height:410px" v-infinite-scroll="load">
<div class="list-wrap" style="overflow: auto;height:410px">
<div v-for="(veritem, key) in serviceClassificationServices[classification_id]" :key="key" class="item-list">
<p class="item-list-name">{{ veritem.name }}</p>
<p class="flex-between" v-for="(type, index3) in veritem.types" :key="index3">
@ -60,16 +81,27 @@
</div>
<div class="home-main-right">
<div class="accountBalance flex-between common-area">
<span>账户余额&nbsp; <b>4560</b>&nbsp;</span>
<span class="hoverCommon">展开</span>
<div class="accountBalance common-area">
<div class="mb-16 red" v-if="walletList?.pub?.forzen_money>0">含冻结金额 {{ walletList?.pub?.forzen_money }} </div>
<div class="flex-between">
<span>账户余额&nbsp; <b>{{ walletList?.pub?.remain }}</b>&nbsp;</span>
<span class="hoverCommon" @click="isShowSpec = !isShowSpec">{{ isShowSpec ? '收起' : '展开' }}</span>
</div>
<div v-show="isShowSpec" class="mt-24" style="border-top: 1px solid #ebebeb;" v-if="walletList && walletList.spec && walletList.spec.length > 0">
<div class="mt-24"></div>
<p class="specMoney" v-for="(item, index) in walletList.spec" :key="index">{{ item.verdesc }} : {{ item.remain }}</p>
</div>
</div>
<div style=" background: #fff">
<div class="importantReminder common-area">
<h2>重要提醒</h2>
<div class="reminder1 column">
<p>淘宝账号即将过期</p>
<div @click="lookTaoBaoNum">查看</div>
<div class="reminder1 column" v-if="expireServices.taobao_expire_list && expireServices.taobao_expire_list.length > 0">
<p>淘宝应用即将过期</p>
<div @click="lookTaoBaoExpire">查看详情</div>
</div>
<div class="reminder3 column" v-if="expireServices.ssl_expire_list && expireServices.ssl_expire_list.length > 0">
<p>SSL证书https即将过期</p>
<div @click="lookSslExpire">查看详情</div>
</div>
<div class="reminder2 column hide">
<p>请尽快建立站点开始售卖</p>
@ -105,7 +137,7 @@
</div>
<div class="customWrap common-area">
<h2>联系客服</h2>
<img src="@/assets/home/customer.png" alt="">
<img src="@/assets/home/kf.png" alt="">
</div>
</div>
@ -131,6 +163,14 @@ export default {
supplyPriceList: [],
serviceList: [],
saleStats: [],
expireServices: [],
walletList: [],
isShowSpec: false,
preferredMarketList: [
{
@ -138,40 +178,22 @@ export default {
label: '多端系统'
},
{
desc: '电脑版、小程序、微信H5',
desc: '基于成交量的推广支持',
label: 'OCPC推广'
},
{
desc: '电脑版、小程序、微信H5',
desc: '二级、裂变分销,发展代理网络',
label: '多级分销'
},
{
desc: '电脑版、小程序、微信H5',
desc: '在报告或网页中嵌入广告',
label: '嵌入广告'
},
{
desc: '电脑版、小程序、微信H5',
desc: '自定义次数卡券或微信代金券',
label: '发放卡券'
},
],
salesList: [
{
num: 4560,
label: '销售金额'
},
{
num: 1000,
label: '成本支出'
},
{
num: 20,
label: '查重订单量'
},
{
num: 60,
label: 'AIGC订单量'
},
],
systemList: [
{
desc: 'AI中文范文2万字版、AI中文范文万字版已整合到AI中文范文内(可选3000/5000AI中文范文2万字版、AI中文范文万字版已整合到AI中文范文内(可选3000/5000/8000/10000/15000/000000/10000/…',
@ -182,93 +204,6 @@ export default {
label: 'AI范文整合的通知'
},
],
supplyList1: [
'查重服务',
'AIGC服务',
'写作辅助',
],
supplyList: [
{
name: '万方系统',
list: [
{
name: '万方硕博版',
word: '千字符',
price: 2.4
},
{
name: '万方硕博版',
word: '千字符',
price: 2.4
},
{
name: '万方硕博版',
word: '千字符',
price: 2.4
},
]
},
{
name: '维普系统',
list: [
{
name: '维普硕博版',
word: '千字符',
price: 2.4
},
{
name: '维普系统硕博版',
word: '千字符',
price: 2.4
},
{
name: '维普系统硕博版',
word: '千字符',
price: 2.4
},
]
},
{
name: 'PaperPass旗舰版',
list: [
{
name: '万方硕博版',
word: '千字符',
price: 2.4
},
]
},
{
name: '学术不端',
list: [
{
name: '硕博预审版',
word: '篇',
price: 2.4
},
{
name: '期刊小论文小篇幅版',
word: '篇',
price: 2.4
},
{
name: '期刊小论文小篇幅版',
word: '篇',
price: 2.4
},
{
name: '期刊小论文小篇幅版',
word: '篇',
price: 2.4
},
]
},
]
}
},
components: {
@ -277,10 +212,12 @@ export default {
},
mounted() {
this.getSupplyServiceList()
this.getSaleStats()
this.getExpireServices()
this.getWalletList()
},
methods: {
getSupplyServiceList() {
this.tableLoading = true
const that = this
that.serviceList = []
@ -298,15 +235,63 @@ export default {
this.serviceClassifications = response.data.service_classification;
this.serviceClassificationServices = response.data.service_classification_services;
this.supplyPriceList = response.data.supply_price;
console.log(this.supplyPriceList[2].price)
console.log(this.supplyPriceList[2].unit_format)
})
}).catch(error => {
console.error(error, 'error')
})
},
lookTaoBaoNum() {
getSaleStats() {
this.$http('POST', '/agentnew/ajax_get_sale_stats', {
},{
headers:{
'Auth': this.token
}
}).then(response => {
this.$nextTick(() => {
this.saleStats = response.data
})
}).catch(error => {
console.error(error, 'error')
})
},
getExpireServices() {
this.$http('POST', '/agentnew/ajax_get_expire_services', {
},{
headers:{
'Auth': this.token
}
}).then(response => {
this.$nextTick(() => {
this.expireServices = response.data
})
}).catch(error => {
console.error(error, 'error')
})
},
getWalletList() {
this.$http('POST', '/agentnew/ajax_get_wallet', {
},{
headers:{
'Auth': this.token
}
}).then(response => {
this.$nextTick(() => {
this.walletList = response.data
})
}).catch(error => {
console.error(error, 'error')
})
},
lookTaoBaoExpire() {
//
location.href = '/agent/payList'
},
lookSslExpire() {
//
location.href = '/agent/'
},
lookTaoBaoNum1() {
//
@ -326,6 +311,26 @@ a {
color: #006AFF;
}
.mt-24 {
margin-top: 24px;
}
.mb-16 {
margin-bottom: 16px;
}
.red {
color: #FF4D4F;
}
.specMoney {
font-family: Microsoft YaHei UI;
font-size: 14px;
font-weight: normal;
line-height: 22px;
letter-spacing: 0.08em;
color: #626573;
}
.home-wrap {
padding: 12px;
@ -654,6 +659,30 @@ a {
width: 100%;
}
}
.reminder3 {
border-radius: 4px;
background: linear-gradient(256deg, #FBE7D7 1%, #FEF7EC 53%);
padding: 14px 8px;
border: 1px solid transparent;
margin-top: 20px;
transition: all .3s;
&:hover {
transition: all .3s;
border-radius: 4px;
background: linear-gradient(256deg, #FBE7D7 1%, #FEF7EC 53%);
/* main/main_erro */
border: 1px solid #FB832D;
}
div {
display: flex;
justify-content: flex-end;
color: #FB832D;
margin-top: 10px;
width: 100%;
}
}
}
.carouselImage {

Loading…
Cancel
Save