Newer
Older
smartKitchenFront / src / components / mycomponent / dialog / orderDetailDialog.vue
<!--订单详情弹窗-->
<template>
  <el-dialog title="详情" width="920px" :visible.sync="isShowInfo" append-to-body @close="close">
    <div class="contanier">
      <div class="box">
        <div class="item">
          <div class="title">
            下单人
          </div>
          <div class="content">
            {{ dataInfo ? dataInfo.userName : '' }}
          </div>
        </div>
        <div class="item">
          <div class="title">
            下单人角色
          </div>
          <div class="content">
            {{ dataInfo.userRole }}
          </div>
        </div>
      </div>
      <div class="box">
        <div class="item">
          <div class="title">
            联系方式
          </div>
          <div class="content">
            {{ dataInfo.userPhone }}
          </div>
        </div>
        <div class="item">
          <div class="title">
            订单来源
          </div>
          <div class="content">
            {{ dataInfo.orderSource }}
          </div>
        </div>
      </div>
      <div class="box">
        <div class="item">
          <div class="title">
            签订日期
          </div>
          <div class="content">
            {{ dataInfo.signDate }}
          </div>
        </div>
        <div class="item">
          <div class="title">
            交付日期
          </div>
          <div class="content">
            {{ dataInfo.deliveryDate }}
          </div>
        </div>
      </div>
      <div class="box">
        <div class="item">
          <div class="title">
            交付地址-省
          </div>
          <div class="content">
            {{ dataInfo.deliveryProvince }}
          </div>
        </div>
        <div class="item">
          <div class="title">
            交付地址-市
          </div>
          <div class="content">
            {{ dataInfo.deliveryCity }}
          </div>
        </div>
      </div>
      <div class="box">
        <div class="item">
          <div class="title">
            交付地址-区
          </div>
          <div class="content">
            {{ dataInfo.deliveryArea }}
          </div>
        </div>
        <div class="item">
          <div class="title">
            交付地址-详细地址
          </div>
          <div class="content">
            {{ dataInfo.deliveryAddress }}
          </div>
        </div>
      </div>
      <div class="box">
        <div class="item">
          <div class="title">
            收货人
          </div>
          <div class="content">
            {{ dataInfo.receiver }}
          </div>
        </div>
        <div class="item">
          <div class="title">
            收货人联系方式
          </div>
          <div class="content">
            {{ dataInfo.receiverPhone }}
          </div>
        </div>
      </div>
      <div class="box">
        <div class="item">
          <div class="title">
            备注
          </div>
          <div class="content">
            {{ dataInfo.remark }}
          </div>
        </div>
      </div>
    </div>
    <div class="tab-container">
      <div class="tab-title">
        产品需求清单
      </div>
      <el-table
        ref="multipleTable"
        :data="tableData"
        :row-class-name="tableRowClassName"
        :header-cell-style="{
          'text-align': 'center',
          background: 'rgba(25, 143, 240)',
          color: 'white',
        }"
        :row-style="{ 'text-align': 'center' }"
        style="width: 100%"
      >
        <el-table-column type="index" label="序号" />
        <el-table-column prop="productCode" label="产品型号" />
        <el-table-column prop="productName" label="产品名称" />
        <el-table-column prop="productQuantity" label="产品数量" />
        <el-table-column prop="productPrice" label="产品单价" />
      </el-table>
    </div>
  </el-dialog>
</template>

<script>
import { tableRowClassName } from '../../../utils/myUtils/changeTableTr'
import { OrderDetail } from '../../../api/order/order'
import { infoDialog } from '../../../utils/myUtils/mixins/infoDialog' // 抽离porp 和 methods
export default {
  mixins: [infoDialog],
  data() {
    return {
      tableData: []
    }
  },
  mounted() {
    const id = this.dataInfo.id
    if (!this.dataInfo.id) return
    OrderDetail({ id: id }).then(res => {
      console.log(res, '----')
      this.tableData = res.productList
    })
  },
  methods: {
    tableRowClassName: tableRowClassName
  }
}
</script>

<style lang="scss" scoped>
@import '../../../assets/css/infoDialog.scss';

.tab-container {
  margin-top: 20px;

  .tab-title {
    font-size: 16px;
    margin-bottom: 10px;
  }
}
</style>