849 lines
40 KiB
PHP
849 lines
40 KiB
PHP
@extends('layouts.base')
|
||
@section('title', "代客下单")
|
||
@section('content')
|
||
<style>
|
||
.rightlist #app .rightlist-head{line-height:50px;padding:15px 0;}
|
||
.rightlist #app{margin-left:30px;}
|
||
.rightlist #app .el-breadcrumb{padding:30px 0;font-size:16px;}
|
||
/* .el-form-item__label{padding-right:30px;} */
|
||
.tip{font-size:12px;color:#999;font-weight:500}
|
||
.rightlist-head-con{padding-right:20px;font-size:16px;color:#888;}
|
||
/* .rightlist-head-con{float:left;padding-right:20px;font-size:16px;color:#888;} */
|
||
.el-tag{font-weight:700;font-size:15px;margin-bottom:30px;}
|
||
.el-icon-edit{font-size:16px;padding:0 15px;color:#409EFF;cursor: pointer;}
|
||
/* 滑块选择小白点 */
|
||
.el-switch.is-checked .el-switch__core::after {left: 100%;margin-left: -17px;}
|
||
.el-switch__core::after {content: "";position: absolute;top: 1px;left: 1px;border-radius: 100%;transition: all .3s;width: 16px;height: 16px;background-color: #fff;}
|
||
.tip1{font-size:12px;color:red;font-weight:500}
|
||
[v-cloak]{
|
||
display:none;
|
||
}
|
||
/* 计数器样式 */
|
||
.el-input-number__decrease, .el-input-number__increase {width: 25px;}
|
||
.el-input-number .el-input__inner {padding-left: 0px;padding-right: 0px;}
|
||
</style>
|
||
<div class="rightlist">
|
||
<div id="app" v-cloak v-loading="loading">
|
||
<el-breadcrumb separator-class="el-icon-arrow-right">
|
||
<el-breadcrumb-item><a href="{{ yzWebFullUrl('plugin.help-user-buying.admin.index.index') }}">返回选择</a></el-breadcrumb-item>
|
||
<el-breadcrumb-item>[[goods.title?goods.title:'平台自营']]</el-breadcrumb-item>
|
||
</el-breadcrumb>
|
||
<el-row :gutter="50">
|
||
<!-- left -->
|
||
<el-col :span="12">
|
||
<div>
|
||
<div style="background:#f9f9f9;padding:15px 10px;font-weight:900;border:1px solid #e9e9e9;">
|
||
会员信息
|
||
</div>
|
||
<div style="border:1px solid #e9e9e9;">
|
||
<el-form :model="member" ref="member" label-width="20%" style="padding-top:50px;">
|
||
<el-form-item label="客户">
|
||
<el-input v-model="member.nickname" disabled style="width:70%"></el-input><br>
|
||
<img :src="member.avatar_image" style="width:70px;height:70px;">
|
||
</el-form-item>
|
||
|
||
<el-form-item label="配送方式" v-show="deliveryMethod.length > 0">
|
||
<el-radio v-for="(item,index) in deliveryMethod" :key="index" v-model.number="dispatch_type_id" :label="item.value">[[item.name]]</el-radio>
|
||
</el-form-item>
|
||
|
||
<el-form-item label="收件人" v-show="needAddress == 1">
|
||
<el-input v-model="member.member_address.username" style="width:70%"></el-input>
|
||
</el-form-item>
|
||
<el-form-item label="联系电话" v-show="needAddress == 1">
|
||
<el-input v-model="member.member_address.mobile" style="width:70%"></el-input>
|
||
</el-form-item>
|
||
|
||
<el-form-item label="所在区域" v-loading="all_loading" v-show="needAddress == 1">
|
||
<el-select v-model="member.member_address.province" placeholder="请选择省" clearable style="width:20%" @change="changeProvince()" value-key="id">
|
||
<el-option v-for="item in province_list" :key="item.id" :label="item.areaname" :value="item"></el-option>
|
||
</el-select>
|
||
<el-select v-model="member.member_address.city" placeholder="请选择市" clearable style="width:20%" value-key="id" @change="changeCity()">
|
||
<el-option v-for="item in city_list" :key="item.id" :label="item.areaname" :value="item"></el-option>
|
||
</el-select>
|
||
<el-select v-model="member.member_address.district" placeholder="请选择区" clearable style="width:20%" value-key="id" @change="changeDistrict()">
|
||
<el-option v-for="item in district_list" :key="item.id" :label="item.areaname" :value="item"></el-option>
|
||
</el-select>
|
||
<el-select v-if="is_street" v-model="member.member_address.street" placeholder="请选择街道" clearable style="width:20%" value-key="id">
|
||
<el-option v-for="item in street_list" :key="item.id" :label="item.areaname" :value="item"></el-option>
|
||
</el-select>
|
||
</el-form-item>
|
||
<el-form-item label="详细地址" v-show="needAddress == 1">
|
||
<el-input v-model="member.member_address.address" style="width:70%"></el-input>
|
||
</el-form-item>
|
||
|
||
<el-form-item label="" v-show="needAddress == 1">
|
||
<el-button type="primary" @click="showMemberAddressList()" size="small">其他地址</el-button>
|
||
<el-button type="primary" @click="createAddress()" size="small">新增地址</el-button>
|
||
</el-form-item>
|
||
</el-form>
|
||
</div>
|
||
</div>
|
||
</el-col>
|
||
<!-- right -->
|
||
<el-col :span="12">
|
||
<div v-for="(item,index) in orders_list" style="margin-bottom:20px;">
|
||
<div style="background:#f9f9f9;padding:15px 10px;font-weight:900;border:1px solid #e9e9e9;">
|
||
订单信息
|
||
</div>
|
||
<!-- 表格start -->
|
||
<el-table :data="item.order_goods" style="width: 100%;border:1px solid #e9e9e9" v-loading="loading" max-height="400">
|
||
<el-table-column prop="id" label="商品名称" min-width="150">
|
||
<template slot-scope="scope">
|
||
<div style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;">
|
||
<div>[[scope.row.title]]</div>
|
||
</div>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column prop="options" label="规格" max-width="120" align="center">
|
||
<template slot-scope="scope">
|
||
<div>[[scope.row.goods_option_title?scope.row.goods_option_title:'']]</div>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column prop="goods_price" label="单价" width="120" align="center">
|
||
<template slot-scope="scope">
|
||
<div>[[scope.row.goods_price/scope.row.total]]</div>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column label="数量" prop="total" max-width="120" align="center"></el-table-column>
|
||
|
||
</el-table>
|
||
<!-- 表格end -->
|
||
<div>
|
||
<div style="background:#f9f9f9;padding:15px 10px;font-weight:900;border:1px solid #e9e9e9">
|
||
优惠抵扣信息
|
||
</div>
|
||
<div style="border:1px solid #e9e9e9;font-weight:900;line-height:50px">
|
||
<div v-for="(item1,index1) in item.order_deductions" :key="index1">
|
||
<div style="padding-left:2.5%;display:inline-block;width:70%">可用[[item1.coin]][[item1.name]] 抵扣[[item1.amount]]元</div>
|
||
<div style="padding-rifht:2.5%;display:inline-block;width:25%;text-align:right">
|
||
<el-switch v-model="item1.checked" @change="changePoint()"></el-switch>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
<div>
|
||
<div style="background:#f9f9f9;padding:15px 10px;font-weight:900;border:1px solid #e9e9e9;margin-top:30px;">
|
||
优惠抵扣信息
|
||
</div>
|
||
<div style="border:1px solid #e9e9e9;font-weight:900;line-height:50px">
|
||
|
||
<div>
|
||
<div style="padding-left:2.5%;display:inline-block;width:70%">优惠券 [[total_coupons]]张可用</div>
|
||
<div style="padding-rifht:2.5%;display:inline-block;width:25%;text-align:right">
|
||
<span style="color:#409EFF;cursor:pointer" @click="is_discounts=true">
|
||
[[used_coupons==0?'未使用':'已使用'+used_coupons+'张']]
|
||
</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div style="background:#f9f9f9;padding:15px 10px;font-weight:900;border:1px solid #e9e9e9;">
|
||
<span v-for="(item,index) in amount_items">
|
||
<span>[[item.name]]:<span style="color:red">¥[[item.amount]]</span></span>
|
||
</span>
|
||
<span>合计:<span style="color:red">¥[[total_price]] </span></span>
|
||
|
||
</div>
|
||
<el-button align="center" @click="order">立即下单</el-button>
|
||
|
||
</div>
|
||
</el-col>
|
||
</el-row>
|
||
<!-- 选择优惠券弹出框 -->
|
||
<el-dialog title="选择优惠券" :visible.sync="is_discounts" v-loading="loading">
|
||
<div>
|
||
<template>
|
||
<!-- 表格start -->
|
||
<el-table :data="discounts_list" style="width: 100%;" max-height="500" ref="table" v-loading="table_loading">
|
||
<el-table-column width="55">
|
||
<template slot-scope="scope">
|
||
<el-checkbox v-model="scope.row.checked" @change="changeDiscounts()" :disabled="scope.row.valid==false"></el-checkbox>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column prop="belongs_to_coupon.name" label="优惠券名称" min-width="120" align="center"> </el-table-column>
|
||
<el-table-column prop="details" label="优惠详情" min-width="120" align="center">
|
||
<template slot-scope="scope">
|
||
<div>
|
||
<span v-if="scope.row.belongs_to_coupon.enough==0">不限 </span>
|
||
<span v-else>满[[scope.row.belongs_to_coupon.enough可用]] </span>
|
||
<span v-if="scope.row.belongs_to_coupon.discount=='0.00'">立减[[scope.row.belongs_to_coupon.deduct]]元 </span>
|
||
<span v-else>打[[scope.row.belongs_to_coupon.discount]]折 </span>
|
||
</div>
|
||
</template>
|
||
</el-table-column>
|
||
</el-table>
|
||
<!-- 表格end -->
|
||
</template>
|
||
</div>
|
||
<span slot="footer" class="dialog-footer">
|
||
<!-- <el-button @click="is_discounts = false">取 消</el-button> -->
|
||
<el-button type="primary" @click="is_discounts = false">确 定</el-button>
|
||
</span>
|
||
</el-dialog>
|
||
|
||
<!-- 选择支付方式弹出框 -->
|
||
<el-dialog title="确认付款" :visible.sync="is_pay" v-loading="loading">
|
||
<div style="text-align:center;line-height:40px;font-weight:600;">
|
||
<div>会员余额:[[pay.credit2]]</div>
|
||
<div> 支付流水号:[[pay.pay_sn]]</div>
|
||
<div> 支付金额:<span style="color:red">[[pay.amount]]</span>元</div>
|
||
<div>
|
||
<el-button v-for="(item1,index1) in buttons" :key="index1" @click="confirmPay(item1)">[[item1.name]]</el-button>
|
||
</div>
|
||
</div>
|
||
<span slot="footer" class="dialog-footer">
|
||
<el-button @click="jump">取 消</el-button>
|
||
<!-- <el-button type="primary" @click="is_discounts = false">确 定</el-button> -->
|
||
</span>
|
||
</el-dialog>
|
||
|
||
<!-- 选择收货地址 -->
|
||
<el-dialog :visible.sync="modal_member_address_list" width="900px" title="选择收货地址">
|
||
<div style="overflow:auto">
|
||
<el-table :data="member_address_list" style="width: 100%;overflow:auto">
|
||
<el-table-column prop="username" label="姓名" align="center"></el-table-column>
|
||
<el-table-column prop="mobile" label="手机号" align="center"></el-table-column>
|
||
<el-table-column prop="address_info" label="地址" align="center"></el-table-column>
|
||
|
||
<el-table-column prop="" label="操作" align="center">
|
||
<template slot-scope="scope">
|
||
<el-button @click="selectSendAddress(scope.row)">选择</el-button>
|
||
<el-button type="success" @click="editAddress(scope.row)">编辑</el-button>
|
||
</template>
|
||
</el-table-column>
|
||
</el-table>
|
||
</div>
|
||
<span slot="footer" class="dialog-footer">
|
||
<el-button @click="modal_member_address_list = false">取 消</el-button>
|
||
</span>
|
||
</el-dialog>
|
||
|
||
<template>
|
||
<edit-member-address
|
||
:member_address="edit_member_address"
|
||
:edit_address_dialog_show="edit_address_dialog_show"
|
||
:is_street="is_street"
|
||
:operation-type="operationType"
|
||
@init-address="componentInteract"
|
||
>
|
||
</edit-member-address>
|
||
</template>
|
||
</div>
|
||
@include('Yunshop\HelpUserBuying::buying.template.editMemberAddress')
|
||
<script>
|
||
var app = new Vue({
|
||
el:"#app",
|
||
delimiters: ['[[', ']]'],
|
||
data() {
|
||
let request = {!! $request !!};
|
||
console.log(request);
|
||
let order_type = request.order_type;
|
||
let member = {!! $member !!};
|
||
console.log(member);
|
||
// 'deliveryMethod' => json_encode($deliveryMethod)
|
||
let deliveryMethod = {!! $deliveryMethod !!};
|
||
let needAddress = {!! $needAddress !!};
|
||
console.log(5566,deliveryMethod,needAddress);
|
||
if(member.member_address.length==0){
|
||
member.member_address = {
|
||
address: "",
|
||
city: "",
|
||
city_id: 0,
|
||
district: "",
|
||
district_id: 0,
|
||
mobile: "",
|
||
province: "",
|
||
province_id: 0,
|
||
street: "",
|
||
street_id: 0,
|
||
username: "",
|
||
};
|
||
}
|
||
let is_street = {!! $is_street !!};
|
||
console.log(is_street)
|
||
let order_url = {!! $order_url !!};
|
||
console.log(order_url)
|
||
let store = {!! $store?:'{id:0}' !!};
|
||
return{
|
||
modal_member_address_list:false, //会员地址
|
||
request_member_address_list:true, //是否请求获取地址
|
||
member_address_list:{},
|
||
value:"",//测试
|
||
province_list:[],//省
|
||
city_list:[],//市
|
||
district_list:[],//区域
|
||
street_list:[],//街道
|
||
orders_list:[],//订单列表
|
||
address:"",//用户信息,优惠选择必传
|
||
amount_items:"",//总抵扣、总优惠等,优惠选择回传
|
||
discounts_list:[],//优惠券列表
|
||
store:store,//门店信息
|
||
order_type:order_type,//订单类型。32门店,92供应商,0普通商品
|
||
deliveryMethod:deliveryMethod,//配送方式列表
|
||
needAddress:needAddress,//是否需要收货地址1需要,2不需要
|
||
dispatch_type_id:1,//配送方式,默认快递,值为1
|
||
no_deduction_ids:0,//默认开启积分抵扣
|
||
pay:{
|
||
credit2:"",
|
||
amount:"",
|
||
pay_sn:"",
|
||
id:0,
|
||
},//支付信息
|
||
buttons:[],//支付方式列表
|
||
total_coupons:0,//优惠券共几张
|
||
used_coupons:0,//优惠券使用几张
|
||
total_price:"",//总价格
|
||
all_loading:false,
|
||
loading:false,
|
||
goods:request,//商品信息
|
||
goods_info:[],//商品详细信息
|
||
member:member,//客户信息
|
||
is_street:is_street,//是否开启街道
|
||
order_url:order_url,//链接
|
||
table_loading:false,
|
||
category_list:[],
|
||
form:{},
|
||
is_discounts:false,//选择优惠券弹出框
|
||
is_pay:false,//选择支付方式弹出框
|
||
|
||
|
||
//编辑地址
|
||
operationType:'',
|
||
edit_address_dialog_show:0,
|
||
edit_member_address:{
|
||
address: "",
|
||
city: "",
|
||
city_id: 0,
|
||
district: "",
|
||
district_id: 0,
|
||
mobile: "",
|
||
province: "",
|
||
province_id: 0,
|
||
street: "",
|
||
street_id: 0,
|
||
username: "",
|
||
isdefault:0,
|
||
},
|
||
//分页
|
||
total:0,
|
||
per_size:0,
|
||
current_page:0,
|
||
rules:{},
|
||
}
|
||
},
|
||
created() {
|
||
let json = {};
|
||
if(this.order_type == 0 || this.order_type==32) {
|
||
json = {
|
||
dispatch_type_id:this.dispatch_type_id,
|
||
goods:JSON.stringify(this.goods.goods),
|
||
address:{},
|
||
orders:'[]',
|
||
store_id:this.goods.owner_id,
|
||
no_deduction_ids:this.no_deduction_ids,
|
||
};
|
||
}
|
||
if(this.order_type == 92) {
|
||
json = {
|
||
dispatch_type_id:this.dispatch_type_id,
|
||
goods:JSON.stringify(this.goods.goods),
|
||
address:{},
|
||
orders:'[]',
|
||
no_deduction_ids:this.no_deduction_ids,
|
||
// store_id:this.goods.owner_id,
|
||
};
|
||
}
|
||
|
||
this.getOrderList(json);
|
||
this.getDefaultDispatchTypeId();
|
||
console.log(this.member.member_address);
|
||
this.getProvince();
|
||
this.changeProvince(this.member.member_address.province_id);
|
||
this.changeCity(this.member.member_address.city_id);
|
||
if(this.is_street) {
|
||
this.changeDistrict(this.member.member_address.district_id);
|
||
}
|
||
this.all_loading = false;
|
||
},
|
||
methods: {
|
||
getDefaultDispatchTypeId() {
|
||
this.dispatch_type_id = this.deliveryMethod.length > 1 ? this.deliveryMethod[0].value : 0;
|
||
},
|
||
|
||
createAddress() {
|
||
this.edit_address_dialog_show++;
|
||
this.operationType = 'create';
|
||
|
||
this.edit_member_address = {
|
||
uid:this.member.uid,
|
||
address: "",
|
||
city: "",
|
||
city_id: 0,
|
||
district: "",
|
||
district_id: 0,
|
||
mobile: "",
|
||
province: "",
|
||
province_id: 0,
|
||
street: "",
|
||
street_id: 0,
|
||
username: "",
|
||
isdefault:0,
|
||
}
|
||
},
|
||
|
||
//编辑收货地址
|
||
editAddress(row) {
|
||
console.log(row);
|
||
this.edit_address_dialog_show++;
|
||
this.edit_member_address = row;
|
||
this.operationType = 'edit';
|
||
},
|
||
|
||
//选择收货地址
|
||
selectSendAddress(row) {
|
||
if(row.length != 0){
|
||
this.member.member_address = row;
|
||
this.modal_member_address_list = false;
|
||
}
|
||
},
|
||
componentInteract(type) {
|
||
if (type == 'edit') {
|
||
this.showMemberAddressList(1);
|
||
} else if(type == 'create') {
|
||
this.showMemberAddressList(1);
|
||
}
|
||
},
|
||
showMemberAddressList(request_status=0) {
|
||
|
||
if (request_status) {
|
||
this.request_member_address_list = true;
|
||
}
|
||
|
||
if (this.request_member_address_list) {
|
||
this.$http.post("{!! yzWebFullUrl('plugin.help-user-buying.admin.member-address.get-member-address-list') !!}",{member_id:this.member.uid}).then(response => {
|
||
console.log(response);
|
||
if(response.data.result==1){
|
||
this.member_address_list = response.data.data;
|
||
} else{
|
||
that.$message.error(response.data);
|
||
}
|
||
this.modal_member_address_list = true;
|
||
this.request_member_address_list = false;
|
||
}),function(res){
|
||
console.log(res);
|
||
};
|
||
} else {
|
||
this.modal_member_address_list = true;
|
||
}
|
||
|
||
},
|
||
getOrderList(json){
|
||
var that = this;
|
||
that.loading = true;
|
||
json['type'] = 5;
|
||
that.$http.post(this.order_url.pre_url,json).then(response => {
|
||
console.log(response);
|
||
if(response.data.result==1){
|
||
console.log(response);
|
||
that.total_coupons = response.data.data.discount.member_coupons.length;
|
||
that.no_deduction_ids = response.data.data.discount.default_deduction ? response.data.data.discount.default_deduction : 0;
|
||
that.used_coupons = 0;
|
||
that.address = response.data.data.dispatch.default_member_address;
|
||
that.amount_items = response.data.data.amount_items;
|
||
that.orders_list = response.data.data.orders;
|
||
that.total_price = response.data.data.total_price;
|
||
that.discounts_list = response.data.data.discount.member_coupons;//优惠券
|
||
if(that.discounts_list.length>0) {
|
||
that.discounts_list.forEach((item,index) => {
|
||
if(item.checked){
|
||
that.used_coupons++;
|
||
}
|
||
})
|
||
}
|
||
}
|
||
else{
|
||
that.$message.error(response.data.msg);
|
||
that.is_discounts = false;
|
||
window.location.href="{!! yzWebFullUrl('plugin.help-user-buying.admin.index.index') !!}";
|
||
}
|
||
that.loading = false;
|
||
this.all_loading = false;
|
||
}),function(res){
|
||
console.log(res);
|
||
that.loading = false;
|
||
this.all_loading = false;
|
||
};
|
||
},
|
||
// 获取省份信息
|
||
getProvince() {
|
||
var that = this;
|
||
that.all_loading = true;
|
||
that.$http.get("{!! yzWebFullUrl('plugin.help-user-buying.admin.member-address.get-address',['type' => 'province']) !!}",).then(response => {
|
||
console.log(response);
|
||
if(response.data.result==1){
|
||
this.province_list = response.data.data;
|
||
|
||
} else{
|
||
that.$message.error(response.data);
|
||
that.all_loading = false;
|
||
}
|
||
that.all_loading = false;
|
||
}),function(res){
|
||
console.log(res);
|
||
that.all_loading = false;
|
||
};
|
||
},
|
||
|
||
// 省份改变
|
||
changeProvince(parentid) {
|
||
var that = this;
|
||
if(!parentid) {
|
||
parentid = that.member.member_address.province.id;
|
||
that.member.member_address.city_id = 0;
|
||
that.member.member_address.city = '';
|
||
that.member.member_address.district_id = 0;
|
||
that.member.member_address.district = '';
|
||
that.member.member_address.street_id = 0;
|
||
that.member.member_address.street = '';
|
||
}
|
||
that.all_loading = true;
|
||
that.$http.get("{!! yzWebFullUrl('plugin.help-user-buying.admin.member-address.get-address',['type' => 'city','parentid' => '']) !!}"+parentid).then(response => {
|
||
console.log(response);
|
||
if(response.data.result==1){
|
||
this.city_list = response.data.data;
|
||
}
|
||
|
||
that.all_loading = false;
|
||
}),function(res){
|
||
console.log(res);
|
||
that.all_loading = false;
|
||
};
|
||
},
|
||
// 城市改变
|
||
changeCity(parentid) {
|
||
var that = this;
|
||
if(!parentid) {
|
||
parentid = that.member.member_address.city.id;
|
||
that.member.member_address.district_id = 0;
|
||
that.member.member_address.district = '';
|
||
that.member.member_address.street_id = 0;
|
||
that.member.member_address.street = '';
|
||
}
|
||
that.all_loading = true;
|
||
that.$http.get("{!! yzWebFullUrl('plugin.help-user-buying.admin.member-address.get-address',['type' => 'district','parentid' => '']) !!}"+parentid).then(response => {
|
||
if(response.data.result==1){
|
||
that.district_list = response.data.data;
|
||
}
|
||
that.all_loading = false;
|
||
}),function(res){
|
||
console.log(res);
|
||
that.all_loading = false;
|
||
};
|
||
},
|
||
// 区域改变
|
||
changeDistrict(parentid) {
|
||
var that = this;
|
||
if(this.is_street) {
|
||
if(!parentid) {
|
||
parentid = that.member.member_address.district.id;
|
||
that.member.member_address.street_id = 0;
|
||
that.member.member_address.street = '';
|
||
}
|
||
that.all_loading = true;
|
||
that.$http.get("{!! yzWebFullUrl('plugin.help-user-buying.admin.member-address.get-address',['type' => 'street','parentid' => '']) !!}"+parentid).then(response => {
|
||
if(response.data.result==1){
|
||
that.street_list = response.data.data;
|
||
}
|
||
that.all_loading = false;
|
||
}),function(res){
|
||
console.log(res);
|
||
that.all_loading = false;
|
||
};
|
||
}
|
||
},
|
||
// 积分、爱心值修改
|
||
changePoint() {
|
||
var that = this;
|
||
// 优惠券传值
|
||
let arr = [];
|
||
this.discounts_list.forEach((item,index) => {
|
||
if(item.checked) {
|
||
arr.push(item.id);
|
||
}
|
||
})
|
||
let member_coupon_ids = arr.join(",")
|
||
// 积分、爱心值传值
|
||
var orders = [];
|
||
for(let i=0;i<this.orders_list.length;i++) {
|
||
orders.push({deduction_ids:[],pre_id:''})
|
||
for(var j in this.orders_list[i].order_deductions) {
|
||
if(this.orders_list[i].order_deductions[j].checked==true){
|
||
orders[i].deduction_ids.push(this.orders_list[i].order_deductions[j].code)
|
||
}
|
||
}
|
||
orders[i].pre_id = this.orders_list[i].pre_id
|
||
}
|
||
console.log(orders)
|
||
let json = {
|
||
goods:JSON.stringify(this.goods.goods),
|
||
orders:JSON.stringify(orders),
|
||
dispatch_type_id: this.dispatch_type_id,
|
||
address: {},
|
||
member_coupon_ids:member_coupon_ids,
|
||
store_id:this.goods.owner_id,
|
||
no_deduction_ids:this.no_deduction_ids,
|
||
}
|
||
this.getOrderList(json)
|
||
},
|
||
// 优惠券修改
|
||
changeDiscounts() {
|
||
console.log(this.orders_list)
|
||
this.changePoint()
|
||
},
|
||
// 立即下单
|
||
order() {
|
||
let that = this;
|
||
|
||
let address = {};
|
||
// 收货信息数据处理
|
||
if (this.dispatch_type_id == 1 || (this.dispatch_type_id == 0 && this.needAddress == 1)) {
|
||
|
||
if(!that.verification()) {
|
||
return;
|
||
}
|
||
if(this.member.member_address.province.id) {
|
||
address.province = this.member.member_address.province.areaname;
|
||
}
|
||
else {
|
||
address.province = this.member.member_address.province;
|
||
}
|
||
if(this.member.member_address.city.id) {
|
||
address.city = this.member.member_address.city.areaname;
|
||
}
|
||
else {
|
||
address.city = this.member.member_address.city;
|
||
}
|
||
if(this.member.member_address.district.id) {
|
||
address.district = this.member.member_address.district.areaname;
|
||
}
|
||
else {
|
||
address.district = this.member.member_address.district;
|
||
}
|
||
|
||
if(this.is_street){
|
||
if(this.member.member_address.street.id) {
|
||
address.street = this.member.member_address.street.areaname;
|
||
}
|
||
else {
|
||
address.street = this.member.member_address.street;
|
||
}
|
||
}
|
||
else{
|
||
delete(address.street);
|
||
}
|
||
address.uid = this.member.member_address.uid;
|
||
address.username = this.member.member_address.username;
|
||
address.mobile = this.member.member_address.mobile;
|
||
address.address = this.member.member_address.address;
|
||
} else if (this.dispatch_type_id == 2) {
|
||
if(!this.member.member_address.username) {
|
||
this.$message.error("请输入收件人!");
|
||
return;
|
||
}
|
||
if(!this.member.member_address.mobile) {
|
||
this.$message.error("请输入联系电话!");
|
||
return;
|
||
}
|
||
}
|
||
|
||
|
||
// 优惠券传值
|
||
let arr = [];
|
||
this.discounts_list.forEach((item,index) => {
|
||
if(item.checked) {
|
||
arr.push(item.id);
|
||
}
|
||
})
|
||
let member_coupon_ids = arr.join(",")
|
||
// 积分、爱心值传值
|
||
var orders = [];
|
||
for(let i=0;i<this.orders_list.length;i++) {
|
||
orders.push({deduction_ids:[],pre_id:''})
|
||
for(var j in this.orders_list[i].order_deductions) {
|
||
if(this.orders_list[i].order_deductions[j].checked==true){
|
||
orders[i].deduction_ids.push(this.orders_list[i].order_deductions[j].code)
|
||
}
|
||
}
|
||
orders[i].pre_id = this.orders_list[i].pre_id
|
||
}
|
||
console.log(orders)
|
||
let json = {};
|
||
if(this.order_type == 32) {
|
||
|
||
json = {
|
||
type:5,
|
||
goods:JSON.stringify(this.goods.goods),
|
||
orders:JSON.stringify(orders),
|
||
dispatch_type_id: this.dispatch_type_id,
|
||
address: JSON.stringify(address),
|
||
member_coupon_ids:member_coupon_ids,
|
||
store_id:this.goods.owner_id,
|
||
};
|
||
|
||
if (this.dispatch_type_id == 2) {
|
||
json.address = {};
|
||
json.mobile = this.member.member_address.mobile;
|
||
json.realname = this.member.member_address.username;
|
||
}
|
||
} else {
|
||
json = {
|
||
type:5,
|
||
goods:JSON.stringify(this.goods.goods),
|
||
orders:JSON.stringify(orders),
|
||
dispatch_type_id: this.dispatch_type_id,
|
||
address: JSON.stringify(address),
|
||
member_coupon_ids:member_coupon_ids,
|
||
// store_id:this.goods.owner_id,
|
||
}
|
||
}
|
||
json.no_deduction_ids = 1;//订单创建禁止默认积分抵扣
|
||
that.loading = true;
|
||
that.$http.post(this.order_url.create_url,json).then(response => {
|
||
console.log(response);
|
||
if(response.data.result==1){
|
||
console.log(response.data.data.order_ids);
|
||
that.getPayType(response.data.data.order_ids);
|
||
}
|
||
else{
|
||
that.$message.error(response.data.msg);
|
||
}
|
||
that.loading = false;
|
||
}),function(res){
|
||
console.log(res);
|
||
that.loading = false;
|
||
};
|
||
|
||
},
|
||
getPayType(order_ids) {
|
||
var that = this;
|
||
that.loading = true;
|
||
that.$http.post("{!! yzApiUrl('plugin.help-user-buying.admin.user-merge-pay.index') !!}",{type:5,order_ids:order_ids}).then(response => {
|
||
console.log(response);
|
||
if(response.data.result==1){
|
||
that.is_pay = true;
|
||
let btns = response.data.data.buttons;
|
||
for(let i in btns) {
|
||
that.buttons.push(btns[i])
|
||
}
|
||
console.log(that.buttons);
|
||
that.buttons = response.data.data.buttons;
|
||
that.pay.credit2 = response.data.data.member.credit2;
|
||
that.pay.amount = response.data.data.order_pay.amount;
|
||
that.pay.pay_sn = response.data.data.order_pay.pay_sn;
|
||
that.pay.id = response.data.data.order_pay.id;
|
||
}
|
||
else{
|
||
that.$message.error(response.data.msg);
|
||
}
|
||
that.loading = false;
|
||
}),function(res){
|
||
console.log(res);
|
||
that.loading = false;
|
||
};
|
||
},
|
||
// 确认支付
|
||
confirmPay(item) {
|
||
var that = this;
|
||
that.loading = true;
|
||
// 余额支付
|
||
if(item.value==3){
|
||
that.$http.post("{!! yzApiUrl('plugin.help-user-buying.admin.user-merge-pay.credit2') !!}",{type:5,order_pay_id:that.pay.id}).then(response => {
|
||
console.log(response);
|
||
if(response.data.result==1){
|
||
that.$message.success(response.data.msg);
|
||
that.jump();
|
||
}
|
||
else{
|
||
that.$message.error(response.data.msg);
|
||
}
|
||
that.loading = false;
|
||
}),function(res){
|
||
console.log(res);
|
||
that.loading = false;
|
||
};
|
||
}
|
||
// 找人代付
|
||
if(item.value==17){
|
||
that.$http.post("{!! yzApiUrl('plugin.help-user-buying.admin.user-merge-pay.COD') !!}",{type:5,order_pay_id:that.pay.id}).then(response => {
|
||
console.log(response);
|
||
if(response.data.result==1){
|
||
that.$message.success(response.data.msg);
|
||
that.jump();
|
||
}
|
||
else{
|
||
that.$message.error(response.data.msg);
|
||
}
|
||
that.loading = false;
|
||
}),function(res){
|
||
console.log(res);
|
||
that.loading = false;
|
||
};
|
||
}
|
||
|
||
//确认支付
|
||
if(item.value==54){
|
||
that.$http.post("{!! yzApiUrl('plugin.help-user-buying.admin.user-merge-pay.confirmPay') !!}",{type:5,order_pay_id:that.pay.id}).then(response => {
|
||
console.log(response);
|
||
if(response.data.result==1){
|
||
that.$message.success(response.data.msg);
|
||
that.jump();
|
||
}
|
||
else{
|
||
that.$message.error(response.data.msg);
|
||
}
|
||
that.loading = false;
|
||
}),function(res){
|
||
console.log(res);
|
||
that.loading = false;
|
||
};
|
||
}
|
||
},
|
||
verification(){
|
||
if(!this.member.member_address.username) {
|
||
this.$message.error("请输入收件人!")
|
||
return;
|
||
}
|
||
if(!this.member.member_address.mobile) {
|
||
this.$message.error("请输入联系电话!")
|
||
return;
|
||
}
|
||
if(!(/^1\d{10}$/.test(this.member.member_address.mobile))){
|
||
this.$message.error("请输入正确的联系电话格式!")
|
||
return;
|
||
}
|
||
if(!this.member.member_address.district){
|
||
this.$message.error("请选择所在区域!")
|
||
return;
|
||
}
|
||
if(this.is_street) {
|
||
if(!this.member.member_address.street){
|
||
this.$message.error("请选择所在区域!")
|
||
return;
|
||
}
|
||
}
|
||
if(!this.member.member_address.address){
|
||
this.$message.error("请输入详细地址!")
|
||
return;
|
||
}
|
||
return true;
|
||
},
|
||
jump() {
|
||
window.location.href="{!! yzWebFullUrl('plugin.help-user-buying.admin.index.index') !!}";
|
||
},
|
||
},
|
||
})
|
||
|
||
</script>
|
||
@endsection
|