Pārlūkot izejas kodu

修复测试问题

zhengjinyi 1 gadu atpakaļ
vecāks
revīzija
af38179147

+ 10 - 0
src/api/finance.js

@@ -153,3 +153,13 @@ export function subPaySplit(data) {
     data: data
   })
 }
+/**
+ * 申请结算
+ */
+export function subPaySettle(data) {
+  return request({
+    url: '/order/organize/pay/settle',
+    method: 'post',
+    data: data
+  })
+}

BIN
src/assets/bg_home@2x.png


+ 8 - 1
src/router/modules/finance.js

@@ -26,7 +26,7 @@ const financeRouter = {
       path: 'payment-list',
       name: 'PaymentList',
       component: () => import('@/views/finance/payment-list'),
-      meta: { title: '付款管理', noCache: true, icon: 'el-icon-bank-card' }
+      meta: { title: '付款列表', noCache: true, icon: 'el-icon-bank-card' }
     },
     {
       path: 'payment-details',
@@ -67,6 +67,13 @@ const financeRouter = {
       component: () => import('@/views/finance/paysettle-list'),
       meta: { title: '子订单手动结算', noCache: true, icon: 'el-icon-odometer' }
     },
+    {
+      path: 'paysettle-edit',
+      name: 'PaysettleEdit',
+      component: () => import('@/views/finance/paysettle-edit'),
+      meta: { title: '申请结算', noCache: true, icon: 'el-icon-odometer' },
+      hidden: true
+    },
     {
       path: 'paysettle-record',
       name: 'PaysettleRecord',

+ 4 - 0
src/styles/index.scss

@@ -248,4 +248,8 @@ input[type="number"]{
   line-height: 28px;
   color: red;
   margin: 0;
+}
+.el-p-link{
+  cursor: pointer;
+  color: #409EFF;
 }

+ 11 - 45
src/views/dashboard/admin/index.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="app-container">
     <el-card ref="print" class="box-card" style="margin: 0 auto;">
-      <h1 class="home-title" style="text-align: center;">欢迎访问丽格集采联盟后台系统</h1>
+      <div class="box-container" />
     </el-card>
   </div>
 </template>
@@ -25,49 +25,15 @@ export default {
 </script>
 
 <style scoped>
-  .app-title{
-    line-height: 36px;
-    font-size: 26px;
-    font-weight: bold;
-    color: #409EFF;
-    text-align: center;
-    margin: 0;
-  }
-  .box-card{
-    margin-top: 20px;
-    font-size: 14px;
-  }
-  .box-row{
-    padding: 10px 0;
-  }
-  .box-row .dropdown{
-    margin-top: -10px;
-  }
-  .refund-item{
-    padding: 10px 0;
-  }
-  .order-item{
-    background:#f7f7f7;
-    margin-bottom: 20px;
-    padding: 10px 15px;
-    border-radius: 5px;
-  }
-  .product-row{
-    padding: 10px 0;
-    background: #EBEEF5;
-    border-top: 1px dashed #DCDFE6;
-  }
-  .op-item{
-    padding: 5px 0;
-  }
-  .el-span-warning{
-    color: #E6A23C;
-  }
-  .el-span-success{
-    color: #67C23A;
-  }
-  .el-span-danger{
-    color: #F56C6C;
-  }
+.box-container{
+  width: 100%;
+}
+.box-container{
+  width: 100%;
+  height: 750px;
+  display: block;
+  background: url(~@/assets/bg_home@2x.png) no-repeat;
+  background-size: cover;
+}
 </style>
 

+ 56 - 40
src/views/finance/details.vue

@@ -12,21 +12,6 @@
           <el-col :span="4"><b>收款类型:</b> {{ repacts.bankNameType }}</el-col>
           <el-col :span="4"><b>收款金额:</b> ¥{{ repacts.receiptAmount }}</el-col>
           <el-col :span="4"><b>收款时间:</b> {{ repacts.receiptDate }}</el-col>
-          <el-col :span="4"><b>收款状态:</b>
-            <span
-              :class="{
-                'el-span-warning': repacts.receiptStatus == 2,
-                'el-span-success': repacts.receiptStatus == 3,
-                'el-span-danger': repacts.receiptStatus == 4,
-                'el-span-danger': repacts.receiptStatus == 5,
-              }"
-            >
-              {{ repacts.receiptStatus | receiptStatusFilters }}
-            </span>
-          </el-col>
-        </el-row>
-        <el-row :gutter="24" class="box-row">
-          <el-col :span="24"><b>收款短信:</b> {{ repacts.smsContent }}</el-col>
         </el-row>
       </div>
       <div class="refund-item">
@@ -37,7 +22,6 @@
             <el-col :span="5"><b>订单金额:</b> ¥{{ order.orderAmount | amountfilters }}</el-col>
             <el-col :span="4"><b>应收金额:</b> ¥{{ order.payableAmount | amountfilters }}</el-col>
             <el-col :span="4"><b>已收金额:</b> ¥{{ order.receiptAmount | amountfilters }}</el-col>
-            <el-col :span="4"><b>订单状态:</b> {{ order.receiptStatus | orderReceiptStatus }}</el-col>
           </el-row>
           <el-row :gutter="24" class="box-row">
             <el-col :span="5"><b>机构名称:</b> {{ order.userName }}</el-col>
@@ -53,6 +37,32 @@
           </el-row>
         </div>
       </div>
+      <template v-if="repacts.payWay === 2">
+        <div v-if="voucher.length>0" class="refund-item">
+          <h1 style="font-size: 14px;color: #409EFF;">线下支付凭证:</h1>
+          <el-row v-for="(vouch,index) in voucher" :key="index" style="padding:5px 0">
+            <p class="refund-item-p">{{ vouch.addTime }}</p>
+            <div class="refund-item-imgs">
+              <div v-for="(imgage,imgIndex) in vouch.images" :key="imgIndex" class="item-image">
+                <img :src="imgage" alt="">
+              </div>
+            </div>
+            <p class="refund-item-p">备注:{{ vouch.remarks }}</p>
+          </el-row>
+        </div>
+      </template>
+      <template v-else>
+        <div class="refund-item">
+          <h1 class="refund-item-title">订单收款记录:</h1>
+          <el-table :data="repacts" border fit highlight-current-row :header-cell-style="{background:'#e9f3f7',color:'#606266'}">
+            <el-table-column label="序号" align="center" prop="productName" />
+            <el-table-column label="收款时间" align="center" prop="unit" />
+            <el-table-column label="收款类型" align="center" prop="num" />
+            <el-table-column label="收款金额" align="center" prop="returnNum" />
+            <el-table-column label="交易号" align="center" prop="price" />
+          </el-table>
+        </div>
+      </template>
     </el-card>
     <template>
       <el-backtop style="right: 40px; bottom: 40px;">
@@ -89,30 +99,7 @@ export default {
   data() {
     return {
       repacts: {},
-      activeIndex: '2',
-      receiptAmount: 0,
-      returnValue: 0,
-      returnedPurchaseFee: 0,
-      bpClauses: null,
-      dialogRemarkList: [],
-      dialogRemarksVisible: false,
-      dialogRemarksOrderId: 0,
-      statusObj: {
-        '0': '待确认',
-        '4': '交易完成',
-        '5': '订单完成',
-        '6': '已关闭',
-        '7': '交易全退',
-        '11': '待收款、待发货',
-        '12': '待收款、部分发货',
-        '13': '待收款、全部发货',
-        '21': '部分收款、待发货',
-        '22': '部分收款、部分发货',
-        '23': '部分收款、全部发货',
-        '31': '全部收款、待发货',
-        '32': '全部收款、部分发货',
-        '33': '全部收款、全部发货'
-      }
+      receiptAmount: 0
     }
   },
   computed: {
@@ -164,6 +151,35 @@ export default {
   .refund-item{
     padding: 10px 0;
   }
+  .refund-item-title{
+    line-height: 24px;
+    font-size: 14px;
+    color: #409EFF;
+  }
+  .refund-item-p{
+    width: 100%;
+    line-height: 18px;
+    font-size: 14px;
+    color: #666666;
+    float: left;
+  }
+  .refund-item-imgs{
+    width: 100%;
+    height: auto;
+    margin: 5px 0;
+  }
+  .refund-item-imgs .item-image{
+    width: 148px;
+    height: 148px;
+    margin-right: 10px;
+    border: 1px dashed #E1E1E1;
+    float: left;
+  }
+  .refund-item-imgs .item-image img{
+    width: 148px;
+    height: 148px;
+    display: block;
+  }
   .order-item{
     background:#f7f7f7;
     margin-bottom: 20px;

+ 53 - 50
src/views/finance/list.vue

@@ -3,23 +3,49 @@
     <div class="filter-container">
       <div class="filter-control">
         <span>收款ID:</span>
-        <el-input v-model="listQuery.receiptId" style="width:180px;" placeholder="订单ID" clearable @keyup.enter.native="getList" @clear="getList" />
+        <el-input
+          v-model="listQuery.receiptId"
+          style="width:180px;"
+          placeholder="订单ID"
+          clearable
+          @keyup.enter.native="getList"
+          @clear="getList"
+          @input="e => (listQuery.receiptId = checkedInput(e))"
+        />
       </div>
       <div class="filter-control">
         <span>订单ID:</span>
-        <el-input v-model="listQuery.orderId" style="width:180px;" placeholder="订单ID" clearable @keyup.enter.native="getList" @clear="getList" />
+        <el-input
+          v-model="listQuery.orderId"
+          style="width:180px;"
+          placeholder="订单ID"
+          clearable
+          @keyup.enter.native="getList"
+          @clear="getList"
+          @input="e => (listQuery.orderId = checkedInput(e))"
+        />
       </div>
       <div class="filter-control">
         <span>订单编号:</span>
-        <el-input v-model="listQuery.orderNo" style="width:180px;" placeholder="订单编号" clearable @keyup.enter.native="getList" @clear="getList" />
+        <el-input
+          v-model="listQuery.orderNo"
+          style="width:180px;"
+          placeholder="订单编号"
+          clearable
+          @keyup.enter.native="getList"
+          @clear="getList"
+        />
       </div>
       <div class="filter-control">
         <span>机构名称:</span>
-        <el-input v-model="listQuery.userName" style="width:180px;" placeholder="客户名称" clearable @keyup.enter.native="getList" @clear="getList" />
-      </div>
-      <div class="filter-control">
-        <span>收款方:</span>
-        <el-input v-model="listQuery.customer" style="width:180px;" placeholder="收款方" clearable @keyup.enter.native="getList" @clear="getList" />
+        <el-input
+          v-model="listQuery.userName"
+          style="width:180px;"
+          placeholder="客户名称"
+          clearable
+          @keyup.enter.native="getList"
+          @clear="getList"
+        />
       </div>
       <div class="filter-control">
         <span>收款方式:</span>
@@ -30,17 +56,7 @@
         </el-select>
       </div>
       <div class="filter-control">
-        <span>收款状态:</span>
-        <el-select v-model="listQuery.receiptStatus" style="width:180px;" clearable @change="getList">
-          <el-option value="" label="所有" />
-          <el-option label="待审核" :value="2" />
-          <el-option label="审核通过" :value="3" />
-          <el-option label="审核不通过" :value="4" />
-          <el-option label="收款撤销" :value="5" />
-        </el-select>
-      </div>
-      <div class="filter-control">
-        <span>收款账号:</span>
+        <span>收款类型:</span>
         <el-select v-model="listQuery.payType" style="width:180px;" clearable @change="getList">
           <el-option value="" label="所有" />
           <el-option v-for="item in receiptTypeList" :key="item.id" :label="item.name" :value="item.id" />
@@ -56,15 +72,7 @@
         </el-select>
       </div>
       <div class="filter-control">
-        <span>关联数量:</span>
-        <el-select v-model="listQuery.associationNum" style="width:180px;" clearable @change="getList">
-          <el-option value="" label="所有" />
-          <el-option label="关联一个订单" value="1" />
-          <el-option label="关联多个订单" value="2" />
-        </el-select>
-      </div>
-      <div class="filter-control">
-        <span>下单时间:</span>
+        <span>收款时间:</span>
         <el-date-picker
           v-model="time"
           type="daterange"
@@ -78,7 +86,7 @@
       </div>
       <div class="filter-control">
         <el-button type="primary" icon="el-icon-search" @click="getList">查询</el-button>
-        <!-- <el-button type="primary" icon="el-icon-search" @click="getList">导出筛查结果</el-button> -->
+        <!-- <el-button type="primary" icon="el-icon-search" @click="getList">organizeId</el-button> -->
       </div>
     </div>
     <el-table
@@ -102,32 +110,23 @@
           {{ row.payWay | payWayFilters }}
         </template>
       </el-table-column>
-      <el-table-column label="收款账号" align="center" prop="payType">
+      <el-table-column label="收款类型" align="center" prop="payType">
         <template slot-scope="{ row }">
-          <span>{{ payTypeFilters(row.payType) }}</span>
+          <span v-if="row.payWay === 2">{{ payTypeFilters(row.payType) }}</span>
+          <span v-else>{{ row.bankNameType }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="状态" align="center" prop="receiptStatus">
+      <el-table-column label="机构名称" align="center" prop="clubname">
         <template slot-scope="{ row }">
-          <span
-            :class="{
-              'el-span-warning': row.receiptStatus == 2,
-              'el-span-success': row.receiptStatus == 3,
-              'el-span-danger': row.receiptStatus == 4,
-              'el-span-danger': row.receiptStatus == 5,
-            }"
-          >
-            {{ row.receiptStatus | receiptStatusFilters }}
-          </span>
+          {{ row.clubname ? row.clubname : '---' }}
         </template>
       </el-table-column>
-      <el-table-column label="机构名称" align="center" prop="userName">
+      <el-table-column label="关联订单号" align="center" prop="shopOrderNos">
         <template slot-scope="{ row }">
-          {{ row.userName ? row.userName : '---' }}
+          {{ row.shopOrderNos }}({{ row.orderId }})
         </template>
       </el-table-column>
-      <el-table-column label="关联订单号" align="center" prop="shopOrderNos" />
-      <el-table-column label="操作" align="center">
+      <el-table-column label="操作" align="center" width="120">
         <template slot-scope="{row}">
           <el-button type="primary" size="mini" @click="handleToDetails(row.receiptId)">查看详情</el-button>
         </template>
@@ -205,11 +204,11 @@ export default {
     async getList() {
       this.listLoading = true
       if (this.time && this.time.length > 0) {
-        this.listQuery.startPayTime = this.time[0]
-        this.listQuery.endPayTime = this.time[1]
+        this.listQuery.startTime = this.time[0]
+        this.listQuery.endTime = this.time[1]
       } else {
-        this.listQuery.startPayTime = ''
-        this.listQuery.endPayTime = ''
+        this.listQuery.startTime = ''
+        this.listQuery.endTime = ''
       }
       try {
         const res = await getReceiptList(this.listQuery)
@@ -238,6 +237,10 @@ export default {
     handleToDetails(receiptId) {
       this.$router.push({ path: '/finance/details', query: { receiptId: receiptId }})
     },
+    checkedInput(event) {
+      const pattern = /[^0-9.]/g
+      return event.replace(pattern, '')
+    },
     onSubmit() {
       console.log('search')
     }

+ 2 - 3
src/views/finance/payapply-edit.vue

@@ -14,7 +14,6 @@
           <el-row :gutter="24" class="box-row">
             <el-col :span="24"><b>供应商名称:</b> {{ payRepacts.shopName }}</el-col>
           </el-row>
-          <h1 style="font-size: 14px;color: #409EFF;">付款账号:</h1>
           <h1 style="font-size: 14px;">采美账号:</h1>
           <el-row :gutter="24" class="box-row">
             <el-col :span="5">
@@ -81,7 +80,7 @@
             </el-col>
           </el-row>
           <el-row :gutter="24" class="box-row">
-            <el-col :span="5"><b>机构名称:</b> {{ shopOrder.buyer }}</el-col>
+            <el-col :span="5"><b>机构名称:</b> {{ shopOrder.clubName }}</el-col>
             <el-col :span="5"><b>机构运费:</b>
               <span class="el-span-danger">{{ payRepacts.postageInfo }}</span>
             </el-col>
@@ -218,7 +217,7 @@ export default {
         bankAccountName: [{ required: true, message: '付供应商开户行不能为空', trigger: 'blur' }],
         bankAccount: [{ required: true, message: '付供应商开户行不能为空', trigger: 'blur' }],
         bankName: [{ required: true, message: '付供应商开户行不能为空', trigger: 'blur' }],
-        cmType: [{ required: true, message: '请选择付采美账户类型', trigger: 'blur' }],
+        cmType: [{ required: true, message: '请选择付采美账户类型', trigger: 'change' }],
         type: [{ required: true, message: '请选择付供应商账户类型', trigger: 'blur' }]
       },
       applyType: ''

+ 56 - 8
src/views/finance/payapply-list.vue

@@ -3,27 +3,71 @@
     <div class="filter-container">
       <div class="filter-control">
         <span>子订单ID:</span>
-        <el-input v-model="listQuery.shopOrderId" style="width:180px;" placeholder="子订单ID" clearable @keyup.enter.native="getList" @clear="getList" />
+        <el-input
+          v-model="listQuery.shopOrderId"
+          style="width:180px;"
+          placeholder="子订单ID"
+          clearable
+          @keyup.enter.native="getList"
+          @clear="getList"
+          @input="e => (listQuery.shopOrderId = checkedInput(e))"
+        />
       </div>
       <div class="filter-control">
         <span>子订单编号:</span>
-        <el-input v-model="listQuery.shopOrderNo" style="width:180px;" placeholder="子订单编号" clearable @keyup.enter.native="getList" @clear="getList" />
+        <el-input
+          v-model="listQuery.shopOrderNo"
+          style="width:180px;"
+          placeholder="子订单编号"
+          clearable
+          @keyup.enter.native="getList"
+          @clear="getList"
+        />
       </div>
       <div class="filter-control">
         <span>订单ID:</span>
-        <el-input v-model="listQuery.orderId" style="width:180px;" placeholder="订单ID" clearable @keyup.enter.native="getList" @clear="getList" />
+        <el-input
+          v-model="listQuery.orderId"
+          style="width:180px;"
+          placeholder="订单ID"
+          clearable
+          @keyup.enter.native="getList"
+          @clear="getList"
+          @input="e => (listQuery.orderId = checkedInput(e))"
+        />
       </div>
       <div class="filter-control">
         <span>订单编号:</span>
-        <el-input v-model="listQuery.orderNo" style="width:180px;" placeholder="订单编号" clearable @keyup.enter.native="getList" @clear="getList" />
+        <el-input
+          v-model="listQuery.orderNo"
+          style="width:180px;"
+          placeholder="订单编号"
+          clearable
+          @keyup.enter.native="getList"
+          @clear="getList"
+        />
       </div>
       <div class="filter-control">
         <span>供应商:</span>
-        <el-input v-model="listQuery.shopName" style="width:180px;" placeholder="供应商" clearable @keyup.enter.native="getList" @clear="getList" />
+        <el-input
+          v-model="listQuery.shopName"
+          style="width:180px;"
+          placeholder="供应商"
+          clearable
+          @keyup.enter.native="getList"
+          @clear="getList"
+        />
       </div>
       <div class="filter-control">
         <span>机构名称:</span>
-        <el-input v-model="listQuery.clubName" style="width:180px;" placeholder="机构名称" clearable @keyup.enter.native="getList" @clear="getList" />
+        <el-input
+          v-model="listQuery.clubName"
+          style="width:180px;"
+          placeholder="机构名称"
+          clearable
+          @keyup.enter.native="getList"
+          @clear="getList"
+        />
       </div>
       <div class="filter-control">
         <span>付款状态:</span>
@@ -137,7 +181,7 @@
           <span>{{ row.productAmount | amountfilters }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="机构" align="center" prop="buyer" />
+      <el-table-column label="机构名称" align="center" prop="clubName" />
       <el-table-column label="机构运费" align="center" prop="freight">
         <template slot-scope="{row}">
           <span>{{ row.postageInfo }}</span>
@@ -161,7 +205,7 @@
       </el-table-column>
       <el-table-column label="操作" align="center">
         <template slot-scope="{row}">
-          <el-button type="text" size="mini" @click="handleToRecord(row.id)">退/付款记录</el-button>
+          <el-button type="primary" size="mini" @click="handleToRecord(row.id)">退/付款记录</el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -284,6 +328,10 @@ export default {
     },
     handleToRecord(id) {
       this.$router.push({ path: '/finance/payment-record', query: { id: id }})
+    },
+    checkedInput(event) {
+      const pattern = /[^0-9.]/g
+      return event.replace(pattern, '')
     }
   }
 }

+ 59 - 29
src/views/finance/payfinance-list.vue

@@ -3,27 +3,71 @@
     <div class="filter-container">
       <div class="filter-control">
         <span>子订单ID:</span>
-        <el-input v-model="listQuery.shopOrderId" style="width:180px;" placeholder="子订单ID" clearable @keyup.enter.native="getList" @clear="getList" />
+        <el-input
+          v-model="listQuery.shopOrderId"
+          style="width:180px;"
+          placeholder="子订单ID"
+          clearable
+          @keyup.enter.native="getList"
+          @clear="getList"
+          @input="e => (listQuery.shopOrderId = checkedInput(e))"
+        />
       </div>
       <div class="filter-control">
         <span>子订单编号:</span>
-        <el-input v-model="listQuery.shopOrderNo" style="width:180px;" placeholder="子订单编号" clearable @keyup.enter.native="getList" @clear="getList" />
+        <el-input
+          v-model="listQuery.shopOrderNo"
+          style="width:180px;"
+          placeholder="子订单编号"
+          clearable
+          @keyup.enter.native="getList"
+          @clear="getList"
+        />
       </div>
       <div class="filter-control">
         <span>订单ID:</span>
-        <el-input v-model="listQuery.orderId" style="width:180px;" placeholder="订单ID" clearable @keyup.enter.native="getList" @clear="getList" />
+        <el-input
+          v-model="listQuery.orderId"
+          style="width:180px;"
+          placeholder="订单ID"
+          clearable
+          @keyup.enter.native="getList"
+          @clear="getList"
+          @input="e => (listQuery.orderId = checkedInput(e))"
+        />
       </div>
       <div class="filter-control">
         <span>订单编号:</span>
-        <el-input v-model="listQuery.orderNo" style="width:180px;" placeholder="订单编号" clearable @keyup.enter.native="getList" @clear="getList" />
+        <el-input
+          v-model="listQuery.orderNo"
+          style="width:180px;"
+          placeholder="订单编号"
+          clearable
+          @keyup.enter.native="getList"
+          @clear="getList"
+        />
       </div>
       <div class="filter-control">
         <span>供应商:</span>
-        <el-input v-model="listQuery.shopName" style="width:180px;" placeholder="供应商" clearable @keyup.enter.native="getList" @clear="getList" />
+        <el-input
+          v-model="listQuery.shopName"
+          style="width:180px;"
+          placeholder="供应商"
+          clearable
+          @keyup.enter.native="getList"
+          @clear="getList"
+        />
       </div>
       <div class="filter-control">
         <span>机构名称:</span>
-        <el-input v-model="listQuery.clubName" style="width:180px;" placeholder="机构名称" clearable @keyup.enter.native="getList" @clear="getList" />
+        <el-input
+          v-model="listQuery.clubName"
+          style="width:180px;"
+          placeholder="机构名称"
+          clearable
+          @keyup.enter.native="getList"
+          @clear="getList"
+        />
       </div>
       <div class="filter-control">
         <span>收款状态:</span>
@@ -177,7 +221,7 @@
           <span>{{ row.payableAmount | amountfilters }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="机构" align="center" prop="clubName" />
+      <el-table-column label="机构名称" align="center" prop="clubName" />
       <el-table-column label="机构运费" align="center" prop="freight">
         <template slot-scope="{row}">
           <span>{{ row.postageInfo }}</span>
@@ -189,7 +233,7 @@
             <el-tag type="success" size="small">交易中</el-tag>
           </template>
           <template v-else>
-            <el-tag :type="row.status*1===6?'info':''" size="small">{{ row.status | statusFilter }}</el-tag>
+            <el-tag :type="row.status*1===6?'info':''" size="small">{{ row.status | orderStatusFilter }}</el-tag>
           </template>
         </template>
       </el-table-column>
@@ -216,8 +260,8 @@
       </el-table-column>
       <el-table-column label="操作" align="center" width="160">
         <template slot-scope="{row}">
-          <el-button type="text" size="mini" @click="handleToRecord(1,row.orderId)">收付款记录</el-button>
-          <el-button type="text" size="mini" @click="handleToRecord(2,row.orderId)">用户退款/退货记录</el-button>
+          <el-button type="primary" size="mini" style="margin:5px;" @click="handleToRecord(1,row.orderId)">收付款记录</el-button>
+          <el-button type="primary" size="mini" style="margin:5px;" @click="handleToRecord(2,row.orderId)">用户退款/退货记录</el-button>
           <!-- <el-button type="text" size="mini" @click="handleToRecord(3,row.orderId)">供应商退/付款记录</el-button> -->
         </template>
       </el-table-column>
@@ -232,25 +276,7 @@ import pickerOptions from '@/utils/time-picker.js'
 
 export default {
   filters: {
-    statusFilter(status) {
-      const map = {
-        '0': '待确认',
-        '4': '交易完成',
-        '5': '订单完成',
-        '6': '已关闭',
-        '7': '交易全退',
-        '11': '待收款、待发货',
-        '12': '待收款、部分发货',
-        '13': '待收款、全部发货',
-        '21': '部分收款、待发货',
-        '22': '部分收款、部分发货',
-        '23': '部分收款、全部发货',
-        '31': '全部收款、待发货',
-        '32': '全部收款、部分发货',
-        '33': '全部收款、全部发货'
-      }
-      return map[status]
-    }
+
   },
   data() {
     return {
@@ -303,6 +329,10 @@ export default {
           this.$router.push({ path: '/finance/shop-record', query: { orderId: orderId }})
           break
       }
+    },
+    checkedInput(event) {
+      const pattern = /[^0-9.]/g
+      return event.replace(pattern, '')
     }
   }
 }

+ 87 - 82
src/views/finance/payment-details.vue

@@ -15,78 +15,79 @@
           <el-row :gutter="24" class="box-row">
             <el-col :span="24"><b>供应商名称:</b> {{ payRepacts.shopName }}</el-col>
           </el-row>
-          <h1 style="font-size: 14px;color: #409EFF;">付款账号:</h1>
-          <h1 style="font-size: 14px;"><span style="color: red;">*</span>采美账号:</h1>
-          <el-row :gutter="24" class="box-row">
-            <el-col :span="4"><b>户名:</b>
-              <el-input
-                v-model="payRepacts.cmBankAccountName"
-                :disabled="true"
-                clearable
-                size="mini"
-                style="width: 150px;"
-              />
-            </el-col>
-            <el-col :span="6"><b>账号:</b>
-              <el-input
-                v-model="payRepacts.cmBankAccount"
-                clearable
-                size="mini"
-                :disabled="true"
-                style="width: 200px;"
-              />
-            </el-col>
-            <el-col :span="6"><b>开户行:</b>
-              <el-input
-                v-model="payRepacts.cmBankName"
-                :disabled="true"
-                size="mini"
-                style="width: 150px;"
-              />
-            </el-col>
-            <el-col :span="4"><b>账户类型:</b>
-              <span>{{ payRepacts.type === 0 ?'公账':'私账' }}</span>
-            </el-col>
-          </el-row>
-          <h1 style="font-size: 14px;"><span style="color: red;">*</span>供应商账号:</h1>
-          <el-row :gutter="24" class="box-row">
-            <el-col :span="4"><b>户名:</b>
-              <el-input
-                v-model="payRepacts.bankAccountName"
-                :disabled="true"
-                clearable
-                size="mini"
-                style="width: 150px;"
-              />
-            </el-col>
-            <el-col :span="6"><b>账号:</b>
-              <el-input
-                v-model="payRepacts.bankAccount"
-                clearable
-                size="mini"
-                :disabled="true"
-                style="width: 200px;"
-              />
-            </el-col>
-            <el-col :span="6"><b>开户行:</b>
-              <el-input
-                v-model="payRepacts.bankName"
-                :disabled="true"
-                size="mini"
-                style="width: 150px;"
-              />
-            </el-col>
-            <el-col :span="4"><b>账户类型:</b>
-              <span>{{ payRepacts.type === 0 ?'公账':'私账' }}</span>
-            </el-col>
-          </el-row>
+          <template v-if="payRepacts.payType !==6">
+            <h1 style="font-size: 14px;"><span style="color: red;">*</span>采美账号:</h1>
+            <el-row :gutter="24" class="box-row">
+              <el-col :span="4"><b>户名:</b>
+                <el-input
+                  v-model="payRepacts.cmBankAccountName"
+                  :disabled="true"
+                  clearable
+                  size="mini"
+                  style="width: 150px;"
+                />
+              </el-col>
+              <el-col :span="6"><b>账号:</b>
+                <el-input
+                  v-model="payRepacts.cmBankAccount"
+                  clearable
+                  size="mini"
+                  :disabled="true"
+                  style="width: 200px;"
+                />
+              </el-col>
+              <el-col :span="6"><b>开户行:</b>
+                <el-input
+                  v-model="payRepacts.cmBankName"
+                  :disabled="true"
+                  size="mini"
+                  style="width: 150px;"
+                />
+              </el-col>
+              <el-col :span="4"><b>账户类型:</b>
+                <span>{{ payRepacts.type === 0 ?'公账':'私账' }}</span>
+              </el-col>
+            </el-row>
+            <h1 style="font-size: 14px;"><span style="color: red;">*</span>供应商账号:</h1>
+            <el-row :gutter="24" class="box-row">
+              <el-col :span="4"><b>户名:</b>
+                <el-input
+                  v-model="payRepacts.bankAccountName"
+                  :disabled="true"
+                  clearable
+                  size="mini"
+                  style="width: 150px;"
+                />
+              </el-col>
+              <el-col :span="6"><b>账号:</b>
+                <el-input
+                  v-model="payRepacts.bankAccount"
+                  clearable
+                  size="mini"
+                  :disabled="true"
+                  style="width: 200px;"
+                />
+              </el-col>
+              <el-col :span="6"><b>开户行:</b>
+                <el-input
+                  v-model="payRepacts.bankName"
+                  :disabled="true"
+                  size="mini"
+                  style="width: 150px;"
+                />
+              </el-col>
+              <el-col :span="4"><b>账户类型:</b>
+                <span>{{ payRepacts.type === 0 ?'公账':'私账' }}</span>
+              </el-col>
+            </el-row>
+          </template>
         </div>
         <div v-for="(shopOrder,index) in payRepacts.shopOrders" :key="index" class="refund-item">
           <el-row :gutter="24" class="box-row">
-            <el-col :span="5"><b>订单编号(ID):</b> {{ shopOrder.orderNo }}({{ shopOrder.orderId }})</el-col>
-            <el-col :span="5"><b>下单时间:</b> {{ shopOrder.orderTime }}</el-col>
+            <el-col :span="6"><b>订单编号(ID):</b> {{ shopOrder.orderNo }}({{ shopOrder.orderId }})</el-col>
+            <el-col :span="6"><b>下单时间:</b> {{ shopOrder.orderTime }}</el-col>
             <el-col :span="4"><b>订单金额:</b> <span class="el-span-danger">¥{{ shopOrder.payTotalFee }}</span></el-col>
-            <el-col :span="10">
+            <el-col :span="8">
               <b>所有子订单:</b>
               <span v-for="child in shopOrder.shopOrderNos" :key="child">
                 【{{ child }}】
@@ -94,11 +95,11 @@
             </el-col>
           </el-row>
           <el-row :gutter="24" class="box-row">
-            <el-col :span="5">
+            <el-col :span="6">
               <b>机构名称:</b>
-              {{ shopOrder.buyer }}
+              {{ shopOrder.clubName }}
             </el-col>
-            <el-col :span="5">
+            <el-col :span="6">
               <b>机构运费:</b>
               <span class="el-span-danger">{{ payRepacts.postageInfo }}</span>
             </el-col>
@@ -108,26 +109,26 @@
               <el-tag v-if="shopOrder.orderReceiptStatus===2" type="warning" size="small">部分收款</el-tag>
               <el-tag v-if="shopOrder.orderReceiptStatus===3" type="success" size="small">已收款</el-tag>
             </el-col>
-            <el-col :span="10">
+            <el-col :span="8">
               <b>收款金额:</b>
               <span class="el-span-danger">¥{{ shopOrder.receiptTotalFee | amountfilters }}</span>
             </el-col>
           </el-row>
           <el-row :gutter="24" class="box-row">
-            <el-col :span="5"><b>子订单编号(ID):</b> {{ shopOrder.shopOrderNo }}({{ shopOrder.shopOrderId }})</el-col>
-            <el-col :span="5"><b>子订单佣金:</b>
+            <el-col :span="6"><b>子订单编号(ID):</b> {{ shopOrder.shopOrderNo }}({{ shopOrder.shopOrderId }})</el-col>
+            <el-col v-if="!detailsType === 'print'" :span="6"><b>子订单佣金:</b>
               <span> {{ shopOrder.brokerage | amountfilters }}  </span>
             </el-col>
             <el-col :span="4"><b>商品费:</b> {{ shopOrder.productAmount | amountfilters }}</el-col>
-            <el-col :span="10"><b>付款状态:</b>
+            <el-col :span="8"><b>付款状态:</b>
               <el-tag v-if="shopOrder.payStatus===1" type="danger" size="small">待付款</el-tag>
               <el-tag v-if="shopOrder.payStatus===2" type="warning" size="small">部分付款</el-tag>
               <el-tag v-if="shopOrder.payStatus===3" type="success" size="small">已付款</el-tag>
             </el-col>
           </el-row>
           <el-row :gutter="24" class="box-row">
-            <el-col :span="5"><b>供应商名称:</b> {{ shopOrder.shopName }}</el-col>
-            <el-col :span="5"><b>供应商运费:</b>
+            <el-col :span="6"><b>供应商名称:</b> {{ shopOrder.shopName }}</el-col>
+            <el-col :span="6"><b>供应商运费:</b>
               <span>¥{{ shopOrder.shopPostFee | amountfilters }}</span>
             </el-col>
           </el-row>
@@ -173,7 +174,7 @@
         </div>
         <div class="refund-item">
           <el-row :gutter="24" class="box-row">
-            <el-col :span="5"><b>付供应商总金额:</b>
+            <el-col :span="6"><b>付供应商总金额:</b>
               <span class="el-span-danger"> {{ payRepacts.totalAmount | amountfilters }} </span>
             </el-col>
             <el-col :span="6"><b>付采美总金额:</b>
@@ -182,14 +183,14 @@
           </el-row>
           <el-row :gutter="24" class="box-row">
             <template v-if="detailsType === 'verify' || detailsType === 'edit'">
-              <el-col :span="5"><b>付款银行:</b>
+              <el-col :span="6"><b>付款银行:</b>
                 <el-select v-model="checkParams.payType" style="width:150px;" clearable size="mini">
                   <el-option v-for="item in receiptTypeList" :key="item.id" :label="item.name" :value="item.id" />
                 </el-select>
               </el-col>
             </template>
             <template v-else>
-              <el-col :span="5"><b>付款银行:</b>{{ payTypeFilters(payRepacts.payType) }} </el-col>
+              <el-col :span="6"><b>付款银行:</b>{{ payTypeFilters(payRepacts.payType) }} </el-col>
             </template>
             <template v-if="detailsType === 'edit'">
               <el-col :span="6"><b>付款时间:</b>
@@ -205,11 +206,11 @@
             </template>
           </el-row>
           <el-row :gutter="24" class="box-row">
-            <el-col :span="5"><b>申请人:</b> {{ payRepacts.applicantName }}  </el-col>
+            <el-col :span="6"><b>申请人:</b> {{ payRepacts.applicantName }}  </el-col>
             <el-col :span="6"><b>申请时间:</b> {{ payRepacts.applyTime }}  </el-col>
           </el-row>
           <el-row v-if="payRepacts.reviewerName" :gutter="24" class="box-row">
-            <el-col :span="5"><b>审核人:</b> {{ payRepacts.reviewerName }}  </el-col>
+            <el-col :span="6"><b>审核人:</b> {{ payRepacts.reviewerName }}  </el-col>
             <el-col :span="6"><b>审核时间:</b> {{ payRepacts.reviewTime }} </el-col>
           </el-row>
           <el-row :gutter="24" class="box-row">
@@ -226,6 +227,10 @@
             </el-col>
             <el-col v-if="payRepacts.status === 2" :span="20"><b>原因:</b> <span class="el-span-danger">{{ payRepacts.reason }}</span> </el-col>
           </el-row>
+          <el-row :gutter="24" class="box-row">
+            <el-col :span="6"><b>财务签名:</b> </el-col>
+            <el-col :span="6"><b>审批人签名:</b> </el-col>
+          </el-row>
         </div>
       </el-card>
       <div v-if="detailsType === 'edit'" class="filter-container" style="text-align: center;margin-top: 20px;">

+ 91 - 43
src/views/finance/payment-list.vue

@@ -3,31 +3,82 @@
     <div class="filter-container">
       <div class="filter-control">
         <span>子订单ID:</span>
-        <el-input v-model="listQuery.shopOrderId" style="width:180px;" placeholder="子订单ID" clearable @keyup.enter.native="getList" @clear="getList" />
+        <el-input
+          v-model="listQuery.shopOrderId"
+          style="width:180px;"
+          placeholder="子订单ID"
+          clearable
+          @keyup.enter.native="getList"
+          @clear="getList"
+          @input="e => (listQuery.shopOrderId = checkedInput(e))"
+        />
       </div>
       <div class="filter-control">
         <span>子订单编号:</span>
-        <el-input v-model="listQuery.shopOrderNo" style="width:180px;" placeholder="子订单编号" clearable @keyup.enter.native="getList" @clear="getList" />
+        <el-input
+          v-model="listQuery.shopOrderNo"
+          style="width:180px;"
+          placeholder="子订单编号"
+          clearable
+          @keyup.enter.native="getList"
+          @clear="getList"
+        />
       </div>
       <div class="filter-control">
         <span>订单ID:</span>
-        <el-input v-model="listQuery.orderId" style="width:180px;" placeholder="订单ID" clearable @keyup.enter.native="getList" @clear="getList" />
+        <el-input
+          v-model="listQuery.orderId"
+          style="width:180px;"
+          placeholder="订单ID"
+          clearable
+          @keyup.enter.native="getList"
+          @clear="getList"
+          @input="e => (listQuery.orderId = checkedInput(e))"
+        />
       </div>
       <div class="filter-control">
         <span>订单编号:</span>
-        <el-input v-model="listQuery.orderNo" style="width:180px;" placeholder="订单编号" clearable @keyup.enter.native="getList" @clear="getList" />
+        <el-input
+          v-model="listQuery.orderNo"
+          style="width:180px;"
+          placeholder="订单编号"
+          clearable
+          @keyup.enter.native="getList"
+          @clear="getList"
+        />
       </div>
       <div class="filter-control">
         <span>付款单ID:</span>
-        <el-input v-model="listQuery.payShopId" style="width:180px;" placeholder="付款单ID" clearable @keyup.enter.native="getList" @clear="getList" />
+        <el-input
+          v-model="listQuery.payShopId"
+          style="width:180px;"
+          placeholder="付款单ID"
+          clearable
+          @keyup.enter.native="getList"
+          @clear="getList"
+        />
       </div>
       <div class="filter-control">
         <span>供应商:</span>
-        <el-input v-model="listQuery.shopName" style="width:180px;" placeholder="供应商" clearable @keyup.enter.native="getList" @clear="getList" />
+        <el-input
+          v-model="listQuery.shopName"
+          style="width:180px;"
+          placeholder="供应商"
+          clearable
+          @keyup.enter.native="getList"
+          @clear="getList"
+        />
       </div>
       <div class="filter-control">
         <span>付款单名称:</span>
-        <el-input v-model="listQuery.name" style="width:180px;" placeholder="付款单名称" clearable @keyup.enter.native="getList" @clear="getList" />
+        <el-input
+          v-model="listQuery.name"
+          style="width:180px;"
+          placeholder="付款单名称"
+          clearable
+          @keyup.enter.native="getList"
+          @clear="getList"
+        />
       </div>
       <div class="filter-control">
         <span>付款审核状态:</span>
@@ -66,7 +117,7 @@
       </div>
       <div class="filter-control">
         <el-button type="primary" icon="el-icon-search" @click="getList">查询</el-button>
-        <el-button type="primary" icon="el-icon-search" @click="getList">导出筛查结果</el-button>
+        <!-- <el-button type="primary" icon="el-icon-search" @click="getList">导出筛查结果</el-button> -->
       </div>
     </div>
     <el-table
@@ -79,29 +130,25 @@
       :header-cell-style="{background:'#eef1f6',color:'#606266'}"
     >
       <el-table-column label="付款单ID" align="center" prop="payShopId" width="80" />
-      <el-table-column label="付款单名称" align="center" prop="name" width="100" />
+      <el-table-column label="付款单名称" align="center" prop="name" />
       <el-table-column label="供应商" align="center" prop="shopName" />
-      <el-table-column label="付款金额" align="center" prop="totalAmount" width="120" />
-      <el-table-column label="订单编号(ID)" align="center" prop="shopOrderNos" width="230">
+      <el-table-column label="付款金额" align="center" prop="totalAmount" />
+      <el-table-column label="订单编号(ID)" align="center" prop="orderNos">
         <template slot-scope="{row}">
-          <p v-for="item in row.shopOrderNos" :key="item" style="margin: 0;">
+          <p v-for="item in row.orderNos" :key="item" style="margin: 0;" class="el-p-link" @click="handleOrderDetails(row)">
             {{ item ? item : '---' }}
           </p>
         </template>
       </el-table-column>
-      <el-table-column label="订单编号(ID)" align="center" prop="orderNos" width="230">
+      <el-table-column label="订单编号(ID)" align="center" prop="shopOrderNos">
         <template slot-scope="{row}">
-          <p v-for="item in row.orderNos" :key="item" style="margin: 0;">
+          <p v-for="item in row.shopOrderNos" :key="item" style="margin: 0;" class="el-p-link" @click="handleOrderDetails(row)">
             {{ item ? item : '---' }}
           </p>
         </template>
       </el-table-column>
-      <el-table-column label="机构" align="center" prop="clubName">
-        <template slot-scope="{row}">
-          {{ row.clubName ? row.clubName : '---' }}
-        </template>
-      </el-table-column>
-      <el-table-column label="申请人" align="center" prop="applicantName" width="100">
+      <el-table-column label="机构名称" align="center" prop="clubName" />
+      <el-table-column label="申请人" align="center" prop="applicantName">
         <template slot-scope="{row}">
           {{ row.applicantName ? row.applicantName : '---' }}
         </template>
@@ -111,7 +158,7 @@
           {{ row.applyTime ? row.applyTime : '---' }}
         </template>
       </el-table-column>
-      <el-table-column label="审核人" align="center" prop="reviewerName" width="100">
+      <el-table-column label="审核人" align="center" prop="reviewerName">
         <template slot-scope="{row}">
           {{ row.reviewerName ? row.reviewerName : '---' }}
         </template>
@@ -135,22 +182,24 @@
           </span>
         </template>
       </el-table-column>
-      <el-table-column label="操作" align="center">
+      <el-table-column label="操作" align="center" width="180">
         <template slot-scope="{row}">
-          <el-button type="text" size="mini" @click="handleOperate(1,row.payShopId)">查看详情</el-button>
-          <template v-if="row.status === 0">
-            <el-button type="text" size="mini" @click="handleOperate(2,row.payShopId)">修改申请</el-button>
-            <el-button type="text" size="mini" @click="handleOperate(3,row.payShopId)">取消付款</el-button>
-            <el-button type="text" size="mini" @click="handleOperate(4,row.payShopId)">付款审核</el-button>
+          <el-button type="primary" size="mini" style="margin:5px;" @click="handleOperate(1,row.payShopId)">查看详情</el-button>
+          <template v-if="row.status === 0 && row.payType !== 6">
+            <el-button type="primary" size="mini" style="margin:5px;" @click="handleOperate(2,row.payShopId)">修改申请</el-button>
+            <el-button type="primary" size="mini" style="margin:5px;" @click="handleOperate(3,row.payShopId)">取消付款</el-button>
+            <el-button type="primary" size="mini" style="margin:5px;" @click="handleOperate(4,row.payShopId)">付款审核</el-button>
           </template>
-          <template v-if="row.status === 1">
-            <el-button type="text" size="mini" @click="handleOperate(5,row.payShopId)">编辑</el-button>
-            <el-button type="text" size="mini" @click="handleOperate(6,row.payShopId)">撤销付款</el-button>
-            <el-button type="text" size="mini" @click="handleOperate(1,row.payShopId)">打印</el-button>
+          <template v-if="row.status === 1 && row.payType !== 6">
+            <el-button type="primary" size="mini" style="margin:5px;" @click="handleOperate(5,row.payShopId)">编辑</el-button>
+            <el-button type="primary" size="mini" style="margin:5px;" @click="handleOperate(6,row.payShopId)">撤销付款</el-button>
           </template>
           <template v-if="row.status === 2">
-            <el-button type="text" size="mini" @click="handleOperate(2,row.payShopId)">重申付款</el-button>
-            <el-button type="text" size="mini" @click="handleOperate(3,row.payShopId)">取消付款</el-button>
+            <el-button type="primary" size="mini" style="margin:5px;" @click="handleOperate(2,row.payShopId)">重申付款</el-button>
+            <el-button type="primary" size="mini" style="margin:5px;" @click="handleOperate(3,row.payShopId)">取消付款</el-button>
+          </template>
+          <template v-if="row.status === 1 && row.payType === 6">
+            <el-button type="primary" size="mini" style="margin:5px;" @click="handleOperate(1,row.payShopId)">打印</el-button>
           </template>
         </template>
       </el-table-column>
@@ -242,7 +291,7 @@ export default {
        */
       switch (type) {
         case 1:// 1查看详情
-          this.$router.push({ path: '/finance/payment-details', query: { payShopId: payShopId }})
+          this.$router.push({ path: '/finance/payment-details', query: { type: 'print', payShopId: payShopId }})
           break
         case 2:// 2修改申请
           this.$router.push({ path: '/finance/payapply-edit', query: { type: 'edit', payShopId: payShopId }})
@@ -299,19 +348,18 @@ export default {
       } catch (error) {
         console.log('error', error)
       }
+    },
+    // 跳转订单详情
+    handleOrderDetails(row) {
+      this.$router.push({ path: '/order/detail', query: { id: row.orderId }})
+    },
+    checkedInput(event) {
+      const pattern = /[^0-9.]/g
+      return event.replace(pattern, '')
     }
   }
 }
 
 </script>
 <style scoped>
-.el-span-warning{
-  color: #E6A23C;
-}
-.el-span-success{
-  color: #67C23A;
-}
-.el-span-danger{
-  color: #F56C6C;
-}
 </style>

+ 290 - 0
src/views/finance/paysettle-edit.vue

@@ -0,0 +1,290 @@
+<template>
+  <div class="app-container">
+    <el-card class="box-card" style="margin: 0 auto;">
+      <el-form ref="payFrom" :model="payRepacts" :rules="rules" label-width="120px">
+        <h1 class="app-title">结算单</h1>
+        <div v-for="(shopOrder,index) in payRepacts.shopOrders" :key="index" class="refund-item">
+          <el-row :gutter="24" class="box-row">
+            <el-col :span="5"><b>订单编号(ID):</b> {{ shopOrder.orderNo }}({{ shopOrder.orderId }})</el-col>
+            <el-col :span="5"><b>下单时间:</b> {{ shopOrder.orderTime }}</el-col>
+            <el-col :span="4"><b>订单金额:</b> <span class="el-span-danger">¥{{ shopOrder.payTotalFee }}</span></el-col>
+            <el-col :span="10">
+              <b>所有子订单:</b>
+              <span v-for="child in shopOrder.shopOrderNos" :key="child">
+                【{{ child }}】
+              </span>
+            </el-col>
+          </el-row>
+          <el-row :gutter="24" class="box-row">
+            <el-col :span="5"><b>机构名称:</b> {{ shopOrder.clubName }}</el-col>
+            <el-col :span="5"><b>机构运费:</b>
+              <span class="el-span-danger">{{ payRepacts.postageInfo }}</span>
+            </el-col>
+            <el-col :span="4">
+              <b>收款状态:</b>
+              <el-tag v-if="shopOrder.orderReceiptStatus===1" type="danger" size="small">待收款</el-tag>
+              <el-tag v-if="shopOrder.orderReceiptStatus===2" type="warning" size="small">部分收款</el-tag>
+              <el-tag v-if="shopOrder.orderReceiptStatus===3" type="success" size="small">已收款</el-tag>
+            </el-col>
+            <el-col :span="10">
+              <b>收款金额:</b>
+              <span class="el-span-danger">¥{{ shopOrder.receiptTotalFee | amountfilters }}</span>
+            </el-col>
+          </el-row>
+          <el-row :gutter="24" class="box-row">
+            <el-col :span="5"><b>子订单编号(ID):</b> {{ shopOrder.shopOrderNo }}({{ shopOrder.shopOrderId }})</el-col>
+            <el-col :span="5"><b>子订单佣金:</b>
+              <span class="el-span-danger"> ¥{{ shopOrder.brokerage | amountfilters }}  </span>
+            </el-col>
+            <el-col :span="4"><b>商品费:</b> ¥{{ shopOrder.productAmount | amountfilters }}</el-col>
+            <el-col :span="10">
+              <b>付款状态:</b>
+              <el-tag v-if="shopOrder.payStatus===1" type="danger" size="small">待付款</el-tag>
+              <el-tag v-if="shopOrder.payStatus===2" type="warning" size="small">部分付款</el-tag>
+              <el-tag v-if="shopOrder.payStatus===3" type="success" size="small">已付款</el-tag>
+            </el-col>
+          </el-row>
+          <el-row :gutter="24" class="box-row">
+            <el-col :span="5"><b>供应商名称:</b> {{ shopOrder.shopName }}</el-col>
+            <el-col :span="18"><b>供应商运费:</b>{{ shopOrder.shopPostFee | amountfilters }}</el-col>
+          </el-row>
+          <el-row :gutter="24" class="box-row">
+            <el-col :span="24">
+              <b>付供应商:</b>
+              <b style="margin-left: 10px;">应结算采美:</b>
+              <span class="el-span-danger"> ¥{{ shopOrder.shouldSettleCm | amountfilters }}  </span>
+              <b style="margin-left: 10px;">已结算采美:</b>
+              <span class="el-span-danger"> ¥{{ shopOrder.settleCmAmount | amountfilters }}  </span>
+              <b style="margin-left: 10px;">待结算采美:</b>
+              <span class="el-span-danger"> ¥{{ shopOrder.waitSettleCm | amountfilters }}  </span>
+              <b style="margin-left: 10px;">应结算供应商:</b>
+              <span class="el-span-danger"> ¥{{ shopOrder.shouldSettleShop | amountfilters }}  </span>
+              <b style="margin-left: 10px;">已结算供应商:</b>
+              <span class="el-span-danger"> ¥{{ shopOrder.settleShopAmount | amountfilters }}  </span>
+              <b style="margin-left: 10px;">待结算供应商:</b>
+              <span class="el-span-danger"> ¥{{ shopOrder.waitSettleShop | amountfilters }}  </span>
+            </el-col>
+          </el-row>
+          <el-row :gutter="24" class="box-row">
+            <el-table :data="shopOrder.newOrderProducts" border fit highlight-current-row :header-cell-style="{background:'#eef1f6',color:'#606266'}">
+              <el-table-column label="商品名" align="center" prop="name" />
+              <el-table-column label="规格" align="center" prop="unit" />
+              <el-table-column label="数量" align="center" prop="num" />
+              <el-table-column label="退货" align="center" prop="returnedPurchaseProductNum">
+                <template slot-scope="{row}">
+                  <span>{{ row.returnedPurchaseProductNum ? row.returnedPurchaseProductNum : 0 }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="单价" align="center" prop="price">
+                <template slot-scope="{row}">
+                  {{ row.price | amountfilters }}
+                </template>
+              </el-table-column>
+              <el-table-column label="总价" align="center" prop="totalFee">
+                <template slot-scope="{row}">
+                  {{ row.totalFee | amountfilters }}
+                </template>
+              </el-table-column>
+            </el-table>
+          </el-row>
+        </div>
+        <div class="refund-item">
+          <el-row :gutter="24" class="box-row">
+            <el-col :span="5"><b>结算供应商总金额:</b>
+              <span class="el-span-danger"> ¥{{ totalShopTotalAmount | amountfilters }} </span>
+            </el-col>
+            <el-col :span="6"><b>结算采美总金额:</b>
+              <span class="el-span-danger"> ¥{{ totalCmTotalAmount | amountfilters }}  </span>
+            </el-col>
+          </el-row>
+          <el-row :gutter="24" class="box-row">
+            <el-col :span="5"><b>申请人:</b> {{ payRepacts.applicantName }}  </el-col>
+          </el-row>
+        </div>
+      </el-form>
+    </el-card>
+    <div class="filter-container" style="text-align: center;margin-top: 20px;">
+      <el-button type="primary" @click="hanldeSubmit">确定结算</el-button>
+      <el-button plain @click="backToList">返回</el-button>
+    </div>
+  </div>
+</template>
+
+<script>
+import { getApplyPays, getPayDetails, subPaySettle } from '@/api/finance'
+export default {
+  name: 'PayapplyEdit',
+  filters: {
+    statusFilter(status) {
+      const map = {
+        0: '待审核',
+        1: '审核通过',
+        2: '审核不通过'
+      }
+      return map[status]
+    },
+    receiptStatusFilter(status) {
+      const map = {
+        1: '待收款',
+        2: '部分收款',
+        3: '已收款'
+      }
+      return map[status]
+    },
+    payStatusFilter(status) {
+      const map = {
+        1: '待付款',
+        2: '部分付款',
+        3: '已付款'
+      }
+      return map[status]
+    }
+  },
+  data() {
+    return {
+      payRepacts: {},
+      rules: {
+        name: [{ required: true, message: '请填写付款单名称', trigger: 'blur' }],
+        cmBankAccountName: [{ required: true, message: '付采美户名不能为空', trigger: 'blur' }],
+        cmBankAccount: [{ required: true, message: '付采美账号不能为空', trigger: 'blur' }],
+        cmBankName: [{ required: true, message: '付采美开户行不能为空', trigger: 'blur' }],
+        bankAccountName: [{ required: true, message: '付供应商开户行不能为空', trigger: 'blur' }],
+        bankAccount: [{ required: true, message: '付供应商开户行不能为空', trigger: 'blur' }],
+        bankName: [{ required: true, message: '付供应商开户行不能为空', trigger: 'blur' }],
+        cmType: [{ required: true, message: '请选择付采美账户类型', trigger: 'blur' }],
+        type: [{ required: true, message: '请选择付供应商账户类型', trigger: 'blur' }]
+      },
+      applyType: ''
+    }
+  },
+  computed: {
+    shopOrderIds() {
+      return JSON.parse(this.$route.query.shopOrderIds)
+    },
+    totalCmTotalAmount() {
+      let shouldSettleCm = 0
+      const shopOrders = this.payRepacts.shopOrders
+      shopOrders.forEach(item => {
+        shouldSettleCm += item.shouldSettleCm
+      })
+      return shouldSettleCm
+    },
+    totalShopTotalAmount() {
+      let shouldSettleShop = 0
+      const shopOrders = this.payRepacts.shopOrders
+      shopOrders.forEach(item => {
+        shouldSettleShop += item.shouldSettleShop
+      })
+      return shouldSettleShop
+    }
+  },
+  created() {
+    if (this.$route.query.type === 'edit') {
+      this.applyType = this.$route.query.type
+      this.getPayDetails(this.$route.query.payShopId)
+    } else {
+      this.getApplyPays()
+    }
+  },
+  methods: {
+    // 付款单详情
+    async getApplyPays() {
+      try {
+        const res = await getApplyPays(this.shopOrderIds)
+        this.payRepacts = res.data
+        this.payRepacts.applicantName = this.$store.getters.name
+      } catch (error) {
+        console.log('error', error)
+      }
+    },
+    // 结算单详情
+    async getPayDetails(payShopId) {
+      try {
+        const res = await getPayDetails(payShopId)
+        this.payRepacts = res.data
+      } catch (error) {
+        console.log('error', error)
+      }
+    },
+    // 提交结算申请
+    hanldeSubmit() {
+      this.$confirm('确定要提交结算吗?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        console.log('payRepacts', this.payRepacts)
+        this.subPaySettle(this.payRepacts)
+      })
+    },
+    async subPaySettle(params) {
+      try {
+        const res = await subPaySettle(params)
+        this.$message.success(res.msg)
+        setTimeout(() => {
+          this.backToList()
+        }, 1000)
+      } catch (error) {
+        console.log('error', error)
+      }
+    },
+    backToList() {
+      this.$store.dispatch('tagsView/delView', this.$route).then(() => {
+        this.$nextTick(() => {
+          this.$router.replace({
+            path: '/finance/paysettle-list'
+          })
+        })
+      })
+    }
+  }
+}
+</script>
+
+<style scoped>
+  .app-title{
+    line-height: 36px;
+    font-size: 26px;
+    font-weight: bold;
+    color: #409EFF;
+    text-align: center;
+    margin: 0;
+  }
+  .box-card{
+    margin-top: 20px;
+    font-size: 14px;
+  }
+  .box-row{
+    padding: 10px 0;
+  }
+  .box-row .dropdown{
+    margin-top: -10px;
+  }
+  .refund-item{
+    padding: 10px 0;
+  }
+  .order-item{
+    background:#f7f7f7;
+    margin-bottom: 20px;
+    padding: 10px 15px;
+    border-radius: 5px;
+  }
+  .product-row{
+    padding: 10px 0;
+    background: #EBEEF5;
+    border-top: 1px dashed #DCDFE6;
+  }
+  .op-item{
+    padding: 5px 0;
+  }
+  .el-span-warning{
+  color: #E6A23C;
+}
+.el-span-success{
+  color: #67C23A;
+}
+.el-span-danger{
+  color: #F56C6C;
+}
+</style>
+

+ 70 - 38
src/views/finance/paysettle-list.vue

@@ -3,27 +3,71 @@
     <div class="filter-container">
       <div class="filter-control">
         <span>子订单ID:</span>
-        <el-input v-model="listQuery.shopOrderId" style="width:180px;" placeholder="子订单ID" clearable @keyup.enter.native="getList" @clear="getList" />
+        <el-input
+          v-model="listQuery.shopOrderId"
+          style="width:180px;"
+          placeholder="子订单ID"
+          clearable
+          @keyup.enter.native="getList"
+          @clear="getList"
+          @input="e => (listQuery.orderId = checkedInput(e))"
+        />
       </div>
       <div class="filter-control">
         <span>子订单编号:</span>
-        <el-input v-model="listQuery.shopOrderNo" style="width:180px;" placeholder="子订单编号" clearable @keyup.enter.native="getList" @clear="getList" />
+        <el-input
+          v-model="listQuery.shopOrderNo"
+          style="width:180px;"
+          placeholder="子订单编号"
+          clearable
+          @keyup.enter.native="getList"
+          @clear="getList"
+        />
       </div>
       <div class="filter-control">
         <span>订单ID:</span>
-        <el-input v-model="listQuery.orderId" style="width:180px;" placeholder="订单ID" clearable @keyup.enter.native="getList" @clear="getList" />
+        <el-input
+          v-model="listQuery.orderId"
+          style="width:180px;"
+          placeholder="订单ID"
+          clearable
+          @keyup.enter.native="getList"
+          @clear="getList"
+          @input="e => (listQuery.orderId = checkedInput(e))"
+        />
       </div>
       <div class="filter-control">
         <span>订单编号:</span>
-        <el-input v-model="listQuery.orderNo" style="width:180px;" placeholder="订单编号" clearable @keyup.enter.native="getList" @clear="getList" />
+        <el-input
+          v-model="listQuery.orderNo"
+          style="width:180px;"
+          placeholder="订单编号"
+          clearable
+          @keyup.enter.native="getList"
+          @clear="getList"
+        />
       </div>
       <div class="filter-control">
         <span>供应商:</span>
-        <el-input v-model="listQuery.shopName" style="width:180px;" placeholder="供应商" clearable @keyup.enter.native="getList" @clear="getList" />
+        <el-input
+          v-model="listQuery.shopName"
+          style="width:180px;"
+          placeholder="供应商"
+          clearable
+          @keyup.enter.native="getList"
+          @clear="getList"
+        />
       </div>
       <div class="filter-control">
         <span>机构名称:</span>
-        <el-input v-model="listQuery.clubName" style="width:180px;" placeholder="机构名称" clearable @keyup.enter.native="getList" @clear="getList" />
+        <el-input
+          v-model="listQuery.clubName"
+          style="width:180px;"
+          placeholder="机构名称"
+          clearable
+          @keyup.enter.native="getList"
+          @clear="getList"
+        />
       </div>
       <div class="filter-control">
         <span>下单时间:</span>
@@ -44,6 +88,7 @@
       </div>
     </div>
     <el-table
+      ref="table"
       v-loading="listLoading"
       :data="list"
       element-loading-text="Loading"
@@ -52,7 +97,7 @@
       highlight-current-row
       default-expand-all
       :header-cell-style="{background:'#eef1f6',color:'#606266'}"
-      @selection-change="handleSelectionChange"
+      @select="handleSelectionChange"
     >
       <el-table-column type="selection" width="40" />
       <el-table-column label="商品信息" type="expand" width="50">
@@ -129,7 +174,7 @@
           <span>{{ row.productAmount | amountfilters }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="机构" align="center" prop="buyer" />
+      <el-table-column label="机构名称" align="center" prop="clubName" />
       <el-table-column label="机构运费" align="center" prop="freight">
         <template slot-scope="{row}">
           <span>{{ row.postageInfo }}</span>
@@ -151,9 +196,9 @@
           <span class="el-span-danger">{{ row.shouldPayShopAmount | amountfilters }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="操作" align="center">
+      <el-table-column label="操作" align="center" width="120">
         <template slot-scope="{row}">
-          <el-button type="text" size="mini" @click="handleToRecord(row.orderId)">结算记录</el-button>
+          <el-button type="primary" size="mini" @click="handleToRecord(row.orderId)">结算记录</el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -215,7 +260,8 @@ export default {
         shopOrderNo: '', // 子订单编号
         status: '' // 付款状态
       },
-      orderRadio: null
+      orderRadio: null,
+      orderRadioArray: []
     }
   },
   created() {
@@ -243,39 +289,25 @@ export default {
         this.listLoading = false
       }
     },
-    // 多选子订单
-    handleSelectionChange(row) {
+    // 单选子订单
+    handleSelectionChange(selection, row) {
+      this.orderRadioArray = []
+      this.$refs.table.clearSelection()
+      this.$refs.table.toggleRowSelection(row)
       this.orderRadio = row
-      console.log('orderRadio', this.orderRadio)
+      this.orderRadioArray.push(row)
     },
-    // 付款申请
+    // 跳转申请结算
     handleApplySub() {
-      console.log('flag', this.checkForDuplicates(this.orderRadio))
-      if (this.checkForDuplicates(this.orderRadio)) {
-        this.$alert('应付多个订单时,它们必须属于同一个供应商!', '提示', {
-          confirmButtonText: '确定'
-        })
-      } else {
-        const newArr = this.orderRadio.map(item => item.shopOrderId)
-        this.$router.push({ path: '/finance/payapply-edit', query: { shopOrderIds: JSON.stringify(newArr) }})
-      }
-    },
-    // 数组是否有重复
-    checkForDuplicates(arr, id = 'shopId') {
-      const newShopArr = []
-      let flag = false
-      for (const item of arr) {
-        newShopArr.push(item[id])
-        for (const el of newShopArr) {
-          if (item[id] !== el) {
-            flag = true
-          }
-        }
-      }
-      return flag
+      const newArr = this.orderRadioArray.map(item => item.shopOrderId)
+      this.$router.push({ path: '/finance/paysettle-edit', query: { shopOrderIds: JSON.stringify(newArr) }})
     },
     handleToRecord(orderId) {
       this.$router.push({ path: '/finance/paysettle-record', query: { orderId: orderId }})
+    },
+    checkedInput(event) {
+      const pattern = /[^0-9.]/g
+      return event.replace(pattern, '')
     }
   }
 }

+ 6 - 2
src/views/order/addLogistics.vue

@@ -57,7 +57,7 @@
           </el-row>
           <el-row :gutter="24" class="box-row">
             <el-form-item label="图片备注:" prop="logImage">
-              <div class="form-el-upload" style="width: 148px;height: 148px;">
+              <div class="form-el-upload" style="height: 148px;">
                 <el-upload
                   class="avatar-uploader"
                   :action="actionUrl"
@@ -68,8 +68,8 @@
                 >
                   <i class="el-icon-plus" />
                 </el-upload>
-                <p style="margin: 0;line-height: 20px;font-size: 14px;color: red;">注意:请上传jpg / png格式的图片,最大不超过5M,最多可上传10张</p>
               </div>
+              <p style="margin: 0;line-height: 20px;font-size: 14px;color: red;">注意:请上传jpg / png格式的图片,最大不超过5M,最多可上传10张</p>
             </el-form-item>
             <el-form-item label="备注:" prop="name">
               <el-input v-model="params.remark" type="textarea" show-word-limit placeholder="请输入备注文字,200字以内" maxlength="200" :autosize="{ minRows: 5, maxRows: 6}" style="width: 600px;" />
@@ -323,6 +323,10 @@ export default {
     height: 148px;
     display: block;
   }
+  .el-upload--picture-card{
+    width: 148px !important;
+    height: 148px !important;
+  }
   .el-form-item__label{
       text-align: right !important;
   }

+ 43 - 26
src/views/order/detail.vue

@@ -101,11 +101,6 @@
             <el-col :span="6"><b>下单时间:</b> {{ shopOrder.orderTime }}</el-col>
             <el-col :span="6"><b>子订单号(ID):</b> {{ shopOrder.shopOrderNo + '(' + shopOrder.shopOrderId + ')' }}</el-col>
             <el-col :span="6"><b>子订单金额:</b> ¥{{ shopOrder.needPayAmount | toThousandFloatFilter }}</el-col>
-            <el-col :span="6"><b>发货状态:</b>
-              <el-tag v-if="shopOrder.sendOutStatus*1===1" type="danger" size="small">待发货</el-tag>
-              <el-tag v-if="shopOrder.sendOutStatus*1===2" type="warning" size="small">部分发货</el-tag>
-              <el-tag v-if="shopOrder.sendOutStatus*1===3" type="success" size="small">已发货</el-tag>
-            </el-col>
           </el-row>
           <el-row :gutter="22" class="box-row">
             <el-col :span="6"><b>商品总额:</b> ¥{{ shopOrder.productAmount | toThousandFloatFilter }}</el-col>
@@ -134,25 +129,47 @@
             <el-col :span="22"><b>留言:</b> {{ shopOrder.note ? shopOrder.note : '无' }}</el-col>
           </el-row>
           <el-row :gutter="22" class="box-row">
-            <el-col :span="22"><b>供应商:</b> {{ shopOrder.shopName }}</el-col>
+            <el-col :span="22"><b>供应商:</b> {{ shopOrder.shopName ? shopOrder.shopName : '无' }}</el-col>
           </el-row>
-          <el-row v-for="op in shopOrder.newOrderProducts" :key="op.orderProductID" :gutter="22" class="product-row">
-            <el-col :span="1.5">
-              <img :src="op.productImage" width="60" alt="">
-            </el-col>
-            <el-col :span="7">{{ op.name }}</el-col>
-            <el-col :span="5">
-              <div class="op-item"><b>数量:</b>{{ op.productID*1!==999 ? (op.num) : (op.num) }}</div>
-              <div v-if="op.productID*1!==999" class="op-item"><b>规格:</b>{{ op.unit }}</div>
-            </el-col>
-            <el-col v-if="op.productID*1!==999" :span="5">
-              <div class="op-item"><b>单价:</b> ¥{{ op.price | toThousandFloatFilter }}</div>
-              <div class="op-item"><b>总额:</b> ¥{{ op.totalFee | toThousandFloatFilter }}</div>
-            </el-col>
-            <el-col v-if="op.productID*1!==999" :span="5">
-              <div v-if="order.sendOutStatus*1 === 2 || order.sendOutStatus*1 === 3" class="op-item"><b>已发/已收:</b> {{ ((op.num ? op.num : 0) - (op.notOutStore ? op.notOutStore : 0)) + '/' + op.receivedNum }}</div>
-              <div v-if="(op.returningNum || op.returnedNum) && ['12','13','21','22','23','31','32','33','4','5'].indexOf(order.status)>=0" class="op-item"><b>退款(退货)中/已完成:</b> {{ op.returningNum }} / {{ op.returnedNum }}</div>
-            </el-col>
+          <el-row :gutter="22">
+            <el-table :data="shopOrder.newOrderProducts" border>
+              <el-table-column label="商品图片" align="center" prop="productImage">
+                <template slot-scope="{row}">
+                  <el-popover
+                    placement="top-start"
+                    title=""
+                    width="120"
+                    trigger="hover"
+                  >
+                    <img :src="row.productImage" alt="" style="width:100px;height:100px;">
+                    <img slot="reference" :src="row.productImage" alt="" style="width:50px;height:50px;">
+                  </el-popover>
+                </template>
+              </el-table-column>
+              <el-table-column label="商品名" align="center" prop="name" />
+              <el-table-column label="规格" align="center" prop="unit" />
+              <el-table-column label="数量" align="center" prop="num" width="60" />
+              <el-table-column label="单价" align="center" prop="price">
+                <template slot-scope="{row}">
+                  <span>¥{{ row.price | amountfilters }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="总价" align="center" prop="totalFee">
+                <template slot-scope="{row}">
+                  <span>¥{{ row.totalFee | amountfilters }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="已发/已收" align="center" prop="returnedPurchaseProductNum">
+                <template slot-scope="{row}">
+                  <span>{{ `${row.num - row.notOutStore}/${row.receivedNum ? row.receivedNum : 0}` }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="退款(退货)中/已完成" align="center" prop="returnedPurchaseProductNum">
+                <template slot-scope="{row}">
+                  <span>{{ row.returningNum ? row.returningNum : 0 }} / {{ row.returnedNum ? row.returnedNum : 0 }}</span>
+                </template>
+              </el-table-column>
+            </el-table>
           </el-row>
         </div>
       </div>
@@ -375,9 +392,9 @@ export default {
     display: block;
   }
   .order-item{
-    background:#f7f7f7;
-    margin-bottom: 20px;
-    padding: 10px 15px;
+    background:#F7F7F7;
+    padding:10px 20px;
+    box-sizing: border-box;
     border-radius: 5px;
   }
   .product-row{

+ 57 - 43
src/views/order/list.vue

@@ -3,23 +3,59 @@
     <div class="filter-container">
       <div class="filter-control">
         <span>订单ID:</span>
-        <el-input v-model="listQuery.orderId" style="width:180px;" placeholder="订单ID" clearable @keyup.enter.native="getList" @clear="getList" />
+        <el-input
+          v-model="listQuery.orderId"
+          style="width:180px;"
+          placeholder="订单ID"
+          clearable
+          @input="e => (listQuery.orderId = checkedInput(e))"
+          @keyup.enter.native="getList"
+          @clear="getList"
+        />
       </div>
       <div class="filter-control">
         <span>订单号:</span>
-        <el-input v-model="listQuery.orderNo" style="width:180px;" placeholder="订单号" clearable @keyup.enter.native="getList" @clear="getList" />
+        <el-input
+          v-model="listQuery.orderNo"
+          style="width:180px;"
+          placeholder="订单号"
+          clearable
+          @keyup.enter.native="getList"
+          @clear="getList"
+        />
       </div>
       <div class="filter-control">
         <span>机构名称:</span>
-        <el-input v-model="listQuery.buyer" style="width:180px;" placeholder="机构名称" clearable @keyup.enter.native="getList" @clear="getList" />
+        <el-input
+          v-model="listQuery.clubName"
+          style="width:180px;"
+          placeholder="机构名称"
+          clearable
+          @keyup.enter.native="getList"
+          @clear="getList"
+        />
       </div>
       <div class="filter-control">
         <span>收货人:</span>
-        <el-input v-model="listQuery.receiver" style="width:180px;" placeholder="收货人" clearable @keyup.enter.native="getList" @clear="getList" />
+        <el-input
+          v-model="listQuery.receiver"
+          style="width:180px;"
+          placeholder="收货人"
+          clearable
+          @keyup.enter.native="getList"
+          @clear="getList"
+        />
       </div>
       <div class="filter-control">
         <span>商品名称:</span>
-        <el-input v-model="listQuery.productName" style="width:180px;" placeholder="商品名称" clearable @keyup.enter.native="getList" @clear="getList" />
+        <el-input
+          v-model="listQuery.productName"
+          style="width:180px;"
+          placeholder="商品名称"
+          clearable
+          @keyup.enter.native="getList"
+          @clear="getList"
+        />
       </div>
       <div class="filter-control">
         <span>订单状态:</span>
@@ -104,53 +140,53 @@
     >
       <el-table-column label="订单ID" align="center" prop="orderId" width="65" />
       <el-table-column label="订单编号" align="center" prop="orderNo" />
-      <el-table-column label="机构" align="center" prop="buyer" />
-      <el-table-column label="收货人" align="center" prop="receiver" />
+      <el-table-column label="机构" align="center" prop="clubName" />
+      <el-table-column label="收货人" align="center" prop="receiver" width="100" />
       <el-table-column label="订单状态" align="center" prop="status" width="150">
         <template slot-scope="{row}">
           <template v-if="['11','12','13','21','22','23','31','32','33'].indexOf(row.status)>=0">
-            <el-tag type="success" size="small">交易中</el-tag><span style="display: inline-block;margin:5px;">{{ statusObj[row.status] }}</span>
+            <el-tag type="success" size="small">交易中</el-tag><span style="display: inline-block;margin:5px;">{{ row.status | orderStatusFilter }}</span>
           </template>
           <template v-else>
-            <el-tag :type="row.status*1===6?'info':''" size="small">{{ statusObj[row.status] }}</el-tag>
+            <el-tag :type="row.status*1===6?'info':''" size="small">{{ row.status | orderStatusFilter }}</el-tag>
           </template>
         </template>
       </el-table-column>
-      <el-table-column label="收款状态" align="center" prop="receiptStatus">
+      <el-table-column label="收款状态" align="center" prop="receiptStatus" width="120">
         <template slot-scope="{row}">
           <el-tag v-if="row.receiptStatus*1===1" type="danger" size="small">待收款</el-tag>
           <el-tag v-if="row.receiptStatus*1===2" type="warning" size="small">部分收款</el-tag>
           <el-tag v-if="row.receiptStatus*1===3" type="success" size="small">已收款</el-tag>
         </template>
       </el-table-column>
-      <el-table-column label="付款状态" align="center" prop="receiptStatus">
+      <el-table-column label="付款状态" align="center" prop="receiptStatus" width="120">
         <template slot-scope="{row}">
           <el-tag v-if="row.payStatus*1===1" type="danger" size="small">待付款</el-tag>
           <el-tag v-if="row.payStatus*1===2" type="warning" size="small">部分付款</el-tag>
           <el-tag v-if="row.payStatus*1===3" type="success" size="small">已付款</el-tag>
         </template>
       </el-table-column>
-      <el-table-column label="发货状态" align="center" prop="sendOutStatus">
+      <el-table-column label="发货状态" align="center" prop="sendOutStatus" width="120">
         <template slot-scope="{row}">
           <el-tag v-if="row.sendOutStatus*1===1" type="danger" size="small">待发货</el-tag>
           <el-tag v-if="row.sendOutStatus*1===2" type="warning" size="small">部分发货</el-tag>
           <el-tag v-if="row.sendOutStatus*1===3" type="success" size="small">已发货</el-tag>
         </template>
       </el-table-column>
-      <el-table-column label="退款状态" align="center" prop="refundType">
+      <el-table-column label="退款状态" align="center" prop="refundType" width="120">
         <template slot-scope="{row}">
           <el-tag v-if="row.refundType*1===1" type="info" size="small">部分退款</el-tag>
           <el-tag v-else-if="row.refundType*1===2" type="info" size="small">全部退款</el-tag>
           <el-tag v-else type="info" size="small">无退款</el-tag>
         </template>
       </el-table-column>
-      <el-table-column label="待审核退款" align="center" prop="returnedPurchaseStatus" width="65">
+      <el-table-column label="待审核退款" align="center" prop="returnedPurchaseStatus">
         <template slot-scope="{row}">
           <el-tag v-if="row.returnedPurchaseStatus*1===1" type="warning" size="small">有</el-tag>
           <el-tag v-else type="info" size="small">无</el-tag>
         </template>
       </el-table-column>
-      <el-table-column label="订单金额" align="center" prop="payTotalFee" width="90">
+      <el-table-column label="订单金额" align="center" prop="payTotalFee">
         <template slot-scope="{row}">
           ¥{{ row.payTotalFee | toThousandFloatFilter }}
         </template>
@@ -163,17 +199,6 @@
       <el-table-column label="操作" align="center">
         <template slot-scope="{row}">
           <el-button type="primary" size="mini" @click="handleDetailes(row.orderId)">查看详情</el-button>
-          <!-- <el-dropdown>
-            <el-button type="success" size="mini" style="width: 70px;margin:5px 0 0 0;">
-              功能<i class="el-icon-arrow-down el-icon--right" />
-            </el-button>
-            <el-dropdown-menu slot="dropdown">
-              <el-dropdown-item><div @click="RemarksOrder(row.orderID)">备注</div></el-dropdown-item>
-              <el-dropdown-item v-if="['0','11','21','6','4'].indexOf(row.status)<0"><router-link :to="'/order/logistics/' + row.orderID ">发货记录</router-link></el-dropdown-item>
-              <el-dropdown-item v-if="['0','11','6'].indexOf(row.status)<0"><router-link :to="'/order/refund-record/' + row.orderID ">收退款记录</router-link></el-dropdown-item>
-              <el-dropdown-item v-if="['0','11','6'].indexOf(row.status)<0"><router-link :to="'/order/refund-return/' + row.orderID ">退款(退货)记录</router-link></el-dropdown-item>
-            </el-dropdown-menu>
-          </el-dropdown> -->
         </template>
       </el-table-column>
     </el-table>
@@ -205,7 +230,7 @@ export default {
       dialogRemarksOrderId: 0,
       listQuery: {
         index: 1,
-        pageSize: 20,
+        pageSize: 10,
         organizeId: this.$store.getters.organizeId,
         orderId: '',
         orderNo: '',
@@ -218,22 +243,6 @@ export default {
         returnedPurchaseStatus: '',
         startTime: '',
         endTime: ''
-      },
-      statusObj: {
-        '0': '待确认',
-        '4': '交易完成',
-        '5': '订单完成',
-        '6': '已关闭',
-        '7': '交易全退',
-        '11': '待收款、待发货',
-        '12': '待收款、部分发货',
-        '13': '待收款、全部发货',
-        '21': '部分收款、待发货',
-        '22': '部分收款、部分发货',
-        '23': '部分收款、全部发货',
-        '31': '全部收款、待发货',
-        '32': '全部收款、部分发货',
-        '33': '全部收款、全部发货'
       }
     }
   },
@@ -258,6 +267,7 @@ export default {
     },
     getList() {
       this.listLoading = true
+      this.initTime()
       getList(this.listQuery).then(response => {
         this.list = response.data.results
         this.total = response.data.totalRecord
@@ -270,6 +280,10 @@ export default {
     handleDetailes(orderId) {
       this.$router.push({ path: '/order/detail', query: { id: orderId }})
     },
+    checkedInput(event) {
+      const pattern = /[^0-9.]/g
+      return event.replace(pattern, '')
+    },
     RemarksOrder: function(id) {
       getRemarks({ orderID: id }).then(response => {
         this.dialogRemarkList = response.data