Browse Source

更新

master
ltlzx 5 years ago
parent
commit
8fc769b57e
  1. 32
      src/api/index.js
  2. BIN
      src/assets/img/order_stats2.png
  3. 7
      src/components/common/Header.vue
  4. 30
      src/components/page/AssetDetails.vue
  5. 8
      src/components/page/ClassificationDetails.vue
  6. 67
      src/components/page/Deal.vue
  7. 5
      src/components/page/Hoster/myAssets.vue
  8. 6
      src/components/page/Hoster/myOrder.vue
  9. 6
      src/components/page/Order/index.vue
  10. 13
      src/components/page/Order/orderDetails.vue
  11. 2
      src/components/page/Order/orderPendingPay.vue
  12. 2
      src/components/page/Order/sellOrderPendingPay.vue
  13. 74
      src/components/page/Purchaser/myCollection.vue
  14. 4
      src/components/page/Purchaser/myOrder.vue
  15. 2
      src/router/index.js

32
src/api/index.js

@ -192,3 +192,35 @@ export const confirmDelivery = query => {
data: query data: query
}); });
}; };
// 成交公告列表
export const delist = query => {
return request({
url: '/api/user.Order/delist',
method: 'get',
params: query
});
};
// 收藏资产
export const collectAsset = query => {
return request({
url: '/api/user.Asset/collectAsset',
method: 'post',
data: query
});
};
// 取消收藏资产
export const cancelCollectAsset = query => {
return request({
url: '/api/user.Asset/cancelCollectAsset',
method: 'post',
data: query
});
};
// 资产收藏列表
export const CollectList = query => {
return request({
url: '/api/user.Asset/CollectList',
method: 'get',
params: query
});
};

BIN
src/assets/img/order_stats2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

7
src/components/common/Header.vue

@ -59,7 +59,8 @@ export default {
examine_data:{}, examine_data:{},
sidebarList:[ sidebarList:[
{name:'首页',url:''}, {name:'首页',url:''},
{name:'资产分类',url:'/AssetClassification'}, // {name:'',url:'/AssetClassification'},
{name:'资产分类',url:'/ClassificationDetails'},
{name:'挂牌公告',url:'/Listing'}, {name:'挂牌公告',url:'/Listing'},
{name:'成交公告',url:'/Deal'}, {name:'成交公告',url:'/Deal'},
{name:'站内通知',url:'/StationNotice'}, {name:'站内通知',url:'/StationNotice'},
@ -80,7 +81,7 @@ export default {
let data={user_id:9} let data={user_id:9}
// let data={user_id:3} // let data={user_id:3}
isOpenAccount(data).then(res => { isOpenAccount(data).then(res => {
// console.info(res) console.info(res)
this.examine_data=res.data this.examine_data=res.data
if(res.data.is_buyer>0 &&res.data.buyer_status>0){ if(res.data.is_buyer>0 &&res.data.buyer_status>0){
this.sidebarList[0].url='/Purchaser' this.sidebarList[0].url='/Purchaser'
@ -138,7 +139,7 @@ export default {
}else{ }else{
this.sidebarList=[ this.sidebarList=[
{name:'首页',url:''}, {name:'首页',url:''},
{name:'资产分类',url:'/AssetClassification'}, {name:'资产分类',url:'/ClassificationDetails'},
{name:'挂牌公告',url:'/Listing'}, {name:'挂牌公告',url:'/Listing'},
{name:'成交公告',url:'/Deal'}, {name:'成交公告',url:'/Deal'},
{name:'站内通知',url:'/StationNotice'}, {name:'站内通知',url:'/StationNotice'},

30
src/components/page/AssetDetails.vue

@ -42,7 +42,8 @@
<p class="asset_info_p1">浏览记录 {{listingList.views}}</p> <p class="asset_info_p1">浏览记录 {{listingList.views}}</p>
<div class="asset_info_button"> <div class="asset_info_button">
<button class="purchase" @click="checkBuy">立即购买</button> <button class="purchase" @click="checkBuy">立即购买</button>
<button class="collection">放入收藏</button> <button class="collection" v-if="!listingList.is_collect" @click="collectAsset">放入收藏</button>
<button class="collection" v-else @click="cancelCollectAsset">取消收藏</button>
</div> </div>
</div> </div>
</div> </div>
@ -59,7 +60,7 @@
</div> </div>
</template> </template>
<script> <script>
import {assetInfo,checkBuy} from '../../api/index' import {assetInfo,checkBuy,cancelCollectAsset,collectAsset} from '../../api/index'
export default { export default {
data(){ data(){
return{ return{
@ -76,6 +77,30 @@ export default {
this.getData() this.getData()
}, },
methods:{ methods:{
cancelCollectAsset(){
cancelCollectAsset(this.query).then(res=>{
console.info(res)
if (res.code==100) {
this.listingList.is_collect=false
this.$message.success('取消收藏成功!')
}else{
this.$message.error(res.msg);
}
})
},
collectAsset(){
console.info(this.query)
this.query.count=this.listingList.pay_count
collectAsset(this.query).then(res=>{
console.info(res)
if (res.code==100) {
this.listingList.is_collect=true
this.$message.success('收藏资产成功!')
}else{
this.$message.error(res.msg);
}
})
},
checkBuy(){ checkBuy(){
this.query.count=this.listingList.pay_count this.query.count=this.listingList.pay_count
checkBuy(this.query).then(res => { checkBuy(this.query).then(res => {
@ -197,6 +222,7 @@ export default {
height: 100%; height: 100%;
border-radius: 2px; border-radius: 2px;
font-size: 16px; font-size: 16px;
cursor: pointer;
} }
.purchase{ .purchase{
color: white; color: white;

8
src/components/page/ClassificationDetails.vue

@ -1,13 +1,13 @@
<template> <template>
<div> <div>
<div class="breadcrumb"> <!-- <div class="breadcrumb">
<el-breadcrumb separator-class="el-icon-arrow-right"> <el-breadcrumb separator-class="el-icon-arrow-right">
<el-breadcrumb-item :to="{ path: '/AssetClassification' }">所以分类</el-breadcrumb-item> <el-breadcrumb-item :to="{ path: '/AssetClassification' }">所以分类</el-breadcrumb-item>
<el-breadcrumb-item>活动管理</el-breadcrumb-item> <el-breadcrumb-item>活动管理</el-breadcrumb-item>
<el-breadcrumb-item>活动列表</el-breadcrumb-item> <el-breadcrumb-item>活动列表</el-breadcrumb-item>
<el-breadcrumb-item>活动详情</el-breadcrumb-item> <el-breadcrumb-item>活动详情</el-breadcrumb-item>
</el-breadcrumb> </el-breadcrumb>
</div> </div> -->
<div class="seach"> <div class="seach">
<div class="seach_div"> <div class="seach_div">
<div class="seach_item"> <div class="seach_item">
@ -88,7 +88,7 @@ export default {
search_name:'', search_name:'',
status:'' status:''
}, },
pageTotal:2, pageTotal:0,
listingList:[] listingList:[]
} }
}, },
@ -101,7 +101,7 @@ export default {
console.info(res) console.info(res)
if(res.code==100){ if(res.code==100){
this.listingList=res.data.list; this.listingList=res.data.list;
this.pageTotal=res.count this.pageTotal=res.data.count
}else{ }else{
this.$message.error(res.msg) this.$message.error(res.msg)
} }

67
src/components/page/Deal.vue

@ -3,11 +3,11 @@
<div class="seach"> <div class="seach">
<div class="seach_item"> <div class="seach_item">
<span>挂牌代码</span> <span>挂牌代码</span>
<el-input v-model="query.input" placeholder="请输入挂牌代码" class="seach_input"></el-input> <el-input v-model="query.cartellino_id" placeholder="请输入挂牌代码" class="seach_input"></el-input>
</div> </div>
<div class="seach_item"> <div class="seach_item">
<span>标的挂牌类型</span> <span>标的挂牌类型</span>
<el-select v-model="query.value" placeholder="全部" class="seach_input"> <el-select v-model="query.cartellino_type" placeholder="全部" class="seach_input">
<el-option key="1" label="全部" value="全部"></el-option> <el-option key="1" label="全部" value="全部"></el-option>
<el-option key="2" label="协议" value="协议"></el-option> <el-option key="2" label="协议" value="协议"></el-option>
<el-option key="3" label="拍卖" value="拍卖"></el-option> <el-option key="3" label="拍卖" value="拍卖"></el-option>
@ -15,11 +15,11 @@
</div> </div>
<div class="seach_item"> <div class="seach_item">
<span>标的资产类型</span> <span>标的资产类型</span>
<el-input v-model="query.input" placeholder="请输入资产类型关键字" class="seach_input"></el-input> <el-input v-model="query.cartellino_type" placeholder="请输入资产类型关键字" class="seach_input"></el-input>
</div> </div>
<div class="seach_item"> <div class="seach_item">
<span>标的名称</span> <span>标的名称</span>
<el-input v-model="query.input" placeholder="请输入标的名称关键字" class="seach_input"></el-input> <el-input v-model="query.asset_name" placeholder="请输入标的名称关键字" class="seach_input"></el-input>
</div> </div>
<el-dropdown trigger="click"> <el-dropdown trigger="click">
@ -38,47 +38,52 @@
<div class="tabs"> <div class="tabs">
<el-table <el-table
:data="tableData" :data="listData"
header-cell-class-name="theader" header-cell-class-name="theader"
:header-cell-style="{background:'#F8E6E6 !important',color:'#C94C4C',height:'60px',fontSize:'14px'}" :header-cell-style="{background:'#F8E6E6 !important',color:'#C94C4C',height:'60px',fontSize:'14px'}"
style="width: 100%"> style="width: 100%">
<el-table-column <el-table-column
prop="date" prop="asset_id"
align="center" align="center"
label="挂牌代码"> label="挂牌代码">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="name" prop="firm_name"
align="center" align="center"
label="托管方名称"> label="托管方名称">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="address" prop="serial_name"
align="center" align="center"
label="标的名称"> label="标的名称">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="address" prop="username"
align="center" align="center"
label="购买方名称"> label="购买方名称">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="address" prop="pay_mode"
align="center" align="center"
label="挂牌类型"> label="挂牌类型">
<template slot-scope="scope">
<span>{{scope.row.pay_mode==1?'协议':'拍卖'}}</span>
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="address" prop="total_price"
align="center" align="center"
label="交易总额"> label="交易总额">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="address" prop="create_time"
align="center" align="center"
:formatter="formatDate"
label="挂牌日期"> label="挂牌日期">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="address" prop="confirm_delivery_time"
:formatter="formatDate"
align="center" align="center"
label="成交日期"> label="成交日期">
</el-table-column> </el-table-column>
@ -98,24 +103,50 @@
</div> </div>
</template> </template>
<script> <script>
import {delist} from '../../api/index'
import moment from 'moment'
export default { export default {
data(){ data(){
return{ return{
query:{ query:{
page:1, page:1,
limit:10, limit:10,
input:'', sort:'',
value:'' create_time:'',
min_price:'',
max_price:'',
cartellino_type:'',
sell_name:'',
cartellino_id:'',
asset_name:'',
}, },
tableData:[], pageTotal:0,
pageTotal:50 listData:[]
} }
}, },
created(){
this.getData()
},
methods:{ methods:{
//
formatDate(row,colnum){
return moment(row.create_time*1000).format('YYYY-MM-DD HH:mm:ss')
},
getData(){
delist(this.query).then(res => {
console.info(res)
if(res.code==100){
this.listData=res.data.list;
this.pageTotal=res.data.count
}else{
this.$message.error(res.msg)
}
})
},
// //
handlePageChange(val) { handlePageChange(val) {
this.$set(this.query, 'page', val); this.$set(this.query, 'page', val);
// this.getData(); this.getData();
} }
} }
} }

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

@ -114,7 +114,7 @@
</template> </template>
<script> <script>
import moment from 'moment' import moment from 'moment'
import {assetList} from '../../../api/index' import {assetList,soldOut} from '../../../api/index'
export default { export default {
data(){ data(){
return{ return{
@ -142,7 +142,10 @@ export default {
this.assetList() this.assetList()
}, },
methods:{ methods:{
soldOut(){
},
goDetails(id,type){ goDetails(id,type){
console.info(111)
this.$router.push({path:'/AssetListing',query:{id:id,type:type}}) this.$router.push({path:'/AssetListing',query:{id:id,type:type}})
}, },
tableRowClassName({row, rowIndex}) { tableRowClassName({row, rowIndex}) {

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

@ -123,8 +123,12 @@ export default {
}else if(status==6 ){ }else if(status==6 ){
step=4 step=4
}else if(status==7){ }else if(status==7){
step=4 step=5
url='/order/orderDetails'
}else if (status==8) {
step=2
url='/order/orderDetails' url='/order/orderDetails'
type=2
} }
this.$router.push({path:url,query:{step:step,batchcode:batchcode,type:type}}) this.$router.push({path:url,query:{step:step,batchcode:batchcode,type:type}})
}, },

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

@ -2,12 +2,12 @@
<div class="body"> <div class="body">
<p class="title">{{title[step]}}</p> <p class="title">{{title[step]}}</p>
<el-steps :active="step" align-center class="step_bar"> <el-steps :active="step" align-center class="step_bar">
<el-step title="确认订单" :description="confirmTime.confirm_order_time | formatDate" v-if="type==0 || type==1"></el-step> <el-step title="确认订单" :description="confirmTime.confirm_order_time | formatDate" ></el-step>
<el-step title="订单付款" :description="confirmTime.pay_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_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==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.settlement_time | formatDate" v-if="type==1"></el-step>
<el-step title="订单关闭" :description="confirmTime.confirm_delivery_time | formatDate" v-if="type==2"></el-step> <el-step title="订单关闭" :description="confirmTime.close_time | formatDate" v-if="type==2"></el-step>
</el-steps> </el-steps>
<router-view @confirm="confirm" ></router-view> <router-view @confirm="confirm" ></router-view>
</div> </div>

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

@ -32,11 +32,14 @@
</div> </div>
<div class="order_info_right"> <div class="order_info_right">
<div class="order_info_right_title"> <div class="order_info_right_title">
<img src="../../../assets/img/order_stats1.png" alt=""> <img src="../../../assets/img/order_stats2.png" alt="" v-if="type==2">
<span>订单状态已完成</span> <img src="../../../assets/img/order_stats1.png" alt="" v-else>
<span>订单状态{{type==2?'已关闭':'已完成'}}</span>
</div> </div>
<p class="order_info_right_tips">双方交易已完成</p> <p class="order_info_right_tips" v-if="type==0">双方交易已完成</p>
<div class="order_info_right_tips"> <p class="order_info_right_tips" v-else-if="type==1">双方交易已完成订单结算金额 ¥ 27,000.00 已转入开户账户请及时查收</p>
<p class="order_info_right_tips" v-else-if="type==2">交易订单已关闭详情请咨询客服人员</p>
<div class="order_info_right_tips" v-if="type!=2">
<span>您可以点击</span> <span>您可以点击</span>
<button class="pay_button">交易凭证</button> <button class="pay_button">交易凭证</button>
<span>下载资产交易凭证</span> <span>下载资产交易凭证</span>
@ -108,9 +111,11 @@ export default {
orderInfos:{ orderInfos:{
serial_img:[] serial_img:[]
}, },
type:0
} }
}, },
created(){ created(){
this.type=this.$route.query.type
this.query.batchcode=this.$route.query.batchcode this.query.batchcode=this.$route.query.batchcode
this.getData() this.getData()
}, },

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

@ -208,7 +208,7 @@ export default {
}, },
uploadingContract(contract){ uploadingContract(contract){
let data={ let data={
contract:contract, buy_contract:contract,
batchcode:this.query.batchcode, batchcode:this.query.batchcode,
} }
uploadingContract(data).then(res=>{ uploadingContract(data).then(res=>{

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

@ -202,7 +202,7 @@ export default {
methods:{ methods:{
uploadingContract(contract){ uploadingContract(contract){
let data={ let data={
contract:contract, sell_contract:contract,
batchcode:this.query.batchcode, batchcode:this.query.batchcode,
} }
uploadingContract(data).then(res=>{ uploadingContract(data).then(res=>{

74
src/components/page/Purchaser/myCollection.vue

@ -25,36 +25,33 @@
<span style="width:120px">单价</span> <span style="width:120px">单价</span>
<span style="width:155px">数量</span> <span style="width:155px">数量</span>
<span style="width:130px">交易总额</span> <span style="width:130px">交易总额</span>
<span style="width:165px">交易状态</span> <span style="width:130px"></span>
<span style="width:85px;text-align: right;">交易操作</span> <span style="width:85px;text-align: right;">交易操作</span>
</div> </div>
<div class="body"> <div class="body">
<div class="order_item" v-for="(item,index) in 4" :key="index"> <div class="order_item" v-for="(item,index) in orderList" :key="index">
<div class="order_item_id" style="width:48px">1</div> <div class="order_item_id" style="width:48px">{{item.asset_id}}</div>
<img src="../../../assets/img/header_logo.png" alt="" class="order_item_img"> <img :src="item.serial_img[0]" alt="" class="order_item_img">
<div class="order_item_info"> <div class="order_item_info">
<div class="order_item_info_title"> <div class="order_item_info_title">
<span>2021-07-13 18:30:25</span> <span>{{item.create_time | formatDate}}</span>
<span>订单编号15852458965124</span> <!-- <span>订单编号15852458965124</span> -->
<span>资产编号GM-BZ-165254</span> <span>挂牌方{{item.firm_name}}</span>
<span>资产编号{{item.serial}}</span>
</div> </div>
<div class="order_item_info_content"> <div class="order_item_info_content">
<div class="order_item_info_content_left"> <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> </div>
<div class="order_item_info_content_price"> <div class="order_item_info_content_price">
<p class="order_item_info_content_price_p">¥ 30,000.00</p> <p>¥ {{item.price}}</p>
<p>¥ 10,000.00</p>
</div> </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 class="order_item_info_content_all">¥ {{item.total_price}}</div>
<div>已完成</div> <div></div>
<div class="order_item_info_content_operation"> <div class="order_item_info_content_operation">
<p>订单详情</p> <p @click="checkBuy(item.asset_id,item.count)">立即购买</p>
<p>在线联系</p> <p @click="goDetails(item.asset_id)">资产详情</p>
<p>查看评价</p>
</div> </div>
</div> </div>
</div> </div>
@ -73,23 +70,55 @@
</div> </div>
</template> </template>
<script> <script>
import {CollectList,checkBuy} from '../../../api/index'
export default { export default {
data(){ data(){
return{ return{
query:{ query:{
input:'', cartellino_type:'',
time:'', serial_name:'',
pay_time:'',
username:'',
page:1, page:1,
limit:10, limit:10,
}, },
pageTotal:50, pageTotal:0,
orderList:[]
} }
}, },
created(){
this.getData()
},
methods:{ methods:{
checkBuy(id,count){
let data={id:id,count:count}
checkBuy(data).then(res => {
console.info(res)
if(res.code==100){
this.$router.push({path:'/order/confirmOrder',query:{step:0,id:id,count:count}})
}else{
this.$message.error(res.msg)
}
})
},
goDetails(id){
this.$router.push({path:'/AssetDetails',query:{id:id}})
},
getData(){
CollectList(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) { handlePageChange(val) {
this.$set(this.query, 'page', val); this.$set(this.query, 'page', val);
// this.getData(); this.getData();
} }
} }
} }
@ -226,5 +255,6 @@ export default {
} }
.order_item_info_content_operation p{ .order_item_info_content_operation p{
margin-bottom: 5px; margin-bottom: 5px;
cursor: pointer;
} }
</style> </style>

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

@ -123,6 +123,10 @@ export default {
}else if(status==6 ||status==7){ }else if(status==6 ||status==7){
step=4 step=4
url='/order/orderDetails' url='/order/orderDetails'
}else if (status==8) {
step=2
url='/order/orderDetails'
type=2
} }
this.$router.push({path:url,query:{step:step,batchcode:batchcode,type:type}}) this.$router.push({path:url,query:{step:step,batchcode:batchcode,type:type}})
}, },

2
src/router/index.js

@ -7,7 +7,7 @@ export default new Router({
routes: [ routes: [
{ {
path: '/', path: '/',
redirect: 'AssetClassification', redirect: 'ClassificationDetails',
}, },
{ {
path: '/', path: '/',

Loading…
Cancel
Save