doum
11 小时以前 abed82384f42233b7534b7047bcfd955a2ef4487
admin/src/views/business/goodsorder.vue
@@ -2,73 +2,80 @@
  <TableLayout :permissions="['business:goodsorder:query']">
    <!-- 搜索表单 -->
    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
      <!-- 0待支付 1待发货 2待收货 3交易完成 4已关闭 5部分发货 -->
      <el-tabs v-model="status" @tab-click="handleClick">
        <el-tab-pane
            v-for="tab in statusList"
            :key="tab.name"
            :name="tab.name"
        >
          <template #label>
            <span>{{ tab.label }}</span>
            <el-badge
                v-if="tab.count > 0"
                :value="tab.count"
                class="tab-badge"
            />
          </template>
        </el-tab-pane>
      </el-tabs>
      <el-form-item label="订单编号" prop="code">
        <el-input v-model="searchForm.code" placeholder="请输入订单编号" type="number" clearable @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="收货人" prop="nickName">
        <el-input v-model="searchForm.nickName" placeholder="请输入姓名/手机号" clearable  @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="取货方式" prop="receiveType">
        <el-select v-model="searchForm.receiveType"    placeholder="请选择取货方式" clearable   @change="search" >
          <el-option :key="0" :value="0" label="快递配送"></el-option>
          <el-option :key="1" :value="1" label="自提"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="归属经销商" prop="shopName">
        <el-input v-model="searchForm.shopName" placeholder="请输入经销商名称" clearable @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="支付单号" prop="payOrderId">
        <el-input v-model="searchForm.payOrderId" placeholder="请输入支付单号" clearable  @keypress.enter.native="search"></el-input>
      </el-form-item>
      <div class="date-style" style="display: inline">
        <el-form-item label="订单时间" prop="starttime" >
          <el-date-picker
              style="width: 160px"
              clearable
              @change="search"
              v-model="searchForm.starttime"
              type="datetime"
              value-format="yyyy-MM-dd HH:mm:ss"
              format="yyyy-MM-dd HH:mm:ss"
              range-separator="至"
              placeholder="开始时间"
          ></el-date-picker>
        </el-form-item>
        <el-form-item label="-" label-width="10px" prop="endtime" >
          <el-date-picker
              style="width: 160px"
              clearable
              v-model="searchForm.endtime"
              type="datetime"
              @change="search"
              value-format="yyyy-MM-dd HH:mm:ss"
              format="yyyy-MM-dd HH:mm:ss"
              range-separator="至"
              placeholder="截止时间"
          ></el-date-picker>
        </el-form-item>
      <div>
        <el-tabs v-model="status" @tab-click="handleClick">
          <el-tab-pane
              v-for="tab in statusList"
              :key="tab.name"
              :name="tab.name"
          >
            <template #label>
              <span>{{ tab.label }}</span>
              <el-badge
                  v-if="tab.count > 0"
                  :value="tab.count"
                  class="tab-badge"
              />
            </template>
          </el-tab-pane>
        </el-tabs>
      </div>
      <div>
        <el-form-item label="订单编号" prop="code">
          <el-input v-model="searchForm.code" placeholder="请输入订单编号" type="number" clearable @keypress.enter.native="search"></el-input>
        </el-form-item>
        <el-form-item label="收货人" prop="nickName">
          <el-input v-model="searchForm.nickName" placeholder="请输入姓名/手机号" clearable  @keypress.enter.native="search"></el-input>
        </el-form-item>
        <el-form-item label="取货方式" prop="receiveType">
          <el-select v-model="searchForm.receiveType"    placeholder="请选择取货方式" clearable   @change="search" >
            <el-option :key="0" :value="0" label="快递配送"></el-option>
            <el-option :key="1" :value="1" label="自提"></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="商品名称" prop="shopName">
          <el-input v-model="searchForm.goodsName" placeholder="请输入商品名称" clearable @keypress.enter.native="search"></el-input>
        </el-form-item>
        <el-form-item label="归属经销商" prop="shopName">
          <el-input v-model="searchForm.shopName" placeholder="请输入经销商名称" clearable @keypress.enter.native="search"></el-input>
        </el-form-item>
        <el-form-item label="支付单号" prop="payOrderId">
          <el-input v-model="searchForm.payOrderId" placeholder="请输入支付单号" clearable  @keypress.enter.native="search"></el-input>
        </el-form-item>
        <div class="date-style" style="display: inline">
          <el-form-item label="订单时间" prop="starttime" >
            <el-date-picker
                style="width: 180px"
                clearable
                @change="search"
                v-model="searchForm.starttime"
                type="datetime"
                value-format="yyyy-MM-dd HH:mm:ss"
                format="yyyy-MM-dd HH:mm:ss"
                range-separator="至"
                placeholder="开始时间"
            ></el-date-picker>
          </el-form-item>
          <el-form-item label="-" label-width="10px" prop="endtime" >
            <el-date-picker
                style="width: 180px"
                clearable
                     v-model="searchForm.endtime"
                type="datetime"
                @change="search"
                value-format="yyyy-MM-dd HH:mm:ss"
                format="yyyy-MM-dd HH:mm:ss"
                range-separator="至"
                placeholder="截止时间"
            ></el-date-picker>
          </el-form-item>
        </div>
      </div>
      <section>
        <el-button type="primary" @click="search">搜索</el-button>
        <el-button type="primary" :loading="isWorking.export" v-permissions="['business:goodsorder:exportExcel']" @click="exportExcel">导出</el-button>
        <el-button @click="reset">重置</el-button>
        <el-button type="primary" :loading="isWorking.export" v-permissions="['business:goodsorder:exportExcel']" @click="exportExcel">导出</el-button>
      </section>
    </el-form>
    <!-- 表格和分页 -->
@@ -85,7 +92,7 @@
            <span  v-if="item.status ==1" class="orange">{{item.receiveType==1?'待自提':'待发货'}}</span>
            <span  v-if="item.status ==2" class="orange">待收货</span>
            <span  v-if="item.status ==3" class="grey">交易完成</span>
            <span  v-if="item.status ==4" class="grey">已关闭</span>
            <span  v-if="item.status ==4" class="grey">已取消</span>
            <span  v-if="item.status ==6" class="grey">已退款</span>
          </div>
        </div>
@@ -101,22 +108,23 @@
              </div>
              <div class="message" style="">
                <div class="name">{{ goods.name }}</div>
                <div class="attr">¥{{ goods.goodsNum }}</div>
                <div class="attr">x{{ goods.goodsNum }}</div>
              </div>
            </div>
            <div class="mark" v-if="item.sysInfo&& item.sysInfo.length" >备注:{{item.sysInfo}}</div>
            <div class="mark" v-if="item.sysInfo&& item.sysInfo.length" >平台备注:{{item.sysInfo}}</div>
            <div class="mark" v-if="item.memberInfo&& item.memberInfo.length" >客户备注:{{item.memberInfo}}</div>
          </div>
          <div class="member-message right-border">
            <div class="el-icon-user" style="padding: 5px 5px;">{{ item.linkname }}</div>
            <div class="el-icon-phone-outline" style="padding: 10px 5px;color: #777;font-size: 13px;">{{ item.linkphone }}</div>
            <div class="el-icon-user" style="padding: 5px 5px;width: 100%;">{{ item.linkname }}</div>
            <div class="el-icon-phone-outline" style="padding: 10px 5px;width: 100%;color: #777;font-size: 13px;">{{ item.linkphone }}</div>
          </div>
          <div class="address-message right-border right-border" style="padding-top: 15px;" >
            <div class="underway el-icon-sell" >{{item.receiveType==1?'到店自提':'快递配送'}} </div>
            <div class="underway el-icon-sell" >{{item.receiveType==1?'门店自提':'快递配送'}} </div>
            <div class=" el-icon-add-location" v-if="item.receiveType!=1">{{ item.linkaddr }}</div>
          </div>
          <div class="price-message right-border">
            <div class="underway" >订单总价:¥{{ (item.totalPrice||0).toFixed(2) }}</div>
            <div class="price-info">商品总价:¥{{  ((item.totalPrice||0)-(item.price || 0)).toFixed(2)}}</div>
            <div class="price-info">商品总价:¥{{  ((item.totalPrice||0)-(item.mailPrice || 0)).toFixed(2)}}</div>
            <div class="price-info">物流运费:¥{{  (item.mailPrice || 0).toFixed(2)}}</div>
            <div class="price-info">积分抵扣:-¥{{  (item.integral || 0 ).toFixed(2)}}</div>
            <div class="price-info">优惠金额:-¥{{  (item.couponPrice).toFixed(2) }}</div>
@@ -125,9 +133,9 @@
          <div class="action">
            <el-button v-if="item.status==1 && item.receiveType!=1" style=" width: 80%;" type="primary" @click="$refs.operaShipmentsWindow.open('发货', item)">发货</el-button>
            <div></div>
            <el-button v-if="item.status == 0" style="color: red; "  type="text" @click="cancelOrder(item)">取消订单</el-button>
            <el-button v-if="item.status == 0 || item.status==1" style="color: red; "  type="text" @click="$refs.OperaOrderCancelWindow.open('取消订单', item)">取消订单</el-button>
            <div></div>
            <el-button v-if="item.status == 3" style="color: red "  type="text" @click="cancelOrder(item)">订单退款</el-button>
            <el-button v-if="item.status == 3" style="color: red "  type="text"  @click="$refs.OperaOrderRefundWindow.open('订单退款', item)">订单退款</el-button>
            <div></div>
            <el-button v-if="item.status==2 && item.receiveType!=1" style="color: #666; " type="text"  @click="$refs.operaShipmentsWindow.open('快递信息变更', item)">快递变更</el-button>
            <div></div>
@@ -149,7 +157,9 @@
    <!-- 新建/修改 -->
    <OperaShipmentsWindow ref="operaShipmentsWindow" @success="search"/>
    <OperaOrderMarkWindow ref="operaOrderMarkWindow" @success="handlePageChange"/>
    <OperaGoodsOrderDetail ref="operaGoodsOrderDetail"/>
    <OperaOrderRefundWindow ref="OperaOrderRefundWindow" @success="handlePageChange"/>
    <OperaOrderCancelWindow ref="OperaOrderCancelWindow" @success="handlePageChange"/>
    <OperaGoodsOrderDetail ref="operaGoodsOrderDetail" @success="handlePageChange"/>
  </TableLayout>
</template>
@@ -159,11 +169,13 @@
import Pagination from '@/components/common/Pagination'
import OperaShipmentsWindow from '@/components/business/OperaShipmentsWindow'
import OperaOrderMarkWindow from '@/components/business/OperaOrderMarkWindow'
import OperaOrderCancelWindow from '@/components/business/OperaOrderCancelWindow'
import OperaGoodsOrderDetail from '@/components/business/OperaGoodsOrderDetail'
import OperaOrderRefundWindow from '@/components/business/OperaOrderRefundWindow'
export default {
  name: 'Goodsorder',
  extends: BaseTable,
  components: { TableLayout, Pagination, OperaShipmentsWindow, OperaOrderMarkWindow, OperaGoodsOrderDetail },
  components: { OperaOrderRefundWindow, TableLayout, Pagination, OperaShipmentsWindow, OperaOrderMarkWindow, OperaGoodsOrderDetail, OperaOrderCancelWindow },
  data () {
    return {
      status: '10',
@@ -175,7 +187,7 @@
        { name: '2', label: '待收货', count: 0 },
        { name: '3', label: '交易完成', count: 0 },
        { name: '6', label: '已退款', count: 0 },
        { name: '4', label: '交易关闭', count: 0 }],
        { name: '4', label: '已取消', count: 0 }],
      // 搜索
      searchForm: {
        id: '',
@@ -186,8 +198,8 @@
        status: '',
        nickName: '',
        starttime: null,
        enttime: null
      },
        endtime: null
      }
    }
  },
  created () {
@@ -234,7 +246,7 @@
    reset () {
      this.createDate = []
      this.searchForm.starttime = ''
      this.searchForm.enttime = ''
      this.searchForm.endtime = ''
      this.$refs.searchForm.resetFields()
      this.search()
    },
@@ -252,7 +264,7 @@
      this.search()
    },
    cancelOrder (item) {
      this.$dialog.cancelOrder(`确定取消订单:${item.code}?`)
      this.$dialog.messageWaring(`确定取消订单:${item.code}?`)
        .then(() => {
        })
@@ -339,7 +351,7 @@
      flex: 0.4;
    }
    .address-message {
      flex: 0.6;
      flex: 0.7;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      overflow: hidden;
@@ -382,7 +394,7 @@
      }
    }
    .action {
      flex: 0.5;
      flex: 0.4;
      box-sizing: border-box;
      padding: 10px;
      text-align: center;