mirror of
https://gitee.com/beijing_hongye_huicheng/lilishop-ui.git
synced 2026-08-06 19:07:25 +08:00
fix(cart): 调整错误提示展示并优化已下架商品遮罩样式
简化 Cart.vue 中错误文案展示,移除多余 margin 优化 error-goods 样式:使用 inset 定位,并通过 box-sizing 管理 padding,改善布局与响应表现
This commit is contained in:
@@ -193,7 +193,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="error-goods" v-if="goods.errorMessage">
|
<div class="error-goods" v-if="goods.errorMessage">
|
||||||
<div style="margin-top: 20px">{{ goods.errorMessage }}</div>
|
<div>{{ goods.errorMessage }}</div>
|
||||||
<el-button type="primary" @click="delGoods(goods.goodsSku.id)"
|
<el-button type="primary" @click="delGoods(goods.goodsSku.id)"
|
||||||
>删除</el-button
|
>删除</el-button
|
||||||
>
|
>
|
||||||
@@ -785,20 +785,18 @@ export default {
|
|||||||
outline-color: $theme_color;
|
outline-color: $theme_color;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
.error-goods {
|
||||||
.error-goods {
|
position: absolute;
|
||||||
position: absolute;
|
inset: 0;
|
||||||
width: 100%;
|
background-color: rgba($color: #999, $alpha: 0.5);
|
||||||
height: 100%;
|
z-index: 10;
|
||||||
margin-left: -20px;
|
display: flex;
|
||||||
background-color: rgba($color: #999, $alpha: 0.5);
|
align-items: center;
|
||||||
z-index: 10;
|
justify-content: space-between;
|
||||||
display: flex;
|
padding: 0 30px 0 150px;
|
||||||
align-items: center;
|
box-sizing: border-box;
|
||||||
justify-content: space-between;
|
color: #000;
|
||||||
padding-left: 150px;
|
}
|
||||||
color: #000;
|
|
||||||
padding-right: 30px;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
&-footer {
|
&-footer {
|
||||||
|
|||||||
@@ -55,7 +55,7 @@
|
|||||||
<div>
|
<div>
|
||||||
<div class="hover-color" @click="goodsDetail(goods.skuId, goods.goodsId)">{{ goods.name }}</div>
|
<div class="hover-color" @click="goodsDetail(goods.skuId, goods.goodsId)">{{ goods.name }}</div>
|
||||||
<div class="mt_10">
|
<div class="mt_10">
|
||||||
<span class="global_color">{{ $filters.unitPrice(goods.goodsPrice, "¥") }} </span>x {{ goods.num }}
|
<span class="global_color">{{ $filters.unitPrice(goods.goodsPrice, "¥") }} </span> x {{ goods.num }}
|
||||||
<span style="margin-left: 10px;color: #ff9900;">{{refundPriceList(goods.isRefund)}}</span>
|
<span style="margin-left: 10px;color: #ff9900;">{{refundPriceList(goods.isRefund)}}</span>
|
||||||
</div>
|
</div>
|
||||||
<el-button v-if="goods.commentStatus == 'UNFINISHED'" @click="comment(order.sn, goodsIndex)" size="small" type="success" class="fontsize_12" style="position:relative;top:-22px;left:190px;margin-right:10px">评价</el-button>
|
<el-button v-if="goods.commentStatus == 'UNFINISHED'" @click="comment(order.sn, goodsIndex)" size="small" type="success" class="fontsize_12" style="position:relative;top:-22px;left:190px;margin-right:10px">评价</el-button>
|
||||||
|
|||||||
@@ -93,6 +93,7 @@ export default {
|
|||||||
{ type: "WECHAT_PAYMENT", name: "微信支付设置" },
|
{ type: "WECHAT_PAYMENT", name: "微信支付设置" },
|
||||||
],
|
],
|
||||||
tabWay: [], // tab数据
|
tabWay: [], // tab数据
|
||||||
|
settingRequestSeq: 0,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -115,29 +116,60 @@ export default {
|
|||||||
this.selected = name;
|
this.selected = name;
|
||||||
this.getSettingData(name);
|
this.getSettingData(name);
|
||||||
},
|
},
|
||||||
|
resolveTabWay() {
|
||||||
|
const tabMap = {
|
||||||
|
setting: this.setting,
|
||||||
|
authLogin: this.authLogin,
|
||||||
|
pay: this.pay,
|
||||||
|
};
|
||||||
|
this.tabWay = tabMap[this.$route.name] || [];
|
||||||
|
},
|
||||||
|
normalizeSettingResult(res) {
|
||||||
|
if (!res || res.result == null) {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
const raw = res.result;
|
||||||
|
if (typeof raw === "string") {
|
||||||
|
try {
|
||||||
|
return JSON.parse(raw);
|
||||||
|
} catch (e) {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (typeof raw === "object") {
|
||||||
|
return raw;
|
||||||
|
}
|
||||||
|
return {};
|
||||||
|
},
|
||||||
/**
|
/**
|
||||||
* 进入页面请求第一个配置
|
* 进入页面请求第一个配置
|
||||||
*/
|
*/
|
||||||
getSettingData(name) {
|
getSettingData(name) {
|
||||||
this.settingData = "";
|
this.settingData = "";
|
||||||
Object.keys(this).forEach((item) => {
|
this.resolveTabWay();
|
||||||
if (this.$route.name == item) {
|
|
||||||
this.tabWay = this[item];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
// 点击页面给每项第一个数据赋值
|
|
||||||
if (!name) {
|
if (!name) {
|
||||||
|
if (!this.tabWay.length) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
name = this.tabWay[0].type;
|
name = this.tabWay[0].type;
|
||||||
this.selected = name;
|
this.selected = name;
|
||||||
}
|
}
|
||||||
|
|
||||||
getSetting(name).then((res) => {
|
const requestId = ++this.settingRequestSeq;
|
||||||
if (res.result) {
|
getSetting(name)
|
||||||
this.settingData = JSON.stringify(res.result);
|
.then((res) => {
|
||||||
} else {
|
if (requestId !== this.settingRequestSeq) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.settingData = JSON.stringify(this.normalizeSettingResult(res));
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
if (requestId !== this.settingRequestSeq) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
this.settingData = "{}";
|
this.settingData = "{}";
|
||||||
}
|
});
|
||||||
});
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user