viewer.vue 3.36 KB
<template>
	<view class="detail-page">
        <view class="section">
          <text class="row company">{{ form.orderingUnitName }}</text>
          <view class="row"><text class="label">订单编号</text><text class="value">{{ form.orderNo }}</text></view>
          <view class="row"><text class="label">办事处</text><text class="value">{{ form.deptName }}</text></view>
          <view class="row"><text class="label">生产厂</text><text class="value">{{ form.workshopName }}</text></view>
          <view class="row"><text class="label">计划吨位(kg)</text><text class="value">{{ form.quantity }}</text></view>
          <view class="row"><text class="label">计划装货日期</text><text class="value">{{ form.deliveryDate }}</text></view>
          <view class="row"><text class="label">卸货地点</text><text class="value">{{ form.destination }}</text></view>
          <view class="row"><text class="label">接货人/联络人</text><text class="value">{{ form.consignee }}</text></view>
          <view class="row"><text class="label">联系电话</text><text class="value">{{ form.phone }}</text></view>
          <view class="row"><text class="label">回货计划安排</text><text class="value">{{ form.returnPlanArrangement }}</text></view>
          <view class="row"><text class="label">特殊需求、其他等</text><text class="value">{{ form.other }}</text></view>
          <view class="row"><text class="label">装货特别要求/需求</text><text class="value">{{ form.specialLoadingRequirement }}</text></view>
        </view>
      </view>
</template>

<script>
import {
	getDetailApi
} from '@/api/draft_order.js'


export default {
	name: 'DraftOrderViewer',
	props: { id: { type: [String, Number], default: '' } },
	components: {
	},
	data() {
		return {
			form: {},
		}
	},
	computed: {
	},
	created() {
	},
	watch: {
		id: {
			immediate: true,
			handler(val) {
				const v = (val !== undefined && val !== null) ? String(val) : ''
				if (v) this.loadDetail(v)
			}
		}
	},

	methods: {
		async loadDetail(id) {
			try {
				const res = await getDetailApi(id)
				console.log('getDetailApi res', res)
				const data = res.data || {};
				this.form = {
					...data
				}
			} catch (e) {
				console.error('loadDetail error', e)
			}
		},
		getFormValues() {
			const m = this.form || {}
			return JSON.parse(JSON.stringify(m))
		}
	}
}
</script>

<style lang="scss" scoped>
.detail-page {
  padding-bottom: 144rpx;
}

.section {
  padding: 32rpx;
  background: #fff;
  margin-bottom: 20rpx;
  position: relative;
}

.row {
  display: flex;
  margin-bottom: 28rpx;

  &:last-child {
    margin-bottom: 0;
  }

  &.company {
    font-size: 36rpx;
    font-weight: 600;
    color: rgba(0, 0, 0, 0.9);
    padding-top: 10rpx;
    margin-bottom: 32rpx;
    line-height: 50rpx;
  }

  .label {
    width: 240rpx;
    line-height: 32rpx;
    font-size: 28rpx;
    color: rgba(0, 0, 0, 0.6);
  }

  .value {
    flex: 1;
    line-height: 32rpx;
    font-size: 28rpx;
    color: rgba(0, 0, 0, 0.9);
    text-align: right;
    word-break: break-all;
  }
}

.title-header {
  background-color: #fff;
  display: flex;
  align-items: center;
  padding: 32rpx 32rpx 22rpx;
  border-bottom: 1rpx dashed #f0f0f0;

  &_icon {
    width: 32rpx;
    height: 28rpx;
    margin-right: 16rpx;
  }

  span {
    color: rgba(0, 0, 0, 0.9);
    font-size: 32rpx;
    line-height: 44rpx;
    font-weight: 600;
  }
}
</style>