Commit 8fb38a18 authored by 蒙文昊's avatar 蒙文昊

Merge branch 'pyq' into 'dev'

update:一级佣金+二级佣金需小于50%

See merge request bp/op-web-service!8
parents 45347a81 35820928
......@@ -328,18 +328,13 @@ function debounce(callback, delay) {
export default {
name: "GoodsRetail",
data() {
// var commission = (rule, value, callback) => {
// // if (!value) {
// // return callback(new Error("请填写一级佣金"));
// // }
// setTimeout(() => {
// if (!Number.isInteger(value)) {
// callback(new Error("请输入数字值"));
// } else {
// callback();
// }
// }, 100);
// };
var commission = (rule, value, callback) => {
if(this.ruleForm.first_commission_value + this.ruleForm.second_commission_value > 50 || value > 50) {
callback(new Error("一级佣金与二级佣金之和不可大于50%"));
}else {
callback();
}
};
return {
tableData: [],
// 详情页
......@@ -381,30 +376,25 @@ export default {
life_account_id: "",
goods_sku_id: "",
start_time: "",
end_time: "",
end_time: ""
},
rules: {
marketing_name: [
{ required: true, message: "请输入活动名称", trigger: "blur" },
{ min: 1, max: 50, message: "长度在 50个字符内", trigger: "blur" },
{ min: 1, max: 50, message: "长度在 50个字符内", trigger: "blur" }
],
first_commission_value: [
{
required: true,
// validator: commission,
message: "请填写一级佣金",
trigger: "blur",
trigger: "blur"
},
{ type: "number", message: "必须为数值型" },
// { validator: commission, trigger: "change" },
{ validator: commission }
],
second_commission_value: [
{ type: "number", message: "必须为数值型" },
// {
// validator: commission,
// trigger: "change",
// },
{ validator: commission }
],
},
allList: [],
......@@ -414,7 +404,7 @@ export default {
endTime: "",
marketing_id: "",
marketing_info: {},
disabled: false,
disabled: false
};
},
methods: {
......@@ -451,41 +441,13 @@ export default {
ElMessage.error("请求获取营销活动失败");
}
},
// 关闭状态
// async handelClose(row) {
// try {
// await updateMarketingList({
// marketing_id: row.marketing_id,
// online_status: 2,
// });
// this.getMarketingList();
// ElMessage.success("状态已关闭");
// } catch (error) {
// ElMessage.error("请求关闭失败" + error.message);
// }
// },
//启用状态
// async handelEnable(row) {
// try {
// // const res = await updateMarketingList({
// await updateMarketingList({
// marketing_id: row.marketing_id,
// online_status: 1,
// });
// this.getMarketingList();
// ElMessage("状态已启用");
// } catch (error) {
// ElMessage("请求开启状态失败");
// }
// },
// 开启关闭
handelEnable: debounce(async function (row, type) {
try {
const res = await updateMarketingList({
marketing_id: row.marketing_id,
online_status: type,
online_status: type
});
// const res = {code:4150007,reason:"更新失败",status:"failed"}
if (res.code !== 0) {
ElMessage.error(res.reason);
} else {
......@@ -509,7 +471,7 @@ export default {
goods_sku_id: "",
online_status: [],
page: 1,
page_size: 20,
page_size: 20
}),
this.$refs[retailActivitie].resetFields();
this.getMarketingList({});
......@@ -567,7 +529,7 @@ export default {
goods_sku_id,
life_account_id,
start_time,
end_time,
end_time
};
try {
// 发请求
......@@ -585,79 +547,64 @@ export default {
async getAllList() {
let all = await getMarketingList({
page: 1,
page_size: this.retailActivitie.count,
page_size: this.retailActivitie.count
});
this.allList = all.result;
},
// 添加活动列表
async addList() {
console.log(this.ruleForm.goods_sku_id);
if (this.ruleForm.goods_sku_id.length <= 0) {
ElMessage("请选择商品");
return;
} else {
var goods_sku_id =
this.ruleForm.goods_sku_id && this.ruleForm.goods_sku_id.join(",");
}
// console.log(goods_sku_id);
let { marketing_name, first_commission_value, second_commission_value } =
this.ruleForm;
let [start_time, end_time] = this.timeSelect;
if (
!marketing_name ||
!first_commission_value ||
!start_time ||
!end_time
) {
ElMessage("请填写完整");
return;
}
let addParams = {
goods_sku_id,
marketing_name,
first_commission_value,
second_commission_value,
start_time: this.formatTime(start_time),
end_time: this.formatTime(end_time),
};
// let resList = [];
// // 遍历选择的商品
// this.allList.forEach((item) => {
// // 判断该活动是否是开启状态且时间与选择时间冲突
// if (item.online_status == 1 && new Date(item.end_time) > start_time) {
// // 如果开启且重复,根据活动id请求获取这个活动的详情,判断这个活动的关联商品是否与选择商品重复
// resList.push(getMarketingInfo({ marketing_id: item.marketing_id }));
// }
// });
// let skuList = await Promise.all(resList);
// skuList = skuList.map((item) => item.result.goods_list);
// skuList = skuList.flat();
// console.log(skuList);
// const ok = this.ruleForm.goods_sku_id.every((skuId) => {
// // 遍历所有的活动,判断选择的商品是否符合条件
// return !skuList.find((item) => {
// console.log(item.goods_sku_id, skuId);
// return item.goods_sku_id == skuId;
// });
// });
// if (ok) {
try {
const res = await getAddMarketingList(addParams);
if (res.status == "success") {
this.getMarketingList();
this.dialogFormVisible = false;
this.$refs.ruleForm.validate(async (valid) => {
if (valid) {
console.log(this.ruleForm.goods_sku_id);
if (this.ruleForm.goods_sku_id.length <= 0) {
ElMessage("请选择商品");
return;
} else {
var goods_sku_id =
this.ruleForm.goods_sku_id &&
this.ruleForm.goods_sku_id.join(",");
}
// console.log(goods_sku_id);
let {
marketing_name,
first_commission_value,
second_commission_value
} = this.ruleForm;
let [start_time, end_time] = this.timeSelect;
if (
!marketing_name ||
!first_commission_value ||
!start_time ||
!end_time
) {
ElMessage("请填写完整");
return;
}
let addParams = {
goods_sku_id,
marketing_name,
first_commission_value,
second_commission_value,
start_time: this.formatTime(start_time),
end_time: this.formatTime(end_time)
};
try {
const res = await getAddMarketingList(addParams);
if (res.status == "success") {
this.getMarketingList();
this.dialogFormVisible = false;
} else {
ElMessage(res.reason);
}
} catch (error) {
ElMessage.error("请求创建活动失败");
}
} else {
ElMessage(res.reason);
return false;
}
// this.ruleIdForm = res.result;
} catch (error) {
ElMessage.error("请求创建活动失败");
}
// } else {
// ElMessage("已有该关联商品,请重新选择");
// }
});
},
// 清空
resetDate() {
(this.ruleForm = {
......@@ -666,7 +613,7 @@ export default {
second_commission_value: "",
start_time: "",
end_time: "",
goods_sku_id: [],
goods_sku_id: []
}),
(this.timeSelect = []),
(this.goods_list = []),
......@@ -674,7 +621,7 @@ export default {
life_account_id: "",
goods_sku_id: "",
start_time: "",
end_time: "",
end_time: ""
});
},
// 取消
......@@ -682,12 +629,12 @@ export default {
this.dialogFormVisible = false;
this.resetDate();
this.getMarketingList();
},
}
},
created() {
this.getMarketingList();
this.getAllList();
},
}
};
</script>
<style lang="less" scoped>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment