Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui

master
mhhhh 2022-05-17 09:19:58 +08:00
commit b6fa3175c6
4 changed files with 139 additions and 86 deletions

BIN
.DS_Store vendored

Binary file not shown.

1
.gitignore vendored
View File

@ -1,6 +1,7 @@
/.vscode/ /.vscode/
/.idea/ /.idea/
/dist/ /dist/
.DS_Store
node_modules/ node_modules/
yarn.lock yarn.lock
package-lock.json package-lock.json

View File

@ -2,9 +2,7 @@
<div> <div>
<!-- 统计 --> <!-- 统计 -->
<div class="card"> <div class="card">
<h4> <h4>基本信息</h4>
基本信息
</h4>
<div class="count-list flex"> <div class="count-list flex">
<div class="count-item" @click="navigateTo('managerGoods')"> <div class="count-item" @click="navigateTo('managerGoods')">
<div> <div>
@ -23,7 +21,6 @@
<div class="counts">{{ homeData.memberNum || 0 }}</div> <div class="counts">{{ homeData.memberNum || 0 }}</div>
<div>会员数量</div> <div>会员数量</div>
</div> </div>
</div> </div>
<div class="count-item" @click="navigateTo('orderList')"> <div class="count-item" @click="navigateTo('orderList')">
<div> <div>
@ -33,7 +30,6 @@
<div class="counts">{{ homeData.orderNum || 0 }}</div> <div class="counts">{{ homeData.orderNum || 0 }}</div>
<div>订单数量</div> <div>订单数量</div>
</div> </div>
</div> </div>
<div class="count-item" @click="navigateTo('shopList')"> <div class="count-item" @click="navigateTo('shopList')">
<div> <div>
@ -43,7 +39,6 @@
<div class="counts">{{ homeData.storeNum || 0 }}</div> <div class="counts">{{ homeData.storeNum || 0 }}</div>
<div>店铺数量</div> <div>店铺数量</div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
@ -69,7 +64,9 @@
<div>待审核售后</div> <div>待审核售后</div>
</div> </div>
<div class="todo-item"> <div class="todo-item">
<div class="counts">{{$store.state.notices.distributionCash|| 0}}</div> <div class="counts">
{{ $store.state.notices.distributionCash || 0 }}
</div>
<div>待审核分销提现</div> <div>待审核分销提现</div>
</div> </div>
<div class="todo-item" @click="navigateTo('accountStatementBill')"> <div class="todo-item" @click="navigateTo('accountStatementBill')">
@ -90,23 +87,16 @@
</span> </span>
</div> </div>
<div class="flow-wrapper"> <div class="flow-wrapper">
<h4> <h4>流量概括</h4>
流量概括
</h4>
<div class="card flow-box flex"> <div class="card flow-box flex">
<div class="flow-box-item"> <div class="flow-box-item">
<div> <div>今日访客数</div>
今日访客数
</div>
<div class="counts"> <div class="counts">
{{ homeData.todayUV || 0 }} {{ homeData.todayUV || 0 }}
</div> </div>
</div> </div>
<div class="flow-box-item"> <div class="flow-box-item">
<div> <div>昨日访客数</div>
昨日访客数
</div>
<div class="counts"> <div class="counts">
{{ homeData.yesterdayUV || 0 }} {{ homeData.yesterdayUV || 0 }}
</div> </div>
@ -115,17 +105,13 @@
<div class="flow-splice flex"> <div class="flow-splice flex">
<div class="flow-box-splice"> <div class="flow-box-splice">
<div> <div>前七日访客数</div>
前七日访客数
</div>
<div class="counts"> <div class="counts">
{{ homeData.lastSevenUV || 0 }} {{ homeData.lastSevenUV || 0 }}
</div> </div>
</div> </div>
<div class="flow-box-splice"> <div class="flow-box-splice">
<div> <div>前三十日访客数</div>
前三十日访客数
</div>
<div class="counts"> <div class="counts">
{{ homeData.lastThirtyUV || 0 }} {{ homeData.lastThirtyUV || 0 }}
</div> </div>
@ -142,7 +128,9 @@
</div> </div>
<div class="today-item"> <div class="today-item">
<div>今日交易额</div> <div>今日交易额</div>
<span v-if="homeData.todayOrderPrice">{{homeData.todayOrderPrice | unitPrice}}</span> <span v-if="homeData.todayOrderPrice"
>{{ homeData.todayOrderPrice | unitPrice }}</span
>
<span v-else>0.00</span> <span v-else>0.00</span>
</div> </div>
<div class="today-item"> <div class="today-item">
@ -188,16 +176,22 @@
<!-- top10商品 --> <!-- top10商品 -->
<div class="card transform"> <div class="card transform">
<h4>热卖商品TOP10</h4> <h4>热卖商品TOP10</h4>
<Table stripe :columns="tophotGoodsColumns" :data="topHotGoodsData"></Table> <Table
stripe
:columns="tophotGoodsColumns"
:data="topHotGoodsData"
></Table>
</div> </div>
<!-- top10店铺 --> <!-- top10店铺 -->
<div class="card transform"> <div class="card transform">
<h4>热卖店铺TOP10</h4> <h4>热卖店铺TOP10</h4>
<Table stripe :columns="tophotShopsColumns" :data="topHotShopsData"></Table> <Table
stripe
:columns="tophotShopsColumns"
:data="topHotShopsData"
></Table>
</div> </div>
</div> </div>
</template> </template>
@ -217,7 +211,7 @@ export default {
// //
test: { test: {
a: "test", a: "test",
languages:[] languages: [],
}, },
// //
tophotShopsColumns: [ tophotShopsColumns: [
@ -418,6 +412,7 @@ export default {
let data = [...uv, ...pv]; let data = [...uv, ...pv];
console.log("pv", data);
this.pvChart.data(data); this.pvChart.data(data);
this.pvChart.scale({ this.pvChart.scale({
activeQuantity: { activeQuantity: {
@ -491,13 +486,31 @@ export default {
initHistoryMemberChart() { initHistoryMemberChart() {
// legend-filter // legend-filter
let data = this.chartList; let data = this.chartList;
let num = [];
let lastNum = [];
data.forEach((item) => { data.forEach((item) => {
item.title = "历史在线人数"; num.push({
item.date = item.date.substring(5); date: item.date.substring(5),
title: "最近48小时",
num: item.num,
res: item.num,
}); });
this.historyMemberChart.data(data);
lastNum.push({
date: item.date.substring(5),
title: "历史记录",
lastNum: item.lastNum || 0,
res: item.lastNum || 0,
});
});
let params = [...num, ...lastNum];
this.historyMemberChart.data(params);
this.historyMemberChart.scale({
activeQuantity: {
range: [0, 1],
nice: true,
},
});
this.historyMemberChart.tooltip({ this.historyMemberChart.tooltip({
showCrosshairs: true, showCrosshairs: true,
shared: true, shared: true,
@ -505,14 +518,15 @@ export default {
this.historyMemberChart this.historyMemberChart
.line() .line()
.position("date*num") .position("date*res")
.color("title", ["#ffaa71"]) .color("title", ["#ffaa71", "#398AB9"])
.label("res")
.shape("smooth"); .shape("smooth");
this.historyMemberChart this.historyMemberChart
.point() .point()
.position("date*num") .position("date*res")
.color("title", ["#ffaa71"]) .color("title", ["#ffaa71", "#398AB9"])
.label("res")
.shape("circle"); .shape("circle");
this.historyMemberChart.render(); this.historyMemberChart.render();
}, },

View File

@ -691,7 +691,7 @@ export default {
}, },
params: { params: {
pageNumber: 1, pageNumber: 1,
pageSize:10 pageSize: 10,
}, },
skuInfoRules: {}, skuInfoRules: {},
/** 品牌列表 */ /** 品牌列表 */
@ -700,6 +700,7 @@ export default {
shopCategory: [], shopCategory: [],
/** 商品单位列表 */ /** 商品单位列表 */
goodsUnitList: [], goodsUnitList: [],
initSkuTableData: [],
ignoreColumn: [ ignoreColumn: [
// //
"_index", "_index",
@ -884,7 +885,7 @@ export default {
GET_GoodsUnit() { GET_GoodsUnit() {
API_GOODS.getGoodsUnitList(this.params).then((res) => { API_GOODS.getGoodsUnitList(this.params).then((res) => {
if (res.success) { if (res.success) {
console.log(res) console.log(res);
this.goodsUnitList.push(...res.result.records.map((i) => i.name)); this.goodsUnitList.push(...res.result.records.map((i) => i.name));
this.total = res.result.total; this.total = res.result.total;
} }
@ -957,7 +958,7 @@ export default {
renderGoodsDetailSku(skuList) { renderGoodsDetailSku(skuList) {
let skus = []; let skus = [];
let skusInfo = []; let skusInfo = [];
skuList.map((e) => { skuList.map((e, skuListIndex) => {
let sku = { let sku = {
id: e.id, id: e.id,
sn: e.sn, sn: e.sn,
@ -965,6 +966,7 @@ export default {
cost: e.cost, cost: e.cost,
quantity: e.quantity, quantity: e.quantity,
weight: e.weight, weight: e.weight,
_id: new Date().getTime() + skuListIndex, //
}; };
e.specList.forEach((u) => { e.specList.forEach((u) => {
if (u.specName === "images") { if (u.specName === "images") {
@ -978,8 +980,10 @@ export default {
skusInfo.push({ skusInfo.push({
name: u.specName, name: u.specName,
spec_id: u.specNameId, spec_id: u.specNameId,
_id: new Date().getTime(),
spec_values: [ spec_values: [
{ {
_id: new Date().getTime(),
id: u.specValueId, id: u.specValueId,
name: u.specName, name: u.specName,
value: u.specValue || "", value: u.specValue || "",
@ -994,6 +998,7 @@ export default {
) { ) {
sk.spec_values.push({ sk.spec_values.push({
id: u.specValueId, id: u.specValueId,
_id: new Date().getTime(),
name: u.specName, name: u.specName,
value: u.specValue || "", value: u.specValue || "",
}); });
@ -1059,8 +1064,15 @@ export default {
} }
// //
this.$set(this.skuInfo, this.skuInfo.length, { this.$set(this.skuInfo, this.skuInfo.length, {
spec_values: [], spec_values: [
{
name: "规格项",
value: "规格项值" + this.skuInfo.length,
_id: new Date().getTime() + Math.random(0.1),
},
],
name: "规格名", name: "规格名",
_id: new Date().getTime(),
}); });
this.renderTableData(); this.renderTableData();
}, },
@ -1117,6 +1129,7 @@ export default {
this.$set(item.spec_values, item.spec_values.length, { this.$set(item.spec_values, item.spec_values.length, {
name: item.name, name: item.name,
value: "", value: "",
_id: new Date().getTime(),
}); });
this.baseInfoForm.regeneratorSkuFlag = true; this.baseInfoForm.regeneratorSkuFlag = true;
/** /**
@ -1142,8 +1155,9 @@ export default {
*/ */
renderTableData() { renderTableData() {
this.skuTableColumn = []; this.skuTableColumn = [];
this.skuTableData = [];
let pushData = []; let pushData = [];
this.initSkuTableData = this.skuTableData;
this.skuTableData = [];
// //
this.skuInfo.forEach((sku) => { this.skuInfo.forEach((sku) => {
// !sku.name ? (sku.name = "") : ""; // !sku.name ? (sku.name = "") : "";
@ -1188,8 +1202,6 @@ export default {
// //
let cloneTemp = cloneObj(this.skuInfo); let cloneTemp = cloneObj(this.skuInfo);
//
this.$set(this, "skuTableData", []);
// //
if (cloneTemp[0]) { if (cloneTemp[0]) {
// //
@ -1199,12 +1211,31 @@ export default {
result.push({ result.push({
[cloneTemp[0].name]: specItem.value, [cloneTemp[0].name]: specItem.value,
images: this.baseInfoForm.goodsGalleryFiles || [], images: this.baseInfoForm.goodsGalleryFiles || [],
_name: cloneTemp[0].name,
...specItem,
}); });
}); });
cloneTemp.splice(0, 1); cloneTemp.splice(0, 1);
result = this.specIterator(result, cloneTemp); result = this.specIterator(result, cloneTemp);
this.skuTableData = result; this.skuTableData = result;
console.log(this.skuTableData); this.skuTableData.forEach((item, index) => {
this.initSkuTableData.forEach((sku) => {
// id
if (sku._id.length && this.scalarArrayEquals(item._id, sku._id)) {
this.skuTableData[index] = {
...item,
...sku,
};
} else if (item.value == sku[item._name] || item._id == sku._id) {
// // id
this.skuTableData[index] = {
...sku,
...item,
};
// }
}
});
});
} }
}, },
/** /**
@ -1217,10 +1248,13 @@ export default {
if (cloneTemp.length > 0) { if (cloneTemp.length > 0) {
let table = []; let table = [];
result.forEach((resItem) => { result.forEach((resItem) => {
cloneTemp[0].spec_values.forEach((valItem) => { cloneTemp[0].spec_values.forEach((valItem,i) => {
let obj = cloneObj(resItem); let obj = cloneObj(resItem);
obj[cloneTemp[0].name] = valItem.value; obj[cloneTemp[0].name] = valItem.value;
obj._name = obj[cloneTemp[0].name];
if (obj._id) {
obj._id = `${obj._id},${obj._id + i}`.split(",");
}
table.push(obj); table.push(obj);
}); });
}); });
@ -1355,6 +1389,10 @@ export default {
delete sku._rowKey; delete sku._rowKey;
delete sku.specNameId; delete sku.specNameId;
delete sku.specValueId; delete sku.specValueId;
delete sku._id;
delete sku.name;
delete sku.value;
delete sku._name
return sku; return sku;
}); });