Browse Source

交易订单

master
ltlzx 4 years ago
parent
commit
7838f935e8
  1. 72
      src/api/index.js
  2. 2
      src/components/common/Header.vue
  3. 4
      src/components/page/AssetDetails.vue
  4. 74
      src/components/page/Hoster/Listing.vue
  5. 9
      src/components/page/Hoster/index.vue
  6. 113
      src/components/page/Hoster/myAssets.vue
  7. 112
      src/components/page/Hoster/myOrder.vue
  8. 68
      src/components/page/Order/confirmOrder.vue
  9. 23
      src/components/page/Order/index.vue
  10. 68
      src/components/page/Order/orderDetails.vue
  11. 2
      src/components/page/Order/orderPayment.vue
  12. 260
      src/components/page/Order/orderPendingPay.vue
  13. 508
      src/components/page/Order/sellOrderPendingPay.vue
  14. 141
      src/components/page/Purchaser/myOrder.vue
  15. 2
      src/main.js
  16. 8
      src/router/index.js

72
src/api/index.js

@ -120,3 +120,75 @@ export const assetClassInfo = query => {
params: query
});
};
// 获取确认订单信息
export const getConfirmOrder = query => {
return request({
url: '/api/user.Order/getConfirmOrder',
method: 'post',
data: query
});
};
// 提交订单
export const submitOrder = query => {
return request({
url: '/api/user.Order/submitOrder',
method: 'post',
data: query
});
};
// 获取订单信息
export const orderInfo = query => {
return request({
url: '/api/user.Order/orderInfo',
method: 'get',
params: query
});
};
// 订单上传线下转账记录
export const uploadingRecord = query => {
return request({
url: '/api/user.Order/uploadingRecord',
method: 'post',
data: query
});
};
// 修改资产挂牌
export const update_cartellino = query => {
return request({
url: '/api/user.Asset/update_cartellino',
method: 'post',
data: query
});
};
// 挂牌方订单列表
export const seller_order_list = query => {
return request({
url: '/api/user.Order/seller_order_list',
method: 'get',
params: query
});
};
// 挂牌方订单列表
export const buyer_order_list = query => {
return request({
url: '/api/user.Order/buyer_order_list',
method: 'get',
params: query
});
};
// 上传签约合同
export const uploadingContract = query => {
return request({
url: '/api/user.Order/uploadingContract',
method: 'post',
data: query
});
};
// 确认交付
export const confirmDelivery = query => {
return request({
url: '/api/user.Order/confirmDelivery',
method: 'post',
data: query
});
};

2
src/components/common/Header.vue

@ -80,7 +80,7 @@ export default {
let data={user_id:9}
// let data={user_id:3}
isOpenAccount(data).then(res => {
console.info(res)
// console.info(res)
this.examine_data=res.data
if(res.data.is_buyer>0 &&res.data.buyer_status>0){
this.sidebarList[0].url='/Purchaser'

4
src/components/page/AssetDetails.vue

@ -81,7 +81,8 @@ export default {
checkBuy(this.query).then(res => {
console.info(res)
if(res.code==100){
this.$router.push({path:'/order/confirmOrder',query:{step:0}})
this.query.count=this.listingList.pay_count
this.$router.push({path:'/order/confirmOrder',query:{step:0,id:this.query.id,count:this.query.count}})
}else{
this.$message.error(res.msg)
}
@ -91,6 +92,7 @@ export default {
assetInfo(this.query).then(res => {
console.info(res)
if(res.code==100){
this.query.count=this.listingList.pay_count
this.listingList=res.data;
}else{
this.$message.error(res.msg)

74
src/components/page/Hoster/Listing.vue

@ -1,5 +1,5 @@
<template>
<div class="body">
<div class="body" >
<p class="title">资产挂牌</p>
<div class="listing_title">基础信息</div>
<el-form :model="ruleForm" :rules="rules" ref="ruleForm1" label-width="150px" class="ruleForm" label-position="left">
@ -140,15 +140,15 @@
<el-radio v-model="ruleForm.pay_type" :label="2">网银支付</el-radio>
</el-form-item>
</el-form>
<div class="footer">
<button class="submit" @click="submit">提交资料</button>
<div class="footer" >
<el-button class="submit" @click="submit" v-if="query.type!=0" :loading="loading">提交资料</el-button>
</div>
</div>
</template>
<script>
import { mavonEditor } from 'mavon-editor'
import 'mavon-editor/dist/css/index.css'
import {get_asset_type,getProvince,getCity,getArea,cartellino,getPrice} from '../../../api/index'
import {get_asset_type,getProvince,getCity,getArea,cartellino,getPrice,assetInfo,update_cartellino} from '../../../api/index'
export default {
data(){
return{
@ -156,7 +156,7 @@ export default {
action:'http://wenhua.xingtongworld.com/api/Index/uploadimg',
query:{
id:'',
// name:''
type:1
},
options:[],
props: {
@ -165,6 +165,7 @@ export default {
leaf:'is_son',
emitPath:false
},
loading:false,
province:[],
city:[],
area:[],
@ -259,11 +260,31 @@ export default {
mavonEditor
},
created(){
if(this.$route.query.id){
this.query=this.$route.query
this.getAssetInfo()
}
this.get_asset_type();
this.getProvince();
this.getPrice()
},
methods:{
//
getAssetInfo(){
assetInfo(this.query).then(res=>{
console.info(res)
if(res.code==100){
res.data.province=parseInt(res.data.province)
res.data.city=parseInt(res.data.city)
res.data.area=parseInt(res.data.area)
this.ruleForm=res.data
this.getCity()
this.getArea()
}else{
this.$message.error(res.msg)
}
})
},
getPrice(){
getPrice().then(res => {
console.info(res)
@ -273,7 +294,6 @@ export default {
})
},
changeDate(type){
console.info(type)
if(type==0){
this.getCity()
}else if(type==1){
@ -282,7 +302,6 @@ export default {
},
getProvince(){
getProvince().then(res => {
console.info(res)
if(res.code==100){
this.province=res.list
}
@ -293,7 +312,6 @@ export default {
code:this.ruleForm.province
}
getCity(data).then(res=>{
console.info(res)
if(res.code==100){
this.city=res.list
}
@ -304,7 +322,6 @@ export default {
code:this.ruleForm.city
}
getArea(data).then(res=>{
console.info(res)
if(res.code==100){
this.area=res.list
}
@ -312,7 +329,6 @@ export default {
},
get_asset_type(){
get_asset_type().then(res=>{
console.info(res)
if(res.code==100){
this.options=res.data
}
@ -322,14 +338,36 @@ export default {
console.info(this.ruleForm)
this.$refs["ruleForm1"].validate((valid) => {
if(valid){
cartellino(this.ruleForm).then(res=>{
console.info(res)
if(res.code==100){
this.$message.success('上传成功!请等待审核~');
}else{
this.$message.error(res.msg);
}
})
this.loading=true
if(this.query.type==2){
this.update_cartellino()
}else{
this.cartellino()
}
}
})
},
//
cartellino(){
cartellino(this.ruleForm).then(res=>{
console.info(res)
this.loading=false
if(res.code==100){
this.$message.success('上传成功!请等待审核~');
}else{
this.$message.error(res.msg);
}
})
},
//
update_cartellino(){
update_cartellino(this.ruleForm).then(res=>{
console.info(res)
this.loading=false
if(res.code==100){
this.$message.success('修改成功!请等待审核~');
}else{
this.$message.error(res.msg);
}
})
},

9
src/components/page/Hoster/index.vue

@ -19,10 +19,15 @@ export default {
header_active:0
}
},
created(){
if(this.$route.query.type){
this.header_active=this.$route.query.type
}
},
methods:{
goPage(url,index){
this.$router.push(url)
this.header_active=index
this.$router.push({path:url,query:{type:index}} )
this.header_active=index;
}
}
}

113
src/components/page/Hoster/myAssets.vue

@ -4,7 +4,7 @@
<div class="header_left">
<span v-for="(item,index) in headerList" :key="index" :class="header_active==index ? 'header_active':''" @click="goPage(item.url)">{{item.name}}</span>
</div>
<button class="hedaer_button" @click="goPage">资产挂牌</button>
<button class="hedaer_button" @click="goDetails('',1)">资产挂牌</button>
</div>
<div class="seach">
<div class="seach_item">
@ -26,19 +26,61 @@
</div>
</div>
<div class="body">
<div class="order_item" v-for="(item,index) in 4" :key="index">
<div class="order_item_id">1</div>
<img src="../../../assets/img/header_logo.png" alt="" class="order_item_img">
<el-table
:data="assetLists"
style="width: 100%"
:row-class-name="tableRowClassName">
<el-table-column prop="id" label="序号" width="50" align="center"></el-table-column>
<el-table-column prop="name" label="资产" width="280" align="center">
<template slot-scope="scope" >
<dir class="order_item">
<img :src="scope.row.serial_img" alt="" class="order_item_img">
<div class="table_div">
<p class="table_p1">{{scope.row.serial_name}}</p>
<p class="table_p">托管方东莞市芳华沉香园林景观有限公司</p>
</div>
</dir>
</template>
</el-table-column>
<el-table-column prop="price" label="单价" align="center"></el-table-column>
<el-table-column prop="surplus_count" label="库存" align="center"></el-table-column>
<el-table-column prop="count" label="数量" align="center"></el-table-column>
<el-table-column prop="create_time" label="创建时间" :formatter="formatDate" align="center"></el-table-column>
<el-table-column prop="send_time" label="发布时间" :formatter="formatDate" align="center"></el-table-column>
<el-table-column prop="out_time" label="下架时间" :formatter="formatDate" align="center"></el-table-column>
<el-table-column label="资产状态" align="center">
<template slot-scope="scope">
<span>{{scope.row.asset_status==0? '待审核':scope.row.asset_status==1?'待复核':scope.row.asset_status==2?'发布中':scope.row.asset_status==3?'已下架':'已转让'}}</span>
</template>
</el-table-column>
<el-table-column label="资产操作" align="center">
<template slot-scope="scope">
<template v-if="scope.row.asset_status==0 || scope.row.asset_status==4 ||scope.row.asset_status==3">
<p class="table_p2" @click="goDetails(scope.row.id,0)">查看资产</p>
</template>
<template v-else-if="scope.row.asset_status==1">
<p class="table_p2" @click="goDetails(scope.row.id,2)">编辑资产</p>
</template>
<template v-else-if="scope.row.asset_status==2">
<p class="table_p2" @click="goDetails(scope.row.id,0)">查看资产</p>
<p class="table_p2">申请摘牌</p>
</template>
</template>
</el-table-column>
</el-table>
<!-- <div class="order_item" v-for="(item,index) in assetLists" :key="index">
<div class="order_item_id">{{item.id}}</div>
<img :src="item.serial_img" alt="" class="order_item_img">
<div class="order_item_info">
<div class="order_item_info_title">
<span>2021-07-13 18:30:25</span>
<span>{{item.create_time | formatDate}}</span>
<span>订单编号15852458965124</span>
<span>托管方东莞市芳华沉香园林景观有限公司</span>
<span>资产编号GM-BZ-165254</span>
<span>资产编号{{item.serial}}</span>
</div>
<div class="order_item_info_content">
<div class="order_item_info_content_left">
<p>东莞市芳华沉香园林景观有限公司20棵沉香树采集权2</p>
<p>{{item.serial_name}}</p>
<p>运费¥ 80.00</p>
<p>服务费¥ 1,000.00</p>
</div>
@ -46,7 +88,7 @@
<p class="order_item_info_content_price_p">¥ 30,000.00</p>
<p>单价¥ 10,000.00</p>
</div>
<div class="order_item_id">数量3</div>
<div class="order_item_id">数量{{item.count}}</div>
<div class="order_item_info_content_all">交易总额¥ 31,080.00</div>
<div>交易状态已完成</div>
<div class="order_item_info_content_operation">
@ -56,7 +98,7 @@
</div>
</div>
</div>
</div>
</div> -->
</div>
<div class="pagination">
<el-pagination
@ -71,6 +113,7 @@
</div>
</template>
<script>
import moment from 'moment'
import {assetList} from '../../../api/index'
export default {
data(){
@ -82,8 +125,8 @@ export default {
limit:10,
status:''
},
pageTotal:50,
assetLists:[],
pageTotal:0,
headerList:[
{name:'全部资产',url:''},
{name:'待审核',url:''},
@ -99,18 +142,41 @@ export default {
this.assetList()
},
methods:{
goDetails(id,type){
this.$router.push({path:'/AssetListing',query:{id:id,type:type}})
},
tableRowClassName({row, rowIndex}) {
let n=rowIndex
for(let i=0 ;i<this.assetLists.length;i++){
if (rowIndex ===2*i+1 ) {
return 'warning-row';
}
}
return '';
},
//
formatDate(row,colnum){
if(row[colnum.property]==0){
return ''
}else{
return moment(row[colnum.property]*1000).format('YYYY-MM-DD HH:mm:ss')
}
},
assetList(){
assetList(this.query).then(res => {
console.info(res)
if(res.code==100){
this.assetLists=res.data.list;
this.pageTotal=res.data.count
}else{
this.$message.error(res.msg)
}
})
},
goPage(){
this.$router.push('/AssetListing')
},
//
handlePageChange(val) {
this.$set(this.query, 'page', val);
// this.getData();
this.assetList();
}
}
}
@ -242,4 +308,21 @@ export default {
.order_item_info_content_operation p{
margin-bottom: 5px;
}
.body>>>.warning-row{
background: #F2F2F2;
}
.table_div >p{
font-size: 12px;
text-align: left;
}
.table_p{
color: #7F7F7F;
}
.table_p1{
color: black;
}
.table_p2{
color: #294CC6;
cursor: pointer;
}
</style>

112
src/components/page/Hoster/myOrder.vue

@ -1,15 +1,15 @@
<template>
<div>
<div class="header">
<span v-for="(item,index) in headerList" :key="index" :class="header_active==index ? 'header_active':''" @click="goPage(item.url)">{{item.name}}</span>
<span v-for="(item,index) in headerList" :key="index" :class="header_active==index ? 'header_active':''" @click="changeSelect(index,item.type)">{{item.name}}</span>
</div>
<div class="seach">
<div class="seach_item">
<el-input v-model="query.input" placeholder="请输入资产名称/资产编号或托管方名称" class="seach_input" suffix-icon="el-icon-search"></el-input>
<el-input v-model="query.cartellino_type" placeholder="请输入资产名称/资产编号或托管方名称" class="seach_input" suffix-icon="el-icon-search"></el-input>
</div>
<div class="seach_item">
<el-date-picker
v-model="query.time"
v-model="query.create_time"
class="seach_input1"
type="date"
placeholder="选择日期">
@ -23,33 +23,44 @@
</div>
</div>
<div class="body">
<div class="order_item" v-for="(item,index) in 4" :key="index">
<div class="order_item_id">1</div>
<img src="../../../assets/img/header_logo.png" alt="" class="order_item_img">
<div class="order_item" v-for="(item,index) in orderList" :key="index">
<div class="order_item_id">{{item.id}}</div>
<img :src="item.serial_img" alt="" class="order_item_img">
<div class="order_item_info">
<div class="order_item_info_title">
<span>2021-07-13 18:30:25</span>
<span>订单编号15852458965124</span>
<span>托管方东莞市芳华沉香园林景观有限公司</span>
<span>资产编号GM-BZ-165254</span>
<span>{{item.create_time | formatDate}}</span>
<span>订单编号{{item.batchcode}}</span>
<span>托管方{{item.firm_name}}</span>
<span>资产编号{{item.serial}}</span>
</div>
<div class="order_item_info_content">
<div class="order_item_info_content_left">
<p>东莞市芳华沉香园林景观有限公司20棵沉香树采集权2</p>
<p>运费¥ 80.00</p>
<p>服务费¥ 1,000.00</p>
<p>{{item.serial_name}}</p>
<p>契税¥ {{item.contract_tax}}</p>
<p>印花税¥ {{item.printing_tax}}</p>
</div>
<div class="order_item_info_content_price">
<p class="order_item_info_content_price_p">¥ 30,000.00</p>
<p>单价¥ 10,000.00</p>
<p>单价¥ {{item.price}}</p>
</div>
<div class="order_item_id">数量{{item.count}}</div>
<div class="order_item_info_content_all">交易总额¥ {{item.total_price}}</div>
<div>交易状态
<span v-if="item.status==0">待支付</span>
<span v-else-if="item.status==1">待审核付款</span>
<span v-else-if="item.status==2">待上传签约合同</span>
<span v-else-if="item.status==3">待确认签约合同</span>
<span v-else-if="item.status==4">待交付</span>
<span v-else-if="item.status==5">待确认交付</span>
<span v-else-if="item.status==6">待结算</span>
<span v-else-if="item.status==7">已完成</span>
<span v-else-if="item.status==8">已关闭</span>
<span v-else-if="item.status==9">退款中</span>
<span v-else-if="item.status==10">已退款</span>
<span v-else-if="item.status==11">已取消</span>
</div>
<div class="order_item_id">数量3</div>
<div class="order_item_info_content_all">交易总额¥ 31,080.00</div>
<div>交易状态已完成</div>
<div class="order_item_info_content_operation">
<p>订单详情</p>
<p>在线联系</p>
<p>查看评价</p>
<p @click="goDetails(item.status,item.batchcode)">订单详情</p>
<p>下载合同</p>
</div>
</div>
</div>
@ -68,32 +79,75 @@
</div>
</template>
<script>
import {seller_order_list} from '../../../api/index'
export default {
data(){
return{
query:{
input:'',
time:'',
cartellino_type:'',
buyer:'',
create_time:'',
asset_name:'',
page:1,
limit:10,
order_status:''
},
pageTotal:50,
headerList:[
{name:'全部订单',url:''},
{name:'代付款',url:''},
{name:'待交付',url:''},
{name:'待评价',url:''},
{name:'已完成',url:''},
{name:'全部订单',type:''},
{name:'代付款',type:1},
{name:'待签约',type:2},
{name:'待交付',type:3},
{name:'已完成',type:4},
{name:'已关闭',type:5},
],
orderList:[],
header_active:0
}
},
created(){
this.getData()
},
methods:{
goDetails(status,batchcode){
let step,
type=1,
url='/order/sellorderPendingPay';
if(status==0||status==1){
step=1
}else if(status==2||status==3){
step=2
}else if(status==4||status==5){
step=3
}else if(status==6 ){
step=4
}else if(status==7){
step=4
url='/order/orderDetails'
}
this.$router.push({path:url,query:{step:step,batchcode:batchcode,type:type}})
},
changeSelect(index,type){
this.header_active=index
this.query.order_status=type
this.getData()
},
getData(){
seller_order_list(this.query).then(res => {
console.info(res)
if(res.code==100){
this.orderList=res.data.list;
this.pageTotal=res.data.count
}else{
this.$message.error(res.msg)
}
})
},
//
handlePageChange(val) {
this.$set(this.query, 'page', val);
// this.getData();
this.getData();
}
}
}

68
src/components/page/Order/confirmOrder.vue

@ -12,23 +12,23 @@
<p class="order_title">挂牌方东莞市芳华沉香园林景观有限公司</p>
<div class="order_content">
<div class="order_content_item">
<img src="../../../assets/img/achievements_bg.png" alt="" class="order_content_item_img">
<span class="order_content_item_span">东莞市芳华沉香园林景观有限公司20棵沉香树采集权2</span>
<img :src="orderInfo.serial_img" alt="" class="order_content_item_img">
<span class="order_content_item_span">{{orderInfo.serial_name}}</span>
</div>
<div class="order_content_item">
<span>GM-BZ-165254</span>
<span>{{orderInfo.serial}}</span>
</div>
<div class="order_content_item">
<span>采集权</span>
<span>{{orderInfo.asset_type_name}}</span>
</div>
<div class="order_content_item">
<span>¥ 10,000.00</span>
<span>¥ {{orderInfo.money}}</span>
</div>
<div class="order_content_item">
<span>3</span>
<span>{{orderInfo.count}}</span>
</div>
<div class="order_content_item">
<span class="order_price">¥ 30,000.00</span>
<span class="order_price">¥ {{orderInfo.price}}</span>
</div>
</div>
<div class="order_other">
@ -40,38 +40,38 @@
class="order_message_input"
resize="none"
placeholder="请输入内容"
v-model="textarea">
v-model="query.buy_message">
</el-input>
</div>
<div class="order_other_item_right">
<div>
<span>契税 ¥ 1,500.00</span>
<span class="order_price">¥ 1,500.00</span>
<span>契税 ¥ {{orderInfo.contract_tax}}</span>
<span class="order_price">¥ {{orderInfo.contract_tax}}</span>
</div>
<div>
<span>印花税 ¥ 1,500.00</span>
<span class="order_price">¥ 1,500.00</span>
<span>印花税 ¥ {{orderInfo.printing_tax}}</span>
<span class="order_price">¥ {{orderInfo.printing_tax}}</span>
</div>
</div>
</div>
<div class="order_other_item order_other_item1">
<span>金额合计 </span>
<span class="all_price"> ¥ 33,000.00</span>
<span class="all_price"> ¥ {{orderInfo.totall_price}}</span>
</div>
</div>
<div class="order_foot">
<div class="order_info">
<p class="order_info_item">
<span class="order_info_span">实付款</span>
<span class="order_info_span1">¥ 33,000.00</span>
<span class="order_info_span1">¥ {{orderInfo.totall_price}}</span>
</p>
<p class="order_info_item">
<span class="order_info_span">联系地址 </span>
<span >广东省 东莞市 虎门镇 华东区 讯发大厦2座B607</span>
<span >{{orderInfo.express.address}}</span>
</p>
<p class="order_info_item">
<span class="order_info_span">联系人 </span>
<span >陈阳明 13812345678</span>
<span >{{orderInfo.express.uname}} {{orderInfo.express.phone}}</span>
</p>
</div>
<button class="order_button" @click="submit">提交订单</button>
@ -79,15 +79,47 @@
</div>
</template>
<script>
import { getConfirmOrder,submitOrder} from '../../../api/index'
export default {
name:'confirmOrder',
data(){
return{
query:{
id:'',
count:'',
buy_message:''
},
orderInfo:{
express:{}
}
}
},
created(){
this.query.id=this.$route.query.id
this.query.count=this.$route.query.count
this.getDate()
},
methods:{
getDate(){
getConfirmOrder(this.query).then(res => {
console.info(res)
if(res.code==100){
this.orderInfo=res.data;
}else{
this.$message.error(res.msg)
}
})
},
submit(){
this.$router.push({path:'/order/orderPayment',query:{step:1}})
submitOrder(this.query).then(res=>{
console.info(res)
if(res.code==100){
this.$router.push({path:'/order/orderPayment',query:{step:1,batchcode:res.data.batchcode}})
this.$emit('confirm',res.data)
}else{
this.$message.error(res.msg)
}
})
}
}
}

23
src/components/page/Order/index.vue

@ -2,12 +2,14 @@
<div class="body">
<p class="title">{{title[step]}}</p>
<el-steps :active="step" align-center class="step_bar">
<el-step title="确认订单" description="这是一段很长很长很长的描述性文字"></el-step>
<el-step title="订单付款" description="这是一段很长很长很长的描述性文字"></el-step>
<el-step title="线下签约" description="这是一段很长很长很长的描述性文字"></el-step>
<el-step title="确认交付" description="这是一段很长很长很长的描述性文字"></el-step>
<el-step title="确认订单" :description="confirmTime.confirm_order_time | formatDate" v-if="type==0 || type==1"></el-step>
<el-step title="订单付款" :description="confirmTime.pay_time | formatDate" v-if="type==0 || type==1"></el-step>
<el-step title="线下签约" :description="confirmTime.confirm_contract_time | formatDate" v-if="type==0 || type==1"></el-step>
<el-step title="确认交付" :description="confirmTime.confirm_delivery_time | formatDate" v-if="type==0 || type==1"></el-step>
<el-step title="订单结算" :description="confirmTime.confirm_delivery_time | formatDate" v-if="type==1"></el-step>
<el-step title="订单关闭" :description="confirmTime.confirm_delivery_time | formatDate" v-if="type==2"></el-step>
</el-steps>
<router-view></router-view>
<router-view @confirm="confirm" ></router-view>
</div>
</template>
<script>
@ -15,11 +17,20 @@ export default{
data(){
return{
step:0,
title:['确认订单','订单付款','线下签约','确认交付']
title:['确认订单','订单付款','线下签约','确认交付'],
confirmTime:'',
type:0
}
},
created(){
this.step= parseInt(this.$route.query.step)
this.type=this.$route.query.type
},
methods:{
confirm(val){
console.info(val);
this.confirmTime=val;
}
}
}
</script>

68
src/components/page/Order/orderDetails.vue

@ -6,27 +6,27 @@
<div class="order_info_left_content">
<div class="order_info_left_content_item">
<span>联系地址 </span>
<span>广东省 东莞市 虎门镇 华东区 讯发大厦2座B607</span>
<span>{{orderInfos.express_address}}</span>
</div>
<div class="order_info_left_content_item">
<span>联系人 </span>
<span>陈阳明 13812345678</span>
<span>{{orderInfos.express_user}} {{orderInfos.express_userphone}}</span>
</div>
<div class="order_info_left_content_item">
<span>订单编号 </span>
<span>851245854512</span>
<span>{{orderInfos.batchcode}}</span>
</div>
<div class="order_info_left_content_item">
<span>下单时间 </span>
<span>2021-08-08 10:33:54</span>
<span>{{orderInfos.create_time | formatDate}}</span>
</div>
<div class="order_info_left_content_item">
<span>挂牌方 </span>
<span>东莞市芳华沉香园林景观有限公司</span>
<span>{{orderInfos.sell_name}}</span>
</div>
<div class="order_info_left_content_item">
<span>摘牌方留言 </span>
<span></span>
<span>{{orderInfos. sell_message}}</span>
</div>
</div>
</div>
@ -53,63 +53,79 @@
</div>
<div class="order_content">
<div class="order_content_item">
<img src="../../../assets/img/achievements_bg.png" alt="" class="order_content_item_img">
<span class="order_content_item_span">东莞市芳华沉香园林景观有限公司20棵沉香树采集权2</span>
<img :src="orderInfos.serial_img[0]" alt="" class="order_content_item_img">
<span class="order_content_item_span">{{orderInfos.serial_name}}</span>
</div>
<div class="order_content_item">
<span>GM-BZ-165254</span>
<span>GM-BZ-165254{{orderInfos.serial_name}}</span>
</div>
<div class="order_content_item">
<span>采集权</span>
<span>{{orderInfos.asset_type_name}}</span>
</div>
<div class="order_content_item">
<span>¥ 10,000.00</span>
<span>¥ {{orderInfos.single_price}}</span>
</div>
<div class="order_content_item">
<span>3</span>
<span>{{orderInfos.count}}</span>
</div>
<div class="order_content_item">
<span class="order_price">¥ 30,000.00</span>
<span class="order_price">¥ {{orderInfos.price}}</span>
</div>
</div>
<div class="order_other">
<div class="order_other_item">
<div class="order_message">
<span>给挂牌方留言</span>
<el-input
type="textarea"
class="order_message_input"
resize="none"
placeholder="请输入内容"
v-model="textarea">
</el-input>
<span>{{orderInfos.buy_message}}</span>
</div>
<div class="order_other_item_right">
<div>
<span>契税 ¥ 1,500.00</span>
<span class="order_price">¥ 1,500.00</span>
<span>契税 ¥ {{orderInfos.contract_tax}}</span>
<span class="order_price">¥ {{orderInfos.contract_tax}}</span>
</div>
<div>
<span>印花税 ¥ 1,500.00</span>
<span class="order_price">¥ 1,500.00</span>
<span>印花税 ¥ {{orderInfos.printing_tax}}</span>
<span class="order_price">¥ {{orderInfos.printing_tax}}</span>
</div>
</div>
</div>
<div class="order_other_item order_other_item1">
<span>金额合计 </span>
<span class="all_price"> ¥ 33,000.00</span>
<span class="all_price"> ¥ 33,000.00{{orderInfos.serial_name}}</span>
</div>
</div>
</div>
</template>
<script>
import {orderInfo} from '../../../api/index'
export default {
data(){
return{
query:{
batchcode:'',
record:''
},
orderInfos:{
serial_img:[]
},
}
},
created(){
this.query.batchcode=this.$route.query.batchcode
this.getData()
},
methods:{
getData(){
orderInfo(this.query).then(res => {
console.info(res)
if(res.code==100){
this.orderInfos=res.data
this.$emit('confirm',res.data)
}else{
this.$message.error(res.msg)
}
})
},
}
}
</script>

2
src/components/page/Order/orderPayment.vue

@ -31,7 +31,7 @@ export default {
},
methods:{
submit(){
this.$router.push({path:'/order/orderPendingPay',query:{step:1}})
this.$router.push({path:'/order/orderPendingPay',query:{step:1,batchcode:this.$route.query.batchcode}})
}
}
}

260
src/components/page/Order/orderPendingPay.vue

@ -6,46 +6,110 @@
<div class="order_info_left_content">
<div class="order_info_left_content_item">
<span>联系地址 </span>
<span>广东省 东莞市 虎门镇 华东区 讯发大厦2座B607</span>
<span>{{orderInfos.express_address}}</span>
</div>
<div class="order_info_left_content_item">
<span>联系人 </span>
<span>陈阳明 13812345678</span>
<span>{{orderInfos.express_user}} {{orderInfos.express_userphone}}</span>
</div>
<div class="order_info_left_content_item">
<span>订单编号 </span>
<span>851245854512</span>
<span>{{orderInfos.batchcode}}</span>
</div>
<div class="order_info_left_content_item">
<span>下单时间 </span>
<span>2021-08-08 10:33:54</span>
<span>{{orderInfos.create_time | formatDate}}</span>
</div>
<div class="order_info_left_content_item">
<span>挂牌方 </span>
<span>东莞市芳华沉香园林景观有限公司</span>
<span>{{orderInfos.sell_name}}</span>
</div>
<div class="order_info_left_content_item">
<span>摘牌方留言 </span>
<span></span>
<span>{{orderInfos. sell_message}}</span>
</div>
</div>
</div>
<div class="order_info_right">
<div class="order_info_right_title">
<img src="../../../assets/img/order_stats.png" alt="">
<span>订单状态等待摘牌方付款</span>
<span>订单状态
<template v-if="orderInfos.status==0 && orderInfos.check_status==0">等待摘牌方付款</template>
<template v-else-if="orderInfos.status==1 && orderInfos.check_status==0">等待交易所确认</template>
<template v-else-if="orderInfos.status==1 && orderInfos.check_status==2">付款确认审核失败</template>
<template v-else-if="orderInfos.status==2 && orderInfos.check_status==0">等待双方上传签约合同</template>
<template v-else-if="orderInfos.status==3 && orderInfos.check_status==0">等待交易所确认签约合同</template>
<template v-else-if="orderInfos.status==3 && orderInfos.check_status==2">确认签约合同审核失败</template>
<template v-else-if="orderInfos.status==4 ">等待摘牌方确认交付</template>
</span>
</div>
<p class="order_info_right_tips">
<p class="order_info_right_tips" v-if="orderInfos.status==0 && orderInfos.check_status==0 || orderInfos.status==1 && orderInfos.check_status==2">
您还有
<span class="order_time">23小时43分15秒</span>
<span class="order_time">23小时43分15秒{{orderInfos.serial_name}}</span>
来付款超时订单自动关闭订单关闭后3天内不能再重复购买同一个资产为避免不便之处请尽快付款
</p>
<div class="order_info_right_tips">
<p class="order_info_right_tips" v-if="orderInfos.status==4">
您还有
<span class="order_time">23小时43分15秒{{orderInfos.serial_name}}</span>
来确认超时订单自动确认订单确认后交易所将会出具双方交易凭证确认资产交易成功请尽快确认
</p>
<p class="order_info_right_tips" v-else-if="orderInfos.status==1 && orderInfos.check_status==0">
已上传转账记录还有<span class="order_time">23小时43分15秒{{orderInfos.serial_name}}</span>由交易所确认请耐心等候
</p>
<p class="order_info_right_tips" v-else-if="orderInfos.status==2 && orderInfos.check_status==0 || orderInfos.status==3 && orderInfos.check_status==2">
请双方上传签约合同PDF文件扫描件由交易所见证交易过程
</p>
<p class="order_info_right_tips" v-else-if="orderInfos.status==3 && orderInfos.check_status==0">
交易所正在审核确认双方上传的签约合同请耐心等候
</p>
<template v-if="orderInfos.status==2 && orderInfos.check_status==0|| orderInfos.status==3 && orderInfos.check_status==0 ||orderInfos.status==3 && orderInfos.check_status==2">
<div class="order_info_right_tips">
<span>挂牌方上传</span>
<el-upload
v-if="orderInfos.buy_contract==null"
class="upload-demo"
:action="action1"
:show-file-list="false"
:on-error="handleAvatarError"
list-type="picture"
:on-success="(res,file)=>{handleAvatarSuccess1(res,file)}"
>
<span class="upload_span ">{{orderInfos.check_status==2? '重新上传':'点击上传'}}</span>
</el-upload>
<a v-else class="upload_span upload-demo" :href="orderInfos.buy_contract" download>查看记录</a>
</div>
<div class="order_info_right_tips">
<span>摘牌方上传</span>
<a class="upload_span upload-demo" @click="imgDetils(orderInfos.sell_contract)">查看记录</a>
</div>
</template>
<div class="order_info_right_tips" v-if="orderInfos.status==4 ">
<span>您可以点击</span>
<button class="pay_button" @click="confirmDelivery">确认交付</button>
<span>确认交易交付成功</span>
</div>
<div class="order_info_right_tips" v-if="orderInfos.status==0 || orderInfos.status==1 ">
<span>您可以</span>
<button class="pay_button">网银支付</button>
<span>或上传转账记录</span>
<span>点击上传</span>
<template v-if="orderInfos.status==0 && orderInfos.check_status==0 || orderInfos.status==1 && orderInfos.check_status==2">
<button class="pay_button">网银支付</button>
<span>或上传转账记录</span>
<el-upload
class="upload-demo"
:action="action"
:on-change="fileChange"
:show-file-list="false"
:on-error="handleAvatarError"
list-type="picture"
:on-success="(res,file)=>{handleAvatarSuccess(res,file)}"
>
<span class="upload_span">点击上传</span>
</el-upload>
</template>
<template v-else-if="orderInfos.status==1 && orderInfos.check_status==0">
<span class="upload_span1" @click="onPreview(orderInfos.pay_record)">查看记录</span>
</template>
</div>
<div class="error_msg" v-if="orderInfos.check_status==2">失败原因{{orderInfos.check_content}}</div>
</div>
</div>
<div class="order_head">
@ -58,67 +122,192 @@
</div>
<div class="order_content">
<div class="order_content_item">
<img src="../../../assets/img/achievements_bg.png" alt="" class="order_content_item_img">
<span class="order_content_item_span">东莞市芳华沉香园林景观有限公司20棵沉香树采集权2</span>
<img :src="orderInfos.serial_img[0]" alt="" class="order_content_item_img">
<span class="order_content_item_span">{{orderInfos.serial_name}}</span>
</div>
<div class="order_content_item">
<span>GM-BZ-165254</span>
<span>GM-BZ-165254{{orderInfos.serial_name}}</span>
</div>
<div class="order_content_item">
<span>采集权</span>
<span>{{orderInfos.asset_type_name}}</span>
</div>
<div class="order_content_item">
<span>¥ 10,000.00</span>
<span>¥ {{orderInfos.single_price}}</span>
</div>
<div class="order_content_item">
<span>3</span>
<span>{{orderInfos.count}}</span>
</div>
<div class="order_content_item">
<span class="order_price">¥ 30,000.00</span>
<span class="order_price">¥ {{orderInfos.price}}</span>
</div>
</div>
<div class="order_other">
<div class="order_other_item">
<div class="order_message">
<span>给挂牌方留言</span>
<el-input
type="textarea"
class="order_message_input"
resize="none"
placeholder="请输入内容"
v-model="textarea">
</el-input>
<span>{{orderInfos.buy_message}}</span>
</div>
<div class="order_other_item_right">
<div>
<span>契税 ¥ 1,500.00</span>
<span class="order_price">¥ 1,500.00</span>
<span>契税 ¥ {{orderInfos.contract_tax}}</span>
<span class="order_price">¥ {{orderInfos.contract_tax}}</span>
</div>
<div>
<span>印花税 ¥ 1,500.00</span>
<span class="order_price">¥ 1,500.00</span>
<span>印花税 ¥ {{orderInfos.printing_tax}}</span>
<span class="order_price">¥ {{orderInfos.printing_tax}}</span>
</div>
</div>
</div>
<div class="order_other_item order_other_item1">
<span>金额合计 </span>
<span class="all_price"> ¥ 33,000.00</span>
<span class="all_price"> ¥ 33,000.00{{orderInfos.serial_name}}</span>
</div>
</div>
<el-image-viewer
v-if="showViewer"
:on-close="closeViewer"
:url-list="img_url"
:z-index="9999"
/>
</div>
</template>
<script>
import {orderInfo,uploadingRecord,uploadingContract,confirmDelivery} from '../../../api/index'
export default {
data(){
return{
query:{
batchcode:'',
record:''
},
showViewer:false,
img_url:[],
orderInfos:{
serial_img:[]
},
host:'http://wenhua.xingtongworld.com',
action:'http://wenhua.xingtongworld.com/api/Index/uploadimg',
action1:'http://wenhua.xingtongworld.com/api/Index/uploadFile',
}
},
components: {
ElImageViewer: () => import('element-ui/packages/image/src/image-viewer')
},
created(){
this.query.batchcode=this.$route.query.batchcode
this.getData()
},
methods:{
confirmDelivery(){
confirmDelivery(this.query).then(res=>{
console.info(res)
if(res.code==100){
this.$router.push({path:'/order/orderDetails',query:{step:this.$route.query.step,batchcode:this.query.batchcode,type:this.$route.query.type}})
}
})
},
uploadingContract(contract){
let data={
contract:contract,
batchcode:this.query.batchcode,
}
uploadingContract(data).then(res=>{
console.info(res)
if(res.code==100){
this.orderInfos.buy_contract=this.host+res.data.img_url;
this.$message.success('上传成功!');
}
})
},
imgDetils(img){
if(img!=null){
window.location.href = img;
}else{
this.$message.error('摘牌方还未上传签约合同')
}
},
getData(){
orderInfo(this.query).then(res => {
console.info(res)
if(res.code==100){
this.orderInfos=res.data
this.$emit('confirm',res.data)
}else{
this.$message.error(res.msg)
}
})
},
uploadingRecord(){
uploadingRecord(this.query).then(res => {
console.info(res)
if(res.code==100){
this.$message.success('文件上传成功!请等待审核~');
}else{
this.$message.error(res.msg)
}
})
},
onPreview(img) {
this.img_url = img
this.showViewer = true
},
//
closeViewer() {
this.showViewer = false
},
handleAvatarError(){
this.$message.error('文件上传失败!');
},
handleAvatarSuccess1(res,file){
console.info(res)
if(res.code==1){
let contract=this.host+res.data.img_url;
this.uploadingContract(contract)
}else{
this.$message.error(res.msg);
}
},
handleAvatarSuccess(res, file, index,key){
if(res.code==1){
this.query.record=this.host+res.data.img_url;
this.uploadingRecord()
}
},
fileChange(file){
const typeArr = ['image/png', 'image/gif', 'image/jpeg', 'image/jpg'];
const isJPG = typeArr.indexOf(file.raw.type) !== -1;
const isLt3M = file.size / 1024 / 1024 < 3;
if (!isJPG) {
this.$message.error('只能是图片!');
this.$refs.upload.clearFiles();
return;
}
if (!isLt3M) {
this.$message.error('上传图片大小不能超过 3MB!');
this.$refs.upload.clearFiles();
// this.$set(this.query, 'goods_img', '');
return;
}
},
}
}
</script>
<style scoped>
.upload-demo{
margin-left: 20px;
}
.upload_span{
color: #294CC6;
text-decoration: underline;
cursor: pointer;
}
.upload_span1{
color: #294CC6;
text-decoration: underline;
display: inline-block;
margin-left: 20px;
cursor: pointer;
}
.order_info{
width: 100%;
min-height: 360px;
@ -315,4 +504,9 @@ export default {
padding-right: 20px;
box-sizing: border-box;
}
.error_msg{
font-size: 12px;
color: #89201F;
margin-left: 80px;
}
</style>

508
src/components/page/Order/sellOrderPendingPay.vue

@ -0,0 +1,508 @@
<template>
<div>
<div class="order_info">
<div class="order_info_left">
<div class="order_info_left_title">订单信息</div>
<div class="order_info_left_content">
<div class="order_info_left_content_item">
<span>联系地址 </span>
<span>{{orderInfos.express_address}}</span>
</div>
<div class="order_info_left_content_item">
<span>联系人 </span>
<span>{{orderInfos.express_user}} {{orderInfos.express_userphone}}</span>
</div>
<div class="order_info_left_content_item">
<span>订单编号 </span>
<span>{{orderInfos.batchcode}}</span>
</div>
<div class="order_info_left_content_item">
<span>下单时间 </span>
<span>{{orderInfos.create_time | formatDate}}</span>
</div>
<div class="order_info_left_content_item">
<span>挂牌方 </span>
<span>{{orderInfos.sell_name}}</span>
</div>
<div class="order_info_left_content_item">
<span>摘牌方留言 </span>
<span>{{orderInfos. sell_message}}</span>
</div>
</div>
</div>
<div class="order_info_right">
<div class="order_info_right_title">
<img src="../../../assets/img/order_stats.png" alt="">
<span>订单状态
<template v-if="orderInfos.status==0 && orderInfos.check_status==0">等待摘牌方付款</template>
<template v-else-if="orderInfos.status==1 && orderInfos.check_status==0">等待交易所确认</template>
<template v-else-if="orderInfos.status==1 && orderInfos.check_status==2">摘牌方付款确认审核失败</template>
<template v-else-if="orderInfos.status==2 && orderInfos.check_status==0">等待双方上传签约合同</template>
<template v-else-if="orderInfos.status==3 && orderInfos.check_status==0">等待交易所确认签约合同</template>
<template v-else-if="orderInfos.status==3 && orderInfos.check_status==2">确认签约合同审核失败</template>
<template v-else-if="orderInfos.status==4 ">等待摘牌方确认交付</template>
<template v-else-if="orderInfos.status==6 ">订单结算中</template>
</span>
</div>
<p class="order_info_right_tips" v-if="orderInfos.status==0 && orderInfos.check_status==0 || orderInfos.status==1 && orderInfos.check_status==2">
摘牌方还要23小时43分15秒来付款超时订单自动关闭
</p>
<p class="order_info_right_tips" v-if="orderInfos.status==6">
摘牌方已确认交付该订单正在结算中订单结算金额为 ¥ 27,000.00 请耐心等候
</p>
<p class="order_info_right_tips" v-else-if="orderInfos.status==1 && orderInfos.check_status==0">
摘牌方已上传转账记录还有23小时43分15秒由交易所确认请耐心等候
</p>
<p class="order_info_right_tips" v-else-if="orderInfos.status==2 && orderInfos.check_status==0||orderInfos.status==3 && orderInfos.check_status==2">
请双方上传签约合同PDF文件扫描件由交易所见证交易过程
</p>
<p class="order_info_right_tips" v-else-if="orderInfos.status==3 && orderInfos.check_status==0">
交易所正在审核确认双方上传的签约合同请耐心等候
</p>
<p class="order_info_right_tips" v-if="orderInfos.status==4">
摘牌方还有
<span class="order_time">23小时43分15秒{{orderInfos.serial_name}}</span>
来确认超时订单自动确认订单确认后交易所将会出具双方交易凭证确认资产交易成功
</p>
<template v-if="orderInfos.status==2 && orderInfos.check_status==0 ||orderInfos.status==3 && orderInfos.check_status==0||orderInfos.status==3 && orderInfos.check_status==2">
<div class="order_info_right_tips">
<span>摘牌方上传</span>
<el-upload
v-if="orderInfos. sell_contract==null && orderInfos.check_status==0 || orderInfos.check_status==2"
class="upload-demo"
:action="action1"
:show-file-list="false"
:on-error="handleAvatarError"
list-type="picture"
:on-success="(res,file)=>{handleAvatarSuccess1(res,file)}"
>
<span class="upload_span ">{{orderInfos.check_status==2? '重新上传':'点击上传'}}</span>
</el-upload>
<a v-else class="upload_span upload-demo" :href="orderInfos.sell_contract" download>查看记录</a>
</div>
<div class="order_info_right_tips">
<span>挂牌方上传</span>
<a class="upload_span upload-demo" @click="imgDetils(orderInfos.buy_contract)">查看记录</a>
</div>
</template>
<div class="order_info_right_tips" v-if="orderInfos.status==6 ">
<span>您可以点击</span>
<button class="pay_button" @click="imgDetils()">交易凭证</button>
<span>下载资产交易凭证</span>
</div>
<div class="order_info_right_tips" v-if="orderInfos.status==0 || orderInfos.status==1">
<span>您可以</span>
<template v-if="orderInfos.status==0 && orderInfos.check_status==0 || orderInfos.status==1 && orderInfos.check_status==2">
<button class="pay_button">网银支付</button>
<span>或上传转账记录</span>
<el-upload
class="upload-demo"
:action="action"
:on-change="fileChange"
:show-file-list="false"
:on-error="handleAvatarError"
list-type="picture"
:on-success="(res,file)=>{handleAvatarSuccess(res,file)}"
>
<span class="upload_span">点击上传</span>
</el-upload>
</template>
<template v-else-if="orderInfos.status==1 && orderInfos.check_status==0">
<span class="upload_span1" @click="onPreview(orderInfos.pay_record)">查看记录</span>
</template>
</div>
<div class="error_msg" v-if="orderInfos.check_status==2">失败原因{{orderInfos.check_content}}</div>
</div>
</div>
<div class="order_head">
<div class="order_head_item" >资产名称</div>
<div class="order_head_item" >资产编号</div>
<div class="order_head_item" >资产分类</div>
<div class="order_head_item" >资产单价</div>
<div class="order_head_item" >交易数量</div>
<div class="order_head_item" >金额小计</div>
</div>
<div class="order_content">
<div class="order_content_item">
<img :src="orderInfos.serial_img[0]" alt="" class="order_content_item_img">
<span class="order_content_item_span">{{orderInfos.serial_name}}</span>
</div>
<div class="order_content_item">
<span>GM-BZ-165254{{orderInfos.serial_name}}</span>
</div>
<div class="order_content_item">
<span>{{orderInfos.asset_type_name}}</span>
</div>
<div class="order_content_item">
<span>¥ {{orderInfos.single_price}}</span>
</div>
<div class="order_content_item">
<span>{{orderInfos.count}}</span>
</div>
<div class="order_content_item">
<span class="order_price">¥ {{orderInfos.price}}</span>
</div>
</div>
<div class="order_other">
<div class="order_other_item">
<div class="order_message">
<span>给挂牌方留言</span>
<span>{{orderInfos.buy_message}}</span>
</div>
<div class="order_other_item_right">
<div>
<span>契税 ¥ {{orderInfos.contract_tax}}</span>
<span class="order_price">¥ {{orderInfos.contract_tax}}</span>
</div>
<div>
<span>印花税 ¥ {{orderInfos.printing_tax}}</span>
<span class="order_price">¥ {{orderInfos.printing_tax}}</span>
</div>
</div>
</div>
<div class="order_other_item order_other_item1">
<span>金额合计 </span>
<span class="all_price"> ¥ 33,000.00{{orderInfos.serial_name}}</span>
</div>
</div>
<el-image-viewer
v-if="showViewer"
:on-close="closeViewer"
:url-list="img_url"
:z-index="9999"
/>
</div>
</template>
<script>
import {orderInfo,uploadingRecord,uploadingContract} from '../../../api/index'
export default {
data(){
return{
query:{
batchcode:'',
record:''
},
showViewer:false,
img_url:[],
orderInfos:{
serial_img:[]
},
host:'http://wenhua.xingtongworld.com',
action:'http://wenhua.xingtongworld.com/api/Index/uploadimg',
action1:'http://wenhua.xingtongworld.com/api/Index/uploadFile',
}
},
components: {
ElImageViewer: () => import('element-ui/packages/image/src/image-viewer')
},
created(){
this.query.batchcode=this.$route.query.batchcode
this.getData()
},
methods:{
uploadingContract(contract){
let data={
contract:contract,
batchcode:this.query.batchcode,
}
uploadingContract(data).then(res=>{
console.info(res)
if(res.code==100){
this.orderInfos.buy_contract=this.host+res.data.img_url;
this.$message.success('上传成功!');
}else{
this.$message.error(res.msg)
}
})
},
imgDetils(img){
if(img!=null){
window.location.href = img;
}else{
this.$message.error('摘牌方还未上传签约合同')
}
},
getData(){
orderInfo(this.query).then(res => {
console.info(res)
if(res.code==100){
this.orderInfos=res.data
this.$emit('confirm',res.data)
}else{
this.$message.error(res.msg)
}
})
},
uploadingRecord(){
uploadingRecord(this.query).then(res => {
console.info(res)
if(res.code==100){
this.$message.success('文件上传成功!请等待审核~');
}else{
this.$message.error(res.msg)
}
})
},
onPreview(img) {
this.img_url = img
this.showViewer = true
},
//
closeViewer() {
this.showViewer = false
},
handleAvatarError(){
this.$message.error('文件上传失败!');
},
handleAvatarSuccess1(res,file){
console.info(res)
if(res.code==1){
let contract=this.host+res.data.img_url;
this.uploadingContract(contract)
}else{
this.$message.error(res.msg);
}
},
handleAvatarSuccess(res, file, index,key){
if(res.code==1){
this.query.record=this.host+res.data.img_url;
this.uploadingRecord()
}
},
fileChange(file){
const typeArr = ['image/png', 'image/gif', 'image/jpeg', 'image/jpg'];
const isJPG = typeArr.indexOf(file.raw.type) !== -1;
const isLt3M = file.size / 1024 / 1024 < 3;
if (!isJPG) {
this.$message.error('只能是图片!');
this.$refs.upload.clearFiles();
return;
}
if (!isLt3M) {
this.$message.error('上传图片大小不能超过 3MB!');
this.$refs.upload.clearFiles();
// this.$set(this.query, 'goods_img', '');
return;
}
},
}
}
</script>
<style scoped>
.upload-demo{
margin-left: 20px;
}
.upload_span{
color: #294CC6;
text-decoration: underline;
cursor: pointer;
}
.upload_span1{
color: #294CC6;
text-decoration: underline;
display: inline-block;
margin-left: 20px;
cursor: pointer;
}
.order_info{
width: 100%;
min-height: 360px;
height: auto;
border: 1px solid rgba(215, 215, 215, 1);
margin-bottom: 30px;
display: flex;
}
.order_info_right{
width: 940px;
display: flex;
flex-direction: column;
justify-content: center;
padding-left: 60px;
box-sizing: border-box;
}
.order_info_right_title{
display: flex;
align-items: center;
font-size: 16px;
margin-bottom: 35px;
}
.order_info_right_title img{
width: 30px;
height: 30px;
margin-right: 30px;
}
.order_info_right_tips{
font-size: 12px;
color: #555555;
display: flex;
align-items: center;
margin-left: 80px;
margin-bottom: 25px;
}
.order_time{
color: #89201F;
}
.pay_button{
width: 80px;
font-size: 12px;
color: #555555;
height: 30px;
border: 1px solid #D7D7D7;
margin: 0 20px;
cursor: pointer;
}
.order_info_left{
width: 250px;
border-right: 1px solid rgba(215, 215, 215, 1);
box-sizing: border-box;
background-color: #F2F2F2;
}
.order_info_left_title{
padding-left: 20px;
background-color: #E7E7E7;
display: flex;
height: 40px;
align-items: center;
font-size: 12px;
font-weight: 650;
border-bottom: 1px solid rgba(215, 215, 215, 1);
box-sizing: border-box;
}
.order_info_left_content{
padding: 10px 20px;
min-height: 320px;
height: auto;
box-sizing: border-box;
display: flex;
flex-direction: column;
justify-content: space-between;
}
.order_info_left_content_item{
font-size: 12px;
color: #555555;
display: flex;
margin-bottom: 10px;
}
.order_info_left_content_item span:first-child{
display: inline-block;
width: 80px;
margin-right: 10px;
}
.order_info_left_content_item span:last-child{
display: inline-block;
width: 135px;
}
.order_head{
display: flex;
justify-content: space-between;
margin-bottom: 25px;
width: 100%;
}
.order_head_item{
width: 166px;
font-size: 12px;
color: #7F7F7F;
text-align: center;
border-bottom: 2px solid rgba(215, 215, 215, 1);
padding-bottom: 5px;
}
.order_head_item:first-child{
width:340px
}
.order_content{
height: 75px;
background-color: rgba(255, 255, 255, 0);
border-top: 1px dashed #AAAAAA;
border-bottom: 1px dashed #AAAAAA;
display: flex;
justify-content: space-between;
margin-bottom: 5px;
}
.order_content_item{
width: 166px;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
font-size: 12px;
box-sizing: border-box;
}
.order_content_item:first-child{
width:340px;
justify-content: flex-start;
padding-left: 20px;
}
.order_content_item:last-child{
justify-content: flex-end;
padding-right: 20px;
}
.order_content_item_img{
width: 55px;
height: 55px;
margin-right: 10px;
}
.order_content_item_span{
display: inline-block;
width: 240px;
}
.order_price{
color: #EB4747;
}
.order_other{
margin-bottom: 100px;
}
.order_other_item{
display: flex;
justify-content: space-between;
height: 103px;
width: 100%;
}
.order_message{
width: 596px;
padding: 10px 20px;
display: flex;
font-size: 12px;
background: #F2F2F2;
box-sizing: border-box;
}
.order_message .order_message_input{
width: 455px;
margin-left: 10px;
}
.order_message_input >>>.el-textarea__inner{
height: 75px;
}
.order_other_item_right{
display: flex;
flex-direction: column;
justify-content: space-between;
}
.order_other_item_right>div{
width: 601px;
height: 50px;
background-color: rgba(242, 242, 242, 1);
font-size: 12px;
padding: 0 20px;
display: flex;
align-items: center;
box-sizing: border-box;
justify-content: space-between;
}
.order_other_item1{
height: 50px;
background: #F2F2F2;
align-items: center;
justify-content: flex-end;
margin-top: 3px;
font-size: 14px;
padding-right: 20px;
box-sizing: border-box;
}
.error_msg{
font-size: 12px;
color: #89201F;
margin-left: 80px;
}
</style>

141
src/components/page/Purchaser/myOrder.vue

@ -1,15 +1,15 @@
<template>
<div>
<div class="header">
<span v-for="(item,index) in headerList" :key="index" :class="header_active==index ? 'header_active':''" @click="goPage(item.url)">{{item.name}}</span>
<span v-for="(item,index) in headerList" :key="index" :class="header_active==index ? 'header_active':''" @click="changeSelect(index,item.type)">{{item.name}}</span>
</div>
<div class="seach">
<div class="seach_item">
<el-input v-model="query.input" placeholder="请输入资产名称/资产编号或托管方名称" class="seach_input" suffix-icon="el-icon-search"></el-input>
<el-input v-model="query.cartellino_type" placeholder="请输入资产名称/资产编号或托管方名称" class="seach_input" suffix-icon="el-icon-search"></el-input>
</div>
<div class="seach_item">
<el-date-picker
v-model="query.time"
v-model="query.create_time"
class="seach_input1"
type="date"
placeholder="选择日期">
@ -22,43 +22,45 @@
</span>
</div>
</div>
<div class="body_header">
<span style="width:48px">序号</span>
<span style="width:485px">资产</span>
<span style="width:120px">单价</span>
<span style="width:155px">数量</span>
<span style="width:130px">交易总额</span>
<span style="width:165px">交易状态</span>
<span style="width:85px;text-align: right;">交易操作</span>
</div>
<div class="body">
<div class="order_item" v-for="(item,index) in 4" :key="index">
<div class="order_item_id" style="width:48px">1</div>
<img src="../../../assets/img/header_logo.png" alt="" class="order_item_img">
<div class="order_item" v-for="(item,index) in orderList" :key="index">
<div class="order_item_id">{{item.id}}</div>
<img :src="item.serial_img" alt="" class="order_item_img">
<div class="order_item_info">
<div class="order_item_info_title">
<span>2021-07-13 18:30:25</span>
<span>订单编号15852458965124</span>
<span>托管方东莞市芳华沉香园林景观有限公司</span>
<span>资产编号GM-BZ-165254</span>
<span>{{item.create_time | formatDate}}</span>
<span>订单编号{{item.batchcode}}</span>
<span>托管方{{item.firm_name}}</span>
<span>资产编号{{item.serial}}</span>
</div>
<div class="order_item_info_content">
<div class="order_item_info_content_left">
<p>东莞市芳华沉香园林景观有限公司20棵沉香树采集权2</p>
<p>运费¥ 80.00</p>
<p>服务费¥ 1,000.00</p>
<p>{{item.serial_name}}</p>
<p>契税¥ {{item.contract_tax}}</p>
<p>印花税¥ {{item.printing_tax}}</p>
</div>
<div class="order_item_info_content_price">
<p class="order_item_info_content_price_p">¥ 30,000.00</p>
<p>¥ 10,000.00</p>
<p>单价¥ {{item.price}}</p>
</div>
<div class="order_item_id">数量{{item.count}}</div>
<div class="order_item_info_content_all">交易总额¥ {{item.total_price}}</div>
<div>交易状态
<span v-if="item.status==0">待支付</span>
<span v-else-if="item.status==1">待审核付款</span>
<span v-else-if="item.status==2">待上传签约合同</span>
<span v-else-if="item.status==3">待确认签约合同</span>
<span v-else-if="item.status==4">待交付</span>
<span v-else-if="item.status==5">待确认交付</span>
<span v-else-if="item.status==6">待结算</span>
<span v-else-if="item.status==7">已完成</span>
<span v-else-if="item.status==8">已关闭</span>
<span v-else-if="item.status==9">退款中</span>
<span v-else-if="item.status==10">已退款</span>
<span v-else-if="item.status==11">已取消</span>
</div>
<div class="order_item_id">3</div>
<div class="order_item_info_content_all">¥ 31,080.00</div>
<div>已完成</div>
<div class="order_item_info_content_operation">
<p @click="orderDetails">订单详情</p>
<p>在线联系</p>
<p>查看评价</p>
<p @click="goDetails(item.status,item.batchcode)">订单详情</p>
<p>下载合同</p>
</div>
</div>
</div>
@ -77,56 +79,78 @@
</div>
</template>
<script>
import {buyer_order_list} from '../../../api/index'
export default {
data(){
return{
query:{
input:'',
time:'',
cartellino_type:'',
buyer:'',
create_time:'',
asset_name:'',
page:1,
limit:10,
order_status:''
},
pageTotal:50,
headerList:[
{name:'全部订单',url:''},
{name:'代付款',url:''},
{name:'待交付',url:''},
{name:'待评价',url:''},
{name:'已完成',url:''},
{name:'全部订单',type:''},
{name:'代付款',type:1},
{name:'待签约',type:2},
{name:'待交付',type:3},
{name:'已完成',type:4},
{name:'已关闭',type:5},
],
orderList:[],
header_active:0
}
},
created(){
this.getData()
},
methods:{
goDetails(status,batchcode){
let step,
type=0,
url='/order/orderPendingPay';
if(status==0||status==1){
step=1
}else if(status==2||status==3){
step=2
}else if(status==4||status==5){
step=3
}else if(status==6 ||status==7){
step=4
url='/order/orderDetails'
}
this.$router.push({path:url,query:{step:step,batchcode:batchcode,type:type}})
},
changeSelect(index,type){
this.header_active=index
this.query.order_status=type
this.getData()
},
getData(){
buyer_order_list(this.query).then(res => {
console.info(res)
if(res.code==100){
this.orderList=res.data.list;
this.pageTotal=res.data.count
}else{
this.$message.error(res.msg)
}
})
},
//
handlePageChange(val) {
this.$set(this.query, 'page', val);
// this.getData();
},
orderDetails(){
this.$router.push({path:'/order/orderDetails',query:{step:4}})
this.getData();
}
}
}
</script>
<style scoped>
.body_header{
background: #F8E6E6;
width: 100%;
border: 1px solid #E9B7B7;
border-top: none;
font-size: 14px;
color: #C94C4C;
height: 50px;
display: flex;
align-items: center;
box-sizing: border-box;
}
.body_header span{
display: inline-block;
text-align: center;
}
.header{
font-size: 14px;
}
@ -188,8 +212,6 @@ export default {
align-items: center;
font-size: 14px;
padding: 15px 0;
padding-right: 15px;
box-sizing: border-box;
}
.order_item:nth-child(2n+2){
background-color: #FDF8F8;
@ -239,6 +261,5 @@ export default {
}
.order_item_info_content_operation p{
margin-bottom: 5px;
cursor: pointer;
}
</style>

2
src/main.js

@ -13,7 +13,7 @@ Vue.use(ElementUI, {
});
Vue.filter('formatDate',function (input,fmtstring) {//当input为时间戳,需转为Number类型
if(input){
return moment(input*1000).format(fmtstring);
return moment(input*1000).format('YYYY-MM-DD HH:mm:ss');
}else{
return "";
}

8
src/router/index.js

@ -119,6 +119,7 @@ export default new Router({
meta: { title: '订单' },
children:[
{
name:'confirmOrder',
path: 'confirmOrder',
component: () => import(/* webpackChunkName: "dashboard" */ '../components/page/Order/confirmOrder.vue'),
meta: { title: '确认订单' }
@ -131,7 +132,12 @@ export default new Router({
{
path: 'orderPendingPay',
component: () => import(/* webpackChunkName: "dashboard" */ '../components/page/Order/orderPendingPay.vue'),
meta: { title: '订单付款' }
meta: { title: '买家订单付款' }
},
{
path: 'sellOrderPendingPay',
component: () => import(/* webpackChunkName: "dashboard" */ '../components/page/Order/sellOrderPendingPay.vue'),
meta: { title: '卖家订单付款' }
},
{
path: 'orderDetails',

Loading…
Cancel
Save