You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2329 lines
99 KiB

<template>
<view class="jnpf-wrap jnpf-wrap-form" v-if="!loading">
<u-form :model="dataForm" :rules="rules" ref="dataForm" :errorType="['toast']"
label-position="left" label-align="right" :label-width="labelwidth" class="jnpf-form">
<view class="u-p-l-20 u-p-r-20 ">
<u-form-item>
<jnpf-group
value="客户分类" content="客户分类" contentPosition="left" >
</jnpf-group>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('calssify')"
:required="requiredList.calssify" label="客户分类" prop="calssify" >
<jnpf-radio v-model="dataForm.calssify" :disabled="judgeWrite('calssify')"
@change="changeData('calssify',-1)"
optionType="button" direction="horizontal" :props="calssifyProps" :options="calssifyOptions" :style='{"width":"100%"}'>
</jnpf-radio>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('subjectBasicType')"
:required="requiredList.subjectBasicType" label="主体类型" prop="subjectBasicType" >
<u-input v-model="dataForm.subjectBasicType" :disabled="judgeWrite('subjectBasicType')"
@change="changeData('subjectBasicType',-1)"
input-align='right' clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 ">
<u-form-item>
<jnpf-group
value="基础信息" content="基础信息" contentPosition="left" >
</jnpf-group>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('logo')"
:required="requiredList.logo" label="公司logo" prop="logo" >
<jnpf-upload v-model="dataForm.logo" :disabled="judgeWrite('logo')"
@change="changeData('logo',-1)"
sizeUnit="MB" :fileSize="10" :limit="1" pathType="defaultPath" :isAccount="0" :value="dataForm.logo">
</jnpf-upload>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('name')"
:required="requiredList.name" label="客户名称" prop="name" >
<u-input v-model="dataForm.name" :disabled="judgeWrite('name')"
@change="changeData('name',-1)"
input-align='right' clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('enterpriseNature')"
:required="requiredList.enterpriseNature" label="企业性质" prop="enterpriseNature" >
<jnpf-select v-model="dataForm.enterpriseNature" :disabled="judgeWrite('enterpriseNature')"
@change="changeData('enterpriseNature',-1)"
clearable placeholder="请选择" :props="enterpriseNatureProps" :options="enterpriseNatureOptions" :style='{"width":"100%"}'>
</jnpf-select>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('industryClassify')"
:required="requiredList.industryClassify" label="行业分类" prop="industryClassify" >
<jnpf-select v-model="dataForm.industryClassify" :disabled="judgeWrite('industryClassify')"
@change="changeData('industryClassify',-1)"
clearable placeholder="请选择" :props="industryClassifyProps" :options="industryClassifyOptions" :style='{"width":"100%"}'>
</jnpf-select>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('belongPeople')"
:required="requiredList.belongPeople" label="归属人员" prop="belongPeople" >
<jnpf-user-select v-model="dataForm.belongPeople" :disabled="judgeWrite('belongPeople')"
@change="changeData('belongPeople',-1)"
selectType="all" :ableIds="ableAll.belongPeopleableIds" clearable placeholder="请选择" :style='{"width":"100%"}'>
</jnpf-user-select>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('customerStarRating')"
:required="requiredList.customerStarRating" label="客户星级" prop="customerStarRating" >
<jnpf-select v-model="dataForm.customerStarRating" :disabled="judgeWrite('customerStarRating')"
@change="changeData('customerStarRating',-1)"
clearable placeholder="请选择" :props="customerStarRatingProps" :options="customerStarRatingOptions" :style='{"width":"100%"}'>
</jnpf-select>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('fundBalance')"
:required="requiredList.fundBalance" label="资金余额" prop="fundBalance" >
<jnpf-number-box v-model="dataForm.fundBalance" :disabled="judgeWrite('fundBalance')"
@change="changeData('fundBalance',-1)"
:precision="6" addonAfter="元" :controls="false" placeholder="资金余额" :step="1">
</jnpf-number-box>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 ">
<u-form-item>
<jnpf-group
value="详细信息" content="详细信息" contentPosition="left" >
</jnpf-group>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('country')"
:required="requiredList.country" label="国家" prop="country" >
<u-input v-model="dataForm.country" :disabled="judgeWrite('country')"
@change="changeData('country',-1)"
input-align='right' clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('city')"
:required="requiredList.city" label="所在城市" prop="city" >
<jnpf-city-select v-model="dataForm.city" :disabled="judgeWrite('city')"
@change="changeData('city',-1)"
clearable placeholder="请选择" :level="1" :style='{"width":"100%"}'>
</jnpf-city-select>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('address')"
:required="requiredList.address" label="详细地址" prop="address" >
<u-input v-model="dataForm.address" :disabled="judgeWrite('address')"
@change="changeData('address',-1)"
input-align='right' clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('phone')"
:required="requiredList.phone" label="公司电话" prop="phone" >
<u-input v-model="dataForm.phone" :disabled="judgeWrite('phone')"
@change="changeData('phone',-1)"
input-align='right' clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('companyFax')"
:required="requiredList.companyFax" label="公司传真" prop="companyFax" >
<u-input v-model="dataForm.companyFax" :disabled="judgeWrite('companyFax')"
@change="changeData('companyFax',-1)"
input-align='right' clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('companyWebsite')"
:required="requiredList.companyWebsite" label="公司网址" prop="companyWebsite" >
<u-input v-model="dataForm.companyWebsite" :disabled="judgeWrite('companyWebsite')"
@change="changeData('companyWebsite',-1)"
input-align='right' addonBefore="https://" clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('companyDescription')"
:required="requiredList.companyDescription" label="公司介绍" prop="companyDescription" >
<u-input v-model="dataForm.companyDescription" :disabled="judgeWrite('companyDescription')"
@change="changeData('companyDescription',-1)"
input-align='right' clearable placeholder="请输入" type="textarea" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 ">
<u-form-item>
<jnpf-group
value="主体信息" content="主体信息" contentPosition="left" >
</jnpf-group>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('socialInformationCodeCertificate')"
:required="requiredList.socialInformationCodeCertificate" label="营业执照" prop="socialInformationCodeCertificate" >
<jnpf-upload v-model="dataForm.socialInformationCodeCertificate" :disabled="judgeWrite('socialInformationCodeCertificate')"
@change="changeData('socialInformationCodeCertificate',-1)"
sizeUnit="MB" :fileSize="10" :limit="1" pathType="defaultPath" :isAccount="0" :value="dataForm.socialInformationCodeCertificate">
</jnpf-upload>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('registerAddress')"
:required="requiredList.registerAddress" label="注册地址" prop="registerAddress" >
<u-input v-model="dataForm.registerAddress" :disabled="judgeWrite('registerAddress')"
@change="changeData('registerAddress',-1)"
input-align='right' clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('informationCode')"
:required="requiredList.informationCode" label="社会统一信息代码" prop="informationCode" >
<u-input v-model="dataForm.informationCode" :disabled="judgeWrite('informationCode')"
@change="changeData('informationCode',-1)"
input-align='right' clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('operationStart')"
:required="requiredList.operationStart" label="经营时间开始" prop="operationStart" >
<jnpf-date-time v-model="dataForm.operationStart" :disabled="judgeWrite('operationStart')"
@change="changeData('operationStart',-1)"
:startTime="dateTime(false,1,1,'','')" :endTime="dateTime(false,1,1,'','')" format="yyyy-MM-dd" clearable placeholder="请选择" type="date" :style='{"width":"100%"}'>
</jnpf-date-time>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('operationEnd')"
:required="requiredList.operationEnd" label="经营时间结束" prop="operationEnd" >
<jnpf-date-time v-model="dataForm.operationEnd" :disabled="judgeWrite('operationEnd')"
@change="changeData('operationEnd',-1)"
:startTime="dateTime(false,1,1,'','')" :endTime="dateTime(false,1,1,'','')" format="yyyy-MM-dd" clearable placeholder="请选择" type="date" :style='{"width":"100%"}'>
</jnpf-date-time>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('registerFunds')"
:required="requiredList.registerFunds" label="注册资金" prop="registerFunds" >
<u-input v-model="dataForm.registerFunds" :disabled="judgeWrite('registerFunds')"
@change="changeData('registerFunds',-1)"
input-align='right' addonAfter="万元" clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('registerFundsUnit')"
:required="requiredList.registerFundsUnit" label="注册资金单位" prop="registerFundsUnit" >
<jnpf-select v-model="dataForm.registerFundsUnit" :disabled="judgeWrite('registerFundsUnit')"
@change="changeData('registerFundsUnit',-1)"
placeholder="请选择" :props="registerFundsUnitProps" :options="registerFundsUnitOptions" :style='{"width":"100%"}'>
</jnpf-select>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('operationScope')"
:required="requiredList.operationScope" label="经营范围" prop="operationScope" >
<u-input v-model="dataForm.operationScope" :disabled="judgeWrite('operationScope')"
@change="changeData('operationScope',-1)"
input-align='right' clearable placeholder="请输入" type="textarea" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 ">
<u-form-item>
<jnpf-group
value="代表人信息" content="代表人信息" contentPosition="left" >
</jnpf-group>
</u-form-item>
</view>
<view class="jnpf-table" v-if="judgeShow('subjectrepresentativeList')">
<view class="jnpf-table-item" v-for="(item,i) in dataForm.subjectrepresentativeList" :key="i">
<view class="jnpf-table-item-title u-flex u-row-between">
<text class="jnpf-table-item-title-num">代表人信息({{i+1}})</text>
<view class="jnpf-table-item-title-action" v-if=" !judgeWrite('subjectrepresentativeList') && dataForm.subjectrepresentativeList.length>0" @click="delsubjectrepresentativeList(i)">删除</view>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('subjectrepresentativeList-representativeType')"
:required="requiredList['subjectrepresentativeList-representativeType']" label="代表人类型" >
<jnpf-select v-model="dataForm.subjectrepresentativeList[i].representativeType" :disabled="judgeWrite('subjectrepresentativeList')||judgeWrite('subjectrepresentativeList-representativeType')"
@change="changeData('subjectrepresentative-representativeType',i)"
clearable placeholder="请选择" :props="subjectrepresentativerepresentativeTypeProps" :options="subjectrepresentativerepresentativeTypeOptions" :style='{"width":"100%"}'>
</jnpf-select>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('subjectrepresentativeList-name')"
:required="requiredList['subjectrepresentativeList-name']" label="姓名" >
<u-input v-model="dataForm.subjectrepresentativeList[i].name" :disabled="judgeWrite('subjectrepresentativeList')||judgeWrite('subjectrepresentativeList-name')"
@change="changeData('subjectrepresentative-name',i)"
input-align='right' clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('subjectrepresentativeList-idCard')"
:required="requiredList['subjectrepresentativeList-idCard']" label="身份证号" >
<u-input v-model="dataForm.subjectrepresentativeList[i].idCard" :disabled="judgeWrite('subjectrepresentativeList')||judgeWrite('subjectrepresentativeList-idCard')"
@change="changeData('subjectrepresentative-idCard',i)"
input-align='right' clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('subjectrepresentativeList-idCardStart')"
:required="requiredList['subjectrepresentativeList-idCardStart']" label="证件有效时间开始" >
<jnpf-date-time v-model="dataForm.subjectrepresentativeList[i].idCardStart" :disabled="judgeWrite('subjectrepresentativeList')||judgeWrite('subjectrepresentativeList-idCardStart')"
@change="changeData('subjectrepresentative-idCardStart',i)"
:startTime="dateTime(false,1,1,'','')" :endTime="dateTime(false,1,1,'','')" format="yyyy-MM-dd" clearable placeholder="请选择" type="date" :style='{"width":"100%"}'>
</jnpf-date-time>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('subjectrepresentativeList-idCardEnd')"
:required="requiredList['subjectrepresentativeList-idCardEnd']" label="证件有效时间结束" >
<jnpf-date-time v-model="dataForm.subjectrepresentativeList[i].idCardEnd" :disabled="judgeWrite('subjectrepresentativeList')||judgeWrite('subjectrepresentativeList-idCardEnd')"
@change="changeData('subjectrepresentative-idCardEnd',i)"
:startTime="dateTime(false,1,1,'','')" :endTime="dateTime(false,1,1,'','')" format="yyyy-MM-dd" clearable placeholder="请选择" type="date" :style='{"width":"100%"}'>
</jnpf-date-time>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('subjectrepresentativeList-idCardPhoto1')"
:required="requiredList['subjectrepresentativeList-idCardPhoto1']" label="证件照正面" >
<jnpf-upload v-model="dataForm.subjectrepresentativeList[i].idCardPhoto1" :disabled="judgeWrite('subjectrepresentativeList')||judgeWrite('subjectrepresentativeList-idCardPhoto1')"
@change="changeData('subjectrepresentative-idCardPhoto1',i)"
sizeUnit="MB" :fileSize="10" :limit="1" pathType="defaultPath" :isAccount="0" :value="dataForm.subjectrepresentativeList[i].idCardPhoto1">
</jnpf-upload>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('subjectrepresentativeList-idCardPhoto2')"
:required="requiredList['subjectrepresentativeList-idCardPhoto2']" label="证件照反面" >
<jnpf-upload v-model="dataForm.subjectrepresentativeList[i].idCardPhoto2" :disabled="judgeWrite('subjectrepresentativeList')||judgeWrite('subjectrepresentativeList-idCardPhoto2')"
@change="changeData('subjectrepresentative-idCardPhoto2',i)"
sizeUnit="MB" :fileSize="10" :limit="1" pathType="defaultPath" :isAccount="0" :value="dataForm.subjectrepresentativeList[i].idCardPhoto2">
</jnpf-upload>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('subjectrepresentativeList-idCardPhoto3')"
:required="requiredList['subjectrepresentativeList-idCardPhoto3']" label="手持证件照" >
<jnpf-upload v-model="dataForm.subjectrepresentativeList[i].idCardPhoto3" :disabled="judgeWrite('subjectrepresentativeList')||judgeWrite('subjectrepresentativeList-idCardPhoto3')"
@change="changeData('subjectrepresentative-idCardPhoto3',i)"
sizeUnit="MB" :fileSize="10" :limit="1" pathType="defaultPath" :isAccount="0" :value="dataForm.subjectrepresentativeList[i].idCardPhoto3">
</jnpf-upload>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('subjectrepresentativeList-authorizeFiles')"
:required="requiredList['subjectrepresentativeList-authorizeFiles']" label="授权/证明文件" >
<jnpf-file v-model="dataForm.subjectrepresentativeList[i].authorizeFiles" :disabled="judgeWrite('subjectrepresentativeList')||judgeWrite('subjectrepresentativeList-authorizeFiles')"
@change="changeData('subjectrepresentative-authorizeFiles',i)"
:list="dataForm.subjectrepresentativeList[i].authorizeFiles" sizeUnit="MB" :fileSize="10" :limit="9" pathType="defaultPath" :isAccount="0" >
</jnpf-file>
</u-form-item>
</view>
</view>
<view class="jnpf-table-addBtn" @click="addsubjectrepresentativeList" v-if="!judgeWrite('subjectrepresentativeList')">
<u-icon name="plus" color="#2979ff"></u-icon>
<span>{{dataForm.subjectrepresentativeList.length==0?"添加代表人信息":"添加"}}</span>
</view>
</view>
<view class="u-p-l-20 u-p-r-20 ">
<u-form-item>
<jnpf-group
value="资质证明文件" content="资质证明文件" contentPosition="left" >
</jnpf-group>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('assetProof')"
:required="requiredList.assetProof" label="资产证明" prop="assetProof" >
<jnpf-file v-model="dataForm.assetProof" :disabled="judgeWrite('assetProof')"
@change="changeData('assetProof',-1)"
:list="dataForm.assetProof" sizeUnit="MB" :fileSize="10" :limit="9" pathType="defaultPath" :isAccount="0" >
</jnpf-file>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('assetMortgageProof')"
:required="requiredList.assetMortgageProof" label="资产抵押证明" prop="assetMortgageProof" >
<jnpf-file v-model="dataForm.assetMortgageProof" :disabled="judgeWrite('assetMortgageProof')"
@change="changeData('assetMortgageProof',-1)"
:list="dataForm.assetMortgageProof" sizeUnit="MB" :fileSize="10" :limit="9" pathType="defaultPath" :isAccount="0" >
</jnpf-file>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('paidCapitalProof')"
:required="requiredList.paidCapitalProof" label="实缴资金证明" prop="paidCapitalProof" >
<jnpf-file v-model="dataForm.paidCapitalProof" :disabled="judgeWrite('paidCapitalProof')"
@change="changeData('paidCapitalProof',-1)"
:list="dataForm.paidCapitalProof" sizeUnit="MB" :fileSize="10" :limit="9" pathType="defaultPath" :isAccount="0" >
</jnpf-file>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('otherAptitudeFile')"
:required="requiredList.otherAptitudeFile" label="其他资质文件" prop="otherAptitudeFile" >
<jnpf-file v-model="dataForm.otherAptitudeFile" :disabled="judgeWrite('otherAptitudeFile')"
@change="changeData('otherAptitudeFile',-1)"
:list="dataForm.otherAptitudeFile" sizeUnit="MB" :fileSize="10" :limit="9" pathType="defaultPath" :isAccount="0" >
</jnpf-file>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 ">
<u-form-item>
<jnpf-group
value="业务信息" content="业务信息" contentPosition="left" >
</jnpf-group>
</u-form-item>
</view>
<view class="jnpf-table" v-if="judgeShow('subjectbusinesslineList')">
<view class="jnpf-table-item" v-for="(item,i) in dataForm.subjectbusinesslineList" :key="i">
<view class="jnpf-table-item-title u-flex u-row-between">
<text class="jnpf-table-item-title-num">关联业务线({{i+1}})</text>
<view class="jnpf-table-item-title-action" v-if=" !judgeWrite('subjectbusinesslineList') && dataForm.subjectbusinesslineList.length>0" @click="delsubjectbusinesslineList(i)">删除</view>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('subjectbusinesslineList-businessLineId')"
:required="requiredList['subjectbusinesslineList-businessLineId']" label="关联业务线" >
<jnpf-popup-select v-model="dataForm.subjectbusinesslineList[i].businessLineId" :disabled="judgeWrite('subjectbusinesslineList')||judgeWrite('subjectbusinesslineList-businessLineId')"
@change="changeData('subjectbusinessline-businessLineId',i)"
:rowIndex="i" :formData="dataForm" :templateJson="interfaceRes.subjectbusinesslinebusinessLineId" clearable propsValue="id" popupWidth="800px" popupTitle="选择数据" popupType="dialog" relationField='name' :vModel="'businessLineId'+i" :columnOptions="subjectbusinesslinebusinessLineIdColumnOptions" interfaceId="517979330417001669" :pageSize="20" placeholder="请选择" type="popup" :style='{"width":"100%"}'>
</jnpf-popup-select>
</u-form-item>
</view>
</view>
<view class="jnpf-table-addBtn" @click="addsubjectbusinesslineList" v-if="!judgeWrite('subjectbusinesslineList')">
<u-icon name="plus" color="#2979ff"></u-icon>
<span>{{dataForm.subjectbusinesslineList.length==0?"添加业务线关联业务线":"添加业务线"}}</span>
</view>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('collaborationStart')"
:required="requiredList.collaborationStart" label="合作时间开始" prop="collaborationStart" >
<jnpf-date-time v-model="dataForm.collaborationStart" :disabled="judgeWrite('collaborationStart')"
@change="changeData('collaborationStart',-1)"
:startTime="dateTime(false,1,1,'','')" :endTime="dateTime(false,1,1,'','')" format="yyyy-MM-dd" clearable placeholder="请选择" type="date" :style='{"width":"100%"}'>
</jnpf-date-time>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('demandVolumeDown')"
:required="requiredList.demandVolumeDown" label="需求量下" prop="demandVolumeDown" >
<u-input v-model="dataForm.demandVolumeDown" :disabled="judgeWrite('demandVolumeDown')"
@change="changeData('demandVolumeDown',-1)"
input-align='right' addonAfter="吨" clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('demandVolumeUpper')"
:required="requiredList.demandVolumeUpper" label="需求量上" prop="demandVolumeUpper" >
<u-input v-model="dataForm.demandVolumeUpper" :disabled="judgeWrite('demandVolumeUpper')"
@change="changeData('demandVolumeUpper',-1)"
input-align='right' addonAfter="吨" clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 ">
<u-form-item>
<jnpf-group
value="财务信息" content="财务信息" contentPosition="left" >
</jnpf-group>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('paymentMethod')"
:required="requiredList.paymentMethod" label="付款方式" prop="paymentMethod" >
<jnpf-select v-model="dataForm.paymentMethod" :disabled="judgeWrite('paymentMethod')"
@change="changeData('paymentMethod',-1)"
clearable placeholder="请选择" :props="paymentMethodProps" :options="paymentMethodOptions" :style='{"width":"100%"}'>
</jnpf-select>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('accountName')"
:required="requiredList.accountName" label="账户名称" prop="accountName" >
<u-input v-model="dataForm.accountName" :disabled="judgeWrite('accountName')"
@change="changeData('accountName',-1)"
input-align='right' clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('bankAccount')"
:required="requiredList.bankAccount" label="银行账号" prop="bankAccount" >
<u-input v-model="dataForm.bankAccount" :disabled="judgeWrite('bankAccount')"
@change="changeData('bankAccount',-1)"
input-align='right' clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('depositBank')"
:required="requiredList.depositBank" label="开户银行" prop="depositBank" >
<jnpf-select v-model="dataForm.depositBank" :disabled="judgeWrite('depositBank')"
@change="changeData('depositBank',-1)"
clearable placeholder="请选择" :props="depositBankProps" :options="depositBankOptions" :style='{"width":"100%"}'>
</jnpf-select>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('depositArea')"
:required="requiredList.depositArea" label="开户地区" prop="depositArea" >
<jnpf-city-select v-model="dataForm.depositArea" :disabled="judgeWrite('depositArea')"
@change="changeData('depositArea',-1)"
clearable placeholder="请选择" :level="2" :style='{"width":"100%"}'>
</jnpf-city-select>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('bankBranchName')"
:required="requiredList.bankBranchName" label="支行名称" prop="bankBranchName" >
<u-input v-model="dataForm.bankBranchName" :disabled="judgeWrite('bankBranchName')"
@change="changeData('bankBranchName',-1)"
input-align='right' clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('companyTaxNumber')"
:required="requiredList.companyTaxNumber" label="公司税号" prop="companyTaxNumber" >
<u-input v-model="dataForm.companyTaxNumber" :disabled="judgeWrite('companyTaxNumber')"
@change="changeData('companyTaxNumber',-1)"
input-align='right' clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('enterpriseName')"
:required="requiredList.enterpriseName" label="企业名称" prop="enterpriseName" >
<u-input v-model="dataForm.enterpriseName" :disabled="judgeWrite('enterpriseName')"
@change="changeData('enterpriseName',-1)"
input-align='right' clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('workAddress')"
:required="requiredList.workAddress" label="单位地址" prop="workAddress" >
<u-input v-model="dataForm.workAddress" :disabled="judgeWrite('workAddress')"
@change="changeData('workAddress',-1)"
input-align='right' clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 ">
<u-form-item>
<jnpf-group
value="结算信息" content="结算信息" contentPosition="left" >
</jnpf-group>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('collaborationMethod')"
:required="requiredList.collaborationMethod" label="合作方式" prop="collaborationMethod" >
<jnpf-radio v-model="dataForm.collaborationMethod" :disabled="judgeWrite('collaborationMethod')"
@change="changeData('collaborationMethod',-1)"
optionType="default" direction="horizontal" :props="collaborationMethodProps" :options="collaborationMethodOptions" :style='{"width":"100%"}'>
</jnpf-radio>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('settlementMethod')"
:required="requiredList.settlementMethod" label="结算方式" prop="settlementMethod" >
<jnpf-radio v-model="dataForm.settlementMethod" :disabled="judgeWrite('settlementMethod')"
@change="changeData('settlementMethod',-1)"
optionType="default" direction="horizontal" :props="settlementMethodProps" :options="settlementMethodOptions" :style='{"width":"100%"}'>
</jnpf-radio>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('advanceRatio')"
:required="requiredList.advanceRatio" label="预付比例" prop="advanceRatio" >
<u-input v-model="dataForm.advanceRatio" :disabled="judgeWrite('advanceRatio')"
@change="changeData('advanceRatio',-1)"
input-align='right' addonAfter="%" clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('accountPeriod')"
:required="requiredList.accountPeriod" label="账期" prop="accountPeriod" >
<u-input v-model="dataForm.accountPeriod" :disabled="judgeWrite('accountPeriod')"
@change="changeData('accountPeriod',-1)"
input-align='right' addonAfter="天" clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('accountingPeriodStart')"
:required="requiredList.accountingPeriodStart" label="账期计算开始" prop="accountingPeriodStart" >
<jnpf-select v-model="dataForm.accountingPeriodStart" :disabled="judgeWrite('accountingPeriodStart')"
@change="changeData('accountingPeriodStart',-1)"
placeholder="请选择" :props="accountingPeriodStartProps" :options="accountingPeriodStartOptions" :style='{"width":"100%"}'>
</jnpf-select>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 ">
<u-form-item>
<jnpf-group
value="风控信息" content="风控信息" contentPosition="left" >
</jnpf-group>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('underpaymentMethod')"
:required="requiredList.underpaymentMethod" label="压款方式" prop="underpaymentMethod" >
<jnpf-radio v-model="dataForm.underpaymentMethod" :disabled="judgeWrite('underpaymentMethod')"
@change="changeData('underpaymentMethod',-1)"
optionType="default" direction="horizontal" :props="underpaymentMethodProps" :options="underpaymentMethodOptions" :style='{"width":"100%"}'>
</jnpf-radio>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('applyForUnderpaymentRatio')"
:required="requiredList.applyForUnderpaymentRatio" label="申请压款金额/比例" prop="applyForUnderpaymentRatio" >
<u-input v-model="dataForm.applyForUnderpaymentRatio" :disabled="judgeWrite('applyForUnderpaymentRatio')"
@change="changeData('applyForUnderpaymentRatio',-1)"
input-align='right' clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('marginMethod')"
:required="requiredList.marginMethod" label="保证金方式" prop="marginMethod" >
<jnpf-radio v-model="dataForm.marginMethod" :disabled="judgeWrite('marginMethod')"
@change="changeData('marginMethod',-1)"
optionType="default" direction="horizontal" :props="marginMethodProps" :options="marginMethodOptions" :style='{"width":"100%"}'>
</jnpf-radio>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('applyForMarginRatio')"
:required="requiredList.applyForMarginRatio" label="申请保证金额/比例" prop="applyForMarginRatio" >
<u-input v-model="dataForm.applyForMarginRatio" :disabled="judgeWrite('applyForMarginRatio')"
@change="changeData('applyForMarginRatio',-1)"
input-align='right' clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('overdueInterestRate')"
:required="requiredList.overdueInterestRate" label="逾期利率" prop="overdueInterestRate" >
<jnpf-radio v-model="dataForm.overdueInterestRate" :disabled="judgeWrite('overdueInterestRate')"
@change="changeData('overdueInterestRate',-1)"
optionType="default" direction="horizontal" :props="overdueInterestRateProps" :options="overdueInterestRateOptions" :style='{"width":"100%"}'>
</jnpf-radio>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('applyForOverdueRatio')"
:required="requiredList.applyForOverdueRatio" label="申请逾期利率" prop="applyForOverdueRatio" >
<u-input v-model="dataForm.applyForOverdueRatio" :disabled="judgeWrite('applyForOverdueRatio')"
@change="changeData('applyForOverdueRatio',-1)"
input-align='right' clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 ">
<u-form-item>
<jnpf-group
value="联系人信息" content="联系人信息" contentPosition="left" >
</jnpf-group>
</u-form-item>
</view>
<view class="jnpf-table" v-if="judgeShow('subjectcontactsList')">
<view class="jnpf-table-item" v-for="(item,i) in dataForm.subjectcontactsList" :key="i">
<view class="jnpf-table-item-title u-flex u-row-between">
<text class="jnpf-table-item-title-num">联系人信息({{i+1}})</text>
<view class="jnpf-table-item-title-action" v-if=" !judgeWrite('subjectcontactsList') && dataForm.subjectcontactsList.length>0" @click="delsubjectcontactsList(i)">删除</view>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('subjectcontactsList-logo')"
:required="requiredList['subjectcontactsList-logo']" label="联系人头像" >
<jnpf-upload v-model="dataForm.subjectcontactsList[i].logo" :disabled="judgeWrite('subjectcontactsList')||judgeWrite('subjectcontactsList-logo')"
@change="changeData('subjectcontacts-logo',i)"
sizeUnit="MB" :fileSize="10" :limit="1" pathType="defaultPath" :isAccount="0" :value="dataForm.subjectcontactsList[i].logo">
</jnpf-upload>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('subjectcontactsList-contactsType')"
:required="requiredList['subjectcontactsList-contactsType']" label="联系人类型" >
<jnpf-select v-model="dataForm.subjectcontactsList[i].contactsType" :disabled="judgeWrite('subjectcontactsList')||judgeWrite('subjectcontactsList-contactsType')"
@change="changeData('subjectcontacts-contactsType',i)"
clearable placeholder="请选择" :props="subjectcontactscontactsTypeProps" :options="subjectcontactscontactsTypeOptions" :style='{"width":"100%"}'>
</jnpf-select>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('subjectcontactsList-name')"
:required="requiredList['subjectcontactsList-name']" label="姓名" >
<u-input v-model="dataForm.subjectcontactsList[i].name" :disabled="judgeWrite('subjectcontactsList')||judgeWrite('subjectcontactsList-name')"
@change="changeData('subjectcontacts-name',i)"
input-align='right' clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('subjectcontactsList-position')"
:required="requiredList['subjectcontactsList-position']" label="职务" >
<u-input v-model="dataForm.subjectcontactsList[i].position" :disabled="judgeWrite('subjectcontactsList')||judgeWrite('subjectcontactsList-position')"
@change="changeData('subjectcontacts-position',i)"
input-align='right' clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('subjectcontactsList-mobile')"
:required="requiredList['subjectcontactsList-mobile']" label="手机" >
<u-input v-model="dataForm.subjectcontactsList[i].mobile" :disabled="judgeWrite('subjectcontactsList')||judgeWrite('subjectcontactsList-mobile')"
@change="changeData('subjectcontacts-mobile',i)"
input-align='right' clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('subjectcontactsList-phone')"
:required="requiredList['subjectcontactsList-phone']" label="电话" >
<u-input v-model="dataForm.subjectcontactsList[i].phone" :disabled="judgeWrite('subjectcontactsList')||judgeWrite('subjectcontactsList-phone')"
@change="changeData('subjectcontacts-phone',i)"
input-align='right' clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('subjectcontactsList-companyName')"
:required="requiredList['subjectcontactsList-companyName']" label="公司" >
<u-input v-model="dataForm.subjectcontactsList[i].companyName" :disabled="judgeWrite('subjectcontactsList')||judgeWrite('subjectcontactsList-companyName')"
@change="changeData('subjectcontacts-companyName',i)"
input-align='right' clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('subjectcontactsList-emaile')"
:required="requiredList['subjectcontactsList-emaile']" label="邮箱" >
<u-input v-model="dataForm.subjectcontactsList[i].emaile" :disabled="judgeWrite('subjectcontactsList')||judgeWrite('subjectcontactsList-emaile')"
@change="changeData('subjectcontacts-emaile',i)"
input-align='right' clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('subjectcontactsList-address')"
:required="requiredList['subjectcontactsList-address']" label="地址" >
<u-input v-model="dataForm.subjectcontactsList[i].address" :disabled="judgeWrite('subjectcontactsList')||judgeWrite('subjectcontactsList-address')"
@change="changeData('subjectcontacts-address',i)"
input-align='right' clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('subjectcontactsList-annex')"
:required="requiredList['subjectcontactsList-annex']" label="附件" >
<jnpf-file v-model="dataForm.subjectcontactsList[i].annex" :disabled="judgeWrite('subjectcontactsList')||judgeWrite('subjectcontactsList-annex')"
@change="changeData('subjectcontacts-annex',i)"
:list="dataForm.subjectcontactsList[i].annex" sizeUnit="MB" :fileSize="10" :limit="9" pathType="defaultPath" :isAccount="0" >
</jnpf-file>
</u-form-item>
</view>
</view>
<view class="jnpf-table-addBtn" @click="addsubjectcontactsList" v-if="!judgeWrite('subjectcontactsList')">
<u-icon name="plus" color="#2979ff"></u-icon>
<span>{{dataForm.subjectcontactsList.length==0?"添加联系人信息":"添加"}}</span>
</view>
</view>
<view class="u-p-l-20 u-p-r-20 ">
<u-form-item>
<jnpf-group
value="运管数据" content="运管数据" contentPosition="left" >
</jnpf-group>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('reservedFields1')"
:required="requiredList.reservedFields1" label="账户类型" prop="reservedFields1" >
<jnpf-select v-model="dataForm.reservedFields1" :disabled="judgeWrite('reservedFields1')"
@change="changeData('reservedFields1',-1)"
clearable placeholder="请选择" :props="reservedFields1Props" :options="reservedFields1Options" :style='{"width":"100%"}'>
</jnpf-select>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('reservedFields2')"
:required="requiredList.reservedFields2" label="客户类型" prop="reservedFields2" >
<jnpf-select v-model="dataForm.reservedFields2" :disabled="judgeWrite('reservedFields2')"
@change="changeData('reservedFields2',-1)"
clearable placeholder="请选择" :props="reservedFields2Props" :options="reservedFields2Options" :style='{"width":"100%"}'>
</jnpf-select>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('reservedFields3')"
:required="requiredList.reservedFields3" label="等级" prop="reservedFields3" >
<jnpf-select v-model="dataForm.reservedFields3" :disabled="judgeWrite('reservedFields3')"
@change="changeData('reservedFields3',-1)"
clearable placeholder="请选择" :props="reservedFields3Props" :options="reservedFields3Options" :style='{"width":"100%"}'>
</jnpf-select>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('autoCreditRating')"
:required="requiredList.autoCreditRating" label="信用级别" prop="autoCreditRating" >
<jnpf-radio v-model="dataForm.autoCreditRating" :disabled="judgeWrite('autoCreditRating')"
@change="changeData('autoCreditRating',-1)"
optionType="default" direction="horizontal" :props="autoCreditRatingProps" :options="autoCreditRatingOptions" :style='{"width":"100%"}'>
</jnpf-radio>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('accountsReceivableUpper1')"
:required="requiredList.accountsReceivableUpper1" label="应收款上限1" prop="accountsReceivableUpper1" >
<u-input v-model="dataForm.accountsReceivableUpper1" :disabled="judgeWrite('accountsReceivableUpper1')"
@change="changeData('accountsReceivableUpper1',-1)"
input-align='right' clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('accountsReceivableUpper2')"
:required="requiredList.accountsReceivableUpper2" label="应收款上限2" prop="accountsReceivableUpper2" >
<u-input v-model="dataForm.accountsReceivableUpper2" :disabled="judgeWrite('accountsReceivableUpper2')"
@change="changeData('accountsReceivableUpper2',-1)"
input-align='right' clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('orderQuantityDown')"
:required="requiredList.orderQuantityDown" label="订单量下限" prop="orderQuantityDown" >
<u-input v-model="dataForm.orderQuantityDown" :disabled="judgeWrite('orderQuantityDown')"
@change="changeData('orderQuantityDown',-1)"
input-align='right' clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('orderQuantityUpper')"
:required="requiredList.orderQuantityUpper" label="订单量上限" prop="orderQuantityUpper" >
<u-input v-model="dataForm.orderQuantityUpper" :disabled="judgeWrite('orderQuantityUpper')"
@change="changeData('orderQuantityUpper',-1)"
input-align='right' clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('creditLimit1')"
:required="requiredList.creditLimit1" label="授信额度1" prop="creditLimit1" >
<u-input v-model="dataForm.creditLimit1" :disabled="judgeWrite('creditLimit1')"
@change="changeData('creditLimit1',-1)"
input-align='right' clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('creditLimit2')"
:required="requiredList.creditLimit2" label="授信额度2" prop="creditLimit2" >
<u-input v-model="dataForm.creditLimit2" :disabled="judgeWrite('creditLimit2')"
@change="changeData('creditLimit2',-1)"
input-align='right' clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('accountsReceivableOverLimit')"
:required="requiredList.accountsReceivableOverLimit" label="应收款项超限比例" prop="accountsReceivableOverLimit" >
<u-input v-model="dataForm.accountsReceivableOverLimit" :disabled="judgeWrite('accountsReceivableOverLimit')"
@change="changeData('accountsReceivableOverLimit',-1)"
input-align='right' clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('creditLimitOverLimit')"
:required="requiredList.creditLimitOverLimit" label="授信额度超限比例" prop="creditLimitOverLimit" >
<u-input v-model="dataForm.creditLimitOverLimit" :disabled="judgeWrite('creditLimitOverLimit')"
@change="changeData('creditLimitOverLimit',-1)"
input-align='right' clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('accountsReceivableOverdue1')"
:required="requiredList.accountsReceivableOverdue1" label="应收款项逾期限制" prop="accountsReceivableOverdue1" >
<u-input v-model="dataForm.accountsReceivableOverdue1" :disabled="judgeWrite('accountsReceivableOverdue1')"
@change="changeData('accountsReceivableOverdue1',-1)"
input-align='right' clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('accountsReceivableOverdue2')"
:required="requiredList.accountsReceivableOverdue2" label="应收款项逾期限制2" prop="accountsReceivableOverdue2" >
<u-input v-model="dataForm.accountsReceivableOverdue2" :disabled="judgeWrite('accountsReceivableOverdue2')"
@change="changeData('accountsReceivableOverdue2',-1)"
input-align='right' clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('taxPaymentCertificate1')"
:required="requiredList.taxPaymentCertificate1" label="完税证明超时限制" prop="taxPaymentCertificate1" >
<u-input v-model="dataForm.taxPaymentCertificate1" :disabled="judgeWrite('taxPaymentCertificate1')"
@change="changeData('taxPaymentCertificate1',-1)"
input-align='right' clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('taxPaymentCertificate2')"
:required="requiredList.taxPaymentCertificate2" label="完税证明超时限制2" prop="taxPaymentCertificate2" >
<u-input v-model="dataForm.taxPaymentCertificate2" :disabled="judgeWrite('taxPaymentCertificate2')"
@change="changeData('taxPaymentCertificate2',-1)"
input-align='right' clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('fundLimit')"
:required="requiredList.fundLimit" label="授信额度" prop="fundLimit" >
<u-input v-model="dataForm.fundLimit" :disabled="judgeWrite('fundLimit')"
@change="changeData('fundLimit',-1)"
input-align='right' clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('taxBearingRate')"
:required="requiredList.taxBearingRate" label="税负率" prop="taxBearingRate" >
<u-input v-model="dataForm.taxBearingRate" :disabled="judgeWrite('taxBearingRate')"
@change="changeData('taxBearingRate',-1)"
input-align='right' clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 ">
<u-form-item>
<jnpf-group
value="商品黑名单" content="商品黑名单" contentPosition="left" >
</jnpf-group>
</u-form-item>
</view>
<view class="jnpf-table" v-if="judgeShow('subjectproductblacklistList')">
<view class="jnpf-table-item" v-for="(item,i) in dataForm.subjectproductblacklistList" :key="i">
<view class="jnpf-table-item-title u-flex u-row-between">
<text class="jnpf-table-item-title-num">商品黑名单({{i+1}})</text>
<view class="jnpf-table-item-title-action" v-if=" !judgeWrite('subjectproductblacklistList') && dataForm.subjectproductblacklistList.length>0" @click="delsubjectproductblacklistList(i)">删除</view>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('subjectproductblacklistList-productId')"
:required="requiredList['subjectproductblacklistList-productId']" label="商品" >
<jnpf-popup-select v-model="dataForm.subjectproductblacklistList[i].productId" :disabled="judgeWrite('subjectproductblacklistList')||judgeWrite('subjectproductblacklistList-productId')"
@change="changeData('subjectproductblacklist-productId',i)"
:rowIndex="i" :formData="dataForm" :templateJson="interfaceRes.subjectproductblacklistproductId" clearable propsValue="id" popupWidth="800px" popupTitle="选择数据" popupType="dialog" relationField='name' :vModel="'productId'+i" :columnOptions="subjectproductblacklistproductIdColumnOptions" interfaceId="519505017699307077" :pageSize="20" placeholder="请选择" type="popup" :style='{"width":"100%"}'>
</jnpf-popup-select>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('subjectproductblacklistList-startTime')"
:required="requiredList['subjectproductblacklistList-startTime']" label="开始时间" >
<jnpf-date-time v-model="dataForm.subjectproductblacklistList[i].startTime" :disabled="judgeWrite('subjectproductblacklistList')||judgeWrite('subjectproductblacklistList-startTime')"
@change="changeData('subjectproductblacklist-startTime',i)"
:startTime="dateTime(false,1,1,'','')" :endTime="dateTime(false,1,1,'','')" format="yyyy-MM-dd" clearable placeholder="请选择" type="date" :style='{"width":"100%"}'>
</jnpf-date-time>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('subjectproductblacklistList-endTime')"
:required="requiredList['subjectproductblacklistList-endTime']" label="结束时间" >
<jnpf-date-time v-model="dataForm.subjectproductblacklistList[i].endTime" :disabled="judgeWrite('subjectproductblacklistList')||judgeWrite('subjectproductblacklistList-endTime')"
@change="changeData('subjectproductblacklist-endTime',i)"
:startTime="dateTime(false,1,1,'','')" :endTime="dateTime(false,1,1,'','')" format="yyyy-MM-dd" clearable placeholder="请选择" type="date" :style='{"width":"100%"}'>
</jnpf-date-time>
</u-form-item>
</view>
</view>
<view class="jnpf-table-addBtn" @click="addsubjectproductblacklistList" v-if="!judgeWrite('subjectproductblacklistList')">
<u-icon name="plus" color="#2979ff"></u-icon>
<span>{{dataForm.subjectproductblacklistList.length==0?"添加商品黑名单":"添加"}}</span>
</view>
</view>
</u-form>
<u-modal v-model="show" :content="content" width='70%' border-radius="16" :content-style="{fontSize: '28rpx',padding: '20rpx',lineHeight: '44rpx',textAlign: 'left'}"
:titleStyle="{padding: '20rpx'}" :confirm-style="{height: '80rpx',lineHeight: '80rpx'}" :title="title" confirm-text="确定">
</u-modal>
</view>
</template>
<script>
import {
getDictionaryDataSelector,
getDataInterfaceRes,
getDefaultCurrentValueUserId,
getDefaultCurrentValueDepartmentId
} from '@/api/common'
import comMixin from '../mixin'
import {
getDateDay,
getLaterData,
getBeforeData,
getBeforeTime,
getLaterTime
} from '@/components/index.js'
import request from '@/utils/request'
export default {
mixins: [comMixin],
data(){
return{
idList: [],
index:0,
actionList: [],
actionListLength: false,
showAction: false,
btnLoading: false,
loading: false,
text: '提示:测试文本',
tableKey:'',
dataForm:{
id:"",
calssify : "1",
subjectBasicType : "1",
logo : [],
name : '',
enterpriseNature : "074a2706adc84abe8832b0b6a9f20229",
industryClassify : "",
belongPeople : '',
customerStarRating : "517682574965867525",
fundBalance : 0,
country : '',
city : [],
address : '',
phone : '',
companyFax : '',
companyWebsite : '',
companyDescription : '',
socialInformationCodeCertificate : [],
registerAddress : '',
informationCode : '',
operationStart : '',
operationEnd : '',
registerFunds : '',
registerFundsUnit : "1",
operationScope : '',
assetProof : [],
assetMortgageProof : [],
paidCapitalProof : [],
otherAptitudeFile : [],
collaborationStart : '',
demandVolumeDown : '',
demandVolumeUpper : '',
paymentMethod : "",
accountName : '',
bankAccount : '',
depositBank : "",
depositArea : [],
bankBranchName : '',
companyTaxNumber : '',
enterpriseName : '',
workAddress : '',
collaborationMethod : "1",
settlementMethod : "1",
advanceRatio : '',
accountPeriod : '',
accountingPeriodStart : "1",
underpaymentMethod : "1",
applyForUnderpaymentRatio : '',
marginMethod : "1",
applyForMarginRatio : '',
overdueInterestRate : "1",
applyForOverdueRatio : '',
reservedFields1 : "1",
reservedFields2 : "1",
reservedFields3 : "1",
autoCreditRating : "2",
accountsReceivableUpper1 : '',
accountsReceivableUpper2 : '',
orderQuantityDown : '',
orderQuantityUpper : '',
creditLimit1 : '',
creditLimit2 : '',
accountsReceivableOverLimit : '',
creditLimitOverLimit : '',
accountsReceivableOverdue1 : '',
accountsReceivableOverdue2 : '',
taxPaymentCertificate1 : '',
taxPaymentCertificate2 : '',
fundLimit : '',
taxBearingRate : '',
subjectrepresentativeList:[],
subjectbusinesslineList:[],
subjectcontactsList:[],
subjectproductblacklistList:[],
},
rules:{
calssify: [
{
required: true,
message: '客户分类请至少选择一个',
},
],
logo: [
{
required: true,
message: '公司logo请至少选择一个',
type:'array',
},
],
name: [
{
required: true,
message: '客户名称请输入',
},
],
enterpriseNature: [
{
required: true,
message: '企业性质请至少选择一个',
},
],
industryClassify: [
{
required: true,
message: '行业分类请选择',
},
],
belongPeople: [
{
required: true,
message: '归属人员请选择',
},
],
customerStarRating: [
{
required: true,
message: '客户星级请至少选择一个',
},
],
country: [
{
required: true,
message: '国家请输入',
},
],
city: [
{
required: true,
message: '所在城市请至少选择一个',
type:'array',
},
],
address: [
{
required: true,
message: '详细地址请输入',
},
],
phone: [
{
required: true,
message: '公司电话请输入',
},
{
pattern: /^1[3456789]\d{9}$|^0\d{2,3}-?\d{7,8}$/,
message: '公司电话请输入正确的联系方式',
},
],
socialInformationCodeCertificate: [
{
required: true,
message: '营业执照请至少选择一个',
type:'array',
},
],
registerAddress: [
{
required: true,
message: '注册地址请输入',
},
],
informationCode: [
{
required: true,
message: '社会统一信息代码请输入',
},
],
operationStart: [
{
required: true,
message: '经营时间开始请选择',
},
],
operationEnd: [
{
required: true,
message: '经营时间结束请选择',
},
],
registerFunds: [
{
required: true,
message: '注册资金请输入',
},
{
pattern: /^\d+$/,
message: '注册资金请输入正确的数字',
},
],
registerFundsUnit: [
{
required: true,
message: '注册资金单位请至少选择一个',
},
],
operationScope: [
{
required: true,
message: '经营范围请输入',
},
],
assetProof: [
{
required: true,
message: '资产证明请至少选择一个',
type:'array',
},
],
assetMortgageProof: [
{
required: true,
message: '资产抵押证明请至少选择一个',
type:'array',
},
],
paidCapitalProof: [
{
required: true,
message: '实缴资金证明请至少选择一个',
type:'array',
},
],
collaborationStart: [
{
required: true,
message: '合作时间开始请选择',
},
],
paymentMethod: [
{
required: true,
message: '付款方式请选择',
},
],
accountName: [
{
required: true,
message: '账户名称请输入',
},
],
bankAccount: [
{
required: true,
message: '银行账号请输入',
},
],
depositBank: [
{
required: true,
message: '开户银行请选择',
},
],
depositArea: [
{
required: true,
message: '开户地区请至少选择一个',
type:'array',
},
],
bankBranchName: [
{
required: true,
message: '支行名称请输入',
},
],
companyTaxNumber: [
{
required: true,
message: '公司税号请输入',
},
],
enterpriseName: [
{
required: true,
message: '企业名称请输入',
},
],
workAddress: [
{
required: true,
message: '单位地址请输入',
},
],
collaborationMethod: [
{
required: true,
message: '合作方式请至少选择一个',
},
],
settlementMethod: [
{
required: true,
message: '结算方式请至少选择一个',
},
],
advanceRatio: [
{
required: true,
message: '预付比例请输入',
},
],
accountPeriod: [
{
required: true,
message: '账期请输入',
},
],
accountingPeriodStart: [
{
required: true,
message: '账期计算开始请至少选择一个',
},
],
underpaymentMethod: [
{
required: true,
message: '压款方式请至少选择一个',
},
],
applyForUnderpaymentRatio: [
{
required: true,
message: '申请压款金额/比例请输入',
},
],
marginMethod: [
{
required: true,
message: '保证金方式请至少选择一个',
},
],
applyForMarginRatio: [
{
required: true,
message: '申请保证金额/比例请输入',
},
],
overdueInterestRate: [
{
required: true,
message: '逾期利率请至少选择一个',
},
],
applyForOverdueRatio: [
{
required: true,
message: '申请逾期利率请输入',
},
],
reservedFields1: [
{
required: true,
message: '账户类型请至少选择一个',
},
],
reservedFields2: [
{
required: true,
message: '客户类型请至少选择一个',
},
],
reservedFields3: [
{
required: true,
message: '等级请至少选择一个',
},
],
},
calssifyOptions:[{"fullName":"一级","id":"1"},{"fullName":"二级","id":"2"}],
calssifyProps:{"label":"fullName","value":"id","multiple":false,"children":""},
enterpriseNatureOptions:[],
enterpriseNatureProps:{"label":"fullName","value":"id","multiple":false,"children":""},
industryClassifyOptions:[],
industryClassifyProps:{"label":"fullName","value":"id","multiple":false,"children":""},
customerStarRatingOptions:[],
customerStarRatingProps:{"label":"fullName","value":"id","multiple":false,"children":""},
registerFundsUnitOptions:[{"fullName":"人民币","id":"1"},{"fullName":"美元","id":"2"}],
registerFundsUnitProps:{"label":"fullName","value":"id","multiple":false,"children":""},
paymentMethodOptions:[{"fullName":"无","id":"1"},{"fullName":"现金","id":"2"},{"fullName":"银行转账","id":"3"},{"fullName":"承兑汇票","id":"4"},{"fullName":"支付宝","id":"5"},{"fullName":"微信","id":"6"}],
paymentMethodProps:{"label":"fullName","value":"id","multiple":false,"children":""},
depositBankOptions:[],
depositBankProps:{"label":"fullName","value":"id","multiple":false,"children":""},
collaborationMethodOptions:[{"fullName":"买断","id":"1"},{"fullName":"联营","id":"2"}],
collaborationMethodProps:{"label":"fullName","value":"id","multiple":false,"children":""},
settlementMethodOptions:[{"fullName":"先货后款","id":"1"},{"fullName":"先款后货","id":"2"}],
settlementMethodProps:{"label":"fullName","value":"id","multiple":false,"children":""},
accountingPeriodStartOptions:[{"fullName":"以第一次出入库","id":"1"},{"fullName":"以开票时间","id":"2"},{"fullName":"以对账结算时间","id":"3"},{"fullName":"以第一笔垫付","id":"4"}],
accountingPeriodStartProps:{"label":"fullName","value":"id","multiple":false,"children":""},
underpaymentMethodOptions:[{"fullName":"按金额","id":"1"},{"fullName":"按比例","id":"2"}],
underpaymentMethodProps:{"label":"fullName","value":"id","multiple":false,"children":""},
marginMethodOptions:[{"fullName":"按金额","id":"1"},{"fullName":"按比例","id":"2"}],
marginMethodProps:{"label":"fullName","value":"id","multiple":false,"children":""},
overdueInterestRateOptions:[{"fullName":"按年化","id":"1"},{"fullName":"按月化","id":"2"}],
overdueInterestRateProps:{"label":"fullName","value":"id","multiple":false,"children":""},
reservedFields1Options:[{"fullName":"国内","id":"1"},{"fullName":"国外","id":"2"}],
reservedFields1Props:{"label":"fullName","value":"id","multiple":false,"children":""},
reservedFields2Options:[{"fullName":"国内客户","id":"1"},{"fullName":"国外客户","id":"2"}],
reservedFields2Props:{"label":"fullName","value":"id","multiple":false,"children":""},
reservedFields3Options:[{"fullName":"A级优质","id":"1"},{"fullName":"B级普通","id":"2"},{"fullName":"C级潜在","id":"3"},{"fullName":"D级黑名单","id":"4"}],
reservedFields3Props:{"label":"fullName","value":"id","multiple":false,"children":""},
autoCreditRatingOptions:[{"fullName":"开启","id":"1"},{"fullName":"关闭","id":"2"}],
autoCreditRatingProps:{"label":"fullName","value":"id","multiple":false,"children":""},
subjectrepresentativerepresentativeTypeOptions:[{"fullName":"法定代表人","id":"1"},{"fullName":"代办人","id":"2"},{"fullName":"实控人","id":"3"},{"fullName":"担保人","id":"4"}],
subjectrepresentativerepresentativeTypeProps:{"label":"fullName","value":"id","multiple":false,"children":""},
subjectbusinesslinebusinessLineIdColumnOptions:[
{
"label":"业务线编码",
"value":"code"
},
{
"label":"业务线名称",
"value":"name"
},
],
subjectcontactscontactsTypeOptions:[{"fullName":"默认","id":"1"},{"fullName":"普通联系人","id":"2"}],
subjectcontactscontactsTypeProps:{"label":"fullName","value":"id","multiple":false,"children":""},
subjectproductblacklistproductIdColumnOptions:[
{
"label":"商品名称",
"value":"name"
},
],
labelwidth:100*1.5,
menuId:'',
jurisdictionType:'',
ruleList:{
subjectrepresentativeList:{
'representativeType' : '代表人类型不能为空',
'name' : '姓名不能为空',
'idCard' : '身份证号不能为空',
'idCardStart' : '证件有效时间开始不能为空',
'idCardEnd' : '证件有效时间结束不能为空',
'idCardPhoto1' : '证件照正面不能为空',
'idCardPhoto2' : '证件照反面不能为空',
'idCardPhoto3' : '手持证件照不能为空',
},
subjectbusinesslineList:{
},
subjectcontactsList:{
'contactsType' : '联系人类型不能为空',
'name' : '姓名不能为空',
'position' : '职务不能为空',
'mobile' : '手机不能为空',
'phone' : '电话不能为空',
'companyName' : '公司不能为空',
'emaile' : '邮箱不能为空',
'address' : '地址不能为空',
},
subjectproductblacklistList:{
},
},
interfaceRes:{
calssify:[
],
subjectBasicType:[
],
logo:[
],
name:[
],
enterpriseNature:[
],
industryClassify:[
],
belongPeople:[
],
customerStarRating:[
],
fundBalance:[
],
country:[
],
city:[
],
address:[
],
phone:[
],
companyFax:[
],
companyWebsite:[
],
companyDescription:[
],
socialInformationCodeCertificate:[
],
registerAddress:[
],
informationCode:[
],
operationStart:[
],
operationEnd:[
],
registerFunds:[
],
registerFundsUnit:[
],
operationScope:[
],
assetProof:[
],
assetMortgageProof:[
],
paidCapitalProof:[
],
otherAptitudeFile:[
],
collaborationStart:[
],
demandVolumeDown:[
],
demandVolumeUpper:[
],
paymentMethod:[
],
accountName:[
],
bankAccount:[
],
depositBank:[
],
depositArea:[
],
bankBranchName:[
],
companyTaxNumber:[
],
enterpriseName:[
],
workAddress:[
],
collaborationMethod:[
],
settlementMethod:[
],
advanceRatio:[
],
accountPeriod:[
],
accountingPeriodStart:[
],
underpaymentMethod:[
],
applyForUnderpaymentRatio:[
],
marginMethod:[
],
applyForMarginRatio:[
],
overdueInterestRate:[
],
applyForOverdueRatio:[
],
reservedFields1:[
],
reservedFields2:[
],
reservedFields3:[
],
autoCreditRating:[
],
accountsReceivableUpper1:[
],
accountsReceivableUpper2:[
],
orderQuantityDown:[
],
orderQuantityUpper:[
],
creditLimit1:[
],
creditLimit2:[
],
accountsReceivableOverLimit:[
],
creditLimitOverLimit:[
],
accountsReceivableOverdue1:[
],
accountsReceivableOverdue2:[
],
taxPaymentCertificate1:[
],
taxPaymentCertificate2:[
],
fundLimit:[
],
taxBearingRate:[
],
subjectrepresentativerepresentativeType:[
],
subjectrepresentativename:[
],
subjectrepresentativeidCard:[
],
subjectrepresentativeidCardStart:[
],
subjectrepresentativeidCardEnd:[
],
subjectrepresentativeidCardPhoto1:[
],
subjectrepresentativeidCardPhoto2:[
],
subjectrepresentativeidCardPhoto3:[
],
subjectrepresentativeauthorizeFiles:[
],
subjectbusinesslinebusinessLineId:[
],
subjectcontactslogo:[
],
subjectcontactscontactsType:[
],
subjectcontactsname:[
],
subjectcontactsposition:[
],
subjectcontactsmobile:[
],
subjectcontactsphone:[
],
subjectcontactscompanyName:[
],
subjectcontactsemaile:[
],
subjectcontactsaddress:[
],
subjectcontactsbusinessType:[
],
subjectcontactsannex:[
],
subjectproductblacklistproductId:[
],
subjectproductblackliststartTime:[
],
subjectproductblacklistendTime:[
],
},
regList:{
subjectrepresentativeList:{
representativeType: [
],
name: [
],
idCard: [
{
pattern: /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/,
message: '身份证号请输入正确的身份证号码',
},
],
idCardStart: [
],
idCardEnd: [
],
idCardPhoto1: [
],
idCardPhoto2: [
],
idCardPhoto3: [
],
authorizeFiles: [
],
},
subjectbusinesslineList:{
businessLineId: [
],
},
subjectcontactsList:{
logo: [
],
contactsType: [
],
name: [
],
position: [
],
mobile: [
{
pattern: /^1[3456789]\d{9}$|^0\d{2,3}-?\d{7,8}$/,
message: '手机请输入正确的联系方式',
},
],
phone: [
{
pattern: /^1[3456789]\d{9}$|^0\d{2,3}-?\d{7,8}$/,
message: '电话请输入正确的联系方式',
},
],
companyName: [
],
emaile: [
{
pattern: /^[a-z0-9]+([._\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/,
message: '邮箱请输入正确的邮箱',
},
],
address: [
],
businessType: [
],
annex: [
],
},
subjectproductblacklistList:{
productId: [
],
startTime: [
],
endTime: [
],
},
},
ableAll:{
belongPeopleableIds:[],
},
childIndex:-1,
dataValue:{},
isEdit:false,
userInfo:{},
formatType:{"yyyy":"yyyy","yyyy-MM":"yyyy-mm","yyyy-MM-dd":"yyyy-mm-dd","yyyy-MM-dd HH:mm":"yyyy-mm-dd hh:MM","yyyy-MM-dd HH:mm:ss":"yyyy-mm-dd hh:MM:ss","HH:mm:ss":"hh:MM:ss","HH:mm":"hh:MM"},
content:'',
title:'',
show:false,
}
},
onLoad(option) {
uni.$on('linkPageConfirm', (subVal) => {
if(this.tableKey){
for(let i=0;i<subVal.length;i++){
let t = subVal[i]
if(this['get'+this.tableKey]){
this['get'+this.tableKey](t)
}
}
this.childIndex = -1
this.collapse()
}
})
this.jurisdictionType = option.jurisdictionType
this.menuId=option.menuId
this.userInfo = uni.getStorageSync('userInfo') || {}
this.dataForm.id = option.id || 0
let _title = ""
if(option.jurisdictionType =='btn_edit'){
_title = "编辑"
}
if(option.jurisdictionType =='btn_detail'){
_title = "详情"
}
if(option.jurisdictionType =='btn_add'){
_title = "新增"
}
if(_title){
uni.setNavigationBarTitle({
title: _title
})
}
this.selfInit()
this.initDefaultData()
this.dataAll()
this.initData()
this.dataValue = JSON.parse(JSON.stringify(this.dataForm))
this.idList = option.idList?option.idList.split(","):[]
for(let i=0;i<this.idList.length;i++){
if(this.idList[i]==option.id){
this.index = i;
}
}
if (!option.id) {
this.actionList.push({
text: '',
id: 'save_add'
})
} else {
let upper={
text: '上一条',
id: 'upper',
disabled: this.index==0?true:false
}
this.actionList.push(upper)
let lower={
text: '下一条',
id: 'lower',
disabled: this.index==this.idList.length-1?true:false
}
this.actionList.push(lower)
this.actionList.push( {
text: '',
id: 'save_proceed'
})
this.collapse()
}
},
onReady() {
this.$nextTick(()=>{
setTimeout(()=>{
this.$refs.dataForm.setRules(this.rules);
},100)
})
},
watch:{
dataForm: {
handler(val, oldVal) {
this.subjectrepresentative()
this.subjectbusinessline()
this.subjectcontacts()
this.subjectproductblacklist()
},
deep: true
}
},
methods:{
handleAction(index) {
if (this.actionList[index].id === 'save_add' || this.actionList[index].id === 'save_proceed') {
this.submitForm(1)
} else {
this.calculation(this.actionList[index].id, index)
}
},
calculation(type, index) {
if (type === 'upper') {
this.index--
this.actionList[index + 1].disabled = false
if (this.index == 0) this.actionList[index].disabled = true
} else {
this.index++
this.actionList[index - 1].disabled = false
if (this.index == this.idList.length - 1) this.actionList[index].disabled = true
}
this.dataForm.id = this.idList[this.index]
this.initData()
},
changeData(model, index) {
this.isEdit = false
this.childIndex = index
let modelAll = model.split("-");
let faceMode = "";
for (let i = 0; i < modelAll.length; i++) {
faceMode += modelAll[i];
}
for (let key in this.interfaceRes) {
if (key != faceMode) {
let faceReList = this.interfaceRes[key]
for (let i = 0; i < faceReList.length; i++) {
if (faceReList[i].relationField == model) {
let options = 'get' + key + 'Options';
if(this[options]){
this[options]()
}
this.changeData(key, index)
}
}
}
}
},
changeDataFormData(type, data, model,index,defaultValue ,edit) {
if(!edit) {
if (type == 2) {
for (let i = 0; i < this.dataForm[data].length; i++) {
if (index == -1) {
this.dataForm[data][i][model] = defaultValue
} else if (index == i) {
this.dataForm[data][i][model] = defaultValue
}
}
} else {
this.dataForm[data] = defaultValue
}
}
},
clickIcon(label,tipLabel) {
this.content = tipLabel
this.title = label
this.show = true
},
exist() {
let title = [];
let _ruleList = this.ruleList
for (let k in _ruleList) {
let childData = this.dataForm[k]
childData.forEach((item, index) => {
for (let model in _ruleList[k]) {
if (item[model] instanceof Array) {
if (item[model].length == 0) {
title.push(_ruleList[k][model])
}
} else if (!item[model]) {
title.push(_ruleList[k][model])
}
}
})
}
let _regList = this.regList
for (let k in _regList) {
let childData = this.dataForm[k]
for(let n in _regList[k]){
for(let i=0;i<_regList[k][n].length;i++){
const element = _regList[k][n][i]
if (element.pattern) {
element.pattern = element.pattern.toString()
let start = element.pattern.indexOf('/')
let stop = element.pattern.lastIndexOf('/')
let str = element.pattern.substring(start + 1, stop)
let reg = new RegExp(str)
element.pattern = reg
}
childData.forEach((item, index) => {
if(item[n] && !element.pattern.test(item[n])){
title.push(element.message)
}
})
}
}
}
if (title.length > 0) {
return title[0]
}
},
resetForm(){
uni.navigateBack()
},
dataAll(){
this.getenterpriseNatureOptions()
this.getindustryClassifyOptions()
this.getcustomerStarRatingOptions()
this.getdepositBankOptions()
this.collapse()
},
dateTime(timeRule, timeType, timeTarget, timeValueData, dataValue) {
let timeDataValue = null;
let timeValue = Number(timeValueData)
if (timeRule) {
if (timeType == 1) {
timeDataValue = timeValueData?timeValue:null
} else if (timeType == 2) {
timeDataValue = dataValue
} else if (timeType == 3) {
timeDataValue = new Date().getTime()
} else if (timeType == 4) {
let previousDate = '';
if (timeTarget == 1 || timeTarget == 2) {
previousDate = getDateDay(timeTarget, timeType, timeValue)
timeDataValue = new Date(previousDate).getTime()
} else if (timeTarget == 3) {
previousDate = getBeforeData(timeValue)
timeDataValue = new Date(previousDate).getTime()
} else {
timeDataValue = getBeforeTime(timeTarget, timeValue).getTime()
}
} else if (timeType == 5) {
let previousDate = '';
if (timeTarget == 1 || timeTarget == 2) {
previousDate = getDateDay(timeTarget, timeType, timeValue)
timeDataValue = new Date(previousDate).getTime()
} else if (timeTarget == 3) {
previousDate = getLaterData(timeValue)
timeDataValue = new Date(previousDate).getTime()
} else {
timeDataValue = getLaterTime(timeTarget, timeValue).getTime()
}
}
}
return timeDataValue;
},
time(timeRule, timeType, timeTarget, timeValue, formatType, dataValue) {
let format = formatType == 'HH:mm' ? 'HH:mm:00' : formatType
let timeDataValue = null
if (timeRule) {
if (timeType == 1 && timeValue) {
timeDataValue = timeValue || '00:00:00'
if (timeDataValue.split(':').length == 3) {
timeDataValue = timeDataValue
} else {
timeDataValue = timeDataValue + ':00'
}
} else if (timeType == 2) {
timeDataValue = dataValue
} else if (timeType == 3) {
timeDataValue = this.jnpf.toDate(new Date(), format)
} else if (timeType == 4) {
let previousDate = '';
previousDate = getBeforeTime(timeTarget, timeValue)
timeDataValue = this.jnpf.toDate(previousDate, format)
} else if (timeType == 5) {
let previousDate = '';
previousDate = getLaterTime(timeTarget, timeValue)
timeDataValue = this.jnpf.toDate(previousDate, format)
}
}
return timeDataValue;
},
getenterpriseNatureOptions() {
getDictionaryDataSelector('9b542177a477488994ce09fff3c93901').then(res => {
this.enterpriseNatureOptions = res.data.list
})
},
getindustryClassifyOptions() {
getDictionaryDataSelector('d59a3cf65f9847dbb08be449e3feae16').then(res => {
this.industryClassifyOptions = res.data.list
})
},
getcustomerStarRatingOptions() {
getDictionaryDataSelector('517682237588636677').then(res => {
this.customerStarRatingOptions = res.data.list
})
},
getdepositBankOptions() {
getDictionaryDataSelector('517692513243366405').then(res => {
this.depositBankOptions = res.data.list
})
},
subjectrepresentative(){
let table = this.dataForm.subjectrepresentativeList
let summaryField =[]
let summaryFieldName ={}
let data ={}
let thousandsField = []
for (let i in summaryField) {
let map = {}
let val = 0
for (let j = 0; j < table.length; j++) {
let summary = table[j][summaryField[i]];
if (summary) {
let data = isNaN(summary) ? 0 : Number(summary)
val += data
}
}
map.id = summaryField[i];
map.name = summaryFieldName[summaryField[i]];
map.val = (thousandsField.includes(summaryField[i]))? Number(val).toLocaleString('zh', {maximumFractionDigits: '2'}): val;
data[summaryField[i]]=map;
}
return data;
},
subjectbusinessline(){
let table = this.dataForm.subjectbusinesslineList
let summaryField =[]
let summaryFieldName ={}
let data ={}
let thousandsField = []
for (let i in summaryField) {
let map = {}
let val = 0
for (let j = 0; j < table.length; j++) {
let summary = table[j][summaryField[i]];
if (summary) {
let data = isNaN(summary) ? 0 : Number(summary)
val += data
}
}
map.id = summaryField[i];
map.name = summaryFieldName[summaryField[i]];
map.val = (thousandsField.includes(summaryField[i]))? Number(val).toLocaleString('zh', {maximumFractionDigits: '2'}): val;
data[summaryField[i]]=map;
}
return data;
},
subjectcontacts(){
let table = this.dataForm.subjectcontactsList
let summaryField =[]
let summaryFieldName ={}
let data ={}
let thousandsField = []
for (let i in summaryField) {
let map = {}
let val = 0
for (let j = 0; j < table.length; j++) {
let summary = table[j][summaryField[i]];
if (summary) {
let data = isNaN(summary) ? 0 : Number(summary)
val += data
}
}
map.id = summaryField[i];
map.name = summaryFieldName[summaryField[i]];
map.val = (thousandsField.includes(summaryField[i]))? Number(val).toLocaleString('zh', {maximumFractionDigits: '2'}): val;
data[summaryField[i]]=map;
}
return data;
},
subjectproductblacklist(){
let table = this.dataForm.subjectproductblacklistList
let summaryField =[]
let summaryFieldName ={}
let data ={}
let thousandsField = []
for (let i in summaryField) {
let map = {}
let val = 0
for (let j = 0; j < table.length; j++) {
let summary = table[j][summaryField[i]];
if (summary) {
let data = isNaN(summary) ? 0 : Number(summary)
val += data
}
}
map.id = summaryField[i];
map.name = summaryFieldName[summaryField[i]];
map.val = (thousandsField.includes(summaryField[i]))? Number(val).toLocaleString('zh', {maximumFractionDigits: '2'}): val;
data[summaryField[i]]=map;
}
return data;
},
initData(){
this.$nextTick(function(){
if (this.dataForm.id) {
this.loading = true
request({
url: '/api/scm/Subjectbasic/'+this.dataForm.id,
method: 'get',
}).then(res => {
this.dataInfo(res.data)
this.loading = false
})
}else {
this.initDefaultData()
}
})
},
beforeSubmit(){
const _data =this.dataList()
return _data
},
initDefaultData() {
},
selfInit() {
this.$store.commit('base/UPDATE_RELATION_DATA', {})
this.dataAll()
this.initDefaultData()
this.collapse()
},
selfGetInfo(dataForm){
this.dataForm.id = this.dataForm.id
this.dataInfo(dataForm)
},
addsubjectrepresentativeList(){
let value={}
this.tableKey = 'subjectrepresentativeList';
this.getsubjectrepresentativeList(value)
this.childIndex = -1
this.collapse()
},
delsubjectrepresentativeList(index) {
var that = this
uni.showModal({
title: '提示',
content: '确认删除该条信息吗?',
success: function(res) {
if (res.confirm) {
that.dataForm.subjectrepresentativeList.splice(index, 1);
that.collapse()
}
}
})
},
getsubjectrepresentativeList(value){
let item = {
representativeType : '',
name : '',
idCard : '',
idCardStart : '',
idCardEnd : '',
idCardPhoto1 : [],
idCardPhoto2 : [],
idCardPhoto3 : [],
authorizeFiles : [],
}
let result = {...item,...value}
this.dataForm.subjectrepresentativeList.push(result)
this.childIndex=this.dataForm.subjectrepresentativeList.length-1
this.isEdit = true
this.isEdit = false
},
addsubjectbusinesslineList(){
let value={}
this.tableKey = 'subjectbusinesslineList';
this.getsubjectbusinesslineList(value)
this.childIndex = -1
this.collapse()
},
delsubjectbusinesslineList(index) {
var that = this
uni.showModal({
title: '提示',
content: '确认删除该条信息吗?',
success: function(res) {
if (res.confirm) {
that.dataForm.subjectbusinesslineList.splice(index, 1);
that.collapse()
}
}
})
},
getsubjectbusinesslineList(value){
let item = {
businessLineId : "",
}
let result = {...item,...value}
this.dataForm.subjectbusinesslineList.push(result)
this.childIndex=this.dataForm.subjectbusinesslineList.length-1
this.isEdit = true
this.isEdit = false
},
addsubjectcontactsList(){
let value={}
this.tableKey = 'subjectcontactsList';
this.getsubjectcontactsList(value)
this.childIndex = -1
this.collapse()
},
delsubjectcontactsList(index) {
var that = this
uni.showModal({
title: '提示',
content: '确认删除该条信息吗?',
success: function(res) {
if (res.confirm) {
that.dataForm.subjectcontactsList.splice(index, 1);
that.collapse()
}
}
})
},
getsubjectcontactsList(value){
let item = {
logo : [],
contactsType : "2",
name : '',
position : '',
mobile : '',
phone : '',
companyName : '',
emaile : '',
address : '',
businessType : "1",
annex : [],
}
let result = {...item,...value}
this.dataForm.subjectcontactsList.push(result)
this.childIndex=this.dataForm.subjectcontactsList.length-1
this.isEdit = true
this.isEdit = false
},
addsubjectproductblacklistList(){
let value={}
this.tableKey = 'subjectproductblacklistList';
this.getsubjectproductblacklistList(value)
this.childIndex = -1
this.collapse()
},
delsubjectproductblacklistList(index) {
var that = this
uni.showModal({
title: '提示',
content: '确认删除该条信息吗?',
success: function(res) {
if (res.confirm) {
that.dataForm.subjectproductblacklistList.splice(index, 1);
that.collapse()
}
}
})
},
getsubjectproductblacklistList(value){
let item = {
productId : "",
startTime : '',
endTime : '',
}
let result = {...item,...value}
this.dataForm.subjectproductblacklistList.push(result)
this.childIndex=this.dataForm.subjectproductblacklistList.length-1
this.isEdit = true
this.isEdit = false
},
dataList(){
var _data = this.dataForm;
return _data;
},
dataInfo(dataAll){
let _dataAll =dataAll
this.dataForm=_dataAll
this.isEdit = true
this.dataAll()
for(let i=0;i<_dataAll.subjectrepresentativeList.length;i++){
this.childIndex = i
}
for(let i=0;i<_dataAll.subjectbusinesslineList.length;i++){
this.childIndex = i
}
for(let i=0;i<_dataAll.subjectcontactsList.length;i++){
this.childIndex = i
}
for(let i=0;i<_dataAll.subjectproductblacklistList.length;i++){
this.childIndex = i
}
this.childIndex=-1
this.collapse()
},
collapse(){
setTimeout(()=> {
}, 1000);
},
},
}
</script>
<style>
page{
background-color: #f0f2f6;
}
</style>