<template>
  <div style="background-color: #f0f2f5; padding-bottom: 20px; min-height: 100%; " >
    <div style="padding: 20px; background-color: #fff;">
      订单详情
    </div>
    <div class="contentx" v-if="item!=null">
      <div class="desct"></div>
      <div class="order-status" v-if="item!=null" >
        <el-steps  :active="item.status+1" align-center>
          <el-step title="待支付"></el-step>
          <el-step title="待发货"></el-step>
          <el-step title="待收货"></el-step>
          <el-step title="已完成"></el-step>
        </el-steps>
      </div>
      <el-card shadow="never" style="margin-top: 15px">
        <div class="operate-container"  v-if="item!=null">
               <span style="margin-left: 20px" class="color-danger">订单状态：
                  <el-tag prop="status" v-for="(ite, index) in orderOptions"    v-if="item.status==ite.dictValue">{{ite.dictLabel}}</el-tag>
               </span>
          <div class="operate-button-container" v-if="item.status==3">
            <el-button size="mini" @click="finishOrder()" v-hasPermi="['his:liveOrder:good']">确认收货</el-button>
          </div>
          <div class="operate-button-container"  v-if="item.status==2&&item.orderType==1">
            <el-button size="mini" @click="sendVisible=true" v-hasPermi="['his:liveOrder:sendGoods']">发货</el-button>
          </div>
          <div class="operate-button-container"  v-if="item.status==2&&item.orderType==2">
            <el-button size="mini" @click="tuiOrder()" v-hasPermi="['his:liveOrder:sendHisGoods']" >推送订单</el-button>
          </div>
          <div class="operate-button-container"   v-if="item.deliverySn!=null" v-hasPermi="['his:liveOrder:express']">
            <el-button size="mini" @click="showExpress()" >查看物流</el-button>
          </div>
          <div class="operate-button-container" >
            <el-button size="mini" @click="editDelivery()"  v-hasPermi="['his:liveOrder:updateDelivery']" >修改物流单号</el-button>
          </div>

          <div class="operate-button-container" >
            <el-button size="mini" @click="editOrder()"  v-hasPermi="['his:liveOrder:edit']" >修改订单</el-button>
          </div>
          <div class="operate-button-container" v-if="item.extendOrderId == null"  >
            <el-button size="mini" @click="addErpOrder()" >创建ERP订单信息</el-button>
          </div>
          <div class="operate-button-container" v-if="item.extendOrderId!=null"  >
            <el-button size="mini" @click="showErpOrder()" >ERP订单信息</el-button>
          </div>
          <div class="operate-button-container" v-if="item.status>1">
            <el-button size="mini" @click="refund()" v-hasPermi="['his:liveOrder:refundOrderMoney']">退款</el-button>
          </div>
        </div>
        <div class="desct">
          基本信息
        </div>
        <el-descriptions :column="3" border  >
          <el-descriptions-item label="订单编号"  ><span v-if="item!=null">{{item.orderCode}}</span></el-descriptions-item>
          <el-descriptions-item label="会员"><span v-if="item.nickName!=null">{{item.nickName}}({{item.phone}})</span></el-descriptions-item>
          <el-descriptions-item label="支付方式"  ><dict-tag :options="PayOptions" :value="item.payType"/></el-descriptions-item>
          <el-descriptions-item label="收货人" >  <span v-if="item!=null">{{item.userName}}</span>  </el-descriptions-item>
          <el-descriptions-item label="手机号码" > <span v-if="item!=null">{{item.userPhone}}</span>
            <el-button icon="el-icon-search" size="mini" @click="handlePhone()" style="margin-left: 20px;" circle v-hasPermi="['his:liveOrder:queryPhone']"></el-button>
          </el-descriptions-item>
          <el-descriptions-item label="收货地址" > <span>{{item.userAddress}}</span>  </el-descriptions-item>
          <el-descriptions-item label="所属公司"><span v-if="item!=null">{{item.companyName}}</span></el-descriptions-item>
          <el-descriptions-item label="员工"><span v-if="item!=null">{{item.companyUserName}}</span></el-descriptions-item>
          <el-descriptions-item label="推广佣金" ><span v-if="item.tuiMoney!=null">{{item.tuiMoney.toFixed(2)}}</span></el-descriptions-item>
          <el-descriptions-item label="推广佣金状态" ><span v-if="item!=null"><dict-tag :options="tuiOptions" :value="item.tuiMoneyStatus"/> </span></el-descriptions-item>
          <el-descriptions-item label="ERP编号" ><span v-if="item!=null">{{item.extendOrderId}}</span></el-descriptions-item>
          <el-descriptions-item label="用户备注" ><span v-if="item!=null">{{item.remark}}</span></el-descriptions-item>
          <el-descriptions-item label="档期归属" >
            <el-tag prop="scheduleId" v-for="(schedule, index) in scheduleOptions"    v-if="item!=null&&item.scheduleId==schedule.id">{{schedule.name}}
            </el-tag>
          </el-descriptions-item>
          <el-descriptions-item label="订单购买类型" ><span v-if="item!=null"><dict-tag :options="orderBuyTypeOptions" :value="item.orderBuyType"/></span></el-descriptions-item>
          <el-descriptions-item label=" 公众号/渠道" ><span v-if="item!=null">{{item.channel}}</span></el-descriptions-item>
          <el-descriptions-item label=" 渠道" ><span v-if="item!=null"><dict-tag :options="channelOptions" :value="item.orderChannel"/></span></el-descriptions-item>
          <el-descriptions-item label=" 企微主体" ><span v-if="item!=null"><dict-tag :options="qwSubjectOptions" :value="item.qwSubject"/></span></el-descriptions-item>
          <el-descriptions-item label="物流公司编码" ><span v-if="item!=null">{{item.deliveryCode}}</span></el-descriptions-item>
          <el-descriptions-item label="物流公司名称" ><span v-if="item!=null">{{item.deliveryName}}</span></el-descriptions-item>
          <el-descriptions-item label="物流单号" ><span v-if="item!=null">{{item.deliveryId}}</span></el-descriptions-item>
          <el-descriptions-item label="发货时间" ><span v-if="item!=null">{{item.deliverySendTime}}</span></el-descriptions-item>
        </el-descriptions>
      </el-card>
    </div>
<!--    <div class="contentx" v-if="item!=null" style="padding-bottom: 70px;">-->
<!--      <div style="margin-top: 20px">-->
<!--        <div class="desct">-->
<!--          物流信息-->
<!--        </div>-->
<!--        &nbsp;-->
<!--        <el-link  type="primary" @click="editDelivery(null)">添加物流信息</el-link>-->
<!--      </div>-->
<!--      <el-table-->
<!--        border-->
<!--        :data="deliverList"-->
<!--        size="small"-->
<!--        style="width: 100%;margin-top: 20px" >-->
<!--        <el-table-column label="物流公司编码" width="150" align="center">-->
<!--          <template slot-scope="scope">-->
<!--            <p>{{scope.row.deliverSn}}</p>-->
<!--          </template>-->
<!--        </el-table-column>-->
<!--        <el-table-column label="物流公司名称" width="300" align="center">-->
<!--          <template slot-scope="scope">-->
<!--            <p>{{scope.row.deliverName}}</p>-->
<!--          </template>-->
<!--        </el-table-column>-->
<!--        <el-table-column label="物流单号" width="300" align="center">-->
<!--          <template slot-scope="scope">-->
<!--            <p>{{scope.row.deliverId}}</p>-->
<!--          </template>-->
<!--        </el-table-column>-->
<!--        <el-table-column label="物流状态" width="300" align="center">-->
<!--          <template slot-scope="scope">-->
<!--              <span>-->
<!--              <el-tag v-for="(item, index) in deliveryStatusOptions"    v-if="scope.row!=null&&scope.row.status==item.dictValue">-->
<!--              {{item.dictLabel}}-->
<!--              </el-tag>-->
<!--              </span>-->
<!--          </template>-->
<!--        </el-table-column>-->
<!--        <el-table-column label="发货时间" width="240" align="center">-->
<!--          <template slot-scope="scope">-->
<!--            {{scope.row.deliverySendTime}}-->
<!--          </template>-->
<!--        </el-table-column>-->
<!--        <el-table-column label="操作" width="240" align="center">-->
<!--          <template slot-scope="scope">-->
<!--            <el-link  type="primary" @click="showExpress(scope)">查看物流跟踪</el-link>-->
<!--            &nbsp;&nbsp;-->
<!--            <el-link  type="primary" @click="editDelivery(scope)">修改物流</el-link>-->
<!--          </template>-->
<!--        </el-table-column>-->
<!--      </el-table>-->
<!--    </div>-->
    <div class="contentx" v-if="item!=null" style="padding-bottom: 70px;">
      <div class="desct">
        商品信息
      </div>
      <el-tooltip class="item" effect="dark" :content="showList ? '显示全部' : '隐藏'" placement="top" style="float: right;">
        <el-button size="mini" circle icon="el-icon-search" @click="showListD()" />
      </el-tooltip>
      <el-table border v-if="showProd!=null" :data="showProd" size="small" style="width: 100%;margin-top: 20px" >
        <el-table-column label="商品图片" width="150" align="center">
          <template slot-scope="scope">
            <img :src="scope.row.imgUrl" style="height: 80px">
          </template>
        </el-table-column>
        <el-table-column label="商品编码" width="300" align="center">
          <template slot-scope="scope">
            <p>{{scope.row.barCode}}</p>
          </template>
        </el-table-column>
        <el-table-column label="仓库代码" width="300" align="center">
          <template slot-scope="scope">
            <p>{{scope.row.warehouseCode}}</p>
          </template>
        </el-table-column>
        <el-table-column label="商品名称" width="300" align="center">
          <template slot-scope="scope">
            <p>{{scope.row.productName}}</p>
          </template>
        </el-table-column>
        <el-table-column label="单价" width="240" align="center">
          <template slot-scope="scope">
            <p>￥{{scope.row.price.toFixed(2)}}</p>
          </template>
        </el-table-column>
        <el-table-column label="市场价" width="240" align="center">
          <template slot-scope="scope">
            {{scope.row.otPrice}}
          </template>
        </el-table-column>
      </el-table>
      <div style="float: right;margin: 20px" v-if="item.totalPrice!=null">
        合计：<span class="color-danger">￥{{item.totalPrice.toFixed(2)}}</span>
      </div>
    </div>
    <div class="contentx" v-if="item!=null" style="padding-bottom: 70px;">
      <div class="desct">
        费用信息
      </div>
      <el-tooltip class="item" effect="dark" :content="showList ? '显示全部' : '隐藏'" placement="top" style="float: right;">
        <el-button size="mini" circle icon="el-icon-search" @click="showListD()" />
      </el-tooltip>
      <el-descriptions :column="3" border  >
        <el-descriptions-item label="商品合计"  ><span v-if="item!=null">{{(item.totalPrice-item.payPostage).toFixed(2)}}</span></el-descriptions-item>
        <el-descriptions-item label="应付金额"><span v-if="item.totalPrice!=null">{{(item.totalPrice-item.payPostage).toFixed(2)}}</span></el-descriptions-item>
<!--        <el-descriptions-item label="运费"><span v-if="item.payDelivery!=null">{{item.payDelivery}}</span></el-descriptions-item>-->
        <el-descriptions-item label="运费"><span v-if="item.payDelivery!=null">{{item.payPostage}}</span></el-descriptions-item>
        <el-descriptions-item label="优惠券"  ><span v-if="item.discountMoney!=null"/>{{item.discountMoney}}</el-descriptions-item>
        <el-descriptions-item label="积分抵扣" >  <span v-if="item!=null">{{item.payIntegral}}</span>  </el-descriptions-item>
        <el-descriptions-item label="实付金额" >  <span v-if="item!=null">{{item.payMoney}}</span>  </el-descriptions-item>
        <el-descriptions-item label="代收金额" >  <span v-if="item!=null">{{item.payRemain}}</span>  </el-descriptions-item>
        <el-descriptions-item label="服务费" >  <span v-if="item!=null">{{0.00}}</span>  </el-descriptions-item>
      </el-descriptions>
      <div style="float: right;margin: 20px" v-if="item.totalPrice!=null">
        合计：<span class="color-danger">￥{{item.payMoney.toFixed(2)}}</span>
      </div>
    </div>

    <div class="contentx" v-if="payments!=null" style="padding-bottom: 70px;">
      <div class="desct">
        支付信息
      </div>
    <el-table
      border
      :data="payments"
      size="small"
      style="width: 100%;margin-top: 20px" >
      <el-table-column label="支付单号" align="center" prop="payCode" width="120px" />
      <el-table-column label="支付金额" align="center" prop="payMoney" />
      <el-table-column label="类型" align="center" prop="payTypeCode" />
      <el-table-column label="交易单号" align="center" prop="bankTransactionId" />
      <el-table-column label="银行单号" align="center" prop="bankSerialNo" />
      <el-table-column label="创建时间" align="center" prop="createTime" />
      <el-table-column label="支付时间" align="center" prop="payTime" />
    </el-table>
    </div>

    <div class="contentx" v-if="logs!=null" style="padding-bottom: 70px;">

      <div class="desct">
        操作信息
      </div>
    <el-table style="margin-top: 20px;width: 100%"
              ref="orderHistoryTable"
              :data="logs" border>
      <el-table-column label="操作时间"  width="160" align="center">
        <template slot-scope="scope">
          {{scope.row.changeTime}}
        </template>
      </el-table-column>
      <el-table-column label="备注" align="center">
        <template slot-scope="scope">
          {{scope.row.changeMessage}}
        </template>
      </el-table-column>
    </el-table>
</div>

    <div class="contentx" v-if="tuiMoneyLogs!=null" style="padding-bottom: 70px;">

      <div class="desct">
        分佣信息
      </div>
    <el-table
      border
      :data="tuiMoneyLogs"
      size="small"
      style="width: 100%;margin-top: 20px" >
      <el-table-column label="公司名称" align="center" prop="companyName" width="120px" />
      <el-table-column label="金额" align="center" prop="money" />
      <el-table-column label="余额" align="center" prop="balance" />
      <el-table-column label="创建时间" align="center" prop="createTime" />
      <el-table-column label="备注" align="center" prop="remark" />
    </el-table>
    </div>

    <el-dialog :title="edit.title" :visible.sync="edit.open" width="600px" append-to-body>
      <el-form ref="editForm" :model="editForm" :rules="editRules" label-width="100px">

        <el-form-item label="订单状态" prop="status" >
          <el-select v-model="editForm.status" placeholder="请选择状态" clearable size="small" filterable>
            <el-option
              v-for="dict in orderOptions "
              :key="dict.dictValue"
              :label="dict.dictLabel"
              :value="dict.dictValue"
            />
          </el-select>
        </el-form-item>
        <el-form-item label="物流状态" prop="deliveryStatus" >
          <el-select v-model="editForm.deliveryStatus" placeholder="请选择物流状态" clearable size="small" filterable>
            <el-option
              v-for="dict in deliveryStatusOptions "
              :key="dict.dictValue"
              :label="dict.dictLabel"
              :value="dict.dictValue"
            />
          </el-select>
        </el-form-item>
        <el-form-item label="物流跟踪状态" prop="deliveryType" >
          <el-select v-model="editForm.deliveryType" placeholder="请选择状态" clearable size="small" filterable>
            <el-option
              v-for="dict in deliveryTypeOptions "
              :key="dict.dictValue"
              :label="dict.dictLabel"
              :value="dict.dictValue"
            />
          </el-select>
        </el-form-item>
        <el-form-item label="详情地址" prop="userAddress"  >
          <el-input v-model="editForm.userAddress" placeholder="请输入" />
        </el-form-item>
        <el-form-item label="备注" prop="remark"  >
          <el-input v-model="editForm.remark" placeholder="请输入备注" />
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitEditForm">确 定</el-button>
      </div>
    </el-dialog>


    <el-dialog :title="erpDialog.title" :visible.sync="erpDialog.open" width="600px" append-to-body>
      <div v-if="order!=null&&order.extendOrderId!=null&&order.status==1"  v-hasPermi="['store:storeOrder:updateExpress']"  >
        <el-button size="mini" @click="updateExpress()" >同步物流发货</el-button>
      </div>
      <div class="table-layout"  v-if="erpOrder!=null">
        <el-row>
          <el-col :span="6" class="table-cell-title">订单编号</el-col>
          <el-col :span="6" class="table-cell-title">是否代收</el-col>
          <el-col :span="6" class="table-cell-title">快递编号</el-col>
          <el-col :span="6" class="table-cell-title">快递名称</el-col>
        </el-row>
        <el-row>
          <el-col :span="6" class="table-cell">
            {{erpOrder.code}}
          </el-col>
          <el-col :span="6" class="table-cell">
            {{erpOrder.cod?'是':'否'}}
          </el-col>
          <el-col :span="6" class="table-cell">
            {{erpOrder.express_code}}
          </el-col>
          <el-col :span="6" class="table-cell">
            {{erpOrder.express_name}}
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="6" class="table-cell-title">收货人</el-col>
          <el-col :span="6" class="table-cell-title">电话</el-col>
          <el-col :span="6" class="table-cell-title">地址</el-col>
          <el-col :span="6" class="table-cell-title">运单号</el-col>
        </el-row>
        <el-row>
          <el-col :span="6" class="table-cell">
            {{erpOrder.receiver_name}}
          </el-col>
          <el-col :span="6" class="table-cell">
            {{erpOrder.receiver_mobile}}
          </el-col>
          <el-col :span="6" class="table-cell">
            {{erpOrder.receiver_address}}
          </el-col>
          <el-col :span="6" class="table-cell">
            {{erpOrder.deliverys!=null&&erpOrder.deliverys.length>0?erpOrder.deliverys[0].mail_no:''}}
          </el-col>

        </el-row>
      </div>
    </el-dialog>

    <el-dialog :title="editDy.title" :visible.sync="editDy.open" width="600px" append-to-body>
      <el-form ref="editDyForm" :model="editDyForm" :rules="editDyRules" label-width="100px">
        <div  v-hasPermi="['his:liveOrder:updateErpOrder']"  style="margin-bottom: 20px;" >
          <el-button size="mini" @click="updateErpOrder" >同步物流单号信息</el-button>
        </div>
        <el-form-item label="物流公司" prop="deliveryCode" >
          <el-select style="width:220px" v-model="editDyForm.deliveryCode" placeholder="请选择" clearable size="small">
            <el-option key="SF"  label="顺丰" value="SF" />
            <el-option key="EMS"  label="邮政" value="EMS" />
            <el-option key="ZTO"  label="中通" value="ZTO" />
            <el-option key="STO"  label="申通" value="STO" />
            <el-option key="JD"  label="京东" value="JD" />
            <el-option key="DBL"  label="德邦" value="DBL" />
            <el-option key="JTSD"  label="极兔" value="JTSD" />
            <el-option key="YD"  label="韵达" value="YD" />
            <el-option key="YTO"  label="圆通" value="YTO" />
          </el-select>
        </el-form-item>
        <el-form-item label="物流单号" prop="deliverySn"  >
          <el-input v-model="editDyForm.deliverySn" placeholder="请输入物流单号" />
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitEditDyForm">确 定</el-button>
        <el-button @click="editDy.open = false">取 消</el-button>
      </div>
    </el-dialog>

    <el-dialog :title="expressDialog.title" :visible.sync="expressDialog.open" width="600px" append-to-body>
      <div  v-hasPermi="['his:storeOrder:syncExpress']"  >
        <el-button size="mini" @click="syncExpress()" >同步快递鸟物流状态</el-button>
      </div>
      <el-table style="margin-top: 20px;width: 100%"
                ref="orderHistoryTable"
                :data="traces" border>
        <el-table-column label="操作时间"  width="160" align="center">
          <template slot-scope="scope">
            {{scope.row.AcceptTime}}
          </template>
        </el-table-column>
        <el-table-column label="位置" align="center">
          <template slot-scope="scope">
            {{scope.row.Location}}
          </template>
        </el-table-column>
        <el-table-column label="描述" align="center">
          <template slot-scope="scope">
            {{scope.row.AcceptStation}}
          </template>
        </el-table-column>
      </el-table>
    </el-dialog>


  </div>
</template>


<script>
import {
  getLiveOrder,
  syncExpress,
  updateLiveOrder,
  updateErp,
  getExpress,
  listOrderitem,
  tuiOrder,
  refundOrderMoney,
  editDeliveryId,
  finishOrder,
  getOrderExpress,
  getOrderPayments,
  getOrderLog,
  tuiMoneyLogs,
  updateExpress,
  createErpOrder, getEroOrder
} from "@/api/live/liveOrder";
import {getStoreOrderLive} from "@/api/store/storeOrder";


export default {
  props:{
    data: [Object, Array, String, Number, Boolean],
    orderId: {
      type: [String, Number],
      default: null
    }
  },
  watch: {
    orderId: {
      immediate: true,
      handler(val) {
        if (val) {
          this.getDetails(val, null, null)
        }
      }
    }
  },
  data() {
    return {
      expressDialog:{
        title:"物流信息",
        open:false,
      },
      editDy:{
        title:"修改物流单号",
        open:false,
      },
      sourceOptions:[],
      payments: [],
      followDialogVisible:false,
      dialogVisible:false,
      total: 0,
      msgForm:{
        pageNum: 1,
        pageSize: 10,
        userId:null,
        followDoctorId:null,
      },
      editDyForm:{
        orderId:null,
        deliveryId:null,
        deliveryCode:null,
      },
      showList:true,
      edit:{
        title:"修改订单",
        open:false,
      },
      erpDialog:{
        title:"ERP订单信息",
        open:false,
      },
      show:{
        title:"问诊详情",
        open:false,
      },
      pack:{
        title:"套餐包",
        open:false,
      },
      followList:[],
      money:null,
      moneyVisible:false,
      rules:{},
      sendVisible:false,
      logs:[],
      pay:[],
      nickName:null,
      storeName:null,
      PayOptions:[],
      orderOptions:[],
      payStatusOptions:[],
      express:null,
      traces:[],
      msg:[],
      deliverList: [],
      sexOptions:[],
      refundOptions:[],
      channelOptions:[],
      qwSubjectOptions:[],
      tuiOptions:[],
      orOptions:[],
      storeOPtions:[],
      deliveryStatusOptions:[],
      deliveryPayStatusOptions:[],
      deliveryTypeOptions:[],
      orderTypeOptions:[],
      orderBuyTypeOptions:[],
      scheduleOptions:[],
      item:null,
      tuiMoneyLogs:[],
      erpOrder:null,
      prod:null,
      showProd:null,
      editForm:{
        orderId:null,
        status:null,
        userAddress:null,
        deliveryStatus:null,
        deliveryType:null,
        remark:"",
      },
      editDyRules:{
        deliverySn: [
          { required: true, message: "物流单号不能为空", trigger: "blur" }
        ],
        deliveryCode: [
          { required: true, message: "物流公司不能为空", trigger: "blur" }
        ],
      },
      editRules:{
        userAddress: [
          { required: true, message: "收货地址不能为空", trigger: "blur" }
        ],
      },
      mrules:{
      },
      form: {
        deliveryCode: null,
        deliveryName:null,
        deliverySn:null,
        orderId:null,
      }
    }
  },

  created() {
    this.getDicts("sys_store_pay_type").then(response => {
      this.PayOptions = response.data;
    });
    this.getDicts("sys_live_order_status").then(response => {
      this.orderOptions = response.data;
    });
    this.getDicts("sys_order_pay").then(response => {
      this.payStatusOptions = response.data;
    });
    this.getDicts("sys_order_source").then(response => {
      this.sourceOptions = response.data;
    });
    this.getDicts("sys_store_order_type").then(response => {
      this.orderTypeOptions = response.data;
    });
    this.getDicts("sys_store_order_buy_type").then(response => {
      this.orderBuyTypeOptions = response.data;
    });
    this.getDicts("sys_refund_status").then(response => {
      this.refundOptions = response.data;
    });
    this.getDicts("sys_store_channel").then(response => {
      this.channelOptions = response.data;
    });
    this.getDicts("sys_store_qw_subject").then(response => {
      this.qwSubjectOptions = response.data;
    });
    this.getDicts("sys_tui_money_status").then(response => {
      this.tuiOptions = response.data;
    });
    this.getDicts("sys_company_or").then(response => {
      this.orOptions = response.data;
    });
    this.getDicts("sys_patient_sex").then(response => {
      this.sexOptions = response.data;
    });
    this.getDicts("sys_store_delivery_pay_status").then(response => {
      this.deliveryPayStatusOptions = response.data;
    });
    this.getDicts("store_order_delivery_status").then(response => {
      this.deliveryStatusOptions = response.data;
    });
    this.getDicts("logistics_status").then(response => {
      this.deliveryTypeOptions = response.data;
    });

  },
  methods: {

    getOrderLive(orderId){
      getLiveOrder(orderId).then(response => {
        this.item=response.data
      });
      this.getlistOrderitem(orderId);
    },
    followMsg(row){
      const userId = this.item.userId;
      const followDoctorId =this.item.followDoctorId;
      const doctorName = this.item.doctorName;
      const patientName = this.item.patientName;

      setTimeout(() => {
        this.$refs.msgDetails.getDetails(userId,followDoctorId,doctorName,patientName);
      }, 500);
      this.dialogVisible = true;
    },
    msgDialogClose(){
      this.dialogVisible = false;
    },
    handlePhone(){
      const orderId = this.item.orderId;
      getOrderUserPhone(orderId).then(response =>{
        this.item.userPhone = response.userPhone;
      })
    },
    editDelivery(){
      this.editDy.open = true;
      this.editDyForm.orderId = this.item.orderId;

    },
    showListD(){
      if(this.showList){
        this.showProd=this.prod
      }else{
        this.showProd=[this.prod[0]]
      }
      this.showList=this.showList?false:true;
    },

    showExpress(){
      this.expressDialog.open=true;
      getExpress({
        orderId: this.item.orderId,
        deliverId: this.item.deliverySn,
        deliverSn: this.item.deliveryCode,
      }).then(response => {
        this.express = response.data;
        if(this.express!=null&&this.express.Traces!=null){
          this.traces=this.express.Traces
        }
      });
    },
    updateErpOrder(){
      var that=this;
      this.$confirm('确定同步物流单号信息吗', "警告", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      }).then(function() {
        var data={orderId:that.item.orderId}
        return updateErp(data);
      }).then(() => {
        this.msgSuccess("操作成功");
        getLiveOrder(this.item.orderId).then(response => {
          this.item=response.data
          that.getlogList(this.item.orderId);
          that.$parent.$parent.getList();
        });
        this.editDy.open = false
      }).catch(function() {});

    },
    sendFollowMsg(){
      var that=this;
      this.$confirm('是否确认发送消息?', "警告", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      }).then(function() {
        return sendMsg(that.item.orderId);
      }).then(() => {
        this.msgSuccess("操作成功");
      }).catch(function() {});
    },
    handleClose1(){
      this.dialogVisible=false;
    },
    handleClose2(){
      this.followDialogVisible=false;
    },
    follow(row){
      getMsgFollow(row).then(response => {
        if(response.data.formJson!=null&&response.data.formJson!=''&&response.data.writeStatus==1){
          this.messageFollowList=JSON.parse(response.data.formJson );
          this.followDialogVisible=true;
        }else{
          this.$message({
            message: '未填写随访单',
            type: 'info'
          });
          return
        }
      });
    },

    //修改订单状态
    submitEditForm(){
      var that = this;
      this.$refs["editForm"].validate(valid => {
        if (valid) {
          updateLiveOrder(this.editForm).then(response => {
            if (response.code === 200) {
              this.msgSuccess("操作成功");
              this.edit.open = false;
              // 刷新当前页面数据
              this.getDetails(this.item.orderId, this.nickName, this.storeName);
            }
          });
        }
      });
    },
    editOrder(){
      this.edit.open=true;
      this.editForm.orderId=this.item.orderId;
      this.editForm.remark=this.item.remark;
      this.editForm.userAddress = this.item.userAddress == null ? '' : this.item.userAddress.toString();
      this.editForm.status = this.item.status == null ? '' : this.item.status.toString();
      this.editForm.deliveryType = this.item.deliveryType == null ? '' : this.item.deliveryType.toString();
      this.editForm.deliveryStatus = this.item.deliveryStatus == null ? '' : this.item.deliveryStatus.toString();

    },
    updateExpress(){
      var that=this;
      this.$confirm('确定同步物流信息吗，同步后将自动发货?', "警告", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      }).then(function() {
        var data=that.item.orderId
        return updateExpress(data);
      }).then(() => {
        this.msgSuccess("操作成功");
        getLiveOrder(this.item.orderId).then(response => {
          this.item=response.data
          that.getlogList(this.item.orderId);
          that.$parent.$parent.getList();
        });
      }).catch(function() {});
    },
    addErpOrder(){
      var that=this;
      this.$confirm('是否确认推送管易?', "警告", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      }).then(function() {
        var data=that.item.orderCode
        return createErpOrder({
          orderCode: data
        });
      }).then(() => {
        this.msgSuccess("操作成功");
        getLiveOrder(this.item.orderId).then(response => {
          this.item=response.data
          that.getlogList(this.item.orderId);
          that.$parent.$parent.getList();
        });
      }).catch(function() {});
    },
    showErpOrder(){
      this.erpDialog.open=true;
      var data=this.item.extendOrderId;
      getEroOrder({
        extendOrderId: data
      }).then(response => {
        this.erp = response.data;
        if(response.data.orders!=null&&response.data.orders.length==1){
          this.erpOrder=response.data.orders[0]
        }
      });
    },

    editTuiMoney1(){
      var that=this;
      this.$confirm('是否解冻此订单推广佣金吗?', "警告", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      }).then(function() {
        var data=that.item.orderId;
        return editTuiMoney(data);
      }).then(() => {
        this.msgSuccess("操作成功");
        getLiveOrder(this.item.orderId).then(response => {
          this.item=response.data
          that.getlogList(this.item.orderId);
          that.$parent.$parent.getList();
        });
      }).catch(function() {});
    },
    editTuiMoney2(){
      var that=this;
      this.$confirm('是否冻结此订单推广佣金吗?', "警告", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      }).then(function() {
        var data=that.item.orderId;
        return editTuiMoney(data);
      }).then(() => {
        this.msgSuccess("操作成功");
        getLiveOrder(this.item.orderId).then(response => {
          this.item=response.data
          that.getlogList(this.item.orderId);
          that.$parent.$parent.getList();
        });
      }).catch(function() {});
    },
    returnCost(){
      var that=this;
      this.$confirm('是否退还此订单成本吗?', "警告", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      }).then(function() {
        var data=that.item.orderId;
        return returnCost(data);
      }).then(() => {
        this.msgSuccess("操作成功");
        this.getDetails(this.item.orderId,null,null)
      }).catch(function() {});
    },
    moneyCancel(){
      this.money=null;
      this.moneyVisible=false;
    },
    refund(){
      var that=this;
      this.$confirm('是否确认申请退款?', "警告", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      }).then(function() {
        var data={
          orderId:that.item.orderId
        }
        return refundOrderMoney(data);
      }).then(() => {
        this.msgSuccess("操作成功");
        getLiveOrder(this.item.orderId).then(response => {
          this.item = response.data;
          // this.getlogList(this.item.orderId);
          this.$parent.$parent.getList();
        });
      }).catch(function() {});
    },
    finishOrder(){
      var that=this;
      this.$confirm('是否确认客户已收货?', "警告", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      }).then(function() {
        var data={
          orderId:that.item.orderId
        }
        return finishOrder(data);
      }).then(() => {
        this.msgSuccess("操作成功");
        getLiveOrder(this.item.orderId).then(response => {
          this.item = response.data;
          this.getlistOrderitem(this.item.orderId);
          this.$parent.$parent.getList();
        });
      }).catch(function() {});
    },


    syncExpress(){
      var that=this;
      this.$confirm('确定同步物流状态吗', "警告", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      }).then(function() {
        var data=that.item.orderId
        return syncExpress(data);
      }).then(() => {
        this.msgSuccess("操作成功");
        this.expressDialog.open=false
        getLiveOrder(this.item.orderId).then(response => {
          this.item=response.data
          that.getlogList(this.item.orderId);
          that.$parent.$parent.getList();
        });
      }).catch(function() {});
    },
    getInquiryOrder(){

      this.show.open=true;
      setTimeout(() => {
        this.$refs.Details.getDetails(this.item.inquiryOrderId);
      }, 1);
    },
    getPackageOrder(){
      this.pack.open=true;
      console.log(this.item.packageOrderId)
      setTimeout(() => {
        this.$refs.packDetails.getDetails(this.item.packageOrderId);
      }, 1);
    },
    tuiOrder(){
      var that=this;
      this.$confirm('是否确认推送订单?', "警告", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      }).then(function() {
        var data={
          orderId:that.item.orderId
        }
        return tuiOrder(data);
      }).then(() => {
        this.msgSuccess("操作成功");
        getLiveOrder(this.item.orderId).then(response => {
          this.item = response.data;
          this.getlogList(this.item.orderId);
          this.$parent.$parent.getList();
        });
      }).catch(function() {});
    },
    getDetails(orderId,nickName,storeName) {
      this.nickName=nickName;
      this.storeName=storeName;
      this.item=null;
      this.tuiMoneyLogs=null;
      getLiveOrder(orderId).then(response => {
        this.item = response.data;
        console.log(this.tuiMoneyLogs)
        this.tuiMoneyLogs = response.tuiMoneyLogs;
        this.msgForm.userId=response.data.userId;
        this.msgForm.followDoctorId=response.data.followDoctorId;
        this.getlistOrderitem(this.item.orderId);
        getOrderExpress(orderId).then(response => {
          this.deliverList = response.data;
          console.log(this.deliverList)
        });

        getOrderPayments(this.item.orderId).then(response => {
          this.payments = response.payments;
        });

        getOrderLog(this.item.orderId).then(response => {
          this.logs = response.logs
        });

        tuiMoneyLogs(this.item.orderId).then(response => {
          this.tuiMoneyLogs = response.data
        })
      });

    },
    getOrder(){
      getLiveOrder(this.item.orderId).then(response => {
        this.item = response.data;
        this.getlistOrderitem(this.item.orderId);
      });
    },
    submitEditDyForm(){
      this.$refs["editDyForm"].validate(valid => {
        if (valid) {
          editDeliveryId({orderId: this.editDyForm.orderId,
            deliverSn: this.editDyForm.deliveryCode,
            deliverId: this.editDyForm.deliverySn,type: 1}).then(response => {
            if (response.code === 200) {
              this.msgSuccess("操作成功");
              this.editDy.open = false;
              // 刷新当前页面数据
              this.getDetails(this.item.orderId, this.nickName, this.storeName);
            }
          })
        }
      });
    },
    getlistOrderitem(orderId){
      this.prod = null
      this.showProd=[]
      this.showList = true
      listOrderitem(orderId).then(response => {
        this.prod = response.rows;
        if (this.prod.length > 0) {
          this.showProd=[this.prod[0]];
        }
      });
    },
    // getlogList(orderId){
    //   logList(orderId).then(response => {
    //     this.logs = response.rows;
    //   });
    // },
    // getPayment(orderId){
    //   payment(orderId).then(response => {
    //     console.log(response)
    //     this.pay = response.data;
    //   });
    // }
  }
}

</script>


<style scoped>
.content{
  height: 100%;
  background-color: #fff;
  padding: 0px 20px;

}
.contentx{
  height: 100%;
  background-color: #fff;
  padding: 0px 20px 20px;


  margin: 20px;
}
.el-descriptions-item__label.is-bordered-label{
  font-weight: normal;
}
.el-descriptions-item__content {
  max-width: 150px;
  min-width: 100px;
}
.desct{
  padding-top: 20px;
  padding-bottom: 20px;
  color: #524b4a;
  font-weight: bold;
}

.order-content{
  margin: 10px;

}

.operate-container {
  background: #F2F6FC;
  height: 60px;
  margin: -20px -20px 0;
  line-height: 60px;
}

.operate-button-container {
  float: right;
  margin-right: 20px
}
</style>

<style scoped>
.chat-records {

  overflow-y: auto;
}
.timestamp {
  font-size: 12px;
  color: #A9A9A9;
}
.chat-record {
  margin: 10px;
  flex-direction: column;
  align-items: flex-start;
}
.sent {
  background-color: #fbfdff;
  color: #000839;
}
.sent .timestamp {
  float: right;
}
.right{
  float: right;
}
.received {
  background-color: #fbfdff;
  color: #000000;
}

.el-descriptions-item__content {
  max-width: 150px;
  min-width: 100px;
}
.order-content{
  margin: 10px;

}

.operate-container {
  background: #F2F6FC;
  height: 60px;
  margin: -20px -20px 0;
  line-height: 60px;
}

.operate-button-container {
  float: right;
  margin-right: 20px
}
</style>
