This commit is contained in:
xd 2024-05-27 16:28:59 +08:00
parent 9381577c87
commit eee1ae46ab
15 changed files with 583 additions and 226 deletions

View File

@ -1,5 +1,5 @@
#for tests only !
#Fri May 24 13:35:10 CST 2024
#Mon May 27 16:27:32 CST 2024
jco.destination.pool_capacity=10
jco.client.lang=ZH
jco.client.ashost=172.19.0.120
@ -7,5 +7,5 @@ jco.client.saprouter=
jco.client.user=RFC
jco.client.sysnr=00
jco.destination.peak_limit=10
jco.client.passwd=u?K-{MKso0NR;1AE/+Y9s/7g^0`/0Uo7Mk{RY=Aw!O|5bcY$
jco.client.passwd=654321
jco.client.client=300

View File

@ -284,6 +284,27 @@ public class SapRfcController
return ajax;
}
/**
* 获取账户分配组
* @param customer
* @return
*/
@PreAuthorize("@ss.hasPermi('customer:customer:list')")
@GetMapping("/getAccountAllocationGroup")
public AjaxResult getAccountAllocationGroup(Customer customer)
{
AjaxResult ajax = AjaxResult.success();
List<RfcResult> resCache = redisCache.getCacheObject(getSapCacheKey("accountAllocationGroup"));
if(CollectionUtils.isEmpty(resCache)){
resCache = SapRfcUtils.getAccountAllocationGroup(null);
redisCache.setCacheObject(getSapCacheKey("accountAllocationGroup"),resCache);
}
log.info("获取账户分配组数据条数 - {}", resCache.size());
ajax.put("accountAllocationGroupDicts", resCache);
return ajax;
}
/**
* 获取redis SAP公共数据
* @param type

View File

@ -11,7 +11,9 @@ import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.uuid.UUID;
import com.ruoyi.customer.domain.RfcResult;
import com.ruoyi.customer.domain.qcc.ECIIndustryVerify;
import com.ruoyi.customer.domain.qcc.FuzzySearch;
import com.ruoyi.customer.domain.qcc.QccECIIndustryVerifyJsonResult;
import com.ruoyi.customer.domain.qcc.QccFuzzySearchJsonResult;
import com.ruoyi.quot.domain.Quot;
import com.ruoyi.system.domain.SysNotice;
@ -63,6 +65,10 @@ public class CustomerController extends BaseController
@Value("${qichacha.serviceName}")
private String Qcc_serviceName;
// 接口请求地址
@Value("${qichacha.serviceNameGetInfo}")
private String Qcc_serviceName_GetInfo;
@Autowired
private ICustomerService customerService;
@ -174,10 +180,14 @@ public class CustomerController extends BaseController
@PostMapping("/returnCustomer")
public AjaxResult returnCustomer(@RequestBody Customer customer)
{
customer.setUpdateBy(getUsername());
customer.setCusApprovalStatus("3");//客户提交 状态设置为 已驳回
customerService.updateCustomer(customer);
return success();
if(!StringUtils.isEmpty(customer.getCusApprovalStatus())){
customer.setUpdateBy(getUsername());
customer.setCusApprovalStatus("3");//客户提交 状态设置为 已驳回
customerService.updateCustomer(customer);
return success();
}else{
return error("单据ID为空,无法操作");
}
}
/**
@ -188,10 +198,17 @@ public class CustomerController extends BaseController
@PostMapping("/commitSAPCustomer")
public AjaxResult commitSAPCustomer(@RequestBody Customer customer)
{
customer.setUpdateBy(getUsername());
customer.setCusApprovalStatus("2");//客户提交 状态设置为 已审核
//TODO 提交校验 调用SAP rfc接口 更新客户凭证号
if("1".equals(customer.getCusApprovalStatus())){// 数据组 提交业务员创建的客户数据提交SAP
customer.setUpdateBy(getUsername());
customer.setCusApprovalStatus("2");//客户提交 状态设置为 已审核
}else if(StringUtils.isEmpty(customer.getCusApprovalStatus())){// 数据组创建的客户数据提交SAP
customer.setCusId(UUID.fastUUID().toString());
customer.setCusCode(IdUtils.createNo("KH_",2));
customer.setCreateBy(getUsername());
customer.setCusApprovalStatus("2");//客户提交 状态设置为 已审核
customerService.insertCustomer(customer);
}
RfcResult result = SapRfcUtils.sendSAP(customer);
String type = result.getType();
if("S".equals(type)){
@ -265,4 +282,35 @@ public class CustomerController extends BaseController
}
return getDataTable(result);
}
// 获取企查查客户行业代码
@PreAuthorize("@ss.hasPermi('customer:customer:qcclist')")
@GetMapping("/getIndustryCodeQcc/{cusName}")
public AjaxResult getIndustryCodeQcc(@PathVariable String cusName)
{
AjaxResult result = new AjaxResult();
String cusIndustryCodeQcc = "";
String customerName = cusName;
String reqInterNme = Qcc_serviceName_GetInfo;
try {
if(!StringUtils.isEmpty(customerName)){
HttpHead reqHeader = new HttpHead();
String[] autherHeader = QiChaChaUtil.RandomAuthentHeader(Qcc_Key, Qcc_SecretKey);
reqHeader.setHeader("Token", autherHeader[0]);
reqHeader.setHeader("Timespan", autherHeader[1]);
String reqUri = reqInterNme.concat("?key=").concat(Qcc_Key).concat("&").concat("searchKey=").concat(customerName);
String tokenJson = HttpHelper.httpGet(reqUri, reqHeader.getAllHeaders());
System.out.println(String.format("==========================>this is response:{%s}", tokenJson));
QccECIIndustryVerifyJsonResult obj = JSON.parseObject(tokenJson, QccECIIndustryVerifyJsonResult.class);
ECIIndustryVerify eCIIndustryVerify = obj.getResult();
if("1".equals(eCIIndustryVerify.getVerifyResult())){
cusIndustryCodeQcc = eCIIndustryVerify.getData().getIndustry();
}
}
result.put("cusIndustryCodeQcc",cusIndustryCodeQcc);
} catch (Exception e1) {
e1.printStackTrace();
}
return result;
}
}

View File

@ -363,6 +363,38 @@ public class SapRfcUtils {
return countrys;
}
/**
* 获取账户分配组
* @param param
* @return
*/
public static List<RfcResult> getAccountAllocationGroup(Object param) {
JCoFunction function = null;
RfcResult rfcResult = null;
List<RfcResult> countrys = new ArrayList<>();
JCoDestination destination = ConnectToSAP.connect();
try {
function = destination.getRepository().getFunctionTemplate("ZRFC_BASIC_DATA").getFunction();
if (function == null)
throw new RuntimeException("RFC_SYSTEM_INFO not found in SAP.");
JCoParameterList input = function.getImportParameterList();
input.setValue("FLAG39", StringUtils.isNotNull(param)?param:"X");//输入参数
function.execute(destination);
JCoTable table = function.getTableParameterList().getTable("T_TVKTT");
for(int i = 0; i<table.getNumRows(); i++){
table.setRow(i);
rfcResult = new RfcResult();
rfcResult.setValue(table.getString("KTGRD"));
rfcResult.setLabel(table.getString("VTEXT"));
countrys.add(rfcResult);
}
}catch (Exception e) {
e.printStackTrace();
}
return countrys;
}
/*=======================================查询SAP银行代码信息=================================================*/
/**
* 获取银行代码数据
@ -433,7 +465,7 @@ public class SapRfcUtils {
JCoStructure jCoStructure2 = input.getStructure("IS_SALES");
jCoStructure2.setValue("VKORG",customer.getCusSalesOrganization());//销售组织
jCoStructure2.setValue("VKORG","1100");//销售组织
jCoStructure2.setValue("VTWEG",customer.getCusDistributionChannel());//分销渠道
jCoStructure2.setValue("SPART","00");//产品组
jCoStructure2.setValue("BZIRK",customer.getCusSalesTerritory());//销售地区
@ -499,5 +531,4 @@ public class SapRfcUtils {
}
System.out.println(countrys.size());
}
}

View File

@ -13,6 +13,7 @@ sapWebservice.psw: QAZ54321
qichacha.key: 824936f8e78c4f4788978da38b26d488
qichacha.secretKey: 8B9EB102FD17E0CF2EDEC0FB507DEC1E
qichacha.serviceName: https://api.qichacha.com/FuzzySearch/GetList
qichacha.serviceNameGetInfo: https://api.qichacha.com/ECIIndustryVerify/GetInfo
# SAP-RFC函数
sapRfc.ashost: 172.19.0.125 #服务器

View File

@ -51,6 +51,9 @@ public class Customer extends BaseEntity
@Excel(name = "行业代码")
private String cusIndustryCode;
/** 企查查行业代码 */
private String cusIndustryCodeQcc;
/** 客户组类别 */
@Excel(name = "客户组类别",dictType = "cus_group")
private String cusGroup;
@ -106,6 +109,10 @@ public class Customer extends BaseEntity
@Excel(name = "客户审批状态",dictType = "cus_approval_status")
private String cusApprovalStatus;
/** 客户审批状态 */
@Excel(name = "业务员")
private String cusSalesman;
/** 创建人 */
@Excel(name = "创建人")
private String createName;
@ -188,6 +195,9 @@ public class Customer extends BaseEntity
{
return cusIndustryCode;
}
public String getCusIndustryCodeQcc() { return cusIndustryCodeQcc; }
public void setCusIndustryCodeQcc(String cusIndustryCodeQcc) { this.cusIndustryCodeQcc = cusIndustryCodeQcc; }
public void setCusGroup(String cusGroup)
{
this.cusGroup = cusGroup;
@ -308,7 +318,9 @@ public class Customer extends BaseEntity
{
return cusApprovalStatus;
}
public String getCusSalesman() { return cusSalesman; }
public void setCusSalesman(String cusSalesman) { this.cusSalesman = cusSalesman; }
public String getCreateName() {
return createName;
}
@ -316,7 +328,6 @@ public class Customer extends BaseEntity
public void setCreateName(String createName) {
this.createName = createName;
}
public List<Bank> getBankList()
{
return bankList;
@ -335,6 +346,7 @@ public class Customer extends BaseEntity
private String cusCurrency;
private String cusTax;
private String cusReconciliationAccount;
private String cusAccountAllocationGroup;
public String getCusSalesOrganization() { return cusSalesOrganization; }
@ -363,4 +375,8 @@ public class Customer extends BaseEntity
public String getCusReconciliationAccount() { return cusReconciliationAccount; }
public void setCusReconciliationAccount(String cusReconciliationAccount) { this.cusReconciliationAccount = cusReconciliationAccount; }
public String getCusAccountAllocationGroup() { return cusAccountAllocationGroup; }
public void setCusAccountAllocationGroup(String cusAccountAllocationGroup) { this.cusAccountAllocationGroup = cusAccountAllocationGroup; }
}

View File

@ -0,0 +1,22 @@
package com.ruoyi.customer.domain.qcc;
public class ECIIndustryVerify {
private String VerifyResult;
private ResultData Data;
public String getVerifyResult() {
return VerifyResult;
}
public void setVerifyResult(String verifyResult) {
VerifyResult = verifyResult;
}
public ResultData getData() {
return Data;
}
public void setData(ResultData data) {
Data = data;
}
}

View File

@ -0,0 +1,22 @@
package com.ruoyi.customer.domain.qcc;
public class QccECIIndustryVerifyJsonResult {
private String Status;
private ECIIndustryVerify Result;
public String getStatus() {
return Status;
}
public void setStatus(String status) {
Status = status;
}
public ECIIndustryVerify getResult() {
return Result;
}
public void setResult(ECIIndustryVerify result) {
Result = result;
}
}

View File

@ -0,0 +1,76 @@
package com.ruoyi.customer.domain.qcc;
public class ResultData {
private String IndustryCode;
private String Industry;
private String SubIndustryCode;
private String SubIndustry;
private String MiddleCategoryCode;
private String MiddleCategory;
private String SmallCategoryCode;
private String SmallCategory;
public String getIndustryCode() {
return IndustryCode;
}
public void setIndustryCode(String industryCode) {
IndustryCode = industryCode;
}
public String getIndustry() {
return Industry;
}
public void setIndustry(String industry) {
Industry = industry;
}
public String getSubIndustryCode() {
return SubIndustryCode;
}
public void setSubIndustryCode(String subIndustryCode) {
SubIndustryCode = subIndustryCode;
}
public String getSubIndustry() {
return SubIndustry;
}
public void setSubIndustry(String subIndustry) {
SubIndustry = subIndustry;
}
public String getMiddleCategoryCode() {
return MiddleCategoryCode;
}
public void setMiddleCategoryCode(String middleCategoryCode) {
MiddleCategoryCode = middleCategoryCode;
}
public String getMiddleCategory() {
return MiddleCategory;
}
public void setMiddleCategory(String middleCategory) {
MiddleCategory = middleCategory;
}
public String getSmallCategoryCode() {
return SmallCategoryCode;
}
public void setSmallCategoryCode(String smallCategoryCode) {
SmallCategoryCode = smallCategoryCode;
}
public String getSmallCategory() {
return SmallCategory;
}
public void setSmallCategory(String smallCategory) {
SmallCategory = smallCategory;
}
}

View File

@ -14,6 +14,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="cusPaymentTerms" column="cus_payment_terms" />
<result property="cusPhoneNumber" column="cus_phone_number" />
<result property="cusIndustryCode" column="cus_industry_code" />
<result property="cusIndustryCodeQcc" column="cus_industry_code_qcc" />
<result property="cusGroup" column="cus_group" />
<result property="cusVatNo" column="cus_vat_no" />
<result property="cusType" column="cus_type" />
@ -28,6 +29,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="cusReturnRemark" column="cus_return_remark" />
<result property="cusState" column="cus_state" />
<result property="cusApprovalStatus" column="cus_approval_status" />
<result property="cusSalesman" column="cus_salesman" />
<result property="createBy" column="create_by" />
<result property="createName" column="create_name" />
<result property="createTime" column="create_time" />
@ -41,6 +43,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="cusCurrency" column="cus_currency" />
<result property="cusTax" column="cus_tax" />
<result property="cusReconciliationAccount" column="cus_reconciliation_account" />
<result property="cusAccountAllocationGroup" column="cus_account_allocation_group" />
</resultMap>
<resultMap id="CustomerBankResult" type="Customer" extends="CustomerResult">
@ -63,12 +66,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<sql id="selectCustomerVo">
select a.cus_id, a.cus_code, a.cus_name, a.cus_sap_code, a.cus_street, a.cus_qcc_street,a.cus_payment_terms, a.cus_phone_number,
a.cus_industry_code, a.cus_group, a.cus_vat_no, a.cus_type, a.cus_country, a.cus_language, a.cus_label,
a.cus_industry_code, a.cus_industry_code_qcc, a.cus_group, a.cus_vat_no, a.cus_type, a.cus_country, a.cus_language, a.cus_label,
a.cus_classification, a.cus_receiving_email, a.cus_recipient, a.cus_recipient_phone, a.cus_remark,a.cus_return_remark,
a.cus_state, a.cus_approval_status,a.create_time,u.nick_name create_name,
a.cus_state, a.cus_approval_status,a.cus_salesman,a.create_time,u.nick_name create_name,
a.cus_sales_organization,a.cus_distribution_channel,a.cus_sales_territory,a.cus_sale_office,
a.cus_currency,a.cus_tax,a.cus_reconciliation_account
a.cus_currency,a.cus_tax,a.cus_reconciliation_account,a.cus_account_allocation_group
from customer a
<include refid="customerJoins"/>
</sql>
@ -84,14 +87,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<!-- 数据范围过滤 -->
${params.dataScope}
</where>
order by a.update_time desc
</select>
<select id="selectCustomerByCusId" parameterType="java.lang.String" resultMap="CustomerBankResult">
select a.cus_id, a.cus_code, a.cus_name, a.cus_sap_code, a.cus_street,a.cus_qcc_street, a.cus_payment_terms, a.cus_phone_number, a.cus_industry_code,
a.cus_group, a.cus_vat_no, a.cus_type, a.cus_country, a.cus_language, a.cus_label, a.cus_classification, a.cus_receiving_email,
a.cus_recipient, a.cus_recipient_phone, a.cus_remark,a.cus_return_remark, a.cus_state, a.cus_approval_status,
a.cus_industry_code_qcc,a.cus_group, a.cus_vat_no, a.cus_type, a.cus_country, a.cus_language, a.cus_label, a.cus_classification, a.cus_receiving_email,
a.cus_recipient, a.cus_recipient_phone, a.cus_remark,a.cus_return_remark, a.cus_state, a.cus_approval_status,a.cus_salesman,
a.cus_sales_organization,a.cus_distribution_channel,a.cus_sales_territory,a.cus_sale_office,
a.cus_currency,a.cus_tax,a.cus_reconciliation_account,
a.cus_currency,a.cus_tax,a.cus_reconciliation_account,a.cus_account_allocation_group,
b.bank_id as sub_bank_id, b.bank_name as sub_bank_name, b.bank_account as sub_bank_account, b.cus_id as sub_cus_id,
b.bank_code as sub_bank_code,b.bank_country as sub_bank_country
from customer a
@ -111,6 +115,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="cusPaymentTerms != null and cusPaymentTerms != ''">cus_payment_terms,</if>
<if test="cusPhoneNumber != null and cusPhoneNumber != ''">cus_phone_number,</if>
<if test="cusIndustryCode != null and cusIndustryCode != ''">cus_industry_code,</if>
<if test="cusIndustryCodeQcc != null and cusIndustryCodeQcc != ''">cus_industry_code_qcc,</if>
<if test="cusGroup != null and cusGroup != ''">cus_group,</if>
<if test="cusVatNo != null and cusVatNo != ''">cus_vat_no,</if>
<if test="cusType != null">cus_type,</if>
@ -125,8 +130,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="cusReturnRemark != null">cus_return_remark,</if>
<if test="cusState != null">cus_state,</if>
<if test="cusApprovalStatus != null">cus_approval_status,</if>
<if test="createBy != null and createBy != ''">create_by,</if>
create_time,
<if test="cusSalesman != null">cus_salesman,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="cusSalesOrganization != null and cusSalesOrganization != ''">cus_sales_organization,</if>
<if test="cusDistributionChannel != null and cusDistributionChannel != ''">cus_distribution_channel,</if>
<if test="cusSalesTerritory != null and cusSalesTerritory != ''">cus_sales_territory,</if>
@ -134,7 +142,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="cusCurrency != null and cusCurrency != ''">cus_currency,</if>
<if test="cusTax != null and cusTax != ''">cus_tax,</if>
<if test="cusReconciliationAccount != null and cusReconciliationAccount != ''">cus_reconciliation_account,</if>
</trim>
<if test="cusAccountAllocationGroup != null and cusAccountAllocationGroup != ''">cus_account_allocation_group,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="cusId != null">#{cusId},</if>
<if test="cusCode != null and cusCode != ''">#{cusCode},</if>
@ -145,6 +154,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="cusPaymentTerms != null and cusPaymentTerms != ''">#{cusPaymentTerms},</if>
<if test="cusPhoneNumber != null and cusPhoneNumber != ''">#{cusPhoneNumber},</if>
<if test="cusIndustryCode != null and cusIndustryCode != ''">#{cusIndustryCode},</if>
<if test="cusIndustryCodeQcc != null and cusIndustryCodeQcc != ''">#{cusIndustryCodeQcc},</if>
<if test="cusGroup != null and cusGroup != ''">#{cusGroup},</if>
<if test="cusVatNo != null and cusVatNo != ''">#{cusVatNo},</if>
<if test="cusType != null">#{cusType},</if>
@ -159,8 +169,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="cusReturnRemark != null">#{cusReturnRemark},</if>
<if test="cusState != null">#{cusState},</if>
<if test="cusApprovalStatus != null">#{cusApprovalStatus},</if>
<if test="createBy != null and createBy != ''">#{createBy},</if>
getdate(),
<if test="cusSalesman != null">#{cusSalesman},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="cusSalesOrganization != null and cusSalesOrganization != ''">#{cusSalesOrganization},</if>
<if test="cusDistributionChannel != null and cusDistributionChannel != ''">#{cusDistributionChannel},</if>
<if test="cusSalesTerritory != null and cusSalesTerritory != ''">#{cusSalesTerritory},</if>
@ -168,7 +181,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="cusCurrency != null and cusCurrency != ''">#{cusCurrency},</if>
<if test="cusTax != null and cusTax != ''">#{cusTax},</if>
<if test="cusReconciliationAccount != null and cusReconciliationAccount != ''">#{cusReconciliationAccount},</if>
</trim>
<if test="cusAccountAllocationGroup != null and cusAccountAllocationGroup != ''">#{cusAccountAllocationGroup},</if>
</trim>
</insert>
<update id="updateCustomer" parameterType="Customer">
@ -182,6 +196,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="cusPaymentTerms != null and cusPaymentTerms != ''">cus_payment_terms = #{cusPaymentTerms},</if>
<if test="cusPhoneNumber != null and cusPhoneNumber != ''">cus_phone_number = #{cusPhoneNumber},</if>
<if test="cusIndustryCode != null and cusIndustryCode != ''">cus_industry_code = #{cusIndustryCode},</if>
<if test="cusIndustryCodeQcc != null and cusIndustryCodeQcc != ''">cus_industry_code_qcc = #{cusIndustryCodeQcc},</if>
<if test="cusGroup != null and cusGroup != ''">cus_group = #{cusGroup},</if>
<if test="cusVatNo != null and cusVatNo != ''">cus_vat_no = #{cusVatNo},</if>
<if test="cusType != null">cus_type = #{cusType},</if>
@ -196,8 +211,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="cusReturnRemark != null">cus_return_remark = #{cusReturnRemark},</if>
<if test="cusState != null">cus_state = #{cusState},</if>
<if test="cusApprovalStatus != null">cus_approval_status = #{cusApprovalStatus},</if>
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
update_time = getdate(),
<if test="cusSalesman != null">cus_salesman = #{cusSalesman},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="cusSalesOrganization != null and cusSalesOrganization != ''">cus_sales_organization = #{cusSalesOrganization},</if>
<if test="cusDistributionChannel != null and cusDistributionChannel != ''">cus_distribution_channel = #{cusDistributionChannel},</if>
<if test="cusSalesTerritory != null and cusSalesTerritory != ''">cus_sales_territory = #{cusSalesTerritory},</if>
@ -205,6 +223,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="cusCurrency != null and cusCurrency != ''">cus_currency = #{cusCurrency},</if>
<if test="cusTax != null and cusTax != ''">cus_tax = #{cusTax},</if>
<if test="cusReconciliationAccount != null and cusReconciliationAccount != ''">cus_reconciliation_account = #{cusReconciliationAccount},</if>
<if test="cusAccountAllocationGroup != null and cusAccountAllocationGroup != ''">cus_account_allocation_group = #{cusAccountAllocationGroup},</if>
</trim>
where cus_id = #{cusId}
</update>

View File

@ -89,6 +89,14 @@ export function getReconciliationAccount(query) {
params: query
})
}
// 查询账户分配组数据
export function getAccountAllocationGroup(query) {
return request({
url: '/rfc/rfc/getAccountAllocationGroup',
method: 'get',
params: query
})
}
// 查询银行代码数据
export function bankCodeList(query) {

View File

@ -92,3 +92,10 @@ export function qccListCustomer(query) {
params: query
})
}
// 获取行业代码
export function getIndustryCodeQcc(cusName) {
return request({
url: '/customer/customer/getIndustryCodeQcc/'+cusName,
method: 'get'
})
}

View File

@ -26,6 +26,9 @@ const user = {
SET_NAME: (state, name) => {
state.name = name
},
SET_NICK_NAME: (state, nickName) => {
state.nickName = nickName
},
SET_AVATAR: (state, avatar) => {
state.avatar = avatar
},
@ -98,6 +101,7 @@ const user = {
}
commit('SET_ID', user.userId)
commit('SET_NAME', user.userName)
commit('SET_NICK_NAME', user.nickName)
commit('SET_AVATAR', avatar)
commit('SET_SAPBM', sapUser.sapUserBm)

View File

@ -5,11 +5,12 @@
:width="width || '900px'"
:height="height || '650px'"
:show-close="false" append-to-body>
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="100px">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="100px" @submit.native.prevent>
<el-form-item label="公司编码" prop="Code">
<el-input
v-model="queryParams.Code"
placeholder="请输入公司编码"
@keyup.enter.native="handleQuery"
clearable
/>
</el-form-item>
@ -17,6 +18,7 @@
<el-input
v-model="queryParams.Name"
placeholder="请输入公司名称"
@keyup.enter.native="handleQuery"
clearable
/>
</el-form-item>

View File

@ -105,6 +105,7 @@
<dict-tag :options="dict.type.cus_approval_status" :value="scope.row.cusApprovalStatus"/>
</template>
</el-table-column>
<el-table-column fixed label="业务员" align="center" prop="cusSalesman"/>
<el-table-column fixed label="客户名称" align="center" prop="cusName" width="300px">
<template slot-scope="scope">
<el-link :underline="false" type="primary" @click="handleUpdate(scope.row)">{{scope.row.cusName}}</el-link>
@ -173,15 +174,15 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="街道/门牌号" prop="cusStreet">
<el-input v-model="form.cusStreet" placeholder="请输入街道/门牌号" :disabled="isDisSalesman"/>
<el-form-item label="街道" prop="cusQccStreet">
<el-input v-model="form.cusQccStreet" placeholder="企查查带出" :disabled="true"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="12">
<el-form-item label="街道" prop="cusQccStreet">
<el-input v-model="form.cusQccStreet" placeholder="企查查带出" :disabled="true"/>
<el-form-item label="街道/门牌号" prop="cusStreet">
<el-input v-model="form.cusStreet" placeholder="请输入街道/门牌号" :disabled="isDisSalesman"/>
</el-form-item>
</el-col>
<el-col :span="12">
@ -204,6 +205,7 @@
:key="dict.value"
:label="dict.label"
:value="dict.value"
:hidden="dict.value!='Z001' && dict.value!='Z002'"
></el-option>
</el-select>
</el-form-item>
@ -246,6 +248,11 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" v-if="checkRole(['ITZX_SJZ'])">
<el-form-item label="业务员" prop="cusSalesman">
<el-input v-model="form.cusSalesman" :disabled="isDisSjz"/>
</el-form-item>
</el-col>
</el-row>
<!-- <el-row :gutter="8">
<el-col :span="8">
@ -285,7 +292,7 @@
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="8">
<el-row :gutter="8" v-if="this.form.cusReturnRemark!=null">
<el-col :span="24">
<el-form-item label="驳回备注" prop="cusReturnRemark">
<el-input type="textarea" autosize v-model="form.cusReturnRemark" placeholder="数据组填写"/>
@ -590,164 +597,187 @@
</el-row>
</el-tab-pane>
</el-tabs>-->
<el-divider content-position="left" class="customer_divider_text">银行信息</el-divider>
<el-row class="mb8" :gutter="8">
<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" ref="bank">
<el-table-column type="selection" width="50" align="center" />
<el-table-column label="国家" prop="bankCountry" v-if="checkRole(['ITZX_SJZ'])">
<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="checkRole(['ITZX_SJZ'])">
<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 v-if="checkRole(['ITZX_SJZ'])">
<el-divider content-position="left" class="customer_divider_text">销售数据</el-divider>
<el-row :gutter="8">
<el-col :span="8">
<el-form-item label="付款条件" prop="cusPaymentTerms">
<el-select v-model="form.cusPaymentTerms" placeholder="请选择付款条件" style="width: 100%;" :disabled="isDisSjz">
<el-option
v-for="item in paymentTermsDicts"
:key="item.value"
:label="item.label"
:value="item.value"
:hidden="item.value!='Z001' && item.value!='Z002' && item.value!='Z003' && item.value!='Z004'
&& item.value!='Z005' && item.value!='Z006'"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="客户行业代码" prop="cusIndustryCodeQcc">
<el-input v-model="form.cusIndustryCodeQcc" placeholder="企查查带出" :disabled="true"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="行业代码" prop="cusIndustryCode">
<el-select v-model="form.cusIndustryCode" placeholder="请选择行业代码" style="width: 100%;" :disabled="isDisSjz">
<el-option
v-for="item in industryCodeDicts"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="8">
<!--<el-col :span="8">
<el-form-item label="销售组织" prop="cusSalesOrganization">
<el-select v-model="form.cusSalesOrganization" placeholder="请选择销售组织" style="width: 100%;" :disabled="isDisSjz">
<el-option
v-for="item in salesOrganizationDicts"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>-->
<el-col :span="8">
<el-form-item label="销售地区" prop="cusSalesTerritory">
<el-select v-model="form.cusSalesTerritory" placeholder="请选择销售地区" style="width: 100%;" :disabled="isDisSjz">
<el-option
v-for="item in salesTerritoryDicts"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="分销渠道" prop="cusDistributionChannel">
<el-select v-model="form.cusDistributionChannel" placeholder="请选择分销渠道" style="width: 100%;" :disabled="isDisSjz">
<el-option
v-for="item in distributionChannelDicts"
:key="item.value"
:label="item.label"
:value="item.value"
:hidden="item.value!='10' && item.value!='20'"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="销售办公室" prop="cusSaleOffice">
<el-select v-model="form.cusSaleOffice" placeholder="请选择销售办公室" style="width: 100%;" :disabled="isDisSjz">
<el-option
v-for="item in saleOfficeDicts"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="8">
<el-form-item label="币种" prop="cusCurrency">
<el-select v-model="form.cusCurrency" placeholder="请选择币种" style="width: 100%;" :disabled="isDisSjz">
<el-option
v-for="dict in dict.type.cus_currency"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="客户税分类" prop="cusTax">
<el-select v-model="form.cusTax" placeholder="请选择客户税" style="width: 100%;" :disabled="isDisSjz">
<el-option
v-for="item in taxDicts"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="统驭科目" prop="cusReconciliationAccount">
<el-select v-model="form.cusReconciliationAccount" placeholder="请选择统驭科目" style="width: 100%;" :disabled="isDisSjz">
<el-option
v-for="item in reconciliationAccountDicts"
:key="item.value"
:label="item.label"
:value="item.value"
:hidden="item.value!='1122010100' && item.value!='1122010200'"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="8">
<el-form-item label="账户分配组" prop="cusAccountAllocationGroup">
<el-select v-model="form.cusAccountAllocationGroup" placeholder="请选择统驭科目" style="width: 100%;" :disabled="isDisSjz">
<el-option
v-for="item in accountAllocationGroupDicts"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
<el-divider content-position="left" class="customer_divider_text">银行信息</el-divider>
<el-row class="mb8" :gutter="8">
<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="buttonShowSalesman">添加</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="buttonShowSalesman">删除</el-button>
</div>
</el-col>
</el-row>
<el-table :data="bankList" @selection-change="handleBankSelectionChange" ref="bank">
<el-table-column type="selection" width="50" align="center" />
<el-table-column label="国家" prop="bankCountry" v-if="checkRole(['ITZX_SJZ'])">
<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="checkRole(['ITZX_SJZ'])">
<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 v-if="checkRole(['ITZX_SJZ'])">
<el-divider content-position="left" class="customer_divider_text">销售数据</el-divider>
<el-row :gutter="8">
<el-col :span="8">
<el-form-item label="付款条件" prop="cusPaymentTerms">
<el-select v-model="form.cusPaymentTerms" placeholder="请选择付款条件" style="width: 100%;" :disabled="isDisSjz">
<el-option
v-for="item in paymentTermsDicts"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="行业代码" prop="cusIndustryCode">
<el-select v-model="form.cusIndustryCode" placeholder="请选择行业代码" style="width: 100%;" :disabled="isDisSjz">
<el-option
v-for="item in industryCodeDicts"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="销售地区" prop="cusSalesTerritory">
<el-select v-model="form.cusSalesTerritory" placeholder="请选择销售地区" style="width: 100%;" :disabled="isDisSjz">
<el-option
v-for="item in salesTerritoryDicts"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="8">
<el-form-item label="销售组织" prop="cusSalesOrganization">
<el-select v-model="form.cusSalesOrganization" placeholder="请选择销售组织" style="width: 100%;" :disabled="isDisSjz">
<el-option
v-for="item in salesOrganizationDicts"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="分销渠道" prop="cusDistributionChannel">
<el-select v-model="form.cusDistributionChannel" placeholder="请选择分销渠道" style="width: 100%;" :disabled="isDisSjz">
<el-option
v-for="item in distributionChannelDicts"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="销售办公室" prop="cusSaleOffice">
<el-select v-model="form.cusSaleOffice" placeholder="请选择销售办公室" style="width: 100%;" :disabled="isDisSjz">
<el-option
v-for="item in saleOfficeDicts"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="8">
<el-form-item label="币种" prop="cusCurrency">
<el-select v-model="form.cusCurrency" placeholder="请选择币种" style="width: 100%;" :disabled="isDisSjz">
<el-option
v-for="dict in dict.type.cus_currency"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="客户税分类" prop="cusTax">
<el-select v-model="form.cusTax" placeholder="请选择客户税" style="width: 100%;" :disabled="isDisSjz">
<el-option
v-for="item in taxDicts"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="统驭科目" prop="cusReconciliationAccount">
<el-select v-model="form.cusReconciliationAccount" placeholder="请选择统驭科目" style="width: 100%;" :disabled="isDisSjz">
<el-option
v-for="item in reconciliationAccountDicts"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
</div>
<div slot="footer" class="dialog-footer">
<span v-hasPermi="['customer:customer:save']">
<el-button @click="saveForm" v-if="buttonShowSalesman"> </el-button>
@ -759,18 +789,19 @@
<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"> OA</el-button>
<el-button type="primary" plain @click="commitSAPForm" v-if="buttonShowSjz"> SAP</el-button>
</span>
</div>
</el-dialog>
<!-- 企查查 客户查询 对话框 -->
<el-dialog :title="qccTitle" :visible.sync="qccOpen" width="800px" :show-close="false" append-to-body>
<el-form :model="queryQccParams" ref="queryQccForm" size="small" :inline="true" label-width="100px">
<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>
@ -802,11 +833,12 @@
<!-- 银行代码 查询 对话框 -->
<el-dialog :title="bankCodeTitle" :visible.sync="bankCodeOpen" width="800px" :show-close="false" append-to-body>
<el-form :model="queryBankCodeParams" ref="queryBankCodeForm" size="small" :inline="true" label-width="100px">
<el-form :model="queryBankCodeParams" ref="queryBankCodeForm" size="small" :inline="true" label-width="100px" @submit.native.prevent>
<el-form-item label="银行名称" prop="Name">
<el-input
v-model="queryBankCodeParams.bankName"
placeholder="请输入银行名称"
@keyup.enter.native="handleBankCodeQuery"
clearable
/>
</el-form-item>
@ -836,6 +868,11 @@
</div>
</template>
<style>
/* 根据需求设置位置上下偏移 */
.offset {
margin-top: 15px; /* 向上偏移5像素 */
margin-bottom: 15px; /* 向下偏移5像素 */
}
.el-dialog__body {
padding: 10px 10px;
color: #606266;
@ -852,9 +889,9 @@
}
</style>
<script>
import { listCustomer, getCustomer, delCustomer,changCusStatus, addCustomer, updateCustomer, commitCustomer,returnCustomer, commitSAPCustomer, qccListCustomer } from "@/api/customer/customer";
import { listCustomer, getCustomer, delCustomer,changCusStatus, addCustomer, updateCustomer, commitCustomer,returnCustomer, commitSAPCustomer, qccListCustomer, getIndustryCodeQcc } from "@/api/customer/customer";
import { checkPermi, checkRole } from "@/utils/permission"; //
import { bankCodeList,getCountrys,getIndustryCode,getLanguage,getPaymentTerms,getSalesOrganization,getDistributionChannel,getSalesTerritory,getSaleOffice,getTax,getReconciliationAccount } from "@/api/common/sapRfc";// sap-rfc
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";
@ -956,19 +993,19 @@ export default {
//
rules: {
cusName: [
{ required: true, message: "客户名称不能为空", trigger: "blur" }
{ required: true, message: "客户名称不能为空", trigger: "change" }
],
cusStreet: [
{ required: true, message: "街道/门牌号不能为空", trigger: "blur" }
{ required: true, message: "街道/门牌号不能为空", trigger: "change" }
],
cusPhoneNumber: [
{ required: true, message: "电话号码不能为空", trigger: "blur" }
{ required: true, message: "电话号码不能为空", trigger: "change" }
],
cusGroup: [
{ required: true, message: "客户组类别不能为空", trigger: "change" }
],
cusVatNo: [
{ required: true, message: "增值税号不能为空", trigger: "blur" }
{ required: true, message: "增值税号不能为空", trigger: "change" }
],
cusCountry: [
{ required: true, message: "国家不能为空", trigger: "change" }
@ -982,34 +1019,39 @@ export default {
{ required: true,trigger: "change", validator: validateCusPaymentTerms}
],
cusIndustryCode: [
{ required: true, trigger: "blur", validator: validateCusIndustryCode }
{ required: true, trigger: "change", validator: validateCusIndustryCode }
],
cusSalesOrganization: [
{ required: true, message: "销售组织不能为空", trigger: "blur"}
{ required: true, message: "销售组织不能为空", trigger: "change"}
],
cusDistributionChannel: [
{ required: true, message: "分销渠道不能为空", trigger: "blur" }
{ required: true, message: "分销渠道不能为空", trigger: "change" }
],
cusSalesTerritory: [
{ required: true, trigger: "blur", validator: validateCusSalesTerritory }
{ required: true, trigger: "change", validator: validateCusSalesTerritory }
],
cusSaleOffice: [
{ required: true, trigger: "blur", validator: validateCusSaleOffice }
{ required: true, trigger: "change", validator: validateCusSaleOffice }
],
cusCurrency: [
{ required: true, message: "币种不能为空", trigger: "blur" }
{ required: true, message: "币种不能为空", trigger: "change" }
],
cusTax: [
{ required: true, trigger: "blur", validator: validateCusTax }
{ required: true, trigger: "change", validator: validateCusTax }
],
cusReconciliationAccount: [
{ required: true, trigger: "blur", validator: validateCusReconciliationAccount }
{ required: true, trigger: "change", validator: validateCusReconciliationAccount }
],
cusAccountAllocationGroup: [
{ required: true, trigger: "change", validator: validateCusReconciliationAccount }
]
},
// \, -
// \ -
buttonShowSalesman: true,
//
bankButtonShow: true,
// OA -
buttonShowSjz: true,
@ -1074,6 +1116,7 @@ export default {
saleOfficeDicts: [], //
taxDicts: [], //
reconciliationAccountDicts: [], //
accountAllocationGroupDicts: [], //
/*****************************SAP-RFC查询模块*************************************/
};
@ -1110,25 +1153,32 @@ export default {
cusName: null,
cusSapCode: null,
cusStreet: null,
cusPaymentTerms: null,
cusPhoneNumber: null,
cusIndustryCode: null,
cusGroup: null,
cusVatNo: null,
cusType: null,
cusCountry: null,
cusLanguage: null,
cusLabel: null,
cusClassification: null,
cusReceivingEmail: null,
cusRecipient: null,
cusRecipientPhone: null,
cusSalesman: null,
cusRemark: null,
cusState: null,
cusApprovalStatus: 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();
},
/** 搜索按钮操作 */
handleQuery() {
@ -1158,31 +1208,35 @@ export default {
});
},
/** 新增按钮操作 */
handleAdd() {
async handleAdd() {
this.reset();
this.open = true;
this.title = "添加客户信息";
this.setInitF();
this.setInitV();
this.form.cusSalesman = this.$store.state.user.nickName;
this.buttonShowSalesman = checkRole(['ITZX_SJZ']) ? false : true; //
this.buttonShowSjz = checkRole(['ITZX_SJZ']) ? true : false;//
},
/** 修改按钮操作 */
handleUpdate(row) {
async handleUpdate(row) {
this.reset();
const cusId = row.cusId || this.ids
getCustomer(cusId).then(response => {
this.setInitF();
this.form = response.data;
// -
this.buttonShowSalesman = this.form.cusApprovalStatus == '0'?true:false;
this.isDisSalesman = this.form.cusApprovalStatus == '0'?false:true;
//
this.isDisSalesman = this.form.cusApprovalStatus == '0' ? false : (checkRole(['ITZX_SJZ'])&&this.form.cusApprovalStatus == '1') ? false : true;
// - OA
this.buttonShowSjz = this.form.cusApprovalStatus != '2'?true:false;
// -
this.isDisSjz = this.form.cusApprovalStatus == '1'?false:true;
//
this.bankButtonShow = this.form.cusApprovalStatus == '0'?true:false;
this.bankList = response.data.bankList;
this.open = true;
this.title = "修改客户信息";
this.title = "客户信息";
});
},
/** 保存按钮 */
@ -1232,6 +1286,18 @@ export default {
this.$refs["form"].validate(valid => {
if (valid) {
this.form.bankList = this.bankList;
//
try{
this.bankList.forEach((row, index) => {
if(!row.bankCode){
this.$modal.msgError("银行代码不能为空");
throw new Error;
}
})
}catch(e){
return;
}
commitSAPCustomer(this.form).then(response => {
this.$modal.msgSuccess("提交SAP成功");
this.open = false;
@ -1324,15 +1390,21 @@ export default {
},
//
qccConfirm(){
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;
@ -1429,6 +1501,8 @@ export default {
this.form.cusSalesOrganization = '1100';
this.form.cusDistributionChannel = '10';
this.form.cusCurrency = 'CNY';
this.form.cusTax = '1';
this.form.cusReconciliationAccount = '1122010100';
},
// SAP
setInitF(){
@ -1444,6 +1518,7 @@ export default {
this.getSaleOffice();
this.getTax();
this.getReconciliationAccount();
this.getAccountAllocationGroup();
},
//SAP
getCountrys(){
@ -1505,6 +1580,11 @@ export default {
this.reconciliationAccountDicts = response.reconciliationAccountDicts;
});
},
getAccountAllocationGroup(){
getAccountAllocationGroup(this.queryParams).then(response => {
this.accountAllocationGroupDicts = response.accountAllocationGroupDicts;
});
},
/*****************************SAP-RFC查询模块*************************************/
},
computed: {