26 changed files with 3778 additions and 751 deletions
@ -0,0 +1,44 @@ |
|||||
|
import request from '@/utils/request' |
||||
|
|
||||
|
// 查询应用程序版本控制列表
|
||||
|
export function listAppVersion(query) { |
||||
|
return request({ |
||||
|
url: '/business/appVersion/list', |
||||
|
method: 'get', |
||||
|
params: query |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 查询应用程序版本控制详细
|
||||
|
export function getAppVersion(id) { |
||||
|
return request({ |
||||
|
url: '/business/appVersion/' + id, |
||||
|
method: 'get' |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 新增应用程序版本控制
|
||||
|
export function addAppVersion(data) { |
||||
|
return request({ |
||||
|
url: '/business/appVersion', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 修改应用程序版本控制
|
||||
|
export function updateAppVersion(data) { |
||||
|
return request({ |
||||
|
url: '/business/appVersion', |
||||
|
method: 'put', |
||||
|
data: data |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 删除应用程序版本控制
|
||||
|
export function delAppVersion(id) { |
||||
|
return request({ |
||||
|
url: '/business/appVersion/' + id, |
||||
|
method: 'delete' |
||||
|
}) |
||||
|
} |
@ -0,0 +1,44 @@ |
|||||
|
import request from '@/utils/request' |
||||
|
|
||||
|
// 查询模型管理信息列表
|
||||
|
export function listBehaviorModelInfo(query) { |
||||
|
return request({ |
||||
|
url: '/business/behaviorModelInfo/list', |
||||
|
method: 'get', |
||||
|
params: query |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 查询模型管理信息详细
|
||||
|
export function getBehaviorModelInfo(id) { |
||||
|
return request({ |
||||
|
url: '/business/behaviorModelInfo/' + id, |
||||
|
method: 'get' |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 新增模型管理信息
|
||||
|
export function addBehaviorModelInfo(data) { |
||||
|
return request({ |
||||
|
url: '/business/behaviorModelInfo', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 修改模型管理信息
|
||||
|
export function updateBehaviorModelInfo(data) { |
||||
|
return request({ |
||||
|
url: '/business/behaviorModelInfo', |
||||
|
method: 'put', |
||||
|
data: data |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 删除模型管理信息
|
||||
|
export function delBehaviorModelInfo(id) { |
||||
|
return request({ |
||||
|
url: '/business/behaviorModelInfo/' + id, |
||||
|
method: 'delete' |
||||
|
}) |
||||
|
} |
@ -0,0 +1,44 @@ |
|||||
|
import request from '@/utils/request' |
||||
|
|
||||
|
// 查询客服与用户的聊天记录列表
|
||||
|
export function listCustomerServiceChat(query) { |
||||
|
return request({ |
||||
|
url: '/business/customerServiceChat/list', |
||||
|
method: 'get', |
||||
|
params: query |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 查询客服与用户的聊天记录详细
|
||||
|
export function getCustomerServiceChat(id) { |
||||
|
return request({ |
||||
|
url: '/business/customerServiceChat/' + id, |
||||
|
method: 'get' |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 新增客服与用户的聊天记录
|
||||
|
export function addCustomerServiceChat(data) { |
||||
|
return request({ |
||||
|
url: '/business/customerServiceChat', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 修改客服与用户的聊天记录
|
||||
|
export function updateCustomerServiceChat(data) { |
||||
|
return request({ |
||||
|
url: '/business/customerServiceChat', |
||||
|
method: 'put', |
||||
|
data: data |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 删除客服与用户的聊天记录
|
||||
|
export function delCustomerServiceChat(id) { |
||||
|
return request({ |
||||
|
url: '/business/customerServiceChat/' + id, |
||||
|
method: 'delete' |
||||
|
}) |
||||
|
} |
@ -0,0 +1,44 @@ |
|||||
|
import request from '@/utils/request' |
||||
|
|
||||
|
// 查询常见问题及答案列表
|
||||
|
export function listFaq(query) { |
||||
|
return request({ |
||||
|
url: '/business/faq/list', |
||||
|
method: 'get', |
||||
|
params: query |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 查询常见问题及答案详细
|
||||
|
export function getFaq(id) { |
||||
|
return request({ |
||||
|
url: '/business/faq/' + id, |
||||
|
method: 'get' |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 新增常见问题及答案
|
||||
|
export function addFaq(data) { |
||||
|
return request({ |
||||
|
url: '/business/faq', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 修改常见问题及答案
|
||||
|
export function updateFaq(data) { |
||||
|
return request({ |
||||
|
url: '/business/faq', |
||||
|
method: 'put', |
||||
|
data: data |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 删除常见问题及答案
|
||||
|
export function delFaq(id) { |
||||
|
return request({ |
||||
|
url: '/business/faq/' + id, |
||||
|
method: 'delete' |
||||
|
}) |
||||
|
} |
@ -0,0 +1,44 @@ |
|||||
|
import request from '@/utils/request' |
||||
|
|
||||
|
// 查询财务记录列表
|
||||
|
export function listFinancialRecord(query) { |
||||
|
return request({ |
||||
|
url: '/business/financialRecord/list', |
||||
|
method: 'get', |
||||
|
params: query |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 查询财务记录详细
|
||||
|
export function getFinancialRecord(id) { |
||||
|
return request({ |
||||
|
url: '/business/financialRecord/' + id, |
||||
|
method: 'get' |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 新增财务记录
|
||||
|
export function addFinancialRecord(data) { |
||||
|
return request({ |
||||
|
url: '/business/financialRecord', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 修改财务记录
|
||||
|
export function updateFinancialRecord(data) { |
||||
|
return request({ |
||||
|
url: '/business/financialRecord', |
||||
|
method: 'put', |
||||
|
data: data |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 删除财务记录
|
||||
|
export function delFinancialRecord(id) { |
||||
|
return request({ |
||||
|
url: '/business/financialRecord/' + id, |
||||
|
method: 'delete' |
||||
|
}) |
||||
|
} |
@ -0,0 +1,44 @@ |
|||||
|
import request from '@/utils/request' |
||||
|
|
||||
|
// 查询交易通道/渠道列表
|
||||
|
export function listTradingChannel(query) { |
||||
|
return request({ |
||||
|
url: '/business/tradingChannel/list', |
||||
|
method: 'get', |
||||
|
params: query |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 查询交易通道/渠道详细
|
||||
|
export function getTradingChannel(id) { |
||||
|
return request({ |
||||
|
url: '/business/tradingChannel/' + id, |
||||
|
method: 'get' |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 新增交易通道/渠道
|
||||
|
export function addTradingChannel(data) { |
||||
|
return request({ |
||||
|
url: '/business/tradingChannel', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 修改交易通道/渠道
|
||||
|
export function updateTradingChannel(data) { |
||||
|
return request({ |
||||
|
url: '/business/tradingChannel', |
||||
|
method: 'put', |
||||
|
data: data |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 删除交易通道/渠道
|
||||
|
export function delTradingChannel(id) { |
||||
|
return request({ |
||||
|
url: '/business/tradingChannel/' + id, |
||||
|
method: 'delete' |
||||
|
}) |
||||
|
} |
@ -0,0 +1,44 @@ |
|||||
|
import request from '@/utils/request' |
||||
|
|
||||
|
// 查询交易通道记录列表
|
||||
|
export function listTradingChannelRecord(query) { |
||||
|
return request({ |
||||
|
url: '/business/tradingChannelRecord/list', |
||||
|
method: 'get', |
||||
|
params: query |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 查询交易通道记录详细
|
||||
|
export function getTradingChannelRecord(id) { |
||||
|
return request({ |
||||
|
url: '/business/tradingChannelRecord/' + id, |
||||
|
method: 'get' |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 新增交易通道记录
|
||||
|
export function addTradingChannelRecord(data) { |
||||
|
return request({ |
||||
|
url: '/business/tradingChannelRecord', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 修改交易通道记录
|
||||
|
export function updateTradingChannelRecord(data) { |
||||
|
return request({ |
||||
|
url: '/business/tradingChannelRecord', |
||||
|
method: 'put', |
||||
|
data: data |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 删除交易通道记录
|
||||
|
export function delTradingChannelRecord(id) { |
||||
|
return request({ |
||||
|
url: '/business/tradingChannelRecord/' + id, |
||||
|
method: 'delete' |
||||
|
}) |
||||
|
} |
@ -0,0 +1,415 @@ |
|||||
|
<template> |
||||
|
<div class="app-container"> |
||||
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> |
||||
|
<el-form-item label="版本代码" prop="versionCode"> |
||||
|
<el-input |
||||
|
v-model="queryParams.versionCode" |
||||
|
placeholder="请输入版本代码" |
||||
|
clearable |
||||
|
@keyup.enter.native="handleQuery" |
||||
|
/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="版本名称" prop="versionName"> |
||||
|
<el-input |
||||
|
v-model="queryParams.versionName" |
||||
|
placeholder="请输入版本名称" |
||||
|
clearable |
||||
|
@keyup.enter.native="handleQuery" |
||||
|
/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="发布日期" prop="releaseDate"> |
||||
|
<el-date-picker clearable |
||||
|
v-model="queryParams.releaseDate" |
||||
|
type="date" |
||||
|
value-format="yyyy-MM-dd" |
||||
|
placeholder="请选择发布日期"> |
||||
|
</el-date-picker> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="更新地址" prop="downloadUrl"> |
||||
|
<el-input |
||||
|
v-model="queryParams.downloadUrl" |
||||
|
placeholder="请输入更新地址" |
||||
|
clearable |
||||
|
@keyup.enter.native="handleQuery" |
||||
|
/> |
||||
|
</el-form-item> |
||||
|
<el-form-item> |
||||
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> |
||||
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
|
||||
|
<el-row :gutter="10" class="mb8"> |
||||
|
<el-col :span="1.5"> |
||||
|
<el-button |
||||
|
type="primary" |
||||
|
plain |
||||
|
icon="el-icon-plus" |
||||
|
size="mini" |
||||
|
@click="handleAdd" |
||||
|
v-hasPermi="['business:appVersion:add']" |
||||
|
>新增 |
||||
|
</el-button> |
||||
|
</el-col> |
||||
|
<el-col :span="1.5"> |
||||
|
<el-button |
||||
|
type="success" |
||||
|
plain |
||||
|
icon="el-icon-edit" |
||||
|
size="mini" |
||||
|
:disabled="single" |
||||
|
@click="handleUpdate" |
||||
|
v-hasPermi="['business:appVersion:edit']" |
||||
|
>修改 |
||||
|
</el-button> |
||||
|
</el-col> |
||||
|
<el-col :span="1.5"> |
||||
|
<el-button |
||||
|
type="danger" |
||||
|
plain |
||||
|
icon="el-icon-delete" |
||||
|
size="mini" |
||||
|
:disabled="multiple" |
||||
|
@click="handleDelete" |
||||
|
v-hasPermi="['business:appVersion:remove']" |
||||
|
>删除 |
||||
|
</el-button> |
||||
|
</el-col> |
||||
|
<el-col :span="1.5"> |
||||
|
<el-button |
||||
|
type="warning" |
||||
|
plain |
||||
|
icon="el-icon-download" |
||||
|
size="mini" |
||||
|
@click="handleExport" |
||||
|
v-hasPermi="['business:appVersion:export']" |
||||
|
>导出 |
||||
|
</el-button> |
||||
|
</el-col> |
||||
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
||||
|
</el-row> |
||||
|
|
||||
|
<el-table v-loading="loading" :data="appVersionList" @selection-change="handleSelectionChange"> |
||||
|
<el-table-column type="selection" width="55" align="center"/> |
||||
|
<el-table-column label="id" align="center" prop="id" v-if="true"/> |
||||
|
<el-table-column label="版本代码" align="center" prop="versionCode"/> |
||||
|
<el-table-column label="版本名称" align="center" prop="versionName"/> |
||||
|
<el-table-column label="平台类型" align="center" prop="platform"/> |
||||
|
<el-table-column label="发布日期" align="center" prop="releaseDate" width="180"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span>{{ parseTime(scope.row.releaseDate, '{y}-{m}-{d}') }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="更新地址" align="center" prop="downloadUrl"/> |
||||
|
<el-table-column label="更新日志" align="center" prop="updateLog"/> |
||||
|
<el-table-column label="强制更新" align="center" prop="isForceUpdate"/> |
||||
|
<el-table-column label="状态" align="center" prop="status"/> |
||||
|
<el-table-column label="操作" align="center" width="200" class-name="small-padding fixed-width"> |
||||
|
<template slot-scope="scope"> |
||||
|
<el-button |
||||
|
size="mini" |
||||
|
type="text" |
||||
|
icon="el-icon-view" |
||||
|
@click="handleDetail(scope.row)" |
||||
|
>详情 |
||||
|
</el-button> |
||||
|
<el-button |
||||
|
size="mini" |
||||
|
type="text" |
||||
|
icon="el-icon-edit" |
||||
|
@click="handleUpdate(scope.row)" |
||||
|
v-hasPermi="['business:appVersion:edit']" |
||||
|
>修改 |
||||
|
</el-button> |
||||
|
<el-button |
||||
|
size="mini" |
||||
|
type="text" |
||||
|
icon="el-icon-delete" |
||||
|
@click="handleDelete(scope.row)" |
||||
|
v-hasPermi="['business:appVersion:remove']" |
||||
|
>删除 |
||||
|
</el-button> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
|
||||
|
<pagination |
||||
|
v-show="total>0" |
||||
|
:total="total" |
||||
|
:page.sync="queryParams.pageNum" |
||||
|
:limit.sync="queryParams.pageSize" |
||||
|
@pagination="getList" |
||||
|
/> |
||||
|
|
||||
|
<!-- 添加或修改应用程序版本控制对话框 --> |
||||
|
<el-dialog :title="title" :visible.sync="open" width="700px" append-to-body> |
||||
|
<el-form ref="form" :model="form" :rules="rules" label-width="auto"> |
||||
|
<el-form-item label="版本代码" prop="versionCode"> |
||||
|
<el-input v-model="form.versionCode" placeholder="请输入版本代码"/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="版本名称" prop="versionName"> |
||||
|
<el-input v-model="form.versionName" placeholder="请输入版本名称"/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="平台类型" prop="platform"> |
||||
|
<el-select v-model="form.platform" placeholder="请选择平台类型"> |
||||
|
<el-option label="Android" value="Android"/> |
||||
|
<el-option label="IOS" value="IOS"/> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="更新地址" prop="downloadUrl"> |
||||
|
<el-input v-model="form.downloadUrl" placeholder="请输入更新地址"/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="更新日志" prop="updateLog"> |
||||
|
<el-input v-model="form.updateLog" type="textarea" placeholder="请输入内容"/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="是否强制更新" prop="isForceUpdate"> |
||||
|
<el-input v-model="form.isForceUpdate" placeholder="请输入是否强制更新"/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="发布日期" prop="releaseDate"> |
||||
|
<el-date-picker clearable |
||||
|
v-model="form.releaseDate" |
||||
|
type="datetime" |
||||
|
value-format="yyyy-MM-dd HH:mm:ss" |
||||
|
placeholder="请选择发布日期"> |
||||
|
</el-date-picker> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<div slot="footer" class="dialog-footer"> |
||||
|
<el-button :loading="buttonLoading" type="primary" @click="submitForm">确 定</el-button> |
||||
|
<el-button @click="cancel">取 消</el-button> |
||||
|
</div> |
||||
|
</el-dialog> |
||||
|
|
||||
|
<!-- 应用程序版本控制详情 --> |
||||
|
<el-dialog :title="title" :visible.sync="detailOpen" width="700px" append-to-body> |
||||
|
<el-form ref="form" :model="form" label-width="auto"> |
||||
|
<el-form-item label="版本代码:"> |
||||
|
{{ form.versionCode }} |
||||
|
</el-form-item> |
||||
|
<el-form-item label="版本名称:"> |
||||
|
{{ form.versionName }} |
||||
|
</el-form-item> |
||||
|
<el-form-item label="发布日期" prop="releaseDate"> |
||||
|
<el-date-picker clearable |
||||
|
v-model="form.releaseDate" |
||||
|
type="datetime" |
||||
|
value-format="yyyy-MM-dd HH:mm:ss" |
||||
|
placeholder="请选择发布日期"> |
||||
|
</el-date-picker> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="更新地址:"> |
||||
|
{{ form.downloadUrl }} |
||||
|
</el-form-item> |
||||
|
<el-form-item label="更新日志:"> |
||||
|
{{ form.updateLog }} |
||||
|
|
||||
|
</el-form-item> |
||||
|
<el-form-item label="是否强制更新:"> |
||||
|
{{ form.isForceUpdate }} |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<div slot="footer" class="dialog-footer"> |
||||
|
<el-button @click="cancel">关 闭</el-button> |
||||
|
</div> |
||||
|
</el-dialog> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import {listAppVersion, getAppVersion, delAppVersion, addAppVersion, updateAppVersion} from "@/api/business/appVersion"; |
||||
|
|
||||
|
export default { |
||||
|
name: "AppVersion", |
||||
|
data() { |
||||
|
return { |
||||
|
// 按钮loading |
||||
|
buttonLoading: false, |
||||
|
// 遮罩层 |
||||
|
loading: true, |
||||
|
// 选中数组 |
||||
|
ids: [], |
||||
|
// 非单个禁用 |
||||
|
single: true, |
||||
|
// 非多个禁用 |
||||
|
multiple: true, |
||||
|
// 显示搜索条件 |
||||
|
showSearch: true, |
||||
|
// 总条数 |
||||
|
total: 0, |
||||
|
// 应用程序版本控制表格数据 |
||||
|
appVersionList: [], |
||||
|
// 弹出层标题 |
||||
|
title: "", |
||||
|
// 是否显示弹出层 |
||||
|
open: false, |
||||
|
// 是否显示详情弹出层 |
||||
|
detailOpen: false, |
||||
|
// 查询参数 |
||||
|
queryParams: { |
||||
|
pageNum: 1, |
||||
|
pageSize: 10, |
||||
|
versionCode: undefined, |
||||
|
versionName: undefined, |
||||
|
platform: undefined, |
||||
|
releaseDate: undefined, |
||||
|
downloadUrl: undefined, |
||||
|
updateLog: undefined, |
||||
|
isForceUpdate: undefined, |
||||
|
status: undefined, |
||||
|
}, |
||||
|
// 表单参数 |
||||
|
form: {}, |
||||
|
// 表单校验 |
||||
|
rules: { |
||||
|
versionCode: [ |
||||
|
{required: true, message: "版本代码不能为空", trigger: "blur"} |
||||
|
], |
||||
|
versionName: [ |
||||
|
{required: true, message: "版本名称不能为空", trigger: "blur"} |
||||
|
], |
||||
|
platform: [ |
||||
|
{required: true, message: "平台类型,枚举值包括安卓和iOS不能为空", trigger: "blur"} |
||||
|
], |
||||
|
releaseDate: [ |
||||
|
{required: true, message: "发布日期不能为空", trigger: "blur"} |
||||
|
], |
||||
|
downloadUrl: [ |
||||
|
{required: true, message: "更新地址不能为空", trigger: "blur"} |
||||
|
], |
||||
|
updateLog: [ |
||||
|
{required: true, message: "更新日志不能为空", trigger: "blur"} |
||||
|
], |
||||
|
isForceUpdate: [ |
||||
|
{required: true, message: "是否强制更新不能为空", trigger: "blur"} |
||||
|
], |
||||
|
} |
||||
|
}; |
||||
|
}, |
||||
|
created() { |
||||
|
this.getList(); |
||||
|
}, |
||||
|
methods: { |
||||
|
/** 查询应用程序版本控制列表 */ |
||||
|
getList() { |
||||
|
this.loading = true; |
||||
|
listAppVersion(this.queryParams).then(response => { |
||||
|
this.appVersionList = response.rows; |
||||
|
this.total = response.total; |
||||
|
this.loading = false; |
||||
|
}); |
||||
|
}, |
||||
|
// 取消按钮 |
||||
|
cancel() { |
||||
|
this.open = false; |
||||
|
this.detailOpen = false; |
||||
|
this.reset(); |
||||
|
}, |
||||
|
// 表单重置 |
||||
|
reset() { |
||||
|
this.form = { |
||||
|
id: undefined, |
||||
|
versionCode: undefined, |
||||
|
versionName: undefined, |
||||
|
platform: undefined, |
||||
|
releaseDate: undefined, |
||||
|
downloadUrl: undefined, |
||||
|
updateLog: undefined, |
||||
|
isForceUpdate: undefined, |
||||
|
status: undefined, |
||||
|
createBy: undefined, |
||||
|
createTime: undefined, |
||||
|
updateBy: undefined, |
||||
|
updateTime: undefined |
||||
|
}; |
||||
|
this.resetForm("form"); |
||||
|
}, |
||||
|
/** 搜索按钮操作 */ |
||||
|
handleQuery() { |
||||
|
this.queryParams.pageNum = 1; |
||||
|
this.getList(); |
||||
|
}, |
||||
|
/** 重置按钮操作 */ |
||||
|
resetQuery() { |
||||
|
this.resetForm("queryForm"); |
||||
|
this.handleQuery(); |
||||
|
}, |
||||
|
// 多选框选中数据 |
||||
|
handleSelectionChange(selection) { |
||||
|
this.ids = selection.map(item => item.id) |
||||
|
this.single = selection.length !== 1 |
||||
|
this.multiple = !selection.length |
||||
|
}, |
||||
|
/** 新增按钮操作 */ |
||||
|
handleAdd() { |
||||
|
this.reset(); |
||||
|
this.open = true; |
||||
|
this.title = "添加应用程序版本控制"; |
||||
|
}, |
||||
|
/** 详情按钮操作 */ |
||||
|
handleDetail(row) { |
||||
|
this.reset(); |
||||
|
this.form = row; |
||||
|
this.detailOpen = true; |
||||
|
this.title = "应用程序版本控制"; |
||||
|
}, |
||||
|
/** 修改按钮操作 */ |
||||
|
handleUpdate(row) { |
||||
|
this.loading = true; |
||||
|
this.reset(); |
||||
|
const id = row.id || this.ids |
||||
|
getAppVersion(id).then(response => { |
||||
|
this.loading = false; |
||||
|
this.form = response.data; |
||||
|
this.open = true; |
||||
|
this.title = "修改应用程序版本控制"; |
||||
|
}); |
||||
|
}, |
||||
|
/** 提交按钮 */ |
||||
|
submitForm() { |
||||
|
this.$refs["form"].validate(valid => { |
||||
|
if (valid) { |
||||
|
this.buttonLoading = true; |
||||
|
if (this.form.id != null) { |
||||
|
updateAppVersion(this.form).then(response => { |
||||
|
this.$modal.msgSuccess("修改成功"); |
||||
|
this.open = false; |
||||
|
this.getList(); |
||||
|
}).finally(() => { |
||||
|
this.buttonLoading = false; |
||||
|
}); |
||||
|
} else { |
||||
|
addAppVersion(this.form).then(response => { |
||||
|
this.$modal.msgSuccess("新增成功"); |
||||
|
this.open = false; |
||||
|
this.getList(); |
||||
|
}).finally(() => { |
||||
|
this.buttonLoading = false; |
||||
|
}); |
||||
|
} |
||||
|
} |
||||
|
}); |
||||
|
}, |
||||
|
/** 删除按钮操作 */ |
||||
|
handleDelete(row) { |
||||
|
const ids = row.id || this.ids; |
||||
|
this.$modal.confirm('是否确认删除应用程序版本控制编号为"' + ids + '"的数据项?').then(() => { |
||||
|
this.loading = true; |
||||
|
return delAppVersion(ids); |
||||
|
}).then(() => { |
||||
|
this.loading = false; |
||||
|
this.getList(); |
||||
|
this.$modal.msgSuccess("删除成功"); |
||||
|
}).catch(() => { |
||||
|
}).finally(() => { |
||||
|
this.loading = false; |
||||
|
}); |
||||
|
}, |
||||
|
/** 导出按钮操作 */ |
||||
|
handleExport() { |
||||
|
this.download('business/appVersion/export', { |
||||
|
...this.queryParams |
||||
|
}, `appVersion_${new Date().getTime()}.xlsx`) |
||||
|
} |
||||
|
} |
||||
|
}; |
||||
|
</script> |
@ -0,0 +1,331 @@ |
|||||
|
<template> |
||||
|
<div class="app-container"> |
||||
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> |
||||
|
<el-form-item label="模型名称" prop="name"> |
||||
|
<el-input |
||||
|
v-model="queryParams.name" |
||||
|
placeholder="请输入模型名称" |
||||
|
clearable |
||||
|
@keyup.enter.native="handleQuery" |
||||
|
/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="模型描述" prop="description"> |
||||
|
<el-input |
||||
|
v-model="queryParams.description" |
||||
|
placeholder="请输入模型描述" |
||||
|
clearable |
||||
|
@keyup.enter.native="handleQuery" |
||||
|
/> |
||||
|
</el-form-item> |
||||
|
<el-form-item> |
||||
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> |
||||
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
|
||||
|
<el-row :gutter="10" class="mb8"> |
||||
|
<el-col :span="1.5"> |
||||
|
<el-button |
||||
|
type="primary" |
||||
|
plain |
||||
|
icon="el-icon-plus" |
||||
|
size="mini" |
||||
|
@click="handleAdd" |
||||
|
v-hasPermi="['business:behaviorModelInfo:add']" |
||||
|
>新增</el-button> |
||||
|
</el-col> |
||||
|
<el-col :span="1.5"> |
||||
|
<el-button |
||||
|
type="success" |
||||
|
plain |
||||
|
icon="el-icon-edit" |
||||
|
size="mini" |
||||
|
:disabled="single" |
||||
|
@click="handleUpdate" |
||||
|
v-hasPermi="['business:behaviorModelInfo:edit']" |
||||
|
>修改</el-button> |
||||
|
</el-col> |
||||
|
<el-col :span="1.5"> |
||||
|
<el-button |
||||
|
type="danger" |
||||
|
plain |
||||
|
icon="el-icon-delete" |
||||
|
size="mini" |
||||
|
:disabled="multiple" |
||||
|
@click="handleDelete" |
||||
|
v-hasPermi="['business:behaviorModelInfo:remove']" |
||||
|
>删除</el-button> |
||||
|
</el-col> |
||||
|
<el-col :span="1.5"> |
||||
|
<el-button |
||||
|
type="warning" |
||||
|
plain |
||||
|
icon="el-icon-download" |
||||
|
size="mini" |
||||
|
@click="handleExport" |
||||
|
v-hasPermi="['business:behaviorModelInfo:export']" |
||||
|
>导出</el-button> |
||||
|
</el-col> |
||||
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
||||
|
</el-row> |
||||
|
|
||||
|
<el-table v-loading="loading" :data="behaviorModelInfoList" @selection-change="handleSelectionChange"> |
||||
|
<el-table-column type="selection" width="55" align="center" /> |
||||
|
<el-table-column label="ID" align="center" prop="id" v-if="true"/> |
||||
|
<el-table-column label="模型名称" align="center" prop="name" /> |
||||
|
<el-table-column label="模型描述" align="center" prop="description" /> |
||||
|
<el-table-column label="模型类型" align="center" prop="type" /> |
||||
|
<el-table-column label="当前状态" align="center" prop="status" /> |
||||
|
<el-table-column label="操作" align="center" width="200" class-name="small-padding fixed-width"> |
||||
|
<template slot-scope="scope"> |
||||
|
<el-button |
||||
|
size="mini" |
||||
|
type="text" |
||||
|
icon="el-icon-view" |
||||
|
@click="handleDetail(scope.row)" |
||||
|
>详情</el-button> |
||||
|
<el-button |
||||
|
size="mini" |
||||
|
type="text" |
||||
|
icon="el-icon-edit" |
||||
|
@click="handleUpdate(scope.row)" |
||||
|
v-hasPermi="['business:behaviorModelInfo:edit']" |
||||
|
>修改</el-button> |
||||
|
<el-button |
||||
|
size="mini" |
||||
|
type="text" |
||||
|
icon="el-icon-delete" |
||||
|
@click="handleDelete(scope.row)" |
||||
|
v-hasPermi="['business:behaviorModelInfo:remove']" |
||||
|
>删除</el-button> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
|
||||
|
<pagination |
||||
|
v-show="total>0" |
||||
|
:total="total" |
||||
|
:page.sync="queryParams.pageNum" |
||||
|
:limit.sync="queryParams.pageSize" |
||||
|
@pagination="getList" |
||||
|
/> |
||||
|
|
||||
|
<!-- 添加或修改模型管理信息对话框 --> |
||||
|
<el-dialog :title="title" :visible.sync="open" width="700px" append-to-body> |
||||
|
<el-form ref="form" :model="form" :rules="rules" label-width="auto"> |
||||
|
<el-form-item label="模型名称" prop="name"> |
||||
|
<el-input v-model="form.name" placeholder="请输入模型名称" /> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="模型描述" prop="description"> |
||||
|
<el-input v-model="form.description" type="textarea" placeholder="请输入内容" /> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<div slot="footer" class="dialog-footer"> |
||||
|
<el-button :loading="buttonLoading" type="primary" @click="submitForm">确 定</el-button> |
||||
|
<el-button @click="cancel">取 消</el-button> |
||||
|
</div> |
||||
|
</el-dialog> |
||||
|
|
||||
|
<!-- 模型管理信息详情 --> |
||||
|
<el-dialog :title="title" :visible.sync="detailOpen" width="700px" append-to-body> |
||||
|
<el-form ref="form" :model="form" label-width="auto"> |
||||
|
<el-form-item label="模型名称:"> |
||||
|
{{form.name}} |
||||
|
</el-form-item> |
||||
|
<el-form-item label="模型描述:"> |
||||
|
{{form.description}} |
||||
|
|
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<div slot="footer" class="dialog-footer"> |
||||
|
<el-button @click="cancel">关 闭</el-button> |
||||
|
</div> |
||||
|
</el-dialog> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { listBehaviorModelInfo, getBehaviorModelInfo, delBehaviorModelInfo, addBehaviorModelInfo, updateBehaviorModelInfo } from "@/api/business/behaviorModelInfo"; |
||||
|
|
||||
|
export default { |
||||
|
name: "BehaviorModelInfo", |
||||
|
data() { |
||||
|
return { |
||||
|
// 按钮loading |
||||
|
buttonLoading: false, |
||||
|
// 遮罩层 |
||||
|
loading: true, |
||||
|
// 选中数组 |
||||
|
ids: [], |
||||
|
// 非单个禁用 |
||||
|
single: true, |
||||
|
// 非多个禁用 |
||||
|
multiple: true, |
||||
|
// 显示搜索条件 |
||||
|
showSearch: true, |
||||
|
// 总条数 |
||||
|
total: 0, |
||||
|
// 模型管理信息表格数据 |
||||
|
behaviorModelInfoList: [], |
||||
|
// 弹出层标题 |
||||
|
title: "", |
||||
|
// 是否显示弹出层 |
||||
|
open: false, |
||||
|
// 是否显示详情弹出层 |
||||
|
detailOpen: false, |
||||
|
// 查询参数 |
||||
|
queryParams: { |
||||
|
pageNum: 1, |
||||
|
pageSize: 10, |
||||
|
name: undefined, |
||||
|
description: undefined, |
||||
|
type: undefined, |
||||
|
status: undefined, |
||||
|
}, |
||||
|
// 表单参数 |
||||
|
form: {}, |
||||
|
// 表单校验 |
||||
|
rules: { |
||||
|
id: [ |
||||
|
{ required: true, message: "不能为空", trigger: "blur" } |
||||
|
], |
||||
|
name: [ |
||||
|
{ required: true, message: "模型名称不能为空", trigger: "blur" } |
||||
|
], |
||||
|
description: [ |
||||
|
{ required: true, message: "模型描述不能为空", trigger: "blur" } |
||||
|
], |
||||
|
type: [ |
||||
|
{ required: true, message: "模型类型不能为空", trigger: "change" } |
||||
|
], |
||||
|
status: [ |
||||
|
{ required: true, message: "当前状态不能为空", trigger: "change" } |
||||
|
], |
||||
|
} |
||||
|
}; |
||||
|
}, |
||||
|
created() { |
||||
|
this.getList(); |
||||
|
}, |
||||
|
methods: { |
||||
|
/** 查询模型管理信息列表 */ |
||||
|
getList() { |
||||
|
this.loading = true; |
||||
|
listBehaviorModelInfo(this.queryParams).then(response => { |
||||
|
this.behaviorModelInfoList = response.rows; |
||||
|
this.total = response.total; |
||||
|
this.loading = false; |
||||
|
}); |
||||
|
}, |
||||
|
// 取消按钮 |
||||
|
cancel() { |
||||
|
this.open = false; |
||||
|
this.detailOpen = false; |
||||
|
this.reset(); |
||||
|
}, |
||||
|
// 表单重置 |
||||
|
reset() { |
||||
|
this.form = { |
||||
|
id: undefined, |
||||
|
name: undefined, |
||||
|
description: undefined, |
||||
|
type: undefined, |
||||
|
version: undefined, |
||||
|
status: undefined, |
||||
|
createBy: undefined, |
||||
|
updateBy: undefined, |
||||
|
createTime: undefined, |
||||
|
updateTime: undefined |
||||
|
}; |
||||
|
this.resetForm("form"); |
||||
|
}, |
||||
|
/** 搜索按钮操作 */ |
||||
|
handleQuery() { |
||||
|
this.queryParams.pageNum = 1; |
||||
|
this.getList(); |
||||
|
}, |
||||
|
/** 重置按钮操作 */ |
||||
|
resetQuery() { |
||||
|
this.resetForm("queryForm"); |
||||
|
this.handleQuery(); |
||||
|
}, |
||||
|
// 多选框选中数据 |
||||
|
handleSelectionChange(selection) { |
||||
|
this.ids = selection.map(item => item.id) |
||||
|
this.single = selection.length!==1 |
||||
|
this.multiple = !selection.length |
||||
|
}, |
||||
|
/** 新增按钮操作 */ |
||||
|
handleAdd() { |
||||
|
this.reset(); |
||||
|
this.open = true; |
||||
|
this.title = "添加模型管理信息"; |
||||
|
}, |
||||
|
/** 详情按钮操作 */ |
||||
|
handleDetail(row){ |
||||
|
this.reset(); |
||||
|
this.form = row; |
||||
|
this.detailOpen = true; |
||||
|
this.title = "模型管理信息"; |
||||
|
}, |
||||
|
/** 修改按钮操作 */ |
||||
|
handleUpdate(row) { |
||||
|
this.loading = true; |
||||
|
this.reset(); |
||||
|
const id = row.id || this.ids |
||||
|
getBehaviorModelInfo(id).then(response => { |
||||
|
this.loading = false; |
||||
|
this.form = response.data; |
||||
|
this.open = true; |
||||
|
this.title = "修改模型管理信息"; |
||||
|
}); |
||||
|
}, |
||||
|
/** 提交按钮 */ |
||||
|
submitForm() { |
||||
|
this.$refs["form"].validate(valid => { |
||||
|
if (valid) { |
||||
|
this.buttonLoading = true; |
||||
|
if (this.form.id != null) { |
||||
|
updateBehaviorModelInfo(this.form).then(response => { |
||||
|
this.$modal.msgSuccess("修改成功"); |
||||
|
this.open = false; |
||||
|
this.getList(); |
||||
|
}).finally(() => { |
||||
|
this.buttonLoading = false; |
||||
|
}); |
||||
|
} else { |
||||
|
addBehaviorModelInfo(this.form).then(response => { |
||||
|
this.$modal.msgSuccess("新增成功"); |
||||
|
this.open = false; |
||||
|
this.getList(); |
||||
|
}).finally(() => { |
||||
|
this.buttonLoading = false; |
||||
|
}); |
||||
|
} |
||||
|
} |
||||
|
}); |
||||
|
}, |
||||
|
/** 删除按钮操作 */ |
||||
|
handleDelete(row) { |
||||
|
const ids = row.id || this.ids; |
||||
|
this.$modal.confirm('是否确认删除模型管理信息编号为"' + ids + '"的数据项?').then(() => { |
||||
|
this.loading = true; |
||||
|
return delBehaviorModelInfo(ids); |
||||
|
}).then(() => { |
||||
|
this.loading = false; |
||||
|
this.getList(); |
||||
|
this.$modal.msgSuccess("删除成功"); |
||||
|
}).catch(() => { |
||||
|
}).finally(() => { |
||||
|
this.loading = false; |
||||
|
}); |
||||
|
}, |
||||
|
/** 导出按钮操作 */ |
||||
|
handleExport() { |
||||
|
this.download('business/behaviorModelInfo/export', { |
||||
|
...this.queryParams |
||||
|
}, `behaviorModelInfo_${new Date().getTime()}.xlsx`) |
||||
|
} |
||||
|
} |
||||
|
}; |
||||
|
</script> |
@ -0,0 +1,409 @@ |
|||||
|
<template> |
||||
|
<div class="app-container"> |
||||
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> |
||||
|
<el-form-item label="会话ID" prop="sessionId"> |
||||
|
<el-input |
||||
|
v-model="queryParams.sessionId" |
||||
|
placeholder="请输入对话会话ID" |
||||
|
clearable |
||||
|
@keyup.enter.native="handleQuery" |
||||
|
/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="用户ID" prop="userId"> |
||||
|
<el-input |
||||
|
v-model="queryParams.userId" |
||||
|
placeholder="请输入用户ID" |
||||
|
clearable |
||||
|
@keyup.enter.native="handleQuery" |
||||
|
/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="消息内容" prop="message"> |
||||
|
<el-input |
||||
|
v-model="queryParams.message" |
||||
|
placeholder="请输入消息内容" |
||||
|
clearable |
||||
|
@keyup.enter.native="handleQuery" |
||||
|
/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="发送时间" prop="timestamp"> |
||||
|
<el-date-picker clearable |
||||
|
v-model="queryParams.timestamp" |
||||
|
type="date" |
||||
|
value-format="yyyy-MM-dd" |
||||
|
placeholder="请选择消息发送时间"> |
||||
|
</el-date-picker> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="是否已读" prop="isRead"> |
||||
|
<el-select v-model="queryParams.isRead" placeholder="请选择是否已读"> |
||||
|
<el-option label="是" value="1"></el-option> |
||||
|
<el-option label="否" value="0"></el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<el-form-item> |
||||
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> |
||||
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
|
||||
|
<el-row :gutter="10" class="mb8"> |
||||
|
<el-col :span="1.5"> |
||||
|
<el-button |
||||
|
type="primary" |
||||
|
plain |
||||
|
icon="el-icon-plus" |
||||
|
size="mini" |
||||
|
@click="handleAdd" |
||||
|
v-hasPermi="['business:customerServiceChat:add']" |
||||
|
>新增 |
||||
|
</el-button> |
||||
|
</el-col> |
||||
|
<el-col :span="1.5"> |
||||
|
<el-button |
||||
|
type="success" |
||||
|
plain |
||||
|
icon="el-icon-edit" |
||||
|
size="mini" |
||||
|
:disabled="single" |
||||
|
@click="handleUpdate" |
||||
|
v-hasPermi="['business:customerServiceChat:edit']" |
||||
|
>修改 |
||||
|
</el-button> |
||||
|
</el-col> |
||||
|
<el-col :span="1.5"> |
||||
|
<el-button |
||||
|
type="danger" |
||||
|
plain |
||||
|
icon="el-icon-delete" |
||||
|
size="mini" |
||||
|
:disabled="multiple" |
||||
|
@click="handleDelete" |
||||
|
v-hasPermi="['business:customerServiceChat:remove']" |
||||
|
>删除 |
||||
|
</el-button> |
||||
|
</el-col> |
||||
|
<el-col :span="1.5"> |
||||
|
<el-button |
||||
|
type="warning" |
||||
|
plain |
||||
|
icon="el-icon-download" |
||||
|
size="mini" |
||||
|
@click="handleExport" |
||||
|
v-hasPermi="['business:customerServiceChat:export']" |
||||
|
>导出 |
||||
|
</el-button> |
||||
|
</el-col> |
||||
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
||||
|
</el-row> |
||||
|
|
||||
|
<el-table v-loading="loading" :data="customerServiceChatList" @selection-change="handleSelectionChange"> |
||||
|
<el-table-column type="selection" width="55" align="center"/> |
||||
|
<el-table-column label="ID" align="center" prop="id" v-if="true"/> |
||||
|
<el-table-column label="会话ID" align="center" prop="sessionId"/> |
||||
|
<el-table-column label="用户ID" align="center" prop="userId"/> |
||||
|
<el-table-column label="消息内容" align="center" prop="message"/> |
||||
|
<el-table-column label="发送者类型" align="center" prop="senderType"/> |
||||
|
<el-table-column label="发送时间" align="center" prop="timestamp" width="180"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span>{{ parseTime(scope.row.timestamp, '{y}-{m}-{d}') }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="是否已读" align="center" prop="isRead"/> |
||||
|
<el-table-column label="操作" align="center" width="200" class-name="small-padding fixed-width"> |
||||
|
<template slot-scope="scope"> |
||||
|
<el-button |
||||
|
size="mini" |
||||
|
type="text" |
||||
|
icon="el-icon-view" |
||||
|
@click="handleDetail(scope.row)" |
||||
|
>详情 |
||||
|
</el-button> |
||||
|
<el-button |
||||
|
size="mini" |
||||
|
type="text" |
||||
|
icon="el-icon-edit" |
||||
|
@click="handleUpdate(scope.row)" |
||||
|
v-hasPermi="['business:customerServiceChat:edit']" |
||||
|
>修改 |
||||
|
</el-button> |
||||
|
<el-button |
||||
|
size="mini" |
||||
|
type="text" |
||||
|
icon="el-icon-delete" |
||||
|
@click="handleDelete(scope.row)" |
||||
|
v-hasPermi="['business:customerServiceChat:remove']" |
||||
|
>删除 |
||||
|
</el-button> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
|
||||
|
<pagination |
||||
|
v-show="total>0" |
||||
|
:total="total" |
||||
|
:page.sync="queryParams.pageNum" |
||||
|
:limit.sync="queryParams.pageSize" |
||||
|
@pagination="getList" |
||||
|
/> |
||||
|
|
||||
|
<!-- 添加或修改客服与用户的聊天记录对话框 --> |
||||
|
<el-dialog :title="title" :visible.sync="open" width="700px" append-to-body> |
||||
|
<el-form ref="form" :model="form" :rules="rules" label-width="auto"> |
||||
|
<el-form-item label="对话会话ID" prop="sessionId"> |
||||
|
<el-input v-model="form.sessionId" placeholder="请输入对话会话ID"/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="用户ID" prop="userId"> |
||||
|
<el-input v-model="form.userId" placeholder="请输入用户ID"/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="消息内容" prop="message"> |
||||
|
<el-input v-model="form.message" type="textarea" placeholder="请输入内容"/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="消息发送时间" prop="timestamp"> |
||||
|
<el-date-picker clearable |
||||
|
v-model="form.timestamp" |
||||
|
type="datetime" |
||||
|
value-format="yyyy-MM-dd HH:mm:ss" |
||||
|
placeholder="请选择消息发送时间"> |
||||
|
</el-date-picker> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="是否已读" prop="isRead"> |
||||
|
<el-input v-model="form.isRead" placeholder="请输入是否已读"/> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<div slot="footer" class="dialog-footer"> |
||||
|
<el-button :loading="buttonLoading" type="primary" @click="submitForm">确 定</el-button> |
||||
|
<el-button @click="cancel">取 消</el-button> |
||||
|
</div> |
||||
|
</el-dialog> |
||||
|
|
||||
|
<!-- 客服与用户的聊天记录详情 --> |
||||
|
<el-dialog :title="title" :visible.sync="detailOpen" width="700px" append-to-body> |
||||
|
<el-form ref="form" :model="form" label-width="auto"> |
||||
|
<el-form-item label="对话会话ID:"> |
||||
|
{{ form.sessionId }} |
||||
|
</el-form-item> |
||||
|
<el-form-item label="用户ID:"> |
||||
|
{{ form.userId }} |
||||
|
</el-form-item> |
||||
|
<el-form-item label="消息内容:"> |
||||
|
{{ form.message }} |
||||
|
|
||||
|
</el-form-item> |
||||
|
<el-form-item label="消息发送时间" prop="timestamp"> |
||||
|
<el-date-picker clearable |
||||
|
v-model="form.timestamp" |
||||
|
type="datetime" |
||||
|
value-format="yyyy-MM-dd HH:mm:ss" |
||||
|
placeholder="请选择消息发送时间"> |
||||
|
</el-date-picker> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="是否已读:"> |
||||
|
{{ form.isRead }} |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<div slot="footer" class="dialog-footer"> |
||||
|
<el-button @click="cancel">关 闭</el-button> |
||||
|
</div> |
||||
|
</el-dialog> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { |
||||
|
listCustomerServiceChat, |
||||
|
getCustomerServiceChat, |
||||
|
delCustomerServiceChat, |
||||
|
addCustomerServiceChat, |
||||
|
updateCustomerServiceChat |
||||
|
} from "@/api/business/customerServiceChat"; |
||||
|
|
||||
|
export default { |
||||
|
name: "CustomerServiceChat", |
||||
|
data() { |
||||
|
return { |
||||
|
// 按钮loading |
||||
|
buttonLoading: false, |
||||
|
// 遮罩层 |
||||
|
loading: true, |
||||
|
// 选中数组 |
||||
|
ids: [], |
||||
|
// 非单个禁用 |
||||
|
single: true, |
||||
|
// 非多个禁用 |
||||
|
multiple: true, |
||||
|
// 显示搜索条件 |
||||
|
showSearch: true, |
||||
|
// 总条数 |
||||
|
total: 0, |
||||
|
// 客服与用户的聊天记录表格数据 |
||||
|
customerServiceChatList: [], |
||||
|
// 弹出层标题 |
||||
|
title: "", |
||||
|
// 是否显示弹出层 |
||||
|
open: false, |
||||
|
// 是否显示详情弹出层 |
||||
|
detailOpen: false, |
||||
|
// 查询参数 |
||||
|
queryParams: { |
||||
|
pageNum: 1, |
||||
|
pageSize: 10, |
||||
|
sessionId: undefined, |
||||
|
userId: undefined, |
||||
|
message: undefined, |
||||
|
senderType: undefined, |
||||
|
timestamp: undefined, |
||||
|
isRead: undefined, |
||||
|
}, |
||||
|
// 表单参数 |
||||
|
form: {}, |
||||
|
// 表单校验 |
||||
|
rules: { |
||||
|
id: [ |
||||
|
{required: true, message: "不能为空", trigger: "blur"} |
||||
|
], |
||||
|
sessionId: [ |
||||
|
{required: true, message: "对话会话ID不能为空", trigger: "blur"} |
||||
|
], |
||||
|
userId: [ |
||||
|
{required: true, message: "用户ID不能为空", trigger: "blur"} |
||||
|
], |
||||
|
message: [ |
||||
|
{required: true, message: "消息内容不能为空", trigger: "blur"} |
||||
|
], |
||||
|
senderType: [ |
||||
|
{required: true, message: "发送者类型不能为空", trigger: "change"} |
||||
|
], |
||||
|
timestamp: [ |
||||
|
{required: true, message: "消息发送时间不能为空", trigger: "blur"} |
||||
|
], |
||||
|
isRead: [ |
||||
|
{required: true, message: "是否已读不能为空", trigger: "blur"} |
||||
|
], |
||||
|
} |
||||
|
}; |
||||
|
}, |
||||
|
created() { |
||||
|
this.getList(); |
||||
|
}, |
||||
|
methods: { |
||||
|
/** 查询客服与用户的聊天记录列表 */ |
||||
|
getList() { |
||||
|
this.loading = true; |
||||
|
listCustomerServiceChat(this.queryParams).then(response => { |
||||
|
this.customerServiceChatList = response.rows; |
||||
|
this.total = response.total; |
||||
|
this.loading = false; |
||||
|
}); |
||||
|
}, |
||||
|
// 取消按钮 |
||||
|
cancel() { |
||||
|
this.open = false; |
||||
|
this.detailOpen = false; |
||||
|
this.reset(); |
||||
|
}, |
||||
|
// 表单重置 |
||||
|
reset() { |
||||
|
this.form = { |
||||
|
id: undefined, |
||||
|
sessionId: undefined, |
||||
|
userId: undefined, |
||||
|
message: undefined, |
||||
|
senderType: undefined, |
||||
|
timestamp: undefined, |
||||
|
isRead: undefined, |
||||
|
createBy: undefined, |
||||
|
createTime: undefined, |
||||
|
updateBy: undefined, |
||||
|
updateTime: undefined |
||||
|
}; |
||||
|
this.resetForm("form"); |
||||
|
}, |
||||
|
/** 搜索按钮操作 */ |
||||
|
handleQuery() { |
||||
|
this.queryParams.pageNum = 1; |
||||
|
this.getList(); |
||||
|
}, |
||||
|
/** 重置按钮操作 */ |
||||
|
resetQuery() { |
||||
|
this.resetForm("queryForm"); |
||||
|
this.handleQuery(); |
||||
|
}, |
||||
|
// 多选框选中数据 |
||||
|
handleSelectionChange(selection) { |
||||
|
this.ids = selection.map(item => item.id) |
||||
|
this.single = selection.length !== 1 |
||||
|
this.multiple = !selection.length |
||||
|
}, |
||||
|
/** 新增按钮操作 */ |
||||
|
handleAdd() { |
||||
|
this.reset(); |
||||
|
this.open = true; |
||||
|
this.title = "添加客服与用户的聊天记录"; |
||||
|
}, |
||||
|
/** 详情按钮操作 */ |
||||
|
handleDetail(row) { |
||||
|
this.reset(); |
||||
|
this.form = row; |
||||
|
this.detailOpen = true; |
||||
|
this.title = "客服与用户的聊天记录"; |
||||
|
}, |
||||
|
/** 修改按钮操作 */ |
||||
|
handleUpdate(row) { |
||||
|
this.loading = true; |
||||
|
this.reset(); |
||||
|
const id = row.id || this.ids |
||||
|
getCustomerServiceChat(id).then(response => { |
||||
|
this.loading = false; |
||||
|
this.form = response.data; |
||||
|
this.open = true; |
||||
|
this.title = "修改客服与用户的聊天记录"; |
||||
|
}); |
||||
|
}, |
||||
|
/** 提交按钮 */ |
||||
|
submitForm() { |
||||
|
this.$refs["form"].validate(valid => { |
||||
|
if (valid) { |
||||
|
this.buttonLoading = true; |
||||
|
if (this.form.id != null) { |
||||
|
updateCustomerServiceChat(this.form).then(response => { |
||||
|
this.$modal.msgSuccess("修改成功"); |
||||
|
this.open = false; |
||||
|
this.getList(); |
||||
|
}).finally(() => { |
||||
|
this.buttonLoading = false; |
||||
|
}); |
||||
|
} else { |
||||
|
addCustomerServiceChat(this.form).then(response => { |
||||
|
this.$modal.msgSuccess("新增成功"); |
||||
|
this.open = false; |
||||
|
this.getList(); |
||||
|
}).finally(() => { |
||||
|
this.buttonLoading = false; |
||||
|
}); |
||||
|
} |
||||
|
} |
||||
|
}); |
||||
|
}, |
||||
|
/** 删除按钮操作 */ |
||||
|
handleDelete(row) { |
||||
|
const ids = row.id || this.ids; |
||||
|
this.$modal.confirm('是否确认删除客服与用户的聊天记录编号为"' + ids + '"的数据项?').then(() => { |
||||
|
this.loading = true; |
||||
|
return delCustomerServiceChat(ids); |
||||
|
}).then(() => { |
||||
|
this.loading = false; |
||||
|
this.getList(); |
||||
|
this.$modal.msgSuccess("删除成功"); |
||||
|
}).catch(() => { |
||||
|
}).finally(() => { |
||||
|
this.loading = false; |
||||
|
}); |
||||
|
}, |
||||
|
/** 导出按钮操作 */ |
||||
|
handleExport() { |
||||
|
this.download('business/customerServiceChat/export', { |
||||
|
...this.queryParams |
||||
|
}, `customerServiceChat_${new Date().getTime()}.xlsx`) |
||||
|
} |
||||
|
} |
||||
|
}; |
||||
|
</script> |
@ -0,0 +1,395 @@ |
|||||
|
<template> |
||||
|
<div class="app-container"> |
||||
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> |
||||
|
<el-form-item label="问题描述" prop="question"> |
||||
|
<el-input |
||||
|
v-model="queryParams.question" |
||||
|
placeholder="请输入问题描述" |
||||
|
clearable |
||||
|
@keyup.enter.native="handleQuery" |
||||
|
/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="答案内容" prop="answer"> |
||||
|
<el-input |
||||
|
v-model="queryParams.answer" |
||||
|
placeholder="请输入答案内容" |
||||
|
clearable |
||||
|
@keyup.enter.native="handleQuery" |
||||
|
/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="问题分类" prop="category"> |
||||
|
<!-- 下拉框--> |
||||
|
<el-select v-model="queryParams.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="queryParams.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-form-item> |
||||
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> |
||||
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
|
||||
|
<el-row :gutter="10" class="mb8"> |
||||
|
<el-col :span="1.5"> |
||||
|
<el-button |
||||
|
type="primary" |
||||
|
plain |
||||
|
icon="el-icon-plus" |
||||
|
size="mini" |
||||
|
@click="handleAdd" |
||||
|
v-hasPermi="['business:faq:add']" |
||||
|
>新增 |
||||
|
</el-button> |
||||
|
</el-col> |
||||
|
<el-col :span="1.5"> |
||||
|
<el-button |
||||
|
type="success" |
||||
|
plain |
||||
|
icon="el-icon-edit" |
||||
|
size="mini" |
||||
|
:disabled="single" |
||||
|
@click="handleUpdate" |
||||
|
v-hasPermi="['business:faq:edit']" |
||||
|
>修改 |
||||
|
</el-button> |
||||
|
</el-col> |
||||
|
<el-col :span="1.5"> |
||||
|
<el-button |
||||
|
type="danger" |
||||
|
plain |
||||
|
icon="el-icon-delete" |
||||
|
size="mini" |
||||
|
:disabled="multiple" |
||||
|
@click="handleDelete" |
||||
|
v-hasPermi="['business:faq:remove']" |
||||
|
>删除 |
||||
|
</el-button> |
||||
|
</el-col> |
||||
|
<el-col :span="1.5"> |
||||
|
<el-button |
||||
|
type="warning" |
||||
|
plain |
||||
|
icon="el-icon-download" |
||||
|
size="mini" |
||||
|
@click="handleExport" |
||||
|
v-hasPermi="['business:faq:export']" |
||||
|
>导出 |
||||
|
</el-button> |
||||
|
</el-col> |
||||
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
||||
|
</el-row> |
||||
|
|
||||
|
<el-table v-loading="loading" :data="faqList" @selection-change="handleSelectionChange"> |
||||
|
<el-table-column type="selection" width="55" align="center"/> |
||||
|
<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" width="200" class-name="small-padding fixed-width"> |
||||
|
<template slot-scope="scope"> |
||||
|
<el-button |
||||
|
size="mini" |
||||
|
type="text" |
||||
|
icon="el-icon-view" |
||||
|
@click="handleDetail(scope.row)" |
||||
|
>详情 |
||||
|
</el-button> |
||||
|
<el-button |
||||
|
size="mini" |
||||
|
type="text" |
||||
|
icon="el-icon-edit" |
||||
|
@click="handleUpdate(scope.row)" |
||||
|
v-hasPermi="['business:faq:edit']" |
||||
|
>修改 |
||||
|
</el-button> |
||||
|
<el-button |
||||
|
size="mini" |
||||
|
type="text" |
||||
|
icon="el-icon-delete" |
||||
|
@click="handleDelete(scope.row)" |
||||
|
v-hasPermi="['business:faq:remove']" |
||||
|
>删除 |
||||
|
</el-button> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
|
||||
|
<pagination |
||||
|
v-show="total>0" |
||||
|
:total="total" |
||||
|
:page.sync="queryParams.pageNum" |
||||
|
:limit.sync="queryParams.pageSize" |
||||
|
@pagination="getList" |
||||
|
/> |
||||
|
|
||||
|
<!-- 添加或修改常见问题及答案对话框 --> |
||||
|
<el-dialog :title="title" :visible.sync="open" width="700px" append-to-body> |
||||
|
<el-form ref="form" :model="form" :rules="rules" label-width="auto"> |
||||
|
<el-form-item label="问题描述" prop="question"> |
||||
|
<el-input v-model="form.question" type="textarea" placeholder="请输入内容"/> |
||||
|
</el-form-item> |
||||
|
<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-form> |
||||
|
<div slot="footer" class="dialog-footer"> |
||||
|
<el-button :loading="buttonLoading" type="primary" @click="submitForm">确 定</el-button> |
||||
|
<el-button @click="cancel">取 消</el-button> |
||||
|
</div> |
||||
|
</el-dialog> |
||||
|
|
||||
|
<!-- 常见问题及答案详情 --> |
||||
|
<el-dialog :title="title" :visible.sync="detailOpen" width="700px" append-to-body> |
||||
|
<el-form ref="form" :model="form" label-width="auto"> |
||||
|
<el-form-item label="问题描述:"> |
||||
|
{{ form.question }} |
||||
|
</el-form-item> |
||||
|
<el-form-item label="答案内容:"> |
||||
|
{{ form.answer }} |
||||
|
</el-form-item> |
||||
|
<el-form-item label="问题分类:"> |
||||
|
{{ form.category }} |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<div slot="footer" class="dialog-footer"> |
||||
|
<el-button @click="cancel">关 闭</el-button> |
||||
|
</div> |
||||
|
</el-dialog> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import {listFaq, getFaq, delFaq, addFaq, updateFaq} from "@/api/business/faq"; |
||||
|
|
||||
|
export default { |
||||
|
name: "Faq", |
||||
|
data() { |
||||
|
return { |
||||
|
// 按钮loading |
||||
|
buttonLoading: false, |
||||
|
// 遮罩层 |
||||
|
loading: true, |
||||
|
// 选中数组 |
||||
|
ids: [], |
||||
|
// 非单个禁用 |
||||
|
single: true, |
||||
|
// 非多个禁用 |
||||
|
multiple: true, |
||||
|
// 显示搜索条件 |
||||
|
showSearch: true, |
||||
|
// 总条数 |
||||
|
total: 0, |
||||
|
// 常见问题及答案表格数据 |
||||
|
faqList: [], |
||||
|
// 弹出层标题 |
||||
|
title: "", |
||||
|
// 是否显示弹出层 |
||||
|
open: false, |
||||
|
// 是否显示详情弹出层 |
||||
|
detailOpen: false, |
||||
|
// 查询参数 |
||||
|
queryParams: { |
||||
|
pageNum: 1, |
||||
|
pageSize: 10, |
||||
|
question: undefined, |
||||
|
answer: undefined, |
||||
|
category: undefined, |
||||
|
status: undefined, |
||||
|
}, |
||||
|
categoryOptions: [ |
||||
|
{dictValue: '1', dictLabel: '技术问题'}, |
||||
|
{dictValue: '2', dictLabel: '业务问题'}, |
||||
|
{dictValue: '3', dictLabel: '其他问题'}, |
||||
|
{dictValue: '4', dictLabel: '产品问题'} |
||||
|
], |
||||
|
statusOptions: [ |
||||
|
{dictValue: '0', dictLabel: '无效'}, |
||||
|
{dictValue: '1', dictLabel: '有效'} |
||||
|
], |
||||
|
// 表单参数 |
||||
|
form: { |
||||
|
question: undefined, |
||||
|
answer: undefined, |
||||
|
category: undefined, |
||||
|
status: undefined, |
||||
|
}, |
||||
|
// 表单校验 |
||||
|
rules: { |
||||
|
question: [ |
||||
|
{required: true, message: "问题描述不能为空", trigger: "blur"} |
||||
|
], |
||||
|
answer: [ |
||||
|
{required: true, message: "答案内容不能为空", trigger: "blur"} |
||||
|
], |
||||
|
category: [ |
||||
|
{required: true, message: "问题分类不能为空", trigger: "blur"} |
||||
|
], |
||||
|
status: [ |
||||
|
{required: true, message: "状态不能为空", trigger: "change"} |
||||
|
], |
||||
|
} |
||||
|
}; |
||||
|
}, |
||||
|
created() { |
||||
|
this.getList(); |
||||
|
}, |
||||
|
methods: { |
||||
|
/** 查询常见问题及答案列表 */ |
||||
|
getList() { |
||||
|
this.loading = true; |
||||
|
listFaq(this.queryParams).then(response => { |
||||
|
this.faqList = response.rows; |
||||
|
this.total = response.total; |
||||
|
this.loading = false; |
||||
|
}); |
||||
|
}, |
||||
|
// 取消按钮 |
||||
|
cancel() { |
||||
|
this.open = false; |
||||
|
this.detailOpen = false; |
||||
|
this.reset(); |
||||
|
}, |
||||
|
// 表单重置 |
||||
|
reset() { |
||||
|
this.form = { |
||||
|
id: undefined, |
||||
|
question: undefined, |
||||
|
answer: undefined, |
||||
|
category: undefined, |
||||
|
status: undefined, |
||||
|
createBy: undefined, |
||||
|
createTime: undefined, |
||||
|
updateBy: undefined, |
||||
|
updateTime: undefined |
||||
|
}; |
||||
|
this.resetForm("form"); |
||||
|
}, |
||||
|
/** 搜索按钮操作 */ |
||||
|
handleQuery() { |
||||
|
this.queryParams.pageNum = 1; |
||||
|
this.getList(); |
||||
|
}, |
||||
|
/** 重置按钮操作 */ |
||||
|
resetQuery() { |
||||
|
this.resetForm("queryForm"); |
||||
|
this.handleQuery(); |
||||
|
}, |
||||
|
// 多选框选中数据 |
||||
|
handleSelectionChange(selection) { |
||||
|
this.ids = selection.map(item => item.id) |
||||
|
this.single = selection.length !== 1 |
||||
|
this.multiple = !selection.length |
||||
|
}, |
||||
|
/** 新增按钮操作 */ |
||||
|
handleAdd() { |
||||
|
this.reset(); |
||||
|
this.open = true; |
||||
|
this.title = "添加常见问题及答案"; |
||||
|
}, |
||||
|
/** 详情按钮操作 */ |
||||
|
handleDetail(row) { |
||||
|
this.reset(); |
||||
|
this.form = row; |
||||
|
this.detailOpen = true; |
||||
|
this.title = "常见问题及答案"; |
||||
|
}, |
||||
|
/** 修改按钮操作 */ |
||||
|
handleUpdate(row) { |
||||
|
this.loading = true; |
||||
|
this.reset(); |
||||
|
const id = row.id || this.ids |
||||
|
getFaq(id).then(response => { |
||||
|
this.loading = false; |
||||
|
this.form = response.data; |
||||
|
this.open = true; |
||||
|
this.title = "修改常见问题及答案"; |
||||
|
}); |
||||
|
}, |
||||
|
/** 提交按钮 */ |
||||
|
submitForm() { |
||||
|
this.$refs["form"].validate(valid => { |
||||
|
if (valid) { |
||||
|
this.buttonLoading = true; |
||||
|
if (this.form.id != null) { |
||||
|
updateFaq(this.form).then(response => { |
||||
|
this.$modal.msgSuccess("修改成功"); |
||||
|
this.open = false; |
||||
|
this.getList(); |
||||
|
}).finally(() => { |
||||
|
this.buttonLoading = false; |
||||
|
}); |
||||
|
} else { |
||||
|
addFaq(this.form).then(response => { |
||||
|
this.$modal.msgSuccess("新增成功"); |
||||
|
this.open = false; |
||||
|
this.getList(); |
||||
|
}).finally(() => { |
||||
|
this.buttonLoading = false; |
||||
|
}); |
||||
|
} |
||||
|
} |
||||
|
}); |
||||
|
}, |
||||
|
/** 删除按钮操作 */ |
||||
|
handleDelete(row) { |
||||
|
const ids = row.id || this.ids; |
||||
|
this.$modal.confirm('是否确认删除常见问题及答案编号为"' + ids + '"的数据项?').then(() => { |
||||
|
this.loading = true; |
||||
|
return delFaq(ids); |
||||
|
}).then(() => { |
||||
|
this.loading = false; |
||||
|
this.getList(); |
||||
|
this.$modal.msgSuccess("删除成功"); |
||||
|
}).catch(() => { |
||||
|
}).finally(() => { |
||||
|
this.loading = false; |
||||
|
}); |
||||
|
}, |
||||
|
/** 导出按钮操作 */ |
||||
|
handleExport() { |
||||
|
this.download('business/faq/export', { |
||||
|
...this.queryParams |
||||
|
}, `faq_${new Date().getTime()}.xlsx`) |
||||
|
} |
||||
|
} |
||||
|
}; |
||||
|
</script> |
@ -0,0 +1,424 @@ |
|||||
|
<template> |
||||
|
<div class="app-container"> |
||||
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> |
||||
|
<el-form-item label="用户ID" prop="userId"> |
||||
|
<el-input |
||||
|
v-model="queryParams.userId" |
||||
|
placeholder="请输入用户ID" |
||||
|
clearable |
||||
|
@keyup.enter.native="handleQuery" |
||||
|
/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="相关订单ID" prop="orderId"> |
||||
|
<el-input |
||||
|
v-model="queryParams.orderId" |
||||
|
placeholder="请输入相关订单ID" |
||||
|
clearable |
||||
|
@keyup.enter.native="handleQuery" |
||||
|
/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="金额" prop="amount"> |
||||
|
<el-input |
||||
|
v-model="queryParams.amount" |
||||
|
placeholder="请输入金额" |
||||
|
clearable |
||||
|
@keyup.enter.native="handleQuery" |
||||
|
/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="货币单位" prop="currency"> |
||||
|
<el-input |
||||
|
v-model="queryParams.currency" |
||||
|
placeholder="请输入货币单位" |
||||
|
clearable |
||||
|
@keyup.enter.native="handleQuery" |
||||
|
/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="描述信息" prop="description"> |
||||
|
<el-input |
||||
|
v-model="queryParams.description" |
||||
|
placeholder="请输入描述信息" |
||||
|
clearable |
||||
|
@keyup.enter.native="handleQuery" |
||||
|
/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="交易日期" prop="transactionDate"> |
||||
|
<el-date-picker clearable |
||||
|
v-model="queryParams.transactionDate" |
||||
|
type="date" |
||||
|
value-format="yyyy-MM-dd" |
||||
|
placeholder="请选择交易日期"> |
||||
|
</el-date-picker> |
||||
|
</el-form-item> |
||||
|
<el-form-item> |
||||
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> |
||||
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
|
||||
|
<el-row :gutter="10" class="mb8"> |
||||
|
<el-col :span="1.5"> |
||||
|
<el-button |
||||
|
type="primary" |
||||
|
plain |
||||
|
icon="el-icon-plus" |
||||
|
size="mini" |
||||
|
@click="handleAdd" |
||||
|
v-hasPermi="['business:financialRecord:add']" |
||||
|
>新增</el-button> |
||||
|
</el-col> |
||||
|
<el-col :span="1.5"> |
||||
|
<el-button |
||||
|
type="success" |
||||
|
plain |
||||
|
icon="el-icon-edit" |
||||
|
size="mini" |
||||
|
:disabled="single" |
||||
|
@click="handleUpdate" |
||||
|
v-hasPermi="['business:financialRecord:edit']" |
||||
|
>修改</el-button> |
||||
|
</el-col> |
||||
|
<el-col :span="1.5"> |
||||
|
<el-button |
||||
|
type="danger" |
||||
|
plain |
||||
|
icon="el-icon-delete" |
||||
|
size="mini" |
||||
|
:disabled="multiple" |
||||
|
@click="handleDelete" |
||||
|
v-hasPermi="['business:financialRecord:remove']" |
||||
|
>删除</el-button> |
||||
|
</el-col> |
||||
|
<el-col :span="1.5"> |
||||
|
<el-button |
||||
|
type="warning" |
||||
|
plain |
||||
|
icon="el-icon-download" |
||||
|
size="mini" |
||||
|
@click="handleExport" |
||||
|
v-hasPermi="['business:financialRecord:export']" |
||||
|
>导出</el-button> |
||||
|
</el-col> |
||||
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
||||
|
</el-row> |
||||
|
|
||||
|
<el-table v-loading="loading" :data="financialRecordList" @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="用户ID" align="center" prop="userId" /> |
||||
|
<el-table-column label="相关订单ID" align="center" prop="orderId" /> |
||||
|
<el-table-column label="交易类型" align="center" prop="transactionType" /> |
||||
|
<el-table-column label="金额" align="center" prop="amount" /> |
||||
|
<el-table-column label="货币单位" align="center" prop="currency" /> |
||||
|
<el-table-column label="描述信息" align="center" prop="description" /> |
||||
|
<el-table-column label="交易日期" align="center" prop="transactionDate" width="180"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span>{{ parseTime(scope.row.transactionDate, '{y}-{m}-{d}') }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="状态" align="center" prop="status" /> |
||||
|
<el-table-column label="操作" align="center" width="200" class-name="small-padding fixed-width"> |
||||
|
<template slot-scope="scope"> |
||||
|
<el-button |
||||
|
size="mini" |
||||
|
type="text" |
||||
|
icon="el-icon-view" |
||||
|
@click="handleDetail(scope.row)" |
||||
|
>详情</el-button> |
||||
|
<el-button |
||||
|
size="mini" |
||||
|
type="text" |
||||
|
icon="el-icon-edit" |
||||
|
@click="handleUpdate(scope.row)" |
||||
|
v-hasPermi="['business:financialRecord:edit']" |
||||
|
>修改</el-button> |
||||
|
<el-button |
||||
|
size="mini" |
||||
|
type="text" |
||||
|
icon="el-icon-delete" |
||||
|
@click="handleDelete(scope.row)" |
||||
|
v-hasPermi="['business:financialRecord:remove']" |
||||
|
>删除</el-button> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
|
||||
|
<pagination |
||||
|
v-show="total>0" |
||||
|
:total="total" |
||||
|
:page.sync="queryParams.pageNum" |
||||
|
:limit.sync="queryParams.pageSize" |
||||
|
@pagination="getList" |
||||
|
/> |
||||
|
|
||||
|
<!-- 添加或修改财务记录对话框 --> |
||||
|
<el-dialog :title="title" :visible.sync="open" width="700px" append-to-body> |
||||
|
<el-form ref="form" :model="form" :rules="rules" label-width="auto"> |
||||
|
<el-form-item label="用户ID" prop="userId"> |
||||
|
<el-input v-model="form.userId" placeholder="请输入用户ID" /> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="相关订单ID" prop="orderId"> |
||||
|
<el-input v-model="form.orderId" placeholder="请输入相关订单ID" /> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="金额" prop="amount"> |
||||
|
<el-input v-model="form.amount" placeholder="请输入金额" /> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="货币单位" prop="currency"> |
||||
|
<el-input v-model="form.currency" placeholder="请输入货币单位" /> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="描述信息" prop="description"> |
||||
|
<el-input v-model="form.description" type="textarea" placeholder="请输入内容" /> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="交易日期" prop="transactionDate"> |
||||
|
<el-date-picker clearable |
||||
|
v-model="form.transactionDate" |
||||
|
type="datetime" |
||||
|
value-format="yyyy-MM-dd HH:mm:ss" |
||||
|
placeholder="请选择交易日期"> |
||||
|
</el-date-picker> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<div slot="footer" class="dialog-footer"> |
||||
|
<el-button :loading="buttonLoading" type="primary" @click="submitForm">确 定</el-button> |
||||
|
<el-button @click="cancel">取 消</el-button> |
||||
|
</div> |
||||
|
</el-dialog> |
||||
|
|
||||
|
<!-- 财务记录详情 --> |
||||
|
<el-dialog :title="title" :visible.sync="detailOpen" width="700px" append-to-body> |
||||
|
<el-form ref="form" :model="form" label-width="auto"> |
||||
|
<el-form-item label="用户ID:"> |
||||
|
{{form.userId}} |
||||
|
</el-form-item> |
||||
|
<el-form-item label="相关订单ID:"> |
||||
|
{{form.orderId}} |
||||
|
</el-form-item> |
||||
|
<el-form-item label="金额:"> |
||||
|
{{form.amount}} |
||||
|
</el-form-item> |
||||
|
<el-form-item label="货币单位:"> |
||||
|
{{form.currency}} |
||||
|
</el-form-item> |
||||
|
<el-form-item label="描述信息:"> |
||||
|
{{form.description}} |
||||
|
|
||||
|
</el-form-item> |
||||
|
<el-form-item label="交易日期" prop="transactionDate"> |
||||
|
<el-date-picker clearable |
||||
|
v-model="form.transactionDate" |
||||
|
type="datetime" |
||||
|
value-format="yyyy-MM-dd HH:mm:ss" |
||||
|
placeholder="请选择交易日期"> |
||||
|
</el-date-picker> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<div slot="footer" class="dialog-footer"> |
||||
|
<el-button @click="cancel">关 闭</el-button> |
||||
|
</div> |
||||
|
</el-dialog> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { listFinancialRecord, getFinancialRecord, delFinancialRecord, addFinancialRecord, updateFinancialRecord } from "@/api/business/financialRecord"; |
||||
|
|
||||
|
export default { |
||||
|
name: "FinancialRecord", |
||||
|
data() { |
||||
|
return { |
||||
|
// 按钮loading |
||||
|
buttonLoading: false, |
||||
|
// 遮罩层 |
||||
|
loading: true, |
||||
|
// 选中数组 |
||||
|
ids: [], |
||||
|
// 非单个禁用 |
||||
|
single: true, |
||||
|
// 非多个禁用 |
||||
|
multiple: true, |
||||
|
// 显示搜索条件 |
||||
|
showSearch: true, |
||||
|
// 总条数 |
||||
|
total: 0, |
||||
|
// 财务记录表格数据 |
||||
|
financialRecordList: [], |
||||
|
// 弹出层标题 |
||||
|
title: "", |
||||
|
// 是否显示弹出层 |
||||
|
open: false, |
||||
|
// 是否显示详情弹出层 |
||||
|
detailOpen: false, |
||||
|
// 查询参数 |
||||
|
queryParams: { |
||||
|
pageNum: 1, |
||||
|
pageSize: 10, |
||||
|
userId: undefined, |
||||
|
orderId: undefined, |
||||
|
transactionType: undefined, |
||||
|
amount: undefined, |
||||
|
currency: undefined, |
||||
|
description: undefined, |
||||
|
transactionDate: undefined, |
||||
|
status: undefined, |
||||
|
}, |
||||
|
// 表单参数 |
||||
|
form: {}, |
||||
|
// 表单校验 |
||||
|
rules: { |
||||
|
id: [ |
||||
|
{ required: true, message: "主键不能为空", trigger: "blur" } |
||||
|
], |
||||
|
userId: [ |
||||
|
{ required: true, message: "用户ID不能为空", trigger: "blur" } |
||||
|
], |
||||
|
orderId: [ |
||||
|
{ required: true, message: "相关订单ID不能为空", trigger: "blur" } |
||||
|
], |
||||
|
transactionType: [ |
||||
|
{ required: true, message: "交易类型不能为空", trigger: "change" } |
||||
|
], |
||||
|
amount: [ |
||||
|
{ required: true, message: "金额不能为空", trigger: "blur" } |
||||
|
], |
||||
|
currency: [ |
||||
|
{ required: true, message: "货币单位不能为空", trigger: "blur" } |
||||
|
], |
||||
|
description: [ |
||||
|
{ required: true, message: "描述信息不能为空", trigger: "blur" } |
||||
|
], |
||||
|
transactionDate: [ |
||||
|
{ required: true, message: "交易日期不能为空", trigger: "blur" } |
||||
|
], |
||||
|
status: [ |
||||
|
{ required: true, message: "状态不能为空", trigger: "change" } |
||||
|
], |
||||
|
} |
||||
|
}; |
||||
|
}, |
||||
|
created() { |
||||
|
this.getList(); |
||||
|
}, |
||||
|
methods: { |
||||
|
/** 查询财务记录列表 */ |
||||
|
getList() { |
||||
|
this.loading = true; |
||||
|
listFinancialRecord(this.queryParams).then(response => { |
||||
|
this.financialRecordList = response.rows; |
||||
|
this.total = response.total; |
||||
|
this.loading = false; |
||||
|
}); |
||||
|
}, |
||||
|
// 取消按钮 |
||||
|
cancel() { |
||||
|
this.open = false; |
||||
|
this.detailOpen = false; |
||||
|
this.reset(); |
||||
|
}, |
||||
|
// 表单重置 |
||||
|
reset() { |
||||
|
this.form = { |
||||
|
id: undefined, |
||||
|
userId: undefined, |
||||
|
orderId: undefined, |
||||
|
transactionType: undefined, |
||||
|
amount: undefined, |
||||
|
currency: undefined, |
||||
|
description: undefined, |
||||
|
transactionDate: undefined, |
||||
|
status: undefined, |
||||
|
createBy: undefined, |
||||
|
updateBy: undefined, |
||||
|
createTime: undefined, |
||||
|
updateTime: undefined |
||||
|
}; |
||||
|
this.resetForm("form"); |
||||
|
}, |
||||
|
/** 搜索按钮操作 */ |
||||
|
handleQuery() { |
||||
|
this.queryParams.pageNum = 1; |
||||
|
this.getList(); |
||||
|
}, |
||||
|
/** 重置按钮操作 */ |
||||
|
resetQuery() { |
||||
|
this.resetForm("queryForm"); |
||||
|
this.handleQuery(); |
||||
|
}, |
||||
|
// 多选框选中数据 |
||||
|
handleSelectionChange(selection) { |
||||
|
this.ids = selection.map(item => item.id) |
||||
|
this.single = selection.length!==1 |
||||
|
this.multiple = !selection.length |
||||
|
}, |
||||
|
/** 新增按钮操作 */ |
||||
|
handleAdd() { |
||||
|
this.reset(); |
||||
|
this.open = true; |
||||
|
this.title = "添加财务记录"; |
||||
|
}, |
||||
|
/** 详情按钮操作 */ |
||||
|
handleDetail(row){ |
||||
|
this.reset(); |
||||
|
this.form = row; |
||||
|
this.detailOpen = true; |
||||
|
this.title = "财务记录"; |
||||
|
}, |
||||
|
/** 修改按钮操作 */ |
||||
|
handleUpdate(row) { |
||||
|
this.loading = true; |
||||
|
this.reset(); |
||||
|
const id = row.id || this.ids |
||||
|
getFinancialRecord(id).then(response => { |
||||
|
this.loading = false; |
||||
|
this.form = response.data; |
||||
|
this.open = true; |
||||
|
this.title = "修改财务记录"; |
||||
|
}); |
||||
|
}, |
||||
|
/** 提交按钮 */ |
||||
|
submitForm() { |
||||
|
this.$refs["form"].validate(valid => { |
||||
|
if (valid) { |
||||
|
this.buttonLoading = true; |
||||
|
if (this.form.id != null) { |
||||
|
updateFinancialRecord(this.form).then(response => { |
||||
|
this.$modal.msgSuccess("修改成功"); |
||||
|
this.open = false; |
||||
|
this.getList(); |
||||
|
}).finally(() => { |
||||
|
this.buttonLoading = false; |
||||
|
}); |
||||
|
} else { |
||||
|
addFinancialRecord(this.form).then(response => { |
||||
|
this.$modal.msgSuccess("新增成功"); |
||||
|
this.open = false; |
||||
|
this.getList(); |
||||
|
}).finally(() => { |
||||
|
this.buttonLoading = false; |
||||
|
}); |
||||
|
} |
||||
|
} |
||||
|
}); |
||||
|
}, |
||||
|
/** 删除按钮操作 */ |
||||
|
handleDelete(row) { |
||||
|
const ids = row.id || this.ids; |
||||
|
this.$modal.confirm('是否确认删除财务记录编号为"' + ids + '"的数据项?').then(() => { |
||||
|
this.loading = true; |
||||
|
return delFinancialRecord(ids); |
||||
|
}).then(() => { |
||||
|
this.loading = false; |
||||
|
this.getList(); |
||||
|
this.$modal.msgSuccess("删除成功"); |
||||
|
}).catch(() => { |
||||
|
}).finally(() => { |
||||
|
this.loading = false; |
||||
|
}); |
||||
|
}, |
||||
|
/** 导出按钮操作 */ |
||||
|
handleExport() { |
||||
|
this.download('business/financialRecord/export', { |
||||
|
...this.queryParams |
||||
|
}, `financialRecord_${new Date().getTime()}.xlsx`) |
||||
|
} |
||||
|
} |
||||
|
}; |
||||
|
</script> |
@ -0,0 +1,427 @@ |
|||||
|
<template> |
||||
|
<div class="app-container"> |
||||
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> |
||||
|
<el-form-item label="通道编码" prop="channelCode"> |
||||
|
<el-input |
||||
|
v-model="queryParams.channelCode" |
||||
|
placeholder="请输入通道编码" |
||||
|
clearable |
||||
|
@keyup.enter.native="handleQuery" |
||||
|
/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="通道版本" prop="channelVersion"> |
||||
|
<el-input |
||||
|
v-model="queryParams.channelVersion" |
||||
|
placeholder="请输入通道版本" |
||||
|
clearable |
||||
|
@keyup.enter.native="handleQuery" |
||||
|
/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="APPID" prop="channelAppid"> |
||||
|
<el-input |
||||
|
v-model="queryParams.channelAppid" |
||||
|
placeholder="请输入APPID" |
||||
|
clearable |
||||
|
@keyup.enter.native="handleQuery" |
||||
|
/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="密钥版本" prop="channelKeyVersion"> |
||||
|
<el-input |
||||
|
v-model="queryParams.channelKeyVersion" |
||||
|
placeholder="请输入密钥版本" |
||||
|
clearable |
||||
|
@keyup.enter.native="handleQuery" |
||||
|
/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="回调地址" prop="channelCallbackUrl"> |
||||
|
<el-input |
||||
|
v-model="queryParams.channelCallbackUrl" |
||||
|
placeholder="请输入回调地址" |
||||
|
clearable |
||||
|
@keyup.enter.native="handleQuery" |
||||
|
/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="其它参数" prop="channelOtherParam"> |
||||
|
<el-input |
||||
|
v-model="queryParams.channelOtherParam" |
||||
|
placeholder="请输入其它参数" |
||||
|
clearable |
||||
|
@keyup.enter.native="handleQuery" |
||||
|
/> |
||||
|
</el-form-item> |
||||
|
<el-form-item> |
||||
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> |
||||
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
|
||||
|
<el-row :gutter="10" class="mb8"> |
||||
|
<el-col :span="1.5"> |
||||
|
<el-button |
||||
|
type="primary" |
||||
|
plain |
||||
|
icon="el-icon-plus" |
||||
|
size="mini" |
||||
|
@click="handleAdd" |
||||
|
v-hasPermi="['business:tradingChannel:add']" |
||||
|
>新增</el-button> |
||||
|
</el-col> |
||||
|
<el-col :span="1.5"> |
||||
|
<el-button |
||||
|
type="success" |
||||
|
plain |
||||
|
icon="el-icon-edit" |
||||
|
size="mini" |
||||
|
:disabled="single" |
||||
|
@click="handleUpdate" |
||||
|
v-hasPermi="['business:tradingChannel:edit']" |
||||
|
>修改</el-button> |
||||
|
</el-col> |
||||
|
<el-col :span="1.5"> |
||||
|
<el-button |
||||
|
type="danger" |
||||
|
plain |
||||
|
icon="el-icon-delete" |
||||
|
size="mini" |
||||
|
:disabled="multiple" |
||||
|
@click="handleDelete" |
||||
|
v-hasPermi="['business:tradingChannel:remove']" |
||||
|
>删除</el-button> |
||||
|
</el-col> |
||||
|
<el-col :span="1.5"> |
||||
|
<el-button |
||||
|
type="warning" |
||||
|
plain |
||||
|
icon="el-icon-download" |
||||
|
size="mini" |
||||
|
@click="handleExport" |
||||
|
v-hasPermi="['business:tradingChannel:export']" |
||||
|
>导出</el-button> |
||||
|
</el-col> |
||||
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
||||
|
</el-row> |
||||
|
|
||||
|
<el-table v-loading="loading" :data="tradingChannelList" @selection-change="handleSelectionChange"> |
||||
|
<el-table-column type="selection" width="55" align="center" /> |
||||
|
<el-table-column label="ID" align="center" prop="id" v-if="true"/> |
||||
|
<el-table-column label="通道编码" align="center" prop="channelCode" /> |
||||
|
<el-table-column label="通道状态" align="center" prop="channelStatus" /> |
||||
|
<el-table-column label="通道版本" align="center" prop="channelVersion" /> |
||||
|
<el-table-column label="APPID" align="center" prop="channelAppid" /> |
||||
|
<el-table-column label="加密公钥" align="center" prop="channelPublicKey" /> |
||||
|
<el-table-column label="加密私钥" align="center" prop="channelPrivateKey" /> |
||||
|
<el-table-column label="密钥版本" align="center" prop="channelKeyVersion" /> |
||||
|
<el-table-column label="回调地址" align="center" prop="channelCallbackUrl" /> |
||||
|
<el-table-column label="其它参数" align="center" prop="channelOtherParam" /> |
||||
|
<el-table-column label="操作" align="center" width="200" class-name="small-padding fixed-width"> |
||||
|
<template slot-scope="scope"> |
||||
|
<el-button |
||||
|
size="mini" |
||||
|
type="text" |
||||
|
icon="el-icon-view" |
||||
|
@click="handleDetail(scope.row)" |
||||
|
>详情</el-button> |
||||
|
<el-button |
||||
|
size="mini" |
||||
|
type="text" |
||||
|
icon="el-icon-edit" |
||||
|
@click="handleUpdate(scope.row)" |
||||
|
v-hasPermi="['business:tradingChannel:edit']" |
||||
|
>修改</el-button> |
||||
|
<el-button |
||||
|
size="mini" |
||||
|
type="text" |
||||
|
icon="el-icon-delete" |
||||
|
@click="handleDelete(scope.row)" |
||||
|
v-hasPermi="['business:tradingChannel:remove']" |
||||
|
>删除</el-button> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
|
||||
|
<pagination |
||||
|
v-show="total>0" |
||||
|
:total="total" |
||||
|
:page.sync="queryParams.pageNum" |
||||
|
:limit.sync="queryParams.pageSize" |
||||
|
@pagination="getList" |
||||
|
/> |
||||
|
|
||||
|
<!-- 添加或修改交易通道/渠道对话框 --> |
||||
|
<el-dialog :title="title" :visible.sync="open" width="700px" append-to-body> |
||||
|
<el-form ref="form" :model="form" :rules="rules" label-width="auto"> |
||||
|
<el-form-item label="通道编码" prop="channelCode"> |
||||
|
<el-input v-model="form.channelCode" placeholder="请输入通道编码" /> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="通道版本" prop="channelVersion"> |
||||
|
<el-input v-model="form.channelVersion" placeholder="请输入通道版本" /> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="APPID" prop="channelAppid"> |
||||
|
<el-input v-model="form.channelAppid" placeholder="请输入APPID" /> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="加密公钥" prop="channelPublicKey"> |
||||
|
<el-input v-model="form.channelPublicKey" placeholder="请输入加密公钥" /> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="加密私钥" prop="channelPrivateKey"> |
||||
|
<el-input v-model="form.channelPrivateKey" placeholder="请输入加密私钥" /> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="密钥版本" prop="channelKeyVersion"> |
||||
|
<el-input v-model="form.channelKeyVersion" placeholder="请输入密钥版本" /> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="回调地址" prop="channelCallbackUrl"> |
||||
|
<el-input v-model="form.channelCallbackUrl" placeholder="请输入回调地址" /> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="其它参数" prop="channelOtherParam"> |
||||
|
<el-input v-model="form.channelOtherParam" placeholder="请输入其它参数" /> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<div slot="footer" class="dialog-footer"> |
||||
|
<el-button :loading="buttonLoading" type="primary" @click="submitForm">确 定</el-button> |
||||
|
<el-button @click="cancel">取 消</el-button> |
||||
|
</div> |
||||
|
</el-dialog> |
||||
|
|
||||
|
<!-- 交易通道/渠道详情 --> |
||||
|
<el-dialog :title="title" :visible.sync="detailOpen" width="700px" append-to-body> |
||||
|
<el-form ref="form" :model="form" label-width="auto"> |
||||
|
<el-form-item label="通道编码:"> |
||||
|
{{form.channelCode}} |
||||
|
</el-form-item> |
||||
|
<el-form-item label="通道版本:"> |
||||
|
{{form.channelVersion}} |
||||
|
</el-form-item> |
||||
|
<el-form-item label="APPID:"> |
||||
|
{{form.channelAppid}} |
||||
|
</el-form-item> |
||||
|
<el-form-item label="加密公钥:"> |
||||
|
{{form.channelPublicKey}} |
||||
|
</el-form-item> |
||||
|
<el-form-item label="加密私钥:"> |
||||
|
{{form.channelPrivateKey}} |
||||
|
</el-form-item> |
||||
|
<el-form-item label="密钥版本:"> |
||||
|
{{form.channelKeyVersion}} |
||||
|
</el-form-item> |
||||
|
<el-form-item label="回调地址:"> |
||||
|
{{form.channelCallbackUrl}} |
||||
|
</el-form-item> |
||||
|
<el-form-item label="其它参数:"> |
||||
|
{{form.channelOtherParam}} |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<div slot="footer" class="dialog-footer"> |
||||
|
<el-button @click="cancel">关 闭</el-button> |
||||
|
</div> |
||||
|
</el-dialog> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { listTradingChannel, getTradingChannel, delTradingChannel, addTradingChannel, updateTradingChannel } from "@/api/business/tradingChannel"; |
||||
|
|
||||
|
export default { |
||||
|
name: "TradingChannel", |
||||
|
data() { |
||||
|
return { |
||||
|
// 按钮loading |
||||
|
buttonLoading: false, |
||||
|
// 遮罩层 |
||||
|
loading: true, |
||||
|
// 选中数组 |
||||
|
ids: [], |
||||
|
// 非单个禁用 |
||||
|
single: true, |
||||
|
// 非多个禁用 |
||||
|
multiple: true, |
||||
|
// 显示搜索条件 |
||||
|
showSearch: true, |
||||
|
// 总条数 |
||||
|
total: 0, |
||||
|
// 交易通道/渠道表格数据 |
||||
|
tradingChannelList: [], |
||||
|
// 弹出层标题 |
||||
|
title: "", |
||||
|
// 是否显示弹出层 |
||||
|
open: false, |
||||
|
// 是否显示详情弹出层 |
||||
|
detailOpen: false, |
||||
|
// 查询参数 |
||||
|
queryParams: { |
||||
|
pageNum: 1, |
||||
|
pageSize: 10, |
||||
|
channelCode: undefined, |
||||
|
channelStatus: undefined, |
||||
|
channelVersion: undefined, |
||||
|
channelAppid: undefined, |
||||
|
channelPublicKey: undefined, |
||||
|
channelPrivateKey: undefined, |
||||
|
channelKeyVersion: undefined, |
||||
|
channelCallbackUrl: undefined, |
||||
|
channelOtherParam: undefined, |
||||
|
}, |
||||
|
// 表单参数 |
||||
|
form: {}, |
||||
|
// 表单校验 |
||||
|
rules: { |
||||
|
id: [ |
||||
|
{ required: true, message: "ID不能为空", trigger: "blur" } |
||||
|
], |
||||
|
channelCode: [ |
||||
|
{ required: true, message: "通道编码不能为空", trigger: "blur" } |
||||
|
], |
||||
|
channelStatus: [ |
||||
|
{ required: true, message: "通道状态不能为空", trigger: "change" } |
||||
|
], |
||||
|
channelVersion: [ |
||||
|
{ required: true, message: "通道版本不能为空", trigger: "blur" } |
||||
|
], |
||||
|
channelAppid: [ |
||||
|
{ required: true, message: "APPID不能为空", trigger: "blur" } |
||||
|
], |
||||
|
channelPublicKey: [ |
||||
|
{ required: true, message: "加密公钥不能为空", trigger: "blur" } |
||||
|
], |
||||
|
channelPrivateKey: [ |
||||
|
{ required: true, message: "加密私钥不能为空", trigger: "blur" } |
||||
|
], |
||||
|
channelKeyVersion: [ |
||||
|
{ required: true, message: "密钥版本不能为空", trigger: "blur" } |
||||
|
], |
||||
|
channelCallbackUrl: [ |
||||
|
{ required: true, message: "回调地址不能为空", trigger: "blur" } |
||||
|
], |
||||
|
channelOtherParam: [ |
||||
|
{ required: true, message: "其它参数不能为空", trigger: "blur" } |
||||
|
], |
||||
|
} |
||||
|
}; |
||||
|
}, |
||||
|
created() { |
||||
|
this.getList(); |
||||
|
}, |
||||
|
methods: { |
||||
|
/** 查询交易通道/渠道列表 */ |
||||
|
getList() { |
||||
|
this.loading = true; |
||||
|
listTradingChannel(this.queryParams).then(response => { |
||||
|
this.tradingChannelList = response.rows; |
||||
|
this.total = response.total; |
||||
|
this.loading = false; |
||||
|
}); |
||||
|
}, |
||||
|
// 取消按钮 |
||||
|
cancel() { |
||||
|
this.open = false; |
||||
|
this.detailOpen = false; |
||||
|
this.reset(); |
||||
|
}, |
||||
|
// 表单重置 |
||||
|
reset() { |
||||
|
this.form = { |
||||
|
id: undefined, |
||||
|
channelCode: undefined, |
||||
|
channelStatus: undefined, |
||||
|
channelVersion: undefined, |
||||
|
channelAppid: undefined, |
||||
|
channelPublicKey: undefined, |
||||
|
channelPrivateKey: undefined, |
||||
|
channelKeyVersion: undefined, |
||||
|
channelCallbackUrl: undefined, |
||||
|
channelOtherParam: undefined, |
||||
|
createBy: undefined, |
||||
|
createTime: undefined, |
||||
|
updateBy: undefined, |
||||
|
updateTime: undefined |
||||
|
}; |
||||
|
this.resetForm("form"); |
||||
|
}, |
||||
|
/** 搜索按钮操作 */ |
||||
|
handleQuery() { |
||||
|
this.queryParams.pageNum = 1; |
||||
|
this.getList(); |
||||
|
}, |
||||
|
/** 重置按钮操作 */ |
||||
|
resetQuery() { |
||||
|
this.resetForm("queryForm"); |
||||
|
this.handleQuery(); |
||||
|
}, |
||||
|
// 多选框选中数据 |
||||
|
handleSelectionChange(selection) { |
||||
|
this.ids = selection.map(item => item.id) |
||||
|
this.single = selection.length!==1 |
||||
|
this.multiple = !selection.length |
||||
|
}, |
||||
|
/** 新增按钮操作 */ |
||||
|
handleAdd() { |
||||
|
this.reset(); |
||||
|
this.open = true; |
||||
|
this.title = "添加交易通道/渠道"; |
||||
|
}, |
||||
|
/** 详情按钮操作 */ |
||||
|
handleDetail(row){ |
||||
|
this.reset(); |
||||
|
this.form = row; |
||||
|
this.detailOpen = true; |
||||
|
this.title = "交易通道/渠道"; |
||||
|
}, |
||||
|
/** 修改按钮操作 */ |
||||
|
handleUpdate(row) { |
||||
|
this.loading = true; |
||||
|
this.reset(); |
||||
|
const id = row.id || this.ids |
||||
|
getTradingChannel(id).then(response => { |
||||
|
this.loading = false; |
||||
|
this.form = response.data; |
||||
|
this.open = true; |
||||
|
this.title = "修改交易通道/渠道"; |
||||
|
}); |
||||
|
}, |
||||
|
/** 提交按钮 */ |
||||
|
submitForm() { |
||||
|
this.$refs["form"].validate(valid => { |
||||
|
if (valid) { |
||||
|
this.buttonLoading = true; |
||||
|
if (this.form.id != null) { |
||||
|
updateTradingChannel(this.form).then(response => { |
||||
|
this.$modal.msgSuccess("修改成功"); |
||||
|
this.open = false; |
||||
|
this.getList(); |
||||
|
}).finally(() => { |
||||
|
this.buttonLoading = false; |
||||
|
}); |
||||
|
} else { |
||||
|
addTradingChannel(this.form).then(response => { |
||||
|
this.$modal.msgSuccess("新增成功"); |
||||
|
this.open = false; |
||||
|
this.getList(); |
||||
|
}).finally(() => { |
||||
|
this.buttonLoading = false; |
||||
|
}); |
||||
|
} |
||||
|
} |
||||
|
}); |
||||
|
}, |
||||
|
/** 删除按钮操作 */ |
||||
|
handleDelete(row) { |
||||
|
const ids = row.id || this.ids; |
||||
|
this.$modal.confirm('是否确认删除交易通道/渠道编号为"' + ids + '"的数据项?').then(() => { |
||||
|
this.loading = true; |
||||
|
return delTradingChannel(ids); |
||||
|
}).then(() => { |
||||
|
this.loading = false; |
||||
|
this.getList(); |
||||
|
this.$modal.msgSuccess("删除成功"); |
||||
|
}).catch(() => { |
||||
|
}).finally(() => { |
||||
|
this.loading = false; |
||||
|
}); |
||||
|
}, |
||||
|
/** 导出按钮操作 */ |
||||
|
handleExport() { |
||||
|
this.download('business/tradingChannel/export', { |
||||
|
...this.queryParams |
||||
|
}, `tradingChannel_${new Date().getTime()}.xlsx`) |
||||
|
} |
||||
|
} |
||||
|
}; |
||||
|
</script> |
@ -0,0 +1,416 @@ |
|||||
|
<template> |
||||
|
<div class="app-container"> |
||||
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> |
||||
|
<el-form-item label="用户ID" prop="userId"> |
||||
|
<el-input |
||||
|
v-model="queryParams.userId" |
||||
|
placeholder="请输入用户ID" |
||||
|
clearable |
||||
|
@keyup.enter.native="handleQuery" |
||||
|
/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="通道ID" prop="channelId"> |
||||
|
<el-input |
||||
|
v-model="queryParams.channelId" |
||||
|
placeholder="请输入交易通道ID" |
||||
|
clearable |
||||
|
@keyup.enter.native="handleQuery" |
||||
|
/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="货币单位" prop="currency"> |
||||
|
<el-input |
||||
|
v-model="queryParams.currency" |
||||
|
placeholder="请输入货币单位" |
||||
|
clearable |
||||
|
@keyup.enter.native="handleQuery" |
||||
|
/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="支付方式" prop="paymentMethod"> |
||||
|
<el-input |
||||
|
v-model="queryParams.paymentMethod" |
||||
|
placeholder="请输入具体支付方式" |
||||
|
clearable |
||||
|
@keyup.enter.native="handleQuery" |
||||
|
/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="交易日期" prop="transactionDate"> |
||||
|
<el-date-picker clearable |
||||
|
v-model="queryParams.transactionDate" |
||||
|
type="date" |
||||
|
value-format="yyyy-MM-dd" |
||||
|
placeholder="请选择交易日期"> |
||||
|
</el-date-picker> |
||||
|
</el-form-item> |
||||
|
<el-form-item> |
||||
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> |
||||
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
|
||||
|
<el-row :gutter="10" class="mb8"> |
||||
|
<el-col :span="1.5"> |
||||
|
<el-button |
||||
|
type="primary" |
||||
|
plain |
||||
|
icon="el-icon-plus" |
||||
|
size="mini" |
||||
|
@click="handleAdd" |
||||
|
v-hasPermi="['business:tradingChannelRecord:add']" |
||||
|
>新增 |
||||
|
</el-button> |
||||
|
</el-col> |
||||
|
<el-col :span="1.5"> |
||||
|
<el-button |
||||
|
type="success" |
||||
|
plain |
||||
|
icon="el-icon-edit" |
||||
|
size="mini" |
||||
|
:disabled="single" |
||||
|
@click="handleUpdate" |
||||
|
v-hasPermi="['business:tradingChannelRecord:edit']" |
||||
|
>修改 |
||||
|
</el-button> |
||||
|
</el-col> |
||||
|
<el-col :span="1.5"> |
||||
|
<el-button |
||||
|
type="danger" |
||||
|
plain |
||||
|
icon="el-icon-delete" |
||||
|
size="mini" |
||||
|
:disabled="multiple" |
||||
|
@click="handleDelete" |
||||
|
v-hasPermi="['business:tradingChannelRecord:remove']" |
||||
|
>删除 |
||||
|
</el-button> |
||||
|
</el-col> |
||||
|
<el-col :span="1.5"> |
||||
|
<el-button |
||||
|
type="warning" |
||||
|
plain |
||||
|
icon="el-icon-download" |
||||
|
size="mini" |
||||
|
@click="handleExport" |
||||
|
v-hasPermi="['business:tradingChannelRecord:export']" |
||||
|
>导出 |
||||
|
</el-button> |
||||
|
</el-col> |
||||
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
||||
|
</el-row> |
||||
|
|
||||
|
<el-table v-loading="loading" :data="tradingChannelRecordList" @selection-change="handleSelectionChange"> |
||||
|
<el-table-column type="selection" width="55" align="center"/> |
||||
|
<el-table-column label="ID" align="center" prop="id" v-if="true"/> |
||||
|
<el-table-column label="用户ID" align="center" prop="userId"/> |
||||
|
<el-table-column label="通道ID" align="center" prop="channelId"/> |
||||
|
<el-table-column label="交易金额" align="center" prop="amount"/> |
||||
|
<el-table-column label="货币单位" align="center" prop="currency"/> |
||||
|
<el-table-column label="支付方式" align="center" prop="paymentMethod"/> |
||||
|
<el-table-column label="交易状态" align="center" prop="status"/> |
||||
|
<el-table-column label="响应码" align="center" prop="responseCode"/> |
||||
|
<el-table-column label="响应消息" align="center" prop="responseMessage"/> |
||||
|
<el-table-column label="交易日期" align="center" prop="transactionDate" width="180"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span>{{ parseTime(scope.row.transactionDate, '{y}-{m}-{d}') }}</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 |
||||
|
size="mini" |
||||
|
type="text" |
||||
|
icon="el-icon-view" |
||||
|
@click="handleDetail(scope.row)" |
||||
|
>详情 |
||||
|
</el-button> |
||||
|
<el-button |
||||
|
size="mini" |
||||
|
type="text" |
||||
|
icon="el-icon-edit" |
||||
|
@click="handleUpdate(scope.row)" |
||||
|
v-hasPermi="['business:tradingChannelRecord:edit']" |
||||
|
>修改 |
||||
|
</el-button> |
||||
|
<el-button |
||||
|
size="mini" |
||||
|
type="text" |
||||
|
icon="el-icon-delete" |
||||
|
@click="handleDelete(scope.row)" |
||||
|
v-hasPermi="['business:tradingChannelRecord:remove']" |
||||
|
>删除 |
||||
|
</el-button> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
|
||||
|
<pagination |
||||
|
v-show="total>0" |
||||
|
:total="total" |
||||
|
:page.sync="queryParams.pageNum" |
||||
|
:limit.sync="queryParams.pageSize" |
||||
|
@pagination="getList" |
||||
|
/> |
||||
|
|
||||
|
<!-- 添加或修改交易通道记录对话框 --> |
||||
|
<el-dialog :title="title" :visible.sync="open" width="700px" append-to-body> |
||||
|
<el-form ref="form" :model="form" :rules="rules" label-width="auto"> |
||||
|
<el-form-item label="用户ID" prop="userId"> |
||||
|
<el-input v-model="form.userId" placeholder="请输入用户ID"/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="通道ID" prop="channelId"> |
||||
|
<el-input v-model="form.channelId" placeholder="请输入交易通道ID"/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="交易金额" prop="amount"> |
||||
|
<el-input v-model="form.amount" placeholder="请输入交易金额"/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="货币单位" prop="currency"> |
||||
|
<el-input v-model="form.currency" placeholder="请输入货币单位"/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="支付方式" prop="paymentMethod"> |
||||
|
<el-input v-model="form.paymentMethod" placeholder="请输入使用的具体支付方式"/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="响应码" prop="responseCode"> |
||||
|
<el-input v-model="form.responseCode" placeholder="请输入响应码"/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="响应消息" prop="responseMessage"> |
||||
|
<el-input v-model="form.responseMessage" type="textarea" placeholder="请输入内容"/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="交易日期" prop="transactionDate"> |
||||
|
<el-date-picker clearable |
||||
|
v-model="form.transactionDate" |
||||
|
type="datetime" |
||||
|
value-format="yyyy-MM-dd HH:mm:ss" |
||||
|
placeholder="请选择交易日期"> |
||||
|
</el-date-picker> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<div slot="footer" class="dialog-footer"> |
||||
|
<el-button :loading="buttonLoading" type="primary" @click="submitForm">确 定</el-button> |
||||
|
<el-button @click="cancel">取 消</el-button> |
||||
|
</div> |
||||
|
</el-dialog> |
||||
|
|
||||
|
<!-- 交易通道记录详情 --> |
||||
|
<el-dialog :title="title" :visible.sync="detailOpen" width="700px" append-to-body> |
||||
|
<el-form ref="form" :model="form" label-width="auto"> |
||||
|
<el-form-item label="用户ID:"> |
||||
|
{{ form.userId }} |
||||
|
</el-form-item> |
||||
|
<el-form-item label="通道ID:"> |
||||
|
{{ form.channelId }} |
||||
|
</el-form-item> |
||||
|
<el-form-item label="交易金额:"> |
||||
|
{{ form.amount }} |
||||
|
</el-form-item> |
||||
|
<el-form-item label="货币单位:"> |
||||
|
{{ form.currency }} |
||||
|
</el-form-item> |
||||
|
<el-form-item label="支付方式:"> |
||||
|
{{ form.paymentMethod }} |
||||
|
</el-form-item> |
||||
|
<el-form-item label="响应码:"> |
||||
|
{{ form.responseCode }} |
||||
|
</el-form-item> |
||||
|
<el-form-item label="响应消息:"> |
||||
|
{{ form.responseMessage }} |
||||
|
|
||||
|
</el-form-item> |
||||
|
<el-form-item label="交易日期" prop="transactionDate"> |
||||
|
<el-date-picker clearable |
||||
|
v-model="form.transactionDate" |
||||
|
type="datetime" |
||||
|
value-format="yyyy-MM-dd HH:mm:ss" |
||||
|
placeholder="请选择交易日期"> |
||||
|
</el-date-picker> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<div slot="footer" class="dialog-footer"> |
||||
|
<el-button @click="cancel">关 闭</el-button> |
||||
|
</div> |
||||
|
</el-dialog> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { |
||||
|
listTradingChannelRecord, |
||||
|
getTradingChannelRecord, |
||||
|
delTradingChannelRecord, |
||||
|
addTradingChannelRecord, |
||||
|
updateTradingChannelRecord |
||||
|
} from "@/api/business/tradingChannelRecord"; |
||||
|
|
||||
|
export default { |
||||
|
name: "TradingChannelRecord", |
||||
|
data() { |
||||
|
return { |
||||
|
// 按钮loading |
||||
|
buttonLoading: false, |
||||
|
// 遮罩层 |
||||
|
loading: true, |
||||
|
// 选中数组 |
||||
|
ids: [], |
||||
|
// 非单个禁用 |
||||
|
single: true, |
||||
|
// 非多个禁用 |
||||
|
multiple: true, |
||||
|
// 显示搜索条件 |
||||
|
showSearch: true, |
||||
|
// 总条数 |
||||
|
total: 0, |
||||
|
// 交易通道记录表格数据 |
||||
|
tradingChannelRecordList: [], |
||||
|
// 弹出层标题 |
||||
|
title: "", |
||||
|
// 是否显示弹出层 |
||||
|
open: false, |
||||
|
// 是否显示详情弹出层 |
||||
|
detailOpen: false, |
||||
|
// 查询参数 |
||||
|
queryParams: { |
||||
|
pageNum: 1, |
||||
|
pageSize: 10, |
||||
|
userId: undefined, |
||||
|
channelId: undefined, |
||||
|
amount: undefined, |
||||
|
currency: undefined, |
||||
|
paymentMethod: undefined, |
||||
|
status: undefined, |
||||
|
responseCode: undefined, |
||||
|
responseMessage: undefined, |
||||
|
transactionDate: undefined, |
||||
|
}, |
||||
|
// 表单参数 |
||||
|
form: {}, |
||||
|
// 表单校验 |
||||
|
rules: {} |
||||
|
}; |
||||
|
}, |
||||
|
created() { |
||||
|
this.getList(); |
||||
|
}, |
||||
|
methods: { |
||||
|
/** 查询交易通道记录列表 */ |
||||
|
getList() { |
||||
|
this.loading = true; |
||||
|
listTradingChannelRecord(this.queryParams).then(response => { |
||||
|
this.tradingChannelRecordList = response.rows; |
||||
|
this.total = response.total; |
||||
|
this.loading = false; |
||||
|
}); |
||||
|
}, |
||||
|
// 取消按钮 |
||||
|
cancel() { |
||||
|
this.open = false; |
||||
|
this.detailOpen = false; |
||||
|
this.reset(); |
||||
|
}, |
||||
|
// 表单重置 |
||||
|
reset() { |
||||
|
this.form = { |
||||
|
id: undefined, |
||||
|
userId: undefined, |
||||
|
channelId: undefined, |
||||
|
amount: undefined, |
||||
|
currency: undefined, |
||||
|
paymentMethod: undefined, |
||||
|
status: undefined, |
||||
|
responseCode: undefined, |
||||
|
responseMessage: undefined, |
||||
|
transactionDate: undefined, |
||||
|
createBy: undefined, |
||||
|
createTime: undefined, |
||||
|
updateBy: undefined, |
||||
|
updateTime: undefined |
||||
|
}; |
||||
|
this.resetForm("form"); |
||||
|
}, |
||||
|
/** 搜索按钮操作 */ |
||||
|
handleQuery() { |
||||
|
this.queryParams.pageNum = 1; |
||||
|
this.getList(); |
||||
|
}, |
||||
|
/** 重置按钮操作 */ |
||||
|
resetQuery() { |
||||
|
this.resetForm("queryForm"); |
||||
|
this.handleQuery(); |
||||
|
}, |
||||
|
// 多选框选中数据 |
||||
|
handleSelectionChange(selection) { |
||||
|
this.ids = selection.map(item => item.id) |
||||
|
this.single = selection.length !== 1 |
||||
|
this.multiple = !selection.length |
||||
|
}, |
||||
|
/** 新增按钮操作 */ |
||||
|
handleAdd() { |
||||
|
this.reset(); |
||||
|
this.open = true; |
||||
|
this.title = "添加交易通道记录"; |
||||
|
}, |
||||
|
/** 详情按钮操作 */ |
||||
|
handleDetail(row) { |
||||
|
this.reset(); |
||||
|
this.form = row; |
||||
|
this.detailOpen = true; |
||||
|
this.title = "交易通道记录"; |
||||
|
}, |
||||
|
/** 修改按钮操作 */ |
||||
|
handleUpdate(row) { |
||||
|
this.loading = true; |
||||
|
this.reset(); |
||||
|
const id = row.id || this.ids |
||||
|
getTradingChannelRecord(id).then(response => { |
||||
|
this.loading = false; |
||||
|
this.form = response.data; |
||||
|
this.open = true; |
||||
|
this.title = "修改交易通道记录"; |
||||
|
}); |
||||
|
}, |
||||
|
/** 提交按钮 */ |
||||
|
submitForm() { |
||||
|
this.$refs["form"].validate(valid => { |
||||
|
if (valid) { |
||||
|
this.buttonLoading = true; |
||||
|
if (this.form.id != null) { |
||||
|
updateTradingChannelRecord(this.form).then(response => { |
||||
|
this.$modal.msgSuccess("修改成功"); |
||||
|
this.open = false; |
||||
|
this.getList(); |
||||
|
}).finally(() => { |
||||
|
this.buttonLoading = false; |
||||
|
}); |
||||
|
} else { |
||||
|
addTradingChannelRecord(this.form).then(response => { |
||||
|
this.$modal.msgSuccess("新增成功"); |
||||
|
this.open = false; |
||||
|
this.getList(); |
||||
|
}).finally(() => { |
||||
|
this.buttonLoading = false; |
||||
|
}); |
||||
|
} |
||||
|
} |
||||
|
}); |
||||
|
}, |
||||
|
/** 删除按钮操作 */ |
||||
|
handleDelete(row) { |
||||
|
const ids = row.id || this.ids; |
||||
|
this.$modal.confirm('是否确认删除交易通道记录编号为"' + ids + '"的数据项?').then(() => { |
||||
|
this.loading = true; |
||||
|
return delTradingChannelRecord(ids); |
||||
|
}).then(() => { |
||||
|
this.loading = false; |
||||
|
this.getList(); |
||||
|
this.$modal.msgSuccess("删除成功"); |
||||
|
}).catch(() => { |
||||
|
}).finally(() => { |
||||
|
this.loading = false; |
||||
|
}); |
||||
|
}, |
||||
|
/** 导出按钮操作 */ |
||||
|
handleExport() { |
||||
|
this.download('business/tradingChannelRecord/export', { |
||||
|
...this.queryParams |
||||
|
}, `tradingChannelRecord_${new Date().getTime()}.xlsx`) |
||||
|
} |
||||
|
} |
||||
|
}; |
||||
|
</script> |
Loading…
Reference in new issue