<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="left" :label-width="labelwidth" class="jnpf-form">
			<view class="u-p-l-20 u-p-r-20 form-item-box">
				<u-form-item>
					<view style="float: left; width:8px; height: 16px;background-color: cadetblue;margin-right: 8px;">
					</view>合同类型
				</u-form-item>
			</view>
			<view class="u-p-l-20 u-p-r-20 form-item-box">
				<u-form-item v-if="judgeShow('contractType')" :required="requiredList.contractType" label="合同类型"
					left-icon="question-circle-fill"
					@clickIcon="clickIcon('合同类型','不同的合同类型可编辑的字段内容不同，合同类型一旦保存不可修改，请选择更匹配你需求的一个。')"
					:left-icon-style="{'color':'#a0acb7'}" prop="contractType">
					<jnpf-radio v-model="dataForm.contractType" :disabled="judgeWrite('contractType')"
						@change="changeData('contractType',-1)" optionType="button" direction="horizontal"
						:props="contractTypeProps" :options="contractTypeOptions" :showOnly="true">
					</jnpf-radio>
				</u-form-item>
			</view>
			<view class="u-p-l-20 u-p-r-20 form-item-box">
				<u-form-item>
					<view style="float: left; width:8px; height: 16px;background-color: cadetblue;margin-right: 8px;">
					</view>基本信息
				</u-form-item>
			</view>
			<view class="u-p-l-20 u-p-r-20 form-item-box">
				<u-form-item v-if="judgeShow('contractTemplateId')" :required="requiredList.contractTemplateId"
					label="合同模板" prop="contractTemplateId">
					<jnpf-popup-select v-model="dataForm.contractTemplateId"
						:disabled="judgeWrite('contractTemplateId')" @change="changeData('contractTemplateId',-1)"
						:rowIndex="null" :formData="dataForm" :templateJson="interfaceRes.contractTemplateId" clearable
						propsValue="id" popupWidth="800px" popupTitle="选择数据" popupType="dialog" relationField='name'
						vModel='contractTemplateId' :columnOptions="contractTemplateIdColumnOptions"
						interfaceId="528856731099332613" :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('contractNumber')" :required="requiredList.contractNumber" label="合同编号"
					prop="contractNumber">
					<u-input v-model="dataForm.contractNumber" disabled @change="changeData('contractNumber',-1)"
						input-align='right' placeholder="系统自动生成" :style='{"width":"100%"}' readonly>
					</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('contractName')" :required="requiredList.contractName" label="合同名称"
					prop="contractName">
					<u-input v-model="dataForm.contractName" :disabled="judgeWrite('contractName')"
						@change="changeData('contractName',-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('contractNo')" :required="requiredList.contractNo" label="对方合同编号"
					prop="contractNo">
					<u-input v-model="dataForm.contractNo" :disabled="judgeWrite('contractNo')"
						@change="changeData('contractNo',-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('contractSignedTime')" :required="requiredList.contractSignedTime"
					label="签订日期" prop="contractSignedTime">
					<jnpf-date-time v-model="dataForm.contractSignedTime" :disabled="judgeWrite('contractSignedTime')"
						@change="changeData('contractSignedTime',-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('businessId')" :required="requiredList.businessId" label="关联业务线"
					prop="businessId">
					<jnpf-popup-select v-model="dataForm.businessId" :disabled="judgeWrite('businessId')"
						@change="changeData('businessId',-1)" :rowIndex="null" :formData="dataForm"
						:templateJson="interfaceRes.businessId" clearable propsValue="id" popupWidth="800px"
						popupTitle="选择数据" popupType="dialog" relationField='name' vModel='businessId'
						:columnOptions="businessIdColumnOptions" interfaceId="517979330417001669" :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('contractPeriodTime')" :required="requiredList.contractPeriodTime"
					label="有效期开始 " prop="contractPeriodTime">
					<jnpf-date-time v-model="dataForm.contractPeriodTime" :disabled="judgeWrite('contractPeriodTime')"
						@change="changeData('contractPeriodTime',-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('contractPeriodTimeEnd')" :required="requiredList.contractPeriodTimeEnd"
					label="有效期结束 " prop="contractPeriodTimeEnd">
					<jnpf-date-time v-model="dataForm.contractPeriodTimeEnd"
						:disabled="judgeWrite('contractPeriodTimeEnd')" @change="changeData('contractPeriodTimeEnd',-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>
					<view style="float: left; width:8px; height: 16px;background-color: cadetblue;margin-right: 8px;">
					</view>主体信息
				</u-form-item>
			</view>
			<view class="u-p-l-20 u-p-r-20 form-item-box">
				<u-form-item v-if="judgeShow('deptId')" :required="requiredList.deptId" label="签约主体" prop="deptId">
					<jnpf-com-select v-model="dataForm.deptId" :disabled="judgeWrite('deptId')"
						@change="changeData('deptId',-1)" selectType="all" :ableIds="ableAll.deptIdableIds" clearable
						placeholder="请选择" type="organize" :style='{"width":"100%"}'>
					</jnpf-com-select>
					<!-- <jnpf-com-select v-model="dataForm.deptId" :disabled="judgeWrite('deptId')"
						@change="changeData('deptId',-1)" selectType="all" :ableIds="ableAll.deptIdableIds" clearable
						placeholder="请选择" type="organize" :style='{"width":"100%"}'>
					</jnpf-com-select> -->
				</u-form-item>
			</view>
			<view class="u-p-l-20 u-p-r-20 form-item-box">
				<u-form-item v-if="judgeShow('subject')" :required="requiredList.subject" :label="fncGetSubjectLabel"
					prop="subject">
					<jnpf-popup-select v-model="dataForm.subject" :disabled="judgeWrite('subject')"
						@change="changeData('subject',-1)" :rowIndex="null" :formData="dataForm"
						:templateJson="fncGetSubjectParamList" clearable propsValue="id" popupWidth="800px"
						popupTitle="选择数据" popupType="dialog" relationField='subject_name' vModel='subject'
						:columnOptions="subjectColumnOptionsA" :interfaceId="fncGetSubjectInterfaceId" :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>
					<view style="float: left; width:8px; height: 16px;background-color: cadetblue;margin-right: 8px;">
					</view>财务信息
				</u-form-item>
			</view>
			<view class="u-p-l-20 u-p-r-20 form-item-box">
				<u-form-item>
					<view style="float: left; width:8px; height: 16px;background-color: cadetblue;margin-right: 8px;">
					</view>合同信息
				</u-form-item>
			</view>
			<view class="u-p-l-20 u-p-r-20 form-item-box">
				<u-form-item v-if="judgeShow('procurementModel')" :required="requiredList.procurementModel" label="采购模式"
					prop="procurementModel">
					<jnpf-select v-model="dataForm.procurementModel" :disabled="judgeWrite('procurementModel')"
						@change="changeData('procurementModel',-1)" clearable placeholder="请选择"
						:props="procurementModelProps" :options="procurementModelOptions" :style='{"width":"100%"}'>
					</jnpf-select>
				</u-form-item>
			</view>
			<template v-if="dataForm.procurementModel == 1">
			<view class="u-p-l-20 u-p-r-20 form-item-box">
				<u-form-item v-if="judgeShow('relatedContractId')" :required="requiredList.relatedContractId"
					label="关联销售合同" prop="relatedContractId">
					<jnpf-popup-select v-model="dataForm.relatedContractId" :disabled="judgeWrite('relatedContractId')"
						@change="changeData('relatedContractId',-1)" :rowIndex="null" :formData="dataForm"
						:templateJson="interfaceRes.relatedContractId" clearable propsValue="id" popupWidth="800px"
						popupTitle="选择数据" popupType="dialog" relationField='contract_name' vModel='relatedContractId'
						:columnOptions="relatedContractIdColumnOptions" interfaceId="529270998021701701" :pageSize="20"
						placeholder="请选择" type="popup" :style='{"width":"100%"}'>
					</jnpf-popup-select>
				</u-form-item>
			</view>
			</template>
			<view class="u-p-l-20 u-p-r-20 form-item-box">
				<u-form-item v-if="judgeShow('subject2')&&fncGetSubject2Show" :required="requiredList.subject2"
					:label="fncGetSubject2Label" prop="subject2">
					<jnpf-popup-select v-model="dataForm.subject2" :disabled="judgeWrite('subject2')"
						@change="changeData('subject2',-1)" :rowIndex="null" :formData="dataForm"
						:templateJson="fncGetSubject2ParamList" clearable propsValue="id" popupWidth="800px"
						popupTitle="选择数据" popupType="dialog" relationField='subject_name' vModel='subject2'
						:columnOptions="subjectColumnOptionsA" :interfaceId="fncGetSubject2InterfaceId" :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('subject3')&&fncGetSubject3Show" :required="requiredList.subject3"
					:label="fncGetSubject3Label" prop="subject3">
					<jnpf-popup-select v-model="dataForm.subject3" :disabled="judgeWrite('subject3')"
						@change="changeData('subject3',-1)" :rowIndex="null" :formData="dataForm"
						:templateJson="fncGetSubject3ParamList" clearable propsValue="id" popupWidth="800px"
						popupTitle="选择数据" popupType="dialog" relationField='subject_name' vModel='subject3'
						:columnOptions="subjectColumnOptionsA" :interfaceId="fncGetSubject3InterfaceId" :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>
					<view style="float: left; width:8px; height: 16px;background-color: cadetblue;margin-right: 8px;">
					</view>交货和运输信息
				</u-form-item>
			</view>
			<view class="u-p-l-20 u-p-r-20 form-item-box">
				<u-form-item v-if="judgeShow('deliveryModel')" :required="requiredList.deliveryModel" label="交货方式"
					prop="deliveryModel">
					<jnpf-select v-model="dataForm.deliveryModel" :disabled="judgeWrite('deliveryModel')"
						@change="changeData('deliveryModel',-1)" clearable placeholder="请选择" :props="deliveryModelProps"
						:options="deliveryModelOptions" :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('deliveryLocation')" :required="requiredList.deliveryLocation"
					label="交货地点 " prop="deliveryLocation">
					<u-input v-model="dataForm.deliveryLocation" :disabled="judgeWrite('deliveryLocation')"
						@change="changeData('deliveryLocation',-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('modeTransport')" :required="requiredList.modeTransport" label="运输方式"
					prop="modeTransport">
					<jnpf-select v-model="dataForm.modeTransport" :disabled="judgeWrite('modeTransport')"
						@change="changeData('modeTransport',-1)" clearable placeholder="请选择" :props="modeTransportProps"
						:options="modeTransportOptions" :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('costBearingMian')" :required="requiredList.costBearingMian" label="费用承担主体"
					prop="costBearingMian">
					<jnpf-select v-model="dataForm.costBearingMian" :disabled="judgeWrite('costBearingMian')"
						@change="changeData('costBearingMian',-1)" clearable placeholder="请选择"
						:props="costBearingMianProps" :options="costBearingMianOptions" :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>
					<view style="float: left; width:8px; height: 16px;background-color: cadetblue;margin-right: 8px;">
					</view>合同条款信息
				</u-form-item>
			</view>
			<view class="u-p-l-20 u-p-r-20 form-item-box">
				<u-form-item v-if="judgeShow('pricingModel')" :required="requiredList.pricingModel" label="定价模式 "
					prop="pricingModel">
					<jnpf-select v-model="dataForm.pricingModel" :disabled="judgeWrite('pricingModel')"
						@change="changeData('pricingModel',-1)" clearable placeholder="请选择" :props="pricingModelProps"
						:options="pricingModelOptions" :style='{"width":"100%"}'>
					</jnpf-select>
				</u-form-item>
			</view>
			<view class="jnpf-table" v-if="judgeShow('contractLPriceFormulaList')">
				<view class="jnpf-table-item" v-for="(item,i) in dataForm.contractLPriceFormulaList" :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('contractLPriceFormulaList') && dataForm.contractLPriceFormulaList.length>0"
							@click="delcontractlpriceformulaList(i)">删除</view>
					</view>
					<view class="u-p-l-20 u-p-r-20 form-item-box">
						<u-form-item v-if="judgeShow('contractlpriceformulaList-priceFormulaCode')"
							:required="requiredList['contractlpriceformulaList-priceFormulaCode']" label="公式编码">
							<u-input v-model="dataForm.contractLPriceFormulaList[i].priceFormulaCode" disabled
								@change="changeData('contractlpriceformula-priceFormulaCode',i)" input-align='right'
								placeholder="系统自动生成" :style='{"width":"100%"}' readonly>
							</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('contractlpriceformulaList-priceFormulaType')"
							:required="requiredList['contractlpriceformulaList-priceFormulaType']" label="价格公式类型">
							<jnpf-select v-model="dataForm.contractLPriceFormulaList[i].priceFormulaType"
								:disabled="judgeWrite('contractLPriceFormulaList')||judgeWrite('contractlpriceformulaList-priceFormulaType')"
								@change="changeData('contractlpriceformula-priceFormulaType',i)" clearable
								placeholder="请选择" :props="contractlpriceformulapriceFormulaTypeProps"
								:options="contractlpriceformulapriceFormulaTypeOptions" :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('contractlpriceformulaList-fixedProfit1')"
							:required="requiredList['contractlpriceformulaList-fixedProfit1']" label="固定利润1">
							<u-input v-model="dataForm.contractLPriceFormulaList[i].fixedProfit1"
								:disabled="judgeWrite('contractLPriceFormulaList')||judgeWrite('contractlpriceformulaList-fixedProfit1')"
								@change="changeData('contractlpriceformula-fixedProfit1',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('contractlpriceformulaList-fixedProfit2')"
							:required="requiredList['contractlpriceformulaList-fixedProfit2']" label="固定利润2">
							<u-input v-model="dataForm.contractLPriceFormulaList[i].fixedProfit2"
								:disabled="judgeWrite('contractLPriceFormulaList')||judgeWrite('contractlpriceformulaList-fixedProfit2')"
								@change="changeData('contractlpriceformula-fixedProfit2',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('contractlpriceformulaList-fixedAmount')"
							:required="requiredList['contractlpriceformulaList-fixedAmount']" label="固定金额">
							<u-input v-model="dataForm.contractLPriceFormulaList[i].fixedAmount"
								:disabled="judgeWrite('contractLPriceFormulaList')||judgeWrite('contractlpriceformulaList-fixedAmount')"
								@change="changeData('contractlpriceformula-fixedAmount',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('contractlpriceformulaList-accountCost')"
							:required="requiredList['contractlpriceformulaList-accountCost']" label="户头费">
							<u-input v-model="dataForm.contractLPriceFormulaList[i].accountCost"
								:disabled="judgeWrite('contractLPriceFormulaList')||judgeWrite('contractlpriceformulaList-accountCost')"
								@change="changeData('contractlpriceformula-accountCost',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('contractlpriceformulaList-handleCost')"
							:required="requiredList['contractlpriceformulaList-handleCost']" label="装卸费">
							<u-input v-model="dataForm.contractLPriceFormulaList[i].handleCost"
								:disabled="judgeWrite('contractLPriceFormulaList')||judgeWrite('contractlpriceformulaList-handleCost')"
								@change="changeData('contractlpriceformula-handleCost',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('contractlpriceformulaList-reshipmentCost')"
							:required="requiredList['contractlpriceformulaList-reshipmentCost']" label="倒运费">
							<u-input v-model="dataForm.contractLPriceFormulaList[i].reshipmentCost"
								:disabled="judgeWrite('contractLPriceFormulaList')||judgeWrite('contractlpriceformulaList-reshipmentCost')"
								@change="changeData('contractlpriceformula-reshipmentCost',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('contractlpriceformulaList-otherCost1')"
							:required="requiredList['contractlpriceformulaList-otherCost1']" label="其它费用1">
							<u-input v-model="dataForm.contractLPriceFormulaList[i].otherCost1"
								:disabled="judgeWrite('contractLPriceFormulaList')||judgeWrite('contractlpriceformulaList-otherCost1')"
								@change="changeData('contractlpriceformula-otherCost1',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('contractlpriceformulaList-otherCost2')"
							:required="requiredList['contractlpriceformulaList-otherCost2']" label="其它费用2">
							<u-input v-model="dataForm.contractLPriceFormulaList[i].otherCost2"
								:disabled="judgeWrite('contractLPriceFormulaList')||judgeWrite('contractlpriceformulaList-otherCost2')"
								@change="changeData('contractlpriceformula-otherCost2',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('contractlpriceformulaList-otherCost3')"
							:required="requiredList['contractlpriceformulaList-otherCost3']" label="其它费用3">
							<u-input v-model="dataForm.contractLPriceFormulaList[i].otherCost3"
								:disabled="judgeWrite('contractLPriceFormulaList')||judgeWrite('contractlpriceformulaList-otherCost3')"
								@change="changeData('contractlpriceformula-otherCost3',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('contractlpriceformulaList-otherCost4')"
							:required="requiredList['contractlpriceformulaList-otherCost4']" label="其它费用4">
							<u-input v-model="dataForm.contractLPriceFormulaList[i].otherCost4"
								:disabled="judgeWrite('contractLPriceFormulaList')||judgeWrite('contractlpriceformulaList-otherCost4')"
								@change="changeData('contractlpriceformula-otherCost4',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('contractlpriceformulaList-settlementTonnage')"
							:required="requiredList['contractlpriceformulaList-settlementTonnage']" label="结算吨数">
							<u-input v-model="dataForm.contractLPriceFormulaList[i].settlementTonnage"
								:disabled="judgeWrite('contractLPriceFormulaList')||judgeWrite('contractlpriceformulaList-settlementTonnage')"
								@change="changeData('contractlpriceformula-settlementTonnage',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('contractlpriceformulaList-correspondTonnage')"
							:required="requiredList['contractlpriceformulaList-correspondTonnage']" label="对应吨数">
							<u-input v-model="dataForm.contractLPriceFormulaList[i].correspondTonnage"
								:disabled="judgeWrite('contractLPriceFormulaList')||judgeWrite('contractlpriceformulaList-correspondTonnage')"
								@change="changeData('contractlpriceformula-correspondTonnage',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('contractlpriceformulaList-saleTonnage')"
							:required="requiredList['contractlpriceformulaList-saleTonnage']" label="销售吨数">
							<u-input v-model="dataForm.contractLPriceFormulaList[i].saleTonnage"
								:disabled="judgeWrite('contractLPriceFormulaList')||judgeWrite('contractlpriceformulaList-saleTonnage')"
								@change="changeData('contractlpriceformula-saleTonnage',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('contractlpriceformulaList-taxRate')"
							:required="requiredList['contractlpriceformulaList-taxRate']" label="税率">
							<u-input v-model="dataForm.contractLPriceFormulaList[i].taxRate"
								:disabled="judgeWrite('contractLPriceFormulaList')||judgeWrite('contractlpriceformulaList-taxRate')"
								@change="changeData('contractlpriceformula-taxRate',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('contractlpriceformulaList-taxRateCustomer')"
							:required="requiredList['contractlpriceformulaList-taxRateCustomer']" label="客户税负率">
							<u-input v-model="dataForm.contractLPriceFormulaList[i].taxRateCustomer"
								:disabled="judgeWrite('contractLPriceFormulaList')||judgeWrite('contractlpriceformulaList-taxRateCustomer')"
								@change="changeData('contractlpriceformula-taxRateCustomer',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('contractlpriceformulaList-taxRateYellowBull')"
							:required="requiredList['contractlpriceformulaList-taxRateYellowBull']" label="黄牛税负率">
							<u-input v-model="dataForm.contractLPriceFormulaList[i].taxRateYellowBull"
								:disabled="judgeWrite('contractLPriceFormulaList')||judgeWrite('contractlpriceformulaList-taxRateYellowBull')"
								@change="changeData('contractlpriceformula-taxRateYellowBull',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('contractlpriceformulaList-taxRateInvoicingCompany')"
							:required="requiredList['contractlpriceformulaList-taxRateInvoicingCompany']"
							label="开票公司税负率">
							<u-input v-model="dataForm.contractLPriceFormulaList[i].taxRateInvoicingCompany"
								:disabled="judgeWrite('contractLPriceFormulaList')||judgeWrite('contractlpriceformulaList-taxRateInvoicingCompany')"
								@change="changeData('contractlpriceformula-taxRateInvoicingCompany',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('contractlpriceformulaList-fundRate')"
							:required="requiredList['contractlpriceformulaList-fundRate']" label="资金利率">
							<u-input v-model="dataForm.contractLPriceFormulaList[i].fundRate"
								:disabled="judgeWrite('contractLPriceFormulaList')||judgeWrite('contractlpriceformulaList-fundRate')"
								@change="changeData('contractlpriceformula-fundRate',i)" input-align='right' clearable
								placeholder="请输入" :style='{"width":"100%"}'>
							</u-input>
						</u-form-item>
					</view>
				</view>
				<view class="jnpf-table-addBtn" @click="addcontractlpriceformulaList"
					v-if="!judgeWrite('contractLPriceFormulaList')">
					<u-icon name="plus" color="#2979ff"></u-icon>
					<span>{{dataForm.contractLPriceFormulaList.length==0?"添加价格公式":"添加"}}</span>
				</view>
			</view>
			<view class="u-p-l-20 u-p-r-20 form-item-box">
				<u-form-item>
					<view style="float: left; width:8px; height: 16px;background-color: cadetblue;margin-right: 8px;">
					</view>商品明细
				</u-form-item>
			</view>
			<view class="jnpf-table" v-if="judgeShow('contractLCommodityList')">
				<u-collapse>
					<u-collapse-item :title="dataForm.contractLCommodityList[i].commodityName+'(' + (i+1) + ') '" v-for="(item,i) in dataForm.contractLCommodityList" :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('contractLCommodityList') && dataForm.contractLCommodityList.length>0"
								@click="delcontractlcommodityList(i)">删除</view>
						</view> -->
						<view class="u-p-l-20 u-p-r-20 form-item-box">
							<u-form-item v-if="judgeShow('contractlcommodityList-productId')"
								:required="requiredList['contractlcommodityList-productId']" label="商品ID">
								<jnpf-popup-select v-model="dataForm.contractLCommodityList[i].productId"
									:disabled="judgeWrite('contractLCommodityList')||judgeWrite('contractlcommodityList-productId')"
									@change="changeData('contractlcommodity-productId',i)" :rowIndex="i"
									:formData="dataForm" :templateJson="interfaceRes.contractlcommodityproductId" clearable
									propsValue="id" popupWidth="800px" popupTitle="选择数据" popupType="dialog"
									relationField='id' :vModel="'productId'+i"
									:columnOptions="contractlcommodityproductIdColumnOptions"
									interfaceId="530288111456878597" :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('contractlcommodityList-commodityCode')"
								:required="requiredList['contractlcommodityList-commodityCode']" label="商品编码">
								<u-input v-model="dataForm.contractLCommodityList[i].commodityCode"
									:disabled="judgeWrite('contractLCommodityList')||judgeWrite('contractlcommodityList-commodityCode')"
									@change="changeData('contractlcommodity-commodityCode',i)" input-align='right' clearable
									placeholder="请输入" :style='{"width":"100%"}' readonly>
								</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('contractlcommodityList-commodityName')"
								:required="requiredList['contractlcommodityList-commodityName']" label="商品名称">
								<u-input v-model="dataForm.contractLCommodityList[i].commodityName"
									:disabled="judgeWrite('contractLCommodityList')||judgeWrite('contractlcommodityList-commodityName')"
									@change="changeData('contractlcommodity-commodityName',i)" input-align='right' clearable
									placeholder="请输入" :style='{"width":"100%"}' readonly>
								</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('contractlcommodityList-specifications')"
								:required="requiredList['contractlcommodityList-specifications']" label="商品规格">
								<u-input v-model="dataForm.contractLCommodityList[i].specifications"
									:disabled="judgeWrite('contractLCommodityList')||judgeWrite('contractlcommodityList-specifications')"
									@change="changeData('contractlcommodity-specifications',i)" input-align='right'
									clearable placeholder="请输入" :style='{"width":"100%"}' readonly>
								</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('contractlcommodityList-inventoryUnitId')"
								:required="requiredList['contractlcommodityList-inventoryUnitId']" label="库存单位">
								<u-input :value="getProductUnitName(dataForm.contractLCommodityList[i].inventoryUnitId)"
									:disabled="judgeWrite('contractLCommodityList')||judgeWrite('contractlcommodityList-inventoryUnitId')"
									@change="changeData('contractlcommodity-inventoryUnitId',i)" input-align='right'
									clearable placeholder="请输入" :style='{"width":"100%"}' readonly>
								</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('contractlcommodityList-procureUnit')"
								:required="requiredList['contractlcommodityList-procureUnit']" label="采购单位">
								<jnpf-select v-model="dataForm.contractLCommodityList[i].procureUnit"
									:disabled="judgeWrite('contractLCommodityList')||judgeWrite('contractlcommodityList-procureUnit')"
									@change="changeData('contractlcommodity-procureUnit',i)" clearable placeholder="请选择"
									:props="contractlcommodityprocureUnitProps"
									:options="contractlcommodityprocureUnitOptions" :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('contractlcommodityList-number')"
								:required="requiredList['contractlcommodityList-number']" label="数量">
								<u-input v-model="dataForm.contractLCommodityList[i].number"
									:disabled="judgeWrite('contractLCommodityList')||judgeWrite('contractlcommodityList-number')"
									@change="changeData('contractlcommodity-number',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('contractlcommodityList-taxRate')"
								:required="requiredList['contractlcommodityList-taxRate']" label="税率">
								<u-input v-model="dataForm.contractLCommodityList[i].taxRate"
									:disabled="judgeWrite('contractLCommodityList')||judgeWrite('contractlcommodityList-taxRate')"
									@change="changeData('contractlcommodity-taxRate',i)" input-align='right' clearable
									placeholder="请输入" :style='{"width":"100%"}'>
								</u-input><span style="padding: 0px 5px">%</span>
							</u-form-item>
						</view>
						<view class="u-p-l-20 u-p-r-20 form-item-box">
							<u-form-item v-if="judgeShow('contractlcommodityList-priceRate')"
								:required="requiredList['contractlcommodityList-priceRate']" label="含税单价">
								<u-input v-model="dataForm.contractLCommodityList[i].priceRate"
									:disabled="judgeWrite('contractLCommodityList')||judgeWrite('contractlcommodityList-priceRate')"
									@change="changeData('contractlcommodity-priceRate',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('contractlcommodityList-totalRate')"
								:required="requiredList['contractlcommodityList-totalRate']" label="含税总金额">
								<u-input v-model="dataForm.contractLCommodityList[i].totalRate"
									:disabled="judgeWrite('contractLCommodityList')||judgeWrite('contractlcommodityList-totalRate')"
									@change="changeData('contractlcommodity-totalRate',i)" input-align='right' clearable
									placeholder="请输入" :style='{"width":"100%"}'>
								</u-input>
							</u-form-item>
						</view>
					</u-collapse-item>
				</u-collapse>
				<view class="jnpf-table-addBtn" @click="addcontractlcommodityList"
					v-if="!judgeWrite('contractLCommodityList')">
					<u-icon name="plus" color="#2979ff"></u-icon>
					<span>{{dataForm.contractLCommodityList.length==0?"添加商品明细":"添加"}}</span>
				</view>
			</view>
			<view class="u-p-l-20 u-p-r-20 form-item-box">
				<u-form-item>
					<view style="float: left; width:8px; height: 16px;background-color: cadetblue;margin-right: 8px;">
					</view>费用条款
				</u-form-item>
			</view>
			<view class="jnpf-table" v-if="judgeShow('contractLFeeClauseList')">
				<view class="jnpf-table-item" v-for="(item,i) in dataForm.contractLFeeClauseList" :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('contractLFeeClauseList') && dataForm.contractLFeeClauseList.length>0"
							@click="delcontractLFeeClauseList(i)">删除</view>
					</view>
					<view class="u-p-l-20 u-p-r-20 form-item-box">
						<u-form-item v-if="judgeShow('contractLFeeClauseList-feeType')"
							:required="requiredList['contractLFeeClauseList-feeType']" label="费用类型">
							<jnpf-select v-model="dataForm.contractLFeeClauseList[i].feeType"
								:disabled="judgeWrite('contractLFeeClauseList')||judgeWrite('contractLFeeClauseList-feeType')"
								@change="changeData('contractLFeeClause-feeType',i)" clearable filterable
								placeholder="请选择" :props="contractLFeeClausefeeTypeProps"
								:options="contractLFeeClausefeeTypeOptions" :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('contractLFeeClauseList-price')"
							:required="requiredList['contractLFeeClauseList-price']" label="金额">
							<jnpf-number-box v-model="dataForm.contractLFeeClauseList[i].price"
								:disabled="judgeWrite('contractLFeeClauseList')||judgeWrite('contractLFeeClauseList-price')"
								@change="changeData('contractLFeeClause-price',i)" :precision="2" addonAfter="元"
								:controls="false" placeholder="数字文本" :step="1">
							</jnpf-number-box>
						</u-form-item>
					</view>
					<view class="u-p-l-20 u-p-r-20 form-item-box">
						<u-form-item v-if="judgeShow('contractLFeeClauseList-remark')"
							:required="requiredList['contractLFeeClauseList-remark']" label="备注">
							<u-input v-model="dataForm.contractLFeeClauseList[i].remark"
								:disabled="judgeWrite('contractLFeeClauseList')||judgeWrite('contractLFeeClauseList-remark')"
								@change="changeData('contractLFeeClause-remark',i)" input-align='right' clearable
								placeholder="请输入" :style='{"width":"100%"}'>
							</u-input>
						</u-form-item>
					</view>
				</view>
				<view class="jnpf-table-addBtn" @click="addcontractLFeeClauseList"
					v-if="!judgeWrite('contractLFeeClauseList')">
					<u-icon name="plus" color="#2979ff"></u-icon>
					<span>{{dataForm.contractLFeeClauseList.length==0?"添加费用条款":"添加"}}</span>
				</view>
			</view>
			<view class="u-p-l-20 u-p-r-20 form-item-box">
				<u-form-item>
					<view style="float: left; width:8px; height: 16px;background-color: cadetblue;margin-right: 8px;">
					</view>付款节点
				</u-form-item>
			</view>
			<view class="jnpf-table" v-if="judgeShow('contractLPaymentList')">
				<view class="jnpf-table-item" v-for="(item,i) in dataForm.contractLPaymentList" :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('contractLPaymentList') && dataForm.contractLPaymentList.length>0"
							@click="delcontractlpaymentList(i)">删除</view>
					</view>
					<view class="u-p-l-20 u-p-r-20 form-item-box">
						<u-form-item v-if="judgeShow('contractlpaymentList-paymentNode')"
							:required="requiredList['contractlpaymentList-paymentNode']" label="收付款节点">
							<jnpf-select v-model="dataForm.contractLPaymentList[i].paymentNode"
								:disabled="judgeWrite('contractLPaymentList')||judgeWrite('contractlpaymentList-paymentNode')"
								@change="changeData('contractlpayment-paymentNode',i)" clearable placeholder="请选择"
								:props="contractlpaymentpaymentNodeProps" :options="contractlpaymentpaymentNodeOptions"
								: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('contractlpaymentList-paymentMethod')"
							:required="requiredList['contractlpaymentList-paymentMethod']" label="收付款方式">
							<jnpf-select v-model="dataForm.contractLPaymentList[i].paymentMethod"
								:disabled="judgeWrite('contractLPaymentList')||judgeWrite('contractlpaymentList-paymentMethod')"
								@change="changeData('contractlpayment-paymentMethod',i)" clearable placeholder="请选择"
								:props="contractlpaymentpaymentMethodProps"
								:options="contractlpaymentpaymentMethodOptions" :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('contractlpaymentList-paymentRatio')"
							:required="requiredList['contractlpaymentList-paymentRatio']" label="付款比例">
							<jnpf-number-box v-model="dataForm.contractLPaymentList[i].paymentRatio"
								:disabled="judgeWrite('contractLPaymentList')||judgeWrite('contractlpaymentList-paymentRatio')"
								@change="changeData('contractlpayment-paymentRatio',i)" :precision="1" addonAfter="%"
								:controls="false" placeholder="请输入" :step="1">
							</jnpf-number-box>
						</u-form-item>
					</view>
					<view class="u-p-l-20 u-p-r-20 form-item-box">
						<u-form-item v-if="judgeShow('contractlpaymentList-price')"
							:required="requiredList['contractlpaymentList-price']" label="金额">
							<jnpf-number-box v-model="dataForm.contractLPaymentList[i].price"
								:disabled="judgeWrite('contractLPaymentList')||judgeWrite('contractlpaymentList-price')"
								@change="changeData('contractlpayment-price',i)" :precision="2" addonAfter="元"
								:controls="false" placeholder="请输入" :step="1">
							</jnpf-number-box>
						</u-form-item>
					</view>
					<view class="u-p-l-20 u-p-r-20 form-item-box">
						<u-form-item v-if="judgeShow('contractlpaymentList-remark')"
							:required="requiredList['contractlpaymentList-remark']" label="备注">
							<u-input v-model="dataForm.contractLPaymentList[i].remark"
								:disabled="judgeWrite('contractLPaymentList')||judgeWrite('contractlpaymentList-remark')"
								@change="changeData('contractlpayment-remark',i)" input-align='right' clearable
								placeholder="请输入" :style='{"width":"100%"}'>
							</u-input>
						</u-form-item>
					</view>
				</view>
				<view class="jnpf-table-addBtn" @click="addcontractlpaymentList"
					v-if="!judgeWrite('contractLPaymentList')">
					<u-icon name="plus" color="#2979ff"></u-icon>
					<span>{{dataForm.contractLPaymentList.length==0?"添加付款节点":"添加"}}</span>
				</view>
			</view>
			<view class="u-p-l-20 u-p-r-20 form-item-box">
				<u-form-item v-if="judgeShow('totalAmount')" :required="requiredList.totalAmount" label="合计金额（人民币）"
					prop="totalAmount" label-position="top" label-align="left">
					<jnpf-number-box v-model="dataForm.totalAmount" :disabled="judgeWrite('totalAmount')"
						@change="changeData('totalAmount',-1)" :precision="2" addonAfter="元" :controls="false"
						placeholder="数字文本" :step="1">
					</jnpf-number-box>
				</u-form-item>
			</view>
			<view class="u-p-l-20 u-p-r-20 form-item-box">
				<u-form-item v-if="judgeShow('amountCapitalization')" :required="requiredList.amountCapitalization"
					label="大写金额（人民币）" prop="amountCapitalization" label-position="top" label-align="left">
					<u-input v-model="dataForm.amountCapitalization" :disabled="judgeWrite('amountCapitalization')"
						@change="changeData('amountCapitalization',-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>
					<view style="float: left; width:8px; height: 16px;background-color: cadetblue;margin-right: 8px;">
					</view>其他信息
				</u-form-item>
			</view>
			<view class="u-p-l-20 u-p-r-20 form-item-box">
				<u-form-item v-if="judgeShow('contractRequirement')" :required="requiredList.contractRequirement"
					label="合同要求" prop="contractRequirement">
					<u-input v-model="dataForm.contractRequirement" :disabled="judgeWrite('contractRequirement')"
						@change="changeData('contractRequirement',-1)" input-align='right' placeholder="请输入"
						type="textarea" :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('remark')" :required="requiredList.remark" label="备注" prop="remark">
					<u-input v-model="dataForm.remark" :disabled="judgeWrite('remark')"
						@change="changeData('remark',-1)" input-align='right' placeholder="请输入" type="textarea"
						: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>
					<view style="float: left; width:8px; height: 16px;background-color: cadetblue;margin-right: 8px;">
					</view>附件信息
				</u-form-item>
			</view>
			<view class="u-p-l-20 u-p-r-20 form-item-box">
				<u-form-item v-if="judgeShow('contractAppendices')" :required="requiredList.contractAppendices"
					label="合同附件" prop="contractAppendices" label-position="top" label-align="left">
					<jnpf-file v-model="dataForm.contractAppendices" :disabled="judgeWrite('contractAppendices')"
						@change="changeData('contractAppendices',-1)" :list="dataForm.contractAppendices"
						tipText="支持格式：.rar .zip .doc .docx .pdf ，单个文件不能超过20MB" sizeUnit="MB" :fileSize="20" :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('ancillaryDocuments')" :required="requiredList.ancillaryDocuments"
					label="附属文件" prop="ancillaryDocuments" label-position="top" label-align="left">
					<jnpf-file v-model="dataForm.ancillaryDocuments" :disabled="judgeWrite('ancillaryDocuments')"
						@change="changeData('ancillaryDocuments',-1)" :list="dataForm.ancillaryDocuments"
						tipText="支持格式：.rar .zip .doc .docx .pdf ，单个文件不能超过20MB" sizeUnit="MB" :fileSize="20" :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('transactionAppendices')" :required="requiredList.transactionAppendices"
					label="关联交易合同（二级）" prop="transactionAppendices" label-position="top" label-align="left">
					<jnpf-file v-model="dataForm.transactionAppendices" :disabled="judgeWrite('transactionAppendices')"
						@change="changeData('transactionAppendices',-1)" :list="dataForm.transactionAppendices"
						tipText="支持格式：.rar .zip .doc .docx .pdf ，单个文件不能超过20MB" sizeUnit="MB" :fileSize="20" :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('transactionAppendices2')" :required="requiredList.transactionAppendices2"
					label="关联交易合同（三级）" prop="transactionAppendices2" label-position="top" label-align="left">
					<jnpf-file v-model="dataForm.transactionAppendices2"
						:disabled="judgeWrite('transactionAppendices2')"
						@change="changeData('transactionAppendices2',-1)" :list="dataForm.transactionAppendices2"
						tipText="支持格式：.rar .zip .doc .docx .pdf ，单个文件不能超过20MB" sizeUnit="MB" :fileSize="20" :limit="9"
						pathType="defaultPath" :isAccount="0">
					</jnpf-file>
				</u-form-item>
			</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 {
		getPopSelect,
		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: "",
					contractType: "1",
					contractTemplateId: "",
					contractNumber: '',
					contractName: '',
					contractNo: '',
					contractSignedTime: '',
					businessId: "",
					contractPeriodTime: '',
					contractPeriodTimeEnd: '',
					deptId: [],
					subject: "522407918746741061",
					procurementModel: "",
					relatedContractId: "",
					subject2: "",
					subject3: "",
					deliveryModel: "",
					deliveryLocation: '',
					modeTransport: "",
					costBearingMian: "",
					pricingModel: "",
					totalAmount: 0,
					amountCapitalization: '',
					contractRequirement: '',
					remark: '',
					contractAppendices: [],
					ancillaryDocuments: [],
					transactionAppendices: [],
					transactionAppendices2: [],
					contractLabel: [],
					contractLPriceFormulaList: [],
					contractLCommodityList: [],
					contractLFeeClauseList: [],
					contractLPaymentList: [],
				},
				rules: {
					contractName: [{
						required: true,
						message: '合同名称请输入',
					}, ],
					contractPeriodTime: [{
						required: true,
						message: '有效期开始 请选择',
					}, ],
					contractPeriodTimeEnd: [{
						required: true,
						message: '有效期结束 请选择',
					}, ],
					procurementModel: [{
						required: true,
						message: '采购模式请选择',
					}, ],
					relatedContractId: [{
						required: true,
						message: '关联销售合同请选择',
					}, ],
					deliveryModel: [{
						required: true,
						message: '交货方式请选择',
					}, ],
					deliveryLocation: [{
						required: true,
						message: '交货地点 请输入',
					}, ],
					modeTransport: [{
						required: true,
						message: '运输方式请选择',
					}, ],
					costBearingMian: [{
						required: true,
						message: '费用承担主体请选择',
					}, ],
					pricingModel: [{
						required: true,
						message: '定价模式 请选择',
					}, ],
					totalAmount: [{
						required: true,
						message: '合计金额（人民币）数字文本',
					}, ],
					amountCapitalization: [{
						required: true,
						message: '大写金额（人民币）请输入',
					}, ],
				},
				contractTypeOptions: [],
				contractTypeProps: {
					"label": "fullName",
					"value": "enCode",
					"multiple": false,
					"children": ""
				},
				contractTemplateIdColumnOptions: [{
						"label": "合同模板",
						"value": "name"
					},
					{
						"label": "合同类型",
						"value": "type"
					},
					{
						"label": "状态",
						"value": "status"
					},
				],
				businessIdColumnOptions: [{
					"label": "名称",
					"value": "name"
				}, ],
				subjectColumnOptions: [{
						"label": "类型",
						"value": "subject_basic_type"
					},
					{
						"label": "级别",
						"value": "calssify"
					},
					{
						"label": "主体名称",
						"value": "name"
					},
					{
						"label": "社会统一信息代码",
						"value": "information_code"
					},
					{
						"label": "付款方式",
						"value": "payment_method"
					},
					{
						"label": "合作方式",
						"value": "collaboration_method"
					},
					{
						"label": "结算方式",
						"value": "settlement_method"
					},
					{
						"label": "预付比例",
						"value": "advance_ratio"
					},
					{
						"label": "账期",
						"value": "account_period"
					},
					{
						"label": "压款方式",
						"value": "underpayment_method"
					},
					{
						"label": "保证金方式",
						"value": "margin_method"
					},
					{
						"label": "逾期利率",
						"value": "overdue_interest_rate"
					},
				],
				subjectColumnOptionsA: [{
						label: "主体名称",
						value: "subject_name",
						width: 200
					},
					{
						label: "类型",
						value: "subject_basic_type_name",
						width: 80
					},
					{
						label: "级别",
						value: "calssify_name",
						width: 60
					},
					{
						label: "所属公司",
						value: "company_name",
						width: 170
					},
					{
						label: "所属部门",
						value: "department_name",
						width: 170
					},
					{
						label: "社会统一信息代码",
						value: "information_code",
						width: 200
					},
					{
						label: "付款方式",
						value: "payment_method_name",
						width: 120
					},
					{
						label: "合作方式",
						value: "collaboration_method_name",
						width: 120
					},
					{
						label: "结算方式",
						value: "settlement_method_name",
						width: 120
					},
					{
						label: "预付比例",
						value: "advance_ratio_str",
						width: 120
					},
					{
						label: "账期",
						value: "account_period_str",
						width: 120
					},
					{
						label: "压款方式",
						value: "underpayment_method_str",
						width: 120
					},
					{
						label: "保证金方式",
						value: "margin_method_str",
						width: 120
					},
					{
						label: "逾期利率",
						value: "overdue_interest_rate_str",
						width: 120
					},
					{
						label: "可用业务线",
						value: "busuness_line_name",
						width: 400
					}
				],
				procurementModelOptions: [],
				procurementModelProps: {
					"label": "fullName",
					"value": "enCode",
					"multiple": false,
					"children": ""
				},
				relatedContractIdColumnOptions: [{
					"label": "销售合同",
					"value": "contract_name"
				}, ],
				subject2ColumnOptions: [{
						"label": "类型",
						"value": "subject_basic_type"
					},
					{
						"label": "级别",
						"value": "calssify"
					},
					{
						"label": "主体名称",
						"value": "name"
					},
				],
				subject3ColumnOptions: [{
						"label": "类型",
						"value": "subject_basic_type"
					},
					{
						"label": "级别",
						"value": "calssify"
					},
					{
						"label": "主体名称",
						"value": "name"
					},
				],
				deliveryModelOptions: [],
				deliveryModelProps: {
					"label": "fullName",
					"value": "enCode",
					"multiple": false,
					"children": ""
				},
				modeTransportOptions: [],
				modeTransportProps: {
					"label": "fullName",
					"value": "enCode",
					"multiple": false,
					"children": ""
				},
				costBearingMianOptions: [],
				costBearingMianProps: {
					"label": "fullName",
					"value": "enCode",
					"multiple": false,
					"children": ""
				},
				pricingModelOptions: [],
				pricingModelProps: {
					"label": "fullName",
					"value": "enCode",
					"multiple": false,
					"children": ""
				},
				contractLabelOptions: [],
				contractLabelProps: {
					"label": "fullName",
					"value": "enCode",
					"multiple": false,
					"children": ""
				},
				contractlpriceformulapriceFormulaTypeOptions: [],
				contractlpriceformulapriceFormulaTypeProps: {
					"label": "fullName",
					"value": "enCode",
					"multiple": false,
					"children": ""
				},
				contractlcommodityproductIdColumnOptions: [{
						"label": "商品编码",
						"value": "code"
					},
					{
						"label": "商品名称",
						"value": "name"
					},
					{
						"label": "商品规格",
						"value": "spec"
					},
					{
						"label": "库存单位",
						"value": "inventory_unit_name"
					},
					{
						"label": "采购单位",
						"value": "order_main_unit_name"
					},
					{
						"label": "销售单位",
						"value": "sales_main_unit_name"
					},
				],
				contractlcommodityprocureUnitOptions: [{
					"fullName": "选项一",
					"id": "1"
				}, {
					"fullName": "选项二",
					"id": "2"
				}],
				contractlcommodityprocureUnitProps: {
					"label": "fullName",
					"value": "id",
					"multiple": false,
					"children": ""
				},
				contractLFeeClausefeeTypeOptions: [],
				contractLFeeClausefeeTypeProps: {
					"label": "fullName",
					"value": "enCode",
					"multiple": false,
					"children": ""
				},
				contractlpaymentpaymentNodeOptions: [],
				contractlpaymentpaymentNodeProps: {
					"label": "fullName",
					"value": "enCode",
					"multiple": false,
					"children": ""
				},
				contractlpaymentpaymentMethodOptions: [],
				contractlpaymentpaymentMethodProps: {
					"label": "fullName",
					"value": "enCode",
					"multiple": false,
					"children": ""
				},
				labelwidth: 180 * 1.5,
				menuId: '',
				jurisdictionType: '',
				ruleList: {
					contractLPriceFormulaList: {},
					contractLCommodityList: {},
					contractLFeeClauseList: {
						'feeType': '费用类型不能为空',
					},
					contractLPaymentList: {},
				},
				interfaceRes: {
					contractType: [],
					contractTemplateId: [],
					contractNumber: [],
					contractName: [],
					contractNo: [],
					contractSignedTime: [],
					businessId: [],
					contractPeriodTime: [],
					contractPeriodTimeEnd: [],
					deptId: [],
					subject: [{
							dataType: "int",
							defaultValue: "1",
							field: "subject_basic_type",
							fieldName: "1-客户|2-供应商|3-服务商",
							id: "tcNti32",
							required: 0
						},
						{
							dataType: "int",
							defaultValue: "1",
							field: "calssify",
							fieldName: "1-一级|2-二级|3-三级",
							id: "yWlti32",
							required: 0
						},
						{
							dataType: "varchar",
							defaultValue: "",
							field: "business_line_id",
							fieldName: "业务线ID",
							id: "R00Zh32",
							required: 0
						}
					],
					subject: [{
							dataType: "int",
							defaultValue: "1",
							field: "subject_basic_type",
							fieldName: "1-客户|2-供应商|3-服务商",
							id: "tcNti32",
							required: 0
						},
						{
							dataType: "int",
							defaultValue: "1",
							field: "calssify",
							fieldName: "1-一级|2-二级|3-三级",
							id: "yWlti32",
							required: 0
						},
						{
							dataType: "varchar",
							defaultValue: "",
							field: "business_line_id",
							fieldName: "业务线ID",
							id: "R00Zh32",
							required: 0
						}
					],
					procurementModel: [],
					relatedContractId: [],
					subject2: [],
					subject3: [],
					deliveryModel: [],
					deliveryLocation: [],
					modeTransport: [],
					costBearingMian: [],
					pricingModel: [],
					totalAmount: [],
					amountCapitalization: [],
					contractRequirement: [],
					remark: [],
					contractAppendices: [],
					ancillaryDocuments: [],
					transactionAppendices: [],
					transactionAppendices2: [],
					contractLabel: [],
					contractlpriceformulapriceFormulaCode: [],
					contractlpriceformulapriceFormulaType: [],
					contractlpriceformulafixedProfit1: [],
					contractlpriceformulafixedProfit2: [],
					contractlpriceformulafixedAmount: [],
					contractlpriceformulaaccountCost: [],
					contractlpriceformulahandleCost: [],
					contractlpriceformulareshipmentCost: [],
					contractlpriceformulaotherCost1: [],
					contractlpriceformulaotherCost2: [],
					contractlpriceformulaotherCost3: [],
					contractlpriceformulaotherCost4: [],
					contractlpriceformulasettlementTonnage: [],
					contractlpriceformulacorrespondTonnage: [],
					contractlpriceformulasaleTonnage: [],
					contractlpriceformulataxRate: [],
					contractlpriceformulataxRateCustomer: [],
					contractlpriceformulataxRateYellowBull: [],
					contractlpriceformulataxRateInvoicingCompany: [],
					contractlpriceformulafundRate: [],
					contractlcommodityproductId: [],
					contractlcommoditycommodityCode: [],
					contractlcommoditycommodityName: [],
					contractlcommodityspecifications: [],
					contractlcommodityinventoryUnitId: [],
					contractlcommodityprocureUnit: [],
					contractlcommoditynumber: [],
					contractlcommoditytaxRate: [],
					contractlcommoditypriceRate: [],
					contractlcommoditytotalRate: [],
					contractLFeeClausefeeType: [],
					contractLFeeClauseprice: [],
					contractLFeeClauseremark: [],
					contractlpaymentpaymentNode: [],
					contractlpaymentpaymentMethod: [],
					contractlpaymentpaymentRatio: [],
					contractlpaymentprice: [],
					contractlpaymentremark: [],
				},
				regList: {
					contractLPriceFormulaList: {
						priceFormulaCode: [],
						priceFormulaType: [],
						fixedProfit1: [],
						fixedProfit2: [],
						fixedAmount: [],
						accountCost: [],
						handleCost: [],
						reshipmentCost: [],
						otherCost1: [],
						otherCost2: [],
						otherCost3: [],
						otherCost4: [],
						settlementTonnage: [],
						correspondTonnage: [],
						saleTonnage: [],
						taxRate: [],
						taxRateCustomer: [],
						taxRateYellowBull: [],
						taxRateInvoicingCompany: [],
						fundRate: [],
					},
					contractLCommodityList: {
						productId: [],
						commodityCode: [],
						commodityName: [],
						specifications: [],
						inventoryUnitId: [],
						procureUnit: [],
						number: [],
						taxRate: [],
						priceRate: [],
						totalRate: [],
					},
					contractLFeeClauseList: {
						feeType: [],
						price: [],
						remark: [],
					},
					contractLPaymentList: {
						paymentNode: [],
						paymentMethod: [],
						paymentRatio: [],
						price: [],
						remark: [],
					},
				},
				ableAll: {
					deptIdableIds: [],
				},
				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,
				paramListSubject11: [{
						dataType: "int",
						defaultValue: "1",
						field: "subject_basic_type",
						fieldName: "1-客户|2-供应商|3-服务商",
						id: "tcNti32",
						required: 0
					},
					{
						dataType: "int",
						defaultValue: "1",
						field: "calssify",
						fieldName: "1-一级|2-二级|3-三级",
						id: "yWlti32",
						required: 0
					},
					{
						dataType: "varchar",
						defaultValue: "",
						field: "business_line_id",
						fieldName: "业务线ID",
						id: "R00Zh32",
						required: 0
					}
				],
				paramListSubject21: [{
						dataType: "int",
						defaultValue: "1",
						field: "subject_basic_type",
						fieldName: "1-客户|2-供应商|3-服务商",
						id: "tcNti32",
						required: 0
					},
					{
						dataType: "int",
						defaultValue: "2",
						field: "calssify",
						fieldName: "1-一级|2-二级|3-三级",
						id: "yWlti32",
						required: 0
					},
					{
						dataType: "varchar",
						defaultValue: "",
						field: "business_line_id",
						fieldName: "业务线ID",
						id: "R00Zh32",
						required: 0
					}
				],
				paramListSubject12: [{
						dataType: "int",
						defaultValue: "2",
						field: "subject_basic_type",
						fieldName: "1-客户|2-供应商|3-服务商",
						id: "tcNti32",
						required: 0
					},
					{
						dataType: "int",
						defaultValue: "1",
						field: "calssify",
						fieldName: "1-一级|2-二级|3-三级",
						id: "yWlti32",
						required: 0
					},
					{
						dataType: "varchar",
						defaultValue: "",
						field: "business_line_id",
						fieldName: "业务线ID",
						id: "R00Zh32",
						required: 0
					}
				],
				paramListSubject22: [{
						dataType: "int",
						defaultValue: "2",
						field: "subject_basic_type",
						fieldName: "1-客户|2-供应商|3-服务商",
						id: "tcNti32",
						required: 0
					},
					{
						dataType: "int",
						defaultValue: "2",
						field: "calssify",
						fieldName: "1-一级|2-二级|3-三级",
						id: "yWlti32",
						required: 0
					},
					{
						dataType: "varchar",
						defaultValue: "",
						field: "business_line_id",
						fieldName: "业务线ID",
						id: "R00Zh32",
						required: 0
					}
				],
				paramListSubject32: [{
						dataType: "int",
						defaultValue: "2",
						field: "subject_basic_type",
						fieldName: "1-客户|2-供应商|3-服务商",
						id: "tcNti32",
						required: 0
					},
					{
						dataType: "int",
						defaultValue: "3",
						field: "calssify",
						fieldName: "1-一级|2-二级|3-三级",
						id: "yWlti32",
						required: 0
					},
					{
						dataType: "varchar",
						defaultValue: "",
						field: "business_line_id",
						fieldName: "业务线ID",
						id: "R00Zh32",
						required: 0
					}
				],
				paramListSubjectx3: [{
					dataType: "varchar",
					defaultValue: "",
					field: "business_line_id",
					fieldName: "业务线ID",
					id: "R00Zh32",
					required: 0
				}],
				optionsProductUnit: [],
				listQuery: {
					keyword: "",
					currentPage: 1,
					pageSize: 100000
				},
			}
		},
		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;
				}
			}
		},
		computed: {
			fncGetSubject2Show() {
				switch (this.dataForm.contractType) {
					case "1":
					case "2":
						return true;
						break;
					default:
						return false;
						break;
				}
			},
			fncGetSubject3Show() {
				switch (this.dataForm.contractType) {
					case "1":
						return true;
						break;
					default:
						return false;
						break;
				}
			},
			fncGetSubjectLabel() {
				switch (this.dataForm.contractType) {
					case "1":
						return "供应商";
						break;
					case "2":
						return "客户";
						break;
					default:
						return "服务商";
						break;
				}
			},
			fncGetSubject2Label() {
				switch (this.dataForm.contractType) {
					case "1":
						return "关联供应商（二级）";
						break;
					case "2":
						return "关联客户（二级）";
						break;
					default:
						return "";
						break;
				}
			},
			fncGetSubject3Label() {
				switch (this.dataForm.contractType) {
					case "1":
						return "关联供应商（三级）";
						break;
					default:
						return "";
						break;
				}
			},
			fncGetSubjectParamList() {
				switch (this.dataForm.contractType) {
					case "1":
						return this.paramListSubject12;
						break;
					case "2":
						return this.paramListSubject11;
						break;
					default:
						return this.paramListSubjectx3;
						break;
				}
			},
			fncGetSubject2ParamList() {
				switch (this.dataForm.contractType) {
					case "1":
						return this.paramListSubject22;
						break;
					case "2":
						return this.paramListSubject21;
						break;
				}
			},
			fncGetSubject3ParamList() {
				switch (this.dataForm.contractType) {
					case "1":
						return this.paramListSubject32;
						break;
				}
			},
			fncGetSubjectInterfaceId() {
				switch (this.dataForm.contractType) {
					case "1":
					case "2":
						return "549863235596100037";
						break;
					default:
						return "549964903897670085";
						break;
				}
			},
			fncGetSubject2InterfaceId() {
				switch (this.dataForm.contractType) {
					case "1":
					case "2":
						return "549863235596100037";
						break;
					default:
						return "549964903897670085";
						break;
				}
			},
			fncGetSubject3InterfaceId() {
				switch (this.dataForm.contractType) {
					case "1":
					case "2":
						return "549863235596100037";
						break;
					default:
						return "549964903897670085";
						break;
				}
			}
		},
		onReady() {
			this.$nextTick(() => {
				setTimeout(() => {
					this.$refs.dataForm.setRules(this.rules);
				}, 100)
			})
		},
		watch: {
			dataForm: {
				handler(val, oldVal) {
					this.contractlpriceformula()
					this.contractlcommodity()
					this.contractLFeeClause()
					this.contractlpayment()
				},
				deep: true
			}
		},
		methods: {
			getApiProductUnit() {
				let interfaceId = "522684730601111557";
				let query = {
					...this.listQuery
				};
				getPopSelect(interfaceId, query)
					.then(res => {
						if (res.code == 200) {
							let optionsProductUnit = [];
							for (let i = 0; i < res.data.list.length; i++) {
								optionsProductUnit.push({
									fullName: res.data.list[i]["unit_name"],
									id: res.data.list[i]["product_unit_code"]
								});
							}
							this.optionsProductUnit = optionsProductUnit;
							this.contractlcommodityprocureUnitOptions = optionsProductUnit;
						}
					})
					.catch(() => {});
			},
			getProductUnitName(id) {
				let fArr = this.optionsProductUnit.filter(o1 => {
					return o1.id == id;
				});
				if (fArr.length > 0) {
					return fArr[0]["fullName"];
				}
			},
			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.getcontractTypeOptions()
				this.getprocurementModelOptions()
				this.getdeliveryModelOptions()
				this.getmodeTransportOptions()
				this.getcostBearingMianOptions()
				this.getpricingModelOptions()
				this.getcontractLabelOptions()
				this.getcontractlpriceformulapriceFormulaTypeOptions()
				this.getcontractLFeeClausefeeTypeOptions()
				this.getcontractlpaymentpaymentNodeOptions()
				this.getcontractlpaymentpaymentMethodOptions()
				this.collapse()
				this.getApiProductUnit()
			},
			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;
			},
			getcontractTypeOptions() {
				getDictionaryDataSelector('519483543638772229').then(res => {
					this.contractTypeOptions = res.data.list
				})
			},
			getprocurementModelOptions() {
				getDictionaryDataSelector('528908998779338757').then(res => {
					this.procurementModelOptions = res.data.list
				})
			},
			getdeliveryModelOptions() {
				getDictionaryDataSelector('528909902031093765').then(res => {
					this.deliveryModelOptions = res.data.list
				})
			},
			getmodeTransportOptions() {
				getDictionaryDataSelector('528911662179155973').then(res => {
					this.modeTransportOptions = res.data.list
				})
			},
			getcostBearingMianOptions() {
				getDictionaryDataSelector('528912119651893253').then(res => {
					this.costBearingMianOptions = res.data.list
				})
			},
			getpricingModelOptions() {
				getDictionaryDataSelector('528918479743483909').then(res => {
					this.pricingModelOptions = res.data.list
				})
			},
			getcontractLabelOptions() {
				getDictionaryDataSelector('529252201021833285').then(res => {
					this.contractLabelOptions = res.data.list
				})
			},
			contractlpriceformula() {
				let table = this.dataForm.contractLPriceFormulaList
				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;
			},
			getcontractlpriceformulapriceFormulaTypeOptions() {
				getDictionaryDataSelector('529925559430414341').then(res => {
					this.contractlpriceformulapriceFormulaTypeOptions = res.data.list
				})
			},
			contractlcommodity() {
				let table = this.dataForm.contractLCommodityList
				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;
			},
			contractLFeeClause() {
				let table = this.dataForm.contractLFeeClauseList
				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;
			},
			getcontractLFeeClausefeeTypeOptions() {
				getDictionaryDataSelector('528957381233606661').then(res => {
					this.contractLFeeClausefeeTypeOptions = res.data.list
				})
			},
			contractlpayment() {
				let table = this.dataForm.contractLPaymentList
				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;
			},
			getcontractlpaymentpaymentNodeOptions() {
				getDictionaryDataSelector('529219891287294021').then(res => {
					this.contractlpaymentpaymentNodeOptions = res.data.list
				})
			},
			getcontractlpaymentpaymentMethodOptions() {
				getDictionaryDataSelector('529220245760507973').then(res => {
					this.contractlpaymentpaymentMethodOptions = res.data.list
				})
			},
			initData() {
				this.$nextTick(function() {
					if (this.dataForm.id) {
						this.loading = true
						request({
							url: '/api/scm/ContractL/' + 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() {
				if (this.userInfo.organizeIdList instanceof Array && this.userInfo.organizeIdList.length > 0) {
					this.dataForm.deptId = this.userInfo.organizeIdList
				}
			},
			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)
			},
			addcontractlpriceformulaList() {
				let value = {}
				this.tableKey = 'contractLPriceFormulaList';
				this.getcontractlpriceformulaList(value)
				this.childIndex = -1
				this.collapse()
			},
			delcontractlpriceformulaList(index) {
				var that = this
				uni.showModal({
					title: '提示',
					content: '确认删除该条信息吗？',
					success: function(res) {
						if (res.confirm) {
							that.dataForm.contractLPriceFormulaList.splice(index, 1);
							that.collapse()
						}
					}
				})
			},
			getcontractlpriceformulaList(value) {
				let item = {
					priceFormulaCode: '',
					priceFormulaType: "",
					priceFormulaTypeOptions: [],
					fixedProfit1: '',
					fixedProfit2: '',
					fixedAmount: '',
					accountCost: '',
					handleCost: '',
					reshipmentCost: '',
					otherCost1: '',
					otherCost2: '',
					otherCost3: '',
					otherCost4: '',
					settlementTonnage: '',
					correspondTonnage: '',
					saleTonnage: '',
					taxRate: '',
					taxRateCustomer: '',
					taxRateYellowBull: '',
					taxRateInvoicingCompany: '',
					fundRate: '',
				}
				let result = {
					...item,
					...value
				}
				this.dataForm.contractLPriceFormulaList.push(result)
				this.childIndex = this.dataForm.contractLPriceFormulaList.length - 1
				this.isEdit = true
				this.isEdit = false
			},
			addcontractlcommodityList() {
				let value = {}
				this.tableKey = 'contractLCommodityList';
				this.getcontractlcommodityList(value)
				this.childIndex = -1
				this.collapse()
			},
			delcontractlcommodityList(index) {
				var that = this
				uni.showModal({
					title: '提示',
					content: '确认删除该条信息吗？',
					success: function(res) {
						if (res.confirm) {
							that.dataForm.contractLCommodityList.splice(index, 1);
							that.collapse()
						}
					}
				})
			},
			getcontractlcommodityList(value) {
				let item = {
					productId: "",
					commodityCode: '',
					commodityName: '',
					specifications: '',
					inventoryUnitId: '',
					procureUnit: "",
					number: '',
					taxRate: '',
					priceRate: '',
					totalRate: '',
				}
				let result = {
					...item,
					...value
				}
				this.dataForm.contractLCommodityList.push(result)
				this.childIndex = this.dataForm.contractLCommodityList.length - 1
				this.isEdit = true
				this.isEdit = false
			},
			addcontractLFeeClauseList() {
				let value = {}
				this.tableKey = 'contractLFeeClauseList';
				this.getcontractLFeeClauseList(value)
				this.childIndex = -1
				this.collapse()
			},
			delcontractLFeeClauseList(index) {
				var that = this
				uni.showModal({
					title: '提示',
					content: '确认删除该条信息吗？',
					success: function(res) {
						if (res.confirm) {
							that.dataForm.contractLFeeClauseList.splice(index, 1);
							that.collapse()
						}
					}
				})
			},
			getcontractLFeeClauseList(value) {
				let item = {
					feeType: "",
					feeTypeOptions: [],
					price: 0,
					remark: '',
				}
				let result = {
					...item,
					...value
				}
				this.dataForm.contractLFeeClauseList.push(result)
				this.childIndex = this.dataForm.contractLFeeClauseList.length - 1
				this.isEdit = true
				this.isEdit = false
			},
			addcontractlpaymentList() {
				let value = {}
				this.tableKey = 'contractLPaymentList';
				this.getcontractlpaymentList(value)
				this.childIndex = -1
				this.collapse()
			},
			delcontractlpaymentList(index) {
				var that = this
				uni.showModal({
					title: '提示',
					content: '确认删除该条信息吗？',
					success: function(res) {
						if (res.confirm) {
							that.dataForm.contractLPaymentList.splice(index, 1);
							that.collapse()
						}
					}
				})
			},
			getcontractlpaymentList(value) {
				let item = {
					paymentNode: "",
					paymentNodeOptions: [],
					paymentMethod: "",
					paymentMethodOptions: [],
					paymentRatio: 0,
					price: 0,
					remark: '',
				}
				let result = {
					...item,
					...value
				}
				this.dataForm.contractLPaymentList.push(result)
				this.childIndex = this.dataForm.contractLPaymentList.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.contractLPriceFormulaList.length; i++) {
					this.childIndex = i
				}
				for (let i = 0; i < _dataAll.contractLCommodityList.length; i++) {
					this.childIndex = i
				}
				for (let i = 0; i < _dataAll.contractLFeeClauseList.length; i++) {
					this.childIndex = i
				}
				for (let i = 0; i < _dataAll.contractLPaymentList.length; i++) {
					this.childIndex = i
				}
				this.childIndex = -1
				this.collapse()
			},
			collapse() {
				setTimeout(() => {}, 1000);
			},
		},
	}
</script>
<style>
	page {
		background-color: #f0f2f6;
	}
</style>