Commit 9a865dc9 authored by lihui's avatar lihui

feat: 新订单管理 form联动

parent d52ad070
......@@ -8,8 +8,8 @@ const PANDORA_URI = {
};
const API_INTERNAL_URI = {
development: "http://bp-dev.ini.yidian-inc.com",
test: "http://bp-test.ini.yidian-inc.com",
test: "http://bp-dev.ini.yidian-inc.com",
development: "http://bp-test.ini.yidian-inc.com",
production: "http://bp.int.yidian-inc.com"
};
......
......@@ -41,12 +41,13 @@
v-model="orderQueryObj.goods_id"
placeholder="请选择"
filterable
@change="changeGoodsName"
>
<el-option
v-for="item in tradeNameArr"
:key="item.goods_id"
:key="item.goods_sku_id"
:label="item.goods_name"
:value="item.goods_id"
:value="item.goods_sku_id"
></el-option>
</el-select>
</el-form-item>
......@@ -196,7 +197,7 @@
(scope.row.order_status == '2' ||
scope.row.order_status == '6' ||
scope.row.order_status == '8') &&
scope.row.payment !== 0
scope.row.payment !== 0
"
>退款</el-button
>
......@@ -287,7 +288,7 @@
(scope.row.order_status == '2' ||
scope.row.order_status == '6' ||
scope.row.order_status == '8') &&
scope.row.payment !== 0
scope.row.payment !== 0
"
>退款</el-button
>
......@@ -390,7 +391,7 @@ import {
newOrderItemList,
newOrderRefundReject,
newRefundOrder,
newGetOrderExportURL,
newGetOrderExportURL
} from "@/service/Groupmeal/groupmeal";
import page from "../components/Pagination/index.vue";
import dayJs from "dayjs";
......@@ -398,7 +399,7 @@ export default {
name: "orderManagement",
components: {
Layout,
page,
page
},
data() {
return {
......@@ -406,7 +407,7 @@ export default {
orderQueryObj: {
page: 1,
page_size: 10,
marketing_id: "0", // 活动名称
marketing_id: "", // 活动名称
order_status: "0", // 订单状态
goods_id: "", // 商品名称
cust_user: "", // 收货人
......@@ -414,7 +415,7 @@ export default {
sub_shop_id: "", // 自提点
take_place_address: "", //详细地址
create_time_start: "", // 开始时间
create_time_end: "", // 结束时间
create_time_end: "" // 结束时间
},
order_time: [], // 下单时间
// 下拉框数据
......@@ -424,36 +425,36 @@ export default {
orderStatusArr: [
{
value: "0",
label: "全部",
label: "全部"
},
{
value: "1",
label: "未支付",
label: "未支付"
},
{
value: "2",
label: "已支付",
label: "已支付"
},
{
value: "3",
label: "待退款",
label: "待退款"
},
{
value: "4",
label: "已退款",
label: "已退款"
},
{
value: "5",
label: "退款中",
label: "退款中"
},
{
value: "6",
label: "已拒绝",
label: "已拒绝"
},
{
value: "7",
label: "售后",
},
label: "售后"
}
],
// 商品名称
tradeNameArr: [],
......@@ -482,10 +483,11 @@ export default {
refundedGoodsSel: false,
payment: "",
// restoreInventory: false,
goods_name: "",
},
goods_name: ""
}
],
flag: []
flag: [],
currentTakePlaceAddressList: {} // 存储接口每次返回的自提点和详细地址
};
},
......@@ -498,7 +500,7 @@ export default {
},
exportURL3() {
return newGetOrderExportURL(this.orderQueryObj.marketing_id, "3");
},
}
},
methods: {
......@@ -510,7 +512,7 @@ export default {
async getMarketingListMet() {
try {
const res = await newGetMarketingList();
let allArr = [{ marketing_id: "0", marketing_name: "全部活动" }];
let allArr = [{ marketing_id: "", marketing_name: "全部活动" }];
let arr = allArr.concat(res.result);
this.activityNameArr = arr;
} catch (error) {
......@@ -525,72 +527,97 @@ export default {
this.orderQueryObj.sub_shop_id = "";
this.orderQueryObj.take_place_address = "";
const params = {
marketing_id: val,
marketing_id: val
};
const res = await newGetGoodsList(params); // 商品名称
this.getSubShopListMet(val); //自提点
// const res = await getSubShopList(params);
this.tradeNameArr = res.result;
// this.selLiftPoinArr = res.result;
await this.getSubShopListMet(val); //自提点
let allallTemplateArr = [{ goods_sku_id: "", goods_name: "全部" }];
this.tradeNameArr = allallTemplateArr.concat(res.result); // 商品名称选项列表
},
// 改变商品名称
changeGoodsName() {
this.getSubShopListMet();
},
// 获取自提点
async getSubShopListMet(params) {
async getSubShopListMet() {
try {
let marketing_id = "";
if (params) {
marketing_id = params;
}
const res = await newGetSubShopList({ marketing_id: marketing_id });
this.selLiftPoinArr = res.result.take_place_list;
// 获取自提点和详细地址类标
const res = await newGetSubShopList({
marketing_id: this.orderQueryObj.marketing_id,
goods_id: this.orderQueryObj.goods_id
});
let firstTakePlaceSelectOption = [
{ take_place_id: "", take_place_name: "全部" }
];
// 自提点
this.selLiftPoinArr = firstTakePlaceSelectOption.concat(
res.result.take_place_list
);
// 分界线
this.flag = res.result.take_place_list;
this.detailedAddressArr = res.result.address_list;
let firstAddressDetailSelectOption = ["全部"];
// 详细地址
this.detailedAddressArr = firstAddressDetailSelectOption.concat(
res.result.address_list
);
// 暂存
this.currentTakePlaceAddressList = res.result;
} catch (error) {
this.$message.error("发生未知错误,请稍后再试一下吧~~~");
console.error(error);
}
},
// 自提点获取详细地址
subShopSel(val) {
let addressVal,
arr = [];
this.orderQueryObj.take_place_address = "";
this.orderQueryObj.sub_shop_list = "";
for (var i in this.selLiftPoinArr) {
if (this.selLiftPoinArr[i].take_place_id == val) {
addressVal = this.selLiftPoinArr[i].address;
// 自提点 详细地址 互选操作 数据转换
formatTakePlaceAddress(type) {
if (type === 1) {
// 自提点改变
// 获取自提点名称
if (this.orderQueryObj.sub_shop_id === "") {
this.detailedAddressArr = ["全部"].concat(
this.currentTakePlaceAddressList.address_list
);
} else {
let takePlaceNameList = this.selLiftPoinArr.filter(item => {
return item.take_place_id === this.orderQueryObj.sub_shop_id;
});
let takePlaceName = takePlaceNameList[0].address; // 详细地址
let filterDataList = this.currentTakePlaceAddressList.address_list.filter(
item => {
return item === takePlaceName;
}
);
this.detailedAddressArr = ["全部"].concat(filterDataList);
}
}
for (var n in this.detailedAddressArr) {
if (this.detailedAddressArr[n] == addressVal) {
arr.push(this.detailedAddressArr[n]);
} else {
// 详细地址改变
if (this.orderQueryObj.take_place_address === "全部") {
this.selLiftPoinArr = [
{ take_place_id: "", take_place_name: "全部" }
].concat(this.currentTakePlaceAddressList.take_place_list);
} else {
let takePlaceNameList = this.currentTakePlaceAddressList.take_place_list.filter(
item => {
return item.address === this.orderQueryObj.take_place_address;
}
);
this.selLiftPoinArr = [
{ take_place_id: "", take_place_name: "全部" }
].concat(takePlaceNameList);
}
}
this.orderQueryObj.take_place_address = arr[0];
this.detailedAddressArr = arr;
},
// 详细地址获取自提点
takePlaceAddressSel(val) {
let arr = [],
arrID = [];
this.orderQueryObj.sub_shop_id = "";
this.orderQueryObj.sub_shop_list = "";
this.selLiftPoinArr = this.flag;
for (var i in this.selLiftPoinArr) {
if (val == this.selLiftPoinArr[i].address) {
arr.push(this.selLiftPoinArr[i]);
arrID.push(this.selLiftPoinArr[i].take_place_id);
}
}
// 改变自提点--获取详细地址
subShopSel() {
this.formatTakePlaceAddress(1);
},
this.selLiftPoinArr = arr;
if (this.orderQueryObj.sub_shop_id == "") {
this.orderQueryObj.sub_shop_list = arrID.join(",");
}
// 详细地址获取自提点
takePlaceAddressSel() {
this.formatTakePlaceAddress(2);
},
// 获取今天日期
......@@ -625,7 +652,7 @@ export default {
resetOrder(formName) {
if (this.$route.query.marketing_type == "4") {
this.$router.push({
path: "/op/groupmeal/newOrderManagement",
path: "/op/groupmeal/newOrderManagement"
});
this.$route.query.marketing_type = "";
}
......@@ -645,23 +672,24 @@ export default {
searchOrder() {
if (this.$route.query.marketing_type == "4") {
this.$router.push({
path: "/op/groupmeal/newOrderManagement",
path: "/op/groupmeal/newOrderManagement"
});
this.$route.query.marketing_type = "";
}
this.orderQueryObj.page = 1;
this.orderQueryObj.page_size = 10;
this.orderQueryObj.create_time_start = this.order_time[0];
this.orderQueryObj.create_time_end = this.order_time[1];
if (Array.isArray(this.order_time)) {
this.orderQueryObj.create_time_start = this.order_time[0];
this.orderQueryObj.create_time_end = this.order_time[1];
} else {
this.orderQueryObj.create_time_start = "";
this.orderQueryObj.create_time_end = "";
}
if (this.orderQueryObj.order_status === "0") {
this.activeName = "all";
this.orderStatusArr[1].disabled = false;
this.orderStatusArr[2].disabled = false;
}
// this.orderQueryObj.order_status = "0";
// this.orderStatusArr[1].disabled = false;
// this.orderStatusArr[2].disabled = false;
this.getOrderListMet(this.orderQueryObj);
},
......@@ -695,7 +723,7 @@ export default {
async printOrderMet(forcePrint) {
const params = {
marketing_id: this.orderQueryObj.marketing_id,
force_print: forcePrint ? "1" : "",
force_print: forcePrint ? "1" : ""
};
const res = await newOrderPrint(params);
return res;
......@@ -715,7 +743,7 @@ export default {
if (res.code === 0) {
this.$message({
type: "success",
message: "打印成功",
message: "打印成功"
});
return;
}
......@@ -733,7 +761,7 @@ export default {
try {
await this.$confirm(res.reason, "打印", {
cancelButtonText: "取消",
confirmButtonText: "确定",
confirmButtonText: "确定"
});
} catch (e) {
// 取消
......@@ -759,10 +787,37 @@ export default {
goods_id: "",
cust_user: "",
order_id: "",
sub_shop_id: "",
sub_shop_id: ""
});
} else {
res = await newGetOrderList(this.orderQueryObj);
// 详细地址进行了选择 一个详细地址对应多个自提点
let params = {};
let takePlaceListParams = "";
if (
this.orderQueryObj.take_place_address !== "全部" &&
this.orderQueryObj.take_place_address !== "" &&
(this.orderQueryObj.sub_shop_id === "" ||
this.orderQueryObj.sub_shop_id === "全部")
) {
// 自提点传列表字符串
let takePlaceNameList = this.currentTakePlaceAddressList.take_place_list.filter(
item => {
return item.address === this.orderQueryObj.take_place_address;
}
);
takePlaceListParams = takePlaceNameList
.map(item => {
return item.take_place_id;
})
.join(",");
let currentParams = JSON.parse(JSON.stringify(this.orderQueryObj));
params = Object.assign(currentParams, {
sub_shop_id: takePlaceListParams
});
} else {
params = this.orderQueryObj;
}
res = await newGetOrderList(params);
}
this.goodsNum = res.goods_num; // 商品共计
this.totalNum = res.count; // 商品总数
......@@ -784,21 +839,21 @@ export default {
try {
await this.$confirm("确定要拒绝退款么?", "拒绝", {
cancelButtonText: "取消",
confirmButtonText: "确定",
confirmButtonText: "确定"
});
} catch (e) {
// 取消
return;
}
const params = {
order_id: val.order_id,
order_id: val.order_id
};
const res = await newOrderRefundReject(params);
if (res.code === 0) {
this.$message({
type: "success",
message: "订单已驳回",
message: "订单已驳回"
});
} else {
this.$message.error(res.reason);
......@@ -824,7 +879,7 @@ export default {
this.checkAll = false;
this.refundGoods = [];
const params = {
order_id: val.order_id,
order_id: val.order_id
};
const res = await newOrderItemList(params);
this.refundGoods = res.result;
......@@ -853,15 +908,15 @@ export default {
// }
// }
const convertToNumber = (str) => {
const convertToNumber = str => {
return !Number.isNaN(parseFloat(str)) ? parseFloat(str) : 0;
};
const processRefundItem = (item) => {
const processRefundItem = item => {
return {
order_item_id: item.order_item_id,
refund_num: item.refundableQuantity || 0,
refund_amount: convertToNumber(item.amountToRefund),
refund_amount: convertToNumber(item.amountToRefund)
// refund_type: item.refund_type
};
};
......@@ -884,13 +939,13 @@ export default {
return;
}
this.$message.error(res.reason);
},
}
},
created() {
this.getMarketingListMet(); // 活动名称
this.getSubShopListMet(); // 自提点
this.getOrderListMet(); // table列表
},
}
};
</script>
......
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