Browse Source

页面修改

main
GhubCy 2 months ago
parent
commit
8d9da81efb
  1. 95
      src/views/business/faq/index.vue
  2. 200
      src/views/business/recordPayCallback/index.vue
  3. 13
      src/views/business/recordTransaction/index.vue
  4. 40
      src/views/business/userAccount/index.vue

95
src/views/business/faq/index.vue

@ -40,7 +40,10 @@
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{ $t('common.button.search') }}</el-button>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{
$t('common.button.search')
}}
</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">{{ $t('common.button.reset') }}</el-button>
</el-form-item>
</el-form>
@ -100,8 +103,16 @@
<el-table-column label="ID" align="center" prop="id" v-if="true"/>
<el-table-column label="问题描述" align="center" prop="question"/>
<el-table-column label="答案内容" align="center" prop="answer"/>
<el-table-column label="问题分类" align="center" prop="category"/>
<el-table-column label="状态" align="center" prop="status"/>
<el-table-column label="问题分类" align="center" prop="category">
<template slot-scope="scope">
<span>{{ formatCategory(scope.row.category) }}</span>
</template>
</el-table-column>
<el-table-column label="状态" align="center" prop="status">
<template slot-scope="scope">
<span>{{ formatStatus(scope.row.status) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="200" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
@ -148,31 +159,42 @@
<el-form-item label="答案内容" prop="answer">
<el-input v-model="form.answer" type="textarea" placeholder="请输入内容"/>
</el-form-item>
<el-form-item label="问题分类" prop="category">
<!-- 下拉框-->
<el-select v-model="form.category" placeholder="请选择问题分类" clearable>
<el-option
v-for="dict in categoryOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
<el-form-item label="状态" prop="status">
<!-- 下拉框 -->
<el-select v-model="form.status" placeholder="请选择状态" clearable>
<el-option
v-for="dict in statusOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
<el-row>
<el-col :span="12">
<el-form-item label="问题分类" prop="category">
<!-- 下拉框-->
<el-select v-model="form.category" placeholder="请选择问题分类" clearable>
<el-option
v-for="dict in categoryOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="状态" prop="status">
<!-- 下拉框 -->
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.dictValue"
:label="dict.dictValue"
>{{ dict.dictLabel }}
</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button :loading="buttonLoading" type="primary" @click="submitForm">{{ $t('common.button.confirm') }}</el-button>
<el-button :loading="buttonLoading" type="primary" @click="submitForm">{{
$t('common.button.confirm')
}}
</el-button>
<el-button @click="cancel">{{ $t('common.button.cancel') }}</el-button>
</div>
</el-dialog>
@ -187,7 +209,10 @@
{{ form.answer }}
</el-form-item>
<el-form-item label="问题分类:">
{{ form.category }}
{{ formatCategory(form.category) }}
</el-form-item>
<el-form-item label="状态:">
{{ formatStatus(form.status) }}
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -236,10 +261,10 @@ export default {
status: undefined,
},
categoryOptions: [
{dictValue: '1', dictLabel: '技术问题'},
{dictValue: '2', dictLabel: '业务问题'},
{dictValue: '3', dictLabel: '其他问题'},
{dictValue: '4', dictLabel: '产品问题'}
{dictValue: '1', dictLabel: '支付问题'},
{dictValue: '2', dictLabel: '账户问题'},
{dictValue: '3', dictLabel: '交易问题'},
{dictValue: '4', dictLabel: '技术/积分问题'}
],
statusOptions: [
{dictValue: '0', dictLabel: '无效'},
@ -273,6 +298,14 @@ export default {
this.getList();
},
methods: {
formatCategory(category) {
const dict = this.categoryOptions.find(item => item.dictValue === category);
return dict ? dict.dictLabel : category;
},
formatStatus(status) {
const dict = this.statusOptions.find(item => item.dictValue == status);
return dict ? dict.dictLabel : status;
},
/** 查询常见问题及答案列表 */
getList() {
this.loading = true;

200
src/views/business/recordPayCallback/index.vue

@ -25,6 +25,26 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="处理状态" prop="processingStatus">
<el-select v-model="queryParams.processingStatus" placeholder="请选择处理状态" clearable>
<el-option
v-for="dict in processingStatusOptions"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="交易状态" prop="transactionStatus">
<el-select v-model="queryParams.transactionStatus" placeholder="请选择交易状态" clearable>
<el-option
v-for="dict in transactionStatusOptions"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="渠道编号" prop="paymentChannelNo">
<el-input
v-model="queryParams.paymentChannelNo"
@ -42,7 +62,10 @@
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{ $t('common.button.search') }}</el-button>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{
$t('common.button.search')
}}
</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">{{ $t('common.button.reset') }}</el-button>
</el-form-item>
</el-form>
@ -56,7 +79,8 @@
size="mini"
@click="handleAdd"
v-hasPermi="['business:recordPayCallback:add']"
>{{ $t('common.button.add') }}</el-button>
>{{ $t('common.button.add') }}
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
@ -67,7 +91,8 @@
:disabled="single"
@click="handleUpdate"
v-hasPermi="['business:recordPayCallback:edit']"
>{{ $t('common.button.edit') }}</el-button>
>{{ $t('common.button.edit') }}
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
@ -78,7 +103,8 @@
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['business:recordPayCallback:remove']"
>{{ $t('common.button.delete') }}</el-button>
>{{ $t('common.button.delete') }}
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
@ -88,7 +114,8 @@
size="mini"
@click="handleExport"
v-hasPermi="['business:recordPayCallback:export']"
>{{ $t('common.button.export') }}</el-button>
>{{ $t('common.button.export') }}
</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
@ -96,17 +123,25 @@
<el-table v-loading="loading" :data="recordPayCallbackList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column label="回执编号" align="center" prop="id" v-if="true"/>
<el-table-column label="处理状态" align="center" prop="processingStatus"/>
<el-table-column label="处理状态" align="center" prop="processingStatus">
<template slot-scope="scope">
<span>{{ formatProcessingStatus(scope.row.processingStatus) }}</span>
</template>
</el-table-column>
<el-table-column label="IP地址" align="center" prop="ipAddress"/>
<el-table-column label="用户编号" align="center" prop="userId"/>
<el-table-column label="订单编号" align="center" prop="relatedOrderId"/>
<el-table-column label="平台名称" align="center" prop="thirdPartyPlatform"/>
<el-table-column label="交易金额" align="center" prop="transactionAmount"/>
<el-table-column label="交易状态" align="center" prop="transactionStatus"/>
<el-table-column label="交易状态" align="center" prop="transactionStatus">
<template slot-scope="scope">
<span>{{ formatTransactionStatus(scope.row.transactionStatus) }}</span>
</template>
</el-table-column>
<el-table-column label="渠道编号" align="center" prop="paymentChannelNo"/>
<el-table-column label="回执内容" align="center" prop="receiptContent"/>
<el-table-column label="回执内容" align="center" prop="receiptContent" show-overflow-tooltip/>
<el-table-column label="验证状态" align="center" prop="verificationStatus"/>
<el-table-column label="验证失败原因" align="center" prop="verificationFailureReason"/>
<el-table-column label="验证失败原因" align="center" prop="verificationFailureReason" show-overflow-tooltip/>
<el-table-column label="回执时间" align="center" prop="receiptTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.receiptTime, '{y}-{m}-{d}') }}</span>
@ -119,21 +154,24 @@
type="text"
icon="el-icon-view"
@click="handleDetail(scope.row)"
>{{ $t('common.button.detail') }}</el-button>
>{{ $t('common.button.detail') }}
</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['business:recordPayCallback:edit']"
>{{ $t('common.button.edit') }}</el-button>
>{{ $t('common.button.edit') }}
</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['business:recordPayCallback:remove']"
>{{ $t('common.button.delete') }}</el-button>
>{{ $t('common.button.delete') }}
</el-button>
</template>
</el-table-column>
</el-table>
@ -161,29 +199,64 @@
<el-form-item label="支付平台" prop="thirdPartyPlatform">
<el-input v-model="form.thirdPartyPlatform" placeholder="请输入第三方支付平台名称"/>
</el-form-item>
<el-form-item label="交易金额" prop="transactionAmount">
<el-input v-model="form.transactionAmount" placeholder="请输入交易金额"/>
</el-form-item>
<el-form-item label="渠道编号" prop="paymentChannelNo">
<el-input v-model="form.paymentChannelNo" placeholder="请输入支付渠道交易编号"/>
</el-form-item>
<el-form-item label="回执时间" prop="receiptTime">
<el-date-picker clearable
v-model="form.receiptTime"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="请选择回执时间">
</el-date-picker>
</el-form-item>
<el-form-item label="回执内容">
<editor v-model="form.receiptContent" :min-height="192"/>
<el-row :gutter="10" class="mb8">
<el-col :span="12">
<el-form-item label="交易金额" prop="transactionAmount">
<el-input v-model="form.transactionAmount" placeholder="请输入交易金额"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="回执时间" prop="receiptTime">
<el-date-picker clearable
v-model="form.receiptTime"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="请选择回执时间">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="处理状态" prop="processingStatus">
<el-select v-model="form.processingStatus" placeholder="请选择处理状态" clearable>
<el-option
v-for="dict in processingStatusOptions"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="交易状态" prop="transactionStatus">
<el-select v-model="form.transactionStatus" placeholder="请选择交易状态" clearable>
<el-option
v-for="dict in transactionStatusOptions"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="回执内容" prop="receiptContent">
<el-input v-model="form.receiptContent" type="textarea" placeholder="请输入内容"/>
</el-form-item>
<el-form-item label="失败原因" prop="verificationFailureReason">
<el-input v-model="form.verificationFailureReason" type="textarea" placeholder="请输入内容"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button :loading="buttonLoading" type="primary" @click="submitForm">{{ $t('common.button.confirm') }}</el-button>
<el-button :loading="buttonLoading" type="primary" @click="submitForm">{{
$t('common.button.confirm')
}}
</el-button>
<el-button @click="cancel">{{ $t('common.button.cancel') }}</el-button>
</div>
</el-dialog>
@ -210,15 +283,16 @@
{{ form.paymentChannelNo }}
</el-form-item>
<el-form-item label="回执时间" prop="receiptTime">
<el-date-picker clearable
v-model="form.receiptTime"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="请选择回执时间">
</el-date-picker>
{{ parseTime(form.receiptTime, '{y}-{m}-{d} {h}:{i}:{s}') }}
</el-form-item>
<el-form-item label="处理状态" prop="processingStatus">
{{ formatProcessingStatus(form.processingStatus) }}
</el-form-item>
<el-form-item label="交易状态" prop="transactionStatus">
{{ formatTransactionStatus(form.transactionStatus) }}
</el-form-item>
<el-form-item label="回执内容">
<editor v-model="form.receiptContent" :min-height="192"/>
{{ form.receiptContent }}
</el-form-item>
<el-form-item label="失败原因:">
{{ form.verificationFailureReason }}
@ -244,6 +318,19 @@ export default {
name: "RecordPayCallback",
data() {
return {
//
processingStatusOptions: [
{value: "1", label: "成功处理的回调"},
{value: "0", label: "处理中的回调"},
{value: "2", label: "处理失败的回调"}
],
//
transactionStatusOptions: [
{value: "1", label: "支付成功"},
{value: "2", label: "支付处理中"},
{value: "3", label: "支付失败"},
{value: "4", label: "退款成功"}
],
// loading
buttonLoading: false,
//
@ -286,7 +373,24 @@ export default {
//
form: {},
//
rules: {}
rules: {
userId: [
{required: true, message: "用户编号不能为空", trigger: "blur"},
{pattern: /^\d+$/, message: "用户编号必须为数字", trigger: "blur"}
],
relatedOrderId: [
{required: true, message: "订单编号不能为空", trigger: "blur"},
{pattern: /^\d+$/, message: "订单编号必须为数字", trigger: "blur"}
],
transactionAmount: [
{required: true, message: "交易金额不能为空", trigger: "blur"},
{pattern: /^\d+(\.\d+)?$/, message: "交易金额必须为数字", trigger: "blur"}
],
paymentChannelNo: [
{required: true, message: "渠道编号不能为空", trigger: "blur"},
{pattern: /^\d+$/, message: "渠道编号必须为数字", trigger: "blur"}
]
}
};
},
created() {
@ -418,7 +522,33 @@ export default {
this.download('business/recordPayCallback/export', {
...this.queryParams
}, `recordPayCallback_${new Date().getTime()}.xlsx`)
},
formatProcessingStatus(status) {
switch (Number(status)) {
case 1:
return '成功处理的回调'
case 0:
return '处理中的回调'
case 2:
return '处理失败的回调'
default:
return status
}
},
formatTransactionStatus(status) {
switch (Number(status)) {
case 1:
return '支付成功'
case 2:
return '支付处理中'
case 3:
return '支付失败'
case 4:
return '退款成功'
default:
return status
}
}
}
};
}
</script>

13
src/views/business/recordTransaction/index.vue

@ -156,8 +156,8 @@
<el-form-item label="账单编码" prop="billCode">
<el-input v-model="form.billCode" placeholder="请输入账单编码"/>
</el-form-item>
<el-form-item label="用户ID" prop="receiverId">
<el-input v-model="form.receiverId" placeholder="请输入目标用户ID"/>
<el-form-item label="接收用户ID" prop="receiverId">
<el-input v-model="form.receiverId" placeholder="请输入接收用户ID"/>
</el-form-item>
<el-form-item label="账户编号" prop="receiverAccount">
<el-input v-model="form.receiverAccount" placeholder="请输入目标用户账户编号"/>
@ -274,13 +274,18 @@ export default {
//
rules: {
senderId: [
{required: true, message: "用户ID不能为空", trigger: "blur"}
{required: true, message: "用户ID不能为空", trigger: "blur"},
{pattern: /^\d+$/, message: "请输入数字", trigger: "blur"}
],
senderAccount: [
{required: true, message: "账户编号不能为空", trigger: "blur"}
],
billCode: [
{required: true, message: "账单编码不能为空", trigger: "blur"}
],
receiverId: [
{required: true, message: "目标用户ID不能为空", trigger: "blur"}
{required: true, message: "目标用户ID不能为空", trigger: "blur"},
{pattern: /^\d+$/, message: "请输入数字", trigger: "blur"}
],
receiverAccount: [
{required: true, message: "目标用户账户编号不能为空", trigger: "blur"}

40
src/views/business/userAccount/index.vue

@ -65,14 +65,14 @@
</el-table-column>
<el-table-column label="账户类型" align="center" prop="accountType">
<template slot-scope="scope">
<el-tag v-if="scope.row.accountType == 0">普通账户</el-tag>
<el-tag v-if="scope.row.accountType == 0">普通账户</el-tag>
<el-tag type="warning" v-if="scope.row.accountType == 1">商企账户</el-tag>
</template>
</el-table-column>
<el-table-column label="账户级别" align="center" prop="isPrimary">
<template slot-scope="scope">
<el-tag type="warning" v-if="scope.row.isPrimary == 0">主账户</el-tag>
<el-tag v-if="scope.row.isPrimary == 1">子账户</el-tag>
<el-tag v-if="scope.row.isPrimary == 1">子账户</el-tag>
</template>
</el-table-column>
<el-table-column :label="$t('business.userAccount.status')" align="center" prop="status">
@ -83,20 +83,24 @@
</el-table-column>
<el-table-column :label="$t('common.button.operation')" align="center" width="200"
class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-plus" @click="handleAdd(scope.row)" v-if="(scope.row.id == null)"
v-hasPermi="['business:userAccount:edit']">创建
</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-if="(scope.row.id != null)"
v-hasPermi="['business:userAccount:edit']">{{ $t('common.button.edit') }}
</el-button>
<el-button size="mini" type="text" icon="el-icon-lock" @click="accountLock(scope.row)" v-if="(scope.row.id != null && scope.row.status == 0)"
v-hasPermi="['business:userAccount:remove']">冻结
</el-button>
<el-button size="mini" type="text" icon="el-icon-lock" @click="accountUnlock(scope.row)" v-if="(scope.row.id != null && scope.row.status == 1)"
v-hasPermi="['business:userAccount:remove']">解冻
</el-button>
</template>
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-plus" @click="handleAdd(scope.row)"
v-if="(scope.row.id == null)"
v-hasPermi="['business:userAccount:edit']">创建
</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-if="(scope.row.id != null)"
v-hasPermi="['business:userAccount:edit']">{{ $t('common.button.edit') }}
</el-button>
<el-button size="mini" type="text" icon="el-icon-lock" @click="accountLock(scope.row)"
v-if="(scope.row.id != null && scope.row.status == 0)"
v-hasPermi="['business:userAccount:remove']">冻结
</el-button>
<el-button size="mini" type="text" icon="el-icon-lock" @click="accountUnlock(scope.row)"
v-if="(scope.row.id != null && scope.row.status == 1)"
v-hasPermi="['business:userAccount:remove']">解冻
</el-button>
</template>
</el-table-column>
</el-table>
@ -353,7 +357,7 @@ export default {
}).then(() => {
this.loading = false;
this.getList();
this.$modal.msgSuccess('账户“'+ row.accountName + '”已冻结!');
this.$modal.msgSuccess('账户“' + row.accountName + '”已冻结!');
}).catch(() => {
}).finally(() => {
this.loading = false;
@ -368,7 +372,7 @@ export default {
}).then(() => {
this.loading = false;
this.getList();
this.$modal.msgSuccess('已解除对账户“'+ row.accountName + '”的冻结状态!');
this.$modal.msgSuccess('已解除对账户“' + row.accountName + '”的冻结状态!');
}).catch(() => {
}).finally(() => {
this.loading = false;

Loading…
Cancel
Save