2013 lines
79 KiB
Vue
2013 lines
79 KiB
Vue
<template>
|
||
<j-modal
|
||
:title="title"
|
||
:width="width"
|
||
:visible="visible"
|
||
:confirmLoading="confirmLoading"
|
||
switchFullscreen
|
||
@ok="handleOk"
|
||
@cancel="handleCancel"
|
||
cancelText="关闭">
|
||
<a-spin :spinning="confirmLoading">
|
||
<template>
|
||
<a-divider orientation="left">收款账户信息</a-divider>
|
||
<a-row class="show-row">
|
||
<a-col :span="12">
|
||
<a-form-item label="账户名称" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<span>中国汽车技术研究中心有限公司</span>
|
||
</a-form-item>
|
||
</a-col>
|
||
<a-col :span="12">
|
||
<a-form-item label="税号" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<span>9112000040136004XA</span>
|
||
</a-form-item>
|
||
</a-col>
|
||
</a-row>
|
||
<a-row class="show-row">
|
||
<a-col :span="12">
|
||
<a-form-item label="地址电话" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<span>天津市东丽区先锋东路68号 02284370000</span>
|
||
</a-form-item>
|
||
</a-col>
|
||
<a-col :span="12">
|
||
<a-form-item label="开户行及账号" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<span>中国银行天津天山路支行 272660071602</span>
|
||
</a-form-item>
|
||
</a-col>
|
||
</a-row>
|
||
<a-row class="show-row">
|
||
<a-col :span="12">
|
||
<a-form-item label="联行号" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<span>104110042021</span>
|
||
</a-form-item>
|
||
</a-col>
|
||
<a-col :span="12">
|
||
<a-form-item label="银行代码" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<span>104110042005</span>
|
||
</a-form-item>
|
||
</a-col>
|
||
</a-row>
|
||
</template>
|
||
<a-form :form="form" style="margin-left: 10px" :selfUpdate="true">
|
||
<a-divider orientation="left">
|
||
缴费信息<font color="red">(缴费时长5年可绑定两张证书)</font>
|
||
<span
|
||
v-if="isMember === 'member'"
|
||
class="charge-notice"
|
||
@click="downChargeNotice(newestNoticeInfo.chargeNoticeFileId)">{{
|
||
newestNoticeInfo.chargeNoticeName
|
||
}}</span>
|
||
</a-divider>
|
||
<a-row>
|
||
<a-col :span="12">
|
||
<a-form-item label="单位全称" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<a-input :disabled=true v-model="companyName" placeholder="请输入单位名称" :maxLength="50"></a-input>
|
||
</a-form-item>
|
||
</a-col>
|
||
<a-col :span="12">
|
||
<a-form-item label="联系人" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<a-input :disabled=true v-model="liaisonMan" placeholder="请输入联系人" :maxLength="50"></a-input>
|
||
</a-form-item>
|
||
</a-col>
|
||
</a-row>
|
||
|
||
<a-row>
|
||
<a-col :span="12">
|
||
<a-form-item label="手机" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<a-input :disabled=true v-model="mobile" placeholder="请输入手机号" :maxLength="11"></a-input>
|
||
</a-form-item>
|
||
</a-col>
|
||
|
||
<a-col :span="12">
|
||
<a-form-item label="缴费方式" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<j-dict-select-tag
|
||
type="list"
|
||
:disabled="checkFlag||detailFlag"
|
||
v-decorator="['paymentMethod',validatorRules.paymentMethod]"
|
||
:trigger-change="true"
|
||
dictCode="payment_method"
|
||
placeholder="请选择缴费方式"
|
||
@change="changePaymentMethod" />
|
||
</a-form-item>
|
||
</a-col>
|
||
</a-row>
|
||
|
||
<a-row>
|
||
<a-col :span="12">
|
||
<a-form-item label="会员性质" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<span>{{ memberNature }}</span>
|
||
</a-form-item>
|
||
</a-col>
|
||
</a-row>
|
||
<a-row class="payment-table">
|
||
<a-col :span="1"></a-col>
|
||
<a-col :span="22">
|
||
<table class="table" border="1">
|
||
<tr>
|
||
<th>费用类型</th>
|
||
<th>缴费时长</th>
|
||
<th>缴费类型</th>
|
||
<th>缴费金额</th>
|
||
</tr>
|
||
<tr>
|
||
<td>会员费</td>
|
||
<td>
|
||
<a-form-item class="transalte-y-10">
|
||
<j-dict-select-tag
|
||
:disabled="checkFlag||detailFlag"
|
||
@change="changgeType"
|
||
type="list"
|
||
v-decorator="['paymentTime',{ rules: validatorRules.paymentTime.rules, initialValue:paymentTime}]"
|
||
:trigger-change="true"
|
||
dictCode="payment_time"
|
||
placeholder="请选择缴费时长"
|
||
:get-popup-container="(node) => node.parentNode || document.body"
|
||
style="width: 140px" />
|
||
</a-form-item>
|
||
</td>
|
||
<td>
|
||
<span v-if="initVal == '2' ">VIP会员</span>
|
||
<span v-else>普通会员</span>
|
||
</td>
|
||
<td>
|
||
<a-form-item class="transalte-y-10">
|
||
<a-input-number
|
||
:disabled="checkFlag||detailFlag"
|
||
v-decorator="['paymentAmount',validatorRules.paymentAmount]"
|
||
:trigger-change="true"
|
||
placeholder="请输入缴费金额"
|
||
style="width: 180px" />
|
||
</a-form-item>
|
||
</td>
|
||
</tr>
|
||
<!-- <tr>
|
||
<td>网员服务费</td>
|
||
<td>
|
||
<span>1年</span>
|
||
</td>
|
||
<td>
|
||
<span>-</span>
|
||
</td>
|
||
<td>
|
||
<a-form-item class="transalte-y-10">
|
||
<a-input-number
|
||
:disabled="checkFlag||detailFlag"
|
||
v-decorator="['serviceCharge',validatorRules.serviceCharge]"
|
||
:trigger-change="true"
|
||
placeholder="请输入缴费金额"
|
||
style="width: 180px" />
|
||
</a-form-item>
|
||
</td>
|
||
</tr>-->
|
||
</table>
|
||
</a-col>
|
||
<a-col :span="1"></a-col>
|
||
</a-row>
|
||
<!-- 打包会员显示 -->
|
||
<div v-if="paymentMethodFlag">
|
||
<a-row>
|
||
<a-col :span="12">
|
||
<a-form-item label="缴费日期" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<j-date
|
||
:disabled="checkFlag||detailFlag"
|
||
date-format="YYYY-MM-DD HH:mm:ss"
|
||
placeholder="请选择缴费时间"
|
||
v-decorator="['submissionTime',validatorRules.submissionTime]"
|
||
:trigger-change="true"
|
||
style="width: 100%" />
|
||
</a-form-item>
|
||
</a-col>
|
||
<a-col :span="12">
|
||
<a-form-item label="打包协议" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<j-upload
|
||
file-type="pdf"
|
||
file-type-error-message="请上传pdf文件"
|
||
:multiple="false"
|
||
:number="1"
|
||
:disabled="checkFlag||detailFlag"
|
||
bizPath="payment"
|
||
:return-id="true"
|
||
v-decorator="['paymentRecord',{ rules: validatorRules.paymentRecord1.rules, initialValue:paymentRecord}]"
|
||
:trigger-change="true">
|
||
</j-upload>
|
||
<span v-show="!checkFlag && !detailFlag" style="color: #bfbfbf">请上传pdf文件</span>
|
||
</a-form-item>
|
||
</a-col>
|
||
</a-row>
|
||
<a-row>
|
||
<a-col :span="12">
|
||
<a-form-item label="发票" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<j-dict-select-tag
|
||
:disabled="checkFlag||detailFlag"
|
||
@change="invoiceRequirementsChange"
|
||
type="list"
|
||
v-decorator="['invoiceRequirements',{ rules: validatorRules.invoiceRequirements.rules, initialValue:2,validateTrigger: 'change'},]"
|
||
:trigger-change="true"
|
||
dictCode="invoice_requirements"
|
||
placeholder="请选择发票" />
|
||
</a-form-item>
|
||
</a-col>
|
||
</a-row>
|
||
<template v-if="invoiceRequirementsFlag">
|
||
<a-row>
|
||
<a-col :span="12">
|
||
<a-form-item label="关联付款发票名称" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<a-input
|
||
:disabled="checkFlag||detailFlag"
|
||
v-decorator="['headerName',{ rules: validatorRules.headerName.rules, initialValue:headerName,validateTrigger: 'blur',},]"
|
||
:trigger-change="true"
|
||
@change="event => event.target.value = event.target.value.trim()"
|
||
placeholder="请输入关联付款发票名称"
|
||
:maxLength="50"></a-input>
|
||
</a-form-item>
|
||
</a-col>
|
||
<a-col :span="12">
|
||
<a-form-item label="社会统一代码/税号" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<a-input
|
||
:disabled="checkFlag||detailFlag"
|
||
@change="event => event.target.value = event.target.value.trim()"
|
||
v-decorator="['taxNumber',{ rules: validatorRules.taxNumber.rules, validateTrigger: 'blur',initialValue:taxNumber},]"
|
||
placeholder="请输入社会统一代码/税号"
|
||
:maxLength="50"></a-input>
|
||
</a-form-item>
|
||
</a-col>
|
||
</a-row>
|
||
<!-- 2021-09-23变更 增加 单位地址 电话号码 开户银行 银行账户 增值税发票的时候存在-->
|
||
<a-row v-if="currentSelectInvoiceType === 2">
|
||
<a-col :span="12">
|
||
<a-form-item label="单位地址" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<a-input
|
||
:disabled="checkFlag||detailFlag"
|
||
@change="event => event.target.value = event.target.value.trim()"
|
||
v-decorator="['invoiceAddress',{ rules: validatorRules.invoiceAddress.rules, validateTrigger: 'blur', initialValue:invoiceInfoObj.invoiceAddress}]"
|
||
placeholder="请输入单位地址"
|
||
:maxLength="50"></a-input>
|
||
</a-form-item>
|
||
</a-col>
|
||
<a-col :span="12">
|
||
<a-form-item label="电话号码" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<a-input
|
||
:disabled="checkFlag||detailFlag"
|
||
v-decorator="['invoicePhone',{ rules: validatorRules.invoicePhone.rules, initialValue: invoiceInfoObj.invoicePhone,validateTrigger: 'blur'}]"
|
||
:trigger-change="true"
|
||
@change="(e) => {e.target.value = e.target.value.replace(/[^0-9|-]/g,'')}"
|
||
placeholder="请输入电话号码"
|
||
:maxLength="50"></a-input>
|
||
</a-form-item>
|
||
</a-col>
|
||
</a-row>
|
||
<a-row v-if="currentSelectInvoiceType === 2">
|
||
<a-col :span="12">
|
||
<a-form-item label="开户银行" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<a-input
|
||
:disabled="checkFlag||detailFlag"
|
||
@change="event => event.target.value = event.target.value.trim()"
|
||
v-decorator="['depositBank',{ rules: validatorRules.depositBank.rules, validateTrigger: 'blur',initialValue:invoiceInfoObj.depositBank}]"
|
||
placeholder="请输入开户银行"
|
||
:maxLength="50"></a-input>
|
||
</a-form-item>
|
||
</a-col>
|
||
<a-col :span="12">
|
||
<a-form-item label="银行账户" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<a-input
|
||
:disabled="checkFlag||detailFlag"
|
||
@change="(e) => {e.target.value = e.target.value.trim()}"
|
||
v-decorator="['bankAccount',{ rules: validatorRules.bankAccount.rules, validateTrigger: 'blur',initialValue:invoiceInfoObj.bankAccount}]"
|
||
placeholder="请输入银行账户"
|
||
:maxLength="50"></a-input>
|
||
</a-form-item>
|
||
</a-col>
|
||
</a-row>
|
||
</template>
|
||
<a-row>
|
||
<a-col :span="24" class="remark">
|
||
<a-form-item label="备注" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<a-textarea
|
||
rows="5"
|
||
v-decorator="['remark']"
|
||
placeholder="请输入备注"
|
||
:maxLength="500"
|
||
:disabled="checkFlag||detailFlag"></a-textarea>
|
||
</a-form-item>
|
||
<span style="color: #bfbfbf">一个缴费单可在多个缴费处上传</span>
|
||
</a-col>
|
||
</a-row>
|
||
</div>
|
||
<!-- 电汇显示-->
|
||
<div v-if="!paymentMethodFlag">
|
||
<a-row v-show="!addFlag">
|
||
<!-- <a-col :span="12">-->
|
||
<!-- <a-form-item label="缴费类型" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
|
||
<!-- <j-dict-select-tag :disabled=true type="list"-->
|
||
<!-- v-decorator="['paymentType',{ rules: validatorRules.paymentType.rules, initialValue:paymentType}]"-->
|
||
<!-- :trigger-change="true" dictCode="payment_type" placeholder="请选择缴费类型"/>-->
|
||
<!-- </a-form-item>-->
|
||
<!-- </a-col>-->
|
||
<a-col :span="12">
|
||
<a-form-item label="缴费单号" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<a-input
|
||
:disabled=true
|
||
v-decorator="['billNumber',{ initialValue:billNumber}]"
|
||
placeholder="请输入缴费单号"
|
||
:maxLength="50"></a-input>
|
||
</a-form-item>
|
||
</a-col>
|
||
</a-row>
|
||
<a-row v-show="!addFlag">
|
||
<a-col :span="12">
|
||
<a-form-item label="开始时间" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<a-input :disabled="true" v-model="startTime"></a-input>
|
||
</a-form-item>
|
||
</a-col>
|
||
<a-col :span="12">
|
||
<a-form-item label="结束时间" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<a-input :disabled="true" v-model="endTime"></a-input>
|
||
</a-form-item>
|
||
</a-col>
|
||
</a-row>
|
||
<a-row>
|
||
<a-col :span="12">
|
||
<a-form-item label="缴费日期" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<j-date
|
||
:disabled="checkFlag||detailFlag"
|
||
date-format="YYYY-MM-DD HH:mm:ss"
|
||
placeholder="请选择缴费时间"
|
||
v-decorator="['submissionTime',validatorRules.submissionTime]"
|
||
:trigger-change="true"
|
||
style="width: 100%" />
|
||
</a-form-item>
|
||
</a-col>
|
||
<a-col :span="12">
|
||
<a-form-item label="发票" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<j-dict-select-tag
|
||
:disabled="checkFlag||detailFlag"
|
||
@change="invoiceRequirementsChange"
|
||
type="list"
|
||
v-decorator="['invoiceRequirements',{ rules: validatorRules.invoiceRequirements.rules, initialValue:2,validateTrigger: 'change'},]"
|
||
:trigger-change="true"
|
||
dictCode="invoice_requirements"
|
||
placeholder="请选择发票" />
|
||
</a-form-item>
|
||
</a-col>
|
||
</a-row>
|
||
<template v-if="invoiceRequirementsFlag">
|
||
<a-row>
|
||
<a-col :span="12">
|
||
<a-form-item label="关联付款发票名称" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<a-input
|
||
:disabled="checkFlag||detailFlag"
|
||
v-decorator="['headerName',{ rules: validatorRules.headerName.rules, initialValue:headerName,validateTrigger: 'blur',},]"
|
||
:trigger-change="true"
|
||
@change="event => event.target.value = event.target.value.trim()"
|
||
placeholder="请输入关联付款发票名称"
|
||
:maxLength="50"></a-input>
|
||
</a-form-item>
|
||
</a-col>
|
||
<a-col :span="12">
|
||
<a-form-item label="社会统一代码/税号" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<a-input
|
||
:disabled="checkFlag||detailFlag"
|
||
@change="event => event.target.value = event.target.value.trim()"
|
||
v-decorator="['taxNumber',{ rules: validatorRules.taxNumber.rules, validateTrigger: 'blur',initialValue:taxNumber},]"
|
||
placeholder="请输入社会统一代码/税号"
|
||
:maxLength="50"></a-input>
|
||
</a-form-item>
|
||
</a-col>
|
||
</a-row>
|
||
<!-- 2021-09-23变更 增加 单位地址 电话号码 开户银行 银行账户 增值税发票的时候存在-->
|
||
<a-row v-if="currentSelectInvoiceType === 2">
|
||
<a-col :span="12">
|
||
<a-form-item label="单位地址" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<a-input
|
||
:disabled="checkFlag||detailFlag"
|
||
@change="event => event.target.value = event.target.value.trim()"
|
||
v-decorator="['invoiceAddress',{ rules: validatorRules.invoiceAddress.rules, validateTrigger: 'blur', initialValue:invoiceInfoObj.invoiceAddress}]"
|
||
placeholder="请输入单位地址"
|
||
:maxLength="50"></a-input>
|
||
</a-form-item>
|
||
</a-col>
|
||
<a-col :span="12">
|
||
<a-form-item label="电话号码" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<a-input
|
||
:disabled="checkFlag||detailFlag"
|
||
v-decorator="['invoicePhone',{ rules: validatorRules.invoicePhone.rules, initialValue: invoiceInfoObj.invoicePhone,validateTrigger: 'blur'}]"
|
||
:trigger-change="true"
|
||
@change="(e) => {e.target.value = e.target.value.replace(/[^0-9|-]/g,'')}"
|
||
placeholder="请输入电话号码"
|
||
:maxLength="50"></a-input>
|
||
</a-form-item>
|
||
</a-col>
|
||
</a-row>
|
||
<a-row v-if="currentSelectInvoiceType === 2">
|
||
<a-col :span="12">
|
||
<a-form-item label="开户银行" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<a-input
|
||
:disabled="checkFlag||detailFlag"
|
||
@change="event => event.target.value = event.target.value.trim()"
|
||
v-decorator="['depositBank',{ rules: validatorRules.depositBank.rules, validateTrigger: 'blur',initialValue:invoiceInfoObj.depositBank}]"
|
||
placeholder="请输入开户银行"
|
||
:maxLength="50"></a-input>
|
||
</a-form-item>
|
||
</a-col>
|
||
<a-col :span="12">
|
||
<a-form-item label="银行账户" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<a-input
|
||
:disabled="checkFlag||detailFlag"
|
||
@change="(e) => {e.target.value = e.target.value.replace(/[^0-9]/g,'')}"
|
||
v-decorator="['bankAccount',{ rules: validatorRules.bankAccount.rules, validateTrigger: 'blur',initialValue:invoiceInfoObj.bankAccount}]"
|
||
placeholder="请输入银行账户"
|
||
:maxLength="50"></a-input>
|
||
</a-form-item>
|
||
</a-col>
|
||
</a-row>
|
||
</template>
|
||
<!-- 现金不显示-->
|
||
<a-row v-if="isCash !== '3' ">
|
||
<a-col :span="12">
|
||
<a-form-item label="缴费凭证" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<j-image-upload
|
||
isLessThan5M
|
||
isMultiple
|
||
:number="2"
|
||
:disabled="checkFlag||detailFlag"
|
||
bizPath="payment"
|
||
v-decorator="['paymentRecord', validatorRules.paymentRecord]">
|
||
</j-image-upload>
|
||
</a-form-item>
|
||
</a-col>
|
||
</a-row>
|
||
<a-row>
|
||
<a-col :span="24" class="remark">
|
||
<a-form-item label="备注" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<a-textarea
|
||
rows="5"
|
||
v-decorator="['remark']"
|
||
placeholder="请输入备注"
|
||
:maxLength="500"
|
||
@change="event => event.target.value = event.target.value.trim()"
|
||
:disabled="checkFlag||detailFlag"></a-textarea>
|
||
</a-form-item>
|
||
<span style="color: #bfbfbf" v-show="!detailFlag && !checkFlag">一个缴费单可在多个缴费处上传</span>
|
||
</a-col>
|
||
</a-row>
|
||
</div>
|
||
|
||
<!-- 证书信息 -->
|
||
<div v-if="typeFlag || memberType === 1 ">
|
||
<a-divider orientation="left">绑定证书</a-divider>
|
||
<!-- <span>申请证书</span>-->
|
||
<div v-if="checkFlag||detailFlag">
|
||
|
||
</div>
|
||
<!-- 证书的 的相关信息-->
|
||
<div class="certificate-box">
|
||
<a-checkbox-group
|
||
@change="certificateCheckChange"
|
||
v-model="selectedRowKeys"
|
||
>
|
||
<div class="certificate-item" v-for="(record, index) in dataSource" :key="index">
|
||
<a-row class="check-row">
|
||
<a-col :span="8">
|
||
<a-checkbox :value="record.key"
|
||
:disabled="detailFlag || checkFlag || record.certificateStatus === 0 || record.certificateStatus === 6 || record.certificateStatus === 1 || record.certificateStatus === 3 || record.certificateStatus === 2 || record.chargeType === 2"></a-checkbox>
|
||
</a-col>
|
||
</a-row>
|
||
<a-row>
|
||
<a-col :span="12">
|
||
<a-form-item label="证书类型" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<a-select
|
||
placeholder="请选择证书类型"
|
||
v-model="record.certificate"
|
||
:disabled="checkFlag||detailFlag|| (!!record.chargeType && record.chargeType === 2) ||( !!record.certificateStatus && record.certificateStatus === 1) || record.certificateStatus === 2|| record.certificateStatus === 3"
|
||
@change="onCellChange(record.key,'certificate',record.certificate)">
|
||
<a-select-option value="世界制造厂识别代号(WMI)证书" title="世界制造厂识别代号(WMI)证书">世界制造厂识别代号(WMI)证书
|
||
</a-select-option>
|
||
<a-select-option value="企业名称代号证书" title="企业名称代号证书">企业名称代号证书</a-select-option>
|
||
</a-select>
|
||
</a-form-item>
|
||
<!--证书识别代码-->
|
||
|
||
</a-col>
|
||
<a-col :span="12">
|
||
<!-- v-show="addFlag || memberType === 1"-->
|
||
<a-form-item label="证书识别代码" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<!-- v-model="record.certificate_code"-->
|
||
<a-input
|
||
placeholder="请输入证书识别代码"
|
||
:disabled="checkFlag||detailFlag|| (!!record.chargeType && record.chargeType === 2) ||( !!record.certificateStatus && record.certificateStatus === 1) || record.certificateStatus === 2 || record.certificateStatus === 3"
|
||
v-decorator="['certificateArr['+ index + '].certificate_code',
|
||
{
|
||
rules: [
|
||
{ required: false, validator: checkCertificateCode},
|
||
],
|
||
validateTrigger: 'blur',
|
||
}]"
|
||
@blur="(e) => onCellChange(record.key,'certificate_code', e.target.value)" />
|
||
</a-form-item>
|
||
</a-col>
|
||
</a-row>
|
||
<a-row>
|
||
<a-col :span="12">
|
||
<a-form-item label="生效日期" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<j-date
|
||
:disabled="checkFlag||detailFlag|| (!!record.chargeType && record.chargeType === 2) ||( !!record.certificateStatus && record.certificateStatus === 1) || record.certificateStatus === 2 || record.certificateStatus === 3"
|
||
date-format="YYYY-MM-DD"
|
||
v-model="record.effectDate"
|
||
placeholder="请选择生效日期"
|
||
v-decorator="['certificateArr['+ index + '].effectDate', {
|
||
rules: [
|
||
{ required: record.certificate_code && (!(checkFlag||detailFlag)), validator: checkEffectDate},
|
||
],
|
||
validateTrigger: 'change',
|
||
}]"
|
||
:trigger-change="true"
|
||
style="width: 100%" />
|
||
</a-form-item>
|
||
</a-col>
|
||
<a-col :span="12">
|
||
<a-form-item label="失效日期" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<j-date
|
||
:disabled="checkFlag||detailFlag|| (!!record.chargeType && record.chargeType === 2) ||( !!record.certificateStatus && record.certificateStatus === 1) || record.certificateStatus === 2 || record.certificateStatus === 3"
|
||
date-format="YYYY-MM-DD"
|
||
placeholder="请选择失效日期"
|
||
v-decorator="['certificateArr['+ index + '].invalidDate', {
|
||
rules: [
|
||
{ required: record.certificate_code && (!(checkFlag||detailFlag)), validator: checkInvalidDate},
|
||
],
|
||
validateTrigger: 'change',
|
||
}]"
|
||
:trigger-change="true"
|
||
style="width: 100%" />
|
||
</a-form-item>
|
||
</a-col>
|
||
</a-row>
|
||
<a-row>
|
||
<a-col :span="12">
|
||
<a-form-item label="证书附件" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<j-image-upload
|
||
isLessThan5M
|
||
:number="1"
|
||
:disabled="checkFlag||detailFlag|| (!!record.chargeType && record.chargeType === 2) ||( !!record.certificateStatus && record.certificateStatus === 1) || record.certificateStatus === 2 || record.certificateStatus === 3"
|
||
bizPath="payment"
|
||
v-decorator="['certificateArr['+ index + '].certificateImg', {
|
||
rules: [
|
||
{ required: record.certificate_code && (!(checkFlag||detailFlag|| (!!record.chargeType && record.chargeType === 2) ||( !!record.certificateStatus && record.certificateStatus === 1) || record.certificateStatus === 2 || record.certificateStatus === 3)), validator: checkCertificateImg},
|
||
],
|
||
validateTrigger: 'change',
|
||
}]">
|
||
</j-image-upload>
|
||
</a-form-item>
|
||
</a-col>
|
||
<a-col :span="12" v-if="record.certificate === '世界制造厂识别代号(WMI)证书' ">
|
||
<a-form-item label="备案通知书" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<!-- v-model="record.noticeOfFiling"-->
|
||
<a-select
|
||
placeholder="请选择"
|
||
v-decorator="['certificateArr['+ index + '].noticeOfFiling', {
|
||
rules: [
|
||
{ required: selectedRowKeys.indexOf(index) > -1, validator: checkNoticeOfFiling},
|
||
],
|
||
validateTrigger: 'change',
|
||
}]"
|
||
:disabled="checkFlag||detailFlag|| (!!record.chargeType && record.chargeType === 2) ||( !!record.certificateStatus && record.certificateStatus === 1) || record.certificateStatus === 2 || record.certificateStatus === 3"
|
||
>
|
||
<a-select-option value="1">是</a-select-option>
|
||
<a-select-option value="0">否</a-select-option>
|
||
</a-select>
|
||
</a-form-item>
|
||
</a-col>
|
||
|
||
</a-row>
|
||
</div>
|
||
</a-checkbox-group>
|
||
</div>
|
||
<!-- 原来表格的写法 已经弃用 -->
|
||
<!-- <a-table
|
||
:pagination=false
|
||
bordered
|
||
:scroll="{x:true}"
|
||
:data-source="dataSource"
|
||
:columns="columns"
|
||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange,getCheckboxProps: getCheckboxProps }">
|
||
<template slot="certificate" slot-scope="text, record">
|
||
<a-select
|
||
style="width: 200px"
|
||
placeholder="请选择"
|
||
v-model="record.certificate"
|
||
:disabled="checkFlag||detailFlag|| (!!record.chargeType && record.chargeType === 2) ||( !!record.certificateStatus && record.certificateStatus === 1) || record.certificateStatus === 2|| record.certificateStatus === 3"
|
||
@change="onCellChange(record.key,'certificate',record.certificate)">
|
||
<a-select-option value="世界制造厂识别代号(WMI)证书" title="世界制造厂识别代号(WMI)证书">世界制造厂识别代号(WMI)证书</a-select-option>
|
||
<a-select-option value="企业名称代号证书" title="企业名称代号证书">企业名称代号证书</a-select-option>
|
||
</a-select>
|
||
</template>
|
||
<!–证书识别代码–>
|
||
<template slot="code" slot-scope="text, record" v-show="addFlag || memberType === 1">
|
||
<a-input
|
||
:disabled="checkFlag||detailFlag|| (!!record.chargeType && record.chargeType === 2) ||( !!record.certificateStatus && record.certificateStatus === 1) || record.certificateStatus === 2 || record.certificateStatus === 3"
|
||
v-model="record.certificate_code"
|
||
@change="onCellChange(record.key,'certificate_code',record.certificate_code)" />
|
||
</template>
|
||
<template slot="imgSlot" slot-scope="text, record">
|
||
<img
|
||
src="../../../../assets/imgs/standardsAssociation/certificate/wmi.png"
|
||
class="vin"
|
||
@click="openView(1)"
|
||
v-if="record.certificate === '世界制造厂识别代号(WMI)证书' ">
|
||
<img
|
||
src="../../../../assets/imgs/standardsAssociation/certificate/cam.png"
|
||
class="vin"
|
||
@click="openView(2)"
|
||
v-if="record.certificate === '企业名称代号证书' ">
|
||
</template>
|
||
<!– 证书附件–>
|
||
<template slot="certificateImg" slot-scope="text, record">
|
||
<div class="certificate-img">
|
||
<a-form-item
|
||
:colon='false'
|
||
:labelCol="labelCol"
|
||
:wrapperCol="wrapperCol"
|
||
class="transalte-y-10"
|
||
>
|
||
<j-image-upload
|
||
isLessThan5M
|
||
:number="1"
|
||
:disabled="checkFlag||detailFlag|| (!!record.chargeType && record.chargeType === 2) ||( !!record.certificateStatus && record.certificateStatus === 1) || record.certificateStatus === 2 || record.certificateStatus === 3"
|
||
bizPath="payment"
|
||
v-decorator="['certificateImg'+record.index, validatorRules.certificateImg]">
|
||
</j-image-upload>
|
||
</a-form-item>
|
||
</div>
|
||
</template>
|
||
<!– 备案通知书–>
|
||
<template slot="recordNotice" slot-scope="text, record">
|
||
<a-select
|
||
placeholder="请选择"
|
||
v-model="record.noticeOfFiling"
|
||
:disabled="checkFlag||detailFlag|| (!!record.chargeType && record.chargeType === 2) ||( !!record.certificateStatus && record.certificateStatus === 1) || record.certificateStatus === 2 || record.certificateStatus === 3"
|
||
v-if="record.certificate === '世界制造厂识别代号(WMI)证书' "
|
||
@change="onCellChange(record.key,'noticeOfFiling',record.noticeOfFiling)">
|
||
<a-select-option value="1">是</a-select-option>
|
||
<a-select-option value="0">否</a-select-option>
|
||
</a-select>
|
||
<span v-else> — </span>
|
||
</template>
|
||
<!– 生效日期–>
|
||
<template slot="effectDate" slot-scope="text, record">
|
||
<a-form-item :colon='false' class="transalte-y-10">
|
||
<j-date
|
||
:disabled="checkFlag||detailFlag|| (!!record.chargeType && record.chargeType === 2) ||( !!record.certificateStatus && record.certificateStatus === 1) || record.certificateStatus === 2 || record.certificateStatus === 3"
|
||
date-format="YYYY-MM-DD"
|
||
v-model="record.effectDate"
|
||
placeholder="请选择生效日期"
|
||
v-decorator="['effectDate'+record.index,validatorRules.effectDate]"
|
||
:trigger-change="true"
|
||
style="width: 100%"/>
|
||
</a-form-item>
|
||
</template>
|
||
<!– 失效日期–>
|
||
<template slot="invalidDate" slot-scope="text, record">
|
||
<a-form-item :colon='false' class="transalte-y-10">
|
||
<j-date
|
||
:disabled="checkFlag||detailFlag|| (!!record.chargeType && record.chargeType === 2) ||( !!record.certificateStatus && record.certificateStatus === 1) || record.certificateStatus === 2 || record.certificateStatus === 3"
|
||
date-format="YYYY-MM-DD"
|
||
placeholder="请选择失效日期"
|
||
v-decorator="['invalidDate'+record.index,validatorRules.invalidDate]"
|
||
:trigger-change="true"
|
||
style="width: 100%"/>
|
||
</a-form-item>
|
||
</template>
|
||
</a-table>-->
|
||
|
||
<div style="position: relative;top: 20px;" v-if="certificatesNum>0">
|
||
<a-row>
|
||
<a-col :span="12">
|
||
<a-form-item label="通讯地址" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<a-input
|
||
@change="event => event.target.value = event.target.value.trim()"
|
||
v-show="typeFlag || memberType === 1"
|
||
:disabled="checkFlag||detailFlag"
|
||
v-decorator="['address',{ rules: validatorRules.address.rules, initialValue:address}]"
|
||
placeholder="请输入通讯地址"
|
||
:maxLength="50"></a-input>
|
||
</a-form-item>
|
||
</a-col>
|
||
<a-col :span="12">
|
||
<a-form-item label="邮编" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<a-input
|
||
@change="event => event.target.value = event.target.value.trim()"
|
||
v-show="typeFlag || memberType === 1"
|
||
:disabled="checkFlag||detailFlag"
|
||
v-decorator="['postcode',{ rules: validatorRules.postcode.rules, initialValue:postcode}]"
|
||
placeholder="请输入邮编"
|
||
:maxLength="50"></a-input>
|
||
</a-form-item>
|
||
</a-col>
|
||
|
||
</a-row>
|
||
</div>
|
||
<div style="position: relative;top: 20px;" v-if="certificatesNum==0">
|
||
<a-row>
|
||
<a-col :span="12">
|
||
<a-form-item label="通讯地址" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<a-input
|
||
v-show="typeFlag || memberType === 1"
|
||
:disabled="checkFlag||detailFlag"
|
||
v-decorator="['address',{ initialValue:address}]"
|
||
placeholder="请输入通讯地址"
|
||
:maxLength="50"></a-input>
|
||
</a-form-item>
|
||
</a-col>
|
||
<a-col :span="12">
|
||
<a-form-item label="邮编" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<a-input
|
||
v-show="typeFlag || memberType === 1"
|
||
:disabled="checkFlag||detailFlag"
|
||
v-decorator="['postcode',{ initialValue:postcode}]"
|
||
placeholder="请输入邮编"
|
||
:maxLength="50"></a-input>
|
||
</a-form-item>
|
||
</a-col>
|
||
|
||
</a-row>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- 审核 -->
|
||
<div v-if="checkFlag" style="position: relative;left: 0px">
|
||
<a-divider orientation="left">审核结果</a-divider>
|
||
<a-row>
|
||
<a-col :span="12">
|
||
<a-form-item label="核对结果" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<a-radio-group v-decorator="['checkResult',validatorRules.checkResult]" @change="onCheckChange">
|
||
<a-radio :value="1">通过</a-radio>
|
||
<a-radio :value="0">不通过</a-radio>
|
||
</a-radio-group>
|
||
</a-form-item>
|
||
</a-col>
|
||
</a-row>
|
||
<a-row>
|
||
<a-col :span="24">
|
||
<a-form-item class="fixed-width-item" label="备注" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||
<a-textarea
|
||
rows="5"
|
||
v-decorator="['checkMark',validatorRules.checkMark]"
|
||
placeholder="请输入备注"
|
||
:maxLength="500"></a-textarea>
|
||
</a-form-item>
|
||
</a-col>
|
||
</a-row>
|
||
</div>
|
||
<!-- 审核历史 -->
|
||
<div v-show="detailFlag">
|
||
<a-divider orientation="left">审核信息</a-divider>
|
||
<a-table :pagination=false bordered :data-source="checkInfo" :columns="checkColumns">
|
||
</a-table>
|
||
</div>
|
||
</a-form>
|
||
</a-spin>
|
||
<template slot="footer">
|
||
<a-button @click="handleCancel">关闭</a-button>
|
||
<a-button
|
||
v-show="checkFlag!=true"
|
||
v-if="detailFlag!=true"
|
||
@click.native="handleTemp"
|
||
:disabled="confirmLoading"
|
||
type="primary">暂存
|
||
</a-button>
|
||
<a-button @click="handleOk" type="primary" :disabled="confirmLoading" v-show="!detailFlag">提交</a-button>
|
||
</template>
|
||
<pre-view-img-modal ref="previewModal"></pre-view-img-modal>
|
||
</j-modal>
|
||
</template>
|
||
|
||
<script>
|
||
|
||
import { httpAction, getFileAccessHttpUrl } from '@/api/memberManage'
|
||
import pick from 'lodash.pick'
|
||
import JDate from '@/components/tools/JDate'
|
||
import JImageUpload from '@/components/standardsAssociation/JImageUpload'
|
||
import JDictSelectTag from '@/components/standardsAssociation/JDictSelectTag'
|
||
import {
|
||
getMemberInfoById,
|
||
getCertificateByMemberId,
|
||
getCheckInfo,
|
||
getByMemberTime,
|
||
downNewestNotice
|
||
} from '@/api/standardsAssociationApi'
|
||
import JUpload from '@/components/standardsAssociation/JUpload'
|
||
import PreViewImgModal from './PreViewImgModal'
|
||
import { commonMemberCost, vipMemberCost } from '@api/incomePaymentsApi'
|
||
// import { USER_INFO } from '@/store/mutation-types'
|
||
// import Vue from 'vue'
|
||
export default {
|
||
name: 'PaymentInfoModal',
|
||
components: {
|
||
JDate,
|
||
JImageUpload,
|
||
JUpload,
|
||
JDictSelectTag,
|
||
PreViewImgModal
|
||
},
|
||
data() {
|
||
return {
|
||
// 会员用户id
|
||
userId: this.$store.getters.userInfo.memberId,
|
||
isMember: true,
|
||
form: this.$form.createForm(this, { force: true }),
|
||
title: '操作',
|
||
width: 1000,
|
||
visible: false,
|
||
model: {},
|
||
labelCol: {
|
||
xs: { span: 24 },
|
||
sm: { span: 8 },
|
||
xxl: { span: 8 }
|
||
},
|
||
wrapperCol: {
|
||
xs: { span: 24 },
|
||
sm: { span: 15 },
|
||
xxl: { span: 15 }
|
||
},
|
||
confirmLoading: false,
|
||
validatorRules: {
|
||
paymentMethod: {
|
||
rules: [{
|
||
required: true, message: '请选择缴费方式'
|
||
}],
|
||
validateTrigger: ['blur', 'change']
|
||
},
|
||
invoiceRequirements: {
|
||
rules: [{
|
||
required: true, message: '请选择发票'
|
||
}]
|
||
},
|
||
paymentType: {
|
||
rules: [{
|
||
required: true, message: '请选择缴费类型'
|
||
}],
|
||
validateTrigger: ['blur', 'change']
|
||
},
|
||
billNumber: {
|
||
rules: [{
|
||
required: true, message: '请输入缴费单号'
|
||
}],
|
||
validateTrigger: 'blur'
|
||
},
|
||
serviceCharge: {
|
||
rules: [
|
||
{
|
||
required: true, message: '请输入缴费金额'
|
||
},
|
||
{
|
||
pattern: /^[1-9](\d{1,8})?(\.\d{1,2})$|^0\.([1-9](\d{0,1})|\d[1-9])$|^[1-9]\d{0,8}$|^0$/,
|
||
message: '请输入合法的金额数字,最多2位小数,8位正数'
|
||
}
|
||
],
|
||
validateTrigger: 'blur'
|
||
},
|
||
|
||
paymentAmount: {
|
||
rules: [
|
||
{ required: true, validator: this.getByMemberTime },
|
||
{
|
||
pattern: /^[1-9](\d{1,10})?(\.\d{1,2})$|^0\.([1-9](\d{0,1})|\d[1-9])$|^[1-9]\d{0,8}$|^0$/,
|
||
message: '请输入合法的金额数字,最多2位小数,11位正数'
|
||
}
|
||
], validateTrigger: 'blur',
|
||
initialValue: commonMemberCost
|
||
|
||
},
|
||
paymentTime: {
|
||
rules: [{ required: true, message: '请选择缴费时长' }],
|
||
validateTrigger: ['blur', 'change']
|
||
},
|
||
submissionTime: {
|
||
rules: [{ required: true, message: '请选择缴费日期' }],
|
||
validateTrigger: ['blur', 'change']
|
||
},
|
||
paymentRecord: { rules: [{ required: true, message: '请上传缴费凭证' }] },
|
||
paymentRecord1: { rules: [{ required: true, message: '请上传打包协议' }] },
|
||
headerName: {
|
||
rules: [
|
||
{ required: true, message: '请输入关联付款发票名称', validateTrigger: 'blur' },
|
||
{ min: 1, max: 50, message: '长度不超过50个字符' }
|
||
],
|
||
validateTrigger: 'blur'
|
||
},
|
||
taxNumber: {
|
||
rules: [
|
||
{ required: true, message: '请输入社会统一代码/税号', validateTrigger: 'blur' },
|
||
{
|
||
pattern: /^([0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}|[1-9]\d{14})$/,
|
||
message: '请输入15位、18位的社会统一代码/税号'
|
||
}
|
||
],
|
||
validateTrigger: 'blur'
|
||
|
||
},
|
||
address: {
|
||
rules: [
|
||
{ required: true, message: '请输入通讯地址' },
|
||
{ min: 1, max: 50, message: '长度不超过50个字符' }
|
||
],
|
||
validateTrigger: 'blur'
|
||
},
|
||
postcode: {
|
||
rules: [
|
||
{ required: true, message: '请输入邮编' },
|
||
{ pattern: /^[0-9]\d{5}$/, message: '请输入正确的邮编', validateTrigger: 'onBlur' }
|
||
],
|
||
validateTrigger: 'blur'
|
||
},
|
||
checkResult: {
|
||
rules: [
|
||
{ required: true, message: '请选择审核结果' }
|
||
],
|
||
validateTrigger: ['blur', 'change']
|
||
},
|
||
checkMark: {
|
||
rules: [
|
||
{ min: 0, max: 500, message: '长度不超过500个字符', validateTrigger: 'onBlur' }
|
||
],
|
||
validateTrigger: 'blur'
|
||
},
|
||
// 证书部分
|
||
effectDate: {
|
||
rules: [{
|
||
required: true, validator: this.checkEffectDate
|
||
}]
|
||
},
|
||
invalidDate: { rules: [{ required: true, validator: this.checkInvalidDate }] },
|
||
invoiceAddress: { rules: [{ required: true, message: '请输入单位地址' }], validateTrigger: 'blur' },
|
||
invoicePhone: { rules: [{ required: true, validator: this.handleInvoicePhoneCheck }], validateTrigger: 'blur' },
|
||
depositBank: { rules: [{ required: true, message: '请输入开户银行' }], validateTrigger: 'blur' },
|
||
bankAccount: { rules: [{ required: true, message: '请输入银行账户' }], validateTrigger: 'blur' }
|
||
},
|
||
url: {
|
||
add: '/paymentInfo/add',
|
||
edit: '/paymentInfo/edit',
|
||
check: '/paymentInfo/check'
|
||
},
|
||
// 缴费时长 5年vip会员 为true 1年普通会员为 false
|
||
typeFlag: false,
|
||
// 证书代码code
|
||
cellFlag: [],
|
||
// 缴费表头
|
||
payColumns: [
|
||
{
|
||
title: '费用类型',
|
||
dataIndex: 'payCategory',
|
||
width: '20%',
|
||
align: 'center'
|
||
},
|
||
{
|
||
title: '缴费时长',
|
||
dataIndex: 'payTime',
|
||
width: '20%',
|
||
align: 'center',
|
||
scopedSlots: { customRender: 'payTime' }
|
||
},
|
||
{
|
||
title: '缴费类型',
|
||
dataIndex: 'paymentType',
|
||
width: '20%',
|
||
align: 'center',
|
||
scopedSlots: { customRender: 'payType' }
|
||
|
||
},
|
||
{
|
||
title: '缴费金额',
|
||
dataIndex: 'payNumber',
|
||
width: '20%',
|
||
align: 'center',
|
||
scopedSlots: { customRender: 'payNumber' }
|
||
}
|
||
],
|
||
// 缴费时长
|
||
payVal: '',
|
||
initVal: 1,
|
||
// 缴费数据
|
||
payDataSource: [
|
||
{
|
||
payCategory: '会员费',
|
||
payTime: '1/5',
|
||
paymentType: '',
|
||
payNumber: ''
|
||
}/*,
|
||
{
|
||
payCategory: '网员服务费',
|
||
payTime: '1',
|
||
paymentType: '',
|
||
payNumber: ''
|
||
}*/
|
||
],
|
||
// 是否是添加功能
|
||
addFlag: false,
|
||
// 是否是审核功能
|
||
checkFlag: false,
|
||
// 证书回显
|
||
certificatesFlag: false,
|
||
// 是否是查看功能
|
||
detailFlag: false,
|
||
// 是否是现金缴费
|
||
isCash: false,
|
||
// 发票选择
|
||
invoiceRequirementsFlag: false,
|
||
// 当前选择是否需要发票的值,用于dom的判断 0-无 1-普通发票 2-增值税发票
|
||
currentSelectInvoiceType: 0,
|
||
// 缴费方式 false 电汇 true 会员打包
|
||
paymentMethodFlag: false,
|
||
startTime: '',
|
||
endTime: '',
|
||
// 申请证书
|
||
selectedRowKeys: [],
|
||
// 证书信息
|
||
dataSource: [],
|
||
count: 2,
|
||
// 证书列表
|
||
// 证书列表
|
||
columns: [
|
||
{
|
||
title: '序号',
|
||
dataIndex: 'index',
|
||
width: 80,
|
||
align: 'center'
|
||
},
|
||
{
|
||
title: '证书类型',
|
||
dataIndex: 'certificate',
|
||
width: 160,
|
||
align: 'center',
|
||
scopedSlots: { customRender: 'certificate' }
|
||
},
|
||
{
|
||
title: '证书代码',
|
||
dataIndex: 'certificate_code',
|
||
width: 160,
|
||
scopedSlots: { customRender: 'code' },
|
||
align: 'center'
|
||
},
|
||
{
|
||
title: '备案通知书',
|
||
dataIndex: 'recordNotice',
|
||
width: 160,
|
||
scopedSlots: { customRender: 'recordNotice' },
|
||
align: 'center'
|
||
},
|
||
{
|
||
title: '生效日期',
|
||
dataIndex: 'effectDate',
|
||
width: 200,
|
||
align: 'center',
|
||
scopedSlots: { customRender: 'effectDate' }
|
||
},
|
||
{
|
||
title: '失效日期',
|
||
dataIndex: 'invalidDate',
|
||
width: 200,
|
||
align: 'center',
|
||
scopedSlots: { customRender: 'invalidDate' }
|
||
},
|
||
{
|
||
title: '证书附件',
|
||
dataIndex: 'text',
|
||
width: 160,
|
||
align: 'center',
|
||
scopedSlots: { customRender: 'certificateImg' }
|
||
}
|
||
],
|
||
// 审核结果 0:驳回 1:通过 2其他
|
||
checkResult: 2,
|
||
memberId: '',
|
||
// 公司名称
|
||
companyName: '',
|
||
// 联系人
|
||
liaisonMan: '',
|
||
// 会员性质 副理事长 理事长
|
||
memberNature: '',
|
||
// 会员性质
|
||
memberType: '',
|
||
// 手机
|
||
mobile: '',
|
||
// 地址
|
||
address: '',
|
||
// 邮编
|
||
postcode: '',
|
||
// 抬头
|
||
headerName: '',
|
||
// 税号
|
||
taxNumber: '',
|
||
// 2021-09-23 发票信息的 新增字段,为了方便管理,写在同一个对象中
|
||
invoiceInfoObj: {
|
||
invoiceAddress: '', // 单位地址
|
||
invoicePhone: '', // 电话号码
|
||
depositBank: '', // 开户银行
|
||
bankAccount: '' // 银行账户
|
||
},
|
||
certificate: [], // 证书信息
|
||
checkInfo: [], // 审核信息
|
||
// 审核列表
|
||
checkColumns: [
|
||
{
|
||
title: '序号',
|
||
dataIndex: 'index',
|
||
width: '10%',
|
||
align: 'center'
|
||
},
|
||
{
|
||
title: '审批人',
|
||
dataIndex: 'checkMember',
|
||
width: '15%',
|
||
align: 'center'
|
||
},
|
||
{
|
||
title: '审批时间',
|
||
dataIndex: 'checkTime',
|
||
width: '20%',
|
||
align: 'center'
|
||
},
|
||
{
|
||
title: '结果',
|
||
dataIndex: 'checkResult',
|
||
width: '15%',
|
||
align: 'center'
|
||
},
|
||
{
|
||
title: '备注',
|
||
dataIndex: 'checkMark',
|
||
width: '40%',
|
||
align: 'center'
|
||
}
|
||
],
|
||
certificatesNum: 0, // 证书个数
|
||
// 缴费方式初始化
|
||
paymentType: 0,
|
||
// 缴费时长初始化
|
||
paymentTime: 1,
|
||
// 缴费记录
|
||
paymentRecord: '',
|
||
// 缴费单号
|
||
billNumber: '',
|
||
// 提交
|
||
submitFlag: false,
|
||
// 最新的缴费通知单信息
|
||
newestNoticeInfo: {}
|
||
}
|
||
},
|
||
created() {
|
||
// this.loadMember();
|
||
},
|
||
methods: {
|
||
/* 添加*/
|
||
add() {
|
||
this.addFlag = true
|
||
this.memberId = this.userId
|
||
this.edit({})
|
||
},
|
||
/* 核对凭证*/
|
||
handleCheck(record) {
|
||
this.checkFlag = true
|
||
// this.cellFlag= true;
|
||
this.show(record)
|
||
},
|
||
/* 查看*/
|
||
detail(record) {
|
||
this.detailFlag = true
|
||
// this.cellFlag= true;
|
||
this.show(record)
|
||
},
|
||
async show(record) {
|
||
this.form.resetFields()
|
||
this.model = Object.assign({}, record)
|
||
this.memberId = this.model.memberId
|
||
// 获取会员信息
|
||
this.loadMember()
|
||
// 查找审核信息
|
||
this.getCheckInfo(record.id)
|
||
var type = this.model.paymentTime
|
||
// 缴费时长选择
|
||
this.changgeType(type)
|
||
this.visible = true
|
||
this.model.memberId = this.memberId
|
||
// 证书数量判断
|
||
if (this.model.certificatesNum > 0) {
|
||
this.certificatesFlag = true
|
||
} else {
|
||
this.certificatesFlag = false
|
||
}
|
||
// 证书信息
|
||
// 查找证书信息
|
||
await this.getCertificate(this.memberId)
|
||
// 证书部分选择的数据
|
||
this.model.certificateArr = this.certificate
|
||
this.model.certificate = this.certificate
|
||
this.startTime = this.model.effectiveDate ? this.model.effectiveDate : ''
|
||
this.endTime = this.model.invalidationDate ? this.model.invalidationDate : ''
|
||
// 发票选择
|
||
if (Number(this.model.invoiceRequirements) !== 0) {
|
||
this.invoiceRequirementsFlag = true
|
||
} else {
|
||
this.invoiceRequirementsFlag = false
|
||
this.model.invoiceRequirements = 0
|
||
}
|
||
// 当前显示的发票类别
|
||
this.currentSelectInvoiceType = Number(this.model.invoiceRequirements)
|
||
// 缴费方式
|
||
if (Number(this.model.paymentMethod) === 2) {
|
||
this.paymentMethodFlag = true
|
||
this.paymentType = this.model.paymentType
|
||
this.paymentTime = this.model.paymentTime
|
||
this.paymentRecord = this.model.paymentRecord
|
||
}
|
||
// 审核信息
|
||
this.checkResult = this.model.checkResult
|
||
this.isCash = this.model.paymentMethod + ''
|
||
this.$nextTick(() => {
|
||
this.form.setFieldsValue(pick(this.model, 'certificateArr', 'billNumber', 'companyName', 'paymentType', 'validPeriod', 'paymentTime', 'paymentAmount', 'certificatesNum', 'submissionTime', 'checkTime', 'paymentStatus', 'paymentMethod', 'paymentRecord', 'invoiceRequirements', 'headerName', 'taxNumber', 'invoiceAddress', 'invoicePhone', 'depositBank', 'bankAccount', 'checkMember', 'checkMemberId', 'memberId', 'certificate', 'address', 'postcode', 'serviceCharge', 'remark'))
|
||
})
|
||
},
|
||
async edit(record) {
|
||
this.form.resetFields()
|
||
// 当年是否有缴费通知单
|
||
this.getNewestNotice()
|
||
this.model = Object.assign({}, record)
|
||
this.isCash = this.model.paymentMethod + ''
|
||
// 获取审核信息
|
||
this.getCheckInfo(record.id)
|
||
if (!this.addFlag) {
|
||
// this.cellFlag = true;
|
||
this.memberId = this.model.memberId
|
||
this.loadMember()
|
||
} else {
|
||
this.memberId = this.userId
|
||
this.loadMember()
|
||
this.model.certificate = this.certificate
|
||
}
|
||
var type = this.model.paymentTime
|
||
this.changgeType(type)
|
||
this.visible = true
|
||
this.model.memberId = this.memberId
|
||
if (this.model.certificatesNum > 0) {
|
||
this.certificatesFlag = true
|
||
} else {
|
||
this.certificatesFlag = false
|
||
}
|
||
// 查找证书信息
|
||
await this.getCertificate(this.memberId)
|
||
// 选择证书 数据
|
||
this.model.certificateArr = this.certificate
|
||
|
||
this.startTime = this.model.effectiveDate ? this.model.effectiveDate : ''
|
||
this.endTime = this.model.invalidationDate ? this.model.invalidationDate : ''
|
||
// 发票选择
|
||
if (Number(this.model.invoiceRequirements) === 0) {
|
||
this.invoiceRequirementsFlag = false
|
||
this.model.invoiceRequirements = 0
|
||
} else {
|
||
this.invoiceRequirementsFlag = true
|
||
}
|
||
// 当前显示的发票类别
|
||
this.currentSelectInvoiceType = Number(this.model.invoiceRequirements) || 2
|
||
// 缴费方式
|
||
if (Number(this.model.paymentMethod) === 2) {
|
||
this.paymentMethodFlag = true
|
||
this.paymentType = this.model.paymentType
|
||
this.paymentTime = this.model.paymentTime
|
||
this.paymentRecord = this.model.paymentRecord
|
||
}
|
||
// 缴费单号
|
||
// this.billNumber = this.model.billNumber
|
||
this.$nextTick(() => {
|
||
this.form.setFieldsValue(pick(this.model, 'certificateArr', 'billNumber', 'companyName', 'paymentType', 'validPeriod', 'paymentTime', 'paymentAmount', 'certificatesNum', 'submissionTime', 'checkTime', 'paymentStatus', 'paymentMethod', 'paymentRecord', 'invoiceRequirements', 'headerName', 'taxNumber', 'invoiceAddress', 'invoicePhone', 'depositBank', 'bankAccount', 'checkResult', 'checkMark', 'checkMember', 'checkMemberId', 'memberId', 'address', 'postcode', 'serviceCharge', 'remark'))
|
||
})
|
||
},
|
||
close() {
|
||
this.$emit('close')
|
||
this.visible = false
|
||
this.addFlag = false
|
||
this.typeFlag = false
|
||
this.checkFlag = false
|
||
this.checkResult = 2
|
||
this.certificatesFlag = false
|
||
this.dataSource = []
|
||
this.checkInfo = []
|
||
this.detailFlag = false
|
||
this.selectedRowKeys = []
|
||
this.cellFlag = []
|
||
this.invoiceRequirementsFlag = false
|
||
this.paymentMethodFlag = false
|
||
this.headerName = ''
|
||
this.taxNumber = ''
|
||
this.paymentType = 0
|
||
this.paymentTime = 1
|
||
this.paymentRecord = ''
|
||
this.certificatesNum = 0
|
||
this.billNumber = ''
|
||
this.startTime = ''
|
||
this.endTime = ''
|
||
this.isCash = ''
|
||
this.submitFlag = false
|
||
},
|
||
handleOk() {
|
||
console.log(1111)
|
||
const that = this
|
||
// 触发表单验证
|
||
that.form.validateFields({ force: true }, (err, values) => {
|
||
if (!err) {
|
||
that.confirmLoading = true
|
||
let httpurl = ''
|
||
let method = ''
|
||
if (!this.model.id) {
|
||
httpurl += this.url.add
|
||
method = 'post'
|
||
} else {
|
||
if (this.checkFlag) {
|
||
httpurl += this.url.check
|
||
} else {
|
||
httpurl += this.url.edit
|
||
}
|
||
method = 'put'
|
||
}
|
||
if (Number(this.checkResult) === 0) {
|
||
this.checkResult = 2
|
||
this.model.paymentStatus = 2
|
||
} else if (Number(this.checkResult) === 1) {
|
||
this.checkResult = 2
|
||
this.model.paymentStatus = 3
|
||
} else {
|
||
this.model.paymentStatus = 1
|
||
}
|
||
this.model.certificate = []
|
||
// 这个判断是防止没有勾选而提交证书的
|
||
if (this.selectedRowKeys.length > 0) {
|
||
for (let i = 0; i < this.selectedRowKeys.length; i++) {
|
||
let opeIndex = Number(this.selectedRowKeys[i])
|
||
let ele = values.certificateArr[opeIndex]
|
||
// 操作是否需要备案通知书
|
||
if (ele.noticeOfFiling) {
|
||
ele.noticeOfFiling = ele.noticeOfFiling === '是' && 1 || 0
|
||
}
|
||
// 证书类型
|
||
ele.certificate = this.dataSource[opeIndex].certificate
|
||
ele.id = this.dataSource[opeIndex].id || ''
|
||
// 证书附件certificateImg 生效时间effectDate 失效时间invalidDate -- 字段本身存在
|
||
this.model.certificate.push(ele)
|
||
}
|
||
}
|
||
|
||
this.model.certificatesNum = this.selectedRowKeys.length
|
||
const formData = Object.assign(this.model, values)
|
||
if (this.typeFlag) {
|
||
formData.paymentType = 1
|
||
} else {
|
||
formData.paymentType = 0
|
||
}
|
||
// 客户要去掉网员服务费字段,但是后端没有去掉校验,所以前端写死
|
||
formData.serviceCharge = 0
|
||
that.confirmLoading = false
|
||
// return
|
||
httpAction(httpurl, formData, method).then((res) => {
|
||
if (res.success) {
|
||
that.$message.success(res.message)
|
||
that.$emit('ok')
|
||
that.close()
|
||
} else {
|
||
that.$message.warning(res.message)
|
||
}
|
||
}).finally(() => {
|
||
that.confirmLoading = false
|
||
})
|
||
}
|
||
})
|
||
},
|
||
handleTemp() {
|
||
const that = this
|
||
// 触发表单验证
|
||
this.form.validateFields((err, values) => {
|
||
if (!err) {
|
||
that.confirmLoading = true
|
||
let httpurl = ''
|
||
let method = ''
|
||
if (!this.model.id) {
|
||
httpurl += this.url.add
|
||
method = 'post'
|
||
} else {
|
||
httpurl += this.url.edit
|
||
method = 'put'
|
||
}
|
||
this.model.paymentStatus = 0
|
||
this.model.address = this.address
|
||
this.model.postcode = this.postcode
|
||
this.model.headerName = this.headerName
|
||
this.model.taxNumber = this.taxNumber
|
||
this.model.companyName = this.companyName
|
||
this.model.certificate = []
|
||
// 这个判断是防止没有勾选而提交证书的
|
||
if (this.selectedRowKeys.length > 0) {
|
||
for (let i = 0; i < this.selectedRowKeys.length; i++) {
|
||
let opeIndex = Number(this.selectedRowKeys[i])
|
||
let ele = values.certificateArr[opeIndex]
|
||
// 操作是否需要备案通知书
|
||
if (ele.noticeOfFiling) {
|
||
ele.noticeOfFiling = ele.noticeOfFiling === '是' && 1 || 0
|
||
}
|
||
// 证书类型
|
||
ele.certificate = this.dataSource[opeIndex].certificate
|
||
ele.id = this.dataSource[opeIndex].id || ''
|
||
// 证书附件certificateImg 生效时间effectDate 失效时间invalidDate -- 字段本身存在
|
||
this.model.certificate.push(ele)
|
||
}
|
||
// for (var i = 0; i < this.selectedRowKeys.length; i++) {
|
||
// if (this.dataSource[this.selectedRowKeys[i]].noticeOfFiling) {
|
||
// if (this.dataSource[this.selectedRowKeys[i]].noticeOfFiling === '是') {
|
||
// this.dataSource[this.selectedRowKeys[i]].noticeOfFiling = 1
|
||
// } else if (this.dataSource[this.selectedRowKeys[i]].noticeOfFiling === '否') {
|
||
// this.dataSource[this.selectedRowKeys[i]].noticeOfFiling = 0
|
||
// }
|
||
// }
|
||
// this.model.certificate.push(this.dataSource[this.selectedRowKeys[i]])
|
||
// }
|
||
}
|
||
// 将证书附件 生效时间 失效时间 绑定在对应的证书上
|
||
// if (this.model.certificate.length > 0) {
|
||
// this.model.certificate.forEach((item, index) => {
|
||
// if (index === 0) {
|
||
// item.certificateImg = values.certificateImg1
|
||
// item.effectDate = values.effectDate1
|
||
// item.invalidDate = values.invalidDate1
|
||
// }
|
||
// if (index === 1) {
|
||
// item.certificateImg = values.certificateImg2
|
||
// item.effectDate = values.effectDate2
|
||
// item.invalidDate = values.invalidDate2
|
||
// }
|
||
// })
|
||
// }
|
||
this.model.certificatesNum = this.selectedRowKeys.length
|
||
const formData = Object.assign(this.model, values)
|
||
// 客户要去掉网员服务费字段,但是后端没有去掉校验,所以前端写死
|
||
formData.serviceCharge = 0
|
||
if (this.typeFlag) {
|
||
formData.paymentType = 1
|
||
} else {
|
||
formData.paymentType = 0
|
||
}
|
||
console.log('表单提交数据', formData)
|
||
httpAction(httpurl, formData, method).then((res) => {
|
||
if (res.success) {
|
||
that.$message.success(res.message)
|
||
that.$emit('ok')
|
||
that.close()
|
||
} else {
|
||
that.$message.warning(res.message)
|
||
}
|
||
}).finally(() => {
|
||
that.confirmLoading = false
|
||
})
|
||
}
|
||
})
|
||
},
|
||
handleCancel() {
|
||
this.close()
|
||
},
|
||
popupCallback(row) {
|
||
this.form.setFieldsValue(pick(row, 'billNumber', 'companyName', 'paymentType', 'validPeriod', 'paymentTime', 'paymentAmount', 'certificatesNum', 'submissionTime', 'checkTime', 'paymentStatus', 'paymentMethod', 'paymentRecord', 'invoiceRequirements', 'headerName', 'taxNumber', 'invoiceAddress', 'invoicePhone', 'depositBank', 'bankAccount', 'checkResult', 'checkMark', 'checkMember', 'checkMemberId', 'memberId', 'certificate', 'address', 'postcode'))
|
||
},
|
||
certificateCheckChange() {
|
||
this.$forceUpdate()
|
||
},
|
||
// 根据会员id获取会员信息
|
||
loadMember() {
|
||
getMemberInfoById({ id: this.memberId }).then((res) => {
|
||
if (res.success) {
|
||
var memberInfo = res.result
|
||
this.companyName = memberInfo.companyName
|
||
this.liaisonMan = memberInfo.liaisonMan
|
||
this.mobile = memberInfo.mobile
|
||
this.address = memberInfo.address
|
||
this.postcode = memberInfo.postcode
|
||
this.taxNumber = memberInfo.taxNo
|
||
this.invoiceInfoObj.invoiceAddress = memberInfo.invoiceAddress
|
||
this.invoiceInfoObj.invoicePhone = memberInfo.invoicePhone
|
||
this.invoiceInfoObj.depositBank = memberInfo.depositBank
|
||
this.invoiceInfoObj.bankAccount = memberInfo.bankAccount
|
||
this.headerName = memberInfo.invoiceInfo
|
||
this.memberType = memberInfo.memberNature
|
||
switch (memberInfo.memberNature) {
|
||
case 1:
|
||
this.memberNature = '副理事单位'
|
||
break
|
||
case 2:
|
||
this.memberNature = '理事单位'
|
||
break
|
||
|
||
case 3:
|
||
this.memberNature = '会员单位'
|
||
break
|
||
default:
|
||
break
|
||
}
|
||
} else {
|
||
console.log(res.message)
|
||
}
|
||
})
|
||
},
|
||
|
||
/* 缴费时长选择*/
|
||
changgeType(value) {
|
||
this.initVal = value
|
||
console.log('----', this.initVal)
|
||
const { form } = this
|
||
if (Number(value) === 2) {
|
||
// 5年
|
||
this.typeFlag = true
|
||
form.setFieldsValue({ 'paymentType': 1, 'paymentAmount': vipMemberCost })
|
||
this.$nextTick(() => {
|
||
form.setFieldsValue({ 'certificateArr': this.model.certificateArr })
|
||
})
|
||
} else {
|
||
this.typeFlag = false
|
||
form.setFieldsValue({ 'paymentType': 0, 'paymentAmount': commonMemberCost })
|
||
}
|
||
if (this.addFlag) {
|
||
this.model.address = this.address
|
||
this.model.postcode = this.postcode
|
||
|
||
} else {
|
||
this.address = this.model.address
|
||
this.postcode = this.model.postcode
|
||
}
|
||
},
|
||
|
||
/* 审核选择*/
|
||
onCheckChange(e) {
|
||
this.checkResult = e.target.value
|
||
},
|
||
|
||
// table选择
|
||
onSelectChange(selectedRowKeys) {
|
||
this.selectedRowKeys = selectedRowKeys
|
||
this.certificatesNum = this.selectedRowKeys.length
|
||
},
|
||
|
||
/* 证书识别代码编辑框*/
|
||
onCellChange(key, dataIndex, value) {
|
||
const dataSource = [...this.dataSource]
|
||
const target = dataSource.find(item => item.key === key)
|
||
if (target) {
|
||
target[dataIndex] = value
|
||
this.dataSource = dataSource
|
||
}
|
||
},
|
||
|
||
/* 禁止证书选择*/
|
||
getCheckboxProps(record) {
|
||
return ({
|
||
props: {
|
||
// chargeType 1是免费 2是付费 certificateStatus 证书状态 对应证书管理的证书状态
|
||
disabled: this.detailFlag || this.checkFlag || record.certificateStatus === 0 || record.certificateStatus === 6 || record.certificateStatus === 1 || record.certificateStatus === 3 || record.certificateStatus === 2 || record.chargeType === 2,
|
||
// 某几项默认选中(R: 当state等于1时)
|
||
defaultChecked: record.id
|
||
}
|
||
})
|
||
},
|
||
/* 图片预览 */
|
||
getImgView(text) {
|
||
if (text && text.indexOf(',') > 0) {
|
||
text = text.substring(0, text.indexOf(','))
|
||
}
|
||
return getFileAccessHttpUrl(text)
|
||
},
|
||
// 模态框预览
|
||
openView(val) {
|
||
this.$refs.previewModal.openPre(val)
|
||
},
|
||
/* 查找证书信息*/
|
||
getCertificate() {
|
||
return new Promise(resolve => {
|
||
const that = this
|
||
this.dataSource = []
|
||
getCertificateByMemberId({ id: that.memberId }).then((res) => {
|
||
var source = [
|
||
{
|
||
id: '',
|
||
key: 0,
|
||
index: '1',
|
||
certificate: '世界制造厂识别代号(WMI)证书',
|
||
certificate_code: '',
|
||
text: '1d81baf9b47a59afd9cee4df3731574i'
|
||
},
|
||
{
|
||
id: '',
|
||
key: 1,
|
||
index: '2',
|
||
certificate: '企业名称代号证书',
|
||
certificate_code: '',
|
||
text: '1d81baf9b47a59afd9cee4df37315775'
|
||
}
|
||
]
|
||
if (res.success) {
|
||
this.cellFlag = []
|
||
this.dataSource = []
|
||
if (this.addFlag || that.memberType === 1) {
|
||
if (res.result.length !== 0) {
|
||
this.dataSource = res.result
|
||
this.certificatesNum = res.result.length
|
||
} else {
|
||
this.dataSource = source
|
||
this.certificatesNum = 0
|
||
}
|
||
this.dataSource.forEach((value, index) => {
|
||
if (value.noticeOfFiling === 1) {
|
||
value.noticeOfFiling = '是'
|
||
} else if (value.noticeOfFiling === 0) {
|
||
value.noticeOfFiling = '否'
|
||
}
|
||
if (value.certificate_code) {
|
||
this.cellFlag.push(true)
|
||
} else {
|
||
this.cellFlag.push(false)
|
||
}
|
||
if (value.id) {
|
||
this.selectedRowKeys.push(value.key)
|
||
}
|
||
})
|
||
} else {
|
||
this.dataSource = res.result
|
||
this.certificatesNum = res.result.length
|
||
if (this.certificatesNum > 0) {
|
||
this.dataSource.forEach((value, index) => {
|
||
if (value.noticeOfFiling === 1) {
|
||
value.noticeOfFiling = '是'
|
||
} else if (value.noticeOfFiling === 0) {
|
||
value.noticeOfFiling = '否'
|
||
}
|
||
if (value.certificate_code) {
|
||
this.cellFlag.push(true)
|
||
} else {
|
||
this.cellFlag.push(false)
|
||
}
|
||
if (value.id) {
|
||
this.selectedRowKeys.push(value.key)
|
||
}
|
||
// 回显 证书附件 生效日期 失效日期
|
||
if (index === 0) {
|
||
this.$nextTick(() => {
|
||
this.form.setFieldsValue({
|
||
'certificateImg1': value.certificateImg,
|
||
'effectDate1': value.effectDate,
|
||
'invalidDate1': value.invalidDate
|
||
})
|
||
})
|
||
}
|
||
if (index === 1) {
|
||
this.$nextTick(() => {
|
||
this.form.setFieldsValue({
|
||
'certificateImg2': value.certificateImg,
|
||
'effectDate2': value.effectDate,
|
||
'invalidDate2': value.invalidDate
|
||
})
|
||
})
|
||
}
|
||
})
|
||
} else {
|
||
this.dataSource = source
|
||
}
|
||
}
|
||
this.certificate = this.dataSource
|
||
} else {
|
||
this.cellFlag = [false, false]
|
||
this.dataSource = source
|
||
this.certificatesNum = 0
|
||
this.certificate = this.dataSource
|
||
}
|
||
}).finally(() => {
|
||
resolve()
|
||
})
|
||
})
|
||
|
||
},
|
||
|
||
/* 查找审核信息*/
|
||
getCheckInfo(recordId) {
|
||
this.checkInfo = []
|
||
getCheckInfo({ id: recordId, paymentType: 0 }).then((res) => {
|
||
if (res.success) {
|
||
this.checkInfo = res.result
|
||
}
|
||
})
|
||
},
|
||
|
||
/* 根据缴费时长,获取缴费金额*/
|
||
getByMemberTime(rule, value, callback) {
|
||
const paymentAmount = this.form.getFieldValue('paymentAmount')
|
||
const type = this.form.getFieldValue('paymentTime')
|
||
console.log(paymentAmount, type)
|
||
this.form.resetFields(['paymentAmount', 'paymentTime'])
|
||
this.form.setFieldsValue({ 'paymentAmount': paymentAmount, 'paymentTime': type })
|
||
console.log('44444', this.addFlag, !this.paymentMethodFlag)
|
||
// 打包不验证金额
|
||
if (!this.paymentMethodFlag) {
|
||
if (type === undefined) {
|
||
callback('请选择缴费时长')
|
||
}
|
||
/* 校验时间和金额*/
|
||
getByMemberTime({ memberTime: type }).then((res) => {
|
||
if (res.success) {
|
||
const thresholdSettings = res.result || []
|
||
if (thresholdSettings.length === 0) {
|
||
callback()
|
||
}
|
||
for (var thresholdSetting of thresholdSettings) {
|
||
if (paymentAmount) {
|
||
if (Number(paymentAmount) < Number(thresholdSetting.memberMoney)) {
|
||
callback(`缴费金额必须多于${thresholdSetting.memberMoney}`)
|
||
} else {
|
||
callback()
|
||
}
|
||
} else {
|
||
callback('请先输入金额')
|
||
}
|
||
}
|
||
}
|
||
}).catch(() => {
|
||
callback()
|
||
})
|
||
} else {
|
||
if (this.typeFlag) {
|
||
// 5年 VIP会员
|
||
this.paymentType = 1
|
||
} else {
|
||
// 1年 设置普通会员
|
||
this.paymentType = 0
|
||
}
|
||
callback()
|
||
}
|
||
},
|
||
|
||
/* 选择发票*/
|
||
invoiceRequirementsChange(value) {
|
||
this.currentSelectInvoiceType = Number(value)
|
||
// 0 代表发票选择无
|
||
if (this.currentSelectInvoiceType === 0) {
|
||
this.invoiceRequirementsFlag = false
|
||
} else {
|
||
this.invoiceRequirementsFlag = true
|
||
}
|
||
},
|
||
/* 缴费方式*/
|
||
changePaymentMethod(value) {
|
||
// 'paymentType'-缴费类型 paymentAmount-缴费金额,paymentTime-缴费时长 'invoiceRequirements'-发票
|
||
this.form.resetFields(['billNumber', 'paymentType', 'paymentAmount', 'paymentTime', 'submissionTime', 'paymentRecord'])
|
||
this.changgeType(this.paymentTime)
|
||
|
||
if ((+value) === 2) {
|
||
this.paymentMethodFlag = true
|
||
} else {
|
||
this.paymentMethodFlag = false
|
||
}
|
||
this.isCash = value
|
||
},
|
||
/*
|
||
* 下载收费通知单
|
||
* */
|
||
downChargeNotice(text) {
|
||
if (!text) {
|
||
this.$message.warning('未知的文件')
|
||
return
|
||
}
|
||
if (text.indexOf(',') > 0) {
|
||
text = text.substring(0, text.indexOf(','))
|
||
}
|
||
const url = getFileAccessHttpUrl(text)
|
||
window.open(url, '_self')
|
||
},
|
||
/*
|
||
* 查找最新的缴费通知单
|
||
* */
|
||
getNewestNotice() {
|
||
this.newestNoticeInfo = {}
|
||
downNewestNotice().then(res => {
|
||
if (res.success) {
|
||
this.newestNoticeInfo = Object.assign({}, res.result)
|
||
}
|
||
})
|
||
},
|
||
/*
|
||
* 验证发票信息-电话号码 的正确性
|
||
* */
|
||
handleInvoicePhoneCheck(rule, value, callback) {
|
||
const reg = /^((13[0-9])|(14[579])|(15([0-3]|[5-9]))|(17[0135678])|(18[0-9])|(19[8|9])|(16[6]))\d{8}$|^([0-9]{3,4}-)[0-9]{7,8}$/
|
||
if (!value) {
|
||
callback(new Error('请输入电话号码'))
|
||
}
|
||
if (value && !reg.test(value)) {
|
||
callback(new Error('请输入正确格式的电话号码'))
|
||
} else {
|
||
callback()
|
||
}
|
||
},
|
||
// 校验 证书识别代码
|
||
checkCertificateCode(rule, value, callback) {
|
||
if (this.selectedRowKeys.length === 0) {
|
||
callback()
|
||
return
|
||
}
|
||
let index = rule.field.includes('1') && 1 || 0
|
||
if (rule.field) {
|
||
let ele = this.dataSource[index].certificate_code
|
||
if (ele) {
|
||
if (!value) {
|
||
callback(new Error('请输入证书识别代码'))
|
||
return
|
||
}
|
||
let pattern = /^((?![\u4E00-\u9FA5]).)*$/
|
||
if (!pattern.test(value)) {
|
||
callback(new Error('不能输入汉字'))
|
||
return
|
||
}
|
||
callback()
|
||
return
|
||
} else {
|
||
callback()
|
||
return
|
||
}
|
||
}
|
||
|
||
},
|
||
// 校验 生效日期
|
||
checkEffectDate(rule, value, callback) {
|
||
if (this.selectedRowKeys.length === 0) {
|
||
callback()
|
||
return
|
||
}
|
||
let index = rule.field.includes('1') && 1 || 0
|
||
if (rule.field) {
|
||
let ele = this.dataSource[index].certificate_code
|
||
if (ele) {
|
||
if (!value) {
|
||
callback(new Error('请选择生效日期'))
|
||
return
|
||
}
|
||
callback()
|
||
return
|
||
} else {
|
||
callback()
|
||
return
|
||
}
|
||
}
|
||
},
|
||
//校验 失效日期
|
||
checkInvalidDate(rule, value, callback) {
|
||
if (this.selectedRowKeys.length === 0) {
|
||
callback()
|
||
return
|
||
}
|
||
let index = rule.field.includes('1') && 1 || 0
|
||
if (rule.field) {
|
||
let ele = this.dataSource[index].certificate_code
|
||
if (ele) {
|
||
if (!value) {
|
||
callback(new Error('请选择失效日期'))
|
||
return
|
||
}
|
||
let ck = this.form.getFieldValue('certificateArr[' + index + '].effectDate')
|
||
if (ck) {
|
||
if (value < ck) {
|
||
callback(new Error('失效日期不能早于生效日期'))
|
||
return
|
||
}
|
||
callback()
|
||
return
|
||
}
|
||
callback()
|
||
return
|
||
} else {
|
||
callback()
|
||
return
|
||
}
|
||
}
|
||
},
|
||
|
||
// 校验证书附件
|
||
checkCertificateImg(rule, value, callback) {
|
||
if (this.selectedRowKeys.length === 0) {
|
||
callback()
|
||
return
|
||
}
|
||
let index = rule.field.includes('1') && 1 || 0
|
||
if (rule.field) {
|
||
let ele = this.dataSource[index].certificate_code
|
||
if (ele) {
|
||
if (!value) {
|
||
// callback(new Error('请上传证书附件'))
|
||
callback()
|
||
return
|
||
}
|
||
callback()
|
||
return
|
||
} else {
|
||
callback()
|
||
return
|
||
}
|
||
}
|
||
},
|
||
// 校验 备案通知书
|
||
checkNoticeOfFiling(rule, value, callback) {
|
||
if (this.selectedRowKeys.length === 0) {
|
||
callback()
|
||
return
|
||
}
|
||
let index = rule.field.includes('1') && 1 || 0
|
||
if (rule.field) {
|
||
let eleIndex = this.selectedRowKeys.findIndex(tt => (tt + '') === (index + ''))
|
||
if (eleIndex > -1) {
|
||
if (!value) {
|
||
callback(new Error('请选择备案通知书'))
|
||
return
|
||
}
|
||
callback()
|
||
return
|
||
} else {
|
||
callback()
|
||
return
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
</script>
|
||
<style scoped lang="less">
|
||
.charge-notice {
|
||
position: absolute;
|
||
right: 20px;
|
||
top: -20px;
|
||
color: #219AFF;
|
||
cursor: pointer;
|
||
font-size: 14px;
|
||
}
|
||
|
||
.remark {
|
||
//margin-left: -100px;
|
||
}
|
||
|
||
.remark span {
|
||
display: inline-block;
|
||
font-size: 14px;
|
||
margin-left: 145px;
|
||
transform: translateY(-20px);
|
||
}
|
||
|
||
.table {
|
||
width: 100%;
|
||
height: 180px;
|
||
text-align: center;
|
||
margin-bottom: 10px;
|
||
border-color: #ccc;
|
||
border-collapse: collapse;
|
||
}
|
||
|
||
.transalte-y-10 {
|
||
transform: translateY(10px);
|
||
}
|
||
|
||
.vin {
|
||
width: 160px;
|
||
height: 90px;
|
||
cursor: pointer;
|
||
}
|
||
|
||
// 2021-09-23 新增固定宽度
|
||
/deep/ .ant-form-item-label {
|
||
width: 145px !important;
|
||
}
|
||
|
||
// 会员缴费表格的样式修改,防止缴费年限下拉框被遮挡
|
||
.payment-table {
|
||
z-index: 10;
|
||
}
|
||
|
||
// 收款账户信息样式的修改
|
||
.show-row .ant-form-item {
|
||
margin-bottom: 0;
|
||
}
|
||
|
||
/deep/ .certificate-img .ant-form-item {
|
||
margin-bottom: 0px;
|
||
}
|
||
|
||
// 证书的相关信息
|
||
.certificate-box .ant-checkbox-group {
|
||
width: 100%;
|
||
}
|
||
|
||
.certificate-item {
|
||
position: relative;
|
||
}
|
||
|
||
.check-row {
|
||
position: absolute;
|
||
top: 8px;
|
||
}
|
||
</style>
|