业务编写

pull/1/head
qinzhenpen 1 year ago
parent 4d79481780
commit b7e095c528

@ -21,7 +21,7 @@
"axios": "0.27.2",
"echarts": "5.4.0",
"element-plus": "2.2.27",
"file-saver": "2.0.5",
"file-saver": "2.0.5",
"fuse.js": "6.6.2",
"js-cookie": "3.0.1",
"jsencrypt": "3.3.1",

@ -1,4 +1,12 @@
import request from '@/utils/request'
// 下拉用户筛选
export const getBankUserList=(query)=> {
return request({
url: '/api/stu/businessBank/getBusinessBankNameAndId',
method: 'get',
params:query
})
}
// 资产总额
export const getAssetTotal=(ID)=> {
return request({
@ -31,7 +39,73 @@ export const getBankIndex=(data)=> {
params:data
})
}
// 兑换数字人民币
// 兑换数字人民币展示
export const getExchange=(data)=> {
return request({
url: 'api/stu/businessBank/getConversionOfWwnFundsList',
method: 'get',
params:data
})
}
// 自有资产兑换数字
export const getExchange2=(data)=> {
return request({
url: '/api/stu/businessBank/digitalRMBRecharge',
method: 'get',
params:data
})
}
// 下拉充值银行用户
export const getBankUser=(data)=> {
return request({
url: '/api/stu/businessBank/getBusinessBankAssetInfoByIdAndBankName',
method: 'get',
params:data
})
}
// 缴存准备金接口
export const getDeposit=(data)=> {
return request({
url: '/api/stu/businessBank/paidReserve',
method: 'get',
params:data
})
}
// 发起兑换申请
export const getExchange3=(data)=> {
return request({
url: '/api/stu/businessBank/exchangeApplication',
method: 'get',
params:data
})
}
//
// 个人业务
// 个人用户开通钱包展示
export const getPersonalWallet=(data)=> {
return request({
url: '/api/stu/businessBank/getPersonWalletList',
method: 'get',
params:data
})
}
// 用户开通钱包验证
export const getPersonalWalletverify=(data)=> {
return request({
url: '/api/stu/businessBank/openPersonWalletVerify',
method: 'get',
params:data
})
}
// 用户数字货币兑换业务
export const getPersonalExchange=(data)=> {
return request({
url: '/api/stu/businessBank/getPersonExchangeBusinessList',
method: 'get',
params:data
})
}
// 新增消费红包
export const addRedPacket=(data)=> {
return request({
@ -40,6 +114,14 @@ export const addRedPacket=(data)=> {
data:data,
})
}
// 个人用户购买商品服务业务查看
export const getGoods=(data)=> {
return request({
url: '/api/stu/businessBank/getPersonalUserOrEnterpriseUserBuyRecord',
method: 'get',
params:data
})
}
// 企业下拉
export const getEnterpriseList=(query)=> {
return request({
@ -55,4 +137,13 @@ export const getRedPacket=(data)=> {
method: 'get',
params:data
})
}
}
// 对公业务
// 企业用户商品经营业务
export const getCommodityManagement=(data)=>{
return request({
url: '/api/stu/businessBank/getPersonalUserOrEnterpriseUserBuyRecord',
method: 'get',
params:data
})
}

@ -6,6 +6,14 @@ export const getconsumerRedPacket=(data)=> {
url: '/api/stu/businessBank/getStuBusinessBankRedPacketInfo',
method: 'get',
params:data
})
}
// 下拉企业数据
export const getEnterpriseUserList=(query)=> {
return request({
url: 'api/stu/enterprise/getBusinessNameAndId',
method: 'get',
params:query
})
}
// 发放消费红包
@ -15,4 +23,12 @@ export const getconsumerRedPacketList=(status)=> {
method: 'put',
params:status
})
}
// 领取详情
export const getconsumerRedPacketDetail=(id)=> {
return request({
url: '/api/stu/businessBank/getBusinessBankAndEnterpriseUserReceiveDetails',
method: 'get',
params:id
})
}

@ -55,7 +55,23 @@ export const getRedPacket = (query) => {
method: 'get',
params:query
})
}
}
// 领取消费红包
export const getRedPacketReceive = (query) => {
return request({
url: 'api/stu/person/personReceiveRedPacket',
method: 'put',
params:query
})
}
// 返回领取红包金额
export const getRedPacketAmount = (query) => {
return request({
url: 'api/stu/person/getRedPacketMoney',
method: 'get',
params:query
})
}
// 购买数字商品数据
export const getDigitalGoods = (query) => {
return request({
@ -63,4 +79,4 @@ export const getDigitalGoods = (query) => {
method: 'get',
params:query
})
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 251 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 666 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 215 KiB

@ -96,7 +96,6 @@
}
.el-table {
--el-table-row-hover-bg-color: transparent !important;
}

@ -56,6 +56,7 @@ const tagsViewStore = useTagsViewStore()
::-webkit-scrollbar {
width: 6px;
height: 6px;
display: none;
}
::-webkit-scrollbar-track {

@ -68,6 +68,7 @@ function setLayout() {
@import "@/assets/styles/variables.module.scss";
.app-wrapper {
@include clearfix;
position: relative;
height: 100%;

@ -31,7 +31,7 @@ export const constantRoutes = [
component: Layout,
hidden: true,
children: [
{
{
path: '/redirect/:path(.*)',
component: () => import('@/views/redirect/index.vue')
}
@ -77,7 +77,7 @@ export const constantRoutes = [
redirect: 'noredirect',
children: [
{
path: 'profile',
path: 'profile',
component: () => import('@/views/system/user/profile/index'),
name: 'Profile',
meta: { title: '个人中心', icon: 'user' }
@ -85,7 +85,6 @@ export const constantRoutes = [
]
}
]
// 动态路由,基于用户权限动态去加载
export const dynamicRoutes = [
{
@ -102,7 +101,6 @@ export const dynamicRoutes = [
]
},
// 中央银行
{
path: '/central',
component: Layout,
@ -240,8 +238,6 @@ export const dynamicRoutes = [
},
]
},
{
path: '/study',
hidden: false,
@ -257,6 +253,61 @@ export const dynamicRoutes = [
// 企业用户注册
]
},
// 央行可视化
{
path: '/visual',
component: Layout,
hidden: true,
name: 'Visual',
children: [
{
path: 'index',
component: () => import('@/views/visual/index.vue'),
name: 'index',
meta: { title: '央行可视化', icon: 'visual' }
},
// 交易总览
{
path: 'transaction',
hidden: true,
component: () => import('@/views/visual/transaction/transaction.vue'),
name: 'transaction',
meta: { title: '交易总览',activeMenu: '/visual/index' }
},
// 交易节点
{
path: 'transaction-node',
hidden: true,
component: () => import('@/views/visual/transaction-node/transaction-node.vue'),
name: 'transaction-node',
meta: { title: '交易节点',activeMenu: '/visual/index' }
},
// 交易区块
{
path: 'transaction-block',
hidden: true,
component: () => import('@/views/visual/transaction-block/transaction-block.vue'),
name: 'transaction-block',
meta: { title: '交易区块',activeMenu: '/visual/index' }
},
// 交易广播
{
path: 'transaction-broadcast',
hidden: true,
component: () => import('@/views/visual/transaction-broadcast/transaction-broadcast.vue'),
name: 'transaction-broadcast',
meta: { title: '交易广播',activeMenu: '/visual/index' }
},
{
path: 'merkle',
hidden: true,
component: () => import('@/views/visual/merkle/merkle.vue'),
name: 'merkle',
meta: { title: 'Merkle',activeMenu: '/visual/index' }
},
]
},

@ -1,5 +1,5 @@
import { login, logout, getInfo } from '@/api/login'
import { getToken, setToken, removeToken } from '@/utils/auth'
import { login, logout, getInfo, } from '@/api/login'
import { getToken, setToken, removeToken ,setUserId,getUserId} from '@/utils/auth'
import defAva from '@/assets/images/profile.jpg'
const useUserStore = defineStore(
@ -7,6 +7,7 @@ const useUserStore = defineStore(
{
state: () => ({
token: getToken(),
userId: getUserId(),
name: '',
avatar: '',
roles: [],
@ -22,7 +23,9 @@ const useUserStore = defineStore(
login(username, password, TOKEN).then(res => {
setToken(res.data.accessToken)
setUserId(res.data.userId)
this.token = res.data.accessToken
this.userId = res.data.userId
resolve()
}).catch(error => {
reject(error,"2131223123")

@ -1,7 +1,7 @@
import Cookies from 'js-cookie'
const TokenKey = 'Admin-Token'
const userId = 'userId'
export function getToken() {
return Cookies.get(TokenKey)
}
@ -13,3 +13,12 @@ export function setToken(token) {
export function removeToken() {
return Cookies.remove(TokenKey)
}
export function getUserId() {
return Cookies.get(userId)
}
export function setUserId(id) {
return Cookies.set(userId, id)
}
export function removeUserId() {
return Cookies.remove(userId)
}

@ -24,7 +24,6 @@ export function formatDate(cellValue) {
var seconds = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds()
return year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds
}
/**
* @param {number} time
* @param {string} option

@ -6,17 +6,15 @@ import { tansParams, blobValidate } from '@/utils/ruoyi'
import cache from '@/plugins/cache'
import { saveAs } from 'file-saver'
import useUserStore from '@/store/modules/user'
let downloadLoadingInstance;
// 是否显示重新登录
export let isRelogin = { show: false };
axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
// 创建axios实例
const service = axios.create({
// axios中请求配置有baseURL选项表示请求URL公共部分
baseURL: import.meta.env.VITE_APP_BASE_API,
// baseURL: 'http://192.168.2.17:8800/',
// baseURL: import.meta.env.VITE_APP_BASE_API,
baseURL: 'http://192.168.2.15:8800/',
// 超时
timeout: 10000
})
@ -42,6 +40,12 @@ service.interceptors.request.use(config => {
data: typeof config.data === 'object' ? JSON.stringify(config.data) : config.data,
time: new Date().getTime()
}
const requestSize = Object.keys(JSON.stringify(requestObj)).length; // 请求数据大小
const limitSize = 5 * 1024 * 1024; // 限制存放数据5M
if (requestSize >= limitSize) {
console.warn(`[${config.url}]: ` + '请求数据大小超出允许的5M限制无法进行防重复提交验证。')
return config;
}
const sessionObj = cache.session.getJSON('sessionObj')
if (sessionObj === undefined || sessionObj === null || sessionObj === '') {
cache.session.setJSON('sessionObj', requestObj)
@ -76,17 +80,16 @@ service.interceptors.response.use(res => {
return res.data
}
if (code === 401) {
console.log('登录状态已过期,您可以继续留在该页面,或者重新登录');
if (!isRelogin.show) {
isRelogin.show = true;
// ElMessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { confirmButtonText: '重新登录', cancelButtonText: '取消', type: 'warning' }).then(() => {
// isRelogin.show = false;
useUserStore().fedLogOut().then(() => {
location.href = '/login';
ElMessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { confirmButtonText: '重新登录', cancelButtonText: '取消', type: 'warning' }).then(() => {
isRelogin.show = false;
useUserStore().logOut().then(() => {
location.href = '/index';
})
// }).catch(() => {
// isRelogin.show = false;
// });
}).catch(() => {
isRelogin.show = false;
});
}
return Promise.reject('无效的会话,或者会话已过期,请重新登录。')
} else if (code === 500) {
@ -103,19 +106,23 @@ service.interceptors.response.use(res => {
}
},
error => {
console.log( error.response.status)
let { message } = error;
if (error.response.status === 401) {
useUserStore().fedLogOut().then(() => {
location.href = '/login';
})
}else if (message == "Network Error") {
console.log(error,"error");
if (message == "Network Error") {
message = "后端接口连接异常";
} else if (message.includes("timeout")) {
message = "系统接口请求超时";
} else if (message.includes("Request failed with status code")) {
if(message.includes("code 401")){
useUserStore().fedLogOut().then(() => {
location.href = '/login';
})
}else if(message.includes("code 400")){
// ElNotification.error({ title: error.response.data })
ElMessage({ message: error.response.data.msg, type: 'error' })
}
message = "系统接口" + message.substr(message.length - 3) + "异常";
}else
}else
ElMessage({ message: message, type: 'error', duration: 5 * 1000 })
return Promise.reject(error)
}

@ -1,69 +1,125 @@
<script setup>
import * as commercialbank from '@/api/commercialbank.js'
import useUserStore from '@/store/modules/user'
const { proxy } = getCurrentInstance();
const userStore = useUserStore()
//
import { useRouter } from 'vue-router';
const router = useRouter();
//
const dialogVisible = ref(false);
const depositVisible = ref(false);
const initiateVisible = ref(false);
//
const decodeVisible = ref(false);
const tableData = reactive([
{
Coding:'xxxxxxxxxx',
Amount:'123',
Address:'xxxxxx',
new:'xxxx',
wallet:'xxxxx',
date: "2016-05-02",
name: "王小虎",
address: "上海市",
},
{
Coding:'xxxxxxxxxx',
date: "2016-05-04",
name: "王小虎",
address: "上海市",
},
{
Coding:'xxxxxxxxxx',
date: "2016-05-01",
name: "王小虎",
address: "上海市",
},
{
Coding:'xxxxxxxxxx',
date: "2016-05-03",
name: "王小虎",
address: "上海市",
},
]);
const tableHeaderCellStyle = ({ row, column, rowIndex, columnIndex }) => {
return {
color: "black",
fontWeight: "bold",
background: "#pink",
};
};
const exchangermbParams=reactive({
userId:userStore.userId,
size:10,
index:1,
ownerDepartment:''
})
const options1 = [
{
value: '中国银行',
label: '中国银行',
},
{
value: '工商银行',
label: '工商银行',
},
{
value: '农业银行',
label: '农业银行',
},
];
//
const rmbAccountDate=reactive({
rmbAccount:'',
cryptocurrencyWalletName:'',
rmbOwnFundsBalance:''
})
//
const rmbAccountlist=ref(null)
//
const recharge = reactive({
cryptocurrencyWalletAddress:'',
rmbAmount:'',
})
const total=ref(0)
// Params
const exchangeParams=reactive({
userId:userStore.userId,
bankName:'',
reserve:'',
})
// Params
const applyParams=ref(null)
const getList = () => {
commercialbank.getExchange(exchangermbParams).then((res)=>{
rmbAccountlist.value=res.data.list
total.value=res.data.total
})
}
const selectParasm=reactive({
userId:userStore.userId,
bankName:''
})
const exchangeDate=ref(null)
//
const getSelect = () => {
commercialbank.getBankUser(selectParasm).then((res)=>{
rmbAccountDate.rmbAccount=res.data.rmbAccount
rmbAccountDate.cryptocurrencyWalletName=res.data.walletAddress
recharge.cryptocurrencyWalletAddress=res.data.walletAddress
rmbAccountDate.rmbOwnFundsBalance=res.data.rmbOwnFundsBalance
})
}
//
const exchange = () => {
decodeVisible.value = false
commercialbank.getExchange2(recharge).then((res)=>{
proxy.$modal.msgSuccess(res.msg)
})
}
//
const deposit = (val) => {
exchangeDate.value={
ownerName:val.ownerName,
rmbAmount:val.rmbAmount,
exchangeBankWalletAddress:val.exchangeBankWalletAddress,
exchangeBankName:val.exchangeBankName,
privateKey:val.privateKey,
}
exchangeParams.bankName=val.exchangeBankName
depositVisible.value = true
}
//
const deposit2 = () => {
depositVisible.value = false
commercialbank.getDeposit(exchangeParams).then((res)=>{
proxy.$modal.msgSuccess(res.msg)
})
}
const apply=(val)=>{
initiateVisible.value = true
applyParams.value={
detailId:val.detailId,
userId:userStore.userId,
bankName:val.exchangeBankName,
rmbAmount:val.rmbAmount,
}
}
//
const exchangeApply=()=>{
const go = (idx) => {
console.log(idx);
console.log(idx);
if(idx == 1){
router.push('/business/home')
}else if(idx == 2){
router.push('/business/exchange')
}else if(idx == 3){
router.push('/business/personal')
}else if(idx == 4){
router.push('/business/public')
}
commercialbank.getExchange3(applyParams.value).then((res)=>{
initiateVisible.value = false
proxy.$modal.msgSuccess(res.msg)
getList()
})
}
getList()
</script>
<template>
<div class="app-central">
<div class="central-ban-information">
<el-row>
<el-col :span="24">
@ -76,40 +132,38 @@ const go = (idx) => {
<el-button type="primary" @click="decodeVisible = true">自有资金兑换</el-button>
<div class="grabble">
<label >兑换发起人</label>
<el-input></el-input>
<el-input v-model="exchangermbParams.ownerDepartment" @keyup.enter.native="getList"></el-input>
</div>
</el-col>
</el-row>
<div class="el-tab el-tab1">
<el-table
:data="tableData"
:data="rmbAccountlist"
style="width: 100%"
stripe
:header-cell-style="tableHeaderCellStyle"
>
<el-table-column align="center" prop="date" label="交易编码/信息摘要" width="160">
<el-table-column align="center" prop="transactionCode" label="交易编码/信息摘要" width="160">
</el-table-column>
<el-table-column align="center" prop="name" label="兑换发起人名称" width="180">
<el-table-column align="center" prop="ownerDepartment" label="兑换发起人名称" width="180">
</el-table-column>
<el-table-column align="center" prop="address" label="兑换发起钱包地址" width="140">
<el-table-column align="center" prop="exchangeBankWalletAddress" label="兑换发起钱包地址" width="140">
</el-table-column>
<el-table-column align="center" prop="date" label="兑换数字人民币金额" >
<el-table-column align="center" prop="rmbAmount" label="兑换数字人民币金额" >
</el-table-column>
<el-table-column align="center" prop="name" label="发起时间">
<el-table-column align="center" prop="initiationTime" label="发起时间">
</el-table-column>
<el-table-column align="center" prop="address" label="兑换商业银行">
<el-table-column align="center" prop="exchangeBankName" label="兑换商业银行">
</el-table-column>
<el-table-column align="center" prop="name" label="人民币账户">
<el-table-column align="center" prop="publicKey" label="人民币账户">
</el-table-column>
<el-table-column align="center" prop="name" label="人民币账户余额" width="150">
<el-table-column align="center" prop="privateKey" label="人民币账户余额" width="150">
</el-table-column>
<el-table-column align="center" prop="address" label="操作" width="300">
<template #default="scope">
<el-button link type="warning" @click="depositVisible =true">
<el-button link type="warning" @click="deposit(scope.row)">
<svg-icon icon-class="Reserve"/>缴存准备金
</el-button>
<el-button link type="success" @click="initiateVisible =true">
<el-button link type="success" @click="apply(scope.row)">
<svg-icon icon-class="conversion"/>发起兑换申请
</el-button>
</template>
@ -117,7 +171,12 @@ const go = (idx) => {
</el-table>
</div>
<pagination
:total="20"/>
v-show="total>0"
:total="total"
v-model:page="exchangermbParams.index"
v-model:limit="exchangermbParams.size"
@pagination="getList"
/>
</div>
<!-- 查看数字货币 -->
<el-dialog
@ -131,7 +190,7 @@ const go = (idx) => {
<template #footer>
<span class="dialog-footer">
<el-button type="primary" @click="decodeVisible = false">确定</el-button>
<el-button type="primary" @click="exchangeApply"></el-button>
</span>
</template>
</el-dialog>
@ -143,31 +202,30 @@ const go = (idx) => {
>
<el-form class="demo-form-inline" label-width="140px">
<el-form-item label="充 值 银 行 用 户:">
<el-select class="text-input" style="width: 100%;" placeholder="请选择" size="large">
</el-select>
<el-select class="text-input" style="width: 100%;" placeholder="请选择" size="large" v-model="selectParasm.bankName" @change="getSelect">
<el-option v-for="item in options1" :key="item" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="人 民 币 账 户: ">
<!-- <el-input clearable /> -->
<el-input v-model="rmbAccountDate.rmbAccount"/>
<span></span>
</el-form-item>
<el-form-item label="充 值 钱包地址:">
<!-- <el-input clearable /> -->
<el-input v-model="rmbAccountDate.cryptocurrencyWalletName"/>
<span></span>
</el-form-item>
<el-form-item label="自有资金账户余额:">
<!-- <el-input clearable /> -->
<el-input v-model="rmbAccountDate.rmbOwnFundsBalance"/>
<span></span>
</el-form-item>
<el-form-item label="兑 换 充 值 金 额:">
<el-input class="text-input" clearable />
<el-input class="text-input" v-model="recharge.rmbAmount"/>
</el-form-item>
</el-form>
<template #footer>
<span class="dialog-footer">
<el-button type="primary" @click="decodeVisible = false">数字签名 生成数字货币</el-button>
<el-button type="primary" @click="exchange"> </el-button>
</span>
</template>
</el-dialog>
@ -179,39 +237,37 @@ const go = (idx) => {
>
<el-form class="demo-form-inline" label-width="140px">
<el-form-item label="兑换人发起人名称:">
<span></span>
<el-input v-model="exchangeDate.ownerName" />
</el-form-item>
<el-form-item label="兑换发起钱包账户: ">
<!-- <el-input clearable /> -->
<el-input v-model="exchangeDate.exchangeBankWalletAddress" />
<span></span>
</el-form-item>
<el-form-item label="兑 换 商 业 银 行 ">
<!-- <el-input clearable /> -->
<el-input v-model="exchangeDate.exchangeBankName" />
<span></span>
</el-form-item>
<el-form-item label="兑 换 金 额:">
<!-- <el-input clearable /> -->
<el-input v-model="exchangeDate.rmbAmount" />
<span></span>
</el-form-item>
<el-form-item label="人民币账户余额:">
<!-- <el-input clearable /> -->
<el-input v-model="exchangeDate.privateKey"/>
<span></span>
</el-form-item>
<el-form-item label="准备金缴存比例:">
<!-- <el-input clearable /> -->
<span></span>
<!-- <el-input /> -->
<span>100%</span>
</el-form-item>
<el-form-item label="准备金缴存金额:">
<el-input class="text-input" clearable />
<el-input class="text-input" v-model="exchangeParams.reserve"/>
</el-form-item>
</el-form>
<template #footer>
<span class="dialog-footer">
<el-button type="primary" @click="depositVisible = false">数字签名 生成数字货币</el-button>
<el-button type="primary" @click="deposit2"> </el-button>
</span>
</template>
</el-dialog>
@ -318,7 +374,6 @@ const go = (idx) => {
color: #ffffff !important;
font-weight: 600;
}
}
}
}
@ -327,8 +382,9 @@ const go = (idx) => {
}
:deep(.el-dialog){
background: url('../../../assets/images/dialogimg.png') no-repeat !important ;
background-size:100% 100% !important;
.el-dialog__header{
background-size:100% 100% !important;
// position:
.el-dialog__header{
padding: 0px;
display: flex;
justify-content: center;
@ -341,7 +397,7 @@ const go = (idx) => {
background-size:100% 100% !important;
width: 28px;
height: 28px;
margin-right: 15px;
// margin-right: 15px;
cursor: pointer;
}
}

@ -1,5 +1,8 @@
<script setup>
import * as commercialbank from '@/api/commercialbank.js';
import * as enterpriseUser from '@/api/enterpriseUser.js'
import useUserStore from "@/store/modules/user";
const userStore = useUserStore();
const { proxy } = getCurrentInstance();
//
import { nextTick } from 'vue';
@ -40,28 +43,10 @@ const tableData = reactive([
address: "上海市",
},
]);
const tableHeaderCellStyle = ({ row, column, rowIndex, columnIndex }) => {
return {
color: "black",
fontWeight: "bold",
background: "#pink",
};
};
const go = (idx) => {
console.log(idx);
if(idx == 1){
router.push('/business/home')
}else if(idx == 2){
router.push('/business/exchange')
}else if(idx == 3){
router.push('/business/personal')
}else if(idx == 4){
router.push('/business/public')
}
}
const fileInput=ref(null)
function isAddred(){
decodeVisible.value=true
getEnterprise()
nextTick(()=>{
console.log(fileInput.value,"askjdh")
fileInput.value.style.display='none'
@ -102,7 +87,7 @@ const validateTotalRedPacketAmount=(rule, value, callback)=> {
}
//params
const isAddredParams = reactive({
userId:'1',
userId:userStore.userId,
ownerDepartmentAssetInfoId:'',
issuanceDepartmentOwnerDepartment:'银行',
issuanceUnit:'',
@ -146,7 +131,21 @@ const rules=reactive( {
],
})
//
const options = [
{
value: '小天',
label: '小天',
},
{
value: '小择',
label: '小择',
},
{
value: '小明',
label: '小明',
},
];
//
const enterprise = reactive([
@ -196,13 +195,44 @@ const conditionsofuse=reactive([
])
// params
const redParams = reactive({
userId:'1',
userId:userStore.userId,
index:1,
size:10,
type:'银行',
issuerName:'北京润贞数字有限公司'
})
// parasm
const queryParams = reactive({
userId:userStore.userId,
index:1,
size:10,
keyWord:'个人'
})
// params
const buyParams = reactive({
userId:userStore.userId,
index:1,
size:10,
senderName:'',
keyWord:'个人用户'
})
const buytotal=ref(0)
//
const buyData=ref(null)
//
//
const consumerRedPacket=ref(null)
const walletParams=reactive({
userId:userStore.userId,
index:1,
size:5,
userName:''
})
//
const walletData=ref(null)
const wallettotal=ref(0)
//
const isVerifyParams=ref(null)
function PacketType(text){
isAddredParams.redPacketType=text
}
@ -247,14 +277,73 @@ const gradeChange = (val) => {
}
}
}
//
const getBuyList=()=>{
commercialbank.getGoods(buyParams).then(res=>{
buyData.value=res.data.list
buytotal.value=res.data.total
})
}
//
const getRedPacketList=()=>{
commercialbank.getRedPacket(redParams).then(res=>{
console.log(res)
const getredlist = () => {
enterpriseUser.getconsumerRedPacket(queryParams).then(res => {
consumerRedPacket.value=res.data.list
})
}
const redPacketvia = (viaItem) => {
// enterpriseUser.getconsumerRedPacketList(queryParams).then(res => {
console.log(viaItem,"viaItem")
// })
}
//
const getSelectUser = () => {
commercialbank.getBankUserList({ userId: userStore.userId }).then(res => {
})
}
//
const getWallet = () => {
commercialbank.getPersonalWallet(walletParams).then(res => {
walletData.value = res.data.list
wallettotal.value = res.data.total
})
}
//
const isVerify = (val) => {
isVerifyParams.value = {
personalAssetInfoId: val.personalAssetInfoId,
userId:userStore.userId,
userName: val.username,
}
commercialbank.getPersonalWalletverify(isVerifyParams.value).then(res => {
proxy.$modal.msgSuccess(res.msg)
getWallet()
})
}
//
//
const exchangeMoneylist=ref(null)
const exchangeMoneyParams=reactive({
userId:userStore.userId,
index:1,
size:10,
userName:''
})
const moneyTotal=ref(0)
const getRedPacketList = () => {
commercialbank.getPersonalExchange(exchangeMoneyParams).then(res => {
exchangeMoneylist.value=res.data.list
moneyTotal.value=res.data.total
})
}
//
getRedPacketList()
getEnterprise()
getWallet()
getredlist()
getBuyList()
getSelectUser()
// getRedPacketList()
</script>
<template>
<div class="app-central">
@ -270,7 +359,7 @@ getEnterprise()
<el-col :span="24">
<div class="screen">
<label>用户筛选</label>
<el-select class="m-2" placeholder="请选择" size="large">
<el-select class="m-2" v-model="walletParams.userName" placeholder="请选择" size="large" @change="getWallet">
<el-option
v-for="item in options"
:key="item.value"
@ -283,46 +372,50 @@ getEnterprise()
</el-row>
<div class="el-tab el-tab1">
<el-table
:data="tableData"
:data="walletData"
style="width: 100%"
stripe
:header-cell-style="tableHeaderCellStyle"
>
<el-table-column align="center" prop="date" label="交易编码" width="160">
<el-table-column align="center" prop="transactionCode" label="交易编码" width="160">
</el-table-column>
<el-table-column align="center" prop="name" label="申请开通人" width="180">
<el-table-column align="center" prop="username" label="申请开通人" width="180">
</el-table-column>
<el-table-column align="center" prop="address" label="申请开通银行" width="140">
<el-table-column align="center" prop="cryptocurrencyBank" label="申请开通银行" width="140">
</el-table-column>
<el-table-column align="center" prop="date" label="人民币自有资余额" >
<el-table-column align="center" prop="walletLevel" label="开通钱包等级" >
</el-table-column>
<el-table-column align="center" prop="name" label="准备金金额">
<el-table-column align="center" prop="phoneNumber" label="手机号">
</el-table-column>
<el-table-column align="center" prop="address" label="个人存款总额">
<el-table-column align="center" prop="idCardNumber" label="身份证号">
</el-table-column>
<el-table-column align="center" prop="name" label="银行卡号">
<el-table-column align="center" prop="bankAccount" label="银行卡号">
</el-table-column>
<el-table-column align="center" prop="name" label="面签资料" width="150">
<el-table-column align="center" prop="faceToFaceDataPhoto" label="面签资料" width="150">
</el-table-column>
<el-table-column align="center" prop="name" label="状态">
<el-table-column align="center" label="状态">
<template #default="scope">
<el-tag size="medium" round effect="dark" type="success">通过</el-tag>
<el-tag size="medium" round effect="dark" :type="scope.row.businessBankApprovalStatus == 'true'?'success':'danger'">{{ scope.row.businessBankApprovalStatus == 'true'?'通过':'未通过' }}</el-tag>
<!-- <el-tag size="medium" round effect="dark" type="danger">通过</el-tag> -->
</template>
</el-table-column>
<el-table-column align="center" prop="address" label="操作" width="100">
<template #default="scope">
<el-button link type="success" >
<svg-icon icon-class="look"/>验证
<el-button link type="success" :disabled="scope.row.businessBankApprovalStatus !== null" @click="isVerify(scope.row)">
<svg-icon icon-class="look"/>{{ scope.row.businessBankApprovalStatus == 'true' ? '已验证':'验证' }}
</el-button>
</template>
</el-table-column>
</el-table>
</div>
<pagination
:total="20"/>
v-show="wallettotal>0"
:total="wallettotal"
v-model:page="walletParams.index"
v-model:limit="walletParams.size"
@pagination="getWallet"
/>
<el-row>
<el-col :span="24">
<img src="../../../assets/images/18.png" alt="" />
@ -333,7 +426,7 @@ getEnterprise()
<el-col :span="24">
<div class="screen">
<label>用户筛选</label>
<el-select class="m-2" placeholder="请选择" size="large">
<el-select class="m-2" placeholder="请选择" size="large" v-model="exchangeMoneyParams.userName" @change="getRedPacketList">
<el-option
v-for="item in options"
:key="item.value"
@ -346,46 +439,49 @@ getEnterprise()
</el-row>
<div class="el-tab el-tab1 el-tab2">
<el-table
:data="tableData"
:data="exchangeMoneylist"
style="width: 100%"
stripe
:header-cell-style="tableHeaderCellStyle"
>
<el-table-column align="center" prop="date" label="交易编码" width="160">
<el-table-column align="center" prop="transactionCode" label="交易编码" width="160">
</el-table-column>
<el-table-column align="center" prop="name" label="用户名称" width="180">
<el-table-column align="center" prop="username" label="用户名称" width="180">
</el-table-column>
<el-table-column align="center" prop="address" label="开户行名称" width="90">
<el-table-column align="center" prop="bankName" label="开户行名称" width="90">
</el-table-column>
<el-table-column align="center" prop="date" label="银行账号" >
<el-table-column align="center" prop="bankAccount" label="银行账号" >
</el-table-column>
<el-table-column align="center" prop="name" label="人民币账">
<el-table-column align="center" prop="rmbBalance" label="人民币账户余额">
</el-table-column>
<el-table-column align="center" prop="address" label="数字货币开户行">
<el-table-column align="center" prop="cryptocurrencyBank" label="数字货币开户行">
</el-table-column>
<el-table-column align="center" prop="name" label="数字货币转包地址">
<el-table-column align="center" prop="cryptocurrencyWalletAddress" label="数字货币转包地址">
</el-table-column>
<el-table-column align="center" prop="name" label="数字货币兑换金额">
<el-table-column align="center" prop="rmbAmount" label="数字货币兑换金额">
</el-table-column>
<el-table-column align="center" prop="name" label="钱包等级">
<el-table-column align="center" prop="walletLevel" label="钱包等级">
</el-table-column>
<el-table-column align="center" prop="name" label="兑换货币清单">
<template #default="scope">
<el-button link type="success">
<svg-icon icon-class="look"/>查看
</el-button>
</template>
</el-table-column>
</el-table>
</div>
<pagination
:total="20"/>
v-show="moneyTotal>0"
:total="moneyTotal"
v-model:page="exchangeMoneyParams.index"
v-model:limit="exchangeMoneyParams.size"
@pagination="getRedPacketList"
/>
<el-row>
<el-col :span="24">
<img src="../../../assets/images/19.png" alt="" />
@ -399,32 +495,38 @@ getEnterprise()
</el-row>
<div class="el-tab el-tab1 el-tab3">
<el-table
:data="tableData"
:data="consumerRedPacket"
style="width: 100%"
stripe
:header-cell-style="tableHeaderCellStyle"
>
<el-table-column align="center" prop="date" label="交易编码" width="160">
<el-table-column align="center" prop="transactionCode" label="交易编码" width="160">
</el-table-column>
<el-table-column align="center" prop="name" label="消费红包名称 " width="180">
<el-table-column align="center" prop="redPacketName" label="消费红包名称 " width="180">
</el-table-column>
<el-table-column align="center" prop="address" label="发放商业担行">
<el-table-column align="center" prop="issuanceUnit" label="发放商业担行">
</el-table-column>
<el-table-column align="center" prop="date" label="红包总金额" >
<el-table-column align="center" prop="totalRedPacketAmount" label="红包总金额" >
</el-table-column>
<el-table-column align="center" prop="name" label="被取金">
<el-table-column align="center" prop="amountReceived" label="被取金">
</el-table-column>
<el-table-column align="center" prop="address" label="未被领取金物">
<el-table-column align="center" prop="amountNotReceived" label="未被领取金物">
</el-table-column>
<el-table-column align="center" prop="name" label="领取起止日期">
<el-table-column align="center" prop="startTime" label="领取起止日期" width="200">
<template #default="scope">
<span>{{parseTime(scope.row.startTime,'{y}-{m}-{d}')}} ~ {{parseTime(scope.row.endTime,'{y}-{m}-{d}')}}</span>
</template>
</el-table-column>
<el-table-column align="center" prop="name" label="发放日期">
<el-table-column align="center" prop="issuanceDate" label="发放日期">
<template #default="scope">
<span>{{parseTime(scope.row.issuanceDate,'{y}-{m}-{d}')}}</span>
</template>
</el-table-column>
<el-table-column align="center" prop="name" label="使用条件">
<el-table-column align="center" prop="usageConditions" label="使用条件">
</el-table-column>
<el-table-column align="center" prop="name" label="操作" width="200">
<template #default="scope">
<el-button link type="success" >
<el-button link type="success" @click="redPacketvia(scope.row)">
<svg-icon icon-class="look"/>发放
</el-button>
<el-button link type="warning" @click="dialoggetVisible =true">
@ -437,7 +539,12 @@ getEnterprise()
</el-table>
</div>
<pagination
:total="20"/>
:total="20"/>
<el-row>
<el-col :span="24">
<img src="../../../assets/images/21.png" alt="" />
@ -448,7 +555,7 @@ getEnterprise()
<el-col :span="24">
<div class="screen">
<label>用户筛选</label>
<el-select class="m-2" placeholder="请选择" size="large">
<el-select v-model="buyParams.senderName" class="m-2" placeholder="请选择" size="large" @change="getBuyList">
<el-option
v-for="item in options"
:key="item.value"
@ -461,26 +568,26 @@ getEnterprise()
</el-row>
<div class="el-tab el-tab1 el-tab4">
<el-table
:data="tableData"
:data="buyData"
style="width: 100%"
stripe
:header-cell-style="tableHeaderCellStyle"
>
<el-table-column align="center" prop="date" label="交易编码" width="160">
<el-table-column align="center" prop="transactionCode" label="交易编码" width="160">
</el-table-column>
<el-table-column align="center" prop="name" label="购买商品名称 " width="180">
<el-table-column align="center" prop="productName" label="购买商品名称 " width="180">
</el-table-column>
<el-table-column align="center" prop="address" label="购买商品金额" >
<el-table-column align="center" prop="transactionAmount" label="购买商品金额" >
</el-table-column>
<el-table-column align="center" prop="date" label="购买时间" >
<el-table-column align="center" prop="issuanceTime" label="购买时间" >
</el-table-column>
<el-table-column align="center" prop="name" label="购买方名称">
<el-table-column align="center" prop="senderName" label="购买方名称">
</el-table-column>
<el-table-column align="center" prop="address" label="购买方钱包地址">
<el-table-column align="center" prop="senderWalletAddress" label="购买方钱包地址">
</el-table-column>
<el-table-column align="center" prop="name" label="销售方企业名称">
<el-table-column align="center" prop="recipientName" label="销售方企业名称">
</el-table-column>
<el-table-column align="center" prop="name" label="销售方钱包地址">
<el-table-column align="center" prop="recipientName" label="销售方钱包地址">
</el-table-column>
<el-table-column align="center" prop="name" label="交易数字货币清单">
<template #default="scope">
@ -493,9 +600,17 @@ getEnterprise()
</el-table>
</div>
<pagination
:total="20"/>
v-show="buytotal>0"
:total="buytotal"
v-model:page="buyParams.index"
v-model:limit="buyParams.size"
@pagination="getBuyList"
/>
</div>
<!-- 查看数字货币 -->
<el-dialog
v-model="dialogVisible"
title="查看数字货币"
@ -580,6 +695,10 @@ getEnterprise()
</template>
</el-dialog>
<!-- 领取详情 -->
<el-dialog
v-model="dialoggetVisible"
title="领取详情"

@ -3,6 +3,9 @@
import { nextTick } from 'vue';
import { useRouter } from 'vue-router';
const router = useRouter();
import * as commercialbank from '@/api/commercialbank.js';
import useUserStore from "@/store/modules/user";
const userStore = useUserStore();
//
const dialogVisible = ref(false);
//
@ -38,6 +41,14 @@ const tableData = reactive([
address: "上海市",
},
]);
const commodityManagementParams=reactive({
userId:userStore.userId,
senderName:'',
keyWord:"个人",
index:1,
size:10
})
const tableHeaderCellStyle = ({ row, column, rowIndex, columnIndex }) => {
return {
color: "black",
@ -83,12 +94,15 @@ function getFilePDF (e) {
fileInput.value.style.display='block'
fileInput.value.src=e.target.result
}
}
e.target.value=''
}
const getList =()=>{
commercialbank.getCommodityManagement(commodityManagementParams).then(res=>{
})
}
getList()
</script>
<template>
<div class="app-central">

@ -4,13 +4,14 @@ import * as centralBank from '@/api/centralBank';
import { reactive } from 'vue';
import { useRouter } from 'vue-router';
const { proxy } = getCurrentInstance();
import useUserStore from "@/store/modules/user";
const userStore = useUserStore();
const dialogVisible = ref(false);
// params
const getCurrencyParams =reactive( {
userId:'1',
userId:userStore.userId,
total: 0,
size: 1,
index: 1,
@ -25,7 +26,7 @@ const getCurrency = async() => {
currencyTableData.value = res.data.list
getCurrencyParams.total = res.data.total
} catch (error) {
}
};
//

@ -4,6 +4,8 @@ import * as centralBank from '@/api/centralBank'
import information from '../information/central.vue';
import currencyPut from '../digital-currency/currency-put.vue';
import currency from '../currency/currency.vue';
import useUserStore from "@/store/modules/user";
const userStore = useUserStore();
//
import { useRouter } from 'vue-router';
const router = useRouter();
@ -38,7 +40,7 @@ const go = (idx) => {
}
const verifylParams= reactive({
userId:'1',
userId:userStore.userId,
size:1,
index:1
})
@ -114,13 +116,6 @@ const apply = async(code) => {
}
};
//
const handleCheckChange = (val) => {
if(val.value ==1){
proxy.$modal.msgError('兑换行没有缴存足额的准备金');
}else{
proxy.$modal.msgError('兑换行公钥和私钥不一致');
}
};
getTableData()
</script>
<template>

@ -2,6 +2,8 @@
import controlform from '@/components/controlform/control.vue'
import * as centralBank from '@/api/centralBank';
import check from '@/components/check/check.vue'
import useUserStore from "@/store/modules/user";
const userStore = useUserStore();
//
import { useRouter } from 'vue-router';
const router = useRouter();
@ -51,7 +53,7 @@ const tableHeaderCellStyle = ({ row, column, rowIndex, columnIndex }) => {
// params
const getCurrencyPutParams = reactive({
userId:'1',
userId:userStore.userId,
index: 1,
size: 10,

@ -12,7 +12,9 @@ const goToPage=(i)=>{
router.push('/central/digital-authentication')
}else if(i == 4){
router.push('/central/digital-currency-registration')
}else if(i == 5){
router.push('/visual/index')
}
}

@ -1,6 +1,8 @@
<script setup>
const { proxy } = getCurrentInstance();
import * as centralBank from '@/api/centralBank'
import useUserStore from "@/store/modules/user";
const userStore = useUserStore();
//
import { useRouter } from 'vue-router';
const router = useRouter();
@ -29,8 +31,8 @@ const dialogList = reactive([
}
])
const verifylParams= reactive({
userId:'1',
size:1,
userId:userStore.userId,
size:10,
index:1
})
const verifylList= ref(null)
@ -55,7 +57,6 @@ const decryptData = (val) => {
decodeVisible.value = true
decryptParams.Abstract=val.transactionCode
decryptParams.detailId=val.detailId
console.log(val,"val");
};
const submitDecryptedForm = async() => {
try {
@ -64,10 +65,10 @@ const submitDecryptedForm = async() => {
decodeVisible.value = false
proxy.resetForm('ruleFormRef')
getTableData()
proxy.msgSuccess(res.msg);
}
} catch (error) {
console.log(1111);
}
};
//
@ -81,9 +82,11 @@ const showverify = async() => {
const res = await centralBank.verify(decryptParams.detailId)
if(res.code == 200){
dialogVisible.value = false
// proxy.resetForm('ruleFormRef')
proxy.msgSuccess(res.msg);
getTableData()
}else{
console.log('11111');
}
} catch (error) {

@ -1,5 +1,10 @@
<script setup>
import * as commercialbank from '@/api/commercialbank.js';
import * as enterpriseUser from '@/api/enterpriseUser.js'
import useUserStore from "@/store/modules/user";
import check from '@/components/check/check.vue'
const userStore = useUserStore();
const { proxy } = getCurrentInstance();
//
const dialogVisible = ref(false);
//
@ -39,12 +44,16 @@ const tableData = reactive([
},
]);
//
const fileInput=ref(null)
const expenseData=ref(null)
//
const code = ref('');
function getFilePDF (e) {
if(e.target.files[0].type.indexOf('image')==-1){
alert('请上传图片')
return
}
file.value=e.target.files[0]
let reader = new FileReader()
fileInput.value.src=''
reader.readAsDataURL(e.target.files[0])
@ -53,15 +62,89 @@ function getFilePDF (e) {
fileInput.value.style.display='block'
fileInput.value.src=e.target.result
}
}
e.target.value=''
}
const enterpriselist = reactive([
])
// 使
const conditionsofuse=reactive([
{
label:'购物消费',
value:'购物消费'
},
{
label:'餐饮消费',
value:'餐饮消费'
},
{
label:'住宿消费',
value:'住宿消费'
},
{
label:'交通消费',
value:'交通消费'
},
{
label:'医疗消费',
value:'医疗消费'
},
{
label:'教育消费',
value:'教育消费'
},
{
label:'旅游消费',
value:'旅游消费'
},
{
label:'娱乐消费',
value:'娱乐消费'
},
{
label:'投资消费',
value:'投资消费'
},
{
label:'慈善消费',
value:'慈善消费'
}
])
//
const isAddredParams = reactive({
userId:userStore.userId,
ownerDepartmentAssetInfoId:'',
issuanceDepartmentOwnerDepartment:'企业',
issuanceUnit:'',
redPacketName:'',
usageConditions:'',
startTime:'',
endTime:'',
totalRedPacketAmount:null,
redPacketQuantity:null,
redPacketType:'',
})
const expenseParams=reactive({
userId:'1',
userId:userStore.userId,
index:1,
size:10
size:10,
keyWord:'企业'
})
//
const receiveDetails=ref(null)
//
const productQuery=reactive({
productId:'',
userId:userStore.userId,
businessAssetInfoId:'',
productName:'',
productType:'',
specificationsSize:'',
unitPrice:'',
productDescription:'',
productCompetitiveness:'',
status:'',
})
//
const getRedPackage=()=>{
@ -72,11 +155,123 @@ const getRedPackage=()=>{
const status=ref(1)
//
const enterprise=(val)=>{
enterpriseUser.getconsumerRedPacketList({status:status.value, redPacketId:val.redPacketId}).then(()=>{
getRedPackage()
})
}
function PacketType(text){
isAddredParams.redPacketType=text
}
const validateTotalRedPacketAmount=(rule, value, callback)=> {
if (value <= 0) {
callback(new Error('红包总金额必须大于0'))
} else {
callback()
}
}
const validateRedPacketQuantity=(rule, value, callback)=> {
if (value <= 0) {
callback(new Error('红包数量必须大于0'))
} else {
callback()
}
}
//
const rules=reactive( {
iissuanceUnit: [
{ required: true, message: '请选择上架企业', trigger: 'change' }
],
redPacketName: [
{ required: true, message: '请填写发放红包名称', trigger: 'blur' }
],
usageConditions: [
{ required: true, message: '请选择使用条件', trigger: 'change' }
],
startTime: [
{ required: true, message: '请选择领取起始日期', trigger: 'change' }
],
endTime: [
{ required: true, message: '请选择领取截止日期', trigger: 'change' }
],
totalRedPacketAmount: [
{ required: true, message: '请填写红包总金额', trigger: 'blur' },
{ type: 'number', message: '红包总金额必须为数字值', trigger: 'blur' },
{ validator: validateTotalRedPacketAmount, trigger: 'blur' }
],
redPacketQuantity: [
{ required: true, message: '请填写红包数量', trigger: 'blur' },
{ type: 'number', message: '红包数量必须为数字值', trigger: 'blur' },
{ validator: validateRedPacketQuantity, trigger: 'blur' }
],
redPacketType: [
{ required: true, message: '请选择红包类型', trigger: 'change' }
],
})
//
const getEnterprise=()=>{
enterpriseUser.getEnterpriseUserList({userId:isAddredParams.userId}).then(res=>{
const data=res.data
//
for(let key in data){
enterpriselist.push({
label:data[key],
value:key
})
}
})
}
const gradeChange = (val) => {
isAddredParams.ownerDepartmentAssetInfoId=val
// enterprisevallabelisAddredParams.iissuanceUnit
for(let i=0;i<enterpriselist.length;i++){
if(enterpriselist[i].value==val){
isAddredParams.issuanceUnit=enterpriselist[i].label
}
}
}
const add = () => {
packetVisible.value = true;
};
const file=ref(null)
//
const enterpriseaddRedPacket=()=>{
proxy.$refs["rylesform"].validate(valid => {
const params=JSON.stringify(isAddredParams)
if(valid){
if(file.value === null) return proxy.$modal.msgError('请上传红包宣传图片')
const formData=new FormData()
formData.append('file',file.value)
formData.append('stuBusinessBankRedPacketInfo',params)
commercialbank.addRedPacket(formData).then(res=>{
getRedPackage()
})
}
// formdata
})
}
//
const Details=(val)=>{
DetailsVisible.value=true
enterpriseUser.getconsumerRedPacketDetail({redPacketId:val.redPacketId,userId:1}).then(res=>{
receiveDetails.value=[res.data]
})
}
const handleClose=()=>{
DetailsVisible.value=false
receiveDetails.value=null
}
const lookDetails = (id) => {
console.log(id,"code");
dialogVisible.value = true;
};
getEnterprise()
getRedPackage()
</script>
<template>
@ -90,7 +285,7 @@ getRedPackage()
<el-row>
<el-col :span="24">
<el-button type="info" icon="Plus" @click="packetVisible = true">新增消费红包</el-button>
<el-button type="info" icon="Plus" @click="add"></el-button>
</el-col>
</el-row>
<div class="el-tab el-tab1">
@ -98,7 +293,6 @@ getRedPackage()
:data="expenseData"
style="width: 100%"
stripe
>
<el-table-column align="center" prop="transactionCode" label=" 交易编码" >
</el-table-column>
@ -120,12 +314,11 @@ getRedPackage()
</el-table-column>
<el-table-column align="center" prop="name" label="操作" width="200">
<template #default="scope">
<el-button link type="success" @click="enterprise(scope.row)">
<el-button link type="success" @click="enterprise(scope.row)" :disabled="scope.row.status==1">
<svg-icon icon-class="look"/>发放
</el-button>
<el-button link type="success" @click="DetailsVisible =true">
<svg-icon icon-class="look"/>查看
<el-button link type="success" @click="Details(scope.row)">
<svg-icon icon-class="look"/>领取详情
</el-button>
</template>
</el-table-column>
@ -168,9 +361,11 @@ XY-10001</span>
<span>¥1000 </span>
</el-table-column>
<el-table-column align="center" prop="address" label="详情" >
<el-button link type="primary" @click="dialogVisible =true">
详情
<template #default="scope">
<el-button link type="success" @click="lookDetails(scope.row.personalRedPacketRecordId)">
<svg-icon icon-class="look"/>查看详情
</el-button>
</template>
</el-table-column>
<el-table-column align="center" prop="date" label="操作" >
<el-switch
@ -187,31 +382,38 @@ XY-10001</span>
v-model="DetailsVisible"
title="领取详情"
width="56%"
:before-close="handleClose"
>
<el-table
:data="tableData"
<el-table
:data="receiveDetails"
style="width: 100%"
stripe >
<el-table-column align="center" prop="date" label="领取人" >
<el-table-column align="center" prop="recipientName" label="领取人" >
</el-table-column>
<el-table-column align="center" prop="name" label="领取钱包地址" >
<el-table-column align="center" prop="recipientWalletAddress" label="领取钱包地址" >
</el-table-column>
<el-table-column align="center" prop="name" label="领取金额" >
<el-table-column align="center" prop="amountReceived" label="领取金额" >
</el-table-column>
<el-table-column align="center" prop="date" label="领取时间" >
<template #default="scope">
<span>{{ parseTime(scope.row.receivedTime,'{y}-{m}-{d} {h}:{i}:{s}') }}</span>
</template>
</el-table-column>
<el-table-column align="center" prop="name" label="消费红包名称" >
<el-table-column align="center" prop="redPacketName" label="消费红包名称" >
</el-table-column>
<el-table-column align="center" prop="name" label="发放企业" >
<el-table-column align="center" prop="issuanceUnit" label="发放企业" >
</el-table-column>
<el-table-column align="center" prop="date" label="发放企业钱包地址" width="150">
<el-table-column align="center" prop="issuerWalletAddress" label="发放企业钱包地址" width="150">
</el-table-column>
<el-table-column align="center" prop="name" label="领取的货币清单" width="150">
<el-button link type="warning" @click="dialogVisible =true">
查看
<template #default="scope">
<el-button link type="warning" @click="lookDetails(scope.row.personalRedPacketRecordId)">
详情
</el-button>
</template>
</el-table-column>
</el-table>
</el-table>
<pagination
:total="20"
/>
@ -222,20 +424,7 @@ XY-10001</span>
title="查看数字货币"
width="56%"
>
<el-table
:data="tableData"
style="width: 100%"
stripe >
<el-table-column align="center" prop="date" label="数字货币名(冠字号)" >
</el-table-column>
<el-table-column align="center" prop="name" label="属主钱包地址" >
</el-table-column>
<el-table-column align="center" prop="name" label="数字货币面额" >
</el-table-column>
</el-table>
<pagination
:total="20"
/>
<check :code="code"/>
</el-dialog>
<!-- 生成数字货币 -->
<el-dialog
@ -323,66 +512,56 @@ XY-10001</span>
width="35%"
>
<el-form class="demo-form-inline" label-width="120px">
<el-form-item label="上 架 企 业 ">
<el-select style="width: 100%;" class="m-2 text-input" placeholder="请选择" size="large">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="发放红包名称:">
<el-input class="text-input" clearable />
</el-form-item>
<el-form-item label="使 用 条 件 ">
<el-select style="width: 100%;" class="m-2 text-input" placeholder="请选择" size="large">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="领取起止日期:">
<el-form :model="isAddredParams" :rules="rules" ref="rylesform" label-width="120px">
<el-form-item label="上 架 企 业 " prop="iissuanceUnit">
<el-select class="text-input" v-model="isAddredParams.iissuanceUnit" style="width: 100%;" placeholder="请选择" size="large" @change="gradeChange">
<el-option v-for="item in enterpriselist" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="发放红包名称:" prop="redPacketName">
<el-input class="text-input" v-model="isAddredParams.redPacketName" clearable />
</el-form-item>
<el-form-item label="使 用 条 件 " prop="usageConditions">
<el-select class="text-input" v-model="isAddredParams.usageConditions" style="width: 100%;" placeholder="请选择" size="large">
<el-option v-for="item in conditionsofuse" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="领取起止日期:" prop="startTime">
<div class="Start">
<el-input class="text-input" clearable />
<span>~</span>
<el-input class="text-input" clearable />
<el-input class="text-input" v-model="isAddredParams.startTime" />
<span>~</span>
<el-input class="text-input" v-model="isAddredParams.endTime" />
</div>
</el-form-item>
<el-form-item label="红包总金额:">
</el-form-item>
<el-form-item label="红包总金额:" prop="totalRedPacketAmount">
<div class="Start">
<el-input class="text-input" clearable />
<span>-cNy</span>
<el-input class="text-input" v-model.number="isAddredParams.totalRedPacketAmount" clearable />
<span>-cNy</span>
</div>
</el-form-item>
<el-form-item label="红 包 数 量 ">
</el-form-item>
<el-form-item label="红 包 数 量 " prop="redPacketQuantity">
<div class="Start">
<el-input class="text-input" clearable />
<span></span>
<el-input class="text-input" v-model.number="isAddredParams.redPacketQuantity" clearable />
<span></span>
</div>
</el-form-item>
<el-form-item label="红 包 类 型 ">
<el-button type="primary">等额红包</el-button>
<el-button type="success">随机金额红包</el-button>
</el-form-item>
<el-form-item label="红包宣传图片:">
</el-form-item>
<el-form-item label="红 包 类 型 " prop="redPacketType">
<el-button type="primary" @click="PacketType('等额红包')"></el-button>
<el-button type="success" @click="PacketType('随机金额红包')"></el-button>
</el-form-item>
<el-form-item label="红包宣传图片:">
<div class="updata-img" onclick="upload.click()">
<img ref="fileInput" src="" alt="">
<!-- <el-button icon="el-icon-plus" type="warning" plain >资源文件</el-button> -->
<input type="file" @change="getFilePDF($event)" name="upload" id="upload" style="display: none;" accept="image/*" />
</div>
<p>上传</p>
</el-form-item>
</el-form>
</el-form-item>
</el-form>
<template #footer>
<span class="dialog-footer">
<el-button type="primary" @click="decodeVisible = false">数字签名 生成数字货币</el-button>
<el-button type="primary" @click="enterpriseaddRedPacket"> </el-button>
</span>
</template>
</el-dialog>
@ -466,6 +645,10 @@ XY-10001</span>
}
}
:deep(.el-dialog){
position: absolute !important;
top: 40% !important;
left: 50% !important;
transform: translate(-50%, -40%) !important;
.el-dialog__body{
.conter{
display: flex;

@ -1,72 +1,77 @@
<script setup>
import * as user from '@/api/user'
import useUserStore from "@/store/modules/user";
const userStore = useUserStore();
import {getAssetsFile} from '@/utils/index.js'
const dialogVisible=ref(false)
const Visible=ref(false)
const tableData = reactive([
{
Coding:'xxxxxxxxxx',
Amount:'123',
Address:'xxxxxx',
new:'xxxx',
wallet:'xxxxx',
date: "2016-05-02",
name: "王小虎",
address: "上海市",
},
{
Coding:'xxxxxxxxxx',
date: "2016-05-04",
name: "王小虎",
address: "上海市",
},
{
Coding:'xxxxxxxxxx',
date: "2016-05-01",
name: "王小虎",
address: "上海市",
},
{
Coding:'xxxxxxxxxx',
date: "2016-05-03",
name: "王小虎",
address: "上海市",
},
]);
//
const total=ref(0)
// params
const params=reactive({
userId:1,
const total=ref(0)// params
const params=reactive({// params
userId:userStore.userId,
index:1,
size:10
})
//
const redPacket=ref(null)
//
function getRedPacket(){
const total1=ref(0)//
const digital=ref(null)//
const params1=reactive({ // params
userId:userStore.userId,
index:1,
size:10
})
const options = [
{
value: '小天',
label: '小天',
},
{
value: '小择',
label: '小择',
},
{
value: '小明',
label: '小明',
},
];
//
const redPacketDetails=reactive({
redPacketId:"",
redPacketName:"",
name:"",
userId:userStore.userId,
//
redPacketAmount:""
})
function getRedPacket(){//
user.getRedPacket(params).then(res=>{
redPacket.value=res.data.list
total.value=res.data.total
})
}
//
const total1=ref(0)
//
const digital=ref(null)
// params
const params1=reactive({
userId:'1',
index:1,
size:10
})
//
function getDigital(){
function getDigital(){//
user.getDigitalGoods(params).then(res=>{
digital.value=res.data.list
total1.value=res.data.total
})
}
function getPacket(){//
user.getRedPacketReceive({redPacketId:redPacketDetails.redPacketId,name:redPacketDetails.name,userId:'1'}).then(res=>{
})
}
//
function getRedPacketDetails(value){
redPacketDetails.redPacketId=value.redPacketId
redPacketDetails.redPacketName=value.redPacketName
dialogVisible.value=true
}
//
function getRedPacketmoney(){
user.getRedPacketAmount({redPacketId:redPacketDetails.redPacketId,name:redPacketDetails.name}).then(res=>{
redPacketDetails.redPacketAmount=res.data
})
}
getDigital()
getRedPacket()
</script>
@ -82,12 +87,12 @@ getRedPacket()
<!-- :style="{ background: 'url(' + item.redPacketPromotionalImageUrl+ ')' }" -->
<div class="red_packet">
<div class="red_packet_item" v-for="(item,index) in redPacket" :key="item" :class="{'actove':(index+1)%6 ===0}" >
<div class="item_titel"><span @click="dialogVisible=true"></span></div>
<div class="item_titel"><span @click="getRedPacketDetails(item)"></span></div>
<div class="item_information">
<p>红包名称{{ item.redPacketName }}</p>
<p>发放人名称 :{{ item.issuanceUnit }}</p>
<p>发放总金额{{ item.totalRedPacketAmount }} </p>
<p>领取起止日期XXX-XXX</p>
<p>领取起止日期{{ parseTime(item.startTime,'{y}-{m}-{d}')+'-'+parseTime(item.endTime,'{y}-{m}-{d}') }}</p>
</div>
</div>
<pagination
@ -96,7 +101,7 @@ getRedPacket()
v-model:page="params.index"
v-model:limit="params.size"
@pagination="getRedPacket"
/>
/>
</div>
<!-- 购买数字商品 -->
<el-row>
@ -135,17 +140,32 @@ getRedPacket()
width="34%"
>
<el-form class="demo-form-inline" label-width="140px">
<el-form-item label="领取用户">
<el-select style="width: 100%;" v-model="redPacketDetails.name" class="text-input" placeholder="请选择" size="large" @change="getRedPacketmoney">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="发放红包名称:">
<el-input class="text-input" clearable />
<el-input class="text-input" v-model="redPacketDetails.redPacketName" :disabled="redPacketDetails.redPacketName"/>
</el-form-item>
<el-form-item label="领取金额:">
<div style="display: flex;">
<el-input class="text-input" clearable />
<el-input class="text-input" v-model="redPacketDetails.redPacketAmount" :disabled="redPacketDetails.redPacketAmount" />
<span style="width: 100px;text-align: center;line-height: 42px;color: #ffff;">e-CNY</span>
</div>
</el-form-item>
</el-form>
<template #footer>
<span class="dialog-footer">
<el-button type="primary" @click="getPacket"></el-button>
<el-button type="primary" @click="dialogVisible = false">取消</el-button>
</span>
</template>
</el-dialog>
<el-dialog
@ -291,6 +311,10 @@ getRedPacket()
}
}
:deep(.el-dialog){
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
.el-dialog__body{
.el-form{
.text-input{
@ -305,6 +329,22 @@ getRedPacket()
}
}
}
.el-dialog__footer{
.dialog-footer{
.el-button{
padding: 0px;
width: 178px !important;
height: 45px;
border: 2px solid #25F4F9;
background: linear-gradient(0deg, #0654B5 0%, #003155 50%, #2CD1E4 100%);
box-shadow: 0px 5px 6px 0px rgba(0,48,255,0.77);
border-radius: 8px;
}
.el-button:nth-child(2){
background: transparent;
}
}
}
}
}
</style>

@ -1,7 +1,10 @@
<script setup>
import * as user from '@/api/user'
import useUserStore from "@/store/modules/user";
import {truncate } from '@/utils/index'
const userStore = useUserStore();
const queryParams = reactive({
userId: '1',
userId: userStore.userId,
username: '',
});
//
@ -65,7 +68,7 @@ const checkParams=reactive({
];
//
const applyParams=reactive({
userId:'1',
userId:userStore.userId,
cryptocurrencyWalletName:'',
username:'',
cryptocurrencyBank:'',
@ -171,7 +174,7 @@ function recharge(){
// params
const cancelParams=reactive({
personAssetInfoId:'',
userId:'1'
userId:userStore.userId
})
//
function cancel(id){
@ -220,8 +223,36 @@ getWallet()
<el-table-column align="center" prop="cryptocurrencyWalletAddress" label="数字货币钱包地址" >
</el-table-column>
<el-table-column align="center" prop="publicKey" label="公钥" >
<template #default="scope">
<el-popover
placement="top-start"
title="公钥"
:width="400"
trigger="click"
:content="scope.row. publicKey"
>
<template #reference>
<span >{{ truncate(scope.row.privateKey)}}</span>
</template>
</el-popover>
</template>
</el-table-column>
<el-table-column align="center" prop="privateKey" label="私钥">
<template #default="scope">
<el-popover
placement="top-start"
title="公钥"
:width="400"
trigger="click"
:content="scope.row. privateKey"
>
<template #reference>
<span >{{ truncate(scope.row.privateKey)}}</span>
</template>
</el-popover>
</template>
</el-table-column>
<el-table-column align="center" prop="walletLevel" label="钱包等级">
</el-table-column>
@ -301,12 +332,7 @@ getWallet()
<span>个人资产信息</span>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-button type="info" icon="Document" @click="decodeVisible = true">申请数字人民币钱包</el-button>
</el-col>
</el-row>
<div class="el-tab el-tab1" >
<el-table
:data="tableData"
@ -372,9 +398,7 @@ getWallet()
width="34%"
>
<el-form class="demo-form-inline" label-width="130px">
<el-form-item label="钱包名称:">
<el-input v-model="applyParams.cryptocurrencyWalletName" class="text-input" clearable />
</el-form-item>
<el-form-item label="开通用户:">
<el-select
class="text-input"

@ -86,7 +86,6 @@
</div>
</div>
</template>
<script setup>
import Cookies from "js-cookie";

@ -1,6 +1,9 @@
<script setup>
import controlform from '@/components/controlform/control.vue'
import * as control from '@/api/control.js'
import useUserStore from "@/store/modules/user";
const userStore = useUserStore();
//
import { useRouter } from 'vue-router';
const router = useRouter();
@ -21,7 +24,7 @@ const go = (idx) => {
}
// params
const getCurrencyParams =reactive( {
userId:'1',
userId:userStore.userId,
total: 0,
size: 10,
index: 1,
@ -40,7 +43,7 @@ const getCurrency = async() => {
};
// params
const generateParams = reactive({
userId:'1',
userId:userStore.userId,
detailId:'',
rmbAmount:'',
transactionCode:'',

@ -2,6 +2,8 @@
import check from '@/components/check/check.vue'
import * as control from '@/api/control.js'
const { proxy } = getCurrentInstance();
import useUserStore from "@/store/modules/user";
const userStore = useUserStore();
//
import { useRouter } from 'vue-router';
const router = useRouter();
@ -27,7 +29,7 @@ const go = (idx) => {
const total = ref(0)
// params
const queryParams=reactive({
userId:"1",
userId:userStore.userId,
size:10,
index:1
})

@ -2,6 +2,8 @@
import * as DigitalCurrencyRegistration from "@/api/DigitalCurrencyRegistration";
//
import { useRouter } from 'vue-router';
import useUserStore from "@/store/modules/user";
const userStore = useUserStore();
const router = useRouter();
const tableData = reactive([
{
@ -41,7 +43,7 @@ const getCentralBank = () => {
centralBank.value.push(res.data)
});
};
const userid=ref('1')
const userid=ref(userStore.userId)
// 使
let businessBank = ref(null)
//

@ -3,22 +3,22 @@
</script>
<template>
<div class="app-study">
<div>
</div>
<!-- <el-row>
<div>
</div>
<!--<el-row>
<el-col :span="24">
<img src="../../assets/images/property.png" alt="" />
<img src="../../assets/images/32.png" alt="" />
<span>操作记录和成绩</span>
</el-col>
</el-row> -->
</el-row> -->
</div>
</template>
<style lang='scss' scoped>
.app-study{
padding: 20px;
height: 100vh;
// padding: 20px;
height: 130vh;
// border: 1px solid #238AFF;
border-radius: 5px;
// border-radius: 5px;
div{
height: 100%;
background: url('../../assets/images/微信图片_20230928130948.png' ) no-repeat !important;

@ -0,0 +1,40 @@
<script setup>
</script>
<template>
<div class="app-study">
<div>
</div>
<!--<el-row>
<el-col :span="24">
<img src="../../assets/images/32.png" alt="" />
<span>操作记录和成绩</span>
</el-col>
</el-row> -->
</div>
</template>
<style lang='scss' scoped>
.app-study{
// padding: 20px;
height: 130vh;
// border: 1px solid #238AFF;
// border-radius: 5px;
div{
height: 100%;
background: url('../../../assets/images/Merkle根.png' ) no-repeat !important;
background-size: 100% 100% !important;
}
.el-col-24 {
height: 69px;
padding: 15px 13px;
display: flex;
align-items: center;
span {
padding-left: 15px;
font-weight: bold;
font-size: 14px;
color: #ffff;
}
}
}
</style>

@ -0,0 +1,287 @@
<script setup>
const { proxy } = getCurrentInstance();
import * as centralBank from '@/api/centralBank'
import transaction from './components/transaction.vue';
// import currencyPut from '../digital-currency/currency-put.vue';
// import currency from '../currency/currency.vue';
import useUserStore from "@/store/modules/user";
const userStore = useUserStore();
//
import { useRouter } from 'vue-router';
const router = useRouter();
//
const dialogVisible = ref(false);
//
const decodeVisible = ref(false);
//
const total = ref(0);
//
const dialogList = reactive([
{
name: '兑换行是否有缴存足额的准备金?',
value: '1',
checked: false
},
{
name: '兑换行公钥和私钥是否一致?',
value: '2',
checked: false
},
{
name: '兑换行公钥和私钥是否一致?',
value: '3',
checked: false
}
])
//
const isDeployed = ref(1);
const go = (idx) => {
isDeployed.value=idx
}
const verifylParams= reactive({
userId:userStore.userId,
size:1,
index:1
})
const verifylList= ref(null)
//
const getTableData = async () => {
try {
const res = await centralBank.getTableData(verifylParams)
verifylList.value = res.data.list
total.value = res.data.total
} catch (error) {
}
}
// params
const decryptParams = reactive({
Abstract:'',
detailId:'',
publicKey:''
})
//
const decryptData = (val) => {
decodeVisible.value = true
decryptParams.Abstract=val.transactionCode
decryptParams.detailId=val.detailId
console.log(val,"val");
};
const submitDecryptedForm = async() => {
try {
const res = await centralBank.decrypt(decryptParams)
if(res.code == 200){
decodeVisible.value = false
proxy.resetForm('ruleFormRef')
getTableData()
}
} catch (error) {
}
};
const showValidationAlert = (code) => {
dialogVisible.value = true
decryptParams.detailId=code
};
const showverify = async() => {
try {
const res = await centralBank.verify(decryptParams.detailId)
if(res.code == 200){
dialogVisible.value = false
// proxy.resetForm('ruleFormRef')
getTableData()
}
} catch (error) {
}
};
//
const apply = async(code) => {
try {
decryptParams.detailId=code
const res = await centralBank.applygenerate(decryptParams.detailId)
if(res.code == 200){
getTableData()
proxy.$modal.msgSuccess(res.msg);
// dialogVisible.value = false
// proxy.resetForm('ruleFormRef')
}
} catch (error) {
}
};
//
getTableData()
</script>
<template>
<div class="app-central">
<div class="central-bank-title">
<div @click.native="go(1)">信息验证</div>
<div @click.native="go(2)">数字货币申请</div>
<div @click.native="go(3)">数字货币投放</div>
</div>
<div class="central-ban-information">
<transaction v-show="isDeployed == 1"></transaction>
<!-- <currency v-show="isDeployed == 2"></currency>
<currencyPut v-show="isDeployed == 3"></currencyPut> -->
</div>
</div>
</template>
<style lang="scss" scoped>
.app-central {
// background-color: #fff;
color: #ffffff;
padding: 20px;
.central-bank-title {
margin-bottom: 20px;
div {
display: inline-block;
width: 202px;
height: 52px;
color: #ffffff;
background: url("../../assets/images/btn01.png") no-repeat;
margin-right: 25px;
text-align: center;
line-height: 52px;
font-size: 14px;
cursor: pointer;
user-select: none;
//
&:hover{
transform: scale(1.01);
transition: transform 0.3s, opacity 0.3s;
}
}
div:nth-child(2) {
background: url("../../assets/images/btn02.png") no-repeat;
}
div:nth-child(3) {
background: url("../../assets/images/btn03.png") no-repeat;
}
}
.central-ban-information {
width: 100%;
background: #0e2e68;
border: 1px solid #238aff;
opacity: 0.8;
border-radius: 5px;
padding: 0px 4px;
.el-col-24 {
height: 69px;
padding: 15px 13px;
display: flex;
align-items: center;
span {
padding-left: 15px;
font-weight: bold;
font-size: 14px;
}
}
.el-tab {
padding: 0 13px;
}
.el-tab1 {
border: 1px solid #1854a6;
padding: 6px;
:deep(.el-table .el-table__header-wrapper th) {
background-color: #13B7DA !important;
color: #ffffff !important;
font-weight: 600;
}
}
}
}
.svg-icon{
margin-right: 6px;
}
:deep(.el-dialog){
background: url('../../../assets/images/dialogimg.png') no-repeat !important ;
background-size:100% 100% !important;
.el-dialog__header{
padding: 0px;
display: flex;
justify-content: center;
.el-dialog__headerbtn{
.el-dialog__close{
// background-color: pink !important;
//
background: url('../../../assets/images/x.png') no-repeat !important ;
background-size:100% 100% !important;
width: 28px;
height: 28px;
margin-right: 15px;
cursor: pointer;
}
}
.el-dialog__title{
margin-top: -20px;
text-align: center;
width: 216px;
height: 59px;
line-height: 59px;
background: url('../../../assets/images/中央银行-切图/验证+解密弹窗-切图/弹窗标题.png') no-repeat !important ;
background-size:100% 100% !important;
color: #ffffff;
}
}
.el-dialog__body{
padding: 30px 60px;
.df{
display: flex;
justify-content: space-between;
align-items: center;
color: #ffffff;
}
.el-form {
.el-form-item__label{
color: #ffffff;
height: 46px;
line-height: 46px;
}
.el-input__wrapper{
background-color: transparent;
box-shadow: none;
caret-color: #ffffff;
}
.el-input{
height: 46px;
background: url('../../../assets/images/中央银行-切图/验证+解密弹窗-切图/输入框.png') no-repeat !important ;
background-size:100% 100% !important;
.el-input__inner{
color: #ffffff;
}
}
}
}
.el-dialog__footer{
text-align: center;
.dialog-footer{
.el-button{
// width: 244px;
padding: 0 107px;
height: 52px;
border: 2px solid #25F4F9;
background: linear-gradient(0deg, #0654B5 0%, #003155 50%, #2CD1E4 100%);
box-shadow: 0px 5px 6px 0px rgba(0,48,255,0.77);
border-radius: 8px;
// background: url('../../../assets/images/-/+-/.png') no-repeat !important ;
// background-size:100% 100% !important;
}
}
}
}
</style>
Loading…
Cancel
Save