Browse Source

’增加倒计时刷新

git commit -m ’增加倒计时刷新
master
j1ack 2 years ago
parent
commit
04630ac18f
  1. 7
      src/App.vue
  2. 48
      src/layout/components/Navbar.vue
  3. 44
      src/main.js
  4. 129
      src/plugins/auto-refresh.js
  5. 2
      src/store/getters.js
  6. 42
      src/store/modules/app.js
  7. 16
      src/views/carddealer/carddealer/index.vue
  8. 52
      src/views/carddealer/carddealerCard/index.vue
  9. 15
      src/views/carddealer/carddealerDev/index.vue
  10. 15
      src/views/carddealer/carddealerSms/index.vue
  11. 15
      src/views/carddealer/carddealerSms/indexIdentify.vue
  12. 15
      src/views/carddealer/carddealerSms/indexSuccess.vue
  13. 15
      src/views/carddealer/carddealerSmsTemp/index.vue
  14. 15
      src/views/dashboard/PanelGroup.vue
  15. 15
      src/views/merchant/merchant/index.vue
  16. 15
      src/views/order/TransferOrder/daifuSonOrder.vue
  17. 29
      src/views/order/TransferOrder/index.vue
  18. 42
      src/views/order/TransferOrder/readyOrder.vue
  19. 15
      src/views/order/carddealerOrder/carddealerSonOrder.vue
  20. 17
      src/views/order/carddealerOrder/index.vue
  21. 15
      src/views/order/carddealerOrder/readyOrder.vue
  22. 28
      src/views/order/payOrder/csOrder.vue
  23. 75
      src/views/order/payOrder/index.vue
  24. 30
      src/views/order/payOrder/wwc.vue
  25. 15
      src/views/payTest/dfTest.vue
  26. 15
      src/views/payTest/dsTest.vue
  27. 15
      src/views/platform/bank/index.vue
  28. 15
      src/views/platform/platformChannel/index.vue
  29. 15
      src/views/staticsRecord/cardTimeStatistics.vue
  30. 15
      src/views/staticsRecord/dayEndStatistics.vue
  31. 15
      src/views/staticsRecord/dayStatistics.vue
  32. 15
      src/views/staticsRecord/mechantTimeStatistics.vue
  33. 15
      src/views/staticsRecord/merchantCardStat.vue
  34. BIN
      正式kakapay.zip
  35. BIN
      测试kakapay.zip

7
src/App.vue

@ -39,6 +39,8 @@ export default {
<style> <style>
@import "./font-style/font.css"; @import "./font-style/font.css";
/* #app .sidebar-container .nest-menu .el-submenu>.el-submenu__title, /* #app .sidebar-container .nest-menu .el-submenu>.el-submenu__title,
#app .sidebar-container .el-submenu .el-menu-item { #app .sidebar-container .el-submenu .el-menu-item {
width: 203px !important; width: 203px !important;
@ -462,6 +464,11 @@ body {
.tCenter { .tCenter {
text-align: center; text-align: center;
} }
.el-table__body tr.hover-row > td.el-table__cell, .el-table__body tr.hover-row.current-row > td.el-table__cell, .el-table__body tr.hover-row.el-table__row--striped > td.el-table__cell, .el-table__body tr.hover-row.el-table__row--striped.current-row > td.el-table__cell {
background-color: rgba(0, 0, 0, 0) !important
}
</style> </style>
<style scoped> <style scoped>
#app .theme-picker { #app .theme-picker {

48
src/layout/components/Navbar.vue

@ -1,12 +1,16 @@
<template> <template>
<div class="navbar"> <div class="navbar">
<hamburger id="hamburger-container" :is-active="sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" /> <hamburger id="hamburger-container" :is-active="sidebar.opened" class="hamburger-container"
@toggleClick="toggleSideBar" />
<breadcrumb id="breadcrumb-container" class="breadcrumb-container" v-if="!topNav"/> <breadcrumb id="breadcrumb-container" class="breadcrumb-container" v-if="!topNav" />
<top-nav id="topmenu-container" class="topmenu-container" v-if="topNav"/> <top-nav id="topmenu-container" class="topmenu-container" v-if="topNav" />
<div class="right-menu"> <div class="right-menu">
<template v-if="device!=='mobile'"> <template v-if="device !== 'mobile'">
<el-switch :value="autoRefresh" :inactive-text="autoRefresh ? `自动刷新: (${autoRefreshCountdown}S)` : '自动刷新: '"
@change="onAutoRefreshChanged" style="margin-right: 14px;" />
<!-- <search id="header-search" class="right-menu-item" /> <!-- <search id="header-search" class="right-menu-item" />
<el-tooltip content="源码地址" effect="dark" placement="bottom"> <el-tooltip content="源码地址" effect="dark" placement="bottom">
@ -29,7 +33,7 @@
<el-dropdown class="avatar-container right-menu-item hover-effect" trigger="click"> <el-dropdown class="avatar-container right-menu-item hover-effect" trigger="click">
<div class="avatar-wrapper flex"> <div class="avatar-wrapper flex">
<img :src="avatar" class="user-avatar"> <img :src="avatar" class="user-avatar">
<span class="nickName">{{user.nickName}}</span> <span class="nickName">{{ user.nickName }}</span>
<i class="el-icon-caret-bottom" /> <i class="el-icon-caret-bottom" />
</div> </div>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
@ -80,8 +84,18 @@ export default {
...mapGetters([ ...mapGetters([
'sidebar', 'sidebar',
'avatar', 'avatar',
'device' 'name',
'device',
'autoRefresh',
'autoRefreshCountdown',
]), ]),
// autoRefresh: {
// get() {
// console.log(this.$store.getters.autoRefresh)
// this.refresh = this.$store.getters.autoRefresh
// }
// },
setting: { setting: {
get() { get() {
return this.$store.state.settings.showSettings return this.$store.state.settings.showSettings
@ -103,6 +117,10 @@ export default {
this.getUser(); this.getUser();
}, },
methods: { methods: {
//
onAutoRefreshChanged(value) {
this.$store.commit('app/SET_AUTO_REFRESH', value)
},
getUser() { getUser() {
getUserProfile().then(response => { getUserProfile().then(response => {
this.user = response.data; this.user = response.data;
@ -120,7 +138,7 @@ export default {
this.$store.dispatch('LogOut').then(() => { this.$store.dispatch('LogOut').then(() => {
location.href = '/login'; location.href = '/login';
}) })
}).catch(() => {}); }).catch(() => { });
} }
} }
} }
@ -132,7 +150,7 @@ export default {
overflow: hidden; overflow: hidden;
position: relative; position: relative;
background: #fff; background: #fff;
box-shadow: 0 1px 4px rgba(0,21,41,.08); box-shadow: 0 1px 4px rgba(0, 21, 41, .08);
.hamburger-container { .hamburger-container {
line-height: 46px; line-height: 46px;
@ -140,7 +158,7 @@ export default {
float: left; float: left;
cursor: pointer; cursor: pointer;
transition: background .3s; transition: background .3s;
-webkit-tap-highlight-color:transparent; -webkit-tap-highlight-color: transparent;
&:hover { &:hover {
background: rgba(0, 0, 0, .025) background: rgba(0, 0, 0, .025)
@ -165,6 +183,8 @@ export default {
float: right; float: right;
height: 100%; height: 100%;
line-height: 50px; line-height: 50px;
display: flex;
align-items: center;
&:focus { &:focus {
outline: none; outline: none;
@ -190,10 +210,12 @@ export default {
.avatar-container { .avatar-container {
margin-right: 30px; margin-right: 30px;
.nickName{
font-size: 13px; .nickName {
margin-left: 8px; font-size: 13px;
} margin-left: 8px;
}
.avatar-wrapper { .avatar-wrapper {
margin-top: 5px; margin-top: 5px;
position: relative; position: relative;

44
src/main.js

@ -12,13 +12,29 @@ import store from './store'
import router from './router' import router from './router'
import directive from './directive' // directive import directive from './directive' // directive
import plugins from './plugins' // plugins import plugins from './plugins' // plugins
import AutoRefresh from "./plugins/auto-refresh";
// import { download } from '@/utils/request' // import { download } from '@/utils/request'
import './assets/icons' // icon import './assets/icons' // icon
import './permission' // permission control import './permission' // permission control
import { getDicts } from "@/api/system/dict/data"; import {
import { getConfigKey } from "@/api/system/config"; getDicts
import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, handleTree, addSESDateRange, calcRange,download,today } from "@/utils/ruoyi"; } from "@/api/system/dict/data";
import {
getConfigKey
} from "@/api/system/config";
import {
parseTime,
resetForm,
addDateRange,
selectDictLabel,
selectDictLabels,
handleTree,
addSESDateRange,
calcRange,
download,
today
} from "@/utils/ruoyi";
@ -59,13 +75,17 @@ Vue.prototype.today = today
Vue.prototype.$md5 = md5; Vue.prototype.$md5 = md5;
Vue.prototype.handleTree = handleTree Vue.prototype.handleTree = handleTree
Vue.prototype.msgSuccess = function (msg) { Vue.prototype.msgSuccess = function (msg) {
this.$message({ showClose: true, message: msg, type: "success" }); this.$message({
showClose: true,
message: msg,
type: "success"
});
} }
Vue.prototype.$appVariant = appVariant Vue.prototype.$appVariant = appVariant
// 表格的高度 // 表格的高度
Vue.prototype.tableHeight = document.documentElement.scrollHeight - 245 + "px", Vue.prototype.tableHeight = document.documentElement.scrollHeight - 245 + "px",
// 全局组件挂载 // 全局组件挂载
Vue.component('DictTag', DictTag) Vue.component('DictTag', DictTag)
Vue.component('Pagination', Pagination) Vue.component('Pagination', Pagination)
Vue.component('RightToolbar', RightToolbar) Vue.component('RightToolbar', RightToolbar)
Vue.component('Editor', Editor) Vue.component('Editor', Editor)
@ -76,23 +96,25 @@ Vue.component('ImagePreview', ImagePreview)
Vue.use(directive) Vue.use(directive)
Vue.use(plugins) Vue.use(plugins)
Vue.use(VueMeta) Vue.use(VueMeta)
Vue.use(AutoRefresh)
// 精度计算乘法 // 精度计算乘法
Vue.prototype.NumberMul = function(arg1, arg2) { Vue.prototype.NumberMul = function (arg1, arg2) {
var m = 0; var m = 0;
var s1 = arg1.toString(); var s1 = arg1.toString();
var s2 = arg2.toString(); var s2 = arg2.toString();
try { try {
m += s1.split(".")[1].length; m += s1.split(".")[1].length;
} catch (e) {} } catch (e) {}
try { try {
m += s2.split(".")[1].length; m += s2.split(".")[1].length;
} catch (e) {} } catch (e) {}
return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m); return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m);
} }
// 精度计算除法 // 精度计算除法
// 除数,被除数, 保留的小数点后的位数 // 除数,被除数, 保留的小数点后的位数
Vue.prototype.NumberDiv = function (arg1, arg2){ Vue.prototype.NumberDiv = function (arg1, arg2) {
arg1 = parseFloat(arg1); arg1 = parseFloat(arg1);
arg2 = parseFloat(arg2); arg2 = parseFloat(arg2);
var t1 = 0, var t1 = 0,
@ -109,7 +131,7 @@ Vue.prototype.NumberDiv = function (arg1, arg2){
return this.Mul(r1 / r2, Math.pow(10, t2 - t1)); return this.Mul(r1 / r2, Math.pow(10, t2 - t1));
} }
Vue.prototype.Mul= function(arg1, arg2) { Vue.prototype.Mul = function (arg1, arg2) {
arg1 = parseFloat(arg1); arg1 = parseFloat(arg1);
arg2 = parseFloat(arg2); arg2 = parseFloat(arg2);
var m = 0, var m = 0,

129
src/plugins/auto-refresh.js

@ -0,0 +1,129 @@
// 监听标签页是否是活跃状态
let isActive = true;
document.addEventListener('visibilitychange', () => {
isActive = !document.hidden;
})
/**
* 刷新间隔时间
* interval: 1000 * 5
* 立即执行一次
* immediate: false
* 全局化的, 如果这个参数为 true, 则会影响到 vuex 中的 autoRefreshCountdown
* globalized: true
* 回调的函数, 不保证顺序执行
* handles: ["getList"]
* 调用 handles 后的回调函数
* 这个字段为数组类型, 数组中的每个元素都是一个函数, 在对应索引的 handle 执行后被调用
* callbacks: []
* debug: true
*
* @param Vue
* @return {{autoRefreshStates: {timer: null, stop: autoRefreshStates.stop, enable: autoRefreshStates.enable, maxExecuteTimes: number, currentExecuteTimes: number, interval: number, execute: autoRefreshStates.execute}}}
*/
export default function (Vue) {
Vue.mixin({
data () {
return {
autoRefreshStates: {
// 默认的刷新间隔
interval: 1000 * 10,
// 最多执行的次数, 超出后停止
maxExecuteTimes: 100,
// 当前执行的次数
currentExecuteTimes: 0,
// 倒计时的定时器
countdownTimer: null,
timer: null,
execute: () => {
this.$options.$autoRefresh.handles.forEach(async (methodName, index) => {
// 如果离开页面
if (!isActive) {
return false;
}
// 如果 vuex 中的 autoRefresh 为 false 则不执行
if (!this.$store.getters.autoRefresh) {
return false;
}
// 如果超出最大执行次数
if (this.autoRefreshStates.currentExecuteTimes > this.autoRefreshStates.maxExecuteTimes) {
console.log(`[auto-refresh] ${methodName} is stopped because of maxExecuteTimes`)
this.autoRefreshStates.stop();
return false;
}
// 如果是调试模式
if (this.$options.$autoRefresh.debug) {
console.log(`[auto-refresh] ${methodName} is executing...`)
}
const res = await Promise.resolve(this[methodName]());
// 如果是调试模式
if (this.$options.$autoRefresh.debug) {
console.log(`[auto-refresh] ${methodName} is executed. result => `, res)
}
if (this.$options.$autoRefresh.callbacks && this.$options.$autoRefresh.callbacks[index]) {
this.$options.$autoRefresh.callbacks[index](res)
}
}, null)
},
stop: () => {
if (!this.$options.$autoRefresh) {
return
}
// 如果是调试模式
if (this.$options.$autoRefresh.debug) {
console.log("[auto-refresh] stop")
}
if (this.autoRefreshStates.timer) {
clearInterval(this.autoRefreshStates.timer)
}
this.autoRefreshStates.countdownTimer = 0;
this.$store.commit("app/SET_AUTO_REFRESH_COUNTDOWN", this.autoRefreshStates.countdownTimer)
},
enable: () => {
if (!this.$options.$autoRefresh) {
return
}
// 如果是调试模式
if (this.$options.$autoRefresh.debug) {
console.log("[auto-refresh] enable")
}
const interval = this.$options.$autoRefresh.interval || this.autoRefreshStates.interval;
this.autoRefreshStates.countdownTimer = interval / 1000;
this.$store.commit("app/SET_AUTO_REFRESH_COUNTDOWN", this.autoRefreshStates.countdownTimer)
this.autoRefreshStates.timer = setInterval(
() => {
this.autoRefreshStates.currentExecuteTimes++;
this.autoRefreshStates.countdownTimer = interval / 1000;
this.autoRefreshStates.execute();
},
interval
)
setInterval(() => {
if (!isActive) {
return
}
this.autoRefreshStates.countdownTimer = (this.autoRefreshStates.countdownTimer - 1) > 0 ? (this.autoRefreshStates.countdownTimer - 1) : 0;
this.$store.commit("app/SET_AUTO_REFRESH_COUNTDOWN", this.autoRefreshStates.countdownTimer)
}, 1000)
},
},
}
},
mounted () {
// 如果组件传递了自动刷新的配置项 并且 vuex 中的 autoRefresh 为 true
if (this.$options.$autoRefresh && this.$store.getters.autoRefresh) {
if (this.$options.$autoRefresh.immediate) {
this.autoRefreshStates.execute();
}
this.autoRefreshStates.enable();
}
},
// 取消挂载
beforeDestroy () {
this.autoRefreshStates.stop()
},
})
}

2
src/store/getters.js

@ -15,5 +15,7 @@ const getters = {
topbarRouters:state => state.permission.topbarRouters, topbarRouters:state => state.permission.topbarRouters,
defaultRoutes:state => state.permission.defaultRoutes, defaultRoutes:state => state.permission.defaultRoutes,
sidebarRouters:state => state.permission.sidebarRouters, sidebarRouters:state => state.permission.sidebarRouters,
autoRefresh:state => state.app.autoRefresh,
autoRefreshCountdown:state => state.app.autoRefreshCountdown,
} }
export default getters export default getters

42
src/store/modules/app.js

@ -6,10 +6,12 @@ const state = {
withoutAnimation: false, withoutAnimation: false,
hide: false hide: false
}, },
// 是否自动刷新
autoRefresh: Cookies.get("autoRefresh") === "true" || true,
autoRefreshCountdown: 0,
device: 'desktop', device: 'desktop',
size: Cookies.get('size') || 'medium' size: Cookies.get('size') || 'medium'
} }
const mutations = { const mutations = {
TOGGLE_SIDEBAR: state => { TOGGLE_SIDEBAR: state => {
if (state.sidebar.hide) { if (state.sidebar.hide) {
@ -37,23 +39,49 @@ const mutations = {
}, },
SET_SIDEBAR_HIDE: (state, status) => { SET_SIDEBAR_HIDE: (state, status) => {
state.sidebar.hide = status state.sidebar.hide = status
} },
/**
*
* @param state
* @param autoRefresh {boolean}
* @constructor
*/
SET_AUTO_REFRESH: (state, autoRefresh) => {
state.autoRefresh = autoRefresh
// 保存到 cookie 中
Cookies.set("autoRefresh", autoRefresh)
},
SET_AUTO_REFRESH_COUNTDOWN: (state, countdown) => {
state.autoRefreshCountdown = countdown
},
} }
const actions = { const actions = {
toggleSideBar({ commit }) { toggleSideBar({
commit
}) {
commit('TOGGLE_SIDEBAR') commit('TOGGLE_SIDEBAR')
}, },
closeSideBar({ commit }, { withoutAnimation }) { closeSideBar({
commit
}, {
withoutAnimation
}) {
commit('CLOSE_SIDEBAR', withoutAnimation) commit('CLOSE_SIDEBAR', withoutAnimation)
}, },
toggleDevice({ commit }, device) { toggleDevice({
commit
}, device) {
commit('TOGGLE_DEVICE', device) commit('TOGGLE_DEVICE', device)
}, },
setSize({ commit }, size) { setSize({
commit
}, size) {
commit('SET_SIZE', size) commit('SET_SIZE', size)
}, },
toggleSideBarHide({ commit }, status) { toggleSideBarHide({
commit
}, status) {
commit('SET_SIDEBAR_HIDE', status) commit('SET_SIDEBAR_HIDE', status)
} }
} }

16
src/views/carddealer/carddealer/index.vue

@ -621,8 +621,20 @@ export default {
this.getList(); this.getList();
this.init(); this.init();
}, },
watch: { $autoRefresh: {
//
interval: 1000 * 15,
//
immediate: false,
// ,
handles: ["getList"],
/**
* 调用 handles 后的回调函数
* 这个字段为数组类型, 数组中的每个元素都是一个函数, 在对应索引的 handle 执行后被调用
*/
callbacks: [],
//
debug: true,
}, },
methods: { methods: {
sortNum(a, b) {// sortNum(a, b) {//

52
src/views/carddealer/carddealerCard/index.vue

@ -57,7 +57,7 @@
<el-table-column label="状态" align="center" prop="status" width="140px"> <el-table-column label="状态" align="center" prop="status" width="140px">
<template slot-scope="scope"> <template slot-scope="scope">
<el-switch v-model="scope.row.status" active-text="" inactive-text="" :active-value="1" :inactive-value="2" <el-switch v-model="scope.row.status" active-text="" inactive-text="" :active-value="1" :inactive-value="2"
@change="switchStatusChange(scope.row)"> @change="switchStatusChange(scope.row)" :disabled="scope.row.auditStatus != 1">
</el-switch> </el-switch>
</template> </template>
</el-table-column> </el-table-column>
@ -325,17 +325,42 @@ export default {
created() { created() {
this.getList(); this.getList();
}, },
$autoRefresh: {
//
interval: 1000 * 15,
//
immediate: false,
// ,
handles: ["getList"],
/**
* 调用 handles 后的回调函数
* 这个字段为数组类型, 数组中的每个元素都是一个函数, 在对应索引的 handle 执行后被调用
*/
callbacks: [],
//
debug: true,
},
methods: { methods: {
changeChannel(e) { changeChannel(e) {
this.$forceUpdate() this.$forceUpdate()
}, },
tableRowClassName({ row, rowIndex }) { tableRowClassName({ row, rowIndex }) {
if (row.dayReceiveMax == row.todayReceived) { // {{ scope.row.auditStatus == 0 ? '' : scope.row.auditStatus == 1 ? '' : '' }}
return "greenOrder"; if (row.auditStatus == 0) {
return "yellowCard";
}
if (row.auditStatus == 1) {
return "greenCard";
} }
if (row.singleReceiveMax == row.singleMax) { if (row.auditStatus == 2) {
return "redOrder"; return "redCard";
} }
// if (row.dayReceiveMax == row.todayReceived) {
// return "greenOrder";
// }
// if (row.singleReceiveMax == row.singleMax) {
// return "redOrder";
// }
}, },
timerHandler(queryParams) { timerHandler(queryParams) {
listCarddealerCard(this.queryParams).then(response => { listCarddealerCard(this.queryParams).then(response => {
@ -365,6 +390,7 @@ export default {
payShouCard.updateInfo(this.form).then((res) => { payShouCard.updateInfo(this.form).then((res) => {
if (res.code === 200) { if (res.code === 200) {
this.$message.success("编辑成功"); this.$message.success("编辑成功");
this.getList()
} }
}); });
@ -411,8 +437,8 @@ export default {
/** 分配通道操作 */ /** 分配通道操作 */
handleChannel(row) { handleChannel(row) {
this.reset(); this.reset();
if(row.channelIds.length){ if (row.channelIds.length) {
this.form.ids=row.channelIds this.form.ids = row.channelIds
} }
this.form.cardId = row.id this.form.cardId = row.id
common_api.findChannelListAll({ common_api.findChannelListAll({
@ -533,12 +559,16 @@ export default {
}; };
</script> </script>
<style> <style>
.greenOrder { .yellowCard {
background: #E9FEEA !important; background: #f1d4d4 !important;
}
.greenCard {
background: #b0e5d6 !important;
} }
.redOrder { .redCard {
background: #FDF2F2 !important; background: #f6ecd4 !important;
} }
</style> </style>
<style scoped> <style scoped>

15
src/views/carddealer/carddealerDev/index.vue

@ -134,6 +134,21 @@ export default {
created() { created() {
this.getList(); this.getList();
}, },
$autoRefresh: {
//
interval: 1000 * 15,
//
immediate: false,
// ,
handles: ["getList"],
/**
* 调用 handles 后的回调函数
* 这个字段为数组类型, 数组中的每个元素都是一个函数, 在对应索引的 handle 执行后被调用
*/
callbacks: [],
//
debug: true,
},
methods: { methods: {
// //
switchStatusChange(row, type) { switchStatusChange(row, type) {

15
src/views/carddealer/carddealerSms/index.vue

@ -177,6 +177,21 @@ export default {
} }
}; };
}, },
$autoRefresh: {
//
interval: 1000 * 15,
//
immediate: false,
// ,
handles: ["getList"],
/**
* 调用 handles 后的回调函数
* 这个字段为数组类型, 数组中的每个元素都是一个函数, 在对应索引的 handle 执行后被调用
*/
callbacks: [],
//
debug: true,
},
created() { created() {
this.getList(); this.getList();
}, },

15
src/views/carddealer/carddealerSms/indexIdentify.vue

@ -176,6 +176,21 @@ import cardMerchantOrderRefreshMixin from "@/api/cardMerchantOrderRefresh.mixin"
} }
}; };
}, },
$autoRefresh: {
//
interval: 1000 * 15,
//
immediate: false,
// ,
handles: ["getList"],
/**
* 调用 handles 后的回调函数
* 这个字段为数组类型, 数组中的每个元素都是一个函数, 在对应索引的 handle 执行后被调用
*/
callbacks: [],
//
debug: true,
},
created() { created() {
this.getList(); this.getList();
}, },

15
src/views/carddealer/carddealerSms/indexSuccess.vue

@ -176,6 +176,21 @@ import cardMerchantOrderRefreshMixin from "@/api/cardMerchantOrderRefresh.mixin"
} }
}; };
}, },
$autoRefresh: {
//
interval: 1000 * 15,
//
immediate: false,
// ,
handles: ["getList"],
/**
* 调用 handles 后的回调函数
* 这个字段为数组类型, 数组中的每个元素都是一个函数, 在对应索引的 handle 执行后被调用
*/
callbacks: [],
//
debug: true,
},
created() { created() {
this.getList(); this.getList();
}, },

15
src/views/carddealer/carddealerSmsTemp/index.vue

@ -185,6 +185,21 @@ export default {
} }
}; };
}, },
$autoRefresh: {
//
interval: 1000 * 15,
//
immediate: false,
// ,
handles: ["getList"],
/**
* 调用 handles 后的回调函数
* 这个字段为数组类型, 数组中的每个元素都是一个函数, 在对应索引的 handle 执行后被调用
*/
callbacks: [],
//
debug: true,
},
created() { created() {
this.getList(); this.getList();
}, },

15
src/views/dashboard/PanelGroup.vue

@ -468,6 +468,21 @@ export default {
components: { components: {
CountTo, CountTo,
}, },
$autoRefresh: {
//
interval: 1000 * 15,
//
immediate: false,
// ,
handles: ["getList"],
/**
* 调用 handles 后的回调函数
* 这个字段为数组类型, 数组中的每个元素都是一个函数, 在对应索引的 handle 执行后被调用
*/
callbacks: [],
//
debug: true,
},
methods: { methods: {
// //

15
src/views/merchant/merchant/index.vue

@ -473,6 +473,21 @@ export default {
created() { created() {
this.getList(); this.getList();
}, },
$autoRefresh: {
//
interval: 1000 * 15,
//
immediate: false,
// ,
handles: ["getList"],
/**
* 调用 handles 后的回调函数
* 这个字段为数组类型, 数组中的每个元素都是一个函数, 在对应索引的 handle 执行后被调用
*/
callbacks: [],
//
debug: true,
},
methods: { methods: {
// //
handleControl(row) { handleControl(row) {

15
src/views/order/TransferOrder/daifuSonOrder.vue

@ -429,6 +429,21 @@ export default {
this.getList(); this.getList();
this.init(); this.init();
}, },
$autoRefresh: {
//
interval: 1000 * 15,
//
immediate: false,
// ,
handles: ["getList"],
/**
* 调用 handles 后的回调函数
* 这个字段为数组类型, 数组中的每个元素都是一个函数, 在对应索引的 handle 执行后被调用
*/
callbacks: [],
//
debug: true,
},
methods: { methods: {
getReadableText(data) { getReadableText(data) {
return `${this.NumberDiv(data.amount, 100)}\n${data.cardNumber}\n${data.accountName}\n${data.bankName}` return `${this.NumberDiv(data.amount, 100)}\n${data.cardNumber}\n${data.accountName}\n${data.bankName}`

29
src/views/order/TransferOrder/index.vue

@ -9,7 +9,7 @@
</div> </div>
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="106px" class="flex form" <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="116px" class="flex form"
style="position: relative"> style="position: relative">
<el-form-item label="平台订单号" prop="orderNo"> <el-form-item label="平台订单号" prop="orderNo">
<el-input size="medium" v-model="queryParams.orderNo" placeholder="请输入平台订单号" @keyup.enter.native="handleQuery" <el-input size="medium" v-model="queryParams.orderNo" placeholder="请输入平台订单号" @keyup.enter.native="handleQuery"
@ -19,6 +19,10 @@
<el-input size="medium" v-model="queryParams.merchantOrderNo" placeholder="请输入商户订单号" <el-input size="medium" v-model="queryParams.merchantOrderNo" placeholder="请输入商户订单号"
@keyup.enter.native="handleQuery" style="width: 180px; border-color: #e6f1ff" /> @keyup.enter.native="handleQuery" style="width: 180px; border-color: #e6f1ff" />
</el-form-item> </el-form-item>
<el-form-item label="商户下游订单号" prop="downstreamMerchantOrderNo">
<el-input size="medium" v-model="queryParams.downstreamMerchantOrderNo" placeholder="请输入商户下游订单号"
@keyup.enter.native="handleQuery" style="width: 180px; border-color: #e6f1ff" />
</el-form-item>
<el-form-item label="收款卡号" prop="cardNumber"> <el-form-item label="收款卡号" prop="cardNumber">
<el-input size="medium" v-model="queryParams.cardNumber" placeholder="请输入收款卡号" @keyup.enter.native="handleQuery" <el-input size="medium" v-model="queryParams.cardNumber" placeholder="请输入收款卡号" @keyup.enter.native="handleQuery"
style="width: 180px; border-color: #e6f1ff" /> style="width: 180px; border-color: #e6f1ff" />
@ -101,6 +105,7 @@
<el-table-column label="订单号" align="center" prop="orderNo" /> <el-table-column label="订单号" align="center" prop="orderNo" />
<el-table-column label="商户" align="center" prop="merchantName" /> <el-table-column label="商户" align="center" prop="merchantName" />
<el-table-column label="商户订单号" align="center" prop="merchantOrderNo" /> <el-table-column label="商户订单号" align="center" prop="merchantOrderNo" />
<el-table-column label="商户下游订单号" align="center" prop="downstreamMerchantOrderNo" min-width="120" />
<el-table-column :label="'类型'" align="center" prop="securityDepositAmount"> <el-table-column :label="'类型'" align="center" prop="securityDepositAmount">
<template slot-scope="scope"> <template slot-scope="scope">
@ -180,6 +185,9 @@
<el-form-item label="商户订单号"> <el-form-item label="商户订单号">
{{ detailInfoList.merchantOrderNo }} {{ detailInfoList.merchantOrderNo }}
</el-form-item> </el-form-item>
<el-form-item label="商户下游订单号">
{{ detailInfoList.downstreamMerchantOrderNo }}
</el-form-item>
<el-form-item label="商户名称"> <el-form-item label="商户名称">
{{ detailInfoList.merchantName }} {{ detailInfoList.merchantName }}
</el-form-item> </el-form-item>
@ -361,6 +369,8 @@ export default {
orderSource: null, orderSource: null,
orderStatus: null, orderStatus: null,
platformChannelId: null, platformChannelId: null,
downstreamMerchantOrderNo:null
}, },
showAll: [ showAll: [
{ {
@ -513,6 +523,21 @@ export default {
this.getList(); this.getList();
this.init(); this.init();
}, },
$autoRefresh: {
//
interval: 1000 * 15,
//
immediate: false,
// ,
handles: ["getList"],
/**
* 调用 handles 后的回调函数
* 这个字段为数组类型, 数组中的每个元素都是一个函数, 在对应索引的 handle 执行后被调用
*/
callbacks: [],
//
debug: true,
},
methods: { methods: {
tableRowClassName({ row, rowIndex }) { tableRowClassName({ row, rowIndex }) {
if (row.payeeRealAmount != row.reqAmount && row.orderStatus == 2) { if (row.payeeRealAmount != row.reqAmount && row.orderStatus == 2) {
@ -623,6 +648,8 @@ export default {
orderSource: this.queryParams.orderSource, orderSource: this.queryParams.orderSource,
orderStatus: this.queryParams.orderStatus, orderStatus: this.queryParams.orderStatus,
platformChannelId: this.queryParams.platformChannelId, platformChannelId: this.queryParams.platformChannelId,
downstreamMerchantOrderNo:this.queryParams.downstreamMerchantOrderNo
} }
listTransferOrder(this.addSESDateRange(queryParams, this.dateRange, 'type')).then(response => { listTransferOrder(this.addSESDateRange(queryParams, this.dateRange, 'type')).then(response => {
this.infoList = response.rows; this.infoList = response.rows;

42
src/views/order/TransferOrder/readyOrder.vue

@ -8,7 +8,7 @@
</div> </div>
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="106px" <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="116px"
class="flex form" style="position: relative"> class="flex form" style="position: relative">
<el-form-item label="平台订单号" prop="orderNo"> <el-form-item label="平台订单号" prop="orderNo">
<el-input size="medium" v-model="queryParams.orderNo" placeholder="请输入平台订单号" <el-input size="medium" v-model="queryParams.orderNo" placeholder="请输入平台订单号"
@ -18,6 +18,10 @@
<el-input size="medium" v-model="queryParams.merchantOrderNo" placeholder="请输入商户订单号" <el-input size="medium" v-model="queryParams.merchantOrderNo" placeholder="请输入商户订单号"
@keyup.enter.native="handleQuery" style="width: 180px; border-color: #e6f1ff" /> @keyup.enter.native="handleQuery" style="width: 180px; border-color: #e6f1ff" />
</el-form-item> </el-form-item>
<el-form-item label="商户下游订单号" prop="downstreamMerchantOrderNo">
<el-input size="medium" v-model="queryParams.downstreamMerchantOrderNo" placeholder="请输入商户下游订单号"
@keyup.enter.native="handleQuery" style="width: 180px; border-color: #e6f1ff" />
</el-form-item>
<el-form-item label="收款卡号" prop="cardNumber"> <el-form-item label="收款卡号" prop="cardNumber">
<el-input size="medium" v-model="queryParams.cardNumber" placeholder="请输入收款卡号" <el-input size="medium" v-model="queryParams.cardNumber" placeholder="请输入收款卡号"
@keyup.enter.native="handleQuery" style="width: 180px; border-color: #e6f1ff" /> @keyup.enter.native="handleQuery" style="width: 180px; border-color: #e6f1ff" />
@ -102,6 +106,7 @@
<el-table-column label="订单号" align="center" prop="orderNo" /> <el-table-column label="订单号" align="center" prop="orderNo" />
<el-table-column label="商户" align="center" prop="merchantName" /> <el-table-column label="商户" align="center" prop="merchantName" />
<el-table-column label="商户订单号" align="center" prop="merchantOrderNo" /> <el-table-column label="商户订单号" align="center" prop="merchantOrderNo" />
<el-table-column label="商户下游订单号" align="center" prop="downstreamMerchantOrderNo" min-width="120" />
<el-table-column :label="'类型'" align="center" prop="securityDepositAmount"> <el-table-column :label="'类型'" align="center" prop="securityDepositAmount">
<template slot-scope="scope"> <template slot-scope="scope">
@ -193,6 +198,9 @@
<el-form-item label="商户订单号"> <el-form-item label="商户订单号">
{{ detailInfoList.merchantOrderNo }} {{ detailInfoList.merchantOrderNo }}
</el-form-item> </el-form-item>
<el-form-item label="商户下游订单号">
{{ detailInfoList.downstreamMerchantOrderNo }}
</el-form-item>
<el-form-item label="商户名称"> <el-form-item label="商户名称">
{{ detailInfoList.merchantName }} {{ detailInfoList.merchantName }}
</el-form-item> </el-form-item>
@ -360,8 +368,8 @@ export default {
orderSource: null, orderSource: null,
platformChannelId: null, platformChannelId: null,
orderStatus: 1, orderStatus: 1,
downstreamMerchantOrderNo: null
}, },
showAll: [ showAll: [
{ {
label: '全部', label: '全部',
@ -522,8 +530,26 @@ export default {
this.getList(); this.getList();
this.init() this.init()
}, },
$autoRefresh: {
//
interval: 1000 * 15,
//
immediate: false,
// ,
handles: ["getList"],
/**
* 调用 handles 后的回调函数
* 这个字段为数组类型, 数组中的每个元素都是一个函数, 在对应索引的 handle 执行后被调用
*/
callbacks: [],
//
debug: true,
},
methods: { methods: {
tableRowClassName({ row, rowIndex }) { tableRowClassName({ row, rowIndex }) {
if (row.sameMark == 1) {
return "e17777";
}
if (row.autoConfirm == 2 && row.payeeRealAmount == row.reqAmount) { if (row.autoConfirm == 2 && row.payeeRealAmount == row.reqAmount) {
return "greyOrder"; return "greyOrder";
} }
@ -664,6 +690,7 @@ export default {
orderSource: this.queryParams.orderSource, orderSource: this.queryParams.orderSource,
orderStatus: this.queryParams.orderStatus, orderStatus: this.queryParams.orderStatus,
platformChannelId: this.queryParams.platformChannelId, platformChannelId: this.queryParams.platformChannelId,
downstreamMerchantOrderNo: this.queryParams.downstreamMerchantOrderNo
} }
listTransferOrder(this.addSESDateRange(queryParams, this.dateRange, 'type')).then(response => { listTransferOrder(this.addSESDateRange(queryParams, this.dateRange, 'type')).then(response => {
this.infoList = response.rows; this.infoList = response.rows;
@ -808,14 +835,14 @@ export default {
if (this.dateRange[0]) { if (this.dateRange[0]) {
this.queryParams.beginTime = this.dateRange[0][0] this.queryParams.beginTime = this.dateRange[0][0]
this.queryParams.endTime = this.dateRange[0][1] this.queryParams.endTime = this.dateRange[0][1]
}else{ } else {
this.queryParams.beginTime = null this.queryParams.beginTime = null
this.queryParams.endTime = null this.queryParams.endTime = null
} }
if (this.dateRange[1]) { if (this.dateRange[1]) {
this.queryParams.updateBeginTime = this.dateRange[1][0] this.queryParams.updateBeginTime = this.dateRange[1][0]
this.queryParams.updateEndTime = this.dateRange[1][1] this.queryParams.updateEndTime = this.dateRange[1][1]
}else{ } else {
this.queryParams.updateBeginTime = null this.queryParams.updateBeginTime = null
this.queryParams.updateEndTime = null this.queryParams.updateEndTime = null
} }
@ -840,6 +867,10 @@ export default {
}; };
</script> </script>
<style> <style>
.e17777 {
background: #e79696 !important;
}
.greyOrder { .greyOrder {
background: #F4F4F5 !important; background: #F4F4F5 !important;
} }
@ -875,4 +906,5 @@ export default {
::v-deep .el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell { ::v-deep .el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell {
background: none !important; background: none !important;
}</style> }
</style>

15
src/views/order/carddealerOrder/carddealerSonOrder.vue

@ -387,6 +387,21 @@ export default {
} }
}; };
}, },
$autoRefresh: {
//
interval: 1000 * 15,
//
immediate: false,
// ,
handles: ["getList"],
/**
* 调用 handles 后的回调函数
* 这个字段为数组类型, 数组中的每个元素都是一个函数, 在对应索引的 handle 执行后被调用
*/
callbacks: [],
//
debug: true,
},
created() { created() {
this.getList(); this.getList();
this.init(); this.init();

17
src/views/order/carddealerOrder/index.vue

@ -420,9 +420,26 @@ export default {
} }
}; };
}, },
$autoRefresh: {
//
interval: 1000 * 15,
//
immediate: false,
// ,
handles: ["getList"],
/**
* 调用 handles 后的回调函数
* 这个字段为数组类型, 数组中的每个元素都是一个函数, 在对应索引的 handle 执行后被调用
*/
callbacks: [],
//
debug: true,
},
created() { created() {
this.getList(); this.getList();
}, },
methods: { methods: {
tableRowClassName({ row, rowIndex }) { tableRowClassName({ row, rowIndex }) {
if (row.orderStatus == 3) { if (row.orderStatus == 3) {

15
src/views/order/carddealerOrder/readyOrder.vue

@ -440,6 +440,21 @@ export default {
} }
}; };
}, },
$autoRefresh: {
//
interval: 1000 * 15,
//
immediate: false,
// ,
handles: ["getList"],
/**
* 调用 handles 后的回调函数
* 这个字段为数组类型, 数组中的每个元素都是一个函数, 在对应索引的 handle 执行后被调用
*/
callbacks: [],
//
debug: true,
},
created() { created() {
this.getList(); this.getList();
this.init() this.init()

28
src/views/order/payOrder/csOrder.vue

@ -8,7 +8,7 @@
</div> </div>
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="86px" class="flex form" <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="116px" class="flex form"
style="position: relative"> style="position: relative">
<el-form-item label="平台订单号" prop="orderNo"> <el-form-item label="平台订单号" prop="orderNo">
<el-input size="medium" v-model="queryParams.orderNo" placeholder="请输入平台订单号" @keyup.enter.native="handleQuery" <el-input size="medium" v-model="queryParams.orderNo" placeholder="请输入平台订单号" @keyup.enter.native="handleQuery"
@ -18,6 +18,10 @@
<el-input size="medium" v-model="queryParams.merchantOrderNo" placeholder="请输入商户订单号" <el-input size="medium" v-model="queryParams.merchantOrderNo" placeholder="请输入商户订单号"
@keyup.enter.native="handleQuery" style="width: 180px; border-color: #e6f1ff" /> @keyup.enter.native="handleQuery" style="width: 180px; border-color: #e6f1ff" />
</el-form-item> </el-form-item>
<el-form-item label="商户下游订单号" prop="downstreamMerchantOrderNo">
<el-input size="medium" v-model="queryParams.downstreamMerchantOrderNo" placeholder="请输入商户下游订单号"
@keyup.enter.native="handleQuery" style="width: 180px; border-color: #e6f1ff" />
</el-form-item>
<el-form-item label="卡号" prop="carddealerCardNumber"> <el-form-item label="卡号" prop="carddealerCardNumber">
<el-input size="medium" v-model="queryParams.carddealerCardNumber" placeholder="请输入卡号" <el-input size="medium" v-model="queryParams.carddealerCardNumber" placeholder="请输入卡号"
@ -101,6 +105,8 @@
<el-table stripe :data="infoList" v-loading="loading" :row-class-name="tableRowClassName"> <el-table stripe :data="infoList" v-loading="loading" :row-class-name="tableRowClassName">
<el-table-column label="平台订单号" align="center" prop="orderNo" /> <el-table-column label="平台订单号" align="center" prop="orderNo" />
<el-table-column label="商户订单号" align="center" prop="merchantOrderNo" /> <el-table-column label="商户订单号" align="center" prop="merchantOrderNo" />
<el-table-column label="商户下游订单号" align="center" prop="downstreamMerchantOrderNo" min-width="120" />
<el-table-column label="商户" align="center" prop="merchantName" /> <el-table-column label="商户" align="center" prop="merchantName" />
<el-table-column :label="'订单金额'" align="center" prop="securityDepositAmount"> <el-table-column :label="'订单金额'" align="center" prop="securityDepositAmount">
@ -168,6 +174,9 @@
<el-form-item label="商户订单号"> <el-form-item label="商户订单号">
{{ detailInfoList.merchantOrderNo }} {{ detailInfoList.merchantOrderNo }}
</el-form-item> </el-form-item>
<el-form-item label="商户下游订单号">
{{ detailInfoList.downstreamMerchantOrderNo }}
</el-form-item>
<el-form-item label="商户名称"> <el-form-item label="商户名称">
{{ detailInfoList.merchantName }} {{ detailInfoList.merchantName }}
</el-form-item> </el-form-item>
@ -330,6 +339,7 @@ export default {
carddealerCardHolder: null, carddealerCardHolder: null,
reqAmount: null, reqAmount: null,
platformChannelId: null, platformChannelId: null,
downstreamMerchantOrderNo:null
}, },
// //
isShowDetail: false, isShowDetail: false,
@ -457,6 +467,21 @@ export default {
this.getList(); this.getList();
this.init() this.init()
}, },
$autoRefresh: {
//
interval: 1000 * 15,
//
immediate: false,
// ,
handles: ["getList"],
/**
* 调用 handles 后的回调函数
* 这个字段为数组类型, 数组中的每个元素都是一个函数, 在对应索引的 handle 执行后被调用
*/
callbacks: [],
//
debug: true,
},
methods: { methods: {
tableRowClassName({ row, rowIndex }) { tableRowClassName({ row, rowIndex }) {
if (row.orderStatus == 3) { if (row.orderStatus == 3) {
@ -535,6 +560,7 @@ export default {
carddealerCardHolder: this.queryParams.carddealerCardHolder, carddealerCardHolder: this.queryParams.carddealerCardHolder,
reqAmount: typeof (this.reqAmount) == 'object' ? null : !reqAmount ? null : parseFloat(this.reqAmount), reqAmount: typeof (this.reqAmount) == 'object' ? null : !reqAmount ? null : parseFloat(this.reqAmount),
platformChannelId: this.queryParams.platformChannelId, platformChannelId: this.queryParams.platformChannelId,
downstreamMerchantOrderNo:this.queryParams.downstreamMerchantOrderNo
} }
listPayOrder(this.addSESDateRange(queryParams, this.dateRange, 'type')).then(response => { listPayOrder(this.addSESDateRange(queryParams, this.dateRange, 'type')).then(response => {
this.infoList = response.rows; this.infoList = response.rows;

75
src/views/order/payOrder/index.vue

@ -8,7 +8,7 @@
</div> </div>
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="86px" class="flex form" <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="116px" class="flex form"
style="position: relative"> style="position: relative">
<el-form-item label="平台订单号" prop="orderNo"> <el-form-item label="平台订单号" prop="orderNo">
<el-input size="medium" v-model="queryParams.orderNo" placeholder="请输入平台订单号" @keyup.enter.native="handleQuery" <el-input size="medium" v-model="queryParams.orderNo" placeholder="请输入平台订单号" @keyup.enter.native="handleQuery"
@ -19,6 +19,11 @@
@keyup.enter.native="handleQuery" style="width: 180px; border-color: #e6f1ff" /> @keyup.enter.native="handleQuery" style="width: 180px; border-color: #e6f1ff" />
</el-form-item> </el-form-item>
<el-form-item label="商户下游订单号" prop="downstreamMerchantOrderNo">
<el-input size="medium" v-model="queryParams.downstreamMerchantOrderNo" placeholder="请输入商户下游订单号"
@keyup.enter.native="handleQuery" style="width: 180px; border-color: #e6f1ff" />
</el-form-item>
<el-form-item label="卡号" prop="carddealerCardNumber"> <el-form-item label="卡号" prop="carddealerCardNumber">
<el-input size="medium" v-model="queryParams.carddealerCardNumber" placeholder="请输入卡号" <el-input size="medium" v-model="queryParams.carddealerCardNumber" placeholder="请输入卡号"
@keyup.enter.native="handleQuery" style="width: 180px; border-color: #e6f1ff" /> @keyup.enter.native="handleQuery" style="width: 180px; border-color: #e6f1ff" />
@ -88,6 +93,9 @@
<el-table stripe :data="infoList" v-loading="loading" :row-class-name="tableRowClassName"> <el-table stripe :data="infoList" v-loading="loading" :row-class-name="tableRowClassName">
<el-table-column label="平台订单号" align="center" prop="orderNo" /> <el-table-column label="平台订单号" align="center" prop="orderNo" />
<el-table-column label="商户订单号" align="center" prop="merchantOrderNo" /> <el-table-column label="商户订单号" align="center" prop="merchantOrderNo" />
<el-table-column label="商户下游订单号" align="center" prop="downstreamMerchantOrderNo" min-width="120" />
<el-table-column label="商户" align="center" prop="merchantName" /> <el-table-column label="商户" align="center" prop="merchantName" />
<el-table-column :label="'订单金额'" align="center" prop="securityDepositAmount"> <el-table-column :label="'订单金额'" align="center" prop="securityDepositAmount">
@ -155,6 +163,13 @@
<el-form-item label="商户订单号"> <el-form-item label="商户订单号">
{{ detailInfoList.merchantOrderNo }} {{ detailInfoList.merchantOrderNo }}
</el-form-item> </el-form-item>
<el-form-item label="商户下游订单号">
{{ detailInfoList.downstreamMerchantOrderNo }}
</el-form-item>
<el-form-item label="商户名称"> <el-form-item label="商户名称">
{{ detailInfoList.merchantName }} {{ detailInfoList.merchantName }}
</el-form-item> </el-form-item>
@ -244,7 +259,6 @@
<el-button @click="cancel"> </el-button> <el-button @click="cancel"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
@ -316,6 +330,7 @@ export default {
carddealerCardHolder: null, carddealerCardHolder: null,
reqAmount: null, reqAmount: null,
platformChannelId: null, platformChannelId: null,
downstreamMerchantOrderNo: null
}, },
// //
isShowDetail: false, isShowDetail: false,
@ -438,6 +453,21 @@ export default {
} }
}; };
}, },
$autoRefresh: {
//
interval: 1000 * 15,
//
immediate: false,
// ,
handles: ["getList"],
/**
* 调用 handles 后的回调函数
* 这个字段为数组类型, 数组中的每个元素都是一个函数, 在对应索引的 handle 执行后被调用
*/
callbacks: [],
//
debug: true,
},
created() { created() {
this.getList(); this.getList();
this.init() this.init()
@ -503,6 +533,7 @@ export default {
carddealerCardHolder: this.queryParams.carddealerCardHolder, carddealerCardHolder: this.queryParams.carddealerCardHolder,
reqAmount: typeof (reqAmount) == 'object' ? null : !reqAmount ? null : parseFloat(reqAmount), reqAmount: typeof (reqAmount) == 'object' ? null : !reqAmount ? null : parseFloat(reqAmount),
platformChannelId: this.queryParams.platformChannelId, platformChannelId: this.queryParams.platformChannelId,
downstreamMerchantOrderNo: this.queryParams.downstreamMerchantOrderNo
} }
listPayOrder(this.addSESDateRange(queryParams, this.dateRange, 'type')).then(response => { listPayOrder(this.addSESDateRange(queryParams, this.dateRange, 'type')).then(response => {
this.infoList = response.rows; this.infoList = response.rows;
@ -628,26 +659,26 @@ export default {
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
if (this.dateRange.length) { if (this.dateRange.length) {
if (this.dateRange[0]) { if (this.dateRange[0]) {
this.queryParams.beginTime = this.dateRange[0][0] this.queryParams.beginTime = this.dateRange[0][0]
this.queryParams.endTime = this.dateRange[0][1] this.queryParams.endTime = this.dateRange[0][1]
}else{ } else {
this.queryParams.beginTime = null this.queryParams.beginTime = null
this.queryParams.endTime = null this.queryParams.endTime = null
} }
if (this.dateRange[1]) { if (this.dateRange[1]) {
this.queryParams.updateBeginTime = this.dateRange[1][0] this.queryParams.updateBeginTime = this.dateRange[1][0]
this.queryParams.updateEndTime = this.dateRange[1][1] this.queryParams.updateEndTime = this.dateRange[1][1]
}else{ } else {
this.queryParams.updateBeginTime = null this.queryParams.updateBeginTime = null
this.queryParams.updateEndTime = null this.queryParams.updateEndTime = null
} }
} else { } else {
this.queryParams.beginTime = null this.queryParams.beginTime = null
this.queryParams.endTime = null this.queryParams.endTime = null
this.queryParams.updateBeginTime = null this.queryParams.updateBeginTime = null
this.queryParams.updateEndTime = null this.queryParams.updateEndTime = null
} }
const queryParams = this.queryParams; const queryParams = this.queryParams;
this.$confirm('是否确认导出所有代收订单数据项?', "警告", { this.$confirm('是否确认导出所有代收订单数据项?', "警告", {
confirmButtonText: "确定", confirmButtonText: "确定",

30
src/views/order/payOrder/wwc.vue

@ -8,7 +8,7 @@
</div> </div>
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="86px" class="flex form" <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="116px" class="flex form"
style="position: relative"> style="position: relative">
<el-form-item label="平台订单号" prop="orderNo"> <el-form-item label="平台订单号" prop="orderNo">
<el-input size="medium" v-model="queryParams.orderNo" placeholder="请输入平台订单号" @keyup.enter.native="handleQuery" <el-input size="medium" v-model="queryParams.orderNo" placeholder="请输入平台订单号" @keyup.enter.native="handleQuery"
@ -19,6 +19,11 @@
@keyup.enter.native="handleQuery" style="width: 180px; border-color: #e6f1ff" /> @keyup.enter.native="handleQuery" style="width: 180px; border-color: #e6f1ff" />
</el-form-item> </el-form-item>
<el-form-item label="商户下游订单号" prop="downstreamMerchantOrderNo">
<el-input size="medium" v-model="queryParams.downstreamMerchantOrderNo" placeholder="请输入商户下游订单号"
@keyup.enter.native="handleQuery" style="width: 180px; border-color: #e6f1ff" />
</el-form-item>
<el-form-item label="卡号" prop="carddealerCardNumber"> <el-form-item label="卡号" prop="carddealerCardNumber">
<el-input size="medium" v-model="queryParams.carddealerCardNumber" placeholder="请输入卡号" <el-input size="medium" v-model="queryParams.carddealerCardNumber" placeholder="请输入卡号"
@keyup.enter.native="handleQuery" style="width: 180px; border-color: #e6f1ff" /> @keyup.enter.native="handleQuery" style="width: 180px; border-color: #e6f1ff" />
@ -101,6 +106,8 @@
<el-table stripe :data="infoList" v-loading="loading" :row-class-name="tableRowClassName"> <el-table stripe :data="infoList" v-loading="loading" :row-class-name="tableRowClassName">
<el-table-column label="平台订单号" align="center" prop="orderNo" /> <el-table-column label="平台订单号" align="center" prop="orderNo" />
<el-table-column label="商户订单号" align="center" prop="merchantOrderNo" /> <el-table-column label="商户订单号" align="center" prop="merchantOrderNo" />
<el-table-column label="商户下游订单号" align="center" prop="downstreamMerchantOrderNo" min-width="120" />
<el-table-column label="商户" align="center" prop="merchantName" /> <el-table-column label="商户" align="center" prop="merchantName" />
<el-table-column :label="'订单金额'" align="center" prop="securityDepositAmount"> <el-table-column :label="'订单金额'" align="center" prop="securityDepositAmount">
@ -166,6 +173,9 @@
<el-form-item label="商户订单号"> <el-form-item label="商户订单号">
{{ detailInfoList.merchantOrderNo }} {{ detailInfoList.merchantOrderNo }}
</el-form-item> </el-form-item>
<el-form-item label="商户下游订单号">
{{ detailInfoList.downstreamMerchantOrderNo }}
</el-form-item>
<el-form-item label="商户名称"> <el-form-item label="商户名称">
{{ detailInfoList.merchantName }} {{ detailInfoList.merchantName }}
</el-form-item> </el-form-item>
@ -329,6 +339,7 @@ export default {
carddealerCardHolder: null, carddealerCardHolder: null,
reqAmount: null, reqAmount: null,
platformChannelId: null, platformChannelId: null,
downstreamMerchantOrderNo:null
}, },
// //
isShowDetail: false, isShowDetail: false,
@ -456,6 +467,21 @@ export default {
this.getList(); this.getList();
this.init() this.init()
}, },
$autoRefresh: {
//
interval: 1000 * 15,
//
immediate: false,
// ,
handles: ["getList"],
/**
* 调用 handles 后的回调函数
* 这个字段为数组类型, 数组中的每个元素都是一个函数, 在对应索引的 handle 执行后被调用
*/
callbacks: [],
//
debug: true,
},
methods: { methods: {
tableRowClassName({ row, rowIndex }) { tableRowClassName({ row, rowIndex }) {
if (row.orderStatus == 3) { if (row.orderStatus == 3) {
@ -509,6 +535,7 @@ export default {
carddealerCardHolder: this.queryParams.carddealerCardHolder, carddealerCardHolder: this.queryParams.carddealerCardHolder,
reqAmount: typeof (this.reqAmount) == 'object' ? null : !this.reqAmount ? null : parseFloat(this.reqAmount), reqAmount: typeof (this.reqAmount) == 'object' ? null : !this.reqAmount ? null : parseFloat(this.reqAmount),
platformChannelId: this.queryParams.platformChannelId, platformChannelId: this.queryParams.platformChannelId,
downstreamMerchantOrderNo:this.queryParams.downstreamMerchantOrderNo
} }
listPayOrder(this.addSESDateRange(queryParams, this.dateRange, 'type')).then(response => { listPayOrder(this.addSESDateRange(queryParams, this.dateRange, 'type')).then(response => {
this.infoList = response.rows; this.infoList = response.rows;
@ -533,6 +560,7 @@ export default {
carddealerCardHolder: this.queryParams.carddealerCardHolder, carddealerCardHolder: this.queryParams.carddealerCardHolder,
reqAmount: typeof (reqAmount) == 'object' ? null : !reqAmount ? null : parseFloat(reqAmount), reqAmount: typeof (reqAmount) == 'object' ? null : !reqAmount ? null : parseFloat(reqAmount),
platformChannelId: this.queryParams.platformChannelId, platformChannelId: this.queryParams.platformChannelId,
downstreamMerchantOrderNo:this.queryParams.downstreamMerchantOrderNo
} }
listPayOrder(this.addSESDateRange(queryParams, this.dateRange, 'type')).then(response => { listPayOrder(this.addSESDateRange(queryParams, this.dateRange, 'type')).then(response => {
this.infoList = response.rows; this.infoList = response.rows;

15
src/views/payTest/dfTest.vue

@ -423,6 +423,21 @@ export default {
} }
}; };
}, },
$autoRefresh: {
//
interval: 1000 * 15,
//
immediate: false,
// ,
handles: ["getList"],
/**
* 调用 handles 后的回调函数
* 这个字段为数组类型, 数组中的每个元素都是一个函数, 在对应索引的 handle 执行后被调用
*/
callbacks: [],
//
debug: true,
},
created() { created() {
this.getList(); this.getList();
this.init(); this.init();

15
src/views/payTest/dsTest.vue

@ -437,6 +437,21 @@ export default {
} }
}; };
}, },
$autoRefresh: {
//
interval: 1000 * 15,
//
immediate: false,
// ,
handles: ["getList"],
/**
* 调用 handles 后的回调函数
* 这个字段为数组类型, 数组中的每个元素都是一个函数, 在对应索引的 handle 执行后被调用
*/
callbacks: [],
//
debug: true,
},
created() { created() {
this.getList(); this.getList();
this.init() this.init()

15
src/views/platform/bank/index.vue

@ -146,6 +146,21 @@ export default {
} }
}; };
}, },
$autoRefresh: {
//
interval: 1000 * 15,
//
immediate: false,
// ,
handles: ["getList"],
/**
* 调用 handles 后的回调函数
* 这个字段为数组类型, 数组中的每个元素都是一个函数, 在对应索引的 handle 执行后被调用
*/
callbacks: [],
//
debug: true,
},
created() { created() {
this.getList(); this.getList();
}, },

15
src/views/platform/platformChannel/index.vue

@ -253,6 +253,21 @@ export default {
} }
}; };
}, },
$autoRefresh: {
//
interval: 1000 * 15,
//
immediate: false,
// ,
handles: ["getList"],
/**
* 调用 handles 后的回调函数
* 这个字段为数组类型, 数组中的每个元素都是一个函数, 在对应索引的 handle 执行后被调用
*/
callbacks: [],
//
debug: true,
},
created() { created() {
this.getList(); this.getList();
}, },

15
src/views/staticsRecord/cardTimeStatistics.vue

@ -164,6 +164,21 @@ export default {
} }
}; };
}, },
$autoRefresh: {
//
interval: 1000 * 15,
//
immediate: false,
// ,
handles: ["getList"],
/**
* 调用 handles 后的回调函数
* 这个字段为数组类型, 数组中的每个元素都是一个函数, 在对应索引的 handle 执行后被调用
*/
callbacks: [],
//
debug: true,
},
created() { created() {
this.addDate() this.addDate()
this.getList(); this.getList();

15
src/views/staticsRecord/dayEndStatistics.vue

@ -173,6 +173,21 @@ export default {
} }
}; };
}, },
$autoRefresh: {
//
interval: 1000 * 15,
//
immediate: false,
// ,
handles: ["getList"],
/**
* 调用 handles 后的回调函数
* 这个字段为数组类型, 数组中的每个元素都是一个函数, 在对应索引的 handle 执行后被调用
*/
callbacks: [],
//
debug: true,
},
created() { created() {
this.addDate() this.addDate()
this.getList(); this.getList();

15
src/views/staticsRecord/dayStatistics.vue

@ -149,6 +149,21 @@ export default {
} }
}; };
}, },
$autoRefresh: {
//
interval: 1000 * 15,
//
immediate: false,
// ,
handles: ["getList"],
/**
* 调用 handles 后的回调函数
* 这个字段为数组类型, 数组中的每个元素都是一个函数, 在对应索引的 handle 执行后被调用
*/
callbacks: [],
//
debug: true,
},
created() { created() {
this.addDate() this.addDate()
this.getList(); this.getList();

15
src/views/staticsRecord/mechantTimeStatistics.vue

@ -208,6 +208,21 @@ export default {
} }
}; };
}, },
$autoRefresh: {
//
interval: 1000 * 15,
//
immediate: false,
// ,
handles: ["getList"],
/**
* 调用 handles 后的回调函数
* 这个字段为数组类型, 数组中的每个元素都是一个函数, 在对应索引的 handle 执行后被调用
*/
callbacks: [],
//
debug: true,
},
created() { created() {
this.addDate() this.addDate()
this.getList(); this.getList();

15
src/views/staticsRecord/merchantCardStat.vue

@ -163,6 +163,21 @@ export default {
} }
}; };
}, },
$autoRefresh: {
//
interval: 1000 * 15,
//
immediate: false,
// ,
handles: ["getList"],
/**
* 调用 handles 后的回调函数
* 这个字段为数组类型, 数组中的每个元素都是一个函数, 在对应索引的 handle 执行后被调用
*/
callbacks: [],
//
debug: true,
},
created() { created() {
this.addDate() this.addDate()
this.getList(); this.getList();

BIN
正式kakapay.zip

Binary file not shown.

BIN
测试kakapay.zip

Binary file not shown.
Loading…
Cancel
Save