JXDS18FUJT преди 1 година
родител
ревизия
783f878e41
променени са 3 файла, в които са добавени 101 реда и са изтрити 116 реда
  1. 17 0
      src/api/order.js
  2. 81 113
      src/views/mobile/order/index.vue
  3. 3 3
      vue.config.js

+ 17 - 0
src/api/order.js

@@ -20,3 +20,20 @@ export function refundOrder(params) {
     }
   });
 }
+//发起分账
+export function shareProfitOrder(params) {
+  return request({
+    url: "order/info/shareProfit/" + params.outTradeNo,
+    method: "put",
+  });
+}
+//查询分账记录列表
+export function getSplitList(params) {
+  return request({
+    url: "order/split/list",
+    params,
+    method: "get",
+  });
+}
+
+

+ 81 - 113
src/views/mobile/order/index.vue

@@ -1,68 +1,32 @@
 <template>
   <div class="app-container">
-    <el-form
-      :model="queryParams"
-      ref="queryForm"
-      :inline="true"
-      v-show="showSearch"
-      label-width="68px"
-    >
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
       <el-form-item label="开始时间" label-width="120px" prop="outTradeNo">
-        <el-date-picker
-          format="yyyy-MM-dd HH:mm:ss"
-          value-format="yyyy-MM-dd HH:mm:ss"
-          v-model="queryParams.startTime"
-          type="datetime"
-          placeholder="默认是当前月份第一天"
-        >
+        <el-date-picker format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" v-model="queryParams.startTime"
+          type="datetime" placeholder="默认是当前月份第一天">
         </el-date-picker>
       </el-form-item>
       <el-form-item label="结束时间" label-width="120px" prop="outTradeNo">
-        <el-date-picker
-          format="yyyy-MM-dd HH:mm:ss"
-          value-format="yyyy-MM-dd HH:mm:ss"
-          v-model="queryParams.endTime"
-          type="datetime"
-          placeholder="默认是当前月份最后一天"
-        >
+        <el-date-picker format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" v-model="queryParams.endTime"
+          type="datetime" placeholder="默认是当前月份最后一天">
         </el-date-picker>
       </el-form-item>
       <el-form-item label="商品ID" label-width="120px" prop="goodsId">
-        <el-input
-          v-model="queryParams.userId"
-          placeholder="商品ID"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
+        <el-input v-model="queryParams.userId" placeholder="商品ID" clearable size="small"
+          @keyup.enter.native="handleQuery" />
       </el-form-item>
       <el-form-item label="订单号" label-width="120px" prop="outTradeNo">
-        <el-input
-          v-model="queryParams.outTradeNo"
-          placeholder="订单号"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
+        <el-input v-model="queryParams.outTradeNo" placeholder="订单号" clearable size="small"
+          @keyup.enter.native="handleQuery" />
       </el-form-item>
 
       <el-form-item label="商品名称" label-width="120px" prop="goodsName">
-        <el-input
-          v-model="queryParams.goodsName"
-          placeholder="请输入名称"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
+        <el-input v-model="queryParams.goodsName" placeholder="请输入名称" clearable size="small"
+          @keyup.enter.native="handleQuery" />
       </el-form-item>
       <el-form-item label="退款订单号" label-width="120px" prop="outTradeNo">
-        <el-input
-          v-model="queryParams.outRefundNo"
-          placeholder="退款订单号"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
+        <el-input v-model="queryParams.outRefundNo" placeholder="退款订单号" clearable size="small"
+          @keyup.enter.native="handleQuery" />
       </el-form-item>
       <!-- <el-form-item label="是否分成" label-width="120px" prop="phoneType">
                 <el-select v-model="queryParams.isShare" placeholder="">
@@ -105,16 +69,8 @@
                     @keyup.enter.native="handleQuery" />
             </el-form-item> -->
       <el-form-item>
-        <el-button
-          type="cyan"
-          icon="el-icon-search"
-          size="mini"
-          @click="handleQuery"
-          >搜索</el-button
-        >
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
-          >重置</el-button
-        >
+        <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
       </el-form-item>
     </el-form>
 
@@ -134,22 +90,13 @@
             <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
         </el-row> -->
 
-    <el-table
-      v-loading="loading"
-      :data="errorList"
-      @selection-change="handleSelectionChange"
-    >
+    <el-table v-loading="loading" :data="errorList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
 
       <el-table-column label="用户id" align="center" prop="userId" />
       <!-- <el-table-column label="姓名" align="center" prop="userName" /> -->
       <!-- <el-table-column label="身份证" align="center" prop="logincode" /> -->
-      <el-table-column
-        label="支付时间"
-        align="center"
-        width="180px"
-        prop="createTime"
-      />
+      <el-table-column label="支付时间" align="center" width="180px" prop="createTime" />
       <el-table-column label="商品名称" align="center" prop="goodsName" />
       <!-- <el-table-column label="是否分成" align="center" prop="isShare">
         <template slot-scope="scope">
@@ -158,11 +105,7 @@
           <span v-else>其他</span>
         </template>
       </el-table-column> -->
-      <el-table-column
-        label="极速驾培订单ID"
-        align="center"
-        prop="outTradeNo"
-      />
+      <el-table-column label="极速驾培订单ID" align="center" prop="outTradeNo" />
 
       <el-table-column label="支付方式" align="center" prop="goodsName">
         <template slot-scope="scope">{{
@@ -192,42 +135,27 @@
       <el-table-column label="订单价格" align="center" prop="total">
         <template slot-scope="scope"> {{ scope.row.total / 100 }}元 </template>
       </el-table-column>
-      <el-table-column
-        label="操作"
-        align="center"
-        class-name="small-padding fixed-width"
-      >
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
-          <el-button
-            v-if="!scope.row.outRefundNo"
-            :disabled="scope.row.outRefundNo"
-            size="mini"
-            type="text"
-            icon="el-icon-remove-outline"
-            @click="handleRefund(scope.row)"
-            >退款</el-button
-          >
-          <el-popover
-            v-else
-            placement="bottom"
-            title="极速驾培订单退款ID"
-            width="200"
-            trigger="click"
-            :content="scope.row.outRefundNo"
-          >
+          <el-button v-if="!scope.row.outRefundNo" :disabled="scope.row.outRefundNo" size="mini" type="text"
+            icon="el-icon-remove-outline" @click="handleRefund(scope.row)">退款</el-button>
+
+          <el-popover v-else placement="bottom" title="极速驾培订单退款ID" width="200" trigger="click"
+            :content="scope.row.outRefundNo">
             <el-link type="danger" slot="reference">已退款</el-link>
           </el-popover>
+          <el-button disabled size="mini" type="text" v-if="scope.row.profitSharing == 0">不分账</el-button>
+          <el-button size="mini" type="text" v-if="scope.row.profitSharing == 1" :disabled="scope.row.outRefundNo" 
+            icon="el-icon-money" @click="handleShareBill(scope.row)">分账</el-button>
+            <el-button @click="handleShareDatail(scope.row)" size="mini" type="text" v-if="scope.row.profitSharing == 2">分账完成</el-button>
+          <el-button disabled size="mini" type="text" style="color: red;" v-if="scope.row.profitSharing == 3">分账失败</el-button>
+        
         </template>
       </el-table-column>
     </el-table>
 
-    <pagination
-      v-show="total > 0"
-      :total="total"
-      :page.sync="queryParams.pageNum"
-      :limit.sync="queryParams.pageSize"
-      @pagination="getList"
-    />
+    <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
+      @pagination="getList" />
 
     <!-- 添加或修改错题对话框 -->
     <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
@@ -244,6 +172,20 @@
         <el-button @click="cancel">取 消</el-button>
       </div>
     </el-dialog>
+    <el-dialog :visible.sync="shareVisible" title="分帐详情">
+      <el-table :data="shareList">
+        <el-table-column label="昵称" prop="nickName"></el-table-column>
+        <el-table-column label="金额(元)" prop="amount">
+          <template slot-scope="scope">{{ scope.row.amount/100 }}</template>
+        </el-table-column>
+        <el-table-column label="订单编号" prop="outTradeNo"></el-table-column>
+        <el-table-column label="分账订单号" prop="outSplitNo"></el-table-column>
+        <el-table-column label="时间" prop="createTime"></el-table-column>
+  
+      </el-table>
+      <!-- <div v-for="(item,index) in shareList" :key="index">
+     昵称:{{ item.nickName }}/{{ item.amount }}</div> -->
+    </el-dialog>
   </div>
 </template>
 
@@ -256,14 +198,14 @@ import {
   addError,
   updateError,
   exportError,
+  shareProfitOrder,
+  getSplitList
 } from "@/api/order";
 let date = new Date();
-let defaultStartTime = `${date.getFullYear()}-${
-  date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1
-}-01 00:00:00`;
-let defaultEndTime = `${date.getFullYear()}-${
-  date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1
-}-${new Date(date.getFullYear(), date.getMonth() + 1, 0).getDate()} 23:59:59`;
+let defaultStartTime = `${date.getFullYear()}-${date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1
+  }-01 00:00:00`;
+let defaultEndTime = `${date.getFullYear()}-${date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1
+  }-${new Date(date.getFullYear(), date.getMonth() + 1, 0).getDate()} 23:59:59`;
 export default {
   name: "Order",
   data() {
@@ -286,6 +228,9 @@ export default {
       title: "",
       // 是否显示弹出层
       open: false,
+
+      //弹出分账详情
+      shareVisible:false,
       // 查询参数
       queryParams: {
         startTime: defaultStartTime,
@@ -312,6 +257,8 @@ export default {
       form: {},
       // 表单校验
       rules: {},
+      //分账详情
+      shareList:[]
     };
   },
   created() {
@@ -356,12 +303,11 @@ export default {
     },
     handleRefund(row) {
 
-      
+
       const outTradeNo = row.outTradeNo;
       this.$prompt(
         `确认退款${row.goodsName}吗?
-            请附带退款理由: <div>用户ID:${row.userId}</div><div>退款金额:${
-          row.total / 100
+            请附带退款理由: <div>用户ID:${row.userId}</div><div>退款金额:${row.total / 100
         }元</div> <div>订单号:${row.outTradeNo}</div> `,
         "警告",
         {
@@ -385,6 +331,28 @@ export default {
           this.msgSuccess("退款成功");
         });
     },
+    handleShareBill(row) {
+      this.$confirm('是否对订单ID为:' + row.outTradeNo + '的订单进行分账?', "警告", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      }).then(res => {
+        shareProfitOrder({
+          outTradeNo: row.outTradeNo
+        }).then(result => {
+          this.getList()
+        })
+      })
+
+
+    },
+    handleShareDatail(row){
+      this.shareVisible=true
+      getSplitList({outTradeNo:row.outTradeNo}).then(res=>{
+        this.shareList = res.rows
+      })
+
+    },
     /** 搜索按钮操作 */
     handleQuery() {
       this.queryParams.pageNum = 1;

+ 3 - 3
vue.config.js

@@ -31,10 +31,10 @@ module.exports = {
     host: "0.0.0.0",
     port: port,
     open: true,
-    proxy: {
-      // detail: https://cli.vuejs.org/config/#devserver-proxy
+    // proxy: {
+    //   // detail: https://cli.vuejs.org/config/#devserver-proxy
     
-    },
+    // },
     disableHostCheck: true,
   },
   configureWebpack: {