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.

2419 lines
90 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"
5 months ago
label-align="left" :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')"
4 months ago
@change="changeData('subjectBasicType',-1)" 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)"
4 months ago
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') && dataForm.calssify != 3" :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') && dataForm.calssify != 3" :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') && dataForm.calssify != 3" :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')"
4 months ago
@change="changeData('country',-1)" 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')"
4 months ago
@change="changeData('address',-1)" 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') && dataForm.calssify != 3" :required="requiredList.phone" label="公司电话" prop="phone">
<u-input v-model="dataForm.phone" :disabled="judgeWrite('phone')" @change="changeData('phone',-1)"
4 months ago
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') && dataForm.calssify != 3" :required="requiredList.companyFax" label="公司传真"
prop="companyFax">
<u-input v-model="dataForm.companyFax" :disabled="judgeWrite('companyFax')"
4 months ago
@change="changeData('companyFax',-1)" 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') && dataForm.calssify != 3" :required="requiredList.companyWebsite" label="公司网址"
prop="companyWebsite">
<u-input v-model="dataForm.companyWebsite" :disabled="judgeWrite('companyWebsite')"
4 months ago
@change="changeData('companyWebsite',-1)" 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') && dataForm.calssify != 3" :required="requiredList.companyDescription"
label="公司介绍" prop="companyDescription">
<u-input v-model="dataForm.companyDescription" :disabled="judgeWrite('companyDescription')"
4 months ago
@change="changeData('companyDescription',-1)" clearable placeholder="请输入"
type="textarea" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 " v-if="dataForm.calssify != 3">
<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') && dataForm.calssify != 3"
: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') && dataForm.calssify != 3" :required="requiredList.registerAddress" label="注册地址"
prop="registerAddress">
<u-input v-model="dataForm.registerAddress" :disabled="judgeWrite('registerAddress')"
4 months ago
@change="changeData('registerAddress',-1)" 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') && dataForm.calssify != 3" :required="requiredList.informationCode"
label="社会统一信息代码" prop="informationCode">
<u-input v-model="dataForm.informationCode" :disabled="judgeWrite('informationCode')"
4 months ago
@change="changeData('informationCode',-1)" 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') && dataForm.calssify != 3" :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') && dataForm.calssify != 3" :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') && dataForm.calssify != 3" :required="requiredList.registerFunds" label="注册资金"
prop="registerFunds">
<u-input v-model="dataForm.registerFunds" :disabled="judgeWrite('registerFunds')"
4 months ago
@change="changeData('registerFunds',-1)" 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') && dataForm.calssify != 3" :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') && dataForm.calssify != 3" :required="requiredList.operationScope" label="经营范围"
prop="operationScope">
<u-input v-model="dataForm.operationScope" :disabled="judgeWrite('operationScope')"
4 months ago
@change="changeData('operationScope',-1)" 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')"
4 months ago
@change="changeData('subjectrepresentative-name',i)" 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')"
4 months ago
@change="changeData('subjectrepresentative-idCard',i)" 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="需求量下">
<u-input v-model="dataForm.demandVolumeDown" :disabled="judgeWrite('demandVolumeDown')"
4 months ago
@change="changeData('demandVolumeDown',-1)" 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="需求量上">
<u-input v-model="dataForm.demandVolumeUpper" :disabled="judgeWrite('demandVolumeUpper')"
4 months ago
@change="changeData('demandVolumeUpper',-1)" 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')"
4 months ago
@change="changeData('accountName',-1)" 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')"
4 months ago
@change="changeData('bankAccount',-1)" 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')"
4 months ago
@change="changeData('bankBranchName',-1)" 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') && dataForm.calssify != 3" :required="requiredList.companyTaxNumber" label="公司税号"
prop="companyTaxNumber">
<u-input v-model="dataForm.companyTaxNumber" :disabled="judgeWrite('companyTaxNumber')"
4 months ago
@change="changeData('companyTaxNumber',-1)" 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') && dataForm.calssify != 3" :required="requiredList.enterpriseName" label="企业名称"
prop="enterpriseName">
<u-input v-model="dataForm.enterpriseName" :disabled="judgeWrite('enterpriseName')"
4 months ago
@change="changeData('enterpriseName',-1)" 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') && dataForm.calssify != 3" :required="requiredList.workAddress" label="单位地址"
prop="workAddress">
<u-input v-model="dataForm.workAddress" :disabled="judgeWrite('workAddress')"
4 months ago
@change="changeData('workAddress',-1)" 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') && dataForm.settlementMethod == 2" :required="requiredList.advanceRatio" label="预付比例"
prop="advanceRatio">
<u-input v-model="dataForm.advanceRatio" :disabled="judgeWrite('advanceRatio')"
4 months ago
@change="changeData('advanceRatio',-1)" 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')"
4 months ago
@change="changeData('accountPeriod',-1)" 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') && dataForm.underpaymentMethod != 0"
:required="requiredList.applyForUnderpaymentRatio" label="申请压款金额/比例"
prop="applyForUnderpaymentRatio">
<u-input v-model="dataForm.applyForUnderpaymentRatio"
:disabled="judgeWrite('applyForUnderpaymentRatio')"
4 months ago
@change="changeData('applyForUnderpaymentRatio',-1)" 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') && dataForm.marginMethod != 0" :required="requiredList.applyForMarginRatio"
label="申请保证金额/比例" prop="applyForMarginRatio">
<u-input v-model="dataForm.applyForMarginRatio" :disabled="judgeWrite('applyForMarginRatio')"
4 months ago
@change="changeData('applyForMarginRatio',-1)" 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') && dataForm.overdueInterestRate != 0" :required="requiredList.applyForOverdueRatio"
label="申请逾期利率" prop="applyForOverdueRatio">
<u-input v-model="dataForm.applyForOverdueRatio" :disabled="judgeWrite('applyForOverdueRatio')"
4 months ago
@change="changeData('applyForOverdueRatio',-1)" 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')"
4 months ago
@change="changeData('subjectcontacts-name',i)" 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')"
4 months ago
@change="changeData('subjectcontacts-position',i)" 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')"
4 months ago
@change="changeData('subjectcontacts-mobile',i)" 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')"
4 months ago
@change="changeData('subjectcontacts-phone',i)" 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')"
4 months ago
@change="changeData('subjectcontacts-companyName',i)" 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')"
4 months ago
@change="changeData('subjectcontacts-emaile',i)" 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')"
4 months ago
@change="changeData('subjectcontacts-address',i)" 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')"
4 months ago
@change="changeData('accountsReceivableUpper1',-1)" 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')"
4 months ago
@change="changeData('accountsReceivableUpper2',-1)" 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')"
4 months ago
@change="changeData('orderQuantityDown',-1)" 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')"
4 months ago
@change="changeData('orderQuantityUpper',-1)" 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')"
4 months ago
@change="changeData('creditLimit1',-1)" 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')"
4 months ago
@change="changeData('creditLimit2',-1)" 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')"
4 months ago
@change="changeData('accountsReceivableOverLimit',-1)" 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')"
4 months ago
@change="changeData('creditLimitOverLimit',-1)" 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')"
4 months ago
@change="changeData('accountsReceivableOverdue1',-1)" 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')"
4 months ago
@change="changeData('accountsReceivableOverdue2',-1)" 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')"
4 months ago
@change="changeData('taxPaymentCertificate1',-1)" 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')"
4 months ago
@change="changeData('taxPaymentCertificate2',-1)" 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')"
4 months ago
@change="changeData('fundLimit',-1)" 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')"
4 months ago
@change="changeData('taxBearingRate',-1)" 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 '../../../workFlow/workFlowForm/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"
}, {
"fullName": "三级",
"id": "3"
}],
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": "0"
}, {
"fullName": "按金额",
"id": "1"
}, {
"fullName": "按比例",
"id": "2"
}],
underpaymentMethodProps: {
"label": "fullName",
"value": "id",
"multiple": false,
"children": ""
},
marginMethodOptions: [{
"fullName": "无",
"id": "0"
}, {
"fullName": "按金额",
"id": "1"
}, {
"fullName": "按比例",
"id": "2"
}],
marginMethodProps: {
"label": "fullName",
"value": "id",
"multiple": false,
"children": ""
},
overdueInterestRateOptions: [{
"fullName": "无",
"id": "0"
}, {
"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"
}, ],
4 months ago
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>