Compare commits
2 Commits
e3c08391b7
...
2dd2fed0c0
Author | SHA1 | Date |
---|---|---|
jianghanbo | 2dd2fed0c0 | |
jianghanbo | c067dddd8e |
|
@ -186,7 +186,7 @@
|
||||||
v-if="scope.row.is_direct_mode && scope.row.appointment_status == 1"
|
v-if="scope.row.is_direct_mode && scope.row.appointment_status == 1"
|
||||||
size="small"
|
size="small"
|
||||||
icon="el-icon-thumb"
|
icon="el-icon-thumb"
|
||||||
@click="dyOrderConfirm(scope.row)"
|
@click="confirmOrder(scope.row)"
|
||||||
>
|
>
|
||||||
确认接单
|
确认接单
|
||||||
</el-button>
|
</el-button>
|
||||||
|
@ -570,6 +570,81 @@
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
|
<el-dialog title="确认接单" :visible.sync="orderConfirmDialogVisible">
|
||||||
|
<el-form label-width="130px" :model="item">
|
||||||
|
<el-form-item label="产品名称">
|
||||||
|
{{ item.product_name }}
|
||||||
|
</el-form-item>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="产品状态">
|
||||||
|
{{ item.order_status_name }}
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="数量">
|
||||||
|
{{ item.quantity }}
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="手机">
|
||||||
|
{{ item.mobile }}
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="下单时间">
|
||||||
|
{{ item.create_at | parseTime("{y}-{m}-{d} {h}:{i}") }}
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item v-if="item.dyOrderAppointments.number_of_guests" label="人员">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="3">大人</el-col>
|
||||||
|
<el-col :span="5"
|
||||||
|
><el-input
|
||||||
|
v-model="item.dyOrderAppointments.number_of_guests.adult"
|
||||||
|
name="adult"
|
||||||
|
placeholder="大人"
|
||||||
|
/></el-col>
|
||||||
|
<el-col :span="3">小孩</el-col>
|
||||||
|
<el-col :span="5"
|
||||||
|
><el-input
|
||||||
|
v-model="item.dyOrderAppointments.number_of_guests.child"
|
||||||
|
name="child"
|
||||||
|
placeholder="小孩"
|
||||||
|
/></el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="出游日期">
|
||||||
|
{{ item.dyOrderAppointments.book_info.book_start_date }}
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="返回日期">
|
||||||
|
{{ item.dyOrderAppointments.book_info.book_end_date }}
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-form-item label="预约详情">
|
||||||
|
<el-table
|
||||||
|
v-if="item.dyOrderAppointments.book_info.occupancies"
|
||||||
|
:data="item.dyOrderAppointments.book_info.occupancies"
|
||||||
|
style="width: 100%;margin-bottom: 0;">
|
||||||
|
<el-table-column
|
||||||
|
prop="name"
|
||||||
|
label="出行人"
|
||||||
|
width="180">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
prop="license_id"
|
||||||
|
label="证件号"
|
||||||
|
width="180">
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
|
||||||
|
<div slot="footer" class="dialog-footer">
|
||||||
|
<el-button type="primary" @click="dyOrderConfirm(item, 1)">确认接单</el-button>
|
||||||
|
<el-button type="primary" @click="dyOrderConfirm(item, 2)">拒绝</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
<el-dialog title="纯核销" :visible.sync="dialog2Visible">
|
<el-dialog title="纯核销" :visible.sync="dialog2Visible">
|
||||||
<el-form label-width="160px" :model="form">
|
<el-form label-width="160px" :model="form">
|
||||||
<el-form-item label="平台">
|
<el-form-item label="平台">
|
||||||
|
@ -692,12 +767,13 @@ export default {
|
||||||
os_status: [],
|
os_status: [],
|
||||||
appointment_status: "",
|
appointment_status: "",
|
||||||
},
|
},
|
||||||
item: { next_follow: "", personnel: { adult: "" } },
|
item: { next_follow: "", personnel: { adult: "" }, dyOrderAppointments:{book_info:{}} },
|
||||||
follow: [],
|
follow: [],
|
||||||
|
|
||||||
dialogVisible: false,
|
dialogVisible: false,
|
||||||
dialog2Visible: false,
|
dialog2Visible: false,
|
||||||
applyVisible: false,
|
applyVisible: false,
|
||||||
|
orderConfirmDialogVisible:false,
|
||||||
oss: [],
|
oss: [],
|
||||||
isSynchronization: false,
|
isSynchronization: false,
|
||||||
item3: {
|
item3: {
|
||||||
|
@ -854,6 +930,15 @@ export default {
|
||||||
})
|
})
|
||||||
.catch((err) => {});
|
.catch((err) => {});
|
||||||
},
|
},
|
||||||
|
confirmOrder(item) {
|
||||||
|
this.$axios
|
||||||
|
.get("/admin/order/info", { params: { id: item.id } })
|
||||||
|
.then((res) => {
|
||||||
|
this.item = res.data;
|
||||||
|
this.orderConfirmDialogVisible = true;
|
||||||
|
})
|
||||||
|
.catch((err) => {});
|
||||||
|
},
|
||||||
resetForm(formName) {
|
resetForm(formName) {
|
||||||
this.$refs[formName].resetFields();
|
this.$refs[formName].resetFields();
|
||||||
},
|
},
|
||||||
|
@ -1039,16 +1124,17 @@ export default {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
dyOrderConfirm(item) {
|
dyOrderConfirm(item, confirm_result) {
|
||||||
this.$axios
|
this.$axios
|
||||||
.post("/admin/order/dyOrderConfirm", { id: item.id })
|
.post("/admin/order/dyOrderConfirm", { id: item.id, confirm_result:confirm_result })
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
this.$notify({
|
this.$notify({
|
||||||
title: "成功",
|
title: "成功",
|
||||||
message: "接单成功",
|
message: "操作成功",
|
||||||
type: "success",
|
type: "success",
|
||||||
});
|
});
|
||||||
// this.getList();
|
this.orderConfirmDialogVisible = false;
|
||||||
|
this.getList();
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
this.$notify.error({
|
this.$notify.error({
|
||||||
|
|
|
@ -242,7 +242,7 @@ class OrderController extends base
|
||||||
if($request->admin->is_super == 0) {
|
if($request->admin->is_super == 0) {
|
||||||
$where[] = ['admin_id','=',$request->admin->id];
|
$where[] = ['admin_id','=',$request->admin->id];
|
||||||
}
|
}
|
||||||
$item = Orders::where($where)->with(['follow.admin','finance'])->find();
|
$item = Orders::where($where)->with(['follow.admin','finance', 'dyOrderAppointments'])->find();
|
||||||
|
|
||||||
if(empty($item)) {
|
if(empty($item)) {
|
||||||
return $this->error(2002, '订单没有找到或者已经转移到其他人');
|
return $this->error(2002, '订单没有找到或者已经转移到其他人');
|
||||||
|
@ -714,11 +714,13 @@ class OrderController extends base
|
||||||
return $this->error(2004, '记录没有找到.');
|
return $this->error(2004, '记录没有找到.');
|
||||||
}
|
}
|
||||||
// 1:接单 2:拒单
|
// 1:接单 2:拒单
|
||||||
// if (!$request->post('confirm_result') || !in_array($request->post('confirm_result'), [1, 2])) {
|
if (!$request->post('confirm_result') || !in_array($request->post('confirm_result'), [1, 2])) {
|
||||||
// return $this->error(2005, '确认状态错误');
|
return $this->error(2005, '确认状态错误');
|
||||||
// }
|
}
|
||||||
// 抖音预约信息
|
$confirmResult = $request->post('confirm_result', 1);
|
||||||
$appoint = DyOrderProductAppointments::query()->where(['source_order_id' => $order['sn']])->find();
|
|
||||||
|
// 抖音预约信息z
|
||||||
|
$appoint = DyOrderProductAppointments::query()->where(['source_order_id' => $order['sn']])->order('id desc')->find();
|
||||||
if (empty($appoint)) {
|
if (empty($appoint)) {
|
||||||
return $this->error(2004, '该订单暂未预约,不可接单');
|
return $this->error(2004, '该订单暂未预约,不可接单');
|
||||||
}
|
}
|
||||||
|
@ -739,7 +741,7 @@ class OrderController extends base
|
||||||
'order_id' => $appoint->dy_order_id,
|
'order_id' => $appoint->dy_order_id,
|
||||||
'source_order_id' => $appoint->source_order_id,
|
'source_order_id' => $appoint->source_order_id,
|
||||||
'confirm_info' => [
|
'confirm_info' => [
|
||||||
'confirm_result' => $request->post('confirm_result', 1),
|
'confirm_result' => $confirmResult,
|
||||||
'reject_code' => $request->post('reject_code'), // 1: 库存已约满 2:商品需加价 3:无法满足顾客需求
|
'reject_code' => $request->post('reject_code'), // 1: 库存已约满 2:商品需加价 3:无法满足顾客需求
|
||||||
// 'hotel_info' => [], // 境内住宿类目/酒景套餐 必填
|
// 'hotel_info' => [], // 境内住宿类目/酒景套餐 必填
|
||||||
// 'play_info' => [], // 境内游玩类目 必填
|
// 'play_info' => [], // 境内游玩类目 必填
|
||||||
|
@ -748,7 +750,7 @@ class OrderController extends base
|
||||||
];
|
];
|
||||||
// 自由行必填参数
|
// 自由行必填参数
|
||||||
$dyApiService = new DyApiService();
|
$dyApiService = new DyApiService();
|
||||||
if (in_array($dyOrderProduct->category_id, $zyxCategoryIds)) {
|
if ($confirmResult == 1 && in_array($dyOrderProduct->category_id, $zyxCategoryIds)) {
|
||||||
$onedayTourList = [];
|
$onedayTourList = [];
|
||||||
foreach ($dyOrderProduct->travel_details as $k => $travel_detail) {
|
foreach ($dyOrderProduct->travel_details as $k => $travel_detail) {
|
||||||
array_push($onedayTourList, [
|
array_push($onedayTourList, [
|
||||||
|
@ -759,7 +761,7 @@ class OrderController extends base
|
||||||
}
|
}
|
||||||
$confirmData['confirm_info']['free_travel_info']['oneday_tour_list'] = $onedayTourList;
|
$confirmData['confirm_info']['free_travel_info']['oneday_tour_list'] = $onedayTourList;
|
||||||
}
|
}
|
||||||
if (in_array($dyOrderProduct->category_id, $jnCategoryIds)) {
|
if ($confirmResult == 1 && in_array($dyOrderProduct->category_id, $jnCategoryIds)) {
|
||||||
// 获取poi信息
|
// 获取poi信息
|
||||||
$poiRes = $dyApiService->send(DyApiService::POI_QUERY, ['order_id' => $order->sn, 'account_id' => env('DY_ACCOUNT_ID')]);
|
$poiRes = $dyApiService->send(DyApiService::POI_QUERY, ['order_id' => $order->sn, 'account_id' => env('DY_ACCOUNT_ID')]);
|
||||||
$payInfo = [
|
$payInfo = [
|
||||||
|
|
|
@ -179,6 +179,11 @@ class Orders extends base
|
||||||
return $this->belongsTo(Products::class, 'product_id', 'third_product_id');
|
return $this->belongsTo(Products::class, 'product_id', 'third_product_id');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function dyOrderAppointments()
|
||||||
|
{
|
||||||
|
return $this->belongsTo(DyOrderProductAppointments::class, 'sn', 'source_order_id');
|
||||||
|
}
|
||||||
|
|
||||||
public static function fish($id, $admin_id)
|
public static function fish($id, $admin_id)
|
||||||
{
|
{
|
||||||
return Db::transaction(function () use ($id, $admin_id) {
|
return Db::transaction(function () use ($id, $admin_id) {
|
||||||
|
|
|
@ -499,7 +499,7 @@ class Douyin
|
||||||
'Content-type: application/json'
|
'Content-type: application/json'
|
||||||
];
|
];
|
||||||
if ($method == 'GET' || $method == 'POST') {
|
if ($method == 'GET' || $method == 'POST') {
|
||||||
$header[] = 'x-secsdk-csrf-token: ' . $this->_token('', $this->os);
|
$header[] = 'x-secsdk-csrf-token: ' . $this->_token('');
|
||||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||||
} else {
|
} else {
|
||||||
curl_setopt($ch, CURLOPT_HEADER, 1);
|
curl_setopt($ch, CURLOPT_HEADER, 1);
|
||||||
|
|
|
@ -164,9 +164,9 @@ class Meituan {
|
||||||
Log::info('http:' . $http);
|
Log::info('http:' . $http);
|
||||||
Log::info('body:' . $body);
|
Log::info('body:' . $body);
|
||||||
|
|
||||||
// if ($this->tryTimes > 1) {
|
if ($this->tryTimes > 1) {
|
||||||
(new ThirdApiService())->weComNotice($this->os);
|
(new ThirdApiService())->weComNotice($this->os);
|
||||||
// }
|
}
|
||||||
$this->tryTimes++;
|
$this->tryTimes++;
|
||||||
}
|
}
|
||||||
return $res;
|
return $res;
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -1 +1 @@
|
||||||
.pagination-container[data-v-28fdfbeb]{padding:32px 16px;position:fixed;bottom:0;left:0;width:100%;background:#fff;padding:40px 280px;-webkit-box-shadow:0 -2px 10px rgba(0,0,0,.1);box-shadow:0 -2px 10px rgba(0,0,0,.1);z-index:100}.pagination-container.hidden[data-v-28fdfbeb]{display:none}.app-container[data-v-6312f01b]{position:relative;padding-bottom:60px}.el-table[data-v-6312f01b],.filter-container[data-v-6312f01b]{padding-bottom:5px}
|
.pagination-container[data-v-28fdfbeb]{padding:32px 16px;position:fixed;bottom:0;left:0;width:100%;background:#fff;padding:40px 280px;-webkit-box-shadow:0 -2px 10px rgba(0,0,0,.1);box-shadow:0 -2px 10px rgba(0,0,0,.1);z-index:100}.pagination-container.hidden[data-v-28fdfbeb]{display:none}.app-container[data-v-553f6d94]{position:relative;padding-bottom:60px}.el-table[data-v-553f6d94],.filter-container[data-v-553f6d94]{padding-bottom:5px}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue