|
@@ -0,0 +1,276 @@
|
|
|
+<template>
|
|
|
+ <div class="orderbtob_details_wrapper">
|
|
|
+ <div class="mobile-header">
|
|
|
+ <a @click="goLastPage"><i class="iconfont icon-fanhui"></i></a>
|
|
|
+ <p>{{active === 'accept' ? '客户采购验收明细' : '客户采购验退明细'}}</p>
|
|
|
+ </div>
|
|
|
+ <div class="orderbtob_details_content">
|
|
|
+ <div class="orderbtob_details_top">
|
|
|
+ <div class="item clearfix">
|
|
|
+ <span class="name fl">买家:</span>
|
|
|
+ <span class="fl" style="width: 5.2rem">{{listInfo.enterprise.enName || listInfo.custEnterprise.enName || '-'}}</span>
|
|
|
+ </div>
|
|
|
+ <div class="item clearfix">
|
|
|
+ <span class="name fl">验收单号:</span>
|
|
|
+ <span class="fl" style="width: 5.2rem">{{listInfo.code || '-'}}</span>
|
|
|
+ </div>
|
|
|
+ <div class="item clearfix">
|
|
|
+ <span class="name fl">送货单号:</span>
|
|
|
+ <span class="fl" style="width: 5.2rem">{{listInfo.sendCode || '-'}}</span>
|
|
|
+ </div>
|
|
|
+ <div class="item">
|
|
|
+ <span class="name">总金额:</span>
|
|
|
+ {{listInfo.currency}} {{listInfo.totalPrice | computeNum(2)}}
|
|
|
+ </div>
|
|
|
+ <div class="item">
|
|
|
+ <span class="name">付款方式:</span>
|
|
|
+ {{listInfo.payments || '-'}}
|
|
|
+ </div>
|
|
|
+ <div class="item">
|
|
|
+ <span class="name">验收日期:</span>
|
|
|
+ {{listInfo.date | time}}
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="orderbtob_details_middle">
|
|
|
+ <div class="list" v-for="item in listInfo.keyItems">
|
|
|
+ <div class="item clearfix">
|
|
|
+ <span class="name fl">物料编号:</span>
|
|
|
+ <span class="fl">{{item.product.code || '-'}}</span>
|
|
|
+ </div>
|
|
|
+ <hr>
|
|
|
+ <div class="item clearfix">
|
|
|
+ <span class="name fl">品牌:</span>
|
|
|
+ <span class="fl" style="width: 5rem">{{item.product.brand || '-'}}</span>
|
|
|
+ </div>
|
|
|
+ <div class="item clearfix">
|
|
|
+ <span class="name fl">物料名称:</span>
|
|
|
+ <span class="fl" style="width: 5rem">{{item.product.title || '-'}}</span>
|
|
|
+ </div>
|
|
|
+ <div class="item clearfix">
|
|
|
+ <span class="name fl">型号规格:</span>
|
|
|
+ <span class="fl" style="width: 5rem">{{item.product.spec || '-'}}</span>
|
|
|
+ </div>
|
|
|
+ <div class="item clearfix">
|
|
|
+ <span class="name fl">订单:</span>
|
|
|
+ <span class="fl" v-if="item.orderItem">{{item.orderItem.order.code || '-'}}</span>
|
|
|
+ <span class="fl" v-else>-</span>
|
|
|
+ </div>
|
|
|
+ <div class="item clearfix">
|
|
|
+ <span class="name fl">批号:</span>
|
|
|
+ <span class="fl">{{item.batchCode || '-'}}</span>
|
|
|
+ </div>
|
|
|
+ <div class="item clearfix">
|
|
|
+ <span class="name fl">单位:</span>
|
|
|
+ <span class="fl">{{item.product.unit || '-'}}</span>
|
|
|
+ </div>
|
|
|
+ <div class="item clearfix">
|
|
|
+ <span class="name fl">数量:</span>
|
|
|
+ <span class="fl">{{item.qty || '-'}}</span>
|
|
|
+ </div>
|
|
|
+ <div class="item clearfix">
|
|
|
+ <span class="name fl">单价:</span>
|
|
|
+ <span class="fl">{{listInfo.currency}} {{item.orderPrice | computeNum(2) || '-'}}</span>
|
|
|
+ </div>
|
|
|
+ <div class="clearfix" style="border-top:1px solid #D9D9D9;padding-right: 0.15rem;line-height: 0.8rem" >
|
|
|
+ <div class="fl" style="font-size: 0.26rem">小计:</div>
|
|
|
+ <div class="fr" style="color: #FF3208;font-size: 0.26rem">{{item.itemTotalPrice | computeNum(2)}}</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <remind-box :title="collectResult" :timeoutCount="timeoutCount"></remind-box>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+ import { RemindBox } from '~components/mobile/common'
|
|
|
+ export default {
|
|
|
+ name: 'accept_returns_details',
|
|
|
+ layout: 'mobileActivity',
|
|
|
+ middleware: 'authenticated',
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ active: this.$route.query.type,
|
|
|
+ detailsId: this.$route.query.id,
|
|
|
+ isUser: '',
|
|
|
+ listInfo: {
|
|
|
+ enterprise: {},
|
|
|
+ custEnterprise: {},
|
|
|
+ keyItems: []
|
|
|
+ },
|
|
|
+ collectResult: '',
|
|
|
+ timeoutCount: 0
|
|
|
+ }
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.getInitInfo()
|
|
|
+ this._getToken()
|
|
|
+ })
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ _iniFo(str) {
|
|
|
+ this.collectResult = str
|
|
|
+ this.timeoutCount++
|
|
|
+ },
|
|
|
+ getInitInfo() {
|
|
|
+ this.$http.get(`/btob/sale/${this.active}/${this.detailsId}/info`).then(res => {
|
|
|
+ this.listInfo = res.data
|
|
|
+ let sum = 0
|
|
|
+ let key = this.active === 'accept' ? 'acceptItems' : 'returnItems'
|
|
|
+ this.listInfo[key].forEach(data => {
|
|
|
+ if (data.orderPrice == null) {
|
|
|
+ data.orderPrice = 0
|
|
|
+ }
|
|
|
+ data.itemTotalPrice = data.orderPrice * data.qty
|
|
|
+ sum += data.orderPrice * data.qty
|
|
|
+ })
|
|
|
+ this.listInfo.totalPrice = sum
|
|
|
+ this.listInfo.keyItems = this.baseUtils.deepCopy(this.listInfo[key])
|
|
|
+ this.listInfo.enterprise = this.listInfo.enterprise ? this.baseUtils.deepCopy(this.listInfo.enterprise) : {}
|
|
|
+ this.listInfo.custEnterprise = this.listInfo.custEnterprise ? this.baseUtils.deepCopy(this.listInfo.custEnterprise) : {}
|
|
|
+ console.log(this.listInfo)
|
|
|
+ })
|
|
|
+ },
|
|
|
+ _getToken() {
|
|
|
+ this.$http.get('/btob/account/role/isUser').then(res => {
|
|
|
+ this.isUser = res.data.isUser
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ components: {
|
|
|
+ RemindBox
|
|
|
+ },
|
|
|
+ filters: {
|
|
|
+ time: function(time) {
|
|
|
+ if (typeof time === 'number') {
|
|
|
+ if (!time) {
|
|
|
+ return '无'
|
|
|
+ } else {
|
|
|
+ let d = new Date(time)
|
|
|
+ let year = d.getFullYear()
|
|
|
+ let month = d.getMonth() + 1 < 10 ? '0' + (d.getMonth() + 1) : '' + (d.getMonth() + 1)
|
|
|
+ let day = d.getDate() < 10 ? '0' + d.getDate() : '' + d.getDate()
|
|
|
+ return year + '-' + month + '-' + day
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ computeNum: function(price, num) {
|
|
|
+ return Math.floor(price * 100) / 100
|
|
|
+ // price.toString().toFixed(num)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+</script>
|
|
|
+
|
|
|
+<style scoped lang="scss">
|
|
|
+ .orderbtob_details_wrapper {
|
|
|
+ background: #f5f5f5;
|
|
|
+ position: absolute;
|
|
|
+ height: 100%;
|
|
|
+ width: 100%;
|
|
|
+ overflow-y: scroll;
|
|
|
+ .mobile-header{
|
|
|
+ position: fixed;
|
|
|
+ top: 0;
|
|
|
+ z-index: 10;
|
|
|
+ width:100%;
|
|
|
+ height:.88rem;
|
|
|
+ line-height: .88rem;
|
|
|
+ /*border-bottom:.01rem solid #ccc;*/
|
|
|
+ background: #3e82f5;
|
|
|
+ padding:0 .2rem 0 .1rem;
|
|
|
+ color:#fff;
|
|
|
+ }
|
|
|
+ .mobile-header p{
|
|
|
+ overflow: hidden;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ white-space: nowrap;
|
|
|
+ font-size:.36rem;
|
|
|
+ text-align: center;
|
|
|
+ margin: 0;
|
|
|
+ width: 6rem;
|
|
|
+ padding-left: 1rem;
|
|
|
+ }
|
|
|
+ .mobile-header a{
|
|
|
+ font-size:.28rem;
|
|
|
+ color:#fff;
|
|
|
+ position: absolute;
|
|
|
+ }
|
|
|
+ .mobile-header a i{
|
|
|
+ font-size: .48rem;
|
|
|
+ margin-right: -.1rem;
|
|
|
+ }
|
|
|
+ .orderbtob_details_content {
|
|
|
+ margin-top: 0.9rem;
|
|
|
+ padding: 0.2rem;
|
|
|
+ .orderbtob_details_top {
|
|
|
+ background: #3f84f6;
|
|
|
+ border-radius: 0.07rem;
|
|
|
+ border: solid 0.01rem #e3e5e8;
|
|
|
+ padding: 0.24rem 0.2rem 0.14rem;
|
|
|
+ .item {
|
|
|
+ color: #fff;
|
|
|
+ font-size: 0.28rem;
|
|
|
+ margin-bottom: 0.1rem;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .orderbtob_details_middle {
|
|
|
+ margin-top: 0.2rem;
|
|
|
+ .list {
|
|
|
+ border: solid 1px #e3e5e8;
|
|
|
+ border-radius: 0.07rem;
|
|
|
+ overflow: hidden;
|
|
|
+ color: #333;
|
|
|
+ font-size: 0.28rem;
|
|
|
+ padding: 0.24rem 0.2rem;
|
|
|
+ margin-bottom: 0.2rem;
|
|
|
+ background: #fff;
|
|
|
+ .item {
|
|
|
+ margin-bottom: 0.1rem;
|
|
|
+ line-height: 0.5rem;
|
|
|
+ word-break: break-all;
|
|
|
+ word-wrap:break-word;
|
|
|
+ }
|
|
|
+ .ovrflow {
|
|
|
+ width: 5.2rem;
|
|
|
+ line-height: 0.5rem
|
|
|
+ }
|
|
|
+ .name {
|
|
|
+ color: #666;
|
|
|
+ display: inline-block;
|
|
|
+ }
|
|
|
+ .dateinput {
|
|
|
+ width: 3.49rem;
|
|
|
+ height: .5rem;
|
|
|
+ line-height: .5rem;
|
|
|
+ border: 1px solid #aeaeae;
|
|
|
+ font-size: .26rem;
|
|
|
+ vertical-align: middle;
|
|
|
+ background: #fff;
|
|
|
+ border-radius: 0;
|
|
|
+ margin-right: 0.05rem;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .noborder{
|
|
|
+ border: 0
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .icon-add {
|
|
|
+ color: #00d300;
|
|
|
+ font-size: 0.4rem
|
|
|
+ }
|
|
|
+ .icon-minus {
|
|
|
+ color: #cacaca;
|
|
|
+ font-size: 0.4rem;
|
|
|
+ display: block;
|
|
|
+ }
|
|
|
+ .posixicon {
|
|
|
+ position: absolute;
|
|
|
+ right: 0.3rem;
|
|
|
+ width: 0.4rem;
|
|
|
+ top: 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+</style>
|