Newer
Older
smartKitchenFront / src / components / mycomponent / dialog / orderDetailDialog.vue
liyaguang on 28 Nov 2022 4 KB fix: 修改商机管理订单管理
<!--订单详情弹窗-->
<template>
  <el-dialog
    title="详情"
    width="920px"
    v-if="isShowInfo"
    :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="branchName" label="产品品牌" />
        <el-table-column prop="categoryName" label="产品品类" />
        <el-table-column prop="productCode" 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: [],
    };
  },
  watch: {
    dataInfo: {
      deep: true,
      immediate: true,
      handler(newVal) {
        if(newVal.id){
          OrderDetail({ id: newVal.id }).then((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>