Files
frontend-app/pages/rwa_package/rwa_withdrawal/rwa_withdrawal - 副本.vue
T
2025-12-16 09:13:50 +08:00

288 lines
9.0 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<template>
<view class="rwa_withdrawal">
<Header leftTitle="共享计划终止" left-path-type="navigateTo" left-path="/pages/rwa_package/rwa/rwa" rightTitle="记录"
rightPath="/pages/rwa_package/rwa_withdrawal_log/rwa_withdrawal_log?back=withdrawal" rightPathType="navigateTo" />
<view class="rwa_withdrawal_content">
<view class="_content">
<view class="_content_usdt">
<view>{{ categotyObj.name || 'USDT' }}</view>
<view>{{ categotyObj.curAmount || 0 }}</view>
</view>
<view class="_content_item">
<view class="_content_item_title">行权金额</view>
<up-input placeholder="请输入行权金额" border="surround" v-model="form.amount" :customStyle="inputCss"></up-input>
<view class="_content_item_msg">当前可行权余额 {{ categotyObj.curAmount || 0 }} {{ categotyObj.name || 'USDT' }}
</view>
</view>
<view class="_content_item" @click="accountShowCheck(true)">
<view class="_content_item_title">行权账户</view>
<view class="_content_item_account">
<view v-if="accountName">{{ accountName }}</view>
<view v-else style="color: #30313363;">请选择行权账户</view>
<up-image src="/static/common/right.png" width="20" height="20" bgColor="#f1f6ff00" />
</view>
</view>
<view class="_content_item">
<view class="_content_item_title">交易密码<text class="_content_item_setting_pwd"
@click="jumpSettingPwd">《共享计划终止协议》</text></view>
<up-input placeholder="请输入交易密码" border="surround" v-model="form.password" :customStyle="inputCss"></up-input>
</view>
<view class="_content_item">
<view class="_content_item_title">备注</view>
<up-input placeholder="请输入备注(可选)" border="surround" v-model="form.remark" :customStyle="inputCss"></up-input>
</view>
</view>
<view class="add_but_css" @click="addWithdrawal">
提交
</view>
</view>
<DownPopup :show="tipsShow"
title="股权交割协议"
:contentText="text"
articleTitle="股权交割协议"
ok="我已知晓"
@cancel="tipsShow = false"
@ok="tipsShow = false"
></DownPopup>
<up-picker :show="accountShow" :columns="accountOption" keyName="account" itemHeight="34" @confirm="accountConfirm"
:loading="accountLoading" @close="accountShowCheck(false)" @cancel="accountShowCheck(false)"></up-picker>
<up-toast ref="uToastRef"></up-toast>
</view>
</template>
<script>
import Header from '@/components/header.vue';
import { getSupportBank } from '@/api/common.js';
import { getAcctBalance, exchTransfer, getExchUsers } from '@/api/finance.js';
import DownPopup from '@/components/common/down-popup.vue'
import CryptoJS from 'crypto-js';
export default {
components: { Header,DownPopup },
data() {
return {
categotyObj: {},// 可提现金额
inputCss: {
"height": '80rpx',
"background": "#F5F5F5",
"border-radius": "20rpx",
"border": "0rpx",
"padding-left": "16px",
},
form: {
category: "vcoin",
amount: '',
password: '',
acctIdtipsShow: '',
remark: '',
},
accountName: null,
accountShow: false,
accountOption: [],
accountLoading: false,
tipsShow:false,
text:`甲方(委托人):信任桥用户
乙方(受托人): 信任桥(深圳)网络科技有限公司
统一社会信用代码:91440300MAD3XHDP7C
鉴于条款
1. 甲乙双方已签署《消费型合伙人合作协议》《分红权代持协议》及《承诺书》(以下统称“原协议”),甲方通过购买TB信任桥商城产品取得分红权代持资格。
2. 为规范甲方对“TBC”(TrustBridge Coin,信任桥数字权益凭证)的行权行为,明确双方权利义务,现就甲方将TBC转移至交易所变现事宜达成补充约定。
第一条 定义与行权规则
1. TBC行权变现:指甲方向乙方申请将其持有的TBC通过非关联交易所进行行权的行为。
2. 自动失效条款:
 若甲方将TBC转移至非关联交易所进行行权变现,视为甲方单方终止原协议项下所有权利义务。
 甲方行权变现后,立即丧失以下权益:
(1)TB信任桥商城产品分红权;
(2)所有未兑现的分红收益;
第二条 协议终止与责任划分
1. 协议终止:
 甲方触发行权变现条件后,原协议、《分红权代持协议》及《承诺书》自动终止,双方权利义务关系终结。
 乙方有权立即冻结甲方账户,停止后续分红发放。
2. 责任承担:
 甲方承诺行权变现行为合法合规,若因行权行为导致乙方或关联方遭受行政处罚、声誉损失或第三方索赔,甲方应承担全部赔偿责任。
 乙方对甲方行权后的资金流向不承担监管责任。
第三条 特别提示与风险告知
1. 风险警示:
 TBC行权变现可能涉及市场波动、汇率风险及合规风险,甲方应自行承担全部后果。
 乙方不对TBC的流通性、价值稳定性作出任何承诺。
2. 合规要求:
 甲方承诺行权变现资金用途合法,不得用于非法活动或洗钱行为。
 若监管部门要求追溯资金来源或用途,甲方应全力配合并提供证明材料。
第四条 生效条件
1. 本补充协议自甲方点击确认后生效,与原协议具有同等法律效力。
2. 本协议未尽事宜,以原协议约定为准;与原协议冲突的,以本协议为准。`
};
},
onShow() {
this.getAcctBalance();
},
methods: {
// 查询余额
async getAcctBalance() {
const resp = await getAcctBalance();
let data = {};
if (resp && resp.bizcode === 100) {
if (resp.data) {
resp.data.map(item => {
// 交易币
if (item.categoty === "vcoin") {
data = item;
}
})
}
}
this.categotyObj = data;
},
async addWithdrawal() {
this.form.password = CryptoJS.MD5(this.form.password).toString()
const params = this.form;
if (!params.amount) {
this.$refs.uToastRef.show({
type: 'error',
message: "请输入行权金额",
});
return;
}
if (!params.acctId) {
this.$refs.uToastRef.show({
type: 'error',
message: "请选择行权账户",
});
return;
}
if (!params.password) {
this.$refs.uToastRef.show({
type: 'error',
message: "请输入交易密码",
});
return;
}
console.log("params", params);
const resp = await exchTransfer(params);
if (resp && resp.bizcode === 100) {
this.$refs.uToastRef.show({
type: 'success',
message: "提交成功",
});
setTimeout(() => {
uni.navigateTo({
url: '/pages/rwa_package/rwa/rwa',
})
}, 2000)
}
},
// 选择账户的弹框
async accountShowCheck(status) {
if (status) {
this.accountLoading = true;
const params = {
page: 1,
pageSize: 99,
}
const resp = await getExchUsers(params);
if (resp && resp.bizcode === 100) {
this.accountOption = [resp.data.entitys] || [];
}
this.accountLoading = false;
} else {
this.accountOption = [[]];
}
this.accountShow = status;
},
// 提交
accountConfirm(e) {
const {
columnIndex,
value,
values,
index,
} = e;
if (!value || value.length === 0) {
this.$refs.uToastRef.show({
type: 'error',
message: "请先选择账户",
});
return;
}
const data = value[0];
this.form.acctId = data.id;
this.accountName = data.account;
this.accountShowCheck(false);
},
// 设置交易密码
jumpSettingPwd() {
this.tipsShow = true;
// uni.navigateTo({
// url: '/pages/mine_package/mine_transaction_password/mine_transaction_password',
// })
}
}
}
</script>
<style lang="scss">
.rwa_withdrawal {
background: #F5F5F5;
.rwa_withdrawal_content {
padding: 20rpx;
height: calc(100vh - 198rpx);
._content {
padding: 30rpx;
background: #FFFFFF;
border-radius: 24rpx;
margin-bottom: 60rpx;
._content_usdt {
display: flex;
justify-content: space-between;
font-weight: bold;
font-size: 30rpx;
color: #333333;
border-bottom: 2rpx solid #EEEEEE;
padding: 0 0 20rpx;
}
._content_item {
margin-top: 30rpx;
._content_item_title {
margin-bottom: 20rpx;
font-weight: bold;
font-size: 30rpx;
color: #333333;
}
._content_item_setting_pwd {
color: $app-zt-color;
cursor: pointer;
text-decoration: underline;
font-size: 26rpx;
margin-left: 10rpx;
}
._content_item_msg {
font-weight: 500;
font-size: 24rpx;
color: #808080;
margin-top: 16rpx;
}
._content_item_account {
display: flex;
justify-content: space-between;
align-items: center;
background: #F8F8F8;
border-radius: 20rpx;
padding: 30rpx 20rpx;
font-weight: 500;
font-size: 28rpx;
color: #333333;
}
}
}
}
}
</style>