This commit is contained in:
xd 2024-04-23 16:57:58 +08:00
parent d0e6f9050e
commit 5ec8e6e5b7
3 changed files with 191 additions and 210 deletions

View File

@ -19,15 +19,12 @@ public class Bank extends BaseEntity
private String bankId; private String bankId;
/** 银行名称 */ /** 银行名称 */
@Excel(name = "银行名称")
private String bankName; private String bankName;
/** 银行账户 */ /** 银行账户 */
@Excel(name = "银行账户")
private String bankAccount; private String bankAccount;
/** 客户ID */ /** 客户ID */
@Excel(name = "客户ID")
private String cusId; private String cusId;
public void setBankId(String bankId) public void setBankId(String bankId)

View File

@ -1,40 +0,0 @@
package com.ruoyi.customer.domain.qcc;
public class Qcc {
private String qccCustomerName;
private String qccLegalPerson;
private String qccRegistrationTime;
private String qccVatNO;
public String getQccCustomerName() {
return qccCustomerName;
}
public void setQccCustomerName(String qccCustomerName) {
this.qccCustomerName = qccCustomerName;
}
public String getQccLegalPerson() {
return qccLegalPerson;
}
public void setQccLegalPerson(String qccLegalPerson) {
this.qccLegalPerson = qccLegalPerson;
}
public String getQccRegistrationTime() {
return qccRegistrationTime;
}
public void setQccRegistrationTime(String qccRegistrationTime) {
this.qccRegistrationTime = qccRegistrationTime;
}
public String getQccVatNO() {
return qccVatNO;
}
public void setQccVatNO(String qccVatNO) {
this.qccVatNO = qccVatNO;
}
}

View File

@ -146,172 +146,187 @@
<!-- 添加或修改客户管理对话框 --> <!-- 添加或修改客户管理对话框 -->
<el-dialog :title="title" :visible.sync="open" width="1050px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="1050px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="100px"> <el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-row :gutter="8"> <el-tabs v-model="activeName" tab-position="left" style="margin-left: 15px; margin-right: 15px;height: 480px;">
<el-col :span="8"> <el-tab-pane label="基本信息" name="customerInfo">
<el-form-item label="客户编码" prop="cusCode"> <el-row :gutter="8">
<el-input v-model="form.cusCode" placeholder="系统自动生成" :disabled="true"/> <el-col :span="12">
</el-form-item> <el-form-item label="客户编码" prop="cusCode">
</el-col> <el-input v-model="form.cusCode" placeholder="系统自动生成" :disabled="true"/>
<el-col :span="6"> </el-form-item>
<el-form-item label="SAP客户编码" prop="cusSapCode"> </el-col>
<el-input v-model="form.cusSapCode" placeholder="审批通过自动生成" :disabled="true"/> <el-col :span="12">
</el-form-item> <el-form-item label="SAP客户编码" prop="cusSapCode">
</el-col> <el-input v-model="form.cusSapCode" placeholder="审批通过自动生成" :disabled="true"/>
<el-col :span="10"> </el-form-item>
<el-form-item label="客户名称" prop="cusName"> </el-col>
<el-input v-model="form.cusName" placeholder="企查查查询" :disabled="true"> </el-row>
<el-button icon="el-icon-search" @click="openQcc" v-if="buttonShow"></el-button> <el-row :gutter="8">
</el-input> <el-col :span="8">
</el-form-item> <el-form-item label="客户名称" prop="cusName">
</el-col> <el-input v-model="form.cusName" placeholder="企查查查询" :disabled="true">
</el-row> <el-button slot="append" icon="el-icon-search" @click="openQcc" v-hasPermi="['customer:customer:qcclist']"></el-button>
<el-row :gutter="8"> </el-input>
<el-col :span="12"> </el-form-item>
<el-form-item label="街道/门牌号" prop="cusStreet"> </el-col>
<el-input v-model="form.cusStreet" placeholder="请输入街道/门牌号" /> <el-col :span="8">
</el-form-item> <el-form-item label="街道/门牌号" prop="cusStreet">
</el-col> <el-input v-model="form.cusStreet" placeholder="请输入街道/门牌号" :disabled="isDis"/>
<el-col :span="6"> </el-form-item>
<el-form-item label="付款条件" prop="cusPaymentTerms"> </el-col>
<el-select v-model="form.cusPaymentTerms" placeholder="请选择付款条件" style="width: 100%;"> <el-col :span="8">
<el-option <el-form-item label="付款条件" prop="cusPaymentTerms">
v-for="dict in dict.type.cus_payment_terms" <el-select v-model="form.cusPaymentTerms" placeholder="请选择付款条件" style="width: 100%;" :disabled="isDis">
:key="dict.value" <el-option
:label="dict.label" v-for="dict in dict.type.cus_payment_terms"
:value="dict.value" :key="dict.value"
></el-option> :label="dict.label"
</el-select> :value="dict.value"
</el-form-item> ></el-option>
</el-col> </el-select>
<el-col :span="6"> </el-form-item>
<el-form-item label="电话号码" prop="cusPhoneNumber"> </el-col>
<el-input v-model="form.cusPhoneNumber" placeholder="请输入电话号码" /> </el-row>
</el-form-item> <el-row :gutter="8">
</el-col> <el-col :span="8">
</el-row> <el-form-item label="电话号码" prop="cusPhoneNumber">
<el-row :gutter="8"> <el-input v-model="form.cusPhoneNumber" placeholder="请输入电话号码" :disabled="isDis"/>
<el-col :span="6"> </el-form-item>
<el-form-item label="增值税号" prop="cusVatNo"> </el-col>
<el-input v-model="form.cusVatNo" placeholder="企查查查询带出" :disabled="true"/> <el-col :span="8">
</el-form-item> <el-form-item label="增值税号" prop="cusVatNo">
</el-col> <el-input v-model="form.cusVatNo" placeholder="企查查查询带出" :disabled="true"/>
<el-col :span="6"> </el-form-item>
<el-form-item label="行业代码" prop="cusIndustryCode"> </el-col>
<el-input v-model="form.cusIndustryCode" placeholder="请输入行业代码" /> <el-col :span="8">
</el-form-item> <el-form-item label="行业代码" prop="cusIndustryCode">
</el-col> <el-input v-model="form.cusIndustryCode" placeholder="请输入行业代码" :disabled="isDis"/>
<el-col :span="6"> </el-form-item>
<el-form-item label="客户组类别" prop="cusGroup"> </el-col>
<el-select v-model="form.cusGroup" placeholder="请选择客户组类别" style="width: 100%;"> </el-row>
<el-option <el-row :gutter="8">
v-for="dict in dict.type.cus_group" <el-col :span="8">
:key="dict.value" <el-form-item label="客户组类别" prop="cusGroup">
:label="dict.label" <el-select v-model="form.cusGroup" placeholder="请选择客户组类别" style="width: 100%;" :disabled="isDis">
:value="dict.value" <el-option
></el-option> v-for="dict in dict.type.cus_group"
</el-select> :key="dict.value"
</el-form-item> :label="dict.label"
</el-col> :value="dict.value"
<el-col :span="6"> ></el-option>
<el-form-item label="客户类型" prop="cusType"> </el-select>
<el-select v-model="form.cusType" placeholder="请选择客户类型" style="width: 100%;"> </el-form-item>
<el-option </el-col>
v-for="dict in dict.type.cus_type" <el-col :span="8">
:key="dict.value" <el-form-item label="客户类型" prop="cusType">
:label="dict.label" <el-select v-model="form.cusType" placeholder="请选择客户类型" style="width: 100%;" :disabled="isDis">
:value="dict.value" <el-option
></el-option> v-for="dict in dict.type.cus_type"
</el-select> :key="dict.value"
</el-form-item> :label="dict.label"
</el-col> :value="dict.value"
</el-row> ></el-option>
<el-row :gutter="8"> </el-select>
<el-col :span="6"> </el-form-item>
<el-form-item label="国家" prop="cusCountry"> </el-col>
<el-select v-model="form.cusCountry" placeholder="请选择国家" style="width: 100%;"> <el-col :span="8">
<el-option <el-form-item label="国家" prop="cusCountry">
v-for="dict in dict.type.cus_country" <el-select v-model="form.cusCountry" placeholder="请选择国家" style="width: 100%;" :disabled="isDis">
:key="dict.value" <el-option
:label="dict.label" v-for="dict in dict.type.cus_country"
:value="dict.value" :key="dict.value"
></el-option> :label="dict.label"
</el-select> :value="dict.value"
</el-form-item> ></el-option>
</el-col> </el-select>
<el-col :span="6"> </el-form-item>
<el-form-item label="语言" prop="cusLanguage"> </el-col>
<el-select v-model="form.cusLanguage" placeholder="请选择语言" style="width: 100%;"> </el-row>
<el-option <el-row :gutter="8">
v-for="dict in dict.type.cus_language" <el-col :span="8">
:key="dict.value" <el-form-item label="语言" prop="cusLanguage">
:label="dict.label" <el-select v-model="form.cusLanguage" placeholder="请选择语言" style="width: 100%;" :disabled="isDis">
:value="dict.value" <el-option
></el-option> v-for="dict in dict.type.cus_language"
</el-select> :key="dict.value"
</el-form-item> :label="dict.label"
</el-col> :value="dict.value"
<el-col :span="6"> ></el-option>
<el-form-item label="客户标签" prop="cusLabel"> </el-select>
<el-input v-model="form.cusLabel" placeholder="请输入客户标签" /> </el-form-item>
</el-form-item> </el-col>
</el-col> <el-col :span="8">
<el-col :span="6"> <el-form-item label="客户标签" prop="cusLabel">
<el-form-item label="客户分类" prop="cusClassification"> <el-input v-model="form.cusLabel" placeholder="请输入客户标签" :disabled="isDis"/>
<el-input v-model="form.cusClassification" placeholder="请输入客户分类" /> </el-form-item>
</el-form-item> </el-col>
</el-col> <el-col :span="8">
</el-row> <el-form-item label="客户分类" prop="cusClassification">
<el-row :gutter="8"> <el-input v-model="form.cusClassification" placeholder="请输入客户分类" :disabled="isDis"/>
<el-col :span="6"> </el-form-item>
<el-form-item label="电子发票邮箱" prop="cusReceivingEmail"> </el-col>
<el-input v-model="form.cusReceivingEmail" placeholder="请输入电子发票接收邮箱" /> </el-row>
</el-form-item> <el-row :gutter="8">
</el-col> <el-col :span="8">
<el-col :span="6"> <el-form-item label="电子发票邮箱" prop="cusReceivingEmail">
<el-form-item label="收件人" prop="cusRecipient"> <el-input v-model="form.cusReceivingEmail" placeholder="请输入电子发票接收邮箱" :disabled="isDis"/>
<el-input v-model="form.cusRecipient" placeholder="请输入收件人" /> </el-form-item>
</el-form-item> </el-col>
</el-col> <el-col :span="8">
<el-col :span="6"> <el-form-item label="收件人" prop="cusRecipient">
<el-form-item label="收件人电话" prop="cusRecipientPhone"> <el-input v-model="form.cusRecipient" placeholder="请输入收件人" :disabled="isDis"/>
<el-input v-model="form.cusRecipientPhone" placeholder="请输入收件人电话" /> </el-form-item>
</el-form-item> </el-col>
</el-col> <el-col :span="8">
</el-row> <el-form-item label="收件人电话" prop="cusRecipientPhone">
<el-row :gutter="8"> <el-input v-model="form.cusRecipientPhone" placeholder="请输入收件人电话" :disabled="isDis"/>
<el-col :span="24"> </el-form-item>
<el-form-item label="备注" prop="cusRemark"> </el-col>
<el-input type="textarea" autosize v-model="form.cusRemark" placeholder="请输入备注" /> </el-row>
</el-form-item> <el-row :gutter="8">
</el-col> <el-col :span="24">
</el-row> <el-form-item label="备注" prop="cusRemark">
<el-divider content-position="center">银行信息</el-divider> <el-input type="textarea" autosize v-model="form.cusRemark" placeholder="请输入备注" :disabled="isDis"/>
<el-row class="mb8" :gutter="8" v-if="buttonShow"> </el-form-item>
<el-col :span="1.5"> </el-col>
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAddBank">添加</el-button> </el-row>
</el-col> </el-tab-pane>
<el-col :span="1.5"> <el-tab-pane label="开票银行" name="bankInfo">
<el-button type="danger" icon="el-icon-delete" size="mini" @click="handleDeleteBank">删除</el-button> <el-row class="mb8" :gutter="8">
</el-col> <el-col :span="1.5">
</el-row> <div v-hasPermi="['customer:customer:bankAdd']">
<el-table :data="bankList" :row-class-name="rowBankIndex" @selection-change="handleBankSelectionChange" ref="bank"> <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAddBank" v-if="buttonShow">添加</el-button>
<el-table-column type="selection" width="50" align="center" /> </div>
<el-table-column label="序号" align="center" prop="index" width="50"/> </el-col>
<el-table-column label="银行名称" prop="bankName"> <el-col :span="1.5">
<template slot-scope="scope"> <div v-hasPermi="['customer:customer:bankDel']">
<el-input v-model="scope.row.bankName" placeholder="请输入银行名称" /> <el-button type="danger" icon="el-icon-delete" size="mini" @click="handleDeleteBank" v-if="buttonShow">删除</el-button>
</template> </div>
</el-table-column> </el-col>
<el-table-column label="银行账户" prop="bankAccount"> </el-row>
<template slot-scope="scope"> <el-table :data="bankList" :row-class-name="rowBankIndex" @selection-change="handleBankSelectionChange" ref="bank">
<el-input v-model="scope.row.bankAccount" placeholder="请输入银行账户" /> <el-table-column type="selection" width="50" align="center" />
</template> <el-table-column label="序号" align="center" prop="index" width="50"/>
</el-table-column> <el-table-column label="银行名称" prop="bankName">
</el-table> <template slot-scope="scope">
<el-input v-model="scope.row.bankName" placeholder="请输入银行名称" />
</template>
</el-table-column>
<el-table-column label="银行账户" prop="bankAccount">
<template slot-scope="scope">
<el-input v-model="scope.row.bankAccount" placeholder="请输入银行账户" />
</template>
</el-table-column>
</el-table>
</el-tab-pane>
</el-tabs>
</el-form> </el-form>
<div slot="footer" class="dialog-footer" v-if="buttonShow"> <div slot="footer" class="dialog-footer">
<el-button @click="saveForm" v-hasPermi="['customer:customer:save']"> </el-button> <span v-hasPermi="['customer:customer:save']">
<el-button type="primary" plain @click="commitForm" v-hasPermi="['customer:customer:commit']"> </el-button> <el-button @click="saveForm" v-if="buttonShow"> </el-button>
</span>
<span style="margin-left: 10px" v-hasPermi="['customer:customer:commit']">
<el-button type="primary" plain @click="commitForm" v-if="buttonShow"> </el-button>
</span>
</div> </div>
</el-dialog> </el-dialog>
@ -326,7 +341,7 @@
/> />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button v-hasPermi="['customer:customer:qcclist']" type="primary" icon="el-icon-search" size="mini" @click="handleQccQuery">搜索</el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQccQuery">搜索</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table v-loading="qccLoading" ref="qccTable" :data="qccCustomerList" @selection-change="handleSelectionQccChange" height="300"> <el-table v-loading="qccLoading" ref="qccTable" :data="qccCustomerList" @selection-change="handleSelectionQccChange" height="300">
@ -335,6 +350,7 @@
<el-table-column label="法人" align="center" prop="operName" /> <el-table-column label="法人" align="center" prop="operName" />
<el-table-column label="注册时间" align="center" prop="startDate" /> <el-table-column label="注册时间" align="center" prop="startDate" />
<el-table-column label="增值税号" align="center" prop="creditCode" /> <el-table-column label="增值税号" align="center" prop="creditCode" />
</el-table> </el-table>
<!--<pagination <!--<pagination
v-show="qccTotal>0" v-show="qccTotal>0"
@ -363,12 +379,15 @@
</style> </style>
<script> <script>
import { listCustomer, getCustomer, delCustomer, addCustomer, updateCustomer, commitCustomer, qccListCustomer } from "@/api/customer/customer"; import { listCustomer, getCustomer, delCustomer, addCustomer, updateCustomer, commitCustomer, qccListCustomer } from "@/api/customer/customer";
import { checkPermi, checkRole } from "@/utils/permission"; //
export default { export default {
name: "Customer", name: "Customer",
dicts: ['cus_country', 'cus_payment_terms', 'cus_group', 'cus_approval_status', 'cus_language', 'cus_type', 'common_state'], dicts: ['cus_country', 'cus_payment_terms', 'cus_group', 'cus_approval_status', 'cus_language', 'cus_type', 'common_state'],
data() { data() {
return { return {
//
activeName: 'customerInfo',
// //
loading: true, loading: true,
// //
@ -435,6 +454,8 @@ export default {
}, },
// \, // \,
buttonShow: true, buttonShow: true,
//
isDis: false,
/*****************************企查查查询模块*************************************/ /*****************************企查查查询模块*************************************/
// //
@ -464,6 +485,8 @@ export default {
this.getList(); this.getList();
}, },
methods: { methods: {
checkPermi,
checkRole,
/** 查询客户管理列表 */ /** 查询客户管理列表 */
getList() { getList() {
this.loading = true; this.loading = true;
@ -540,6 +563,7 @@ export default {
getCustomer(cusId).then(response => { getCustomer(cusId).then(response => {
this.form = response.data; this.form = response.data;
this.buttonShow = this.form.cusApprovalStatus == '0'?true:false; this.buttonShow = this.form.cusApprovalStatus == '0'?true:false;
this.isDis = this.form.cusApprovalStatus == '0'?false:true;
this.bankList = response.data.bankList; this.bankList = response.data.bankList;
this.open = true; this.open = true;
this.title = "修改客户信息"; this.title = "修改客户信息";