Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui
commit
b6fa3175c6
|
@ -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
|
||||||
|
|
|
@ -2,16 +2,14 @@
|
||||||
<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>
|
||||||
<Icon class="icon" size="31" type="md-photos" />
|
<Icon class="icon" size="31" type="md-photos" />
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div class="counts">{{homeData.goodsNum ||0}}</div>
|
<div class="counts">{{ homeData.goodsNum || 0 }}</div>
|
||||||
<div>商品数量</div>
|
<div>商品数量</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -20,30 +18,27 @@
|
||||||
<Icon class="icon" size="31" type="md-person" />
|
<Icon class="icon" size="31" type="md-person" />
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<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>
|
||||||
<Icon class="icon" size="31" type="md-list" />
|
<Icon class="icon" size="31" type="md-list" />
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<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>
|
||||||
<Icon class="icon" size="31" type="ios-stats" />
|
<Icon class="icon" size="31" type="ios-stats" />
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<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>
|
||||||
|
@ -53,27 +48,29 @@
|
||||||
<h4>今日待办</h4>
|
<h4>今日待办</h4>
|
||||||
<div class="todo-list flex">
|
<div class="todo-list flex">
|
||||||
<div class="todo-item" @click="navigateTo('applyGoods')">
|
<div class="todo-item" @click="navigateTo('applyGoods')">
|
||||||
<div class="counts">{{$store.state.notices.goods || 0}}</div>
|
<div class="counts">{{ $store.state.notices.goods || 0 }}</div>
|
||||||
<div>待审核商品</div>
|
<div>待审核商品</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="todo-item" @click="navigateTo('shopAuth')">
|
<div class="todo-item" @click="navigateTo('shopAuth')">
|
||||||
<div class="counts">{{$store.state.notices.store|| 0}}</div>
|
<div class="counts">{{ $store.state.notices.store || 0 }}</div>
|
||||||
<div>待审核店铺</div>
|
<div>待审核店铺</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="todo-item" @click="navigateTo('orderComplaint')">
|
<div class="todo-item" @click="navigateTo('orderComplaint')">
|
||||||
<div class="counts">{{$store.state.notices.complain|| 0}}</div>
|
<div class="counts">{{ $store.state.notices.complain || 0 }}</div>
|
||||||
<div>待审核投诉</div>
|
<div>待审核投诉</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="todo-item" @click="navigateTo('afterSaleOrder')">
|
<div class="todo-item" @click="navigateTo('afterSaleOrder')">
|
||||||
<div class="counts">{{$store.state.notices.refund|| 0}}</div>
|
<div class="counts">{{ $store.state.notices.refund || 0 }}</div>
|
||||||
<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')">
|
||||||
<div class="counts">{{$store.state.notices.waitPayBill|| 0}}</div>
|
<div class="counts">{{ $store.state.notices.waitPayBill || 0 }}</div>
|
||||||
<div>待审核分账</div>
|
<div>待审核分账</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -82,84 +79,75 @@
|
||||||
<!-- 今日,流量概括 -->
|
<!-- 今日,流量概括 -->
|
||||||
<div class="card flow">
|
<div class="card flow">
|
||||||
<div class="flow-list flex">
|
<div class="flow-list flex">
|
||||||
<div class="flow-item ">
|
<div class="flow-item">
|
||||||
<div class="flow-member">
|
<div class="flow-member">
|
||||||
<div>当前在线人数</div>
|
<div>当前在线人数</div>
|
||||||
<span>
|
<span>
|
||||||
{{homeData.currentNumberPeopleOnline || 0}}
|
{{ homeData.currentNumberPeopleOnline || 0 }}
|
||||||
</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>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<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>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="today-box">
|
<div class="today-box">
|
||||||
<h4> 今日概括</h4>
|
<h4>今日概括</h4>
|
||||||
<div class="today-list flex">
|
<div class="today-list flex">
|
||||||
<div class="today-item">
|
<div class="today-item">
|
||||||
<div>今日订单数</div>
|
<div>今日订单数</div>
|
||||||
<span>{{homeData.todayOrderNum}}</span>
|
<span>{{ homeData.todayOrderNum }}</span>
|
||||||
</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">
|
||||||
<div>今日新增店铺</div>
|
<div>今日新增店铺</div>
|
||||||
<span>{{homeData.todayStoreNum || 0}}</span>
|
<span>{{ homeData.todayStoreNum || 0 }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="today-item">
|
<div class="today-item">
|
||||||
<div>今日新增会员数</div>
|
<div>今日新增会员数</div>
|
||||||
<span>{{homeData.todayMemberNum || 0}}</span>
|
<span>{{ homeData.todayMemberNum || 0 }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="today-item">
|
<div class="today-item">
|
||||||
<div>今日上架商品数量</div>
|
<div>今日上架商品数量</div>
|
||||||
<span>{{homeData.todayGoodsNum || 0}}</span>
|
<span>{{ homeData.todayGoodsNum || 0 }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="today-item">
|
<div class="today-item">
|
||||||
<div>今日新增评论</div>
|
<div>今日新增评论</div>
|
||||||
<span>{{homeData.todayMemberEvaluation || 0}}</span>
|
<span>{{ homeData.todayMemberEvaluation || 0 }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -174,7 +162,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- chart -->
|
<!-- chart -->
|
||||||
<div class="charts flex">
|
<div class="charts flex">
|
||||||
<div class="chart-item">
|
<div class="chart-item">
|
||||||
<h4>流量走势</h4>
|
<h4>流量走势</h4>
|
||||||
<div id="pvChart"></div>
|
<div id="pvChart"></div>
|
||||||
|
@ -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小时",
|
||||||
this.historyMemberChart.data(data);
|
num: item.num,
|
||||||
|
res: item.num,
|
||||||
|
});
|
||||||
|
|
||||||
|
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();
|
||||||
},
|
},
|
||||||
|
|
|
@ -67,14 +67,14 @@
|
||||||
prop="goodsUnit"
|
prop="goodsUnit"
|
||||||
>
|
>
|
||||||
<Select v-model="baseInfoForm.goodsUnit" style="width: 100px">
|
<Select v-model="baseInfoForm.goodsUnit" style="width: 100px">
|
||||||
<Scroll :on-reach-bottom="handleReachBottom" >
|
<Scroll :on-reach-bottom="handleReachBottom">
|
||||||
<Option
|
<Option
|
||||||
v-for="(item, index) in goodsUnitList"
|
v-for="(item, index) in goodsUnitList"
|
||||||
:key="index"
|
:key="index"
|
||||||
:value="item"
|
:value="item"
|
||||||
>{{ item }}
|
>{{ item }}
|
||||||
</Option>
|
</Option>
|
||||||
</Scroll>
|
</Scroll>
|
||||||
</Select>
|
</Select>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<FormItem
|
<FormItem
|
||||||
|
@ -604,7 +604,7 @@ export default {
|
||||||
};
|
};
|
||||||
return {
|
return {
|
||||||
regular,
|
regular,
|
||||||
total:0,
|
total: 0,
|
||||||
accessToken: "", //令牌token
|
accessToken: "", //令牌token
|
||||||
goodsParams: "",
|
goodsParams: "",
|
||||||
categoryId: "", // 商品分类第三级id
|
categoryId: "", // 商品分类第三级id
|
||||||
|
@ -689,9 +689,9 @@ export default {
|
||||||
value: [regular.REQUIRED, regular.VARCHAR60],
|
value: [regular.REQUIRED, regular.VARCHAR60],
|
||||||
templateId: [regular.REQUIRED],
|
templateId: [regular.REQUIRED],
|
||||||
},
|
},
|
||||||
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",
|
||||||
|
@ -871,8 +872,8 @@ export default {
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
// 页面触底
|
// 页面触底
|
||||||
handleReachBottom(){
|
handleReachBottom() {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
if (this.params.pageNumber * this.params.pageSize <= this.total) {
|
if (this.params.pageNumber * this.params.pageSize <= this.total) {
|
||||||
this.params.pageNumber++;
|
this.params.pageNumber++;
|
||||||
|
@ -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;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -1496,7 +1534,7 @@ export default {
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
.ivu-select .ivu-select-dropdown{
|
.ivu-select .ivu-select-dropdown {
|
||||||
overflow: hidden !important;
|
overflow: hidden !important;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
Loading…
Reference in New Issue