dujingxian il y a 4 ans
Parent
commit
d440bb0110

+ 14 - 0
src/api/index.js

@@ -387,4 +387,18 @@ export const delwphone = (params) => {
         data: params,
         timeout: 120000,
     })
+}
+
+// 对账管理
+export const getRec = (params) => {
+    return axios({
+        method: 'post',
+        url: `${Prefix}act=merchant_order&op=OrderStats&client_type=ajax`,
+        withCredentials: true,
+        headers: {
+            "Content-Type": "application/x-www-form-urlencoded"
+          },
+        data: params,
+        timeout: 120000,
+    })
 }

+ 4 - 0
src/pages/index.vue

@@ -47,6 +47,10 @@
                     <i class="el-icon-s-order"></i>
                     <span style="font-size: 19px;" slot="title">充值管理</span>
                 </el-menu-item>
+                <el-menu-item index="reconciliation" route="reconciliation">
+                    <i class="el-icon-document-checked"></i>
+                    <span style="font-size: 19px;" slot="title">对账管理</span>
+                </el-menu-item>
                 <el-menu-item index="view" route="view">
                     <i class="el-icon-s-platform"></i>
                     <span style="font-size: 19px;" slot="title">设置</span>

+ 11 - 121
src/pages/subPages/balance.vue

@@ -3,7 +3,7 @@
 <el-card class="bankDeposit">
     <el-row :gutter="20">
         <el-col :span="10">
-            <el-form label-width="110px">
+            <el-form >
                 <el-form-item label="银行账号:">
                     11001079900053013913
                 </el-form-item>
@@ -19,7 +19,7 @@
             </el-form>
         </el-col>
         <el-col :span="14">
-            <el-form label-width="152px" :model="balanceForm">
+            <el-form  :model="balanceForm">
                 <el-form-item label="当前余额:">
                     {{available_predeposit}}
                 </el-form-item>
@@ -37,6 +37,9 @@
                     </template>
                     <span v-else style="color:rgb(255 1 1 / 0.7);font-size:12px;line-height:20px;display: inline-block;margin-top: 9px;">当前还未设置预警电话,请去设置页面设置预警电话。</span>
                 </el-form-item>
+                <el-form-item label="总充值金额:">
+                    {{evidence_amounts}}
+                </el-form-item>
                 <el-form-item label="今日已申请成功次数:">
                     {{evidence_count}}
                 </el-form-item>
@@ -114,33 +117,6 @@
                     ></el-autocomplete>
             </el-form-item>
             <el-form-item label="银行名称: " prop="bank_name">
-                <!-- <el-input v-model="formData.bank_name" style="width:300px"></el-input> -->
-                <!-- <el-select v-model="formData.bank_name" placeholder="请选择" style="width:300px">
-                    <el-option
-                        v-for="item in backName"
-                        :key="item.value"
-                        :label="item.value"
-                        :value="item.value">
-                    </el-option>
-                    <template v-if="!showMoreBank">
-                        <el-button
-                            size="small"
-                            style="border:0;width:100%"
-                            @click="showMoreBank=true">查看更多</el-button>
-                    </template>
-                    <template v-else>
-                        <el-option
-                            v-for="item in MoreBank"
-                            :key="item.value"
-                            :label="item.value"
-                            :value="item.value">
-                        </el-option>
-                        <el-button
-                            size="small"
-                            style="border:0;width:100%"
-                            @click="showMoreBank=false">收起更多</el-button>
-                    </template>
-                </el-select> -->
                 <el-autocomplete
                     class="inline-input"
                     v-model="formData.bank_name"
@@ -170,34 +146,6 @@
     </el-dialog>
 </el-container>
 </el-card>
-    <!-- 预警电话弹层-->
-    <!-- <el-dialog
-        title="余额预警电话 (最少设置一个,最多可以设置5个)"
-        :visible="warningDialogVisible"
-        width="30%"
-        @close="onCloseWarningDialog">
-        <el-form  ref="formWarning" :model="formWarning" :rules="ruleWarning">
-            <el-form-item prop="phoneOne">
-                <el-input v-model="formWarning.phoneOne"></el-input>
-            </el-form-item>
-            <el-form-item prop="phoneTwo">
-                <el-input v-model="formWarning.phoneTwo"></el-input>
-            </el-form-item>
-            <el-form-item prop="phoneThree">
-                <el-input v-model="formWarning.phoneThree"></el-input>
-            </el-form-item>
-            <el-form-item prop="phoneFove">
-                <el-input v-model="formWarning.phoneFove"></el-input>
-            </el-form-item>
-            <el-form-item prop="phoneFive">
-                <el-input v-model="formWarning.phoneFive"></el-input>
-            </el-form-item>
-        </el-form>
-        <span slot="footer" class="dialog-footer">
-            <el-button @click="onCloseWarningDialog">取 消</el-button>
-            <el-button type="primary" @click="onSubmitWarning">确 定</el-button>
-        </span>
-    </el-dialog> -->
 </div>
 </template>
 <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
@@ -288,26 +236,8 @@ export default {
             evidence_count: '',
             // 预警电话列表
             warningList: [],
-            // 预警电话弹层
-            // warningDialogVisible: false,
-            // 预警表单
-            // formWarning: {
-            //     phoneOne: '',
-            //     phoneTwo: '',
-            //     phoneThree: '',
-            //     phoneFove: '',
-            //     phoneFive: '',
-            // },
-            // ruleWarning: {
-            //     phoneOne: [
-            //         { required: true, message: '请输入余额预警电话', trigger: 'blur' },
-            //         { pattern: /^1[3-9]\d{9}$/, message: '请输入正确的电话', trigger: 'blur' }
-            //     ],
-            //     phoneTwo: [{ pattern: /^1[3-9]\d{9}$/, message: '请输入正确的电话', trigger: 'blur' }],
-            //     phoneThree: [{ pattern: /^1[3-9]\d{9}$/, message: '请输入正确的电话', trigger: 'blur' }],
-            //     phoneFove: [{ pattern: /^1[3-9]\d{9}$/, message: '请输入正确的电话', trigger: 'blur' }],
-            //     phoneFive: [{ pattern: /^1[3-9]\d{9}$/, message: '请输入正确的电话', trigger: 'blur' }],
-            // }
+            // 总充值金额
+            evidence_amounts: ''
         };
     },
     mounted() {
@@ -381,10 +311,6 @@ export default {
                 if (res && res.code == 200) {
                     this.tableData = res.datas.data
                     this.total = res.datas.total * this.pageSize
-                    // const bank_username = res.datas.data[0].bank_username
-                    // console.log('bank_username', bank_username);
-                    // window.localStorage.setItem('bank_username', bank_username)
-                    // this.formData.bank_username = window.localStorage.getItem('bank_username') || ''
                 }
                 this.isLoading = false
             } catch (error) {
@@ -574,6 +500,7 @@ export default {
                     this.available_predeposit = res.datas.member.available_predeposit
                     this.evidence_count = res.datas.evidence_count
                     this.warningList = res.datas.warning_phone
+                    this.evidence_amounts = res.datas.evidence_amounts
                 }
             } catch (error) {
                 console.log(error);
@@ -607,46 +534,6 @@ export default {
             // console.log('item', item);
             this.formData.bank_name = item.value
         },
-        // 关闭预警电话弹层
-        // onCloseWarningDialog() {
-        //     this.warningDialogVisible = false;
-        //     this.formWarning = {
-        //         phoneOne: '',
-        //         phoneTwo: '',
-        //         phoneThree: '',
-        //         phoneFove: '',
-        //         phoneFive: '',
-        //     },
-        //     this.$refs.formWarning.resetFields();
-        // },
-        // 提交预警电话
-        // onSubmitWarning() {
-        //     this.$refs.formWarning.validate(async valid => {
-        //         if (valid) {
-        //             try {
-        //                 let phoneStr = ''
-        //                 Object.values(this.formWarning).forEach(item => {
-        //                     if (item) {
-        //                         phoneStr += item + ','
-        //                     }
-        //                 })
-        //                 let param = new URLSearchParams
-        //                 param.append('phone', phoneStr)
-        //                 const res = await addwphone(param)
-        //                 console.log(res);
-        //                 if(res && res.code == 200) {
-        //                     this.$message.success('设置余额预警电话成功')
-        //                 } else {
-        //                     this.$message.error('设置余额预警电话失败')
-        //                 }
-        //                 this.onCloseEditDialog()
-        //             } catch (error) {
-        //                 console.log(error);
-        //                 this.$message.error('设置余额预警电话失败')
-        //             }
-        //         }
-        //     })
-        // }
     },
 }
 </script>
@@ -722,6 +609,9 @@ export default {
 /deep/.el-date-editor .el-range-input {
     width: 100px;/*no */
 }
+/deep/.el-form-item__label {
+    text-align: left;
+}
 </style>
 <style>
 .el-main {

+ 0 - 46
src/pages/subPages/externalDoc.vue

@@ -1,46 +0,0 @@
-<template>
-  <div style="width:100%;height:100%;">
-     <iframe
-      src="https://www.showdoc.com.cn/refill"
-      id="mobsf" scrolling="no" frameborder="0"></iframe>
-  </div>
-</template>
-
-<script>
-import { getDoc } from '@/api'
-export default {
-  data () {
-    return {
-    }
-  },
-  created() {
-    this.getDoc()
-  },
-  mounted(){
-    /**
-    * iframe-宽高自适应显示   
-    */
-    function changeMobsfIframe(){
-        const mobsf = document.getElementById('mobsf');
-        const deviceWidth = document.body.clientWidth;
-        const deviceHeight = document.body.clientHeight;
-        mobsf.style.width = (Number(deviceWidth)-240) + 'px'; //数字是页面布局宽度差值
-        mobsf.style.height = (Number(deviceHeight)-64) + 'px'; //数字是页面布局高度差
-    }
-    changeMobsfIframe()
-    window.onresize = function(){
-        changeMobsfIframe()
-    }
-  },
-  methods: {
-    async getDoc() {
-      let res = await getDoc()
-      console.log('res', res);
-    }
-  }
-}
-</script>
-
-<style>
-
-</style>

+ 165 - 0
src/pages/subPages/reconciliation.vue

@@ -0,0 +1,165 @@
+<template>
+  <div class="reconciliation">
+    <el-card>
+       <div style="margin-bottom:20px;">
+          <el-select
+            v-model="value"
+            placeholder="请选择日期类型"
+            style="margin-right:10px" clearable>
+            <el-option
+              v-for="item in RecTime"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value">
+            </el-option>
+          </el-select>
+          <el-date-picker
+            v-model="dataRange"
+            clearable value-format="timestamp" format="yyyy-MM-dd"
+            type="datetimerange" range-separator="至"
+            start-placeholder="开始日期" end-placeholder="结束日期" style="width:260px;"
+            @focus="hFocusDate"
+            :disabled="isDisabled"></el-date-picker>
+          <el-button style="margin-left:10px;" type="primary" @click="onSearch">查询</el-button>
+          <el-button style="margin-left:10px;" type="danger" @click="onReset">重置</el-button>
+      </div>
+      <el-form :model="recForm">
+          <el-form-item label="订单总数:">
+              {{recForm.count}}
+          </el-form-item>
+          <el-form-item label="成功订单数:">
+              {{recForm.successCount}}
+          </el-form-item>
+          <el-form-item label="失败订单数:">
+              {{recForm.errorCount}}
+          </el-form-item>
+          <el-form-item label="充值中订单数:">
+              {{recForm.sendCount}}
+          </el-form-item>
+          <el-form-item label="总充值金额:">
+              {{recForm.refill_amounts}}
+          </el-form-item>
+          <el-form-item label="总扣款金额:">
+              {{recForm.mch_amounts}}
+          </el-form-item>
+      </el-form>
+    </el-card>
+  </div>
+</template>
+
+<script>
+// getRec-对账管理
+import { getRec } from '@/api'
+import { RecTime } from '@/utils/constants'
+export default {
+  name: 'reconciliation',
+  data () {
+    return {
+      dataRange: [],
+      startTime: '',
+      endTime: '',
+      value: '',
+      RecTime,
+      recForm: {
+        // 订单总数
+        count: 0,
+        // 成功
+        successCount: 0,
+        // 失败
+        errorCount: 0,
+        // 充值中
+        sendCount: 0,
+        // 总充值金额
+        refill_amounts: 0,
+        // 扣款金额
+        mch_amounts: 0,
+      },
+      isDisabled: false
+    }
+  },
+  created() {
+  },
+  // 监听器
+  watch: {
+    dataRange(newVal) {
+      // console.log(newVal);
+      if (newVal == null) {
+          this.startTime = '';
+          this.endTime = '';
+      }
+    },
+    value: {
+      handler(newVal) {
+        console.log('newVal', newVal);
+        if (!newVal) {
+          this.isDisabled = true
+        } else {
+          this.isDisabled = false
+        }
+      },
+      immediate: true
+    }
+  },
+  methods: {
+    // 查询
+    async onSearch() {
+      try {
+        this.startTime = this.dataRange[0]/1000
+        this.endTime = this.dataRange[1]/1000
+        let param = new URLSearchParams()
+        param.append('time_type', this.value)
+        param.append('start_time', this.startTime)
+        param.append('end_time', this.endTime)
+        let res = await getRec(param)
+        console.log('对账管理', res);
+        if (res && res.code == 200) {
+          this.recForm = res.datas
+        }
+      } catch (error) {
+        console.log(error);
+      }
+    },
+    // 重置
+    onReset() {
+      this.dataRange = [];
+      this.startTime = ''
+      this.endTime = ''
+      this.value = ''
+      this.recForm.count = 0
+      this.recForm.successCount = 0
+      this.recForm.errorCount = 0
+      this.recForm.sendCount = 0
+      this.recForm.refill_amounts = 0
+      this.recForm.mch_amounts = 0
+    },
+    // 时间获取焦点
+    hFocusDate() {
+      if (!this.value) {
+        this.$message.warning('请先选择日期类型')
+      }
+    }
+  }
+}
+</script>
+
+<style scoped>
+/deep/.el-date-editor .el-range-separator {
+    padding: 0;
+    width: 20px;/*no */
+}
+/deep/.el-date-editor .el-range-input {
+    width: 100px;/*no */
+}
+/deep/.el-form-item {
+  margin-bottom: 5px;/*no */
+}
+/deep/.el-card {
+  padding-bottom: 0;
+}
+/deep/.el-date-editor .el-range-input {
+    width: 100px;/*no */
+}
+/deep/.el-form-item__label {
+    text-align: left;
+}
+</style>

+ 8 - 8
src/router/index.js

@@ -19,8 +19,8 @@ const OilCard = () => import('@/pages/subPages/oilCard');
 const MobileCard = () => import('@/pages/subPages/mobileCard');
 // 接口文档
 const InterfaceDoc = () => import('@/pages/subPages/interfaceDoc');
-// 外部接口文档
-// const ExternalDoc = () => import('@/pages/subPages/externalDoc');
+// 对账管理
+const Reconciliation = () => import('@/pages/subPages/reconciliation');
 
 Vue.use(VueRouter)
 
@@ -85,12 +85,12 @@ Vue.use(VueRouter)
         name:'interfaceDoc',
         component:InterfaceDoc
       },
-      // 外部接口文档 ExternalDoc
-      // {
-      //   path:'/externalDoc',
-      //   name:'externalDoc',
-      //   component:ExternalDoc
-      // }
+      // 外部接口文档
+      {
+        path:'/reconciliation',
+        name:'reconciliation',
+        component:Reconciliation
+      }
     ]
   },
   {

+ 6 - 0
src/utils/constants.js

@@ -74,4 +74,10 @@ export const MoreBank =[
   {value: '北京农商银行'},
   {value: '北京银行'},
   {value: '上海农商银行'},
+]
+
+// 对账管理
+export const RecTime =[
+  {value: 'order_time', label: '下单时间'},
+  {value: 'notify_time', label: '回调时间'}
 ]