Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
saas-manage
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
chehuidong
saas-manage
Commits
431fcb43
Commit
431fcb43
authored
Jun 30, 2023
by
yangzhi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
汇率币种
parent
d48ef950
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
448 additions
and
0 deletions
+448
-0
src/router/index.js
+12
-0
src/views/basics/currency.vue
+420
-0
src/views/home/navMenu.vue
+16
-0
No files found.
src/router/index.js
View file @
431fcb43
...
@@ -53,6 +53,18 @@ const routes = [
...
@@ -53,6 +53,18 @@ const routes = [
name
:
'system_user'
,
name
:
'system_user'
,
meta
:
{
title
:
'用户管理'
},
meta
:
{
title
:
'用户管理'
},
},
},
{
path
:
'/saas/currency'
,
component
:
()
=>
import
(
'@/views/basics/currency.vue'
),
name
:
'basics_currency'
,
meta
:
{
title
:
'汇率币种'
},
},
{
path
:
'/saas/timed_task'
,
component
:
()
=>
import
(
'@/views/system/timed_task.vue'
),
name
:
'system_timed_task'
,
meta
:
{
title
:
'定时任务'
},
},
],
],
},
},
]
]
...
...
src/views/basics/currency.vue
0 → 100644
View file @
431fcb43
<
template
>
<div
class=
"wraper"
>
<div
class=
"table_wrap"
v-loading=
"loading"
>
<table-vue
:sourceData=
"sourceData"
ref=
"multipleTable"
:tableColumns=
"tableColumns"
@
currentChange=
"currentTabFn"
:rowClassName=
"cellClass"
@
selectionChange=
"selectionChange"
></table-vue>
</div>
<div
class=
"pagination"
>
<el-pagination
layout=
"sizes, total, prev, pager, next, jumper"
background
:total=
"paginationOptions.total"
:page-size=
"paginationOptions.pageSize"
:current-page=
"paginationOptions.currentPage"
@
size-change=
"sizeChange"
@
current-change=
"onCurrentChange"
>
</el-pagination>
</div>
<!-- 弹出层 -->
<el-dialog
:close-on-click-modal=
"false"
:title=
"is_title == 1 ? '新增' : '编辑'"
:visible
.
sync=
"dialogVisible"
width=
"800px"
>
<el-form
label-position=
"right"
label-width=
"140px"
size=
"mini"
:inline=
"true"
:model=
"addcurrencyform"
:rules=
"addrules"
ref=
"addcurrencyform"
>
<el-form-item
label=
"币种代码"
prop=
"currencyCode"
>
<el-input
v-model=
"addcurrencyform.currencyCode"
placeholder=
"请输入币种代码"
></el-input>
</el-form-item>
<el-form-item
label=
"币种名称"
prop=
"currencyName"
>
<el-input
v-model=
"addcurrencyform.currencyName"
placeholder=
"请输入币种名称"
></el-input>
</el-form-item>
<el-form-item
label=
"对人民币汇率"
prop=
"exchangeCnyRate"
>
<el-input
v-model=
"addcurrencyform.exchangeCnyRate"
placeholder=
"对人民币汇率"
></el-input>
</el-form-item>
<el-form-item
label=
"对美元汇率"
prop=
"exchangeUsdRate"
>
<el-input
v-model=
"addcurrencyform.exchangeUsdRate"
placeholder=
"对美元汇率"
></el-input>
</el-form-item>
<el-form-item
label=
"备注"
prop=
"remark"
>
<el-input
v-model=
"addcurrencyform.remark"
placeholder=
"请输入备注"
></el-input>
</el-form-item>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"dialogVisible = false"
size=
"mini"
style=
"width: 100px"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"addCurrency()"
size=
"mini"
style=
"width: 100px"
>
确认
</el-button>
</span>
</el-dialog>
</div>
</
template
>
<
script
>
import
axios
from
'../../common/api/axios'
import
tableVue
from
'@/common/components/base/tableView.vue'
export
default
{
name
:
'basics_currency'
,
components
:
{
tableVue
,
},
data
()
{
return
{
is_title
:
1
,
select
:
''
,
sourceData
:
[],
searchForm
:
{},
dialogVisible
:
false
,
addcurrencyform
:
{
id
:
''
,
currencyCode
:
''
,
currencyName
:
''
,
exchangeUsdRate
:
''
,
exchangeCnyRate
:
''
,
remark
:
''
,
},
addcurrencyform2
:
null
,
formId
:
null
,
addrules
:
{
exchangeUsdRate
:
[
{
required
:
true
,
message
:
'请输入汇率'
,
trigger
:
'blur'
,
},
{
pattern
:
/^
(\d
+
)?(\.\d
+
)?
$/
,
message
:
'只能输入数字'
,
},
],
exchangeCnyRate
:
[
{
required
:
true
,
message
:
'请输入汇率'
,
trigger
:
'blur'
,
},
{
pattern
:
/^
(\d
+
)?(\.\d
+
)?
$/
,
message
:
'只能输入数字'
,
},
],
currencyCode
:
[
{
required
:
true
,
message
:
'请输入币种代码'
,
trigger
:
'blur'
,
},
],
currencyName
:
[
{
required
:
true
,
message
:
'请输入币种名称'
,
trigger
:
'blur'
,
},
],
},
paginationOptions
:
{
pageSize
:
100
,
currentPage
:
1
,
total
:
0
,
},
loading
:
false
,
}
},
created
()
{
this
.
getList
()
this
.
addcurrencyform2
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
addcurrencyform
),
)
},
computed
:
{
tableColumns
()
{
return
[
{
label
:
'币种代码'
,
key
:
'currencyCode'
,
},
{
label
:
'币种名称'
,
key
:
'currencyName'
,
},
{
label
:
'对人民币汇率'
,
key
:
'exchangeCnyRate'
,
align
:
'center'
,
},
{
label
:
'对美元汇率'
,
key
:
'exchangeUsdRate'
,
align
:
'center'
,
},
]
},
},
methods
:
{
onCurrentChange
(
currentPage
)
{
this
.
paginationOptions
.
currentPage
=
currentPage
this
.
getList
()
},
sizeChange
(
pageSize
)
{
this
.
paginationOptions
.
pageSize
=
pageSize
this
.
getList
()
},
cellClass
({
row
})
{
if
(
row
.
authAuditFlag
===
1
)
{
return
'first'
}
else
{
return
''
}
},
selectionChange
(
selection
)
{
if
(
selection
.
length
>
0
)
{
this
.
select
=
selection
}
},
search
()
{
this
.
paginationOptions
.
currentPage
=
1
this
.
getList
()
},
currentTabFn
(
val
)
{
if
(
val
.
row
)
{
this
.
formId
=
val
.
row
.
id
}
},
// 修改新增
addDialog
(
i
,
v
=
null
)
{
if
(
i
===
2
)
{
if
(
v
)
this
.
formId
=
v
.
id
if
(
!
this
.
formId
)
{
return
this
.
$message
(
'请勾选至少一条记录'
)
}
this
.
selectSection
()
}
else
{
this
.
$nextTick
(()
=>
{
this
.
addcurrencyform
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
addcurrencyform2
),
)
})
this
.
is_title
=
i
this
.
dialogVisible
=
true
}
if
(
this
.
$refs
.
addcurrencyform
)
{
this
.
$refs
.
addcurrencyform
.
resetFields
()
}
},
addCurrency
()
{
if
(
this
.
is_title
===
1
)
{
this
.
addSection
()
}
else
{
this
.
upSection
()
}
},
setpaginationOptions
(
opt
)
{
for
(
const
key
in
opt
)
{
this
.
paginationOptions
[
key
]
=
opt
[
key
]
}
this
.
getList
()
},
// 查询
getList
()
{
this
.
loading
=
true
const
{
pageSize
,
currentPage
,
}
=
this
.
paginationOptions
axios
.
post
(
'manage/rest/exchangeRateListPage'
,
{
pageSize
,
currentPage
,
...
this
.
searchForm
,
})
.
then
(
res
=>
{
this
.
loading
=
false
if
(
res
.
code
===
200
)
{
this
.
sourceData
=
res
.
data
.
records
this
.
paginationOptions
.
total
=
res
.
data
.
total
}
else
{
this
.
$alert
(
res
.
message
,
'错误提示'
,
{
dangerouslyUseHTMLString
:
true
,
})
}
})
},
// 修改
upSection
()
{
const
url
=
'platform/user/update'
this
.
$refs
.
addcurrencyform
.
validate
(
valid
=>
{
if
(
valid
)
{
const
data
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
addcurrencyform
),
)
let
roleIds
=
this
.
addcurrencyform
.
funcRoleIds
.
concat
(
this
.
addcurrencyform
.
dataRoleIds
,
)
roleIds
=
roleIds
.
join
()
data
.
roleIds
=
roleIds
axios
.
post
(
url
,
data
).
then
(
res
=>
{
if
(
res
.
code
===
200
)
{
this
.
dialogVisible
=
false
this
.
$message
({
message
:
'修改成功'
,
type
:
'success'
,
})
this
.
getList
(
this
.
paginationOptions
.
currentPage
,
)
}
else
{
this
.
$alert
(
res
.
message
,
'错误提示'
,
{
dangerouslyUseHTMLString
:
true
,
})
}
})
}
})
},
// 新增
addSection
()
{
const
url
=
'baseExchangeRateCur/add'
this
.
$refs
.
addcurrencyform
.
validate
(
valid
=>
{
if
(
valid
)
{
const
data
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
addcurrencyform
),
)
let
roleIds
=
this
.
addcurrencyform
.
funcRoleIds
.
concat
(
this
.
addcurrencyform
.
dataRoleIds
,
)
roleIds
=
roleIds
.
join
()
data
.
roleIds
=
roleIds
axios
.
post
(
url
,
data
).
then
(
res
=>
{
if
(
res
.
code
===
200
)
{
this
.
dialogVisible
=
false
this
.
$alert
(
'添加成功
\
n
\
r 用户密码为:'
+
res
.
data
?.
passWord
||
''
,
)
this
.
getList
()
}
else
{
this
.
$alert
(
res
.
message
,
'错误提示'
,
{
dangerouslyUseHTMLString
:
true
,
})
}
})
}
})
},
// 删除
deleteSection
(
v
)
{
let
arr
=
[]
if
(
v
)
arr
.
push
(
v
)
else
arr
=
this
.
select
const
leng
=
arr
.
length
if
(
leng
===
0
)
{
return
this
.
$message
(
'请勾选至少一条记录'
)
}
let
ids
=
[]
ids
=
arr
.
map
(
v
=>
{
return
v
.
id
})
ids
=
ids
.
join
()
this
.
$confirm
(
'确定删除选中的信息?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
,
})
.
then
(()
=>
{
axios
.
get
(
'platform/user/delete'
,
{
params
:
{
ids
:
ids
,
},
})
.
then
(
res
=>
{
if
(
res
.
code
===
200
)
{
this
.
$message
({
type
:
'success'
,
message
:
'删除成功!'
,
})
this
.
getList
()
}
else
{
this
.
$alert
(
res
.
message
,
'错误提示'
,
{
dangerouslyUseHTMLString
:
true
,
})
}
})
})
.
catch
(()
=>
{})
},
},
}
</
script
>
<
style
scoped
>
.wraper
{
display
:
flex
;
flex-direction
:
column
;
height
:
100%
;
}
.table_wrap
{
flex
:
1
;
}
.circle
{
display
:
inline-block
;
height
:
10px
;
width
:
10px
;
border-radius
:
5px
;
margin-right
:
5px
;
}
.my-table
>>>
.first
{
background-color
:
red
!important
;
color
:
#fff
!important
;
}
</
style
>
\ No newline at end of file
src/views/home/navMenu.vue
View file @
431fcb43
...
@@ -179,6 +179,22 @@ export default {
...
@@ -179,6 +179,22 @@ export default {
index
:
'user'
,
index
:
'user'
,
children
:
[],
children
:
[],
},
},
{
id
:
4
,
path
:
''
,
label
:
'汇率币种'
,
icon
:
'el-icon-bank-card'
,
index
:
'/saas/currency'
,
children
:
[],
},
// {
// id: 4,
// path: '',
// label: '定时任务',
// icon: 'el-icon-message-solid',
// index: '/saas/timed_task',
// children: [],
// },
],
],
},
},
],
],
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment