服装智能制造软件平台V3.0 http://182.92.169.222/hhxy/#/user/login
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

548 lines
18 KiB

<template>
<!-- 订单详情-->
<div class="placeOrder">
<Header fontColor="#000"></Header>
<div style="padding-top: 88px"></div>
<div class="orderMain">
<div class="jz">
<!-- <el-breadcrumb class="breadcrumb" separator="/">-->
<!-- <el-breadcrumb-item :to="{ path: '/shopping/person' }">个人中心</el-breadcrumb-item>-->
<!-- <el-breadcrumb-item :to="{ path: '/shopping/person' }">全部订单</el-breadcrumb-item>-->
<!-- <el-breadcrumb-item>订单详情</el-breadcrumb-item>-->
<!-- </el-breadcrumb>-->
<div class="d-flex">
<div class="l">
<div class="card">
<p class="f_24">待支付</p>
<!-- <p class="f_24" v-if="!this.model.pay">待支付</p>-->
<!-- <p class="f_24" v-if="!this.model.receipt && this.model.pay">待收货</p>-->
<!-- <p class="f_24" v-if="this.model.receipt">已完成</p>-->
<!-- <a class="c_333 f_12" v-if="this.model.receipt">查看发票详情</a>-->
</div>
<div class="steps">
<a-steps direction="vertical" size="small" :current="current">
<a-step title="提交订单" :description="this.model.orderTime" >
<a-icon slot="icon" type="container" />
</a-step>
<a-step title="已支付" >
<a-icon slot="icon" type="credit-card" />
</a-step>
<a-step title="待生产" >
<a-icon slot="icon" type="rocket" />
</a-step>
<a-step title="生产中" >
<a-icon slot="icon" type="reconciliation" />
</a-step>
<a-step title="已发货" >
<a-icon slot="icon" type="car" />
</a-step>
<a-step title="已到货" >
<a-icon slot="icon" type="home" />
</a-step>
<a-step title="已签收" >
<a-icon slot="icon" type="printer" />
</a-step>
</a-steps>
</div>
</div>
<div class="r">
<div class="title d-flex">
<span class="f_20 c_333">订单号#{{this.model.orderNum}}<span class="line f_16 c_1B">|</span>{{this.model.orderTime}}</span>
<div class="right d-flex f_16"><span>数量</span><span>价格</span><span>总计</span></div>
</div>
<div class="d-flex orderDiv">
<div class="orderAddr">
<p class="headline">配送至</p>
<a-button
class="defaultAddr"
style="padding-top: 10px;word-wrap: break-word;
overflow-wrap: break-word;
white-space: normal;
height: auto;
margin-bottom:10px;
text-align:left;
overflow: hidden;" >
<j-area-linkage disabled type="cascader" v-model="defaultAddr.addr1" placeholder="请选择省市区"/>
<p class="text f_12">{{defaultAddr.addr2}}</p>
<p class="text d-flex f_14"><span>{{defaultAddr.postCode}}</span><span v-if="defaultAddr.flag">默认地址</span></p>
</a-button>
<a-button @click="showModal">选择其他地址</a-button>
</div>
<div class="orderList ">
<div class="item d-flex">
<div class="img">
<img :src="tp">
</div>
<div class="info">
<p class="f_14 c_333 headline">{{this.dingdaninfo.goodsName}}</p>
<p class="d-flex">款式:<span>{{this.dingdaninfo.styleNames}}</span></p>
<p class="d-flex">尺码:<span>{{this.dingdaninfo.modelNumber}}</span></p>
<p class="d-flex">主辅料:<span>{{this.dingdaninfo.name}}</span></p>
</div>
<div class="right d-flex f_14 c_333">
<span>
<el-input-number style="width: 80px" controls-position="right" size="mini" v-model="dingdaninfo.num" @change="handleChange" :min="1"></el-input-number>
</span>
<span>{{this.dingdaninfo.price}}</span>
<span>{{this.dingdaninfo.total}}</span>
</div>
</div>
</div>
</div>
<div class="heji">
<p class="d-flex">
<span class="leftSide f_20" style="font-weight:500">购买人</span>
<span class="midst f_16">小记</span>
<span class="rightSide f_16" style="font-weight:500">{{this.dingdaninfo.total}}</span>
</p>
<p class="d-flex">
<span class="leftSide f_18">{{this.dingdaninfo.buyer}}</span>
<span class="midst f_16">运费总计</span>
<span class="rightSide f_16" style="font-weight:500">{{this.dingdaninfo.fare}}</span>
</p>
<p class="d-flex">
<span class="leftSide"></span>
<span class="midst f_20" style="font-weight:600">总计</span>
<span class="rightSide f_20" style="font-weight:600">{{this.dingdaninfo.all}}</span>
</p>
</div>
</div>
</div>
<div class="btn">
<a class="c_fff f_16" @click="handleBack">返回</a>
<a class="c_fff f_16" @click="tj()">提交</a>
</div>
</div>
</div>
<a-modal :width="800" v-model="visible" title="选择其他地址" @ok="handleOk" @cancel="handleCancel">
<a-radio-group v-model="value" @change="onChange">
<a-radio :style="radioStyle" v-for="(item,index) in formInline" :key="index" :value="item.id">
<div style="display: flex;align-items: center">
<j-area-linkage type="cascader" v-model="item.addr1" placeholder="请选择省市区" style="margin-right: 20px"/>
<span style="margin-right: 20px;word-wrap: break-word;
overflow-wrap: break-word;
white-space: normal;">{{item.addr2}}</span><span>{{item.postCode}}</span>
</div>
</a-radio>
</a-radio-group>
</a-modal>
<a-modal v-model="visible2" class="toPay">
<template slot="title">
<div class="c_1B f_20" style="text-align: center;padding: 5px;font-weight: 500">支付宝支付</div>
</template>
<div class="d-flex"
style="
width: 450px;
padding: 30px 10px;
margin: 0 auto;">
<div class="l"
style="
width: 120px;
height: 120px;
margin-right: 20px;" @click="zhifu">
<img style="width: 120px;
height: 120px;" src="../assets/erweima.png"/>
</div>
<div class="r" style="width:290px">
<p class="f_16 c_4B">总计: ¥{{this.dingdaninfo.all}}</p>
<p class="f_14 c_4B">请使用支付宝扫描左图二维码进行支付</p>
<p class="f_14 c_4B">请您在15分钟内付款以免订单被取消,如有疑问,请联系客服。</p>
<p class="f_14 c_4B">订单发货后您将收到订单发货通知短信</p>
</div>
</div>
<template slot="footer">
<div class="d-flex" style="justify-content: center;align-items:center">
<a-button style="margin-right: 30px;border:none;font-size: 12px">手机不在身边? 登录账号付款</a-button>
<a-button style="font-size: 12px" size="small" @click="handleCancel">
返回
</a-button>
</div>
</template>
</a-modal>
<Footer></Footer>
</div>
</template>
<script>
import Header from "../components/Header/HeaderView";
import Footer from "../components/Footer/FooterView"
import { httpAction, getAction } from '@/api/manage'
export default {
name: "placeOrder",
components: { Header,Footer },
data() {
return {
url: {
xd: "/zyorders/zyOrders/xd",
dzlist: "/zyorders/zyOrders/dzlist",
TJorder: "/zyorders/zyOrders/TJorder",
zf: "/zyorders/zyOrders/zf",
},
ordersid:"",
tp:"../assets/cloth001.png",
dingdaninfo:{
orderNum:111111,
createTime:'2022-08-19',
goodsName:'男士职业正装外套',
styleNames:'test01',
modelNumber:'S',
name:'白色素面布',
typeName:'有纺树脂衬',
num:1,
price:2478,
total:2478,
buyer:'张三',
fare:0,//运费
all:0//合计
},//订单信息
value: 1,//弹窗选择的地址id
radioAddr:{
},//弹窗选择的地址
radioStyle: {
display: 'flex',
alignItems:'center'
},
current:0,//目前步骤条在第几步
visible:false,//地址弹窗是否显示
visible2:false,//支付弹窗是否显示
// 全部地址列表
formInline: [
{
id:134325,
user: false,
addr1:'210521',
addr2:'黄淮学院南校区学府花园26号楼弹窗1',
postCode:'463800',
flag:false//是否默认地址
},
{
id:2432,
user: false,
addr1:'210521',
addr2:'黄淮学院南校区学府花园26号楼弹窗2',
postCode:'463800',
flag:false
},
{
id:324345,
user: false,
addr1:'210521',
addr2:'黄淮学院南校区学府花园26号楼弹窗3',
postCode:'463800',
flag:false
},
{
id:424365,
user: false,
addr1:'210521',
addr2:'黄淮学院南校区学府花园26号楼弹窗4',
postCode:'463800',
flag:false
},
],
model:{
id:'',//订单id
orderNum:'1111111',//订单编号
orderTime:'2022-08-19',//下单时间
pay:false,//是否已支付
// receipt:false
},
// 默认展示地址
defaultAddr:{
id:'1',
addr1:'210521',
addr2:'黄淮学院南校区学府花园26号楼默认1',
flag:true,//是否默认地址
postCode:'463800',
},
};
},
methods:{
tj(){
getAction(this.url.TJorder,{OrdersNum:this.model.orderNum,goodsid:this.$route.query.goodsid,goodsNum:this.dingdaninfo.num}).then((res1) => {
if (res1.success) {
this.ordersid = res1.result;
//console.log(res1.result)
this.visible2 = true;
}else{
this.$message.error(res1.message);
}
});
},
zhifu() {
getAction(this.url.zf,{ordersid:this.ordersid,goodsid:this.$route.query.goodsid}).then((res1) => {
if (res1.success) {
this.$notification['success']({
message: '支付成功!',
description:
'自动为您跳转首页中...',
});
let that = this
setTimeout(function(){
that.$router.push({
path: "/shopping/shopHome",
query: {
// id: item.id,
},
});
},2000);
}else{
this.$message.error(res1.message);
}
});
},
handleChange(value) {
this.dingdaninfo.total = this.dingdaninfo.price*value
this.dingdaninfo.all = this.dingdaninfo.total + this.dingdaninfo.fare
},
onChange(e) {
this.radioAddr = this.formInline.find(object => object.id == e.target.value)
this.value = e.target.value
},
showModal() {
this.visible = true;
},
handleOk(e) {
this.visible = false;
if(JSON.stringify(this.radioAddr) !== "{}"){
this.defaultAddr = this.radioAddr
}
},
handleCancel(e) {
this.visible = false;
this.visible2 = false;
},
handleBack(){
this.$router.push({
path: "/shopping/ClothDetail",
query: { id: this.$route.query.goodsid, title: this.$route.query.title ,name:this.$route.query.name,parentName:this.$route.query.parentName},
});
}
},
mounted() {
this.dingdaninfo.all = this.dingdaninfo.total + this.dingdaninfo.fare;
getAction(this.url.dzlist).then((res) => {
if (res.success) {
//console.log(res.result);
this.formInline = res.result;
}else{
this.$message.error(res.message);
}
});
getAction(this.url.xd,{goodsid:this.$route.query.goodsid}).then((res1) => {
if (res1.success) {
//console.log(res1.result)
this.model.orderTime = res1.result.dqsj;
this.model.orderNum = res1.result.orderNum;
this.defaultAddr = res1.result.address;
this.dingdaninfo.buyer = res1.result.gmr;
this.dingdaninfo.goodsName = res1.result.spmc;
this.dingdaninfo.styleNames=res1.result.spks;
this.dingdaninfo.modelNumber=this.$route.query.size;
this.dingdaninfo.name=res1.result.zfl;
this.dingdaninfo.price=res1.result.spjg;
this.tp=res1.result.sptp;
this.dingdaninfo.total = res1.result.spjg;
this.dingdaninfo.all = res1.result.spjg;
}else{
this.$message.error(res1.message);
}
});
},
};
</script>
<style>
.placeOrder .top .middle .fzlx {
border-bottom: 2px solid #000;
}
</style>
<style lang="less" scoped>
@import '../assets/common.css';
.j-area-linkage /deep/ .area-select{
background-color: #fff;
border: none;
span{
padding-left: 0;
font-size: 12px;
color:#313131;
cursor:auto;
font-weight: 500;
}
i{
display: none;
}
}
.ant-radio-group /deep/ .area-cascader-wrap{
height:40px;
.area-select{
height: 40px;
.area-selected-trigger{
height: 40px;line-height:40px;
padding: 0;
}
}
}
.orderMain{
background: #F6F6F6;
padding-bottom: 100px;
padding-top: 50px;
.jz{
.breadcrumb{
padding-top: 50px;
padding-bottom: 50px;
}
.d-flex{
justify-content: space-between;
.l{
width: 300px;
.card{
width: 300px;
height: 157px;
background: #FFFFFF;
margin-bottom: 20px;
text-align: center;
padding-top: 40px;
.f_24{
color: #C8A985;
margin-bottom: 20px;
}
.f_12{
padding: 5px 14px;
border: 1px solid #333333;
}
}
.steps{
width: 300px;
/*height: 736px;*/
background: #FFFFFF;
padding: 32px 55px;
}
}
.r{
width: 1110px;
/*height: 913px;*/
background: #FFFFFF;
padding: 54px 48px;
.title{
padding-bottom: 15px;
border-bottom: 1px solid #DADADA;
.line{
margin-left: 10px;
margin-right: 10px;
}
.right{
width: 25%;
span{
color: #C8A985;
}
}
}
.orderDiv{
padding-bottom: 20px;
border-bottom: 1px solid #DADADA;
.orderAddr{
width: 25%;
color: #333;
font-size: 16px;
p{
margin-bottom: 10px;
}
.headline{
font-weight: 500;
color: #C8A985;
margin-top: 30px;
}
.text{
font-weight: 400;
}
}
.orderList{
width: 75%;
.item{
padding-top: 30px;
border-bottom: 1px solid #DADADA;
&:last-of-type{
border: none;
}
.img{
width: 23.33%;
img{
width: 180px;
height: 180px;
}
}
.info{
width: 43.33%;
padding-right: 15px;
.headline{
font-weight: 500;
}
p{
span{
margin-left: 10px;
display: inline-block;
width: 75%;
}
}
}
.right{
width: 33.33%;
font-weight: 500;
}
}
}}
.heji{
padding: 30px 20px;
p{
span{
width: 20%;
color: #333;
}
.leftSide{
text-align: left;
}
.midst{
text-align: center;
}
.rightSide{
text-align: right;
}
}
}
}
}
}
.btn{
a{
display: inline-block;
width: 284px;
height: 56px;
background: #1B1B1B;
line-height: 56px;
margin-right: 20px;
}
&:hover{
color: red;
}
text-align: center;
margin-top: 60px;
}
}
</style>