JNBusiness/ruoyi-ui/src/views/mobile/customerMobile/addCustomer.vue

1045 lines
35 KiB
Vue
Raw Normal View History

2024-07-04 14:10:57 +08:00
<template>
<div>
<van-form ref="form" :model="form" :rules="rules">
<van-field
ref="cusCode"
v-model="form.cusCode"
label="客户编码"
placeholder="系统自动生成"
readonly>
</van-field>
<van-field
ref="cusSapCode"
v-model="form.cusSapCode"
label="SAP客户编码"
placeholder="审批通过自动生成"
readonly>
</van-field>
<van-field
ref="cusName"
v-model="form.cusName"
required
readonly
name="cusName"
label="客户名称"
placeholder="企查查带出"
:rules="[{ required: true, message: '客户未选择' }]">
<template #button>
<van-button :disabled="form.cusApprovalStatus === '1' || form.cusApprovalStatus === '2' || form.cusApprovalStatus === '3'"
size="small" @click="openQcc" v-hasPermi="['customer:customer:qcclist']" type="primary">点击查询</van-button>
</template>
</van-field>
<van-field
ref="cusQccStreet"
v-model="form.cusQccStreet"
label="街道"
placeholder="企查查带出"
readonly>
</van-field>
<van-field
ref="cusVatNo"
v-model="form.cusVatNo"
label="增值税号"
placeholder="企查查带出"
readonly>
</van-field>
<van-field
re="cusStreet"
v-model="form.cusStreet"
name="cusStreet"
required
label="街道/门牌号"
placeholder="请输入街道/门牌号"
:readonly="form.cusApprovalStatus === '1' || form.cusApprovalStatus === '2' || form.cusApprovalStatus === '3'"
:rules="[{ required: true, message: '' }]">
</van-field>
<van-field
ref="cusPhoneNumber"
name="cusPhoneNumber"
v-model="form.cusPhoneNumber"
label="电话号码"
required
placeholder="请输入电话号码"
:readonly="form.cusApprovalStatus === '1' || form.cusApprovalStatus === '2' || form.cusApprovalStatus === '3'"
:rules="[{ required: true, message: '' }]">
</van-field>
<van-field
readonly
name="khzbText"
required
:value="khzbText"
label="客户组类别"
placeholder="点击选择客户组类别"
@click="(form.cusApprovalStatus === '1' || form.cusApprovalStatus === '2' || form.cusApprovalStatus === '3') ? khzbShowPicker = false : khzbShowPicker = true"
:rules="[{ required: true, message: '' }]"
/>
<van-popup v-model="khzbShowPicker" position="bottom">
<van-picker
show-toolbar
:columns="khzbColumns"
:default-index="2"
@confirm="khzbOnConfirm"
@cancel="khzbShowPicker = false"
/>
</van-popup>
<van-field
readonly
:value="khlxText"
name="khlxText"
required
label="客户类型"
placeholder="点击选择客户类型"
@click="(form.cusApprovalStatus === '1' || form.cusApprovalStatus === '2' || form.cusApprovalStatus === '3') ? khlxShowPicker = false : khlxShowPicker = true"
:rules="[{ required: true, message: '' }]"
/>
<van-popup v-model="khlxShowPicker" position="bottom">
<van-picker
show-toolbar
:columns="khlxColumns"
@confirm="khlxOnConfirm"
@cancel="khlxShowPicker = false"
/>
</van-popup>
<van-field
readonly
required
:value="countryText"
name="countryText"
label="国家"
placeholder="点击选择国家"
@click="(form.cusApprovalStatus === '1' || form.cusApprovalStatus === '2' || form.cusApprovalStatus === '3') ? countryShowPicker = false : countryShowPicker = true"
:rules="[{ required: true, message: '' }]"
/>
<van-popup v-model="countryShowPicker" position="bottom">
<van-picker
value-key="label"
show-toolbar
:columns="countrysDicts"
@confirm="countryOnConfirm"
@cancel="countryShowPicker = false"
/>
</van-popup>
<van-field
readonly
required
:value="languageText"
name="languageText"
label="语言"
placeholder="点击选择语言"
@click="(form.cusApprovalStatus === '1' || form.cusApprovalStatus === '2' || form.cusApprovalStatus === '3') ? languageShowPicker = false : languageShowPicker = true "
:rules="[{ required: true, message: '' }]"
/>
<van-popup v-model="languageShowPicker" position="bottom">
<van-picker
:default-index="1"
show-toolbar
value-key="label"
:columns="languageDicts"
@confirm="languageOnConfirm"
@cancel="languageShowPicker = false"
/>
</van-popup>
</van-form>
<el-divider content-position="left" class="customer_divider_text">银行信息</el-divider>
<el-row class="mb8" :gutter="8" style="margin: 10px">
<el-col :span="1.5">
<div v-hasPermi="['customer:customer:bankAdd']">
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAddBank" v-if="bankButtonShow">添加</el-button>
</div>
</el-col>
<el-col :span="1.5">
<div v-hasPermi="['customer:customer:bankDel']">
<el-button type="danger" icon="el-icon-delete" size="mini" @click="handleDeleteBank" v-if="bankButtonShow">删除</el-button>
</div>
</el-col>
</el-row>
<el-table :data="bankList" @selection-change="handleBankSelectionChange" :row-class-name="rowBankIndex" ref="bank">
<el-table-column type="selection" width="50" align="center" />
<el-table-column label="序号" align="center" v-if="false" prop="index" width="50"/>
<el-table-column label="国家" prop="bankCountry" v-if="false">
<template slot-scope="scope">
<el-input v-model="scope.row.bankCountry" placeholder="选择银行代码自动带出" :disabled="true"/>
</template>
</el-table-column>
<el-table-column label="银行代码" prop="bankCode" v-if="false">
<template slot-scope="scope">
<el-input v-model="scope.row.bankCode" placeholder="请输入银行代码" :disabled="true" >
<i v-if="!isDisSjz" slot="suffix" class="el-input__icon el-icon-search" @click="handleSearchBankCode(scope)"></i>
</el-input>
</template>
</el-table-column>
<el-table-column label="银行名称" prop="bankName">
<template slot-scope="scope">
<el-input v-model="scope.row.bankName" placeholder="请输入银行名称" :disabled="isDisSalesman"/>
</template>
</el-table-column>
<el-table-column label="银行账户" prop="bankAccount">
<template slot-scope="scope">
<el-input v-model="scope.row.bankAccount" placeholder="请输入银行账户" :disabled="isDisSalesman" />
</template>
</el-table-column>
</el-table>
<div slot="footer" class="dialog-footer fixed-buttons-container">
<span v-hasPermi="['customer:customer:save']">
<el-button @click="saveForm" v-if="buttonShowSalesman"> </el-button>
</span>
<span style="margin-left: 10px" v-hasPermi="['customer:customer:commit']">
<el-button type="primary" plain @click="commitForm" v-if="buttonShowSalesman"> </el-button>
</span>
<span style="margin-left: 10px" v-hasPermi="['customer:customer:return']">
<el-button type="danger" plain @click="returnForm" v-if="buttonShowSjz"> </el-button>
</span>
<span style="margin-left: 10px" v-hasPermi="['customer:customer:commitSAP']">
<el-button type="primary" plain @click="commitSAPForm" v-if="buttonShowSjz"> 交SAP</el-button>
</span>
</div>
<el-dialog :title="qccTitle" :visible.sync="qccOpen" :width="dialogWidth" append-to-body>
<el-form :model="queryQccParams" ref="queryQccForm" size="small" :inline="true" label-width="100px" @submit.native.prevent>
<el-form-item label="公司名称" prop="Name">
<el-input
v-model="queryQccParams.Name"
placeholder="请输入公司名称"
@keyup.enter.native="handleQccQuery"
clearable
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQccQuery">搜索</el-button>
</el-form-item>
</el-form>
<el-table v-loading="qccLoading" ref="qccTable" :data="qccCustomerList" @selection-change="handleSelectionQccChange" :height="tableHeight">
<el-table-column type="selection" width="45" align="center" />
<el-table-column label="公司名" width="250" align="left" prop="name" />
<el-table-column label="法人" align="center" prop="operName" />
<el-table-column label="注册时间" width="100" align="center" prop="startDate" />
<el-table-column label="增值税号" width="170" align="left" prop="creditCode" />
<el-table-column label="地址" width="300" align="left" prop="address" />
</el-table>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="qccConfirm" :disabled="qccSingle"> </el-button>
<el-button @click="qccCancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listCustomer, getCustomer, delCustomer,changCusStatus, addCustomer, updateCustomer,getReturnUpdateCustomer, commitCustomer,returnCustomer, commitSAPCustomer, checkQccCount, qccListCustomer, getIndustryCodeQcc } from "@/api/customer/customer";
import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
import { bankCodeList,getCountrys,getIndustryCode,getLanguage,getPaymentTerms,getSalesOrganization,getDistributionChannel,getSalesTerritory,getSaleOffice,getTax,getReconciliationAccount, getAccountAllocationGroup } from "@/api/common/sapRfc";// sap-rfc 函数
/** 弹窗放大、拖拽 */
import elDragDialog from "@/directive/dialog/dragDialog";
// 自定义校验-付款条件
const validateCusPaymentTerms = (rule, value, callback) => {
if (!value) {
callback(new Error("付款条件不能为空"));
} else {
callback();
}
};
// 自定义校验-行业代码
const validateCusIndustryCode = (rule, value, callback) => {
if (!value) {
callback(new Error("行业代码不能为空"));
} else {
callback();
}
};
// 自定义校验-销售地区
const validateCusSalesTerritory = (rule, value, callback) => {
if (!value) {
callback(new Error("销售地区不能为空"));
} else {
callback();
}
};
// 自定义校验-销售办公室
const validateCusSaleOffice = (rule, value, callback) => {
if (!value) {
callback(new Error("销售办公室不能为空"));
} else {
callback();
}
};
// 自定义校验-客户税分类
const validateCusTax = (rule, value, callback) => {
if (!value) {
callback(new Error("客户税分类不能为空"));
} else {
callback();
}
};
// 自定义校验-统驭科目
const validateCusReconciliationAccount = (rule, value, callback) => {
if (!value) {
callback(new Error("统驭科目不能为空"));
} else {
callback();
}
};
// 自定义校验-统驭科目
const cusAccountAllocationGroup = (rule, value, callback) => {
if (!value) {
callback(new Error("账户分配组不能为空"));
} else {
callback();
}
};
export default {
name: "addCustomer",
data() {
return {
value1: '',
khzbText: '',
khzbColumns: [
{ text: '国内客户', value: 'Z001' },
],
khzbShowPicker: false,
khlxText: '',
khlxColumns: [
{ text: '销售客户', value: '0' },
],
khlxShowPicker: false,
countrysDicts: [], // 国家数据列表
languageDicts: [], //语言
countryText: '',
countryShowPicker: false,
languageText: '',
languageShowPicker: false,
queryParams: {
pageNum: 1,
pageSize: 10,
cusCode: null,
cusName: null,
cusSapCode: null,
cusState: null,
cusApprovalStatus: null
},
/*****************************企查查查询模块*************************************/
// 遮罩层
qccLoading: false,
// 弹出层标题
qccTitle: "",
// 是否显示弹出层
qccOpen: false,
// 企查查客户表格数据
/*qccCurrentPage: 1,
qccPageSize: 10,
qccTotal: 0,*/
qccCustomerList: [], // 企查查客户数据
// 非单个禁用
qccSingle: true,
// 非多个禁用
qccMultiple: true,
queryQccParams:{
Name: null
},
dialogWidth: '100%',
tableHeight: '300px', // 表格高度固定
/*****************************企查查查询模块*************************************/
//选项卡默认
activeName: 'customerInfo',
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 子表选中数据
checkedBank: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 客户管理表格数据
customerList: [],
// 银行表格数据
bankList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 表单参数
form: {},
// 表单校验
rules: {
cusName: [{ required: true, message: '客户名称不可为空' }],
cusStreet: [{ required: true, message: '请输入街道/门牌号' }],
cusPhoneNumber: [{ required: true, message: '请输入电话号码' }],
khzbText: [{ required: true, message: '请选择客户组类别' }],
khlxText: [{ required: true, message: '请选择客户类型' }],
countryText: [{ required: true, message: '请选择国家' }],
languageText: [{ required: true, message: '请选择语言' }]
},
// 保存\提交 按钮显示 - 业务员
buttonShowSalesman: true,
// 明细添加、删除 按钮显示
bankButtonShow: true,
// 提交OA 按钮显示 - 数据组
buttonShowSjz: true,
// 审批中 设置禁用 - 业务员
isDisSalesman: false,
// 审批中 设置禁用 - 数据组
isDisSjz: false,
// 客户名称、街道、增值税号设置禁用
isDisCustomer: true,
/*****************************银行代码查询模块*************************************/
// 遮罩层
bankCodeLoading: false,
// 弹出层标题
bankCodeTitle: "",
// 是否显示弹出层
bankCodeOpen: false,
// 银行代码表格数据
bankSelectedIndex: "",
bankCodeTotal: 0,
bankCodeCurrentPage: 1,
bankCodePageSize: 10,
bankCodeList: [], // 银行代码数据
// 非单个禁用
bankCodeSingle: true,
// 非多个禁用
bankCodeMultiple: true,
queryBankCodeParams:{
bankName: null
},
/*****************************银行代码查询模块*************************************/
/*****************************SAP-RFC查询模块*************************************/
industryCodeDicts: [], // 行业代码数据列表
paymentTermsDicts: [], // 付款条件数据列表
salesOrganizationDicts: [], // 销售组织数据列表
distributionChannelDicts: [], // 分销渠道数据列表
salesTerritoryDicts: [], // 销售地区数据列表
saleOfficeDicts: [], // 销售办公室数据列表
taxDicts: [], // 客户税分类数据列表
reconciliationAccountDicts: [], // 统驭科目数据列表
accountAllocationGroupDicts: [], // 账户分配组数据列表
/*****************************SAP-RFC查询模块*************************************/
}
},
created() {
console.log("触发create函数")
this.getCountrys();
this.getLanguage();
const param = this.$route.query;
console.log("输出" + param.cusId)
if (param.cusId !== undefined && param.cusId !== null) {
const row = {'cusId':param.cusId}
this.handleUpdate(row);
}
},
computed: {
},
mounted() {
this.$store.dispatch('app/toggleSideBarHide', true);
document.querySelector('.navbar').style.display = "none";
document.querySelector('.tags-view-container').style.display = "none";
},
methods: {
checkPermi,
checkRole,
/** 查询客户管理列表 */
getList() {
this.loading = true;
listCustomer(this.queryParams).then(response => {
this.customerList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
cusId: null,
cusCode: null,
cusName: null,
cusSapCode: null,
cusStreet: null,
cusPhoneNumber: null,
cusGroup: null,
cusVatNo: null,
cusType: null,
cusCountry: null,
cusLanguage: null,
cusSalesman: null,
cusRemark: null,
cusState: null,
cusApprovalStatus: null,
cusPaymentTerms: null,
cusIndustryCode: null,
cusIndustryCodeQcc: null,
cusSalesTerritory: null,
cusDistributionChannel: null,
cusSaleOffice: null,
cusCurrency: null,
cusTax: null,
cusReconciliationAccount: null,
cusAccountAllocationGroup: null,
};
this.bankList = [];
this.resetForm("form");
this.setInitF();
this.setInitV();
// 保存\提交 按钮显示 - 业务员
this.buttonShowSalesman = true;
// 明细添加、删除 按钮显示
this.bankButtonShow = true;
// 提交OA 按钮显示 - 数据组
this.buttonShowSjz = true;
// 审批中 设置禁用 - 业务员
this.isDisSalesman = false;
// 审批中 设置禁用 - 数据组
this.isDisSjz = false;
// 客户名称、街道、增值税号设置禁用
this.isDisCustomer = true;
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.cusId)
this.single = selection.length!==1
this.multiple = !selection.length
},
// 客户状态修改
handleStatusChange(row) {
let text = row.cusState === "0" ? "启用" : "停用";
this.$modal.confirm('确认要"' + text + '""' + row.cusName + '"吗?').then(function() {
return changCusStatus(row.cusId, row.cusState);
}).then(() => {
this.$modal.msgSuccess(text + "成功");
}).catch(function() {
row.cusState = row.cusState === "0" ? "1" : "0";
});
},
/** 新增按钮操作 */
async handleAdd() {
await this.reset();
this.open = true;
this.title = "添加客户信息";
this.form.cusSalesman = this.$store.state.user.nickName;
this.buttonShowSalesman = checkRole(['ITZX_SJZ']) ? false : true; // 如果是业务员角色 则保存、提交 按钮显示 反之不显示
this.buttonShowSjz = checkRole(['ITZX_SJZ']) ? true : false;// 如果是业务员角色 则保存、提交 按钮不显示 反之显示
this.isDisCustomer = checkRole(['ITZX_SJZ']) ? false : true;// 如果是数据组角色角色则可编辑客户名称
this.handleAddBank();//默认添加一行
},
/** 修改按钮操作 */
async handleUpdate(row) {
await this.reset();
const cusId = row.cusId || this.ids
getCustomer(cusId).then(response => {
this.setInfo(response);
});
},
/** 错误修订按钮操作 */
async handleReturnUpdate(row) {
this.reset();
const cusId = row.cusId || this.ids
getReturnUpdateCustomer(cusId).then(response => {
this.setInfo(response);
});
},
/** 修改按钮操作-详细信息设置 */
setInfo(response){
this.form = response.data;
// 获取 cusType 对应的 text 值并打印
const cusGroup = this.khzbColumns.find(item => item.value === this.form.cusGroup);
if (cusGroup) {
this.khzbText = cusGroup.text;
}
const cusTypeItem = this.khlxColumns.find(item => item.value === this.form.cusType);
if (cusTypeItem) {
this.khlxText = cusTypeItem.text;
}
const cusCountryItem = this.countrysDicts.find(item => item.value === this.form.cusCountry);
if (cusCountryItem) {
this.countryText = cusCountryItem.label;
}
const cusLanguageItem = this.languageDicts.find(item => item.value === this.form.cusLanguage);
if (cusLanguageItem) {
this.languageText = cusLanguageItem.label;
}
console.log(this.form)
// 业务员角色-如果是保存状态则显示 反之不显示
this.buttonShowSalesman = this.form.cusApprovalStatus == '0'?true:false;
// 业务员待提交的数据 或者 数据组审核业务员提交的数据时可编辑
this.isDisSalesman = this.form.cusApprovalStatus == '0' ? false : (checkRole(['ITZX_SJZ'])&&this.form.cusApprovalStatus == '1') ? false : true;
// 数据组角色-如果不是完成且驳回状态、提交SAP、驳回 按钮显示
this.buttonShowSjz = (this.form.cusApprovalStatus != '2' && this.form.cusApprovalStatus != '3') ?true:false;
// 数据组角色-如果是审批中状态, 则可编辑
this.isDisSjz = this.form.cusApprovalStatus == '1'?false:true;
// 业务员待审核的数据 或者 数据组审核业务员提交的数据时显示
this.bankButtonShow = this.form.cusApprovalStatus == '0'?true:(checkRole(['ITZX_SJZ'])&&this.form.cusApprovalStatus == '1') ? true : false;
// 数据组创建或者审核时 客户名称、街道、增值税号可编辑
this.isDisCustomer = (checkRole(['ITZX_SJZ'])&&this.form.cusApprovalStatus != '2'&&this.form.cusApprovalStatus != '3')?false:true;
this.bankList = response.data.bankList;
if(this.bankList.length==0){
this.handleAddBank();//默认添加一行
}
},
async validateForm() {
try {
await this.$refs.form.validate();
return true;
} catch (error) {
console.error('Form validation failed:', error);
return false;
}
},
/** 保存按钮 */
async saveForm() {
const valid = await this.validateForm();
console.log(11111111)
if (valid) {
console.log(11111111)
this.form.bankList = this.bankList;
if (this.form.cusId != null) {
updateCustomer(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
});
} else {
addCustomer(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.$store.dispatch('tagsView/delView',this.$route)
this.$router.go(-1)
});
}
}
},
/** 提交按钮 */
async commitForm() {
const valid = await this.validateForm();
if (valid) {
this.form.bankList = this.bankList;
// 遍历表格数据
try{
if(this.bankList.length==0){
this.$modal.msgError("未添加银行信息");
return;
}
this.bankList.forEach((row, index) => {
if(!row.bankName || !row.bankAccount){
this.$modal.msgError("银行名称或银行账户不能为空");
throw new Error;
}
})
}catch(e){
return;
}
commitCustomer(this.form).then(response => {
this.$modal.msgSuccess("提交成功");
this.$store.dispatch('tagsView/delView',this.$route)
this.$router.go(-1)
});
}
},
/** 驳回 */
returnForm() {
if(!this.form.cusReturnRemark){
this.$modal.msgError("请填写驳回备注");
return;
}
this.$modal.confirm('是否确认驳回该客户?').then(function() {}).then(() => {
returnCustomer(this.form).then(response => {
this.$modal.msgSuccess("驳回成功");
this.open = false;
this.getList();
});
}).catch(() => {});
},
/** 提交SAP按钮 */
commitSAPForm() {
this.$refs["form"].validate(valid => {
if (valid) {
this.form.bankList = this.bankList;
if (this.form.cusId != null) {//数据组审核
this.bankList.forEach((row, index) => {
if(!row.bankCode){
this.$modal.msgError("银行代码不能为空");
throw new Error;
}
})
}
this.$modal.confirm('是否确认提交该客户至SAP').then(function() {}).then(() => {
commitSAPCustomer(this.form).then(response => {
this.$modal.msgSuccess("提交SAP成功");
this.open = false;
this.getList();
});
}).catch(() => {});
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const cusIds = row.cusId || this.ids;
this.$modal.confirm('是否确认删除所选客户?').then(function() {
return delCustomer(cusIds);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 银行添加按钮操作 */
handleAddBank() {
let obj = {};
obj.bankCountry = "";
obj.bankCode = "";
obj.bankName = "";
obj.bankAccount = "";
this.bankList.push(obj);
},
/** 银行删除按钮操作 */
handleDeleteBank() {
if (this.checkedBank.length == 0) {
this.$modal.msgError("请先选择要删除的银行数据");
} else {
const bankList = this.bankList;
const checkedBank = this.checkedBank;
this.bankList = bankList.filter(function(item) {
return checkedBank.indexOf(item.index) == -1
});
}
},
/** 复选框选中数据 */
handleBankSelectionChange(selection) {
this.checkedBank = selection.map(item => item.index)
console.log(this.checkedBank)
},
/** 序号 */
rowBankIndex({ row, rowIndex }) {
row.index = rowIndex + 1;
},
/** 导出按钮操作 */
handleExport() {
this.download('customer/customer/export', {
...this.queryParams
}, `customer_${new Date().getTime()}.xlsx`)
},
/*****************************银行代码查询模块*************************************/
/** 选择银行代码弹出框 */
handleSearchBankCode(scope) {
this.bankCodeOpen = true;
this.bankCodeTitle = "银行代码信息";
this.resetBankCodeQuery();
this.bankSelectedIndex = scope.$index;
},
/** 切换每页显示条数 */
handleBankCodeSizeChange(val) {
this.bankCodePageSize = val;
this.bankCodeCurrentPage = 1;
},
/** 页码选择 */
handleBankCodeCurrentChange(val) {
this.bankCodeCurrentPage = val;
},
/** 银行代码查询 */
handleBankCodeQuery(){
if(!this.queryBankCodeParams.bankName){
this.$message.warning("请输入银行名称!");
return;
}
this.bankCodeLoading = true;
bankCodeList(this.queryBankCodeParams).then(response => {
this.bankCodeList = response.rows;
this.bankCodeTotal = response.total;
this.bankCodeCurrentPage = 1;
this.bankCodeLoading = false;
},response => {
this.bankCodeLoading = false;
});
},
// 多选框选中数据
handleSelectionBankCodeChange(selection) {
this.bankCodeSingle = selection.length!==1
this.bankCodeMultiple = !selection.length
},
// 确认按钮
bankCodeConfirm(){
const bankCodeTable = this.$refs.bankCodeTable;
const selectedData = bankCodeTable.selection;
const bankCode = selectedData[0].bankCode;
const bankName = selectedData[0].bankName;
const bankCountry = selectedData[0].bankCountry;
// 获取指定行的数据
const bank = this.bankList[this.bankSelectedIndex];
bank.bankCode = bankCode;
bank.bankName = bankName;
bank.bankCountry = bankCountry;
this.bankCodeOpen = false;
},
// 取消按钮
bankCodeCancel() {
this.bankCodeOpen = false;
this.resetBankCodeQuery();
},
/** 重置按钮操作 */
resetBankCodeQuery() {
this.bankCodeList = [];
this.bankCodeTotal = 0;
this.queryBankCodeParams = {
bankName: ""
}
},
/*****************************银行代码查询模块*************************************/
/*****************************SAP-RFC查询模块*************************************/
// 默认值设置
setInitV(){
this.activeName = 'customerInfo';
this.form.cusGroup = 'Z001';
this.form.cusType = '0';
this.form.cusCountry = 'CN';
this.form.cusLanguage = '1';
this.form.cusSalesOrganization = '1100';
this.form.cusDistributionChannel = '10';
this.form.cusCurrency = 'CNY';
this.form.cusTax = '1';
this.form.cusReconciliationAccount = '1122010100';
this.form.cusAccountAllocationGroup = '01';
},
// 加载SAP公共数据
setInitF(){
this.activeName = 'customerInfo';
this.getCountrys();
this.getIndustryCode();
this.getLanguage();
this.getPaymentTerms();
this.getSalesOrganization();
this.getDistributionChannel();
this.getSalesTerritory();
this.getSaleOffice();
this.getTax();
this.getReconciliationAccount();
this.getAccountAllocationGroup();
},
//SAP行业代码数据列表
getIndustryCode(){
getIndustryCode(this.queryParams).then(response => {
this.industryCodeDicts = response.industryCodeDicts;
});
},
//SAP付款条件数据列表
getPaymentTerms(){
getPaymentTerms(this.queryParams).then(response => {
this.paymentTermsDicts = response.paymentTermsDicts;
});
},
//SAP销售组织数据列表
getSalesOrganization(){
getSalesOrganization(this.queryParams).then(response => {
this.salesOrganizationDicts = response.salesOrganizationDicts;
});
},
//SAP分销渠道数据列表
getDistributionChannel(){
getDistributionChannel(this.queryParams).then(response => {
this.distributionChannelDicts = response.distributionChannelDicts;
});
},
//SAP销售地区数据列表
getSalesTerritory(){
getSalesTerritory(this.queryParams).then(response => {
this.salesTerritoryDicts = response.salesTerritoryDicts;
});
},
//SAP销售办公室数据列表
getSaleOffice(){
getSaleOffice(this.queryParams).then(response => {
this.saleOfficeDicts = response.saleOfficeDicts;
});
},
//客户税分类数据列表
getTax(){
getTax(this.queryParams).then(response => {
this.taxDicts = response.taxDicts;
});
},
//客户税分类数据列表
getReconciliationAccount(){
getReconciliationAccount(this.queryParams).then(response => {
this.reconciliationAccountDicts = response.reconciliationAccountDicts;
});
},
getAccountAllocationGroup(){
getAccountAllocationGroup(this.queryParams).then(response => {
this.accountAllocationGroupDicts = response.accountAllocationGroupDicts;
});
},
/*****************************SAP-RFC查询模块*************************************/
//SAP语言数据列表
getLanguage(){
getLanguage(this.queryParams).then(response => {
this.languageDicts = response.languageDicts;
});
},
/**------------------SAP国家数据列表-------------------**/
getCountrys(){
getCountrys(this.queryParams).then(response => {
this.countrysDicts = response.countrysDicts;
});
},
/**-------------选择器确认按钮---------**/
khzbOnConfirm(columns) {
this.form.cusGroup = columns.value
this.khzbText = columns.text;
this.khzbShowPicker = false;
},
khlxOnConfirm(columns) {
this.form.cusType = columns.value
this.khlxText = columns.text;
this.khlxShowPicker = false;
},
countryOnConfirm(columns) {
this.form.cusCountry = columns.value
this.countryText = columns.label
this.countryShowPicker = false;
},
languageOnConfirm(columns) {
this.form.cusLanguage = columns.value
this.languageText = columns.label
this.languageShowPicker = false;
},
/*****************************企查查查询模块*************************************/
/** 企查查客户弹出框 */
openQcc(){
this.qccOpen = true;
this.qccTitle = "企查查客户信息";
this.resetQccQuery();
},
/** 切换每页显示条数 */
/*handleQccSizeChange(val) {
this.qccPageSize = val;
this.qccCurrentPage = 1;
},*/
/** 页码选择 */
/*handleQccCurrentChange(val) {
this.qccCurrentPage = val;
},*/
/** 企查查客户查询 */
handleQccQuery(){
if(!this.queryQccParams.Name){
this.$message.warning("请输入公司名称!");
return;
}
// 校验是否超过企查查接口查询次数
checkQccCount().then(response => {
this.qccLoading = true;
qccListCustomer(this.queryQccParams).then(response => {
this.qccCustomerList = response.rows;
//this.qccTotal = response.total;
//this.qccCurrentPage = 1;
this.qccLoading = false;
},response => {
this.qccLoading = false;
});
});
},
// 多选框选中数据
handleSelectionQccChange(selection) {
this.qccSingle = selection.length!==1
this.qccMultiple = !selection.length
},
// 确认按钮
async qccConfirm() {
const qccTable = this.$refs.qccTable;
const selectedData = qccTable.selection;
this.form.cusName = selectedData[0].name;
this.form.cusVatNo = selectedData[0].creditCode;
this.form.cusQccStreet = selectedData[0].address;
//获取客户行业代码
await getIndustryCodeQcc(selectedData[0].name).then(response => {
console.log(response)
this.form.cusIndustryCodeQcc = response.cusIndustryCodeQcc;
})
this.qccOpen = false;
},
// 取消按钮
qccCancel() {
this.qccOpen = false;
this.resetQccQuery();
},
/** 重置按钮操作 */
resetQccQuery() {
this.qccCustomerList = [];
this.queryQccParams = {
Name: ""
}
},
/*****************************企查查查询模块*************************************/
},
}
</script>
<style>
.fixed-buttons-container {
padding: 10px;
position: fixed;
bottom: 0;
width: 100%;
background-color: #fff; /* 背景颜色,根据你的页面设计调整 */
box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1); /* 阴影效果,根据需要调整 */
justify-content: center; /* 居中对齐 */
text-align: center;
}
</style>