Commit 8f23aa5a by yangzhi

fix:定时任务;币种

parent a7d315a6
...@@ -2012,49 +2012,6 @@ ...@@ -2012,49 +2012,6 @@
"webpack-merge": "^5.7.3", "webpack-merge": "^5.7.3",
"webpack-virtual-modules": "^0.4.2", "webpack-virtual-modules": "^0.4.2",
"whatwg-fetch": "^3.6.2" "whatwg-fetch": "^3.6.2"
},
"dependencies": {
"@vue/vue-loader-v15": {
"version": "npm:vue-loader@15.10.1",
"resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-15.10.1.tgz",
"integrity": "sha512-SaPHK1A01VrNthlix6h1hq4uJu7S/z0kdLUb6klubo738NeQoLbS6V9/d8Pv19tU0XdQKju3D1HSKuI8wJ5wMA==",
"dev": true,
"requires": {
"@vue/component-compiler-utils": "^3.1.0",
"hash-sum": "^1.0.2",
"loader-utils": "^1.1.0",
"vue-hot-reload-api": "^2.3.0",
"vue-style-loader": "^4.1.0"
},
"dependencies": {
"hash-sum": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/hash-sum/-/hash-sum-1.0.2.tgz",
"integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==",
"dev": true
}
}
},
"json5": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/json5/-/json5-1.0.2.tgz",
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
"dev": true,
"requires": {
"minimist": "^1.2.0"
}
},
"loader-utils": {
"version": "1.4.2",
"resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-1.4.2.tgz",
"integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==",
"dev": true,
"requires": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
"json5": "^1.0.1"
}
}
} }
}, },
"@vue/cli-shared-utils": { "@vue/cli-shared-utils": {
...@@ -2215,6 +2172,47 @@ ...@@ -2215,6 +2172,47 @@
"eslint-import-resolver-webpack": "^0.13.1" "eslint-import-resolver-webpack": "^0.13.1"
} }
}, },
"@vue/vue-loader-v15": {
"version": "npm:vue-loader@15.10.1",
"resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-15.10.1.tgz",
"integrity": "sha512-SaPHK1A01VrNthlix6h1hq4uJu7S/z0kdLUb6klubo738NeQoLbS6V9/d8Pv19tU0XdQKju3D1HSKuI8wJ5wMA==",
"dev": true,
"requires": {
"@vue/component-compiler-utils": "^3.1.0",
"hash-sum": "^1.0.2",
"loader-utils": "^1.1.0",
"vue-hot-reload-api": "^2.3.0",
"vue-style-loader": "^4.1.0"
},
"dependencies": {
"hash-sum": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/hash-sum/-/hash-sum-1.0.2.tgz",
"integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==",
"dev": true
},
"json5": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/json5/-/json5-1.0.2.tgz",
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
"dev": true,
"requires": {
"minimist": "^1.2.0"
}
},
"loader-utils": {
"version": "1.4.2",
"resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-1.4.2.tgz",
"integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==",
"dev": true,
"requires": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
"json5": "^1.0.1"
}
}
}
},
"@vue/web-component-wrapper": { "@vue/web-component-wrapper": {
"version": "1.3.0", "version": "1.3.0",
"resolved": "https://registry.npmmirror.com/@vue/web-component-wrapper/-/web-component-wrapper-1.3.0.tgz", "resolved": "https://registry.npmmirror.com/@vue/web-component-wrapper/-/web-component-wrapper-1.3.0.tgz",
...@@ -3924,9 +3922,9 @@ ...@@ -3924,9 +3922,9 @@
"dev": true "dev": true
}, },
"element-ui": { "element-ui": {
"version": "2.15.10", "version": "2.15.13",
"resolved": "https://registry.npmjs.org/element-ui/-/element-ui-2.15.10.tgz", "resolved": "https://registry.npmmirror.com/element-ui/-/element-ui-2.15.13.tgz",
"integrity": "sha512-jmD++mU2wKXbisvx4fxOl2mHaU+HWHTAq/3Wf8x9Bwyu4GdDZPLABb+CGi3DWN6fPqdgRcd74aX39DO+YHObLw==", "integrity": "sha512-LJoatEYX6WV74FqXBss8Xfho9fh9rjDSzrDrTyREdGb1h1R3uRvmLh5jqp2JU137aj4/BgqA3K06RQpQBX33Bg==",
"requires": { "requires": {
"async-validator": "~1.8.1", "async-validator": "~1.8.1",
"babel-helper-vue-jsx-merge-props": "^2.0.0", "babel-helper-vue-jsx-merge-props": "^2.0.0",
...@@ -8164,6 +8162,11 @@ ...@@ -8164,6 +8162,11 @@
"websocket-driver": "^0.7.4" "websocket-driver": "^0.7.4"
} }
}, },
"sortablejs": {
"version": "1.10.2",
"resolved": "https://registry.npmmirror.com/sortablejs/-/sortablejs-1.10.2.tgz",
"integrity": "sha512-YkPGufevysvfwn5rfdlGyrGjt7/CRHwvRPogD/lC+TnvcN29jDpCifKP+rBqf+LRldfXSTh+0CGLcSg0VIxq3A=="
},
"source-map": { "source-map": {
"version": "0.6.1", "version": "0.6.1",
"resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz",
...@@ -8963,6 +8966,14 @@ ...@@ -8963,6 +8966,14 @@
"integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==", "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==",
"dev": true "dev": true
}, },
"vuedraggable": {
"version": "2.24.3",
"resolved": "https://registry.npmmirror.com/vuedraggable/-/vuedraggable-2.24.3.tgz",
"integrity": "sha512-6/HDXi92GzB+Hcs9fC6PAAozK1RLt1ewPTLjK0anTYguXLAeySDmcnqE8IC0xa7shvSzRjQXq3/+dsZ7ETGF3g==",
"requires": {
"sortablejs": "1.10.2"
}
},
"vuex": { "vuex": {
"version": "3.6.2", "version": "3.6.2",
"resolved": "https://registry.npmmirror.com/vuex/-/vuex-3.6.2.tgz", "resolved": "https://registry.npmmirror.com/vuex/-/vuex-3.6.2.tgz",
......
...@@ -12,14 +12,14 @@ ...@@ -12,14 +12,14 @@
"@wangeditor/editor-for-vue": "^1.0.2", "@wangeditor/editor-for-vue": "^1.0.2",
"axios": "^1.1.3", "axios": "^1.1.3",
"core-js": "^3.8.3", "core-js": "^3.8.3",
"element-ui": "^2.15.10", "element-ui": "^2.15.13",
"js-md5": "^0.7.3", "js-md5": "^0.7.3",
"lodash": "~4.17.20",
"vue": "^2.6.14", "vue": "^2.6.14",
"vue-router": "^3.5.1", "vue-router": "^3.5.1",
"vuex": "^3.6.2", "vuex": "^3.6.2",
"vxe-table": "^3.5.9", "vxe-table": "^3.5.9",
"xe-utils": "^3.5.7", "xe-utils": "^3.5.7"
"lodash": "~4.17.20"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "^7.12.16", "@babel/core": "^7.12.16",
......
...@@ -106,4 +106,34 @@ axios.interceptors.response.use( ...@@ -106,4 +106,34 @@ axios.interceptors.response.use(
return Promise.reject(error) return Promise.reject(error)
}, },
) )
export function get(url, params) {
return new Promise((resolve, reject) => {
axios.get(url, { params })
.then((res) => {
if (res.status === 200 && res.data) {
resolve(res.data)
} else {
resolve(res)
}
})
.catch((err) => {
reject(err)
})
})
}
export function post(url, params, headers) {
return new Promise((resolve, reject) => {
axios.post(url, params, headers)
.then((res) => {
if (res.status === 200 && res.data) {
resolve(res.data)
} else {
resolve(res)
}
})
.catch((err) => {
reject(err)
})
})
}
export default axios export default axios
<template>
<div class="box" ref="box">
<div
class="top"
ref="top"
:style="{
height: isfooter && footerShow ? height : '100%',
userSelect: isMove ? 'none' : 'auto',
}"
>
<slot name="header"></slot>
</div>
<template v-if="isfooter">
<div class="resize" ref="dividingLine">
<div class="footer-show" ref="resize">
<span>
<i class="el-icon-d-caret" title="底部明细"></i>
</span>
</div>
</div>
<div
:style="{
userSelect: isMove ? 'none' : 'auto',
height: height
? `calc(100% - 20px - ${height}) `
: '',
}"
v-show="isfooter && footerShow"
class="footer"
ref="footer"
>
<slot name="footer"></slot>
</div>
</template>
</div>
</template>
<script>
export default {
name: 'Drag',
data() {
return {
isClick: false,
footerShow: true,
boxHeight: 0,
isMove: false,
startPosition: 0,
}
},
props: {
isfooter: {
type: Boolean,
default: true,
},
elementChange: {
type: Function,
default: () => {},
},
height: {
type: String,
default: 'calc(70% - 20px)',
},
},
mounted() {
this.topDom = this.$refs.top
this.footerDom = this.$refs.footer
const box = this.$refs.box
this.boxHeight = box.clientHeight
this.resize = this.$refs.resize
this.dividingLine = this.$refs.dividingLine
if (this.resize) {
this.resize.addEventListener(
'mousedown',
this.mousedown,
)
}
document.addEventListener('mousemove', this.mousemove)
document.addEventListener('mouseup', this.mouseup)
window.addEventListener('resize', this.onResize)
},
destroyed() {
this.resize &&
this.resize.removeEventListener(
'mousedown',
this.mousedown,
)
document.removeEventListener(
'mousemove',
this.mousemove,
)
document.removeEventListener('mouseup', this.mouseup)
window.removeEventListener('resize', this.onResize)
},
watch: {
isfooter2(v) {
if (!v) this.isfooter = true
else this.isfooter = false
this.footerTabs()
},
isfooter(v) {
this.resize &&
this.resize.removeEventListener(
'mousedown',
this.mousedown,
)
if (v) {
this.$nextTick(() => {
this.resize = this.$refs.resize
this.footerDom = this.$refs.footer
if (this.resize) {
this.resize.addEventListener(
'mousedown',
this.mousedown,
)
}
})
}
},
},
methods: {
onResize() {
const box = this.$refs.box
this.boxHeight = box.clientHeight
},
mousedown(e) {
this.resize.setCapture && this.resize.setCapture()
this.isClick = true
this.isMove = true
this.startPosition = e.clientY
},
mousemove(e) {
this.isClick = false
if (!this.isMove || !this.footerShow) return
if (this.timer) return
setTimeout(() => {
const endY = e.clientY
const moveLen = endY - this.startPosition
// let maxT =this.boxHeight - 150
// if (moveLen < 300) moveLen = 300
// if (moveLen > maxT) moveLen = maxT
const topH = this.getheight(this.topDom) + moveLen
const footerH = this.boxHeight - topH - 20
if (topH < 150 || footerH < 150) return
this.topDom.style.height = topH + 'px'
this.footerDom.style.height = footerH + 'px'
// this.footerDom.style.height =
// this.getheight(this.footerDom) - moveLen + 'px'
this.startPosition = e.clientY
}, 16)
},
mouseup() {
if (this.isClick) {
// this.footerToggle()
this.isClick = false
}
this.isMove = false
this.resize?.releaseCapture &&
this.resize.releaseCapture()
},
getheight(dom) {
if (dom) {
let height = getComputedStyle(dom).height
height = height.replace(/[^0-9.]/gi, '')
return Number(height)
}
},
footerToggle() {
this.footerShow = !this.footerShow
},
},
}
</script>
<style scoped>
.box {
width: 100%;
height: 100%;
overflow: hidden;
box-sizing: border-box;
/* border: 1px solid #ff0000; */
}
.top {
width: 100%;
border-radius: 10px;
background: #fff;
padding-top: 10px;
overflow: hidden;
box-sizing: border-box;
/* background: skyblue; */
}
.top > div,
.footer > div {
display: flex;
height: 100%;
width: 100%;
}
.top > div {
flex-direction: column;
/* padding-top: 10px; */
box-sizing: border-box;
}
.footer {
width: 100%;
height: 30%;
border-radius: 10px;
background: #fff;
overflow: hidden;
margin-top: 10px;
/* background: tomato; */
}
.resize {
width: 100%;
height: 0px;
}
.footer-show {
position: relative;
text-align: center;
height: 1px;
cursor: row-resize;
background-color: #f5f7fa;
/* border-top: 1px solid #e4e7ed; */
}
.footer-show::after {
display: none;
position: absolute;
bottom: 0;
left: 50%;
width: 223px;
height: 26px;
content: '';
transform: translate(-50%, 0);
background: linear-gradient(
to right,
transparent,
#eeeeee,
transparent
);
}
.footer-show:hover::after {
display: block;
}
.footer-show span {
display: none;
position: absolute;
top: 0;
left: 50%;
width: 30px;
height: 32px;
z-index: 5;
transform: translate(-50%, -50%);
border-radius: 50%;
background: #ddd;
}
.footer-show:hover span {
display: block;
}
.footer-show i:hover {
color: #1d8acf;
}
.footer-show i {
font-weight: bold;
color: #999;
font-size: 26px;
line-height: 32px;
}
</style>
<!--
* @Description:
* @Author: chd
* @Date: 2020-10-19 15:44:02
* @LastEditors: chd
* @LastEditTime: 2021-04-28 13:57:48
-->
<script>
import { isMobile } from '../../utils/commonUtil'
export default {
name: 'layout',
inheritAttrs: false,
props: {
isleftshow: {
default: true,
type: Boolean,
},
},
data() {
return {
isLeft: true,
}
},
methods: {
leftChange() {
this.isLeft = !this.isLeft
},
},
render() {
const {
$scopedSlots,
$attrs,
isLeft,
isleftshow,
$vnode,
} = this
const leftStyle = $attrs?.leftStyle || {}
let { width, ...attrs } = leftStyle
if (!width) width = '200px'
return (
<div class={`page_main ${isMobile ? 'mobile' : ''}`}>
{$scopedSlots.header && (
<div class="page_header">
{$scopedSlots.header()}
</div>
)}
<div
class="layout_wrap"
style={$vnode.data.staticStyle}
>
{$scopedSlots.page_left && (
<div
class="page_left"
style={{
...attrs,
width: isLeft ? width : '1px',
}}
>
{$scopedSlots.page_left()}
</div>
)}
{isleftshow && (
<div class="separation">
<span
class="left_toggle"
title={isLeft ? '点击收起' : '点击展开'}
onClick={this.leftChange}
>
<i
class={
isLeft
? 'el-icon-caret-left'
: 'el-icon-caret-right'
}
></i>
</span>
</div>
)}
{$scopedSlots.page_right && (
<div
class="page_right"
style={$attrs?.rightStyle || {}}
>
{$scopedSlots.page_right()}
</div>
)}
{$scopedSlots.default && $scopedSlots.default()}
</div>
</div>
)
},
}
</script>
<style scoped>
.page_main {
height: calc(100vh - 86px);
box-sizing: border-box;
display: flex;
flex-direction: column;
margin: 0;
overflow: hidden;
position: relative;
}
.page_main .layout_wrap {
height: 100%;
display: flex;
flex-direction: column;
overflow: hidden;
position: relative;
}
.page_main:not(.mobile) {
margin-right: 54px;
}
/* .page_main.home .tool_warper {
display: none;
} */
.page_main.row .layout_wrap {
flex-direction: row;
}
.page_main.wrap .layout_wrap {
background: #fff;
box-sizing: border-box;
border-radius: 10px;
padding-top: 10px;
}
.page_main.wrap .layout_wrap >>> form:nth-of-type(1) {
margin-left: 10px;
}
.page_main.mobile {
height: calc(100vh - 56px);
}
.page_header {
background: #fff;
padding-top: 10px;
margin-bottom: 10px;
}
.page_left {
position: relative;
display: flex;
flex-direction: column;
width: 200px;
height: 100%;
background: var(--background-color);
box-sizing: border-box;
border-radius: 5px 5px 0 0;
overflow: auto;
}
.separation {
display: none;
position: relative;
width: 1px;
}
.row .separation {
display: block;
}
.separation .left_toggle {
position: absolute;
right: -16px;
width: 17px;
height: 24px;
background: #dedede;
z-index: 1000;
top: 50%;
transform: translateY(-50%);
cursor: pointer;
border-top-right-radius: 5px;
border-bottom-right-radius: 5px;
}
.separation .left_toggle::before {
position: absolute;
width: 0px;
height: 0px;
content: '';
top: 10px;
left: -12px;
pointer-events: none;
transform: rotate(45deg);
border-width: 12px;
border-style: solid;
border-color: rgba(0, 0, 0, 0) #dedede rgba(0, 0, 0, 0)
rgba(0, 0, 0, 0);
border-radius: 5px;
}
.separation .left_toggle::after {
position: absolute;
width: 0px;
height: 0px;
top: -10px;
left: -12px;
pointer-events: none;
content: '';
transform: rotate(-45deg);
border-width: 12px;
border-style: solid;
border-color: rgba(0, 0, 0, 0) #dedede rgba(0, 0, 0, 0)
rgba(0, 0, 0, 0);
border-radius: 5px;
}
.separation .left_toggle i {
display: block;
margin-top: 3px;
pointer-events: none;
}
.separation:hover .left_toggle {
display: block;
}
.page_right {
flex: 1;
display: flex;
flex-direction: column;
margin-left: 10px;
box-sizing: border-box;
overflow: hidden;
position: relative;
}
.page_main:not(.drag) .page_right {
background: var(--background-color);
border-radius: 5px 5px 0 0;
padding-top: 10px;
box-sizing: border-box;
}
.page_main .page_right >>> form:nth-of-type(1),
.page_main .page_left >>> form,
.page_main.drag >>> form {
padding-left: 10px;
}
/* .page_right >>> .top {
padding-top: 0;
} */
.page_main.drag .page_right {
/* padding-top: 10px; */
background: transparent;
}
</style>
<!--
* @Description: 描述
* @Author: chd
* @Date: 2020-08-14 13:10:35
* @LastEditors: chd
* @LastEditTime: 2021-03-12 13:33:01
-->
<template>
<div class="pageinationCon">
<div class="select-number" v-if="selections">
选中
<span style="color: red; font-weight: bold">
{{ selections ? selections.length : 0 }}
</span>
</div>
<slot></slot>
<el-pagination
@current-change="currentChange"
:current-page.sync="options.currentPage"
:page-size="options.pageSize"
:page-sizes="pageSizes"
:layout="layout"
:total="options.total"
>
<template #default>
<span class="default-input">
自定义条数
<el-input
placeholder="请输入"
v-model="customizeNumbers"
style="width: 55px"
@change="onPageSizeInput"
/>
条/页
</span>
</template>
</el-pagination>
</div>
</template>
<script>
export default {
name: 'pagination',
data() {
return {
customizeNumbers: this.options.pageSize,
}
},
props: {
setValue: {
type: Function,
default: () => {},
},
options: {
type: Object,
default: () => ({}),
},
pageSizes: {
type: Array,
default: () => [100, 200, 500],
},
layout: {
type: String,
default: () =>
'total, prev, pager, next, jumper,slot',
},
selections: {
type: Array,
},
},
methods: {
currentChange(i) {
this.setValue({ currentPage: i })
},
changeSizes(value) {
this.setValue({ pageSize: +value })
},
onPageSizeInput(value) {
value = parseInt(value) // + 可能转换出来小数,而 parseInt 就是整数
if (value <= 0 || isNaN(value)) {
value = this.options.pageSize || 20
}
if (value > 500) value = 500
this.customizeNumbers = `${value}`
this.changeSizes(value)
},
},
}
</script>
<style scoped>
.pageinationCon::v-deep .default-input {
margin-left: 24px;
font-weight: normal !important;
color: #606266 !important;
}
.select-number {
position: absolute;
left: 5px;
top: 10px;
}
</style>
/*
* @Description: 描述
* @Author: chd
* @Date: 2021-02-04 10:02:43
* @LastEditors: chd
* @LastEditTime: 2021-02-04 10:02:58
*/
export default {
Seconds: {
name: '秒',
every: '每一秒钟',
interval: ['每隔', '秒执行 从', '秒开始'],
specific: '具体秒数(可多选)',
cycle: ['周期从', '到', '秒'],
},
Minutes: {
name: '分',
every: '每一分钟',
interval: ['每隔', '分执行 从', '分开始'],
specific: '具体分钟数(可多选)',
cycle: ['周期从', '到', '分'],
},
Hours: {
name: '时',
every: '每一小时',
interval: ['每隔', '小时执行 从', '小时开始'],
specific: '具体小时数(可多选)',
cycle: ['周期从', '到', '小时'],
},
Day: {
name: '天',
every: '每一天',
intervalWeek: ['每隔', '周执行 从', '开始'],
intervalDay: ['每隔', '天执行 从', '天开始'],
specificWeek: '具体星期几(可多选)',
specificDay: '具体天数(可多选)',
lastDay: '在这个月的最后一天',
lastWeekday: '在这个月的最后一个工作日',
lastWeek: ['在这个月的最后一个'],
beforeEndMonth: ['在本月底前', '天'],
nearestWeekday: ['最近的工作日(周一至周五)至本月', '日'],
someWeekday: ['在这个月的第', '个'],
},
Week: ['天', '一', '二', '三', '四', '五', '六'].map((val) => '星期' + val),
Month: {
name: '月',
every: '每一月',
interval: ['每隔', '月执行 从', '月开始'],
specific: '具体月数(可多选)',
cycle: ['从', '到', '月之间的每个月'],
},
Year: {
name: '年',
every: '每一年',
interval: ['每隔', '年执行 从', '年开始'],
specific: '具体年份(可多选)',
cycle: ['从', '到', '年之间的每一年'],
},
Save: '保存',
Close: '关闭',
}
/*
* @Description: 描述
* @Author: chd
* @Date: 2021-02-04 10:04:17
* @LastEditors: chd
* @LastEditTime: 2021-02-04 10:04:17
*/
export default {
Seconds: {
name: 'Seconds',
every: 'Every second',
interval: ['Every', 'second(s) starting at second'],
specific: 'Specific second (choose one or many)',
cycle: ['Every second between second', 'and second'],
},
Minutes: {
name: 'Minutes',
every: 'Every minute',
interval: ['Every', 'minute(s) starting at minute'],
specific: 'Specific minute (choose one or many)',
cycle: ['Every minute between minute', 'and minute'],
},
Hours: {
name: 'Hours',
every: 'Every hour',
interval: ['Every', 'hour(s) starting at hour'],
specific: 'Specific hour (choose one or many)',
cycle: ['Every hour between hour', 'and hour'],
},
Day: {
name: 'Day',
every: 'Every day',
intervalWeek: ['Every', 'day(s) starting on'],
intervalDay: ['Every', 'day(s) starting at the', 'of the month'],
specificWeek: 'Specific day of week (choose one or many)',
specificDay: 'Specific day of month (choose one or many)',
lastDay: 'On the last day of the month',
lastWeekday: 'On the last weekday of the month',
lastWeek: ['On the last', ' of the month'],
beforeEndMonth: ['day(s) before the end of the month'],
nearestWeekday: [
'Nearest weekday (Monday to Friday) to the',
'of the month',
],
someWeekday: ['On the', 'of the month'],
},
Week: [
'Sunday',
'Monday',
'Tuesday',
'Wednesday',
'Thursday',
'Friday',
'Saturday',
],
Month: {
name: 'Month',
every: 'Every month',
interval: ['Every', 'month(s) starting in'],
specific: 'Specific month (choose one or many)',
cycle: ['Every month between', 'and'],
},
Year: {
name: 'Year',
every: 'Any year',
interval: ['Every', 'year(s) starting in'],
specific: 'Specific year (choose one or many)',
cycle: ['Every year between', 'and'],
},
Save: 'Save',
Close: 'Close',
}
/*
* @Description: 描述
* @Author: chd
* @Date: 2021-02-04 10:03:33
* @LastEditors: chd
* @LastEditTime: 2021-02-04 10:04:59
*/
import en from './en'
import cn from './cn'
export default {
en,
cn,
}
...@@ -2,6 +2,7 @@ import Vue from 'vue' ...@@ -2,6 +2,7 @@ import Vue from 'vue'
import App from './App.vue' import App from './App.vue'
import router from './router' import router from './router'
import store from './store' import store from './store'
import './plugins/myui'
import element from '@/common/components/element-ui.js' import element from '@/common/components/element-ui.js'
import vxeTable from '@/common/components/vxeTable.js' import vxeTable from '@/common/components/vxeTable.js'
import './common/style/index.scss' import './common/style/index.scss'
......
/*
* @Description: 描述
* @Author: chd
* @Date: 2021-01-27 17:22:04
* @LastEditors: chd
* @LastEditTime: 2021-01-27 17:24:04
*/
export default {
data() {
return {
paginationOptions: {
pageSize: 100,
currentPage: 1,
total: 0,
},
pickListpaginationOptions: {
pageSize: 100,
currentPage: 1,
total: 0,
},
paginationPickOptions: {
pageSize: 100,
currentPage: 1,
total: 0,
},
}
},
methods: {
setpaginationOptions(opt) {
for (const key in opt) {
this.paginationOptions[key] = opt[key]
}
this.getlist()
},
setPickListPaginationOptions(opt) {
for (const key in opt) {
this.pickListpaginationOptions[key] = opt[key]
}
// TODO
this.getPickList()
},
setpaginationPickOptions(opt) {
for (const key in opt) {
this.paginationPickOptions[key] = opt[key]
}
},
},
}
/*
* @Description: 自定义组件
* @Author: Huidong Che
* @Date: 2020-04-03 15:33:04
* @LastEditors: chd
* @LastEditTime: 2020-10-09 17:20:07
*/
import Vue from 'vue'
import draggable from 'vuedraggable'
const context = require.context('../components/global', false, /\.vue$/)
context.keys().forEach((key) => {
const component = context(key).default
Vue.component(component.name, component)
})
Vue.component('draggable', draggable)
\ No newline at end of file
...@@ -177,12 +177,16 @@ export default { ...@@ -177,12 +177,16 @@ export default {
tableColumns() { tableColumns() {
return [ return [
{ {
label: '币种名称',
key: 'currencyName',
},
{
label: '币种代码', label: '币种代码',
key: 'currencyCode', key: 'currencyCode',
}, },
{ {
label: '币种名称', label: '币种日期',
key: 'currencyName', key: 'currencyDate',
}, },
{ {
label: '兑人民币汇率', label: '兑人民币汇率',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment