Browse Source

更新

master
ltlzx 5 years ago
parent
commit
aa914c13f6
  1. 24
      src/api/index.js
  2. 83
      src/components/common/Header.vue
  3. 21
      src/components/page/AssetClassification.vue
  4. 175
      src/components/page/Purchaser/wkPurchaser.vue
  5. 451
      src/components/page/Purchaser/wkThird.vue
  6. 452
      src/components/page/Purchaser/wkTrusteeship.vue
  7. 10
      src/router/index.js

24
src/api/index.js

@ -8,3 +8,27 @@ export const openAccount = query => {
data: query
});
};
// 获取单个类型资料
export const getAccountInfo = query => {
return request({
url: '/public/index.php/api/user.Account/getAccountInfo',
method: 'get',
params: query
});
};
// 获取用户是否已开户
export const isOpenAccount = query => {
return request({
url: '/public/index.php/api/user.Account/isOpenAccount',
method: 'get',
params: query
});
};
// 资产分类列表
export const assetClassList = query => {
return request({
url: '/public/index.php/api/user.Asset/assetClassList',
method: 'get',
params: query
});
};

83
src/components/common/Header.vue

@ -2,8 +2,8 @@
<div class="header">
<div class="header_title">
<span v-if="login_type==0" @click="showLogin">用户登录</span>
<span v-else @click="UserConsole(0)">交易平台首页</span>
<span @click="UserConsole(1)">用户控制台</span>
<span v-else @click="UserConsole(0,0)">交易平台首页</span>
<span @click="UserConsole(1,0)">用户控制台</span>
<span>联系客服</span>
<span>帮助中心</span>
<span>友情链接</span>
@ -48,13 +48,15 @@
</template>
<script>
import {isOpenAccount} from '../../api/index'
export default {
data() {
return {
activeClass:'',
search:'',
login_type:0,
login_type:0 ,
examine_type:0,
examine_data:{},
sidebarList:[
{name:'首页',url:''},
{name:'资产分类',url:'/AssetClassification'},
@ -74,6 +76,29 @@ export default {
}
},
methods:{
isOpenAccount(){
let data={user_id:3}
isOpenAccount(data).then(res => {
console.info(res)
this.examine_data=res.data
if(res.data.is_buyer>0 &&res.data.buyer_status>0){
this.sidebarList[0].url='/Purchaser'
}else{
this.sidebarList[0].url='/wkPurchaser'
}
if(res.data.is_enter_shop>0 &&res.data.enter_shop_status>0){
this.sidebarList[1].url='/Hoster'
}else{
this.sidebarList[1].url='/wkTrusteeship'
}
if(res.data.is_third_party>0 &&res.data.third_party_status>0){
this.sidebarList[2].url='/Purchaser'
}else{
this.sidebarList[2].url='/wkThird'
}
});
},
submitForm(){
},
@ -81,26 +106,32 @@ export default {
showLogin(){
this.isshowLogin=true
},
UserConsole(type){
UserConsole(type,goType){
this.login_type=type;
localStorage.setItem('login_type',this.login_type)
if(type==1){
if(this.examine_type==0){
this.sidebarList=[
{name:'购买方',url:'/wkPurchaser',query:{open_account_type:'buyer'}},
{name:'托管方',url:'',query:{open_account_type:'enter_shop'}},
{name:'第三方服务机构',url:'',query:{open_account_type:'third_party'}},
{name:'我的账户',url:'/StationNotice'},
]
this.goPage('/wkPurchaser')
this.sidebarList=[
{name:'购买方',url:''},
{name:'托管方',url:''},
{name:'第三方服务机构',url:''},
{name:'我的账户',url:''},
]
if(this.examine_data.is_buyer>0 && this.examine_data.buyer_status>0){
this.sidebarList[0].url='/Purchaser'
}else{
this.sidebarList[0].url='/wkPurchaser'
}
if(this.examine_data.is_enter_shop>0 && this.examine_data.enter_shop_status>0){
this.sidebarList[1].url='/Hoster'
}else{
this.sidebarList[1].url='/wkTrusteeship'
}
if(this.examine_data.is_third_party>0 && this.examine_data.third_party_status>0){
this.sidebarList[2].url='/Purchaser'
}else{
this.sidebarList=[
{name:'购买方',url:'/Purchaser'},
{name:'托管方',url:'/Hoster'},
{name:'第三方服务机构',url:'/Deal'},
{name:'我的账户',url:'/StationNotice'},
]
this.goPage('/Purchaser')
this.sidebarList[2].url='/wkThird'
}
this.goPage(this.sidebarList[0].url)
}else{
this.sidebarList=[
{name:'首页',url:''},
@ -109,7 +140,9 @@ export default {
{name:'成交公告',url:'/Deal'},
{name:'站内通知',url:'/StationNotice'},
]
this.goPage('/')
if(goType==0){
this.goPage('/')
}
}
},
goPage(url){
@ -119,10 +152,19 @@ export default {
watch:{
$route(newValue, oldValue){
this.activeClass=newValue.path
if(this.login_type==1){
this.isOpenAccount()
}
}
},
created(){
this.activeClass=this.$route.path
this.login_type=localStorage.getItem('login_type')
this.UserConsole(this.login_type,1)
if(this.login_type==1){
this.isOpenAccount()
}
}
}
</script>
@ -183,6 +225,7 @@ export default {
font-size: 14px;
line-height: 30px;
cursor: pointer;
padding: 0 5px;
}
.header_sidebar_left>span:hover{
color: #C94C4C;

21
src/components/page/AssetClassification.vue

@ -1,17 +1,18 @@
<template>
<div>
<div class="condition" v-for="(item,index) in conditionList" :key="index">
<div class="condition_title">{{item.title}}</div>
<div class="condition_item" v-for="(item1,index1) in item.data" :key="index1">
<div class="condition" v-for="(item) in conditionList" :key="item.id">
<div class="condition_title">{{item.name}}</div>
<div class="condition_item" v-for="(item1) in item.children" :key="item1.id">
<span class="condition_item_span">{{item1.name}}</span>
<div class="condition_item_right">
<span v-for="(item2,index2) in item1.condition" :key="index2" @click="goDetails">{{item2.item}}</span>
<span v-for="(item2) in item1.children" :key="item2.id" @click="goDetails">{{item2.name}}</span>
</div>
</div>
</div>
</div>
</template>
<script>
import {assetClassList} from '../../api/index'
export default {
data(){
return{
@ -103,7 +104,19 @@ export default {
]
}
},
created(){
this.assetClassList()
},
methods:{
//
assetClassList(){
assetClassList ().then(res => {
console.info(res)
if(res.code==100){
this.conditionList=res.data
}
})
},
goDetails(){
this.$router.push('/ClassificationDetails')
}

175
src/components/page/Purchaser/wkPurchaser.vue

@ -4,8 +4,10 @@
<p class="title_info">用户在购买资产前需先进行开户信息审核待审核通过后方能进行购买个人用户目前仅支持人才产权交易如需交易有形实物资产或无形实物资产请注册机构用户</p>
<div class="subject">
<span>账户主体</span>
<el-radio v-model="ruleForm.account_type" :label="1">机构</el-radio>
<el-radio v-model="ruleForm.account_type" :label="2">个人</el-radio>
<el-radio-group v-model="ruleForm.account_type" :disabled="disabled" @change="changeRadio">
<el-radio :label="1">机构</el-radio>
<el-radio :label="2">个人</el-radio>
</el-radio-group>
</div>
<div class="table">
<div class="table_left">
@ -21,7 +23,7 @@
:show-file-list="false"
:on-error="handleAvatarError"
list-type="picture"
:on-success="(res,file)=>{handleAvatarSuccess(res,file,index)}"
:on-success="(res,file)=>{handleAvatarSuccess(res,file,index,item.key)}"
>
<span class="upload_span">上传</span>
</el-upload>
@ -67,10 +69,35 @@
<el-input v-model="ruleForm.uname" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="收货联系电话" prop="phone" >
<el-input v-model="ruleForm.phone" placeholder="请输入"></el-input>
<el-input v-model.number="ruleForm.phone" placeholder="请输入"></el-input>
</el-form-item>
</template>
<template v-else>
<el-form-item label="姓名" prop="username" >
<el-input v-model="ruleForm.username" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="身份证号码" prop="id_card" >
<el-input v-model="ruleForm.id_card" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="手机号码" prop="userphone" >
<el-input v-model.number="ruleForm.userphone" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="开户行名称" prop="bank_name" >
<el-input v-model="ruleForm.bank_name" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="银行卡号" prop="id_bank" >
<el-input v-model.number="ruleForm.id_bank" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="收货地址" prop="address" >
<el-input v-model="ruleForm.address" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="收货联系人" prop="uname" >
<el-input v-model="ruleForm.uname" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="收货联系电话" prop="phone" >
<el-input v-model.number="ruleForm.phone" placeholder="请输入"></el-input>
</el-form-item>
</template>
</el-form>
</div>
</div>
@ -98,28 +125,28 @@
</div>
</template>
<script>
import {openAccount} from '../../../api/index';
import {openAccount,getAccountInfo} from '../../../api/index';
export default {
data(){
return{
subject:1,
checked:1,
disabled:false,
host:'http://wenhua.xingtongworld.com',
action:'http://wenhua.xingtongworld.com/public/index.php/api/Index/uploadimg',
upList:[
{name:'营业执照(复印件)',type:0,url:'',key:'business_license'},
{name:'法人代表证明书',type:0,url:'',key:'business_license'},
{name:'法人身份证件(复印件)',type:0,url:'',key:'business_license'},
{name:' 数字证书申请表',type:0,url:'',key:'business_license'},
{name:' 银行开户证明',type:0,url:'',key:'business_license'},
{name:'资产证明文件',type:0,url:'',key:'business_license'},
{name:'法人授权委托书',type:0,url:'',key:'business_license'},
{name:'经办人身份证(复印件)',type:0,url:'',key:'business_license'},
{name:'其他要求文件',type:0,url:'',key:'business_license'},
{name:'法人代表证明书',type:0,url:'',key:'legal_certificate'},
{name:'法人身份证件(复印件)',type:0,url:'',key:'legal_card'},
{name:' 数字证书申请表',type:0,url:'',key:'number_certificate'},
{name:' 银行开户证明',type:0,url:'',key:'bank_account_certificate'},
{name:'资产证明文件',type:0,url:'',key:'asset_certificate'},
{name:'法人授权委托书',type:0,url:'',key:'legal_authorization'},
{name:'经办人身份证(复印件)',type:0,url:'',key:'operator_card'},
{name:'其他要求文件',type:0,url:'',key:'else_file'},
],
ruleForm: {
open_account_type:'buyer',
nopen_account_typeame: '',
account_type: 1,
business_license: '',
legal_certificate: '',
@ -180,23 +207,98 @@ export default {
phone: [
{ required: true, message: '请输入收货人电话', trigger: 'blur' },
],
username: [
{ required: true, message: '请输入姓名', trigger: 'blur' },
],
id_card: [
{ required: true, message: '请输入身份证号码', trigger: 'blur' },
],
userphone: [
{ required: true, message: '请输入手机号码', trigger: 'blur' },
],
bank_name: [
{ required: true, message: '请输入开户行名称', trigger: 'blur' },
],
id_bank: [
{ required: true, message: '请输入银行卡号', trigger: 'blur' },
],
}
}
},
created(){
console.info(this.$route.query)
this.getAccountInfo()
},
methods:{
//
getAccountInfo(){
let data={
open_account_type:'buyer'
}
getAccountInfo(data).then(res => {
console.info(res)
if(res.data!=null){
this.disabled=true
this.changeRadio(res.data.account_type)
for(let key in res.data){
for(let item in this.ruleForm){
if(key==item){
this.ruleForm[item]=res.data[key]
continue;
}
}
this.upList.forEach((v,i)=>{
if(key==v.key){
v.type=1;
v.url=res.data[key]
}
})
}
}
});
},
//rado
changeRadio(label){
if(label==1){
this.upList=[
{name:'营业执照(复印件)',type:0,url:'',key:'business_license'},
{name:'法人代表证明书',type:0,url:'',key:'legal_certificate'},
{name:'法人身份证件(复印件)',type:0,url:'',key:'legal_card'},
{name:' 数字证书申请表',type:0,url:'',key:'number_certificate'},
{name:' 银行开户证明',type:0,url:'',key:'bank_account_certificate'},
{name:'资产证明文件',type:0,url:'',key:'asset_certificate'},
{name:'法人授权委托书',type:0,url:'',key:'legal_authorization'},
{name:'经办人身份证(复印件)',type:0,url:'',key:'operator_card'},
{name:'其他要求文件',type:0,url:'',key:'else_file'},
]
}else{
this.upList=[
{name:'身份证正面',type:0,url:'',key:'user_card_front'},
{name:'身份证背面',type:0,url:'',key:'user_card_backfacade'},
{name:' 数字证书申请表',type:0,url:'',key:'number_certificate'},
{name:'资产证明文件',type:0,url:'',key:'asset_certificate'},
{name:'其他要求文件',type:0,url:'',key:'else_file'},
]
}
this.ruleForm.else_file='';
},
//
deleteUrl(item,index){
this.upList[index].type=0;
this.upList[index].url='';
this.ruleForm[item.key]=''
},
submit(){
console.info(this.ruleForm)
this.$refs["ruleForm1"].validate((valid) => {
if(valid){
openAccount(this.ruleForm).then(res => {
console.info(res)
if(res.code==101){
this.$message.error(res.msg);
}else{
this.$message.success('上传资料成功!请等待审核~');
}
});
}
})
@ -204,43 +306,12 @@ export default {
handleAvatarError(){
this.$message.error('文件上传失败!');
},
handleAvatarSuccess(res, file, index){
handleAvatarSuccess(res, file, index,key){
if(res.code==1){
this.upList[index].type=1;
this.upList[index].url=this.host+res.data.img_url;
this.ruleForm[key]=this.host+res.data.img_url
this.$message.success('文件上传成功!');
if(this.ruleForm.account_type==1){
switch (index) {
case 0:
this.ruleForm.business_license=this.host+res.data.img_url
break;
case 1:
this.ruleForm.legal_certificate=this.host+res.data.img_url
break;
case 2:
this.ruleForm.legal_card=this.host+res.data.img_url
break;
case 3:
this.ruleForm.number_certificate=this.host+res.data.img_url
break;
case 4:
this.ruleForm.bank_account_certificate=this.host+res.data.img_url
break;
case 5:
this.ruleForm.asset_certificate=this.host+res.data.img_url
break;
case 6:
this.ruleForm.legal_authorization=this.host+res.data.img_url
break;
case 7:
this.ruleForm.operator_card=this.host+res.data.img_url
break;
case 8:
this.ruleForm.else_file=this.host+res.data.img_url
break;
}
}
}
},
fileChange(file){
@ -250,7 +321,6 @@ export default {
if (!isJPG) {
this.$message.error('只能是图片!');
this.$refs.upload.clearFiles();
// this.$set(this.query, 'goods_img', '');
return;
}
if (!isLt3M) {
@ -293,6 +363,9 @@ export default {
.table_right_item>span:hover{
text-decoration: underline;
}
.table_right_item>i{
cursor: pointer;
}
.subject{
display: flex;
font-size: 14px;

451
src/components/page/Purchaser/wkThird.vue

@ -0,0 +1,451 @@
<template>
<div class="body">
<p class="title">第三方服务机构开户信息完善</p>
<p class="title_info">第三方服务机构开户用于服务平台中资产托管时的资产价格评估或资产价值评估需有相关资质机构方能注册成功</p>
<div class="subject">
<span>账户主体</span>
<el-radio-group v-model="ruleForm.account_type" :disabled="disabled" @change="changeRadio">
<el-radio :label="1">机构</el-radio>
</el-radio-group>
</div>
<div class="table">
<div class="table_left">
<p class="table_title">请如实上传以下资料</p>
<div class="table_content">
<div class="table_content_item" v-for="(item,index) in upList" :key="index">
<span>{{item.name}}</span>
<div class="table_content_item_upload">
<el-upload
class="upload-demo"
:action="action"
:on-change="fileChange"
:show-file-list="false"
:on-error="handleAvatarError"
list-type="picture"
:on-success="(res,file)=>{handleAvatarSuccess(res,file,index,item.key)}"
>
<span class="upload_span">上传</span>
</el-upload>
<span class="el-icon-success" v-if="item.type==1"></span>
</div>
</div>
</div>
<p class="table_title">请确认并完善以下信息</p>
<div class="table_content">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm1" label-width="200px" class="ruleForm" label-position="left">
<template v-if="ruleForm.account_type==1">
<el-form-item label="机构名称" prop="firm_name" >
<el-input v-model="ruleForm.firm_name" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="统一社会信用代码" prop="credit_code" >
<el-input v-model="ruleForm.credit_code" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="主体类型" prop="main_type" >
<el-input v-model="ruleForm.main_type" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="注册资本" prop="reg_money" >
<el-input v-model="ruleForm.reg_money" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="法定代表人" prop="legal_name" >
<el-input v-model="ruleForm.legal_name" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="住所" prop="domicile" >
<el-input v-model="ruleForm.domicile" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="成立日期" prop="establish_time" >
<el-date-picker
v-model="ruleForm.establish_time"
type="date"
value-format="timestamp"
placeholder="选择成立日期">
</el-date-picker>
</el-form-item>
<el-form-item label="收货地址" prop="address" >
<el-input v-model="ruleForm.address" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="收货联系人" prop="uname" >
<el-input v-model="ruleForm.uname" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="收货联系电话" prop="phone" >
<el-input v-model.number="ruleForm.phone" placeholder="请输入"></el-input>
</el-form-item>
</template>
<template v-else>
<el-form-item label="姓名" prop="username" >
<el-input v-model="ruleForm.username" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="身份证号码" prop="id_card" >
<el-input v-model="ruleForm.id_card" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="手机号码" prop="userphone" >
<el-input v-model.number="ruleForm.userphone" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="开户行名称" prop="bank_name" >
<el-input v-model="ruleForm.bank_name" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="银行卡号" prop="id_bank" >
<el-input v-model.number="ruleForm.id_bank" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="收货地址" prop="address" >
<el-input v-model="ruleForm.address" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="收货联系人" prop="uname" >
<el-input v-model="ruleForm.uname" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="收货联系电话" prop="phone" >
<el-input v-model.number="ruleForm.phone" placeholder="请输入"></el-input>
</el-form-item>
</template>
</el-form>
</div>
</div>
<div class="table_right">
<p class="table_title">已上传资料</p>
<div class="table_right_content">
<div v-for="(item,index) in upList" :key="index" >
<div class="table_right_item" v-if="item.type==1">
<span>{{item.name}}</span>
<i class="el-icon-close" @click="deleteUrl(item,index)"></i>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<button class="submit" @click="submit">提交资料</button>
<div>
<el-checkbox v-model="checked" :true-label=1 :false-label=2></el-checkbox>
<span class="footer_span">已阅读并同意</span>
<span class="footer_span1">开户申请书与承诺书</span>
</div>
</div>
</div>
</template>
<script>
import {openAccount,getAccountInfo} from '../../../api/index';
export default {
data(){
return{
subject:1,
checked:1,
disabled:false,
host:'http://wenhua.xingtongworld.com',
action:'http://wenhua.xingtongworld.com/public/index.php/api/Index/uploadimg',
upList:[
{name:'营业执照(复印件)',type:0,url:'',key:'business_license'},
{name:'法人代表证明书',type:0,url:'',key:'legal_certificate'},
{name:'法人身份证件(复印件)',type:0,url:'',key:'legal_card'},
{name:' 数字证书申请表',type:0,url:'',key:'number_certificate'},
{name:' 银行开户证明',type:0,url:'',key:'bank_account_certificate'},
{name:'资产证明文件',type:0,url:'',key:'asset_certificate'},
{name:'法人授权委托书',type:0,url:'',key:'legal_authorization'},
{name:'经办人身份证(复印件)',type:0,url:'',key:'operator_card'},
{name:'其他要求文件',type:0,url:'',key:'else_file'},
],
ruleForm: {
open_account_type:'third_party',
account_type: 1,
business_license: '',
legal_certificate: '',
legal_card: '',
number_certificate: '',
bank_account_certificate: '',
legal_authorization: '',
operator_card: '',
else_file: '',
user_card_front: '',
user_card_backfacade: '',
asset_certificate: '',
asset_trusteeship: '',
firm_name: '',
credit_code: '',
main_type: '',
reg_money: '',
legal_name: '',
domicile: '',
establish_time: '',
username: '',
id_card: '',
userphone: '',
bank_name: '',
id_bank: '',
address: '',
uname: '',
phone: '',
},
rules: {
firm_name: [
{ required: true, message: '请输入机构名称', trigger: 'blur' },
],
credit_code: [
{ required: true, message: '请输入统一社会信用代码', trigger: 'blur' },
],
main_type: [
{ required: true, message: '请输入主体类型', trigger: 'blur' },
],
reg_money: [
{ required: true, message: '请输入注册资本', trigger: 'blur' },
],
legal_name: [
{ required: true, message: '请输入法定代表人', trigger: 'blur' },
],
domicile: [
{ required: true, message: '请输入住所', trigger: 'blur' },
],
establish_time: [
{ required: true, message: '请选择成立日期', trigger: 'blur' },
],
address: [
{ required: true, message: '请输入收货地址', trigger: 'blur' },
],
uname: [
{ required: true, message: '请输入收货人姓名', trigger: 'blur' },
],
phone: [
{ required: true, message: '请输入收货人电话', trigger: 'blur' },
],
username: [
{ required: true, message: '请输入姓名', trigger: 'blur' },
],
id_card: [
{ required: true, message: '请输入身份证号码', trigger: 'blur' },
],
userphone: [
{ required: true, message: '请输入手机号码', trigger: 'blur' },
],
bank_name: [
{ required: true, message: '请输入开户行名称', trigger: 'blur' },
],
id_bank: [
{ required: true, message: '请输入银行卡号', trigger: 'blur' },
],
}
}
},
created(){
this.getAccountInfo()
},
methods:{
//
getAccountInfo(){
let data={
open_account_type:'third_party'
}
getAccountInfo(data).then(res => {
console.info(res)
if(res.data!=null){
this.disabled=true
this.changeRadio(res.data.account_type)
for(let key in res.data){
for(let item in this.ruleForm){
if(key==item){
this.ruleForm[item]=res.data[key]
continue;
}
}
this.upList.forEach((v,i)=>{
if(key==v.key){
v.type=1;
v.url=res.data[key]
}
})
}
}
});
},
//rado
changeRadio(label){
if(label==1){
this.upList=[
{name:'营业执照(复印件)',type:0,url:'',key:'business_license'},
{name:'法人代表证明书',type:0,url:'',key:'legal_certificate'},
{name:'法人身份证件(复印件)',type:0,url:'',key:'legal_card'},
{name:' 数字证书申请表',type:0,url:'',key:'number_certificate'},
{name:' 银行开户证明',type:0,url:'',key:'bank_account_certificate'},
{name:'资产证明文件',type:0,url:'',key:'asset_certificate'},
{name:'法人授权委托书',type:0,url:'',key:'legal_authorization'},
{name:'经办人身份证(复印件)',type:0,url:'',key:'operator_card'},
{name:'其他要求文件',type:0,url:'',key:'else_file'},
]
}else{
this.upList=[
{name:'身份证正面',type:0,url:'',key:'user_card_front'},
{name:'身份证背面',type:0,url:'',key:'user_card_backfacade'},
{name:' 数字证书申请表',type:0,url:'',key:'number_certificate'},
{name:'资产证明文件',type:0,url:'',key:'asset_certificate'},
{name:'其他要求文件',type:0,url:'',key:'else_file'},
]
}
this.ruleForm.else_file='';
},
//
deleteUrl(item,index){
this.upList[index].type=0;
this.upList[index].url='';
this.ruleForm[item.key]=''
},
submit(){
console.info(this.ruleForm)
this.$refs["ruleForm1"].validate((valid) => {
if(valid){
openAccount(this.ruleForm).then(res => {
console.info(res)
if(res.code==101){
this.$message.error(res.msg);
}else{
this.$message.success('上传资料成功!请等待审核~');
}
});
}
})
},
handleAvatarError(){
this.$message.error('文件上传失败!');
},
handleAvatarSuccess(res, file, index,key){
if(res.code==1){
this.upList[index].type=1;
this.upList[index].url=this.host+res.data.img_url;
this.ruleForm[key]=this.host+res.data.img_url
this.$message.success('文件上传成功!');
}
},
fileChange(file){
const typeArr = ['image/png', 'image/gif', 'image/jpeg', 'image/jpg'];
const isJPG = typeArr.indexOf(file.raw.type) !== -1;
const isLt3M = file.size / 1024 / 1024 < 3;
if (!isJPG) {
this.$message.error('只能是图片!');
this.$refs.upload.clearFiles();
return;
}
if (!isLt3M) {
this.$message.error('上传图片大小不能超过 3MB!');
this.$refs.upload.clearFiles();
// this.$set(this.query, 'goods_img', '');
return;
}
},
}
}
</script>
<style scoped>
.body{
margin-top: 20px;
}
.title{
font-size: 18px;
margin-bottom: 10px;
}
.title_info{
font-size: 12px;
color: #AAAAAA;
}
.table_right{
padding-left: 50px;
}
.table_right_content{
margin-top: 20px;
}
.table_right_item{
width: 300px;
display: flex;
align-items: center;
color: #333333;
font-size: 14px;
justify-content: space-between;
}
.table_right_item>span:hover{
text-decoration: underline;
}
.table_right_item>i{
cursor: pointer;
}
.subject{
display: flex;
font-size: 14px;
display: flex;
align-items: center;
margin-top: 30px;
}
.subject >>>.el-radio, .el-radio__input{
line-height: inherit;
margin-left: 30px;
}
.table{
display: flex;
margin-top: 15px;
}
.table_left{
width: 800px;
border-right: 1px solid #EAB1B1;
}
.table_title{
font-size: 14px;
margin-bottom: 15px;
}
.table_content{
padding-left: 30px;
margin-bottom: 15px;
padding-right: 50px;
}
.table_content_item{
font-size: 14px;
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 15px;
}
.table_content_item_upload{
display: flex;
align-items: center;
color: #C94C4C;
}
.el-icon-success{
font-size: 18px;
}
.upload-demo{
margin-right: 20px;
}
.upload_span{
color: #C94C4C;
text-decoration: underline;
}
.ruleForm>>>.el-form-item__label{
color: black;
}
.ruleForm>>>.el-input{
width: 500px;
}
.footer{
margin-top: 20px;
text-align: center;
font-size: 12px;
}
.submit{
width: 340px;
height: 40px;
background: -moz-linear-gradient(top, #F8D89F 0%, #D98282 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#F8D89F), color-stop(100%,#D98282));
background: -webkit-linear-gradient(top, #F8D89F 0%,#D98282 100%);
background: -o-linear-gradient(top, #F8D89F 0%,#D98282 100%);
background: -ms-linear-gradient(top, #F8D89F 0%,#D98282 100%);
background: linear-gradient(to bottom, #F8D89F 0%,#D98282 100%);
font-size: 14px;
color: #FFFFFF;
border: none;
margin-bottom: 10px;
}
.footer_span{
color: rgb(127, 127, 127);
}
.footer_span1{
color: rgb(201, 76, 76);
text-decoration: underline;
}
</style>

452
src/components/page/Purchaser/wkTrusteeship.vue

@ -0,0 +1,452 @@
<template>
<div class="body">
<p class="title">托管方开户信息完善</p>
<p class="title_info">用户在托管资产前需先进行开户信息审核待审核通过后方能进行托管个人用户目前仅支持人才产权交易如需交易有形实物资产或无形实物资产请注册机构用户</p>
<div class="subject">
<span>账户主体</span>
<el-radio-group v-model="ruleForm.account_type" :disabled="disabled" @change="changeRadio">
<el-radio :label="1">机构</el-radio>
<el-radio :label="2">个人</el-radio>
</el-radio-group>
</div>
<div class="table">
<div class="table_left">
<p class="table_title">请如实上传以下资料</p>
<div class="table_content">
<div class="table_content_item" v-for="(item,index) in upList" :key="index">
<span>{{item.name}}</span>
<div class="table_content_item_upload">
<el-upload
class="upload-demo"
:action="action"
:on-change="fileChange"
:show-file-list="false"
:on-error="handleAvatarError"
list-type="picture"
:on-success="(res,file)=>{handleAvatarSuccess(res,file,index,item.key)}"
>
<span class="upload_span">上传</span>
</el-upload>
<span class="el-icon-success" v-if="item.type==1"></span>
</div>
</div>
</div>
<p class="table_title">请确认并完善以下信息</p>
<div class="table_content">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm1" label-width="200px" class="ruleForm" label-position="left">
<template v-if="ruleForm.account_type==1">
<el-form-item label="机构名称" prop="firm_name" >
<el-input v-model="ruleForm.firm_name" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="统一社会信用代码" prop="credit_code" >
<el-input v-model="ruleForm.credit_code" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="主体类型" prop="main_type" >
<el-input v-model="ruleForm.main_type" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="注册资本" prop="reg_money" >
<el-input v-model="ruleForm.reg_money" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="法定代表人" prop="legal_name" >
<el-input v-model="ruleForm.legal_name" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="住所" prop="domicile" >
<el-input v-model="ruleForm.domicile" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="成立日期" prop="establish_time" >
<el-date-picker
v-model="ruleForm.establish_time"
type="date"
value-format="timestamp"
placeholder="选择成立日期">
</el-date-picker>
</el-form-item>
<el-form-item label="收货地址" prop="address" >
<el-input v-model="ruleForm.address" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="收货联系人" prop="uname" >
<el-input v-model="ruleForm.uname" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="收货联系电话" prop="phone" >
<el-input v-model.number="ruleForm.phone" placeholder="请输入"></el-input>
</el-form-item>
</template>
<template v-else>
<el-form-item label="姓名" prop="username" >
<el-input v-model="ruleForm.username" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="身份证号码" prop="id_card" >
<el-input v-model="ruleForm.id_card" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="手机号码" prop="userphone" >
<el-input v-model.number="ruleForm.userphone" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="开户行名称" prop="bank_name" >
<el-input v-model="ruleForm.bank_name" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="银行卡号" prop="id_bank" >
<el-input v-model.number="ruleForm.id_bank" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="收货地址" prop="address" >
<el-input v-model="ruleForm.address" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="收货联系人" prop="uname" >
<el-input v-model="ruleForm.uname" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="收货联系电话" prop="phone" >
<el-input v-model.number="ruleForm.phone" placeholder="请输入"></el-input>
</el-form-item>
</template>
</el-form>
</div>
</div>
<div class="table_right">
<p class="table_title">已上传资料</p>
<div class="table_right_content">
<div v-for="(item,index) in upList" :key="index" >
<div class="table_right_item" v-if="item.type==1">
<span>{{item.name}}</span>
<i class="el-icon-close" @click="deleteUrl(item,index)"></i>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<button class="submit" @click="submit">提交资料</button>
<div>
<el-checkbox v-model="checked" :true-label=1 :false-label=2></el-checkbox>
<span class="footer_span">已阅读并同意</span>
<span class="footer_span1">开户申请书与承诺书</span>
</div>
</div>
</div>
</template>
<script>
import {openAccount,getAccountInfo} from '../../../api/index';
export default {
data(){
return{
subject:1,
checked:1,
disabled:false,
host:'http://wenhua.xingtongworld.com',
action:'http://wenhua.xingtongworld.com/public/index.php/api/Index/uploadimg',
upList:[
{name:'营业执照(复印件)',type:0,url:'',key:'business_license'},
{name:'法人代表证明书',type:0,url:'',key:'legal_certificate'},
{name:'法人身份证件(复印件)',type:0,url:'',key:'legal_card'},
{name:' 数字证书申请表',type:0,url:'',key:'number_certificate'},
{name:' 银行开户证明',type:0,url:'',key:'bank_account_certificate'},
{name:'资产证明文件',type:0,url:'',key:'asset_certificate'},
{name:'法人授权委托书',type:0,url:'',key:'legal_authorization'},
{name:'经办人身份证(复印件)',type:0,url:'',key:'operator_card'},
{name:'其他要求文件',type:0,url:'',key:'else_file'},
],
ruleForm: {
open_account_type:'enter_shop',
account_type: 1,
business_license: '',
legal_certificate: '',
legal_card: '',
number_certificate: '',
bank_account_certificate: '',
legal_authorization: '',
operator_card: '',
else_file: '',
user_card_front: '',
user_card_backfacade: '',
asset_certificate: '',
asset_trusteeship: '',
firm_name: '',
credit_code: '',
main_type: '',
reg_money: '',
legal_name: '',
domicile: '',
establish_time: '',
username: '',
id_card: '',
userphone: '',
bank_name: '',
id_bank: '',
address: '',
uname: '',
phone: '',
},
rules: {
firm_name: [
{ required: true, message: '请输入机构名称', trigger: 'blur' },
],
credit_code: [
{ required: true, message: '请输入统一社会信用代码', trigger: 'blur' },
],
main_type: [
{ required: true, message: '请输入主体类型', trigger: 'blur' },
],
reg_money: [
{ required: true, message: '请输入注册资本', trigger: 'blur' },
],
legal_name: [
{ required: true, message: '请输入法定代表人', trigger: 'blur' },
],
domicile: [
{ required: true, message: '请输入住所', trigger: 'blur' },
],
establish_time: [
{ required: true, message: '请选择成立日期', trigger: 'blur' },
],
address: [
{ required: true, message: '请输入收货地址', trigger: 'blur' },
],
uname: [
{ required: true, message: '请输入收货人姓名', trigger: 'blur' },
],
phone: [
{ required: true, message: '请输入收货人电话', trigger: 'blur' },
],
username: [
{ required: true, message: '请输入姓名', trigger: 'blur' },
],
id_card: [
{ required: true, message: '请输入身份证号码', trigger: 'blur' },
],
userphone: [
{ required: true, message: '请输入手机号码', trigger: 'blur' },
],
bank_name: [
{ required: true, message: '请输入开户行名称', trigger: 'blur' },
],
id_bank: [
{ required: true, message: '请输入银行卡号', trigger: 'blur' },
],
}
}
},
created(){
this.getAccountInfo()
},
methods:{
//
getAccountInfo(){
let data={
open_account_type:'enter_shop'
}
getAccountInfo(data).then(res => {
console.info(res)
if(res.data!=null){
this.disabled=true
this.changeRadio(res.data.account_type)
for(let key in res.data){
for(let item in this.ruleForm){
if(key==item){
this.ruleForm[item]=res.data[key]
continue;
}
}
this.upList.forEach((v,i)=>{
if(key==v.key){
v.type=1;
v.url=res.data[key]
}
})
}
}
});
},
//rado
changeRadio(label){
if(label==1){
this.upList=[
{name:'营业执照(复印件)',type:0,url:'',key:'business_license'},
{name:'法人代表证明书',type:0,url:'',key:'legal_certificate'},
{name:'法人身份证件(复印件)',type:0,url:'',key:'legal_card'},
{name:' 数字证书申请表',type:0,url:'',key:'number_certificate'},
{name:' 银行开户证明',type:0,url:'',key:'bank_account_certificate'},
{name:'资产证明文件',type:0,url:'',key:'asset_certificate'},
{name:'法人授权委托书',type:0,url:'',key:'legal_authorization'},
{name:'经办人身份证(复印件)',type:0,url:'',key:'operator_card'},
{name:'其他要求文件',type:0,url:'',key:'else_file'},
]
}else{
this.upList=[
{name:'身份证正面',type:0,url:'',key:'user_card_front'},
{name:'身份证背面',type:0,url:'',key:'user_card_backfacade'},
{name:' 数字证书申请表',type:0,url:'',key:'number_certificate'},
{name:'资产证明文件',type:0,url:'',key:'asset_certificate'},
{name:'其他要求文件',type:0,url:'',key:'else_file'},
]
}
this.ruleForm.else_file='';
},
//
deleteUrl(item,index){
this.upList[index].type=0;
this.upList[index].url='';
this.ruleForm[item.key]=''
},
submit(){
console.info(this.ruleForm)
this.$refs["ruleForm1"].validate((valid) => {
if(valid){
openAccount(this.ruleForm).then(res => {
console.info(res)
if(res.code==101){
this.$message.error(res.msg);
}else{
this.$message.success('上传资料成功!请等待审核~');
}
});
}
})
},
handleAvatarError(){
this.$message.error('文件上传失败!');
},
handleAvatarSuccess(res, file, index,key){
if(res.code==1){
this.upList[index].type=1;
this.upList[index].url=this.host+res.data.img_url;
this.ruleForm[key]=this.host+res.data.img_url
this.$message.success('文件上传成功!');
}
},
fileChange(file){
const typeArr = ['image/png', 'image/gif', 'image/jpeg', 'image/jpg'];
const isJPG = typeArr.indexOf(file.raw.type) !== -1;
const isLt3M = file.size / 1024 / 1024 < 3;
if (!isJPG) {
this.$message.error('只能是图片!');
this.$refs.upload.clearFiles();
return;
}
if (!isLt3M) {
this.$message.error('上传图片大小不能超过 3MB!');
this.$refs.upload.clearFiles();
// this.$set(this.query, 'goods_img', '');
return;
}
},
}
}
</script>
<style scoped>
.body{
margin-top: 20px;
}
.title{
font-size: 18px;
margin-bottom: 10px;
}
.title_info{
font-size: 12px;
color: #AAAAAA;
}
.table_right{
padding-left: 50px;
}
.table_right_content{
margin-top: 20px;
}
.table_right_item{
width: 300px;
display: flex;
align-items: center;
color: #333333;
font-size: 14px;
justify-content: space-between;
}
.table_right_item>span:hover{
text-decoration: underline;
}
.table_right_item>i{
cursor: pointer;
}
.subject{
display: flex;
font-size: 14px;
display: flex;
align-items: center;
margin-top: 30px;
}
.subject >>>.el-radio, .el-radio__input{
line-height: inherit;
margin-left: 30px;
}
.table{
display: flex;
margin-top: 15px;
}
.table_left{
width: 800px;
border-right: 1px solid #EAB1B1;
}
.table_title{
font-size: 14px;
margin-bottom: 15px;
}
.table_content{
padding-left: 30px;
margin-bottom: 15px;
padding-right: 50px;
}
.table_content_item{
font-size: 14px;
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 15px;
}
.table_content_item_upload{
display: flex;
align-items: center;
color: #C94C4C;
}
.el-icon-success{
font-size: 18px;
}
.upload-demo{
margin-right: 20px;
}
.upload_span{
color: #C94C4C;
text-decoration: underline;
}
.ruleForm>>>.el-form-item__label{
color: black;
}
.ruleForm>>>.el-input{
width: 500px;
}
.footer{
margin-top: 20px;
text-align: center;
font-size: 12px;
}
.submit{
width: 340px;
height: 40px;
background: -moz-linear-gradient(top, #F8D89F 0%, #D98282 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#F8D89F), color-stop(100%,#D98282));
background: -webkit-linear-gradient(top, #F8D89F 0%,#D98282 100%);
background: -o-linear-gradient(top, #F8D89F 0%,#D98282 100%);
background: -ms-linear-gradient(top, #F8D89F 0%,#D98282 100%);
background: linear-gradient(to bottom, #F8D89F 0%,#D98282 100%);
font-size: 14px;
color: #FFFFFF;
border: none;
margin-bottom: 10px;
}
.footer_span{
color: rgb(127, 127, 127);
}
.footer_span1{
color: rgb(201, 76, 76);
text-decoration: underline;
}
</style>

10
src/router/index.js

@ -54,6 +54,16 @@ export default new Router({
component: () => import(/* webpackChunkName: "dashboard" */ '../components/page/Purchaser/wkPurchaser.vue'),
meta: { title: '购买方未开户' }
},
{
path: '/wkTrusteeship',
component: () => import(/* webpackChunkName: "dashboard" */ '../components/page/Purchaser/wkTrusteeship.vue'),
meta: { title: '托管方未开户' }
},
{
path: '/wkThird',
component: () => import(/* webpackChunkName: "dashboard" */ '../components/page/Purchaser/wkThird.vue'),
meta: { title: '第三方未开户' }
},
{
path: '/Purchaser',
component: () => import(/* webpackChunkName: "dashboard" */ '../components/page/Purchaser/Purchaser.vue'),

Loading…
Cancel
Save