mirror of
https://gitee.com/beijing_hongye_huicheng/lilishop-ui.git
synced 2026-08-06 10:57:26 +08:00
Merge branch 'fix/promotion-datetime-format'
This commit is contained in:
@@ -197,6 +197,7 @@ export default {
|
|||||||
mobile: "",
|
mobile: "",
|
||||||
},
|
},
|
||||||
verifyStatus: false, // 是否图片验证通过
|
verifyStatus: false, // 是否图片验证通过
|
||||||
|
codeSent: false, // 是否已成功发送短信验证码
|
||||||
ruleInline: {
|
ruleInline: {
|
||||||
// 验证规则
|
// 验证规则
|
||||||
username: [{required: true, message: "请输入用户名"}],
|
username: [{required: true, message: "请输入用户名"}],
|
||||||
@@ -237,7 +238,15 @@ export default {
|
|||||||
if (this.type) {
|
if (this.type) {
|
||||||
this.$refs.verify?.init();
|
this.$refs.verify?.init();
|
||||||
} else {
|
} else {
|
||||||
let data = JSON.parse(JSON.stringify(this.formSms));
|
if (!this.verifyStatus) {
|
||||||
|
Message.warning("请先完成安全验证");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!this.codeSent) {
|
||||||
|
Message.warning("请先获取短信验证码");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const data = JSON.parse(JSON.stringify(this.formSms));
|
||||||
apiLogin.smsLogin(data).then((res) => {
|
apiLogin.smsLogin(data).then((res) => {
|
||||||
this.hideVerify();
|
this.hideVerify();
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
@@ -262,7 +271,7 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
Message.error(res.message);
|
Message.error(res.message);
|
||||||
}
|
}
|
||||||
});
|
}).catch(() => {});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -285,6 +294,7 @@ export default {
|
|||||||
sendSms(params).then((res) => {
|
sendSms(params).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
Message.success("验证码发送成功");
|
Message.success("验证码发送成功");
|
||||||
|
this.codeSent = true;
|
||||||
let that = this;
|
let that = this;
|
||||||
this.interval = setInterval(() => {
|
this.interval = setInterval(() => {
|
||||||
that.time--;
|
that.time--;
|
||||||
@@ -292,6 +302,7 @@ export default {
|
|||||||
that.time = 60;
|
that.time = 60;
|
||||||
that.codeMsg = "重新发送";
|
that.codeMsg = "重新发送";
|
||||||
that.verifyStatus = false;
|
that.verifyStatus = false;
|
||||||
|
that.codeSent = false;
|
||||||
clearInterval(that.interval);
|
clearInterval(that.interval);
|
||||||
} else {
|
} else {
|
||||||
that.codeMsg = that.time;
|
that.codeMsg = that.time;
|
||||||
@@ -300,7 +311,7 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
Message.warning(res.message);
|
Message.warning(res.message);
|
||||||
}
|
}
|
||||||
});
|
}).catch(() => {});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
verifyChange(con) {
|
verifyChange(con) {
|
||||||
@@ -453,11 +464,19 @@ export default {
|
|||||||
this.$refs.formSms.resetFields();
|
this.$refs.formSms.resetFields();
|
||||||
}
|
}
|
||||||
this.verifyStatus = false;
|
this.verifyStatus = false;
|
||||||
|
this.codeSent = false;
|
||||||
this.hideVerify();
|
this.hideVerify();
|
||||||
clearInterval(this.interval);
|
clearInterval(this.interval);
|
||||||
this.codeMsg = "发送验证码";
|
this.codeMsg = "发送验证码";
|
||||||
this.time = 60;
|
this.time = 60;
|
||||||
},
|
},
|
||||||
|
"formSms.mobile"() {
|
||||||
|
this.codeSent = false;
|
||||||
|
this.verifyStatus = false;
|
||||||
|
clearInterval(this.interval);
|
||||||
|
this.codeMsg = "发送验证码";
|
||||||
|
this.time = 60;
|
||||||
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -6,7 +6,14 @@
|
|||||||
<el-input v-model="form.promotionName" style="width: 320px" />
|
<el-input v-model="form.promotionName" style="width: 320px" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="活动时间" required>
|
<el-form-item label="活动时间" required>
|
||||||
<el-date-picker v-model="form.rangeTime" type="datetimerange" style="width: 360px" />
|
<el-date-picker
|
||||||
|
v-model="form.rangeTime"
|
||||||
|
class="flash-discount-range-picker"
|
||||||
|
type="datetimerange"
|
||||||
|
format="YYYY-MM-DD HH:mm:ss"
|
||||||
|
start-placeholder="开始时间"
|
||||||
|
end-placeholder="结束时间"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="限购数量">
|
<el-form-item label="限购数量">
|
||||||
<el-input-number v-model="form.limitNum" :min="0" /> <span class="tip">0 表示不限</span>
|
<el-input-number v-model="form.limitNum" :min="0" /> <span class="tip">0 表示不限</span>
|
||||||
@@ -16,12 +23,17 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="活动商品">
|
<el-form-item label="活动商品">
|
||||||
<el-button type="primary" @click="openGoods">选择商品</el-button>
|
<el-button type="primary" @click="openGoods">选择商品</el-button>
|
||||||
<el-table v-if="form.promotionGoodsList.length" :data="form.promotionGoodsList" border class="mt_10">
|
<el-table
|
||||||
<el-table-column prop="goodsName" label="商品" />
|
v-if="form.promotionGoodsList.length"
|
||||||
<el-table-column prop="originalPrice" label="原价" width="100" />
|
:data="form.promotionGoodsList"
|
||||||
<el-table-column label="活动价" width="140">
|
border
|
||||||
|
class="mt_10 flash-discount-goods-table"
|
||||||
|
>
|
||||||
|
<el-table-column prop="goodsName" label="商品" width="180" show-overflow-tooltip />
|
||||||
|
<el-table-column prop="originalPrice" label="原价" width="90" align="center" />
|
||||||
|
<el-table-column label="活动价" width="150" align="center">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-input-number v-model="row.price" :min="0.01" :precision="2" />
|
<el-input-number v-model="row.price" :min="0.01" :precision="2" size="small" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@@ -83,9 +95,18 @@ export default {
|
|||||||
submit() {
|
submit() {
|
||||||
const payload = { ...this.form };
|
const payload = { ...this.form };
|
||||||
if (payload.rangeTime && payload.rangeTime.length === 2) {
|
if (payload.rangeTime && payload.rangeTime.length === 2) {
|
||||||
payload.startTime = payload.rangeTime[0];
|
const start =
|
||||||
payload.endTime = payload.rangeTime[1];
|
payload.rangeTime[0] instanceof Date
|
||||||
|
? payload.rangeTime[0]
|
||||||
|
: new Date(payload.rangeTime[0]);
|
||||||
|
const end =
|
||||||
|
payload.rangeTime[1] instanceof Date
|
||||||
|
? payload.rangeTime[1]
|
||||||
|
: new Date(payload.rangeTime[1]);
|
||||||
|
payload.startTime = this.$filters.unixToDate(start.getTime() / 1000);
|
||||||
|
payload.endTime = this.$filters.unixToDate(end.getTime() / 1000);
|
||||||
}
|
}
|
||||||
|
delete payload.rangeTime;
|
||||||
const req = payload.id ? editFlashDiscount(payload) : saveFlashDiscount(payload);
|
const req = payload.id ? editFlashDiscount(payload) : saveFlashDiscount(payload);
|
||||||
req.then((res) => {
|
req.then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
@@ -101,4 +122,16 @@ export default {
|
|||||||
<style scoped>
|
<style scoped>
|
||||||
.tip { margin-left: 8px; color: #999; }
|
.tip { margin-left: 8px; color: #999; }
|
||||||
.mt_10 { margin-top: 10px; }
|
.mt_10 { margin-top: 10px; }
|
||||||
|
|
||||||
|
:deep(.flash-discount-range-picker.el-date-editor--datetimerange) {
|
||||||
|
width: 380px;
|
||||||
|
max-width: 380px;
|
||||||
|
flex-grow: 0;
|
||||||
|
--el-date-editor-width: 380px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.flash-discount-goods-table {
|
||||||
|
width: fit-content;
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -6,7 +6,14 @@
|
|||||||
<el-input v-model="form.promotionName" style="width: 320px" />
|
<el-input v-model="form.promotionName" style="width: 320px" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="活动时间" required>
|
<el-form-item label="活动时间" required>
|
||||||
<el-date-picker v-model="form.rangeTime" type="datetimerange" style="width: 360px" />
|
<el-date-picker
|
||||||
|
v-model="form.rangeTime"
|
||||||
|
class="nth-item-range-picker"
|
||||||
|
type="datetimerange"
|
||||||
|
format="YYYY-MM-DD HH:mm:ss"
|
||||||
|
start-placeholder="开始时间"
|
||||||
|
end-placeholder="结束时间"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="第N件" required>
|
<el-form-item label="第N件" required>
|
||||||
<el-input-number v-model="form.nthNum" :min="2" />
|
<el-input-number v-model="form.nthNum" :min="2" />
|
||||||
@@ -92,9 +99,18 @@ export default {
|
|||||||
submit() {
|
submit() {
|
||||||
const payload = { ...this.form };
|
const payload = { ...this.form };
|
||||||
if (payload.rangeTime && payload.rangeTime.length === 2) {
|
if (payload.rangeTime && payload.rangeTime.length === 2) {
|
||||||
payload.startTime = payload.rangeTime[0];
|
const start =
|
||||||
payload.endTime = payload.rangeTime[1];
|
payload.rangeTime[0] instanceof Date
|
||||||
|
? payload.rangeTime[0]
|
||||||
|
: new Date(payload.rangeTime[0]);
|
||||||
|
const end =
|
||||||
|
payload.rangeTime[1] instanceof Date
|
||||||
|
? payload.rangeTime[1]
|
||||||
|
: new Date(payload.rangeTime[1]);
|
||||||
|
payload.startTime = this.$filters.unixToDate(start.getTime() / 1000);
|
||||||
|
payload.endTime = this.$filters.unixToDate(end.getTime() / 1000);
|
||||||
}
|
}
|
||||||
|
delete payload.rangeTime;
|
||||||
const req = payload.id ? editNthItemDiscount(payload) : saveNthItemDiscount(payload);
|
const req = payload.id ? editNthItemDiscount(payload) : saveNthItemDiscount(payload);
|
||||||
req.then((res) => {
|
req.then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
@@ -110,4 +126,11 @@ export default {
|
|||||||
<style scoped>
|
<style scoped>
|
||||||
.tip { margin-left: 8px; color: #999; }
|
.tip { margin-left: 8px; color: #999; }
|
||||||
.mt_10 { margin-top: 10px; }
|
.mt_10 { margin-top: 10px; }
|
||||||
|
|
||||||
|
:deep(.nth-item-range-picker.el-date-editor--datetimerange) {
|
||||||
|
width: 380px;
|
||||||
|
max-width: 380px;
|
||||||
|
flex-grow: 0;
|
||||||
|
--el-date-editor-width: 380px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
Reference in New Issue
Block a user