Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
phsl
/
admin
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
4acd379d
authored
Jul 07, 2024
by
YunaiV
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
https://gitee.com/yudaocode/yudao-ui-admin-vue3
into dev
parents
8a73fbe7
f341ba4d
Show whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
88 additions
and
175 deletions
+88
-175
.env
+5
-0
README.md
+2
-3
src/api/mall/promotion/seckill/seckillConfig.ts
+1
-1
src/components/bpmnProcessDesigner/package/penal/flow-condition/FlowCondition.vue
+1
-1
src/utils/constants.ts
+8
-0
src/utils/index.ts
+1
-1
src/views/Login/components/LoginForm.vue
+3
-3
src/views/bpm/oa/leave/index.vue
+3
-3
src/views/bpm/processInstance/detail/index.vue
+1
-1
src/views/crm/contract/detail/index.vue
+1
-1
src/views/mall/home/components/TradeTrendCard.vue
+1
-1
src/views/mall/product/spu/form/ProductPropertyAddForm.vue
+1
-0
src/views/mp/account/index.vue
+1
-1
src/views/pay/app/components/channel/WeixinChannelForm.vue
+9
-6
src/views/pay/app/index.vue
+44
-151
src/views/pay/demo/order/index.vue
+1
-1
src/views/system/operatelog/index.vue
+2
-1
types/env.d.ts
+3
-0
No files found.
.env
View file @
4acd379d
...
@@ -18,3 +18,8 @@ VITE_APP_DOCALERT_ENABLE=true
...
@@ -18,3 +18,8 @@ VITE_APP_DOCALERT_ENABLE=true
# 百度统计
# 百度统计
VITE_APP_BAIDU_CODE = a1ff8825baa73c3a78eb96aa40325abc
VITE_APP_BAIDU_CODE = a1ff8825baa73c3a78eb96aa40325abc
# 默认账户密码
VITE_APP_DEFAULT_LOGIN_TENANT = 芋道源码
VITE_APP_DEFAULT_LOGIN_USERNAME = admin
VITE_APP_DEFAULT_LOGIN_PASSWORD = admin123
README.md
View file @
4acd379d
...
@@ -55,9 +55,8 @@
...
@@ -55,9 +55,8 @@
推荐 VS Code 开发,配合插件如下:
推荐 VS Code 开发,配合插件如下:
| 插件名 | 功能 |
| 插件名 | 功能 |
|-------------------------------|--------------------------|
|-------------------------------|---------------------|
| TypeScript Vue Plugin (Volar) | 用于 TypeScript 的 Vue 插件 |
| Vue - Official | Vue 与 TypeScript 支持 |
| Vue Language Features (Volar) | Vue3.0 语法支持 |
| unocss | unocss for vscode |
| unocss | unocss for vscode |
| Iconify IntelliSense | Iconify 预览和搜索 |
| Iconify IntelliSense | Iconify 预览和搜索 |
| i18n Ally | 国际化智能提示 |
| i18n Ally | 国际化智能提示 |
...
...
src/api/mall/promotion/seckill/seckillConfig.ts
View file @
4acd379d
...
@@ -19,7 +19,7 @@ export const SeckillConfigApi = {
...
@@ -19,7 +19,7 @@ export const SeckillConfigApi = {
// 查询秒杀时段列表
// 查询秒杀时段列表
getSimpleSeckillConfigList
:
async
()
=>
{
getSimpleSeckillConfigList
:
async
()
=>
{
return
await
request
.
get
({
url
:
`/promotion/seckill-config/
simple-
list`
})
return
await
request
.
get
({
url
:
`/promotion/seckill-config/list`
})
},
},
// 查询秒杀时段详情
// 查询秒杀时段详情
...
...
src/components/bpmnProcessDesigner/package/penal/flow-condition/FlowCondition.vue
View file @
4acd379d
...
@@ -129,7 +129,7 @@ const updateFlowType = (flowType) => {
...
@@ -129,7 +129,7 @@ const updateFlowType = (flowType) => {
conditionExpression
:
null
conditionExpression
:
null
})
})
bpmnInstances
().
modeling
.
updateProperties
(
toRaw
(
bpmnElementSource
.
value
),
{
bpmnInstances
().
modeling
.
updateProperties
(
toRaw
(
bpmnElementSource
.
value
),
{
default
:
bpmnElement
.
value
default
:
toRaw
(
bpmnElement
.
value
)
})
})
return
return
}
}
...
...
src/utils/constants.ts
View file @
4acd379d
...
@@ -109,6 +109,14 @@ export const PayChannelEnum = {
...
@@ -109,6 +109,14 @@ export const PayChannelEnum = {
code
:
'wx_app'
,
code
:
'wx_app'
,
name
:
'微信 APP 支付'
name
:
'微信 APP 支付'
},
},
WX_NATIVE
:
{
code
:
'wx_native'
,
name
:
'微信 Native 支付'
},
WX_WAP
:
{
code
:
'wx_wap'
,
name
:
'微信 WAP 网站支付'
},
WX_BAR
:
{
WX_BAR
:
{
code
:
'wx_bar'
,
code
:
'wx_bar'
,
name
:
'微信条码支付'
name
:
'微信条码支付'
...
...
src/utils/index.ts
View file @
4acd379d
...
@@ -313,7 +313,7 @@ export const fenToYuan = (price: string | number): string => {
...
@@ -313,7 +313,7 @@ export const fenToYuan = (price: string | number): string => {
*/
*/
export
const
calculateRelativeRate
=
(
value
?:
number
,
reference
?:
number
)
=>
{
export
const
calculateRelativeRate
=
(
value
?:
number
,
reference
?:
number
)
=>
{
// 防止除0
// 防止除0
if
(
!
reference
)
return
0
if
(
!
reference
||
reference
==
0
)
return
0
return
((
100
*
((
value
||
0
)
-
reference
))
/
reference
).
toFixed
(
0
)
return
((
100
*
((
value
||
0
)
-
reference
))
/
reference
).
toFixed
(
0
)
}
}
...
...
src/views/Login/components/LoginForm.vue
View file @
4acd379d
...
@@ -184,9 +184,9 @@ const loginData = reactive({
...
@@ -184,9 +184,9 @@ const loginData = reactive({
captchaEnable
:
import
.
meta
.
env
.
VITE_APP_CAPTCHA_ENABLE
,
captchaEnable
:
import
.
meta
.
env
.
VITE_APP_CAPTCHA_ENABLE
,
tenantEnable
:
import
.
meta
.
env
.
VITE_APP_TENANT_ENABLE
,
tenantEnable
:
import
.
meta
.
env
.
VITE_APP_TENANT_ENABLE
,
loginForm
:
{
loginForm
:
{
tenantName
:
'芋道源码
'
,
tenantName
:
import
.
meta
.
env
.
VITE_APP_DEFAULT_LOGIN_TENANT
||
'
'
,
username
:
'admin
'
,
username
:
import
.
meta
.
env
.
VITE_APP_DEFAULT_LOGIN_USERNAME
||
'
'
,
password
:
'admin123
'
,
password
:
import
.
meta
.
env
.
VITE_APP_DEFAULT_LOGIN_PASSWORD
||
'
'
,
captchaVerification
:
''
,
captchaVerification
:
''
,
rememberMe
:
true
// 默认记录我。如果不需要,可手动修改
rememberMe
:
true
// 默认记录我。如果不需要,可手动修改
}
}
...
...
src/views/bpm/oa/leave/index.vue
View file @
4acd379d
...
@@ -36,9 +36,9 @@
...
@@ -36,9 +36,9 @@
value-format=
"YYYY-MM-DD HH:mm:ss"
value-format=
"YYYY-MM-DD HH:mm:ss"
/>
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"审批结果"
prop=
"
result
"
>
<el-form-item
label=
"审批结果"
prop=
"
status
"
>
<el-select
<el-select
v-model=
"queryParams.
result
"
v-model=
"queryParams.
status
"
class=
"!w-240px"
class=
"!w-240px"
clearable
clearable
placeholder=
"请选择审批结果"
placeholder=
"请选择审批结果"
...
@@ -81,7 +81,7 @@
...
@@ -81,7 +81,7 @@
<ContentWrap>
<ContentWrap>
<el-table
v-loading=
"loading"
:data=
"list"
>
<el-table
v-loading=
"loading"
:data=
"list"
>
<el-table-column
align=
"center"
label=
"申请编号"
prop=
"id"
/>
<el-table-column
align=
"center"
label=
"申请编号"
prop=
"id"
/>
<el-table-column
align=
"center"
label=
"状态"
prop=
"
result
"
>
<el-table-column
align=
"center"
label=
"状态"
prop=
"
status
"
>
<template
#
default=
"scope"
>
<template
#
default=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.BPM_PROCESS_INSTANCE_STATUS"
:value=
"scope.row.status"
/>
<dict-tag
:type=
"DICT_TYPE.BPM_PROCESS_INSTANCE_STATUS"
:value=
"scope.row.status"
/>
</
template
>
</
template
>
...
...
src/views/bpm/processInstance/detail/index.vue
View file @
4acd379d
...
@@ -363,7 +363,7 @@ const loadRunningTask = (tasks) => {
...
@@ -363,7 +363,7 @@ const loadRunningTask = (tasks) => {
// 2.4 处理 approve 表单
// 2.4 处理 approve 表单
if
(
task
.
formId
&&
task
.
formConf
)
{
if
(
task
.
formId
&&
task
.
formConf
)
{
const
approveForm
=
{}
const
approveForm
=
{}
setConfAndFields2
(
approveForm
,
task
.
formConf
,
task
.
formFields
,
task
.
formVariable
)
setConfAndFields2
(
approveForm
,
task
.
formConf
,
task
.
formFields
,
task
.
formVariable
s
)
approveForms
.
value
.
push
(
approveForm
)
approveForms
.
value
.
push
(
approveForm
)
}
else
{
}
else
{
approveForms
.
value
.
push
({})
// 占位,避免为空
approveForms
.
value
.
push
({})
// 占位,避免为空
...
...
src/views/crm/contract/detail/index.vue
View file @
4acd379d
...
@@ -36,7 +36,7 @@
...
@@ -36,7 +36,7 @@
ref=
"permissionListRef"
ref=
"permissionListRef"
:biz-id=
"contract.id!"
:biz-id=
"contract.id!"
:biz-type=
"BizTypeEnum.CRM_CONTRACT"
:biz-type=
"BizTypeEnum.CRM_CONTRACT"
:show-action=
"false"
:show-action=
"
!permissionListRef?.isPool ||
false"
@
quit-team=
"close"
@
quit-team=
"close"
/>
/>
</el-tab-pane>
</el-tab-pane>
...
...
src/views/mall/home/components/TradeTrendCard.vue
View file @
4acd379d
...
@@ -186,7 +186,7 @@ const getOrderCountTrendComparison = async (
...
@@ -186,7 +186,7 @@ const getOrderCountTrendComparison = async (
dates
.
push
(
item
.
value
.
date
)
dates
.
push
(
item
.
value
.
date
)
if
(
series
.
length
===
2
)
{
if
(
series
.
length
===
2
)
{
series
[
0
].
data
.
push
(
fenToYuan
(
item
?.
value
?.
orderPayPrice
||
0
))
// 当前金额
series
[
0
].
data
.
push
(
fenToYuan
(
item
?.
value
?.
orderPayPrice
||
0
))
// 当前金额
series
[
1
].
data
.
push
(
fenToYuan
(
item
?.
value
?.
orderPayCount
||
0
)
)
// 当前数量
series
[
1
].
data
.
push
(
item
?.
value
?.
orderPayCount
||
0
)
// 当前数量
}
else
{
}
else
{
series
[
0
].
data
.
push
(
fenToYuan
(
item
?.
reference
?.
orderPayPrice
||
0
))
// 对照金额
series
[
0
].
data
.
push
(
fenToYuan
(
item
?.
reference
?.
orderPayPrice
||
0
))
// 对照金额
series
[
1
].
data
.
push
(
fenToYuan
(
item
?.
value
?.
orderPayPrice
||
0
))
// 当前金额
series
[
1
].
data
.
push
(
fenToYuan
(
item
?.
value
?.
orderPayPrice
||
0
))
// 当前金额
...
...
src/views/mall/product/spu/form/ProductPropertyAddForm.vue
View file @
4acd379d
...
@@ -7,6 +7,7 @@
...
@@ -7,6 +7,7 @@
:model=
"formData"
:model=
"formData"
:rules=
"formRules"
:rules=
"formRules"
label-width=
"80px"
label-width=
"80px"
@
keydown
.
enter
.
prevent=
"submitForm"
>
>
<el-form-item
label=
"属性名称"
prop=
"name"
>
<el-form-item
label=
"属性名称"
prop=
"name"
>
<el-input
v-model=
"formData.name"
placeholder=
"请输入名称"
/>
<el-input
v-model=
"formData.name"
placeholder=
"请输入名称"
/>
...
...
src/views/mp/account/index.vue
View file @
4acd379d
...
@@ -37,7 +37,7 @@
...
@@ -37,7 +37,7 @@
<el-table-column
label=
"appId"
align=
"center"
prop=
"appId"
width=
"180"
/>
<el-table-column
label=
"appId"
align=
"center"
prop=
"appId"
width=
"180"
/>
<el-table-column
label=
"服务器地址(URL)"
align=
"center"
prop=
"appId"
width=
"360"
>
<el-table-column
label=
"服务器地址(URL)"
align=
"center"
prop=
"appId"
width=
"360"
>
<template
#
default=
"scope"
>
<template
#
default=
"scope"
>
{{
'http://服务端地址/mp/open/'
+
scope
.
row
.
appId
}}
{{
'http://服务端地址/
admin-api/
mp/open/'
+
scope
.
row
.
appId
}}
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"二维码"
align=
"center"
prop=
"qrCodeUrl"
>
<el-table-column
label=
"二维码"
align=
"center"
prop=
"qrCodeUrl"
>
...
...
src/views/pay/app/components/channel/WeixinChannelForm.vue
View file @
4acd379d
...
@@ -80,7 +80,8 @@
...
@@ -80,7 +80,8 @@
:http-request=
"keyContentUpload"
:http-request=
"keyContentUpload"
>
>
<el-button
type=
"primary"
>
<el-button
type=
"primary"
>
<Icon
icon=
"ep:upload"
class=
"mr-5px"
/>
点击上传
<Icon
icon=
"ep:upload"
class=
"mr-5px"
/>
点击上传
</el-button>
</el-button>
</el-upload>
</el-upload>
</el-form-item>
</el-form-item>
...
@@ -120,7 +121,8 @@
...
@@ -120,7 +121,8 @@
:http-request=
"privateKeyContentUpload"
:http-request=
"privateKeyContentUpload"
>
>
<el-button
type=
"primary"
>
<el-button
type=
"primary"
>
<Icon
icon=
"ep:upload"
class=
"mr-5px"
/>
点击上传
<Icon
icon=
"ep:upload"
class=
"mr-5px"
/>
点击上传
</el-button>
</el-button>
</el-upload>
</el-upload>
</el-form-item>
</el-form-item>
...
@@ -148,7 +150,8 @@
...
@@ -148,7 +150,8 @@
:http-request=
"privateCertContentUpload"
:http-request=
"privateCertContentUpload"
>
>
<el-button
type=
"primary"
>
<el-button
type=
"primary"
>
<Icon
icon=
"ep:upload"
class=
"mr-5px"
/>
点击上传
<Icon
icon=
"ep:upload"
class=
"mr-5px"
/>
点击上传
</el-button>
</el-button>
</el-upload>
</el-upload>
</el-form-item>
</el-form-item>
...
@@ -310,7 +313,7 @@ const pemFileBeforeUpload = (file) => {
...
@@ -310,7 +313,7 @@ const pemFileBeforeUpload = (file) => {
/**
/**
* 读取 apiclient_key.pem 到 privateKeyContent 字段
* 读取 apiclient_key.pem 到 privateKeyContent 字段
*/
*/
const
privateKeyContentUpload
=
(
event
)
=>
{
const
privateKeyContentUpload
=
async
(
event
)
=>
{
const
readFile
=
new
FileReader
()
const
readFile
=
new
FileReader
()
readFile
.
onload
=
(
e
:
any
)
=>
{
readFile
.
onload
=
(
e
:
any
)
=>
{
formData
.
value
.
config
.
privateKeyContent
=
e
.
target
.
result
formData
.
value
.
config
.
privateKeyContent
=
e
.
target
.
result
...
@@ -321,7 +324,7 @@ const privateKeyContentUpload = (event) => {
...
@@ -321,7 +324,7 @@ const privateKeyContentUpload = (event) => {
/**
/**
* 读取 apiclient_cert.pem 到 privateCertContent 字段
* 读取 apiclient_cert.pem 到 privateCertContent 字段
*/
*/
const
privateCertContentUpload
=
(
event
)
=>
{
const
privateCertContentUpload
=
async
(
event
)
=>
{
const
readFile
=
new
FileReader
()
const
readFile
=
new
FileReader
()
readFile
.
onload
=
(
e
:
any
)
=>
{
readFile
.
onload
=
(
e
:
any
)
=>
{
formData
.
value
.
config
.
privateCertContent
=
e
.
target
.
result
formData
.
value
.
config
.
privateCertContent
=
e
.
target
.
result
...
@@ -332,7 +335,7 @@ const privateCertContentUpload = (event) => {
...
@@ -332,7 +335,7 @@ const privateCertContentUpload = (event) => {
/**
/**
* 读取 apiclient_cert.p12 到 keyContent 字段
* 读取 apiclient_cert.p12 到 keyContent 字段
*/
*/
const
keyContentUpload
=
(
event
)
=>
{
const
keyContentUpload
=
async
(
event
)
=>
{
const
readFile
=
new
FileReader
()
const
readFile
=
new
FileReader
()
readFile
.
onload
=
(
e
:
any
)
=>
{
readFile
.
onload
=
(
e
:
any
)
=>
{
formData
.
value
.
config
.
keyContent
=
e
.
target
.
result
.
split
(
','
)[
1
]
formData
.
value
.
config
.
keyContent
=
e
.
target
.
result
.
split
(
','
)[
1
]
...
...
src/views/pay/app/index.vue
View file @
4acd379d
...
@@ -45,10 +45,17 @@
...
@@ -45,10 +45,17 @@
/>
/>
</el-form-item>
</el-form-item>
<el-form-item>
<el-form-item>
<el-button
@
click=
"handleQuery"
>
<Icon
icon=
"ep:search"
class=
"mr-5px"
/>
搜索
</el-button>
<el-button
@
click=
"handleQuery"
>
<el-button
@
click=
"resetQuery"
>
<Icon
icon=
"ep:refresh"
class=
"mr-5px"
/>
重置
</el-button>
<Icon
icon=
"ep:search"
class=
"mr-5px"
/>
搜索
</el-button>
<el-button
@
click=
"resetQuery"
>
<Icon
icon=
"ep:refresh"
class=
"mr-5px"
/>
重置
</el-button>
<el-button
type=
"primary"
plain
@
click=
"openForm('create')"
v-hasPermi=
"['pay:app:create']"
>
<el-button
type=
"primary"
plain
@
click=
"openForm('create')"
v-hasPermi=
"['pay:app:create']"
>
<Icon
icon=
"ep:plus"
class=
"mr-5px"
/>
新增
<Icon
icon=
"ep:plus"
class=
"mr-5px"
/>
新增
</el-button>
</el-button>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
...
@@ -70,93 +77,18 @@
...
@@ -70,93 +77,18 @@
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"支付宝配置"
align=
"center"
>
<el-table-column
label=
"支付宝配置"
align=
"center"
>
<el-table-column
:label=
"PayChannelEnum.ALIPAY_APP.name"
align=
"center"
>
<el-table-column
<
template
#
default=
"scope"
>
:label=
"channel.name"
<el-button
align=
"center"
type=
"success"
v-for=
"channel in alipayChannels"
v-if=
"isChannelExists(scope.row.channelCodes, PayChannelEnum.ALIPAY_APP.code)"
:key=
"channel.code"
@
click=
"openChannelForm(scope.row, PayChannelEnum.ALIPAY_APP.code)"
circle
>
<Icon
icon=
"ep:check"
/>
</el-button>
<el-button
v-else
type=
"danger"
circle
@
click=
"openChannelForm(scope.row, PayChannelEnum.ALIPAY_APP.code)"
>
<Icon
icon=
"ep:close"
/>
</el-button>
</
template
>
</el-table-column>
<el-table-column
:label=
"PayChannelEnum.ALIPAY_PC.name"
align=
"center"
>
<
template
#
default=
"scope"
>
<el-button
type=
"success"
circle
v-if=
"isChannelExists(scope.row.channelCodes, PayChannelEnum.ALIPAY_PC.code)"
@
click=
"openChannelForm(scope.row, PayChannelEnum.ALIPAY_PC.code)"
>
<Icon
icon=
"ep:check"
/>
</el-button>
<el-button
v-else
type=
"danger"
circle
@
click=
"openChannelForm(scope.row, PayChannelEnum.ALIPAY_PC.code)"
>
<Icon
icon=
"ep:close"
/>
</el-button>
</
template
>
</el-table-column>
<el-table-column
:label=
"PayChannelEnum.ALIPAY_WAP.name"
align=
"center"
>
<
template
#
default=
"scope"
>
<el-button
type=
"success"
circle
v-if=
"isChannelExists(scope.row.channelCodes, PayChannelEnum.ALIPAY_WAP.code)"
@
click=
"openChannelForm(scope.row, PayChannelEnum.ALIPAY_WAP.code)"
>
<Icon
icon=
"ep:check"
/>
</el-button>
<el-button
v-else
type=
"danger"
circle
@
click=
"openChannelForm(scope.row, PayChannelEnum.ALIPAY_WAP.code)"
>
<Icon
icon=
"ep:close"
/>
</el-button>
</
template
>
</el-table-column>
<el-table-column
:label=
"PayChannelEnum.ALIPAY_QR.name"
align=
"center"
>
<
template
#
default=
"scope"
>
<el-button
type=
"success"
circle
v-if=
"isChannelExists(scope.row.channelCodes, PayChannelEnum.ALIPAY_QR.code)"
@
click=
"openChannelForm(scope.row, PayChannelEnum.ALIPAY_QR.code)"
>
<Icon
icon=
"ep:check"
/>
</el-button>
<el-button
v-else
type=
"danger"
circle
@
click=
"openChannelForm(scope.row, PayChannelEnum.ALIPAY_QR.code)"
>
>
<Icon
icon=
"ep:close"
/>
</el-button>
</
template
>
</el-table-column>
<el-table-column
:label=
"PayChannelEnum.ALIPAY_BAR.name"
align=
"center"
>
<
template
#
default=
"scope"
>
<
template
#
default=
"scope"
>
<el-button
<el-button
type=
"success"
type=
"success"
v-if=
"isChannelExists(scope.row.channelCodes, channel.code)"
@
click=
"openChannelForm(scope.row, channel.code)"
circle
circle
v-if=
"isChannelExists(scope.row.channelCodes, PayChannelEnum.ALIPAY_BAR.code)"
@
click=
"openChannelForm(scope.row, PayChannelEnum.ALIPAY_BAR.code)"
>
>
<Icon
icon=
"ep:check"
/>
<Icon
icon=
"ep:check"
/>
</el-button>
</el-button>
...
@@ -164,7 +96,7 @@
...
@@ -164,7 +96,7 @@
v-else
v-else
type=
"danger"
type=
"danger"
circle
circle
@
click=
"openChannelForm(scope.row,
PayChannelEnum.ALIPAY_BAR
.code)"
@
click=
"openChannelForm(scope.row,
channel
.code)"
>
>
<Icon
icon=
"ep:close"
/>
<Icon
icon=
"ep:close"
/>
</el-button>
</el-button>
...
@@ -172,33 +104,18 @@
...
@@ -172,33 +104,18 @@
</el-table-column>
</el-table-column>
</el-table-column>
</el-table-column>
<el-table-column
label=
"微信配置"
align=
"center"
>
<el-table-column
label=
"微信配置"
align=
"center"
>
<el-table-column
:label=
"PayChannelEnum.WX_LITE.name"
align=
"center"
>
<el-table-column
<
template
#
default=
"scope"
>
:label=
"channel.name"
<el-button
align=
"center"
type=
"success"
v-for=
"channel in wxChannels"
circle
:key=
"channel.code"
v-if=
"isChannelExists(scope.row.channelCodes, PayChannelEnum.WX_LITE.code)"
@
click=
"openChannelForm(scope.row, PayChannelEnum.WX_LITE.code)"
>
>
<Icon
icon=
"ep:check"
/>
</el-button>
<el-button
v-else
type=
"danger"
circle
@
click=
"openChannelForm(scope.row, PayChannelEnum.WX_LITE.code)"
>
<Icon
icon=
"ep:close"
/>
</el-button>
</
template
>
</el-table-column>
<el-table-column
:label=
"PayChannelEnum.WX_PUB.name"
align=
"center"
>
<
template
#
default=
"scope"
>
<
template
#
default=
"scope"
>
<el-button
<el-button
type=
"success"
type=
"success"
v-if=
"isChannelExists(scope.row.channelCodes, channel.code)"
@
click=
"openChannelForm(scope.row, channel.code)"
circle
circle
v-if=
"isChannelExists(scope.row.channelCodes, PayChannelEnum.WX_PUB.code)"
@
click=
"openChannelForm(scope.row, PayChannelEnum.WX_PUB.code)"
>
>
<Icon
icon=
"ep:check"
/>
<Icon
icon=
"ep:check"
/>
</el-button>
</el-button>
...
@@ -206,47 +123,7 @@
...
@@ -206,47 +123,7 @@
v-else
v-else
type=
"danger"
type=
"danger"
circle
circle
@
click=
"openChannelForm(scope.row, PayChannelEnum.WX_PUB.code)"
@
click=
"openChannelForm(scope.row, channel.code)"
>
<Icon
icon=
"ep:close"
/>
</el-button>
</
template
>
</el-table-column>
<el-table-column
:label=
"PayChannelEnum.WX_APP.name"
align=
"center"
>
<
template
#
default=
"scope"
>
<el-button
type=
"success"
circle
v-if=
"isChannelExists(scope.row.channelCodes, PayChannelEnum.WX_APP.code)"
@
click=
"openChannelForm(scope.row, PayChannelEnum.WX_APP.code)"
>
<Icon
icon=
"ep:check"
/>
</el-button>
<el-button
v-else
type=
"danger"
circle
@
click=
"openChannelForm(scope.row, PayChannelEnum.WX_APP.code)"
>
<Icon
icon=
"ep:close"
/>
</el-button>
</
template
>
</el-table-column>
<el-table-column
:label=
"PayChannelEnum.WX_BAR.name"
align=
"center"
>
<
template
#
default=
"scope"
>
<el-button
type=
"success"
circle
v-if=
"isChannelExists(scope.row.channelCodes, PayChannelEnum.WX_BAR.code)"
@
click=
"openChannelForm(scope.row, PayChannelEnum.WX_BAR.code)"
>
<Icon
icon=
"ep:check"
/>
</el-button>
<el-button
v-else
type=
"danger"
circle
@
click=
"openChannelForm(scope.row, PayChannelEnum.WX_BAR.code)"
>
>
<Icon
icon=
"ep:close"
/>
<Icon
icon=
"ep:close"
/>
</el-button>
</el-button>
...
@@ -338,12 +215,11 @@
...
@@ -338,12 +215,11 @@
import
{
DICT_TYPE
,
getIntDictOptions
}
from
'@/utils/dict'
import
{
DICT_TYPE
,
getIntDictOptions
}
from
'@/utils/dict'
import
*
as
AppApi
from
'@/api/pay/app'
import
*
as
AppApi
from
'@/api/pay/app'
import
AppForm
from
'./components/AppForm.vue'
import
AppForm
from
'./components/AppForm.vue'
import
{
PayChannelEnum
}
from
'@/utils/constants'
import
{
CommonStatusEnum
,
PayChannelEnum
}
from
'@/utils/constants'
import
AlipayChannelForm
from
'./components/channel/AlipayChannelForm.vue'
import
AlipayChannelForm
from
'./components/channel/AlipayChannelForm.vue'
import
WeixinChannelForm
from
'./components/channel/WeixinChannelForm.vue'
import
WeixinChannelForm
from
'./components/channel/WeixinChannelForm.vue'
import
MockChannelForm
from
'./components/channel/MockChannelForm.vue'
import
MockChannelForm
from
'./components/channel/MockChannelForm.vue'
import
WalletChannelForm
from
'./components/channel/WalletChannelForm.vue'
import
WalletChannelForm
from
'./components/channel/WalletChannelForm.vue'
import
{
CommonStatusEnum
}
from
'@/utils/constants'
defineOptions
({
name
:
'PayApp'
})
defineOptions
({
name
:
'PayApp'
})
...
@@ -365,6 +241,23 @@ const queryParams = reactive({
...
@@ -365,6 +241,23 @@ const queryParams = reactive({
})
})
const
queryFormRef
=
ref
()
// 搜索的表单
const
queryFormRef
=
ref
()
// 搜索的表单
const
alipayChannels
=
[
PayChannelEnum
.
ALIPAY_APP
,
PayChannelEnum
.
ALIPAY_PC
,
PayChannelEnum
.
ALIPAY_WAP
,
PayChannelEnum
.
ALIPAY_QR
,
PayChannelEnum
.
ALIPAY_BAR
]
const
wxChannels
=
[
PayChannelEnum
.
WX_LITE
,
PayChannelEnum
.
WX_PUB
,
PayChannelEnum
.
WX_APP
,
PayChannelEnum
.
WX_NATIVE
,
PayChannelEnum
.
WX_WAP
,
PayChannelEnum
.
WX_BAR
,
]
/** 查询列表 */
/** 查询列表 */
const
getList
=
async
()
=>
{
const
getList
=
async
()
=>
{
loading
.
value
=
true
loading
.
value
=
true
...
...
src/views/pay/demo/order/index.vue
View file @
4acd379d
...
@@ -147,7 +147,7 @@ const handlePay = (row: any) => {
...
@@ -147,7 +147,7 @@ const handlePay = (row: any) => {
name
:
'PayCashier'
,
name
:
'PayCashier'
,
query
:
{
query
:
{
id
:
row
.
payOrderId
,
id
:
row
.
payOrderId
,
returnUrl
:
encodeURIComponent
(
'/pay/demo
-
order?id='
+
row
.
id
)
returnUrl
:
encodeURIComponent
(
'/pay/demo
/
order?id='
+
row
.
id
)
}
}
})
})
}
}
...
...
src/views/system/operatelog/index.vue
View file @
4acd379d
...
@@ -13,7 +13,8 @@
...
@@ -13,7 +13,8 @@
<el-form-item
label=
"操作人"
prop=
"userId"
>
<el-form-item
label=
"操作人"
prop=
"userId"
>
<el-select
<el-select
v-model=
"queryParams.userId"
v-model=
"queryParams.userId"
multiple
clearable
filterable
placeholder=
"请输入操作人员"
placeholder=
"请输入操作人员"
class=
"!w-240px"
class=
"!w-240px"
>
>
...
...
types/env.d.ts
View file @
4acd379d
...
@@ -14,6 +14,9 @@ interface ImportMetaEnv {
...
@@ -14,6 +14,9 @@ interface ImportMetaEnv {
readonly
VITE_DEV
:
string
readonly
VITE_DEV
:
string
readonly
VITE_APP_CAPTCHA_ENABLE
:
string
readonly
VITE_APP_CAPTCHA_ENABLE
:
string
readonly
VITE_APP_TENANT_ENABLE
:
string
readonly
VITE_APP_TENANT_ENABLE
:
string
readonly
VITE_APP_DEFAULT_LOGIN_TENANT
:
string
readonly
VITE_APP_DEFAULT_LOGIN_USERNAME
:
string
readonly
VITE_APP_DEFAULT_LOGIN_PASSWORD
:
string
readonly
VITE_APP_DOCALERT_ENABLE
:
string
readonly
VITE_APP_DOCALERT_ENABLE
:
string
readonly
VITE_BASE_URL
:
string
readonly
VITE_BASE_URL
:
string
readonly
VITE_UPLOAD_URL
:
string
readonly
VITE_UPLOAD_URL
:
string
...
...
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