MrShi
7 天以前 eb7a808aaf7dd0a6dd2ff70f9ef3f8ce0b1e31d1
admin/src/components/business/OperaOrderDetail.vue
@@ -28,7 +28,7 @@
            <span class="label">订单类型:</span>
            <span class="value">
              <span v-if="detailInfo.order.type === 0">就地存取</span>
              <span v-else-if="detailInfo.order.type === 1">异地存取</span>
              <span v-else-if="detailInfo.order.type === 1">同城寄送</span>
              <span v-else>-</span>
            </span>
          </div>
@@ -50,9 +50,9 @@
            </span>
          </div>
          <div class="info-item">
          <div class="info-item" v-if="detailInfo.order.type ===1">
            <span class="label">订单级别:</span>
            <span class="value">{{ detailInfo.order.orderLevel || '-' }}</span>
            <span class="value">{{ detailInfo.order.isUrgent === 1?'极速达':'标速达' }}</span>
          </div>
          <div class="info-item">
            <span class="label">预计到店时间:</span>
@@ -75,8 +75,9 @@
            <span class="value">¥{{ (detailInfo.order.declaredFee / 100).toFixed(2) }}</span>
          </div>
          <div class="info-item">
            <span class="label">预计寄存天数/配送里程:</span>
            <span class="value">{{ detailInfo.order.estimatedDepositDays || '-' }}天/{{ detailInfo.order.distance || '-' }}公里</span>
            <span class="label">{{detailInfo.order.type === 0 ? '预计寄存天数' : '配送里程'}}:</span>
            <span class="value" v-if="detailInfo.order.type === 0">{{ detailInfo.order.estimatedDepositDays || '-' }}天</span>
            <span class="value" v-if="detailInfo.order.type === 1">{{ detailInfo.order.distance || '-' }}公里</span>
          </div>
          <div class="info-item full-width">
            <span class="label">客户备注:</span>
@@ -84,13 +85,13 @@
          </div>
          <div class="info-item full-width">
            <span class="label">物品拍照:</span>
            <div v-if="detailInfo.depositImages && detailInfo.depositImages.length" class="image-list">
            <div v-if="detailInfo.orderFiles && detailInfo.orderFiles.length" class="image-list">
              <el-image
                v-for="(img, index) in detailInfo.depositImages"
                v-for="(img, index) in detailInfo.orderFiles"
                :key="index"
                style="width: 80px; height: 80px; margin-right: 10px"
                :src="img"
                :preview-src-list="detailInfo.depositImages"
                :preview-src-list="detailInfo.orderFiles"
                fit="cover"
              ></el-image>
            </div>
@@ -130,11 +131,11 @@
          </div>
          <div class="info-item">
            <span class="label">寄件地址:</span>
            <span class="value">{{ detailInfo.order.depositLocation || '' }}{{ detailInfo.order.depositLocationRemark || '' }}</span>
            <span class="value">{{ detailInfo.order.depositLocationRemark || '' }}</span>
          </div>
          <div class="info-item">
            <span class="label">收件地址:</span>
            <span class="value">{{ detailInfo.order.takeLocation || '' }}{{ detailInfo.order.takeLocationRemark || '' }}</span>
            <span class="value">{{ detailInfo.order.takeLocationRemark || '' }}</span>
          </div>
          <div class="info-item">
            <span class="label">是否收件服务点:</span>
@@ -146,13 +147,13 @@
          </div>
          <div class="info-item full-width">
            <span class="label">门店收件拍照:</span>
            <div v-if="detailInfo.storeInImages && detailInfo.storeInImages.length" class="image-list">
            <div v-if="detailInfo.depositImages && detailInfo.depositImages.length" class="image-list">
              <el-image
                v-for="(img, index) in detailInfo.storeInImages"
                v-for="(img, index) in detailInfo.depositImages"
                :key="index"
                style="width: 80px; height: 80px; margin-right: 10px"
                :src="img"
                :preview-src-list="detailInfo.storeInImages"
                :preview-src-list="detailInfo.depositImages"
                fit="cover"
              ></el-image>
            </div>
@@ -172,8 +173,22 @@
            </div>
            <span v-else>-</span>
          </div>
          <div class="info-item full-width" v-if="detailInfo.order && detailInfo.order.type===1">
            <span class="label">司机送达拍照/门店入库拍照:</span>
          <div class="info-item full-width" v-if="detailInfo.order && detailInfo.order.type===1 && detailInfo.order.takeShopId">
            <span class="label">门店入库拍照:</span>
            <div v-if="detailInfo.storeInImages && detailInfo.storeInImages.length" class="image-list">
              <el-image
                v-for="(img, index) in detailInfo.storeInImages"
                :key="index"
                style="width: 80px; height: 80px; margin-right: 10px"
                :src="img"
                :preview-src-list="detailInfo.storeInImages"
                fit="cover"
              ></el-image>
            </div>
            <span v-else>-</span>
          </div>
          <div class="info-item full-width" v-if="detailInfo.order && detailInfo.order.type===1 && !detailInfo.order.takeShopId">
            <span class="label">司机送达拍照:</span>
            <div v-if="detailInfo.driverDoneImages && detailInfo.driverDoneImages.length" class="image-list">
              <el-image
                v-for="(img, index) in detailInfo.driverDoneImages"
@@ -203,7 +218,45 @@
        </div>
      </div>
      <div class="section">
      <div class="section" v-if="detailInfo.order.commentStatus === 1">
        <div class="section-header">
          <span class="section-title">评价信息</span>
        </div>
        <div class="info-grid">
          <div class="info-item" v-if="detailInfo.order.commentDepositLevel">
            <span class="label">寄件门店:</span>
            <span class="value">{{ detailInfo.order.commentDepositLevel + '星' || '-' }}</span>
          </div>
          <div class="info-item" v-if="detailInfo.order.commentDriverLevel">
            <span class="label">配送司机:</span>
            <span class="value">{{ detailInfo.order.commentDriverLevel + '星' || '-' }}</span>
          </div>
          <div class="info-item" v-if="detailInfo.order.commentTakeLevel">
            <span class="label">收件门店:</span>
            <span class="value">{{ detailInfo.order.commentTakeLevel + '星' || '-' }}</span>
          </div>
          <div class="info-item">
            <span class="label">评价内容:</span>
            <span class="value">{{ detailInfo.order.commentInfo || '-' }}</span>
          </div>
          <div class="info-item full-width">
            <span class="label">评价拍照:</span>
            <div v-if="detailInfo.commentImages && detailInfo.commentImages.length" class="image-list">
              <el-image
                v-for="(img, index) in detailInfo.commentImages"
                :key="index"
                style="width: 80px; height: 80px; margin-right: 10px"
                :src="img"
                :preview-src-list="detailInfo.commentImages"
                fit="cover"
              ></el-image>
            </div>
            <span v-else>-</span>
          </div>
        </div>
      </div>
      <div class="section" v-if="detailInfo.order.cancelTime">
        <div class="section-header">
          <span class="section-title">取消信息</span>
        </div>
@@ -236,7 +289,7 @@
          <div class="info-item">
            <span class="label">退款金额:</span>
            <span class="value">{{ detailInfo.ordersRefund.createTime || '-' }}</span>
            <span class="value">¥{{ (detailInfo.ordersRefund.refundAmount / 100).toFixed(2) || '-' }}</span>
          </div>
          <div class="info-item">
            <span class="label">退款处理时间:</span>
@@ -281,7 +334,7 @@
        <div class="section-header">
          <span class="section-title">物品信息</span>
        </div>
        <el-table :data="detailInfo.detailList" stripe class="goods-table">
        <el-table :data="detailInfo.detailList" stripe class="goods-table"    :header-row-style="headerRowStyle">
          <el-table-column prop="typeName" label="物品名称" min-width="80px"></el-table-column>
          <el-table-column prop="luggageName" label="物品尺寸" min-width="80px"></el-table-column>
          <el-table-column label="单价(元)" min-width="100px">
@@ -292,18 +345,20 @@
          <el-table-column prop="num" label="数量" min-width="60px"></el-table-column>
          <el-table-column label="小计(元)" min-width="100px">
            <template slot-scope="{row}">
              ¥{{ ((row.subtotal ||0) / 100).toFixed(2) }}
              <span class="yellowstate">  ¥{{ ((row.subtotal ||0) / 100).toFixed(2) }}</span>
            </template>
          </el-table-column>
        </el-table>
        <div class="price-summary" v-if="detailInfo.order">
          <span>基础服务费:¥{{ ((detailInfo.order.price||0) / 100).toFixed(2) }}</span>
          <span>物品保费:¥{{ ((detailInfo.order.declaredFee||0) / 100).toFixed(2) }}</span>
          <span>订单总价:¥{{ ((detailInfo.order.totalAmount||0) / 100).toFixed(2) }}</span>
          <span>实际支付:¥{{ ((detailInfo.order.payAmount||0) / 100).toFixed(2) }}</span>
          <span>退款金额:¥{{ ((detailInfo.order.refundAmount ||0)/ 100).toFixed(2) }}</span>
          <span>超时金额:¥{{ ((detailInfo.order.overdueAmount ||0)/ 100).toFixed(2) }}</span>
          <span>异常金额:¥{{ ((detailInfo.order.exceptionAmount ||0)/ 100).toFixed(2) }}</span>
          <span class="price-span">基础服务费:¥{{ ((detailInfo.order.price||0) / 100).toFixed(2) }}</span>
          <span  class="price-span">物品保费:¥{{ ((detailInfo.order.declaredFee||0) / 100).toFixed(2) }}</span>
          <span  class="price-span">订单总价:¥{{ ((detailInfo.order.totalAmount||0) / 100).toFixed(2) }}</span>
          <span  class="price-span">实际支付:¥{{ ((detailInfo.order.payAmount||0) / 100).toFixed(2) }}</span>
          <span class="price-span">退款金额:¥{{ ((detailInfo.order.refundAmount ||0)/ 100).toFixed(2) }}</span>
          <span class="price-span">超时金额:¥{{ ((detailInfo.order.overdueAmount ||0)/ 100).toFixed(2) }}</span>
          <span class="price-span">异常金额:¥{{ ((detailInfo.order.exceptionFee ||0)/ 100).toFixed(2) }}</span>
          <span class="price-span">优惠卷抵扣金额:¥{{ ((detailInfo.order.deductionAmount ||0)/ 100).toFixed(2) }}</span>
          <span class="price-span">门店保管补贴:¥{{ ((detailInfo.order.shopCompensationAmount ||0)/ 100).toFixed(2) }}</span>
        </div>
      </div>
    </div>
@@ -327,10 +382,16 @@
    }
  },
  methods: {
    headerRowStyle({ rowIndex }) {
      return {
        background:   '#007bff' ,
        color : '#333',
        height: '50px'
      }
    },
    open (row) {
      this.title = '订单详情'
      getById(row.id).then(res => {
        console.log(res)
      getById(row).then(res => {
        this.detailInfo = res
        this.visible = true
      }).catch(e => {
@@ -409,6 +470,7 @@
}
.goods-table {
  margin-bottom: 15px;
  border: 1px solid #f2f2f2;
}
.price-summary {
  display: flex;
@@ -419,5 +481,9 @@
  border-radius: 4px;
  font-size: 14px;
  color: #606266;
}
.price-span{
  width: 20%;
}
</style>