瀏覽代碼

订单管理添加订单商户号
新增积分模块
财务中心和跑腿财务中心模块转账接口调整
实名认证提现信息新增开户人商户号参数

hzj18279462576@163.com 1 年之前
父節點
當前提交
c6d9da890b

+ 3 - 3
config/index.js

@@ -23,9 +23,9 @@ module.exports = {
     // 代理列表, 是否开启代理通过[./dev.env.js]配置
     proxyTable: devEnv.OPEN_PROXY === false ? {} : {
       '/proxyApi': {
-        // target: 'https://mxys.chuanghai-tech.com/sqx_fast/',
-        target: 'https://mxys.chuanghai-tech.com/wm-test/wm-api',
-        // target: 'http://192.168.0.131:8171/sqx_fast/',
+        // target: 'https://mxys.chuanghai-tech.com/sqx_fast/', // 线上
+        target: 'https://mxys.chuanghai-tech.com/wm-test/wm-api',// 测试
+        // target: 'http://iyfpk3.natappfree.cc/sqx_fast',// 开发
         changeOrigin: true,
         pathRewrite: {
           '^/proxyApi': ''

+ 6 - 0
src/router/index.js

@@ -80,6 +80,12 @@ const mainRoutes = {
       meta: { title: "充值记录", isTab: true }
     },
     {
+      path: "/orderIntegral",
+      component: _import("orderIntegral/orderIntegral"),
+      name: "orderIntegral",
+      meta: { title: "积分管理", isTab: true }
+    },
+    {
       path: "/downList",
       component: _import("downLoad/downList"),
       name: "downList",

+ 3 - 3
src/utils/httpRequest.js

@@ -68,11 +68,11 @@ http.interceptors.response.use(
 http.adornUrl = actionName => {
   // 非生产环境 && 开启代理, 接口前缀统一使用[/proxyApi/]前缀做代理拦截!
   // return (process.env.NODE_ENV !== 'production' && process.env.OPEN_PROXY ? '/proxyApi/' : window.SITE_CONFIG.baseUrl) + actionName
-  // return 'http://r8p8gz.natappfree.cc/sqx_fast/' + actionName
+  // return 'http://iyfpk3.natappfree.cc/sqx_fast/' + actionName; // 开发
   // return 'https://www.daweilinli.com/sqx_fast/' + actionName
   // return 'http://192.168.0.131:8171/sqx_fast/' + actionName
-  // return 'https://mxys.chuanghai-tech.com/sqx_fast/' + actionName
-  return "https://mxys.chuanghai-tech.com/wm-test/wm-api/sqx_fast/" + actionName;
+  // return 'https://mxys.chuanghai-tech.com/sqx_fast/' + actionName; //  线上
+  return "https://mxys.chuanghai-tech.com/wm-test/wm-api/sqx_fast/" + actionName;// 测试
 };
 
 http.adornUrl2 = actionName => {

+ 8 - 1
src/views/autonym/autonym.vue

@@ -454,6 +454,9 @@
         <el-form-item label="开户人姓名" prop="name">
           <el-input style="width: 250px;" v-model="infoRuleForm.name"></el-input>
         </el-form-item>
+        <el-form-item label="开户人商户号" prop="mchId">
+          <el-input style="width: 250px;" v-model="infoRuleForm.mchId"></el-input>
+        </el-form-item>
         <el-form-item>
           <el-button type="primary" @click="submitInfo('infoRuleForm')"
             >确定</el-button
@@ -560,11 +563,13 @@ export default {
         cardNumber: "",
         bank: "",
         name: "",
+        mchId:"",
       },
       infoRules: {
         cardNumber: [{ required: true, message: "银行卡号不能为空", trigger: "blur" }],
         bank: [{ required: true, message: "开户行不能为空", trigger: "blur" }],
         name: [{ required: true, message: "开户人姓名不能为空", trigger: "blur" }],
+        // mchId: [{ required: true, message: "开户人商户号不能为空", trigger: "blur" }],
       },
     };
   },
@@ -887,6 +892,7 @@ export default {
           this.infoRuleForm.cardNumber = data.data.cardNo
           this.infoRuleForm.bank = data.data.bankName
           this.infoRuleForm.name = data.data.realName
+          this.infoRuleForm.mchId = data.data.mchId
           this.infoRuleForm.id = data.data.id
         }
       });
@@ -902,7 +908,8 @@ export default {
               "cardNo": this.infoRuleForm.cardNumber, //卡号
               "openBank": this.infoRuleForm.bank, //开户行
               "realName": this.infoRuleForm.name, //户主名称
-              "bankName": this.infoRuleForm.bank //银行名称
+              "bankName": this.infoRuleForm.bank, //银行名称
+              "mchId": this.infoRuleForm.mchId //银行名称
           }
           if(this.infoRuleForm.id){
             agData.id=this.infoRuleForm.id

+ 74 - 49
src/views/entryManagement/entryManagement.vue

@@ -1,5 +1,5 @@
 <template>
-  <el-tabs  v-model="activeName" @tab-click="handleClick">
+  <el-tabs v-model="activeName" @tab-click="handleClick">
     <el-tab-pane label="入账管理" name="first">
       <div style="display: inline-block;">
         <div style="position: relative;display: inline-block;margin: 3px;">
@@ -128,11 +128,7 @@
           label="编号"
           width="80"
         ></el-table-column>
-        <el-table-column
-          fixed
-          prop="shopName"
-          label="店铺"
-        ></el-table-column>
+        <el-table-column fixed prop="shopName" label="店铺"></el-table-column>
         <el-table-column
           fixed
           prop="shopPhone"
@@ -143,6 +139,13 @@
         <el-table-column prop="userPhone" label="手机号"></el-table-column>
         <el-table-column prop="title" label="标题" width="200">
         </el-table-column>
+        <el-table-column prop="money" label="订单类型" width="110">
+          <template slot-scope="scope">
+            <span v-if="scope.row.orderTypeExtra == 1">到店取餐</span>
+            <span v-if="scope.row.orderTypeExtra == 2">骑手配送</span>
+            <span v-if="scope.row.orderTypeExtra == 3">商家配送</span>
+          </template>
+        </el-table-column>
         <el-table-column
           prop="orderAmount"
           label="订单总金额"
@@ -159,19 +162,9 @@
           prop="couponMoney"
           label="优惠券优惠金额"
         ></el-table-column>
-        <el-table-column
-          prop="payMoney"
-          label="用户付款金额"
-        ></el-table-column>
-        <el-table-column
-          prop="smsMoneyTotal"
-          label="短信费"
-        ></el-table-column>
-        <el-table-column
-          prop="errandMoney"
-          label="跑腿费"
-        >
-        </el-table-column>
+        <el-table-column prop="payMoney" label="用户付款金额"></el-table-column>
+        <el-table-column prop="smsMoneyTotal" label="短信费"></el-table-column>
+        <el-table-column prop="errandMoney" label="跑腿费"> </el-table-column>
         <el-table-column prop="orderNumber" label="订单号" width="170">
           <!-- <template slot-scope="scope">
             <span style="cursor: pointer;"">{{
@@ -181,9 +174,11 @@
         </el-table-column>
         <el-table-column prop="money" label="商家实际收入" width="110">
           <template slot-scope="scope">
-            <span @click="errandMoneyClick(scope.row)" style="cursor: pointer;color: #3e8ef7;">{{
-              scope.row.money
-            }}</span>
+            <span
+              @click="errandMoneyClick(scope.row)"
+              style="cursor: pointer;color: #3e8ef7;"
+              >{{ scope.row.money }}</span
+            >
           </template>
         </el-table-column>
         <el-table-column prop="createTime" label="创建时间"></el-table-column>
@@ -268,7 +263,7 @@
 export default {
   data() {
     return {
-      activeName:"first",
+      activeName: "first",
       shopName: "", //商铺名称
       shopPhone: "", //商铺手机号
       userPhone: "", //用户手机号
@@ -279,16 +274,16 @@ export default {
 
       limit: 10,
       page: 1,
-      tableDataLoading:false,
-      tableData:[],
-      totalCount:10,
+      tableDataLoading: false,
+      tableData: [],
+      totalCount: 10,
 
       exportVisible: false,
-      exportTitle:"",
-      exportFlag:"",
+      exportTitle: "",
+      exportFlag: "",
 
-      errandMoneyVisible:false,
-      content:'',
+      errandMoneyVisible: false,
+      content: ""
     };
   },
   methods: {
@@ -310,12 +305,11 @@ export default {
           endTime: this.endTime
         })
       }).then(({ data }) => {
-        console.log(data,'入账管理');
+        console.log(data, "入账管理");
         if (data.code == 0) {
           this.tableDataLoading = false;
           this.tableData = data.data.list;
-          this.totalCount=data.data.totalCount
-
+          this.totalCount = data.data.totalCount;
         } else {
           this.$message({
             message: data.msg,
@@ -326,22 +320,53 @@ export default {
         }
       });
     },
-    phoneSelect(){
+    phoneSelect() {
       this.page = 1;
-      this.getList()
+      this.getList();
     },
-    cleans(){
-      this.shopName= "" //商铺名称
-      this.shopPhone= "" //商铺手机号
-      this.userPhone= "" //用户手机号
-      this.activityTitle= "" //优惠活动
-      this.orderNumber= "" //订单号
-      this.startTime= "" //开始时间:
-      this.endTime= "" //截止时间:
+    cleans() {
+      this.shopName = ""; //商铺名称
+      this.shopPhone = ""; //商铺手机号
+      this.userPhone = ""; //用户手机号
+      this.activityTitle = ""; //优惠活动
+      this.orderNumber = ""; //订单号
+      this.startTime = ""; //开始时间:
+      this.endTime = ""; //截止时间:
       this.page = 1;
-      this.getList()
+      this.getList();
+    },
+    abnormity() {
+      this.page = 1;
+      this.$http({
+        url: this.$http.adornUrl("shop/shopmoney/accountEntryAbnormal"),
+        method: "get",
+        params: this.$http.adornParams({
+          page: this.page,
+          limit: this.limit,
+          shopName: this.shopName,
+          shopPhone: this.shopPhone,
+          userPhone: this.userPhone,
+          couponName: this.activityTitle,
+          orderNumber: this.orderNumber,
+          startTime: this.startTime,
+          endTime: this.endTime
+        })
+      }).then(({ data }) => {
+        console.log(data, "查询异常订单");
+        if (data.code == 0) {
+          this.tableDataLoading = false;
+          this.tableData = data.data.list;
+          this.totalCount = data.data.totalCount;
+        } else {
+          this.$message({
+            message: data.msg,
+            type: "warning",
+            duration: 1500,
+            onClose: () => {}
+          });
+        }
+      });
     },
-    abnormity(){},
     handleSizeChange(val) {
       this.limit = val;
       this.getList();
@@ -416,15 +441,15 @@ export default {
         this.getList();
       }
     },
-    errandMoneyClick(row){
+    errandMoneyClick(row) {
       console.log(row);
-      this.errandMoneyVisible=true;
-      this.content=row.content
+      this.errandMoneyVisible = true;
+      this.content = row.content;
     }
   },
 
   mounted() {
-    this.getList()
+    this.getList();
   }
 };
 </script>

+ 290 - 73
src/views/finance/financeList.vue

@@ -140,6 +140,12 @@
           >导出Excel
         </el-button>
       </div>
+      <div style="color: orange;" v-if="enable">
+        * 转账提示:已使用最新商户号的自动提现方式
+      </div>
+      <div style="color: orange;" v-else>
+        * 转账提示:使用原来微信商户号提现方式
+      </div>
       <div style="color: orange;">
         *
         导出提示:导出数据前请进行时间或者状态等筛选,否则导出数据量过多易出现卡顿或系统崩溃
@@ -157,6 +163,7 @@
             <span v-if="scope.row.classify == 1">支付宝提现</span>
             <span v-if="scope.row.classify == 2">微信提现</span>
             <span v-if="scope.row.classify == 5">银行卡提现</span>
+            <span v-if="scope.row.classify == 6">rht提现</span>
           </template>
         </el-table-column>
         <el-table-column prop="orderNumber" label="转账订单号" width="150">
@@ -197,6 +204,8 @@
             <span v-else>无</span>
           </template>
         </el-table-column>
+        <el-table-column prop="mchId" label="当前商户号" width="180">
+        </el-table-column>
         <el-table-column prop="money" label="提现金额" width="100">
         </el-table-column>
         <el-table-column prop="rate" label="手续费" width="100">
@@ -299,6 +308,31 @@
         >
         </el-pagination>
       </div>
+      <!-- 转账弹框 -->
+      <!-- <el-dialog
+        custom-class="transfer"
+        title="转账"
+        style="width:100%;"
+        :visible.sync="transferVisible"
+        center
+      >
+        <div v-if="enable">
+          <span>转账金额:</span>
+          <el-input
+            v-model="transferMoney"
+            placeholder="请输入转账金额"
+            style="width:280px;"
+          >
+          </el-input>
+        </div>
+        <div v-else style="margin-left:20px;font-size: 16px;">
+          <span>确定转账?</span>
+        </div>
+        <div slot="footer" class="dialog-footer">
+          <el-button @click="transferVisible = false">取 消</el-button>
+          <el-button type="primary" @click="batch()">确 定</el-button>
+        </div>
+      </el-dialog> -->
       <!-- 拒绝弹框 -->
       <el-dialog title="拒绝" :visible.sync="dialogFormVisible" center>
         <el-form :model="form">
@@ -1061,6 +1095,7 @@
 </template>
 
 <script>
+import { throttle, debounce } from "lodash";
 export default {
   data() {
     return {
@@ -1196,7 +1231,14 @@ export default {
       // 导出限制
       exportTitle: "导出错误",
       exportVisible: false,
-      exportFlag: 1 //1 超出限制  2导出中
+      exportFlag: 1, //1 超出限制  2导出中
+
+      // 提现管理 转账
+      // transferVisible: false,
+      // shopId: "",
+      // id: "",
+      // transferMoney: "" // 金额
+      enable: false // 判断是否为新支付
     };
   },
   methods: {
@@ -1212,46 +1254,148 @@ export default {
       }
     },
     // 批量转账
-    transferClcik(id) {
+    transferClcik: debounce(function(id) {
       var ids = id
         ? [id]
         : this.checkBoxData.map(item => {
             return item.id;
           });
-      for (var i in ids) {
-        this.$http({
-          url: this.$http.adornUrl(`cash/alipay/${ids[i]}`),
-          method: "post",
-          data: this.$http.adornData({})
-        }).then(({ data }) => {
-          if (data.code == 0) {
-            this.$notify({
-              title: "提示",
-              duration: 1800,
-              message: data.msg,
-              type: "warning"
+      console.log(ids, "勾选的ids");
+      this.$http({
+        url: this.$http.adornUrl("app/new-pay/enable-new-pay"),
+        method: "get"
+      }).then(({ data }) => {
+        console.log(data.enable, "是否启用新支付");
+        this.enable = data.enable;
+        for (var i in ids) {
+          if (this.enable) {
+            console.log("rht转账");
+            // let reg = /^(0|[1-9]\d*)(\.\d{1,2})?$/;
+            // if (reg.test(this.transferMoney)) {
+            // } else {
+            //   this.$message({
+            //     message: "金额必须大于等于0且不能超过两位小数!",
+            //     type: "error",
+            //     duration: 2000
+            //   });
+            //   return;
+            // }
+            // console.log(this.transferMoney, "正确金额");
+            this.$http({
+              url: this.$http.adornUrl(`cash/confirm-cash/${ids[i]}`),
+              method: "post"
+            }).then(({ data }) => {
+              // console.log(data, "rht转账");
+              if (data.code == 0) {
+                this.$notify({
+                  title: "提示",
+                  duration: 1800,
+                  message: data.msg,
+                  type: "warning"
+                });
+                // this.dataSelect();
+                // return;
+              } else {
+                this.$notify({
+                  title: "提示",
+                  duration: 1800,
+                  message: data.msg,
+                  type: "error"
+                });
+                // this.dataSelect();
+                return;
+              }
             });
-            return;
-          }
-          if (data.code == 9999) {
-            this.$notify({
-              title: "提示",
-              duration: 1800,
-              message: data.msg,
-              type: "error"
+          } else {
+            console.log("银行卡转账");
+            this.$http({
+              url: this.$http.adornUrl(`cash/alipay/${ids[i]}`),
+              method: "post",
+              data: this.$http.adornData({})
+            }).then(({ data }) => {
+              if (data.code == 0) {
+                this.$notify({
+                  title: "提示",
+                  duration: 1800,
+                  message: data.msg,
+                  type: "warning"
+                });
+                // this.dataSelect();
+                // return;
+              }
+              if (data.code == 9999) {
+                this.$notify({
+                  title: "提示",
+                  duration: 1800,
+                  message: data.msg,
+                  type: "error"
+                });
+                // this.dataSelect();
+                return;
+              }
+              if (data.code == 500) {
+                this.$notify({
+                  title: "提示",
+                  duration: 1800,
+                  message: data.msg,
+                  type: "error"
+                });
+                // this.dataSelect();
+                return;
+              }
             });
-            return;
           }
-        });
-      }
-    },
+        }
+        this.dataSelect();
+      });
+      // for (var i in ids) {
+      // this.$http({
+      //   url: this.$http.adornUrl(`cash/alipay/${ids[i]}`),
+      //   method: "post",
+      //   data: this.$http.adornData({})
+      // }).then(({ data }) => {
+      //   if (data.code == 0) {
+      //     this.$notify({
+      //       title: "提示",
+      //       duration: 1800,
+      //       message: data.msg,
+      //       type: "warning"
+      //     });
+      //     return;
+      //   }
+      //   if (data.code == 9999) {
+      //     this.$notify({
+      //       title: "提示",
+      //       duration: 1800,
+      //       message: data.msg,
+      //       type: "error"
+      //     });
+      //     return;
+      //   }
+      // });
+      // }
+    }, 100),
     // 多选
     changeFun(val) {
       this.checkBoxData = val;
     },
-    //转账
-    batch(row) {
-      if (row.state == 1) {
+    // 转账弹窗
+    transferClick() {
+      // this.transferVisible = true;
+      // this.transferMoney="";
+      // this.shopId=row.shopId;
+      // this.id=row.id;
+      this.$http({
+        url: this.$http.adornUrl("app/new-pay/enable-new-pay"),
+        method: "get"
+      }).then(({ data }) => {
+        console.log(data.enable, "是否启用新支付");
+        this.enable = data.enable;
+      });
+    },
+    // 确定转账
+    batch(rows) {
+      if (rows.state == 1) {
         this.$message({
           message: "已转账,请勿重复操作!",
           type: "error",
@@ -1263,47 +1407,97 @@ export default {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
         type: "warning"
-      }).then(() => {
-        this.$http({
-          url: this.$http.adornUrl(`cash/alipay/${row.id}`),
-          method: "post",
-          data: this.$http.adornData({})
-        }).then(({ data }) => {
-          if (data.code == 0) {
-            this.$message({
-              message: data.msg,
-              type: "success",
-              duration: 1500,
-              onClose: () => {
-                this.dataSelect();
-              }
-            });
-            return;
-          }
-          if (data.code == 9999) {
-            this.$message({
-              message: data.msg,
-              type: "error",
-              duration: 1500,
-              onClose: () => {
-                this.dataSelect();
-              }
-            });
-            return;
-          }
-          if (data.code == 500) {
-            this.$message({
-              message: data.msg,
-              type: "error",
-              duration: 1500,
-              onClose: () => {
-                this.dataSelect();
-              }
-            });
-            return;
-          }
+      })
+        .then(() => {
+          this.$http({
+            url: this.$http.adornUrl("app/new-pay/enable-new-pay"),
+            method: "get"
+          }).then(({ data }) => {
+            console.log(data.enable, "是否启用新支付");
+            this.enable = data.enable;
+            if (this.enable) {
+              console.log("rht转账");
+              // let reg = /^(0|[1-9]\d*)(\.\d{1,2})?$/;
+              // if (reg.test(this.transferMoney)) {
+              // } else {
+              //   this.$message({
+              //     message: "金额必须大于等于0且不能超过两位小数!",
+              //     type: "error",
+              //     duration: 2000
+              //   });
+              //   return;
+              // }
+              // console.log(this.transferMoney, "正确金额");
+              this.$http({
+                url: this.$http.adornUrl(`cash/confirm-cash/${rows.id}`),
+                method: "post"
+              }).then(({ data }) => {
+                console.log(data, "rht转账");
+                if (data.code == 0) {
+                  this.$message({
+                    message: data.msg,
+                    type: "success",
+                    duration: 1500,
+                    onClose: () => {
+                      this.dataSelect();
+                    }
+                  });
+                } else {
+                  this.$message({
+                    message: data.msg,
+                    type: "warning",
+                    duration: 1500,
+                    onClose: () => {}
+                  });
+                }
+              });
+            } else {
+              console.log("银行卡转账");
+              this.$http({
+                url: this.$http.adornUrl(`cash/alipay/${rows.id}`),
+                method: "post",
+                data: this.$http.adornData({})
+              }).then(({ data }) => {
+                if (data.code == 0) {
+                  this.$message({
+                    message: data.msg,
+                    type: "success",
+                    duration: 1500,
+                    onClose: () => {
+                      this.dataSelect();
+                    }
+                  });
+                  return;
+                }
+                if (data.code == 9999) {
+                  this.$message({
+                    message: data.msg,
+                    type: "error",
+                    duration: 1500,
+                    onClose: () => {
+                      this.dataSelect();
+                    }
+                  });
+                  return;
+                }
+                if (data.code == 500) {
+                  this.$message({
+                    message: data.msg,
+                    type: "error",
+                    duration: 1500,
+                    onClose: () => {
+                      this.dataSelect();
+                    }
+                  });
+                  return;
+                }
+              });
+            }
+          });
+        })
+        .catch(() => {
+          console.log("cencel");
         });
-      });
     },
     // 拒绝
     refund(row) {
@@ -1641,7 +1835,7 @@ export default {
           endTime: this.endTime
         })
       }).then(({ data }) => {
-        console.log(data,'财务中心');
+        console.log(data, "财务中心");
 
         this.tableDataLoading = false;
         let returnData = data.data;
@@ -1667,6 +1861,14 @@ export default {
       }).then(({ data }) => {
         this.totalMoney = data.data;
       });
+
+      this.$http({
+        url: this.$http.adornUrl("app/new-pay/enable-new-pay"),
+        method: "get"
+      }).then(({ data }) => {
+        console.log(data.enable, "true:新支付  false:旧支付");
+        this.enable = data.enable;
+      });
     },
     // 保证金记录
     baozhengSelect() {
@@ -1905,7 +2107,7 @@ export default {
           method: "get",
           // responseType: "blob",
           params: this.$http.adornParams({
-            userId:userId,
+            userId: userId,
             zhifubao: this.zhifubao,
             zhifubaoName: this.zhifubaoName,
             shopName: this.shopName,
@@ -1996,7 +2198,7 @@ export default {
           method: "get",
           // responseType: "blob",
           params: this.$http.adornParams({
-            userId:userId,
+            userId: userId,
             shopName: this.shopName3,
             type: this.indentState3,
             classify: 2,
@@ -2096,12 +2298,13 @@ export default {
   },
   mounted() {
     this.dataSelect();
+    this.transferClick();
     // this.rechargeSelect()
   }
 };
 </script>
 
-<style scoped="scoped">
+<style scoped>
 .box {
   padding: 44px;
   border: 1px solid #eee;
@@ -2171,4 +2374,18 @@ export default {
   display: flex;
   flex-direction: row-reverse;
 }
+
+.el-tabs >>> .transfer {
+  width: 500px;
+  /* height: 300px; */
+}
+.el-tabs >>> .el-dialog__body {
+  padding: 30px 20px;
+}
+.el-tabs >>> .el-dialog__footer {
+  padding: 30px 20px;
+}
+.el-tabs >>> .dialog-footer {
+  text-align: right;
+}
 </style>

+ 51 - 1
src/views/mission/mission.vue

@@ -73,10 +73,21 @@
           >&nbsp;&nbsp;
         </div>
         <div style="position: relative;display: inline-block;margin: 3px;">
+          <span>商户单号:</span>
+          <el-input
+            style="width: 200px;"
+            @keydown.enter.native="phoneSelect"
+            placeholder="请输入商户单号"
+            v-model="transactionId"
+          ></el-input
+          >&nbsp;&nbsp;
+        </div>
+        <div style="position: relative;display: inline-block;margin: 3px;">
           <span>商铺名称:</span>
           <el-input
             style="width: 200px;"
             @keydown.enter.native="phoneSelect"
+            @input="phoneSelect"
             placeholder="请输入商户名称"
             v-model="shopName"
           >
@@ -249,6 +260,9 @@
         >
           导出Excel
         </el-button>
+        <!-- <div style="margin:5px 15px;display: inline-block;" v-if="shopName">
+          <span style="font-size:18px;">店铺订单总金额:{{ shopMoney }}</span>
+        </div> -->
       </div>
       <div style="color: orange;">
         *
@@ -362,7 +376,11 @@
         <el-table-column
           prop="orderSequence"
           label="序号"
-          width="180"
+        ></el-table-column>
+        <el-table-column
+          prop="transactionId"
+          label="商户单号"
+          width="160"
         ></el-table-column>
         <el-table-column prop="orderNumber" label="订单号" width="180">
           <template slot-scope="scope">
@@ -1046,6 +1064,7 @@ export default {
       phone: "",
       userName: "",
       orderNumber: "",
+      transactionId:"",// 商户单号
       status: "",
       describes: "",
       token: "",
@@ -1227,6 +1246,7 @@ export default {
 
       tableData: [],
       tableData2: {},
+      shopMoney:'',// 店铺总交易
       form: {
         id: "",
         classifyName: "",
@@ -1661,6 +1681,7 @@ export default {
       this.riderPhone = "";
       this.userName = "";
       this.orderNumber = "";
+      this.transactionId=""
       this.status = "";
       this.shopName = "";
       this.reservationFlag = "";
@@ -1728,6 +1749,7 @@ export default {
           phone: this.phone,
           userName: this.userName,
           orderNumber: this.orderNumber,
+          transactionId:this.transactionId,
           status: this.status,
           shopName: this.shopName,
           orderType: this.orderType,
@@ -1770,6 +1792,33 @@ export default {
         }
         this.totalMoney = this.totalMoney.toFixed(2);
       });
+      // this.$http({
+      //   url: this.$http.adornUrl("admin/order/selectAllOrderTotalPrice"),
+      //   method: "get",
+      //   params: this.$http.adornParams({
+      //     page: this.page,
+      //     limit: this.limit,
+      //     phone: this.phone,
+      //     userName: this.userName,
+      //     orderNumber: this.orderNumber,
+      //     status: this.status,
+      //     shopName: this.shopName,
+      //     orderType: this.orderType,
+      //     reservationFlag: this.reservationFlag,
+      //     indentStatus: this.indentStatus,
+      //     riderPhone: this.riderPhone,
+      //     startTime: this.startTime,
+      //     endTime: this.endTime,
+      //     payStartTime: this.payStartTime,
+      //     payEndTime: this.payEndTime,
+      //     riderStationId: this.stationName,
+      //     shopTypeId:this.spEarningTypeId,
+      //     couponType:this.couponType
+      //   })
+      // }).then(({ data }) => {
+      //   this.shopMoney=data.data
+      //   console.log(data,'店铺总交易金额');
+      // })
     },
     // 商铺列表
     classifySelect() {
@@ -2141,6 +2190,7 @@ export default {
             phone: this.phone,
             userName: this.userName,
             orderNumber: this.orderNumber,
+            transactionId:this.transactionId,
             status: this.status,
             shopName: this.shopName,
             orderSequence: this.orderSequence,

+ 753 - 0
src/views/orderIntegral/orderIntegral.vue

@@ -0,0 +1,753 @@
+<template>
+  <el-tabs v-model="activeName" @tab-click="handleClick">
+    <el-tab-pane label="积分规则" name="first" class="rules">
+      <div style="padding: 10px 0 0;">
+        <span>获取积分方式:完成订单</span>
+      </div>
+      <div style="padding: 25px 0 0;">
+        <span>获取积分功能:</span>
+        <el-switch
+          v-model="switchIntegral2"
+          active-color="#1677ff"
+          inactive-color="#ccc"
+          :disabled="ruleFlag"
+          active-value="1"
+          inactive-value="0"
+        >
+        </el-switch>
+      </div>
+      <el-form
+        :model="ruleForm"
+        :rules="rules"
+        ref="ruleForm"
+        label-width="100px"
+        class="demo-ruleForm"
+      >
+        <div style="padding: 25px 0 0;">
+          <span>积分兑换规则:</span>
+        </div>
+        <div style="display: flex;align-items: center;padding: 20px 0;">
+          <span>实付满</span>&nbsp;&nbsp;&nbsp;
+          <el-form-item label="" prop="ruleAmount1">
+            <div style="padding: 0;">
+              <el-input
+                style="width: 80px;"
+                @keydown.enter.native="phoneSelect"
+                placeholder=""
+                v-model="ruleForm.ruleAmount1"
+                :disabled="ruleFlag"
+              ></el-input
+              >&nbsp;&nbsp;&nbsp;
+            </div>
+          </el-form-item>
+          <span>得</span>&nbsp;&nbsp;&nbsp;
+          <el-form-item label="" prop="ruleValue1">
+            <div style="padding: 0;">
+              <el-input
+                style="width: 80px;"
+                placeholder=""
+                v-model="ruleForm.ruleValue1"
+                :disabled="ruleFlag"
+              ></el-input>
+            </div>
+          </el-form-item>
+          <span style="margin-left:10px;">分,超过</span>&nbsp;&nbsp;&nbsp;
+          <el-form-item label="" prop="ruleMaxAmount">
+            <div>
+              <el-input
+                style="width: 80px;"
+                @keydown.enter.native="phoneSelect"
+                :disabled="ruleFlag"
+                placeholder=""
+                v-model="ruleForm.ruleMaxAmount"
+              ></el-input
+              >&nbsp;&nbsp;&nbsp;
+            </div>
+          </el-form-item>
+          <span>元部分,每满</span>&nbsp;&nbsp;&nbsp;
+          <el-form-item label="" prop="ruleAmount2">
+            <div>
+              <el-input
+                style="width: 80px;"
+                placeholder=""
+                v-model="ruleForm.ruleAmount2"
+                :disabled="ruleFlag"
+              ></el-input
+              >&nbsp;&nbsp;&nbsp;
+            </div>
+          </el-form-item>
+          <span>得</span>&nbsp;&nbsp;&nbsp;
+          <el-form-item label="" prop="ruleValue2">
+            <div style="padding: 0;">
+              <el-input
+                style="width: 80px;"
+                placeholder=""
+                v-model="ruleForm.ruleValue2"
+                :disabled="ruleFlag"
+              ></el-input
+              >&nbsp;&nbsp;&nbsp;
+            </div>
+          </el-form-item>
+          <span>分</span>
+        </div>
+        <!-- <div style="display: flex;align-items: center;padding:0 0 20px 0;">
+          <span>积分时效:</span>
+          <el-form-item label="" prop="overdueFlag">
+            <div style="padding:0;">
+              <el-select
+                class="timeliness"
+                v-model="ruleForm.overdueFlag"
+                style="width:150px;margin-right: 15px;"
+                @change="timelinessDayChange"
+                :disabled="ruleFlag"
+              >
+                <el-option
+                  v-for="item in timelinessData2"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+                >
+                </el-option
+              ></el-select>
+            </div>
+          </el-form-item>
+          <el-form-item label="" prop="overdue" v-if="timelinessFlag">
+            <div style="padding: 0 0;">
+              <el-input
+                style="width: 60px;"
+                placeholder=""
+                :disabled="ruleFlag"
+                v-model="ruleForm.overdue"
+              ></el-input
+              >&nbsp;&nbsp;&nbsp;<span>天</span>
+            </div>
+          </el-form-item>
+        </div> -->
+        <div style="display: flex;align-items: center;padding:0 0 20px 0;">
+          <span>每笔订单积分上限:</span>
+          <el-form-item label="" prop="maxIntegral">
+            <div style="padding:0;">
+              <el-input
+                style="width: 80px;"
+                @keydown.enter.native="phoneSelect"
+                placeholder=""
+                v-model="ruleForm.maxIntegral"
+                :disabled="ruleFlag"
+              ></el-input
+              >&nbsp;&nbsp;&nbsp;<span>分</span>
+            </div>
+          </el-form-item>
+        </div>
+
+        <el-form-item>
+          <el-button v-if="ruleFlag" type="primary" @click="updateRule"
+            >修改</el-button
+          >
+          <el-button v-if="!ruleFlag" @click="resetForm('ruleForm')"
+            >取消</el-button
+          >
+          <el-button
+            v-if="!ruleFlag"
+            type="primary"
+            @click="submitForm('ruleForm')"
+            >保存</el-button
+          >
+        </el-form-item>
+      </el-form>
+    </el-tab-pane>
+    <el-tab-pane label="积分记录" name="second">
+      <div style="display: inline-block;">
+        <!-- <div style="position: relative;display: inline-block;">
+          <span>状态:</span>
+          <el-select
+            v-model="state1"
+            style="width:150px;margin-left: 10px;"
+            @change="phoneSelect"
+          >
+            <el-option
+              v-for="item in stateData1"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            >
+            </el-option> </el-select
+          >&nbsp;&nbsp;
+        </div> -->
+        <div style="position: relative;display: inline-block;margin:5px;">
+          <span>手机号:</span>
+          <el-input
+            style="width: 200px;"
+            @keydown.enter.native="phoneSelect"
+            placeholder="请输入手机号"
+            v-model="phone1"
+          ></el-input
+          >&nbsp;&nbsp;
+          <span
+            @click="phoneSelect"
+            style="position: absolute;right: 18px;top:8px;"
+          >
+            <icon-svg name="shousuo" class="site-sidebar__menu-icon"></icon-svg>
+          </span>
+        </div>
+        <div style="position: relative;display: inline-block;margin:5px;">
+          <span>订单号:</span>
+          <el-input
+            style="width: 200px;"
+            @keydown.enter.native="phoneSelect"
+            placeholder="请输入订单号"
+            v-model="orderNum1"
+          ></el-input
+          >&nbsp;&nbsp;
+          <span
+            @click="phoneSelect"
+            style="position: absolute;right: 18px;top:8px;"
+          >
+            <icon-svg name="shousuo" class="site-sidebar__menu-icon"></icon-svg>
+          </span>
+        </div>
+        <div style="position: relative;display: inline-block;">
+          <span>积分获取方式:</span>
+          <el-select
+            v-model="integral1"
+            style="width:180px;margin-left: 10px;"
+            @change="dataSelect"
+            :clearable="true"
+          >
+            <el-option
+              v-for="item in getintegraData"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            >
+            </el-option> </el-select
+          >&nbsp;&nbsp;
+        </div>
+        <!-- <div style="margin:5px;display: inline-block;">
+          <span>开始时间:</span>
+          <el-date-picker
+            style="width: 160px;margin-left: 10px;"
+            v-model="startTime1"
+            align="right"
+            type="datetime"
+            format="yyyy-MM-dd"
+            value-format="yyyy-MM-dd"
+            placeholder="选择开始时间"
+          >
+          </el-date-picker
+          >&nbsp;&nbsp;&nbsp;
+        </div>
+        <div style="margin:5px;display: inline-block;">
+          <span>截止时间:</span>
+          <el-date-picker
+            style="width: 160px;margin-left: 10px;"
+            v-model="endTime1"
+            align="right"
+            type="datetime"
+            format="yyyy-MM-dd"
+            value-format="yyyy-MM-dd"
+            placeholder="选择截止时间"
+          >
+          </el-date-picker>
+        </div> -->
+      </div>
+      <div style="display: inline-block;">
+        <el-button
+          style="margin:10px;"
+          size="mini"
+          type="primary"
+          icon="document"
+          @click="phoneSelect"
+          >查询
+        </el-button>
+        <el-button
+          style="margin:10px;"
+          size="mini"
+          type="primary"
+          icon="document"
+          @click="cleans1"
+          >重置
+        </el-button>
+        <!-- <el-button
+          style="margin-left:15px;"
+          size="mini"
+          type="warning"
+          icon="document"
+          >导出Excel
+        </el-button> -->
+      </div>
+      <el-table v-loading="tableDataLoading" :data="tableData1">
+        <!-- <el-table-column type="selection"> </el-table-column> -->
+        <el-table-column fixed prop="id" label="编号" width="120">
+        </el-table-column>
+        <el-table-column prop="userName" label="昵称"> </el-table-column>
+        <el-table-column prop="phone" label="手机号" width="150">
+        </el-table-column>
+        <el-table-column prop="num" label="积分" width="150">
+          <template slot-scope="scope">
+            <span v-if="scope.row.type == 1">+{{ scope.row.num }}</span>
+            <span v-if="scope.row.type == 2">-{{ scope.row.num }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="orderNumber" label="对应订单号">
+        </el-table-column>
+        <el-table-column prop="content" label="积分获取方式">
+          <template slot-scope="scope">
+            <span v-if="scope.row.classify == 1">每日签到</span>
+            <span v-if="scope.row.classify == 2">积分兑换优惠券</span>
+            <span v-if="scope.row.classify == 3">系统赠送积分</span>
+            <span v-if="scope.row.classify == 4">完成订单获取积分</span>
+            <!-- <span v-if="scope.row.classify == 6">完成订单获取积分(已过期)</span> -->
+            <!-- <span v-if="scope.row.classify == 5">积分过期</span> -->
+          </template>
+        </el-table-column>
+        <el-table-column prop="createTime" label="积分获取时间">
+        </el-table-column>
+        <!-- <el-table-column prop="expTime" label="积分过期时间"> </el-table-column> -->
+        <!-- <el-table-column fixed="right" label="操作" width="150">
+          <template slot-scope="scope">
+            <el-button
+              size="mini"
+              type="primary"
+              :disabled="
+                !isAuth('financeList:transfer') || scope.row.state != 0
+              "
+              @click="transferClick(scope.row)"
+            >
+              转账
+            </el-button>
+            <el-button
+              size="mini"
+              type="primary"
+              :disabled="!isAuth('financeList:refund') || scope.row.state != 0"
+              @click="refund(scope.row)"
+            >
+              拒绝
+            </el-button>
+          </template>
+        </el-table-column> -->
+      </el-table>
+      <div style="text-align: center;margin-top: 10px;">
+        <el-pagination
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+          :page-sizes="[10, 15, 20, 30]"
+          :page-size="limit1"
+          :current-page="page1"
+          layout="total,sizes, prev, pager, next"
+          :total="totalnum1"
+        >
+        </el-pagination>
+      </div>
+    </el-tab-pane>
+    <el-tab-pane label="积分兑换商品" name="third"> </el-tab-pane>
+    <el-tab-pane label="商品兑换记录" name="fourth"> </el-tab-pane>
+  </el-tabs>
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      activeName: "second",
+
+      // 积分记录
+      // state1: "",
+      stateData1: [
+        { label: "待使用", value: 1 },
+        { label: "已使用", value: 2 },
+        { label: "已失效", value: 3 }
+      ],
+      phone1: "",
+      orderNum1: "",
+      integral1: "",
+      getintegraData: [
+        { label: "每日签到", value: 1 },
+        { label: "积分兑换优惠券", value: 2 },
+        { label: "系统赠送积分", value: 3 },
+        { label: "完成订单获取积分", value: 4 },
+        // { label: "完成订单获取积分(已过期)", value: 6 },
+        // { label: "积分过期", value: 5 }
+      ],
+      startTime1: "",
+      endTime1: "",
+      page1: 1,
+      limit1: 10,
+      tableDataLoading: false,
+      tableData1: [],
+      totalnum1: 10,
+
+      // 积分规则
+      switchIntegral2: 0,
+      ruleFlag: true,
+      ruleForm: {
+        ruleAmount1: 10, // 实付满
+        ruleValue1: 1, // 得多少分
+        ruleMaxAmount: 30, // 超过
+        ruleAmount2: 8, // 每满
+        ruleValue2: 1, // 得多少分
+        overdueFlag: 1, // 时效选择
+        overdue: 15, // 时效天数
+        maxIntegral: 10 // 积分上限
+      },
+      rules: {
+        ruleAmount1: [
+          { required: true, message: "请输入数字", trigger: "blur" },
+          { validator: this.checkMoney, trigger: "blur" }
+        ],
+        ruleValue1: [
+          { required: true, message: "请输入数字", trigger: "blur" },
+          { validator: this.checkMoney, trigger: "blur" }
+        ],
+        ruleMaxAmount: [
+          { required: true, message: "请输入数字", trigger: "blur" },
+          { validator: this.checkMoney, trigger: "blur" }
+        ],
+        ruleAmount2: [
+          { required: true, message: "请输入数字", trigger: "blur" },
+          { validator: this.checkMoney, trigger: "blur" }
+        ],
+        ruleValue2: [
+          { required: true, message: "请输入数字", trigger: "blur" },
+          { validator: this.checkMoney, trigger: "blur" }
+        ],
+        overdueFlag: [
+          { required: true, message: "请选择时效", trigger: "change" }
+        ],
+        overdue: [
+          { required: true, message: "请输入数字", trigger: "blur" },
+          { validator: this.checkMoney, trigger: "blur" }
+        ],
+        maxIntegral: [
+          { required: true, message: "请输入数字", trigger: "blur" },
+          { validator: this.checkMoney, trigger: "blur" }
+        ]
+      },
+      timelinessData2: [
+        { label: "永久有效", value: "0" },
+        { label: "限时积分", value: "1" }
+      ],
+      timelinessFlag: false
+    };
+  },
+  methods: {
+    checkMoney(rule, value, callback) {
+      if (!value) {
+        return callback(new Error("请输入正确数字"));
+      } else {
+        const reg = /^[1-9]\d*$/;
+        // 这里定义的reg变量没有加引号,所以是一种特殊的数据类型,即正则,可以直接用test()方法
+        if (reg.test(value)) {
+          callback();
+        } else {
+          // 具体错误信息没有提示
+          return callback(new Error("请输入正确数字"));
+        }
+      }
+    },
+    handleClick(tab, event) {
+      if (tab._props.label == "积分规则") {
+        this.ruleSelect();
+      }
+      if (tab._props.label == "积分记录") {
+        this.page1 = 1;
+        this.limit1 = 10;
+        this.dataSelect();
+      }
+      if (tab._props.label == "积分兑换商品") {
+        // this.rechSelect();
+      }
+      if (tab._props.label == "商品兑换记录") {
+        // this.withdrawSelect();
+      }
+    },
+    //  积分记录 查询 (++++++++++++++++++++++++++++++++++++++++++++)
+    phoneSelect() {
+      this.page1 = 1;
+      this.dataSelect();
+    },
+    // 获取数据列表
+    dataSelect() {
+      this.tableDataLoading = true;
+      console.log({
+        page: this.page1,
+        limit: this.limit1,
+        phone: this.phone1,
+        orderNumber: this.orderNum1,
+        classify: this.integral1
+      });
+
+      this.$http({
+        url: this.$http.adornUrl("admin/userintegral/queryIntegralList"),
+        method: "post",
+        params: this.$http.adornParams({
+          page: this.page1,
+          limit: this.limit1,
+          phone: this.phone1,
+          orderNumber: this.orderNum1,
+          classify: this.integral1
+        })
+      }).then(({ data }) => {
+        console.log(data, "积分记录");
+        if (data.code == 0) {
+          this.tableDataLoading = false;
+          let returnData = data.data;
+          this.tableData1 = returnData.list;
+          this.totalnum1 = returnData.totalCount;
+        } else {
+          this.$message({
+            message: data.msg,
+            type: "error",
+            duration: 1500,
+            onClose: () => {}
+          });
+        }
+      });
+    },
+    // 重置
+    cleans1() {
+      this.state1 = "";
+      this.phone1 = "";
+      this.orderNum1 = "";
+      this.integral1 = "";
+      this.startTime1 = "";
+      this.endTime1 = "";
+      this.page1 = 1;
+      this.limit1 = 10;
+      this.dataSelect();
+    },
+    handleSizeChange(val) {
+      this.limit1 = val;
+      this.dataSelect();
+    },
+    handleCurrentChange(val) {
+      this.page1 = val;
+      this.dataSelect();
+    },
+    // (++++++++++++++++++++++++++++++++++++++++++++)
+
+    // 积分规则 (------------------------------------------------)
+    timelinessDayChange(val) {
+      if (val == 0) {
+        this.timelinessFlag = false;
+        this.ruleForm.overdue = -1;
+      } else if (val == 1) {
+        this.timelinessFlag = true;
+        this.ruleForm.overdue = 30;
+      }
+    },
+    ruleSelect() {
+      this.$http({
+        url: this.$http.adornUrl("admin/userintegral/queryIntegralRules"),
+        method: "post",
+        data: this.$http.adornData({})
+      }).then(({ data }) => {
+        console.log(data, "积分规则");
+        if (data.code == 0) {
+          this.switchIntegral2 = data.data.flag;
+          this.ruleForm.ruleAmount1 = data.data.ruleAmount1;
+          this.ruleForm.ruleValue1 = data.data.ruleValue1;
+          this.ruleForm.ruleMaxAmount = data.data.ruleMaxAmount;
+          this.ruleForm.ruleAmount2 = data.data.ruleAmount2;
+          this.ruleForm.ruleValue2 = data.data.ruleValue2;
+          // this.ruleForm.overdueFlag = data.data.overdueFlag; // 时效选择
+          // this.ruleForm.overdue = data.data.overdue; // 时效天数
+          this.ruleForm.maxIntegral = data.data.maxIntegral;
+          if (data.data.overdue > 0) {
+            this.timelinessFlag = true;
+          } else {
+            this.timelinessFlag = false;
+          }
+        } else {
+          this.$message({
+            message: data.msg,
+            type: "error",
+            duration: 1500,
+            onClose: () => {}
+          });
+        }
+      });
+    },
+    submitForm(formName) {
+      this.$refs[formName].validate(valid => {
+        if (valid) {
+          this.$http({
+            url: this.$http.adornUrl("admin/userintegral/updateIntegralRules"),
+            method: "post",
+            params: this.$http.adornParams({
+              flag: this.switchIntegral2, // 积分获取开关 1开、0关
+              ruleMaxAmount: this.ruleForm.ruleMaxAmount, // 积分获取二阶段规则金额
+              ruleAmount1: this.ruleForm.ruleAmount1, // 积分获取规则金额1
+              ruleAmount2: this.ruleForm.ruleAmount2, // 积分获取规则金额2
+              ruleValue1: this.ruleForm.ruleValue1, // 积分获取规则积分1
+              ruleValue2: this.ruleForm.ruleValue2, // 积分获取规则积分2
+              // overdue: this.ruleForm.overdue, // 积分过期规则(-1为永不过期)
+              // overdueFlag: this.ruleForm.overdueFlag, //
+              maxIntegral: this.ruleForm.maxIntegral // 单笔订单获取积分上限
+            })
+          }).then(({ data }) => {
+            console.log(data, "更新积分规则");
+            if (data.code == 0) {
+              this.ruleFlag = true;
+              this.ruleSelect();
+            } else {
+              this.$message({
+                message: data.msg,
+                type: "error",
+                duration: 1500,
+                onClose: () => {}
+              });
+            }
+          });
+        } else {
+          console.log("error submit!!");
+          return false;
+        }
+      });
+    },
+    resetForm(formName) {
+      this.$refs[formName].resetFields();
+      this.ruleSelect();
+      this.ruleFlag = true;
+    },
+    updateRule() {
+      this.ruleFlag = false;
+    },
+    // (------------------------------------------------)
+
+    //处理默认选中当前日期
+    getNowTime() {
+      var now = new Date();
+      var year = now.getFullYear(); //得到年份
+      var month = now.getMonth() - now.getMonth(); //得到月份
+      var date = now.getDate() - now.getDate() + 1; //得到日期
+      month = month + 1;
+      month = month.toString().padStart(2, "0");
+      date = date.toString().padStart(2, "0");
+      var defaultDate = `${year}-${month}-${date}`;
+      return defaultDate;
+      this.$set(this.info, "stockDate", defaultDate);
+    }
+  },
+  mounted() {
+    this.dataSelect();
+    // this.rechargeSelect()
+  }
+};
+</script>
+
+<style scoped>
+.box {
+  padding: 44px;
+  border: 1px solid #eee;
+  margin: 15px 10px;
+}
+
+.box_num {
+  font-size: 14px;
+  color: #66b1ff;
+}
+
+.box_num .box_color {
+  color: #333;
+  font-size: 14px;
+  margin-bottom: 15px;
+  display: flex;
+  align-items: center;
+}
+.box_num .box_color .help {
+  width: 16px;
+  height: 16px;
+  cursor: pointer;
+  margin: 0 2px;
+}
+
+.box_num div span {
+  font-size: 20px;
+  margin-left: 5px;
+}
+
+.text_color {
+  color: #4f9dec;
+}
+
+.text_color span {
+  margin-right: 5px;
+}
+
+/* 导出限制 */
+.el-tabs >>> .export {
+  width: 500px;
+}
+.el-tabs >>> .export .con {
+  display: flex;
+  flex-direction: column;
+  justify-content: center;
+  align-items: center;
+  margin-bottom: 20px;
+}
+.el-tabs >>> .export .con .gundong {
+  animation: gundong 3s linear infinite;
+}
+@keyframes gundong {
+  /* from表示动画的开始位置,也可以使用0%来表示。 */
+  from {
+    transform: rotate(0deg);
+  }
+  /* to表示动画的结束位置,也可以使用100%来表示。 */
+  to {
+    transform: rotate(360deg);
+  }
+}
+.el-tabs >>> .export img {
+  width: 70px;
+}
+.el-tabs >>> .export .btn {
+  display: flex;
+  flex-direction: row-reverse;
+}
+
+.el-tabs >>> .transfer {
+  width: 500px;
+  /* height: 300px; */
+}
+.el-tabs >>> .el-dialog__body {
+  padding: 30px 20px;
+}
+.el-tabs >>> .el-dialog__footer {
+  padding: 30px 20px;
+}
+.el-tabs >>> .dialog-footer {
+  text-align: right;
+}
+.el-tabs >>> .rules .el-input {
+  border: none;
+  box-shadow: none;
+}
+.el-tabs >>> .rules .el-input .el-input__inner {
+  background: #ccc;
+  border: none;
+  text-align: center;
+}
+.el-tabs >>> .rules .timeliness .el-input .el-input__inner {
+  background: #fff;
+  border: 1px solid #ccc;
+  text-align: left;
+}
+.demo-ruleForm .el-form-item {
+  /* border: 1px solid red; */
+  margin-bottom: 0 !important;
+}
+.demo-ruleForm .el-form-item >>> .el-form-item__content {
+  /* border: 1px solid red; */
+  margin-left: 0 !important;
+}
+.demo-ruleForm .el-form-item >>> .el-input__inner {
+  /* color: #000; */
+}
+.demo-ruleForm .el-form-item >>> .el-input.is-disabled .el-input__inner {
+  background-color: #f5f7fa;
+  border-color: #e4e7ed;
+  color: #c0c4cc;
+  cursor: not-allowed;
+}
+</style>

+ 139 - 41
src/views/runErrands/financeList.vue

@@ -133,6 +133,12 @@
           >导出Excel
         </el-button>
       </div>
+      <div style="color: orange;" v-if="enable">
+        * 转账提示:已使用最新商户号的自动提现方式
+      </div>
+      <div style="color: orange;" v-else>
+        * 转账提示:使用原来微信商户号提现方式
+      </div>
       <div style="color: orange;">
         *
         导出提示:导出数据前请进行时间或者状态等筛选,否则导出数据量过多易出现卡顿或系统崩溃
@@ -971,6 +977,7 @@
         </el-col>
       </el-row>
     </el-tab-pane>
+
     <!-- 拒绝弹框 -->
     <el-dialog title="拒绝" :visible.sync="dialogFormVisible" center>
       <el-form :model="form">
@@ -1178,7 +1185,9 @@ export default {
       // 导出限制
       exportTitle: "导出错误",
       exportVisible: false,
-      exportFlag: 1 //1 超出限制  2导出中
+      exportFlag: 1, //1 超出限制  2导出中
+
+      enable: false // 判断是否为新支付
     };
   },
   methods: {
@@ -1240,6 +1249,16 @@ export default {
     changeFun(val) {
       this.checkBoxData = val;
     },
+    // 转账弹窗
+    transferClick() {
+      this.$http({
+        url: this.$http.adornUrl("app/new-pay/enable-new-pay"),
+        method: "get"
+      }).then(({ data }) => {
+        console.log(data.enable, "是否启用新支付");
+        this.enable = data.enable;
+      });
+    },
     //转账
     batch(row) {
       if (row.state == 1) {
@@ -1254,47 +1273,125 @@ export default {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
         type: "warning"
-      }).then(() => {
-        this.$http({
-          url: this.$http.adornUrl(`cash/alipay/${row.id}`),
-          method: "post",
-          data: this.$http.adornData({})
-        }).then(({ data }) => {
-          if (data.code == 0) {
-            this.$message({
-              message: data.msg,
-              type: "success",
-              duration: 1500,
-              onClose: () => {
-                this.dataSelect();
-              }
-            });
-            return;
-          }
-          if (data.code == 9999) {
-            this.$message({
-              message: data.msg,
-              type: "error",
-              duration: 1500,
-              onClose: () => {
-                this.dataSelect();
-              }
-            });
-            return;
-          }
-          if (data.code == 500) {
-            this.$message({
-              message: data.msg,
-              type: "error",
-              duration: 1500,
-              onClose: () => {
-                this.dataSelect();
-              }
-            });
-            return;
-          }
+      })
+        .then(() => {
+          this.$http({
+            url: this.$http.adornUrl("app/new-pay/enable-new-pay"),
+            method: "get"
+          }).then(({ data }) => {
+            console.log(data.enable, "是否启用新支付");
+            this.enable = data.enable;
+            if (this.enable) {
+              console.log("rht转账");
+              this.$http({
+                url: this.$http.adornUrl(`cash/confirm-cash/${row.id}`),
+                method: "post"
+              }).then(({ data }) => {
+                console.log(data, "rht转账");
+                if (data.code == 0) {
+                  this.$message({
+                    message: data.msg,
+                    type: "success",
+                    duration: 1500,
+                    onClose: () => {
+                      this.dataSelect();
+                    }
+                  });
+                } else {
+                  this.$message({
+                    message: data.msg,
+                    type: "warning",
+                    duration: 1500,
+                    onClose: () => {}
+                  });
+                }
+              });
+            } else {
+              console.log("银行卡转账");
+              this.$http({
+                url: this.$http.adornUrl(`cash/alipay/${row.id}`),
+                method: "post",
+                data: this.$http.adornData({})
+              }).then(({ data }) => {
+                if (data.code == 0) {
+                  this.$message({
+                    message: data.msg,
+                    type: "success",
+                    duration: 1500,
+                    onClose: () => {
+                      this.dataSelect();
+                    }
+                  });
+                  return;
+                }
+                if (data.code == 9999) {
+                  this.$message({
+                    message: data.msg,
+                    type: "error",
+                    duration: 1500,
+                    onClose: () => {
+                      this.dataSelect();
+                    }
+                  });
+                  return;
+                }
+                if (data.code == 500) {
+                  this.$message({
+                    message: data.msg,
+                    type: "error",
+                    duration: 1500,
+                    onClose: () => {
+                      this.dataSelect();
+                    }
+                  });
+                  return;
+                }
+              });
+            }
+          });
+          // this.$http({
+          //   url: this.$http.adornUrl(`cash/alipay/${row.id}`),
+          //   method: "post",
+          //   data: this.$http.adornData({})
+          // }).then(({ data }) => {
+          //   if (data.code == 0) {
+          //     this.$message({
+          //       message: data.msg,
+          //       type: "success",
+          //       duration: 1500,
+          //       onClose: () => {
+          //         this.dataSelect();
+          //       }
+          //     });
+          //     return;
+          //   }
+          //   if (data.code == 9999) {
+          //     this.$message({
+          //       message: data.msg,
+          //       type: "error",
+          //       duration: 1500,
+          //       onClose: () => {
+          //         this.dataSelect();
+          //       }
+          //     });
+          //     return;
+          //   }
+          //   if (data.code == 500) {
+          //     this.$message({
+          //       message: data.msg,
+          //       type: "error",
+          //       duration: 1500,
+          //       onClose: () => {
+          //         this.dataSelect();
+          //       }
+          //     });
+          //     return;
+          //   }
+          // });
+        })
+        .catch(() => {
+          console.log("cencel");
         });
-      });
     },
     // 拒绝
     refund(row) {
@@ -1949,6 +2046,7 @@ export default {
   mounted() {
     this.dataSelect();
     this.stationList();
+    this.transferClick();
   }
 };
 </script>

+ 4 - 0
src/views/selfShop/shopAmend.vue

@@ -851,6 +851,8 @@ export default {
           goodsId: goodsId
         })
       }).then(({ data }) => {
+        console.log(data,'回显规格');
+
         let returnData = data.data;
         this.valueData2 = returnData.value;
         this.headerData2 = returnData.header;
@@ -905,6 +907,8 @@ export default {
           goodsId: goodsId
         })
       }).then(({ data }) => {
+        console.log(data);
+
         let returnData = data.data;
         if (returnData.goodsPicture) {
           let imgs = returnData.goodsPicture.split(",");

+ 2 - 0
src/views/selfShop/shopPublish.vue

@@ -1308,6 +1308,8 @@ export default {
           id: val
         })
       }).then(({ data }) => {
+        console.log(data,'查询商品规格');
+
         let returnData = data.data;
         this.ruleValue = returnData.ruleValue;
         this.attrName = returnData.ruleName;

File diff suppressed because it is too large
+ 764 - 764
src/views/shopManagement/mission.vue


+ 4 - 2
src/views/shopsList/shopAdmin.vue

@@ -409,7 +409,7 @@
           </el-form-item>
         </el-form>
         <div slot="footer" class="dialog-footer">
-          <el-button @click="dialogFormVisible1 = false">取 消</el-button>
+          <el-button @click="dialogFormVisible2 = false">取 消</el-button>
           <el-button type="primary" @click="amendNoticeTo()">确 定</el-button>
         </div>
       </el-dialog>
@@ -1049,10 +1049,12 @@
         }).then(({
           data
         }) => {
+          console.log(data,'获取分类数据');
+
           this.tableDataLoading = false
           let returnData = data.data
           this.typeDatas = returnData
-          this.classDatas = returnData
+          this.classDatas = returnData.records
         })
       },
       // ··规格··············································

+ 14 - 0
src/views/shopsList/shopsList.vue

@@ -601,6 +601,16 @@
           </el-dialog>
         </div>
       </div>
+      <div style="margin-bottom: 10px;" v-if="titles == '修改'">
+        <span style="width: 200px;display: inline-block;text-align: right;"
+          >商铺商户号:</span
+        >
+        <el-input
+          v-model="mchId"
+          placeholder="请输入商铺商户号"
+          style="width:50%;"
+        ></el-input>
+      </div>
       <div style="margin-bottom: 10px;">
         <span style="width: 200px;display: inline-block;text-align: right;"
           >开店时间:</span
@@ -1634,6 +1644,7 @@ export default {
       facility: 1,
       shopUserId: "",
       shopUserName: "",
+      mchId:'',  // 商铺商户号
       shopPhone: "", //商户关联手机号
       snCode: "",
 
@@ -1739,6 +1750,7 @@ export default {
     addNotice() {
       this.titles = "添加";
       this.shopId = "";
+      this.mchId="";
       this.shopName = "";
       this.shopNotice = "";
       this.shopType = "";
@@ -1914,6 +1926,7 @@ export default {
       }
       var datas = {};
       datas.shopName = this.shopName;
+      datas.mchId=this.mchId;
       datas.businessHours = this.openTime;
       datas.shopBanner = this.img.toString();
       datas.lockHours = this.closeTime;
@@ -1986,6 +1999,7 @@ export default {
       this.titles = "修改";
       this.shopId = rows.shopId;
       this.shopName = rows.shopName;
+      this.mchId=rows.mchId;
       if (rows.shopNotice) {
         this.shopNotice = rows.shopNotice;
       } else {