This commit is contained in:
faiz 2024-04-05 11:50:20 +08:00
parent 51371680d2
commit 39000c124b
8 changed files with 183 additions and 52 deletions

View File

@ -164,6 +164,12 @@ export function transferDetailApi(id) {
export function transferReviewApi(id, data) {
return request.post(`financial/status/${id}`, data)
}
/**
* @description 申请转账 -- 批量审核
*/
export function transferReviewBatchApi(data) {
return request.post(`financial/status_batch`, data)
}
/**
* @description 申请转账 -- 备注
*/

View File

@ -34,7 +34,7 @@
</el-form-item>
<el-form-item prop="mer_lock_time" label="商户余额冻结期:">
<el-input-number v-model="settingForm.mer_lock_time" :step="1" :min="0" class="selWidth"></el-input-number>
<span>单位 冻结期仅针对线下转账模式指用户支付成功后多少天商户余额可解冻设置为0即无冻结期</span>
<span>单位 冻结期确认收货后多少天商户余额可解冻设置为0即无冻结期</span>
</el-form-item>
<el-form-item prop="open_wx_combine" required>
<span slot="label">

View File

@ -108,6 +108,7 @@
<el-card>
<div class="mb20">
<el-button size="small" type="primary" @click="exports">导出列表</el-button>
<el-button size="small" :disabled="multipleSelection.length==0" @click="batch">批量审核</el-button>
</div>
<el-table
v-loading="listLoading"
@ -115,7 +116,9 @@
:data="tableData.data"
size="small"
class="table"
@selection-change="handleSelectionChange"
>
<el-table-column key="2" :selectable="selectable" type="selection" width="55" />
<el-table-column label="序号" min-width="60">
<template scope="scope">
<span>{{ scope.$index+(tableFrom.page - 1) * tableFrom.limit + 1 }}</span>
@ -180,7 +183,7 @@
<el-dialog :title="transferData.status == 0 ? '审核' : '转账信息'" :visible.sync="dialogVisible" width="700px" v-if="dialogVisible">
<div class="box-container">
<el-form ref="ruleForm" size="small">
<div class="section">
<div class="section" v-if="isShow">
<div class="title">商户信息</div>
<div class="list">
<div class="item"><label class="name">商户名称</label>{{ transferData.merchant && transferData.merchant.mer_name }}</div>
@ -194,17 +197,17 @@
</div>
</div>
<div class="section">
<div class="title">收款信息</div>
<div class="title" v-if="isShow">收款信息</div>
<div class="list">
<div class="item" v-if="transferData.financial_type == 2"><label class="name">微信号</label>{{ transferData.financial_account.wechat }}</div>
<div class="item image" v-if="transferData.financial_type == 2"><label class="name">微信收款二维码</label><img style="max-width: 150px; height: 80px;" @click="getPicture(transferData.financial_account.wechat_code);return false;" :src="transferData.financial_account.wechat_code"/></div>
<div class="item" v-if="transferData.financial_type == 3"><label class="name">支付宝账号</label>{{ transferData.financial_account.alipay }}</div>
<div class="item image" v-if="transferData.financial_type == 3"><label class="name">支付宝收款二维码</label><img style="max-width: 150px; height: 80px;" @click="getPicture(transferData.financial_account.alipay_code);return false;" :src="transferData.financial_account.alipay_code"/></div>
<div class="item"><label class="name">本次申请转账金额</label><span class="font-red">{{ transferData.extract_money }}</span></div>
<div class="item" v-if="transferData.status != 0"><label class="name">审核状态</label>{{ transferData.status == 0 ? '待审核' : transferData.status == 1 ? '已审核' : '审核失败' }}</div>
<div class="item" v-if="isShow"><label class="name">本次申请转账金额</label><span class="font-red">{{ transferData.extract_money }}</span></div>
<div class="item" v-if="transferData.status != 0&&isShow"><label class="name">审核状态</label>{{ transferData.status == 0 ? '待审核' : transferData.status == 1 ? '已审核' : '审核失败' }}</div>
<div class="item" v-if="transferData.status == 1"><label class="name">审核时间</label>{{ transferData.status_time }}</div>
<div class="item" v-if="transferData.status == -1"><label class="name">审核未通过原因</label>{{ transferData.refusal }}</div>
<el-form-item label="审核状态:" required v-if="transferData.status == 0" class="item">
<div class="item" v-if="transferData.status == -1&&isShow"><label class="name">审核未通过原因</label>{{ transferData.refusal }}</div>
<el-form-item label="审核状态:" required v-if="transferData.status == 0 || !isShow" class="item">
<el-radio-group v-model="formValidate.status">
<el-radio :label="1" class="radio">通过</el-radio>
<el-radio :label="-1">拒绝</el-radio>
@ -232,7 +235,8 @@
</div>
<span slot="footer" class="dialog-footer">
<el-button size="small" @click="dialogVisible=false">取消</el-button>
<el-button v-if="transferData.status == 0" type="primary" size="small" @click="transferReview(transferData.financial_id)">提交</el-button>
<el-button v-if="transferData.status == 0 && isShow" type="primary" size="small" @click="transferReview(transferData.financial_id)">提交</el-button>
<el-button v-if="!isShow" type="primary" size="small" @click="transferReviewBatchApi()">提交</el-button>
<el-button v-if="transferData.status == 1" type="primary" size="small" @click="onSubmit(transferData.financial_id)">提交</el-button>
</span>
</el-dialog>
@ -255,7 +259,7 @@
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
import { merSelectApi } from '@/api/product'
import { transferRecordApi, transferDetailApi, transferReviewApi, transferEditApi, transferMarkApi, transferHeaderDataApi, transferRecordsExportApi } from '@/api/accounts'
import { transferReviewBatchApi,transferRecordApi, transferDetailApi, transferReviewApi, transferEditApi, transferMarkApi, transferHeaderDataApi, transferRecordsExportApi } from '@/api/accounts'
import cardsData from "@/components/cards/index";
import createWorkBook from '@/utils/newToExcel.js';
import fileList from '@/components/exportFile/fileList'
@ -276,6 +280,7 @@ export default {
{ label: "未到账", value: 0 }
],
listLoading: true,
isShow:false,
cardLists: [],
voucher_image: [],
formValidate: {
@ -309,6 +314,8 @@ export default {
]
},
merSelect: [],
multipleSelection: [],
OffId: [],
tableFromLog: {
page: 1,
limit: 20
@ -339,6 +346,40 @@ export default {
this.$refs.searchForm.resetFields()
this.getList(1)
},
selectable(row, index){
return !row.status
},
handleSelectionChange(val) {
this.multipleSelection = val
const data = []
this.multipleSelection.map((item) => {
data.push(item.financial_id)
})
this.OffId = data
console.log(this.OffId);
},
//
batch() {
if(this.multipleSelection.length === 0) return this.$message.warning('请先选择记录')
this.isShow = false
this.dialogVisible = true
},
transferReviewBatchApi(){
let parmas = {
status: this.formValidate.status,
refusal: this.formValidate.refusal,
ids:this.OffId
}
transferReviewBatchApi(parmas).then(res => {
this.listLoading = false;
this.$message.success(res.message);
this.dialogVisible = false;
this.getList(1);
}).catch(res => {
this.listLoading = false;
this.$message.error(res.message)
})
},
//
getMerSelect() {
merSelectApi()
@ -363,6 +404,7 @@ export default {
if(num) this.voucher_image = []
transferDetailApi(id).then(res => {
this.listLoading = false;
this.isShow = true
this.dialogVisible = true;
this.transferData = res.data
this.formValidate.status = res.data.status
@ -384,6 +426,7 @@ export default {
},
//
transferReview(id){
let parmas = {
status: this.formValidate.status,
refusal: this.formValidate.refusal

View File

@ -162,6 +162,15 @@ export default {
this.loading = false;
this.drawer = true;
this.merData = res.data;
let financial_bank = {
name:'',
bank:'',
bank_code:'',
}
if(!res.data.financial_bank){
this.merData.financial_bank = financial_bank;
}
console.log(this.merData);
if(!this.isEdit)this.$refs.merInfo.onOperateLog(this.merId);
})
.catch((res) => {

View File

@ -130,6 +130,41 @@
</el-form-item>
</el-col>
</el-row>
<div class="title">银行卡信息</div>
<el-row v-if="merData.financial_bank">
<el-col :span="12">
<el-form-item label="姓名:" prop="financial_bank.name">
<el-input
size="small"
v-model="merData.financial_bank.name"
placeholder="请输入姓名"
class="selWidth"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="开户银行:" prop="financial_bank.bank">
<el-input
size="small"
v-model="merData.financial_bank.bank"
placeholder="请输入开户银行"
class="selWidth"
/>
</el-form-item>
</el-col>
</el-row>
<el-row v-if="merData.financial_bank">
<el-col :span="12">
<el-form-item label="开户银行卡号:" prop="financial_bank.bank_code">
<el-input
size="small"
v-model="merData.financial_bank.bank_code"
placeholder="请输入开户银行卡号"
class="selWidth"
/>
</el-form-item>
</el-col>
</el-row>
</div>
</el-tab-pane>
<el-tab-pane label="经营信息" name="operate">

View File

@ -15,6 +15,14 @@
<div>商户类型</div>
<div class="value">{{merData.is_trader == 1 ? "自营" : "非自营"}}</div>
</li>
<li class="item">
<div>是否为惠美乡村:</div>
<div class="value">{{merData.is_huimei == 1 ? "是" : "否"}}</div>
</li>
<li class="item">
<div>是否为军人:</div>
<div class="value">{{merData.is_soldier == 1 ? "是" : "否"}}</div>
</li>
<li class="item">
<div>商户分类</div>
<div v-if="merData.merchantCategory" class="value">
@ -46,6 +54,10 @@
<div>备注</div>
<div class="value">{{merData.mark}}</div>
</li>
<li class="item" style="align-content: center;">
<div>营业执照</div>
<el-image style="width: 60px;height: 60px;" :src="merData.ext.company_image[0]" :preview-src-list="merData.ext.company_image" />
</li>
</ul>
</div>
</el-tab-pane>
@ -72,6 +84,18 @@
{{merData.is_margin == 0 ? '无' : merData.ot_margin}}
</div>
</li>
<li class="item">
<div>上架费</div>
<div class="value">
{{merData.is_goods == 0 ? '无' : merData.goods_cost}}
</div>
</li>
<li class="item">
<div>产品服务费</div>
<div class="value">
{{merData.is_service == 0 ? '无' : merData.service_cost}}
</div>
</li>
<li v-if="merData.is_margin != 0" class="item">
<div>保证金支付状态</div>
<div class="value">{{merData.is_margin == 1 ? '待缴' : merData.is_margin == 0 ? '无' : '已缴' }}

View File

@ -135,6 +135,11 @@
<span>{{ scope.row.merchant ? scope.row.merchant.mer_name : '' }}</span>
</template>
</el-table-column>
<el-table-column label="是否惠美乡村产品" min-width="100">
<template slot-scope="scope">
<span>{{ scope.row.is_soldier ? '是' : '否' }}</span>
</template>
</el-table-column>
<el-table-column prop="price" label="商品售价" min-width="80" />
<el-table-column prop="sales" label="销量" min-width="70" />
<el-table-column prop="stock" label="库存" min-width="70" />
@ -703,8 +708,8 @@ export default {
},
batch() {
if(this.multipleSelection.length === 0) return this.$message.warning('请先选择商品')
this.$refs.infoFrom.dialogVisible = true
this.isShow = false
this.$refs.infoFrom.dialogVisible = true
},
handleSelectionChange(val) {
this.multipleSelection = val

View File

@ -4,7 +4,8 @@
title="商品审核"
:visible.sync="dialogVisible"
:append-to-body='isAppend'
width="860px"
width="1260px"
top="60px"
:before-close="handleClose"
class="projectInfo"
>
@ -22,27 +23,27 @@
/>
</div>
</span>
<span class="sp">联系人电话{{ projectData.unit_name }}</span>
</div>
<el-tabs v-if="projectData && isShow" v-model="activeNames" v-loading="loading">
<el-tab-pane label="商品信息" name="first">
<div class="acea-row">
<span class="sp">商品id{{ projectData.product_id }}</span>
<span class="sp">商品名称{{ projectData.store_name }}</span>
<span class="sp">平台分类{{ projectData.storeCategory?projectData.storeCategory.cate_name:'' }}</span>
<span class="sp">品牌{{ projectData.brand?projectData.brand.brand_name:'其他' }}</span>
<span class="sp">商品关键字{{ projectData.keyword }}</span>
<span class="sp">商品单位{{ projectData.unit_name }}</span>
<span class="sp" v-if="projectData.temp && projectData.temp.name">运费模板{{ projectData.temp?projectData.temp.name:'' }}</span>
<span class="sp100" v-if="projectData.temp && projectData.temp.info">运费说明{{ projectData.temp?projectData.temp.info:'' }}</span>
<span class="sp100">
<span class="sp">
商品分类
<template v-if="projectData.merCateId">
<span v-for="(item, index) in projectData.merCateId" :key="index" class="mr10">{{ item.category?item.category.cate_name:'' }}</span>
</template>
<span v-else>-</span>
</span>
<span class="sp100">商品简介{{ projectData.store_info }}</span>
<span class="sp">商品简介{{ projectData.store_info }}</span>
<span class="sp">商品备注{{ projectData.remark }}</span>
<span class="sp">是否惠美乡村{{ projectData.is_huimei?'是':'否' }}</span>
<span class="sp100">
商品封面图
<div class="demo-image__preview">
@ -53,6 +54,13 @@
/>
</div>
</span>
</div>
<el-tabs v-if="projectData && isShow" v-model="activeNames" v-loading="loading">
<el-tab-pane label="商品信息" name="first">
<div class="acea-row">
<span class="sp" v-if="projectData.temp && projectData.temp.name">运费模板{{ projectData.temp?projectData.temp.name:'' }}</span>
<span class="sp100" v-if="projectData.temp && projectData.temp.info">运费说明{{ projectData.temp?projectData.temp.info:'' }}</span>
<span v-if="projectData.video_link" class="sp100">
主图视频
<video style="width:40%;height: 180px;border-radius: 10px;" :src="projectData.video_link" controls="controls">
@ -559,6 +567,7 @@ export default {
}, tit);
},
onSubmit() {
console.log(this.isShow);
this.isShow ? this.ruleForm.id = this.proId : this.ruleForm.id = this.ids
productStatusApi(this.ruleForm).then(res => {
this.$message.success(res.message)