Browse Source

提交自提点管理代码

pangqijun 1 year ago
parent
commit
16e02a43d4

+ 11 - 0
src/api/finance/aftersales.js

@@ -48,3 +48,14 @@ export const update = (row) => {
   })
 }
 
+export const refund = (orderId, afterSalesId) => {
+  return request({
+    url: '/api/finance/aftersales/refund',
+    method: 'post',
+    params: {
+      orderId,
+      afterSalesId
+    }
+  })
+}
+

+ 0 - 10
src/api/finance/order.js

@@ -146,13 +146,3 @@ export const orderGoodsProportion = (queryType) => {
 }
 
 
-export const refund = (orderId) => {
-  return request({
-    url: '/api/finance/order/refund',
-    method: 'post',
-    params: {
-      orderId
-    }
-  })
-}
-

+ 67 - 24
src/views/finance/aftersales.vue

@@ -18,21 +18,31 @@
                @size-change="sizeChange"
                @refresh-change="refreshChange"
                @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   v-if="permission.aftersales_delete"
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
+<!--      <template slot="menuLeft">-->
+<!--        <el-button type="danger"-->
+<!--                   size="small"-->
+<!--                   icon="el-icon-delete"-->
+<!--                   plain-->
+<!--                   v-if="permission.aftersales_delete"-->
+<!--                   @click="handleDelete">删 除-->
+<!--        </el-button>-->
+<!--      </template>-->
+
+        <template slot-scope="scope" slot="menu">
+            <el-button
+                    v-if="scope.row.refundState == 0"
+                    type="text"
+                    size="small"
+                    @click="refund(scope.row)"
+            >退款
+            </el-button>
+        </template>
     </avue-crud>
   </basic-container>
 </template>
 
 <script>
-  import {getList, getDetail, add, update, remove} from "@/api/finance/aftersales";
+  import {getList, getDetail, add, update, remove, refund} from "@/api/finance/aftersales";
   import {mapGetters} from "vuex";
 
   export default {
@@ -56,7 +66,10 @@
           border: true,
           index: true,
           viewBtn: true,
-          selection: true,
+          addBtn: false,
+          editBtn: false,
+          delBtn: false,
+          selection: false,
           dialogClickModal: false,
           column: [
             {
@@ -90,22 +103,28 @@
               }]
             },
             {
-              label: "售后状态 0-处理中 1-完成 2-关闭",
+              label: "售后状态",
               prop: "status",
-              rules: [{
-                required: true,
-                message: "请输入售后状态 0-处理中 1-完成 2-关闭",
-                trigger: "blur"
-              }]
+              type: "select",
+              search: true,
+              dicUrl: "/api/blade-system/dict-biz/getEnumDict?enumName=AfterSalesStatusEnum",
+              props: {
+                label: "name",
+                value: "value"
+              },
+              dataType: "number",
             },
             {
-              label: "退款状态 1-已退款 0-未退款",
+              label: "退款状态",
               prop: "refundState",
-              rules: [{
-                required: true,
-                message: "请输入退款状态 1-已退款 0-未退款",
-                trigger: "blur"
-              }]
+              type: "select",
+              search: true,
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=refund_status",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              dataType: "number",
             },
           ]
         },
@@ -239,7 +258,31 @@
           this.loading = false;
           this.selectionClear();
         });
-      }
+      },
+        refund(row) {
+            this.$confirm("确定对该订单退款?", {
+                confirmButtonText: "确定",
+                cancelButtonText: "取消",
+                type: "warning"
+            }).then(() => {
+                const loading = this.$loading({
+                    lock: true,
+                    text: '退款中...',
+                    spinner: 'el-icon-loading',
+                    background: 'rgba(0, 0, 0, 0.7)'
+                });
+                refund(row.orderId, row.id).then(res => {
+                    loading.close();
+                    this.$message({
+                        type: "success",
+                        message: "退款成功!"
+                    });
+                    this.refreshChange();
+                }).catch(() => {
+                    loading.close();
+                });
+            });
+        }
     }
   };
 </script>

+ 21 - 53
src/views/finance/order.vue

@@ -21,24 +21,15 @@
       <template slot="menuLeft">
       </template>
 
-      <template slot-scope="scope" slot="menu">
-        <el-button
-            v-if="scope.row.orderState == 6 || scope.row.orderState == 6"
-            type="text"
-            size="small"
-            @click="refund(scope.row)"
-        >退款
-        </el-button>
-      </template>
-
       <template slot="orderStateDesc" slot-scope="scope" >
         <el-tag v-if="scope.row.orderState === 1">{{scope.row.orderStateDesc}}</el-tag>
         <el-tag v-else-if="scope.row.orderState === 2" type="warning">{{scope.row.orderStateDesc}}</el-tag>
         <el-tag v-else-if="scope.row.orderState === 3" type="warning">{{scope.row.orderStateDesc}}</el-tag>
         <el-tag v-else-if="scope.row.orderState === 4" type="success">{{scope.row.orderStateDesc}}</el-tag>
         <el-tag v-else-if="scope.row.orderState === 5" type="danger">{{scope.row.orderStateDesc}}</el-tag>
-        <el-tag v-else-if="scope.row.orderState === 6" type="danger">{{scope.row.orderStateDesc}}</el-tag>
-        <el-tag v-else-if="scope.row.orderState === 7" type="danger">{{scope.row.orderStateDesc}}</el-tag>
+<!--        <el-tag v-else-if="scope.row.orderState === 6" type="danger">{{scope.row.orderStateDesc}}</el-tag>-->
+<!--        <el-tag v-else-if="scope.row.orderState === 7" type="danger">{{scope.row.orderStateDesc}}</el-tag>-->
+        <el-tag v-else-if="scope.row.orderState === 8" type="danger">{{scope.row.orderStateDesc}}</el-tag>
       </template>
 
     </avue-crud>
@@ -81,11 +72,11 @@
               label: "订单号",
               prop: "orderNo",
               search: true,
-              width: 170,
+              // width: 170,
             },
             {
               label: "订单来源",
-              width: 100,
+              // width: 100,
               prop: "source",
               type: "select",
               search: true,
@@ -113,19 +104,19 @@
               prop: "nickname",
               search: true,
             },
-            {
-              label: "订单状态",
-              prop: "orderState",
-              type: "select",
-              search: true,
-              hide: true,
-              dicUrl: "/api/blade-system/dict-biz/dictionary?code=order_state",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-              dataType: "number",
-            },
+            // {
+            //   label: "订单状态",
+            //   prop: "orderState",
+            //   type: "select",
+            //   search: true,
+            //   hide: true,
+            //   dicUrl: "/api/blade-system/dict-biz/dictionary?code=order_state",
+            //   props: {
+            //     label: "dictValue",
+            //     value: "dictKey"
+            //   },
+            //   dataType: "number",
+            // },
 
             {
               label: "总金额",
@@ -158,7 +149,7 @@
               label: "订单状态",
               prop: "orderStateDesc",
               slot:true,
-              width: 80
+              // width: 80
             },
             {
               label: "支付时间",
@@ -214,7 +205,7 @@
             {
               label: "下单时间",
               prop: "orderTimeRange",
-              width: 150,
+              // width: 150,
               display: false,
               hide: true,
               search: true,
@@ -364,30 +355,7 @@
           this.selectionClear();
         });
       },
-      refund(row) {
-        this.$confirm("确定对该订单退款?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        }).then(() => {
-          const loading = this.$loading({
-            lock: true,
-            text: '退款中...',
-            spinner: 'el-icon-loading',
-            background: 'rgba(0, 0, 0, 0.7)'
-          });
-          refund(row.id).then(res => {
-              loading.close();
-              this.$message({
-                type: "success",
-                message: "退款成功!"
-              });
-              this.refreshChange();
-            }).catch(() => {
-              loading.close();
-            });
-          });
-      }
+
     }
   };
 </script>

+ 7 - 4
src/views/platform/userapp.vue

@@ -39,7 +39,8 @@
       </template>
 
       <template slot-scope="{type,size,row}" slot="menu">
-         <el-button v-if="row.state !== 2" :size="size" :type="type" @click="forbidden(row)">禁用</el-button>
+         <el-button v-if="row.state == 1" :size="size" :type="type" @click="forbidden(row, 2)">禁用</el-button>
+         <el-button v-if="row.state == 2" :size="size" :type="type" @click="forbidden(row, 1)">启用</el-button>
          <el-button v-if="row.livingHall === 0" :size="size" :type="type" @click="setLeader(row)">设为团长</el-button>
          <el-button v-if="row.livingHall === 1" :size="size" :type="type" @click="removeLeader(row)">移除团长</el-button>
          <el-button v-if="row.isStore === 0" :size="size" :type="type" @click="handleAddTicket(row)">设为供应商</el-button>
@@ -379,14 +380,16 @@
       /**
        * 禁用用户
        * @param row
+       * @param state
        */
-      forbidden(row) {
-        this.$confirm('此操作将会禁用该用户, 是否继续?', '提示', {
+      forbidden(row, state) {
+        let title = state == 1 ? '启用' : '禁用';
+        this.$confirm('此操作将会' + title+ '该用户, 是否继续?', '提示', {
           confirmButtonText: '确定',
           cancelButtonText: '取消',
           type: 'warning'
         }).then(() => {
-          row.state = 2;
+          row.state = state;
           this.loading = true;
           update(row).then(res => {
             if(res.data.code !== 200){