Browse Source

更新

master
ltlzx 4 years ago
parent
commit
9cb146b8a6
  1. 30
      src/api/index.js
  2. 27
      src/assets/css/sidebar.css
  3. 90
      src/components/common/dialog/DataReview/IDCard.vue
  4. 71
      src/components/common/dialog/DataReview/application.vue
  5. 71
      src/components/common/dialog/DataReview/assets.vue
  6. 18
      src/components/common/dialog/DataReview/basics.vue
  7. 24
      src/components/common/dialog/DataReview/license.vue
  8. 25
      src/components/common/dialog/content.vue
  9. 127
      src/components/common/dialog/insex.vue
  10. 14
      src/components/page/AccountManagement/businessAudit.vue
  11. 4
      src/components/page/AccountManagement/buyerReview.vue
  12. 2
      src/components/page/AccountManagement/platformSelect.vue

30
src/api/index.js

@ -4,7 +4,7 @@ import request from '../utils/request';
// 平台账号列表查询
export const platformAccountList = query => {
return request({
url: 'public/index.php/api/admin.Task/platform_account_list',
url: 'api/admin.Task/platform_account_list',
method: 'get',
params: query
});
@ -12,7 +12,7 @@ export const platformAccountList = query => {
// 平台账号列表查询
export const operationRecord = query => {
return request({
url: 'public/index.php/api/admin.Account/get_user_operation_log',
url: 'api/admin.Account/get_user_operation_log',
method: 'get',
params: query
});
@ -20,7 +20,7 @@ export const operationRecord = query => {
// 查询账号黑名单
export const getBlack = query => {
return request({
url: 'public/index.php/api/admin.Task/getBlack',
url: 'api/admin.Task/getBlack',
method: 'get',
params: query
});
@ -28,7 +28,7 @@ export const getBlack = query => {
// 审核人员下拉数据
export const auditList = query => {
return request({
url: 'public/index.php/api/admin.Config/auditList',
url: 'api/admin.Config/auditList',
method: 'get',
params: query
});
@ -36,7 +36,7 @@ export const auditList = query => {
// 资料审核(改)(可看平台的资料查询)
export const getAccountData = query => {
return request({
url: 'public/index.php/api/admin.Account/getAccountData',
url: 'api/admin.Account/getAccountData',
method: 'get',
params: query
});
@ -44,7 +44,15 @@ export const getAccountData = query => {
// 修改黑名单
export const updateBlackList = query => {
return request({
url: 'public/index.php/api/admin.Task/updateBlackList',
url: 'api/admin.Task/updateBlackList',
method: 'post',
data: query
});
};
// 审核(改)
export const accountCheck = query => {
return request({
url: 'api/admin.Account/accountCheck',
method: 'post',
data: query
});
@ -55,7 +63,7 @@ export const updateBlackList = query => {
// 审核列表
export const applyList = query => {
return request({
url: 'public/index.php/api/admin.Task/applyList',
url: 'api/admin.Task/applyList',
method: 'get',
params: query
});
@ -65,7 +73,7 @@ export const applyList = query => {
// 黑名单列表
export const blackList = query => {
return request({
url: 'public/index.php/api/admin.Task/blackList',
url: 'api/admin.Task/blackList',
method: 'get',
params: query
});
@ -78,7 +86,7 @@ export const blackList = query => {
//资产信息查询列表
export const getAccountList = query => {
return request({
url: 'public/index.php/api/admin.Task/getAccountList',
url: 'api/admin.Task/getAccountList',
method: 'get',
params: query
});
@ -89,7 +97,7 @@ export const getAccountList = query => {
//资产审核列表
export const accountApplyList = query => {
return request({
url: 'public/index.php/api/admin.Task/accountApplyList',
url: 'api/admin.Task/accountApplyList',
method: 'get',
params: query
});
@ -102,7 +110,7 @@ export const accountApplyList = query => {
//交易订单查询列表
export const orderList = query => {
return request({
url: 'public/index.php/api/admin.Task/orderList',
url: 'api/admin.Task/orderList',
method: 'get',
params: query
});

27
src/assets/css/sidebar.css

@ -1,11 +1,29 @@
.body1{
margin-left: 20px;
width: 500px;
width: 600px;
}
.body2{
display: flex;
width: 1050px;
justify-content: space-between;
}
.title{
font-size: 16px;
margin-bottom: 15px;
}
.img_span{
margin-top: 15px;
font-size: 14px;
color: #4E73E4;
text-decoration: underline;
width: 130px;
display: flex;
justify-content: space-between;
}
.upload_span{
color: #4E73E4;
text-decoration: underline;
}
.download{
font-size: 14px;
color: #4E73E4;
@ -16,6 +34,10 @@
width: 600px;
height: 340px;
}
.file_img1{
width: 500px;
height: 283px;
}
.input_item{
font-size: 14px;
color: #555555;
@ -30,7 +52,4 @@
.input_item >.el-input{
width: 300px;
margin-left: 10px;
}
.input_button{
}

90
src/components/common/dialog/DataReview/IDCard.vue

@ -0,0 +1,90 @@
<template>
<div class="body1 body2">
<div class="idcard">
<p class="title">{{contentDatas.account_type==1?'法人身份证正面(照片面)' :'身份证正面(照片面)'}}</p>
<img :src="contentDatas.account_type==2 ? contentDatas.user_card_front :contentDatas.legal_card" class="file_img1">
<div class="img_span">
<span>查看原图</span>
<el-upload
class="upload-demo"
:action="action"
:on-change="fileChange"
:show-file-list="false"
:on-error="handleAvatarError"
list-type="picture"
:on-success="(res)=>{handleAvatarSuccess(res,0)}"
>
<span class="upload_span">重新上传</span>
</el-upload>
</div>
</div>
<div class="idcard">
<p class="title">{{contentDatas.account_type==1?'法人身份证反面(发证机构面)' :'身份证反面(发证机构面)'}}</p>
<img :src="contentDatas.account_type==2 ? contentDatas.user_card_backfacade :contentDatas.legal_card" class="file_img1">
<div class="img_span">
<span>查看原图</span>
<span>重新上传</span>
</div>
</div>
</div>
</template>
<script>
import bus from '../../bus'
export default {
props:{
contentDatas:{
require: true
}
},
data() {
return{
host:'http://wenhua.xingtongworld.com',
action:'http://wenhua.xingtongworld.com/api/Index/uploadimg',
}
},
methods:{
handleAvatarError(){
this.$message.error('文件上传失败!');
},
handleAvatarSuccess(res,type){
console.info(res)
if(res.code==1){
let upDate={
url:this.host+res.data.img_url,
key:''
}
if (type==0 ) {
if (this.contentDatas.account_type==2) {
upDate.key='user_card_front'
}
}else{
if (this.contentDatas.account_type==2) {
upDate.key='user_card_backfacade'
}
}
bus.$emit('img', upDate);
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>
@import url('../../../../assets/css/sidebar.css');
</style>

71
src/components/common/dialog/DataReview/application.vue

@ -0,0 +1,71 @@
<template>
<div class="body1">
<p class="title">数字证书申请表</p>
<img :src="contentDatas.number_certificate" class="file_img">
<div class="img_span">
<span>查看原图</span>
<el-upload
class="upload-demo"
:action="action"
:on-change="fileChange"
:show-file-list="false"
:on-error="handleAvatarError"
list-type="picture"
:on-success="(res)=>{handleAvatarSuccess(res,0)}"
>
<span class="upload_span">重新上传</span>
</el-upload>
</div>
</div>
</template>
<script>
import bus from '../../bus'
export default {
props:{
contentDatas:{
require: true
}
},
data() {
return{
host:'http://wenhua.xingtongworld.com',
action:'http://wenhua.xingtongworld.com/api/Index/uploadimg',
}
},
methods:{
handleAvatarError(){
this.$message.error('文件上传失败!');
},
handleAvatarSuccess(res,type){
console.info(res)
if(res.code==1){
let upDate={
url:this.host+res.data.img_url,
key:'number_certificate'
}
bus.$emit('img', upDate);
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>
@import url('../../../../assets/css/sidebar.css');
</style>

71
src/components/common/dialog/DataReview/assets.vue

@ -0,0 +1,71 @@
<template>
<div class="body1">
<p class="title">营业执照复印件</p>
<img :src="contentDatas.asset_certificate" class="file_img">
<div class="img_span">
<span>查看原图</span>
<el-upload
class="upload-demo"
:action="action"
:on-change="fileChange"
:show-file-list="false"
:on-error="handleAvatarError"
list-type="picture"
:on-success="(res)=>{handleAvatarSuccess(res,0)}"
>
<span class="upload_span">重新上传</span>
</el-upload>
</div>
</div>
</template>
<script>
import bus from '../../bus'
export default {
props:{
contentDatas:{
require: true
}
},
data() {
return{
host:'http://wenhua.xingtongworld.com',
action:'http://wenhua.xingtongworld.com/api/Index/uploadimg',
}
},
methods:{
handleAvatarError(){
this.$message.error('文件上传失败!');
},
handleAvatarSuccess(res,type){
console.info(res)
if(res.code==1){
let upDate={
url:this.host+res.data.img_url,
key:'asset_certificate'
}
bus.$emit('img', upDate);
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>
@import url('../../../../assets/css/sidebar.css');
</style>

18
src/components/common/dialog/DataReview/basics.vue

@ -83,13 +83,13 @@
</div>
</template>
<div class="input_button">
<el-button type="primary" plain>保存</el-button>
<el-button type="primary" plain @click="preservation">保存</el-button>
<el-button plain @click="Reset">重置</el-button>
</div>
</div>
</template>
<script>
import bus from '../../bus'
export default {
props:{
contentDatas:{
@ -101,18 +101,18 @@ export default {
oldDates:{},
}
},
created(){
console.info(this.contentDatas)
this.oldDates=JSON.parse(JSON.stringify(this.contentDatas))
},
methods:{
preservation(){
bus.$emit('basics', this.oldDates);
},
Reset(){
this.oldDates=JSON.parse(JSON.stringify(this.contentDatas))
}
},
watch:{
contentDatas(val,oldVal){
if (val!='' && oldVal=='') {
this.oldDates=JSON.parse(JSON.stringify(val))
}
}
}
}
</script>
<style scoped>

24
src/components/common/dialog/DataReview/license.vue

@ -0,0 +1,24 @@
<template>
<div class="body1">
<p class="title">营业执照复印件</p>
<img :src="contentDatas.business_license" class="file_img">
</div>
</template>
<script>
export default {
props:{
contentDatas:{
require: true
}
},
data() {
return{
}
},
}
</script>
<style scoped>
@import url('../../../../assets/css/sidebar.css');
</style>

25
src/components/common/dialog/content.vue

@ -1,13 +1,21 @@
<template>
<div>
<template v-if="dialogType==1">
<assessment v-if="sidebarId== 'assessment'" :contentDatas="newDates"></assessment>
<basics v-if="sidebarId== 'basics'" :contentDatas="newDates"></basics>
<assessment v-if="sidebarId== 'assessment'" :contentDatas="contentDatas"></assessment>
<basics v-if="sidebarId== 'basics'" :contentDatas="contentDatas"></basics>
<license v-if="sidebarId== 'license'" :contentDatas="contentDatas"></license>
<IDCard v-if="sidebarId== 'IDCard'" :contentDatas="contentDatas"></IDCard>
<application v-if="sidebarId== 'application'" :contentDatas="contentDatas"></application>
<assets v-if="sidebarId== 'assets'" :contentDatas="contentDatas"></assets>
</template>
</div>
</template>
<script>
import assets from '../dialog/DataReview/assets.vue'
import assessment from '../dialog/DataReview/assessment.vue'
import application from '../dialog/DataReview/application.vue'
import IDCard from '../dialog/DataReview/IDCard.vue'
import license from '../dialog/DataReview/license.vue'
import basics from '../dialog/DataReview/basics.vue'
export default ({
props:{
@ -23,21 +31,10 @@ export default ({
},
data() {
return{
newDates:''
}
},
components:{
assessment,basics
assessment,basics,license,IDCard,application,assets
},
watch:{
contentDatas(val,oldVal){
if (val!='' && oldVal=='') {
this.newDates=val
}
}
}
})
</script>
<style scoped>
</style>

127
src/components/common/dialog/insex.vue

@ -1,13 +1,18 @@
<template>
<div>
<el-dialog :title="dialogData.title" :visible.sync="isshow" width="70%" :before-close="MisShow">
<div class="select" v-if="!isexamine &&dialogType==1">
<el-radio v-model="query.account_type" label="buyer" border @change="getAccountData">购买方</el-radio>
<el-radio v-model="query.account_type" label="enter_shop" border @change="getAccountData">托管方</el-radio>
<el-radio v-model="query.account_type" label="third_party" border @change="getAccountData">第三方</el-radio>
</div>
<p class="tips">
{{dialogData.tips}}
<span style="color:red">{{dialogData.tips1}}</span>
</p>
<div class="body">
<el-tabs tab-position="left" v-model="tabID">
<el-tab-pane v-for="(item,index) in dialogData.sidebar" :key="index" @tab-click="handleClick" :name="item.id">
<el-tab-pane v-for="(item) in dialogData.sidebar" :key="item.id" @tab-click="handleClick" :name="item.id">
<span slot="label">
<i class="el-icon-question" v-if="item.type==2" style="color:#4E73E4"></i>
<span v-else-if="item.type==1" style="color:red">*</span>
@ -17,6 +22,19 @@
</el-tab-pane>
</el-tabs>
</div>
<div class="feedback feedback1" v-if="isexamine">
<el-radio v-model="query.status" :label="1" border>审核通过</el-radio>
<el-radio v-model="query.status" :label="2" border>审核不通过</el-radio>
</div>
<div class="feedback" >
<span>{{isexamine==true?'审核反馈:':'账户备注:'}}</span>
<el-input
type="textarea"
:rows="2"
placeholder="请输入内容"
v-model="query.message">
</el-input>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="MisShow"> </el-button>
<el-button type="primary" @click="saveEdit"> </el-button>
@ -27,7 +45,8 @@
<script>
import {whySidebar} from '../dialog/sidebar.vue'
import sidebarContent from '../dialog/content.vue'
import {getAccountData} from '../../../api/index'
import {getAccountData,accountCheck} from '../../../api/index'
import bus from '../bus'
export default {
name:'whyDialog',
props:{
@ -46,7 +65,11 @@ export default {
},
account_type:{
type:String,
require: true
default:'buyer',
},
isexamine:{
type:Boolean,
default:false,
}
},
data(){
@ -57,6 +80,13 @@ export default {
tips1:'',
sidebar:[]
},
query:{
message:'',
status:'',
account_type:'',
uid:'',
account_data:''
},
tabID:'',
contentDatas:''
}
@ -65,40 +95,71 @@ export default {
whySidebar,sidebarContent
},
created(){
if (this.dialogType==1) {
this.dialogData.title='账户信息';
if (this.account_type!='all') {
this.dialogData.tips1='(*注:以下文件需加盖公章)';
}
this.dialogData.tips='以下为交易平台账户申请账户时提交的相关资料:';
this.dialogData.sidebar=[
{title:'企业风险评估',type:0,id:'assessment'},{title:'基础信息',type:1,id:'basics'},{title:'营业执照(复印件)',type:1,id:'license'},
{title:'法人代表证明书',type:1,id:'certificate'},{title:'法人身份证(复印件)',type:1,id:'IDCard'},{title:'数字证书申请表',type:1,id:'application'},
{title:'银行开户证明',type:1,id:'bankProve'},{title:'开户申请书与承诺书',type:1,id:'promise'},{title:'法人授权委托书',type:0,id:'entrust'},
{title:'经办人身份证(复印件)',type:0,id:'IDCard1'},{title:'资产证明文件',type:2,id:'assets'},{title:'其他要求文件',type:0,id:'else'}
]
this.getAccountData()
}
this.tabID=this.dialogData.sidebar[0].id
this.query.uid=this.dialogID;
this.query.account_type=this.account_type;
this.getAccountData()
bus.$on('basics', (e) => {
console.log(e)
this.contentDatas=e;
})
bus.$on('img',(e)=>{
console.info(e)
this.contentDatas[e.key]=e.url;
})
},
methods:{
getAccountData(){
let data={
uid:this.dialogID,
account_type:this.account_type
}
getAccountData(data).then(res => {
getAccountData(this.query).then(res => {
console.log(res);
if (res.code==100) {
this.contentDatas=res.data
if (res.data.check_status==0) {
this.$message.error('暂无数据~');
this.query.account_type=this.account_type
}else{
this.contentDatas=res.data
this.init()
}
}
});
},
init(){
if (this.dialogType==1) {
this.dialogData.title='账户信息';
if (this.isexamine) {
this.dialogData.tips1='(*注:以下文件需加盖公章)';
}
this.dialogData.tips='以下为交易平台账户申请账户时提交的相关资料:';
if (this.contentDatas.account_type==2) {
this.dialogData.sidebar=[
{title:'企业风险评估',type:0,id:'assessment'},{title:'基础信息',type:1,id:'basics'},{title:'身份证(复印件)',type:1,id:'IDCard'},
{title:'数字证书申请表',type:1,id:'application'},{title:'资产证明文件',type:2,id:'assets'},{title:'其他要求文件',type:0,id:'else'}
]
}else{
this.dialogData.sidebar=[
{title:'企业风险评估',type:0,id:'assessment'},{title:'基础信息',type:1,id:'basics'},{title:'营业执照(复印件)',type:1,id:'license'},
{title:'法人代表证明书',type:1,id:'certificate'},{title:'法人身份证(复印件)',type:1,id:'IDCard'},{title:'数字证书申请表',type:1,id:'application'},
{title:'银行开户证明',type:1,id:'bankProve'},{title:'开户申请书与承诺书',type:1,id:'promise'},{title:'法人授权委托书',type:0,id:'entrust'},
{title:'经办人身份证(复印件)',type:0,id:'IDCard1'},{title:'资产证明文件',type:2,id:'assets'},{title:'其他要求文件',type:0,id:'else'}
]
}
}
this.tabID=this.dialogData.sidebar[0].id
},
handleClick(tab){
this.tabID=tab.id
},
saveEdit(){
this.query.account_data=this.contentDatas
accountCheck(this.query).then(res => {
console.log(res);
if (res.code==100) {
this.MisShow()
this.$message.success('提交成功~');
this.$emit('getData')
}else{
this.$message.error(res.msg);
}
});
},
MisShow(){
this.$emit('MisShow')
@ -114,4 +175,20 @@ export default {
display: flex;
margin-top: 30px;
}
.feedback{
display: flex;
align-items: center;
font-size: 16px;
color: #333333;
width: 90%;
margin: 0 auto;
margin-top: 20px;
}
.feedback>>>.el-textarea{
width: 90%;
margin-left: 10px;
}
.select{
margin-bottom: 15px;
}
</style>

14
src/components/page/AccountManagement/businessAudit.vue

@ -90,7 +90,7 @@
></el-pagination>
</div>
</div>
<whyDialog v-if="editVisible" :isshow="editVisible" :dialogID="dialogID" :dialogType="dialogType" @MisShow="MisShow" @getData="getData" :isexamine="true" :account_type="query.type"></whyDialog>
</div>
</template>
@ -110,13 +110,16 @@ export default {
audit_status: '',
time: '',
page: 1,
limit: 10
limit: 10,
type:'enter_shop'
},
tableData: [],
multipleSelection: [],
delList: [],
editVisible: false,
pageTotal: 0,
dialogType:1,
dialogID:'',
pickerOptions: {
shortcuts: [
{
@ -150,6 +153,9 @@ export default {
},
};
},
components:{
whyDialog: () => import('../../common/dialog/insex.vue')
},
created() {
this.getData();
},
@ -184,9 +190,9 @@ export default {
},
//
handleEdit(index, row) {
this.idx = index;
this.form = row;
this.editVisible = true;
this.dialogID=row.id;
this.dialogType=1
},
//
saveEdit() {

4
src/components/page/AccountManagement/buyerReview.vue

@ -92,7 +92,7 @@
</div>
</div>
<whyDialog v-if="editVisible" :isshow="editVisible" :dialogID="dialogID" :dialogType="dialogType" @MisShow="MisShow" :account_type="query.type"></whyDialog>
<whyDialog v-if="editVisible" :isshow="editVisible" :dialogID="dialogID" :dialogType="dialogType" @MisShow="MisShow" @getData="getData" :isexamine="true" :account_type="query.type"></whyDialog>
</div>
</template>
@ -123,7 +123,6 @@ export default {
pageTotal: 0,
dialogType:1,
dialogID:'',
form: {},
pickerOptions: {
shortcuts: [
{
@ -158,7 +157,6 @@ export default {
};
},
components:{
// whyDialog
whyDialog: () => import('../../common/dialog/insex.vue')
},
created() {

2
src/components/page/AccountManagement/platformSelect.vue

@ -126,7 +126,7 @@
<el-button type="primary" @click="addBlacklist"> </el-button>
</span>
</el-dialog>
<whyDialog v-if="editVisible" :isshow="editVisible" :dialogID="dialogID" :dialogType="dialogType" @MisShow="MisShow"></whyDialog>
<whyDialog v-if="editVisible" :isshow="editVisible" :dialogID="dialogID" :dialogType="dialogType" @MisShow="MisShow" :isexamine="false" account_type="buyer"></whyDialog>
</div>
</template>

Loading…
Cancel
Save