|
|
|
@ -34,316 +34,150 @@
|
|
|
|
|
<!-- 具体表单 -->
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<jnpf-form-tip-item>
|
|
|
|
|
<JnpfGroupTitle content="基础信息" contentPosition="left">
|
|
|
|
|
<JnpfGroupTitle content="合同信息" contentPosition="left">
|
|
|
|
|
</JnpfGroupTitle>
|
|
|
|
|
</jnpf-form-tip-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<jnpf-form-tip-item label="凭证类型" prop="voucherType">
|
|
|
|
|
<JnpfSelect v-model="dataForm.voucherType" @change="changeData('voucherType',-1)"
|
|
|
|
|
placeholder="请选择" clearable :style='{"width":"100%"}'
|
|
|
|
|
:options="voucherTypeOptions" :props="voucherTypeProps">
|
|
|
|
|
</JnpfSelect>
|
|
|
|
|
<jnpf-form-tip-item label="合同名称" prop="contractName">
|
|
|
|
|
<JnpfInput v-model="dataForm.contractName" disabled="true"
|
|
|
|
|
@change="changeData('contractName', -1)" placeholder="请输入" clearable
|
|
|
|
|
:style="{ width: '100%' }">
|
|
|
|
|
</JnpfInput>
|
|
|
|
|
</jnpf-form-tip-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<jnpf-form-tip-item label="合同名称" prop="contractName">
|
|
|
|
|
<JnpfInput v-model="dataForm.contractName" @change="changeData('contractName', -1)"
|
|
|
|
|
placeholder="请输入" clearable :style="{ width: '100%' }">
|
|
|
|
|
<jnpf-form-tip-item label="合同编号" prop="contractNumber">
|
|
|
|
|
<JnpfInput v-model="dataForm.contractNumber" disabled="true"
|
|
|
|
|
@change="changeData('contractNumber', -1)" placeholder="请输入" clearable
|
|
|
|
|
:style="{ width: '100%' }">
|
|
|
|
|
</JnpfInput>
|
|
|
|
|
</jnpf-form-tip-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<jnpf-form-tip-item label="制单时间" prop="preparationTime">
|
|
|
|
|
<JnpfDatePicker v-model="dataForm.preparationTime"
|
|
|
|
|
@change="changeData('preparationTime',-1)" :startTime="dateTime(false,1,1,'','')"
|
|
|
|
|
:endTime="dateTime(false,1,1,'','')" placeholder="请选择" clearable
|
|
|
|
|
:style='{"width":"100%"}' type="date" format="yyyy-MM-dd">
|
|
|
|
|
</JnpfDatePicker>
|
|
|
|
|
<jnpf-form-tip-item label="对方合同编号" prop="contractNo">
|
|
|
|
|
<JnpfInput v-model="dataForm.contractNo" disabled="true"
|
|
|
|
|
@change="changeData('contractNo', -1)" placeholder="请输入" clearable
|
|
|
|
|
:style="{ width: '100%' }">
|
|
|
|
|
</JnpfInput>
|
|
|
|
|
</jnpf-form-tip-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<jnpf-form-tip-item label="配送方式" prop="deliveryType">
|
|
|
|
|
<JnpfSelect v-model="dataForm.deliveryType" @change="changeData('deliveryType',-1)"
|
|
|
|
|
placeholder="请选择" clearable :style='{"width":"100%"}'
|
|
|
|
|
:options="deliveryTypeOptions" :props="deliveryTypeProps">
|
|
|
|
|
<jnpf-form-tip-item label="合同类型" prop="contractType">
|
|
|
|
|
<JnpfSelect v-model="dataForm.contractType" @change="changeData('contractType',-1)"
|
|
|
|
|
placeholder="请选择" clearable :style='{"width":"100%"}' disabled="true"
|
|
|
|
|
:options="contractTypeOptions" :props="contractTypeProps">
|
|
|
|
|
</JnpfSelect>
|
|
|
|
|
</jnpf-form-tip-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<jnpf-form-tip-item>
|
|
|
|
|
<JnpfGroupTitle content="凭证信息" contentPosition="left">
|
|
|
|
|
</JnpfGroupTitle>
|
|
|
|
|
</jnpf-form-tip-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<jnpf-form-tip-item label="发货单位" prop="supplierId">
|
|
|
|
|
<JnpfPopupSelect v-model="dataForm.supplierId" @change="changeData('supplierId',-1)"
|
|
|
|
|
:rowIndex="null" :formData="dataForm" :templateJson="interfaceRes.supplierId"
|
|
|
|
|
placeholder="请选择" propsValue="f_id" popupWidth="800px" popupTitle="选择数据"
|
|
|
|
|
popupType="dialog" relationField='f_full_name' field='supplierId'
|
|
|
|
|
interfaceId="522729853024209157" :pageSize="20"
|
|
|
|
|
:columnOptions="supplierIdcolumnOptions" clearable :style='{"width":"100%"}'>
|
|
|
|
|
</JnpfPopupSelect>
|
|
|
|
|
<jnpf-form-tip-item label="采购模式" prop="procurementModel">
|
|
|
|
|
<JnpfSelect v-model="dataForm.procurementModel"
|
|
|
|
|
@change="changeData('procurementModel',-1)" placeholder="请选择" clearable
|
|
|
|
|
:style='{"width":"100%"}' disabled="true" :options="procurementModelOptions"
|
|
|
|
|
:props="procurementModelProps">
|
|
|
|
|
</JnpfSelect>
|
|
|
|
|
</jnpf-form-tip-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<jnpf-form-tip-item label="收货单位" prop="customerId">
|
|
|
|
|
<JnpfPopupSelect v-model="dataForm.customerId" @change="changeData('customerId',-1)"
|
|
|
|
|
:rowIndex="null" :formData="dataForm" :templateJson="interfaceRes.customerId"
|
|
|
|
|
placeholder="请选择" propsValue="id" popupWidth="800px" popupTitle="选择数据"
|
|
|
|
|
popupType="dialog" relationField='name' field='customerId'
|
|
|
|
|
interfaceId="522693551289534725" :pageSize="20"
|
|
|
|
|
:columnOptions="customerIdcolumnOptions" clearable :style='{"width":"100%"}'>
|
|
|
|
|
</JnpfPopupSelect>
|
|
|
|
|
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<jnpf-form-tip-item>
|
|
|
|
|
<JnpfGroupTitle content="关联信息" contentPosition="left">
|
|
|
|
|
</JnpfGroupTitle>
|
|
|
|
|
</jnpf-form-tip-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<jnpf-form-tip-item label-width="0">
|
|
|
|
|
<div class="JNPF-common-title">
|
|
|
|
|
<h2></h2>
|
|
|
|
|
</div>
|
|
|
|
|
<el-table :data="dataForm.voucherProductBatchList" size='mini'>
|
|
|
|
|
<el-table :data="dataForm.contractRelationList" size='mini'>
|
|
|
|
|
<el-table-column type="index" width="50" label="序号" align="center" />
|
|
|
|
|
<el-table-column label="订单序号" prop="orderNo" width="200">
|
|
|
|
|
|
|
|
|
|
<el-table-column label="销售合同编码" prop="purchaseContractCode"
|
|
|
|
|
v-if="dataForm.procurementModel==1">
|
|
|
|
|
<template slot="header" v-if="false">
|
|
|
|
|
<span class="required-sign">*</span>订单序号
|
|
|
|
|
<span class="required-sign">*</span>销售合同编码
|
|
|
|
|
</template>
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<JnpfInput v-model="scope.row.orderNo"
|
|
|
|
|
<JnpfInput v-model="scope.row.purchaseContractCode"
|
|
|
|
|
@change="changeData('voucherproduct-spec',scope.$index)" placeholder="请输入"
|
|
|
|
|
clearable :style='{"width":"100%"}'>
|
|
|
|
|
</JnpfInput>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="商品名称" prop="productId" width="300">
|
|
|
|
|
<template slot="header" v-if="true">
|
|
|
|
|
<span class="required-sign">*</span>商品名称
|
|
|
|
|
</template>
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<JnpfPopupSelect v-model="scope.row.productId"
|
|
|
|
|
@change="changeData('voucherproduct-productId',scope.$index)"
|
|
|
|
|
:rowIndex="scope.$index" :formData="dataForm"
|
|
|
|
|
:templateJson="interfaceRes.voucherproductproductId" placeholder="请选择"
|
|
|
|
|
disabled propsValue="id" popupWidth="800px" popupTitle="选择数据"
|
|
|
|
|
popupType="dialog" relationField='name' :field="'productId'+scope.$index"
|
|
|
|
|
interfaceId="529919666429100229" :pageSize="20"
|
|
|
|
|
:columnOptions="voucherproductproductIdcolumnOptions" clearable
|
|
|
|
|
:style='{"width":"100%"}'>
|
|
|
|
|
</JnpfPopupSelect>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="规格" prop="spec" width="200">
|
|
|
|
|
|
|
|
|
|
<el-table-column label="销售合同名称" prop="purchaseContractName"
|
|
|
|
|
v-if="dataForm.procurementModel==1">
|
|
|
|
|
<template slot="header" v-if="false">
|
|
|
|
|
<span class="required-sign">*</span>规格
|
|
|
|
|
<span class="required-sign">*</span>销售合同名称
|
|
|
|
|
</template>
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<JnpfInput v-model="scope.row.spec"
|
|
|
|
|
@change="changeData('voucherproduct-spec',scope.$index)" placeholder="请输入"
|
|
|
|
|
<JnpfInput v-model="scope.row.purchaseContractName"
|
|
|
|
|
@change="changeData('voucherproduct-remark',scope.$index)" placeholder="请输入"
|
|
|
|
|
clearable :style='{"width":"100%"}'>
|
|
|
|
|
</JnpfInput>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="单位" prop="unit" width="100">
|
|
|
|
|
<template slot="header" v-if="false">
|
|
|
|
|
<span class="required-sign">*</span>单位
|
|
|
|
|
</template>
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<JnpfInput v-model="scope.row.unit"
|
|
|
|
|
@change="changeData('voucherproduct-unit',scope.$index)" placeholder="请输入"
|
|
|
|
|
clearable :style='{"width":"100%"}' disabled>
|
|
|
|
|
</JnpfInput>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="毛重" prop="grossWeight" width="180">
|
|
|
|
|
<template slot="header" v-if="false">
|
|
|
|
|
<span class="required-sign">*</span>毛重
|
|
|
|
|
</template>
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<JnpfInput v-model="scope.row.grossWeight"
|
|
|
|
|
@change="changeData('voucherproduct-grossWeight',scope.$index)"
|
|
|
|
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
|
|
|
|
</JnpfInput>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="皮重" prop="tareWeight" width="180">
|
|
|
|
|
<template slot="header" v-if="false">
|
|
|
|
|
<span class="required-sign">*</span>皮重
|
|
|
|
|
</template>
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<JnpfInput v-model="scope.row.tareWeight"
|
|
|
|
|
@change="changeData('voucherproduct-tareWeight',scope.$index)"
|
|
|
|
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
|
|
|
|
</JnpfInput>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="扣重" prop="buckleWeight" width="180">
|
|
|
|
|
<template slot="header" v-if="false">
|
|
|
|
|
<span class="required-sign">*</span>扣重
|
|
|
|
|
</template>
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<JnpfInput v-model="scope.row.buckleWeight"
|
|
|
|
|
@change="changeData('voucherproduct-buckleWeight',scope.$index)"
|
|
|
|
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
|
|
|
|
</JnpfInput>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="结算量" prop="netWeight" width="180">
|
|
|
|
|
<template slot="header" v-if="false">
|
|
|
|
|
<span class="required-sign">*</span>结算量
|
|
|
|
|
</template>
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<JnpfInput v-model="scope.row.netWeight"
|
|
|
|
|
@change="changeData('voucherproduct-netWeight',scope.$index)"
|
|
|
|
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
|
|
|
|
</JnpfInput>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="净重" prop="netWeight" width="180">
|
|
|
|
|
<template slot="header" v-if="false">
|
|
|
|
|
<span class="required-sign">*</span>净重
|
|
|
|
|
</template>
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<JnpfInput v-model="scope.row.clearWeight"
|
|
|
|
|
@change="changeData('voucherproduct-netWeight',scope.$index)"
|
|
|
|
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
|
|
|
|
</JnpfInput>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="运费" prop="freight" width="180">
|
|
|
|
|
|
|
|
|
|
<el-table-column label="销售合同对方合同号" prop="purchaseContractNo"
|
|
|
|
|
v-if="dataForm.procurementModel==1">
|
|
|
|
|
<template slot="header" v-if="false">
|
|
|
|
|
<span class="required-sign">*</span>运费
|
|
|
|
|
<span class="required-sign">*</span>销售合同对方合同号
|
|
|
|
|
</template>
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<JnpfInput v-model="scope.row.freight"
|
|
|
|
|
<JnpfInput v-model="scope.row.purchaseContractNo"
|
|
|
|
|
@change="changeData('voucherproduct-remark',scope.$index)" placeholder="请输入"
|
|
|
|
|
clearable :style='{"width":"100%"}'>
|
|
|
|
|
</JnpfInput>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="车牌号" prop="vehicleId" width="180">
|
|
|
|
|
<template slot="header" v-if="true">
|
|
|
|
|
<span class="required-sign">*</span>车牌号
|
|
|
|
|
</template>
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<JnpfPopupSelect v-model="scope.row.vehicleId"
|
|
|
|
|
@change="changeData('voucherproduct-printTime',scope.$index)"
|
|
|
|
|
:rowIndex="scope.$index" :formData="dataForm"
|
|
|
|
|
:templateJson="interfaceRes.voucherproductprintTime" placeholder="请选择"
|
|
|
|
|
propsValue="id" popupWidth="800px" popupTitle="选择数据" popupType="dialog"
|
|
|
|
|
relationField='vehicle_number' :field="'printTime'+scope.$index"
|
|
|
|
|
interfaceId="529920852288864453" :pageSize="20"
|
|
|
|
|
:columnOptions="voucherproductprintTimecolumnOptions" clearable
|
|
|
|
|
:style='{"width":"100%"}'>
|
|
|
|
|
</JnpfPopupSelect>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="驾驶员名称" prop="driverName" width="160">
|
|
|
|
|
<template slot="header" v-if="false">
|
|
|
|
|
<span class="required-sign">*</span>驾驶员名称
|
|
|
|
|
</template>
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<JnpfInput v-model="scope.row.driverName"
|
|
|
|
|
@change="changeData('voucherproduct-receiptUnit',scope.$index)"
|
|
|
|
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
|
|
|
|
</JnpfInput>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="磅单编号" prop="poundCode" width="250">
|
|
|
|
|
<template slot="header" v-if="false">
|
|
|
|
|
<span class="required-sign">*</span>磅单编号
|
|
|
|
|
</template>
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<JnpfInput v-model="scope.row.poundCode"
|
|
|
|
|
@change="changeData('voucherproduct-tenantId',scope.$index)"
|
|
|
|
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
|
|
|
|
</JnpfInput>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="运输方式" prop="modeTransport" width="150">
|
|
|
|
|
<template slot="header" v-if="true">
|
|
|
|
|
<span class="required-sign">*</span>运输方式
|
|
|
|
|
</template>
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<JnpfSelect v-model="scope.row.modeTransport"
|
|
|
|
|
@change="changeData('voucherproduct-cargoId',scope.$index)"
|
|
|
|
|
placeholder="请选择" clearable :style='{"width":"100%"}'
|
|
|
|
|
:options="voucherproductcargoIdOptions" :props="voucherproductcargoIdProps">
|
|
|
|
|
</JnpfSelect>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="承运方式" prop="transportationMethod" width="150">
|
|
|
|
|
<template slot="header" v-if="true">
|
|
|
|
|
<span class="required-sign">*</span>承运方式
|
|
|
|
|
</template>
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<JnpfSelect v-model="scope.row.transportationMethod"
|
|
|
|
|
@change="changeData('voucherproduct-receiptNum',scope.$index)"
|
|
|
|
|
placeholder="请选择" clearable :style='{"width":"100%"}'
|
|
|
|
|
:options="voucherproductreceiptNumOptions"
|
|
|
|
|
:props="voucherproductreceiptNumProps">
|
|
|
|
|
</JnpfSelect>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="承运商" prop="carrier" width="150">
|
|
|
|
|
|
|
|
|
|
<el-table-column label="采购合同编号" prop="purchaseContractCode"
|
|
|
|
|
v-if="dataForm.procurementModel==2">
|
|
|
|
|
<template slot="header" v-if="false">
|
|
|
|
|
<span class="required-sign">*</span>承运商
|
|
|
|
|
<span class="required-sign">*</span>采购合同编号
|
|
|
|
|
</template>
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<JnpfInput v-model="scope.row.carrier"
|
|
|
|
|
@change="changeData('voucherproduct-batchNo',scope.$index)"
|
|
|
|
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
|
|
|
|
<JnpfInput v-model="scope.row.purchaseContractCode"
|
|
|
|
|
@change="changeData('voucherproduct-remark',scope.$index)" placeholder="请输入"
|
|
|
|
|
clearable :style='{"width":"100%"}'>
|
|
|
|
|
</JnpfInput>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="起运地" prop="placeDispatch" width="250">
|
|
|
|
|
<template slot="header" v-if="true">
|
|
|
|
|
<span class="required-sign">*</span>起运地
|
|
|
|
|
</template>
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<JnpfAreaSelect v-model="scope.row.placeDispatch"
|
|
|
|
|
@change="changeData('voucherproduct-deliveryUnit',scope.$index)"
|
|
|
|
|
placeholder="请选择" selectType="all" clearable :style='{"width":"100%"}'
|
|
|
|
|
:level="2">
|
|
|
|
|
</JnpfAreaSelect>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="到达地" prop="destination" width="250">
|
|
|
|
|
<template slot="header" v-if="true">
|
|
|
|
|
<span class="required-sign">*</span>到达地
|
|
|
|
|
</template>
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<JnpfAreaSelect v-model="scope.row.destination"
|
|
|
|
|
@change="changeData('voucherproduct-deliveryNum',scope.$index)"
|
|
|
|
|
placeholder="请选择" selectType="all" clearable :style='{"width":"100%"}'
|
|
|
|
|
:level="2">
|
|
|
|
|
</JnpfAreaSelect>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="销售合同编号" prop="saleContractNo" width="180">
|
|
|
|
|
|
|
|
|
|
<el-table-column label="采购合同名称" prop="purchaseContractName"
|
|
|
|
|
v-if="dataForm.procurementModel==2">
|
|
|
|
|
<template slot="header" v-if="false">
|
|
|
|
|
<span class="required-sign">*</span>销售合同编号
|
|
|
|
|
<span class="required-sign">*</span>采购合同名称
|
|
|
|
|
</template>
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<JnpfInput v-model="scope.row.saleContractNo"
|
|
|
|
|
<JnpfInput v-model="scope.row.purchaseContractName"
|
|
|
|
|
@change="changeData('voucherproduct-remark',scope.$index)" placeholder="请输入"
|
|
|
|
|
clearable :style='{"width":"100%"}'>
|
|
|
|
|
</JnpfInput>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="销售额" prop="saleAmount" width="180">
|
|
|
|
|
|
|
|
|
|
<el-table-column label="采购合同对方合同号" prop="purchaseContractNo"
|
|
|
|
|
v-if="dataForm.procurementModel==2">
|
|
|
|
|
<template slot="header" v-if="false">
|
|
|
|
|
<span class="required-sign">*</span>销售额
|
|
|
|
|
<span class="required-sign">*</span>采购合同对方合同号
|
|
|
|
|
</template>
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<JnpfInput v-model="scope.row.saleAmount"
|
|
|
|
|
<JnpfInput v-model="scope.row.purchaseContractNo"
|
|
|
|
|
@change="changeData('voucherproduct-remark',scope.$index)" placeholder="请输入"
|
|
|
|
|
clearable :style='{"width":"100%"}'>
|
|
|
|
|
</JnpfInput>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
|
|
|
|
|
<el-table-column label="操作" width="50">
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<el-button size="mini" type="text" class="JNPF-table-delBtn"
|
|
|
|
@ -351,9 +185,9 @@
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
</el-table>
|
|
|
|
|
<!-- <div class="table-actions" @click="addvoucherproductList()">
|
|
|
|
|
<div class="table-actions" @click="choice(dataForm.contractType)">
|
|
|
|
|
<el-button type="text" icon="el-icon-plus">添加</el-button>
|
|
|
|
|
</div> -->
|
|
|
|
|
</div>
|
|
|
|
|
</jnpf-form-tip-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<!-- 表单结束 -->
|
|
|
|
@ -361,6 +195,9 @@
|
|
|
|
|
</el-form>
|
|
|
|
|
<SelectDialog v-if="selectDialogVisible" :config="currTableConf" :formData="dataForm"
|
|
|
|
|
ref="selectDialog" @select="addForSelect" @close="selectDialogVisible=false" />
|
|
|
|
|
|
|
|
|
|
<ContractList v-if="contractVisible" ref="contractListBox" @refreshDataList="initList" />
|
|
|
|
|
|
|
|
|
|
</el-row>
|
|
|
|
|
</div>
|
|
|
|
|
</transition>
|
|
|
|
@ -376,8 +213,10 @@ import { getDefaultCurrentValueUserId } from '@/api/permission/user'
|
|
|
|
|
import { getDefaultCurrentValueDepartmentId } from '@/api/permission/organize'
|
|
|
|
|
import { getDateDay, getLaterData, getBeforeData, getBeforeTime, getLaterTime } from '@/components/Generator/utils/index.js'
|
|
|
|
|
import { thousandsFormat } from "@/components/Generator/utils/index"
|
|
|
|
|
import ContractList from '@/views/scm/publicPopup/ContractLBox'
|
|
|
|
|
|
|
|
|
|
export default {
|
|
|
|
|
components: {},
|
|
|
|
|
components: { ContractList },
|
|
|
|
|
props: [],
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
|
|
|
@ -395,6 +234,7 @@ export default {
|
|
|
|
|
eventType: '',
|
|
|
|
|
userBoxVisible: false,
|
|
|
|
|
selectDialogVisible: false,
|
|
|
|
|
contractVisible: false,
|
|
|
|
|
currTableConf: {},
|
|
|
|
|
dataValueAll: {},
|
|
|
|
|
addTableConf: {
|
|
|
|
@ -441,41 +281,19 @@ export default {
|
|
|
|
|
Vmodel: "",
|
|
|
|
|
currVmodel: "",
|
|
|
|
|
dataForm: {
|
|
|
|
|
voucherType: undefined,
|
|
|
|
|
preparationTime: undefined,
|
|
|
|
|
deliveryType: undefined,
|
|
|
|
|
supplierId: undefined,
|
|
|
|
|
customerId: undefined,
|
|
|
|
|
documentType: "2",
|
|
|
|
|
voucherStatus: "2",
|
|
|
|
|
businessType: "2",
|
|
|
|
|
voucherProductBatchList: [],
|
|
|
|
|
id: undefined,
|
|
|
|
|
contractName: undefined,
|
|
|
|
|
contractNumber: undefined,
|
|
|
|
|
contractNo: undefined,
|
|
|
|
|
contractType: undefined,
|
|
|
|
|
procurementModel: undefined,
|
|
|
|
|
contractRelationList: [],
|
|
|
|
|
version: 0,
|
|
|
|
|
},
|
|
|
|
|
tableRequiredData: {},
|
|
|
|
|
dataRule:
|
|
|
|
|
{
|
|
|
|
|
voucherType: [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请选择',
|
|
|
|
|
trigger: 'change'
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
preparationTime: [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请选择',
|
|
|
|
|
trigger: 'change'
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
deliveryType: [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请选择',
|
|
|
|
|
trigger: 'change'
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
|
|
|
|
|
supplierId: [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
@ -491,18 +309,13 @@ export default {
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
voucherTypeOptions: [{ "fullName": "磅单", "id": "1" }, { "fullName": "收据", "id": "2" }, { "fullName": "其他", "id": "3" }],
|
|
|
|
|
voucherTypeProps: { "label": "fullName", "value": "id" },
|
|
|
|
|
deliveryTypeOptions: [{ "fullName": "仓配", "id": "1" }, { "fullName": "直送", "id": "2" }],
|
|
|
|
|
deliveryTypeProps: { "label": "fullName", "value": "id" },
|
|
|
|
|
supplierIdcolumnOptions: [{ "label": "机构编码", "value": "f_en_code" }, { "label": "机构名称", "value": "f_full_name" }],
|
|
|
|
|
customerIdcolumnOptions: [{ "label": "客户名称", "value": "name" }, { "label": "国家", "value": "country" }, { "label": "地址", "value": "address" }, { "label": "电话", "value": "phone" }],
|
|
|
|
|
documentTypeOptions: [{ "fullName": "收货凭证", "id": "1" }, { "fullName": "发货凭证", "id": "2" }],
|
|
|
|
|
documentTypeProps: { "label": "fullName", "value": "id" },
|
|
|
|
|
voucherStatusOptions: [{ "fullName": "待提交", "id": "1" }, { "fullName": "待审核", "id": "2" }, { "fullName": "待质检", "id": "3" }, { "fullName": "已完成", "id": "4" }, { "fullName": "已关闭", "id": "5" }],
|
|
|
|
|
voucherStatusProps: { "label": "fullName", "value": "id" },
|
|
|
|
|
businessTypeOptions: [{ "fullName": "采购", "id": "1" }, { "fullName": "销售", "id": "2" }],
|
|
|
|
|
businessTypeProps: { "label": "fullName", "value": "id" },
|
|
|
|
|
|
|
|
|
|
contractTypeOptions: [{ "fullName": "采购合同", "id": "1" }, { "fullName": "销售合同", "id": "2" }],
|
|
|
|
|
contractTypeProps: { "label": "fullName", "value": "id" },
|
|
|
|
|
|
|
|
|
|
procurementModelOptions: [{ "fullName": "以销定采", "id": "1" }, { "fullName": "以采定销", "id": "2" }],
|
|
|
|
|
procurementModelProps: { "label": "fullName", "value": "id" },
|
|
|
|
|
|
|
|
|
|
voucherproductproductIdcolumnOptions: [{ "label": "商品编码", "value": "code" }, { "label": "商品名称", "value": "name" }, { "label": "规格", "value": "spec" },],
|
|
|
|
|
voucherproductprintTimecolumnOptions: [{ "label": "车牌号", "value": "vehicle_number" }, { "label": "驾驶员", "value": "name" }, { "label": "电话", "value": "mobile" }],
|
|
|
|
|
voucherproductcargoIdOptions: [{ "fullName": "公路", "id": "1" }, { "fullName": "铁路", "id": "2" }, { "fullName": "轮船", "id": "3" }, { "fullName": "空运", "id": "4" }, { "fullName": "无", "id": "5" }],
|
|
|
|
@ -550,30 +363,56 @@ export default {
|
|
|
|
|
},
|
|
|
|
|
mounted() { },
|
|
|
|
|
methods: {
|
|
|
|
|
|
|
|
|
|
//查询合同
|
|
|
|
|
initContractData(selectData) {
|
|
|
|
|
const data = selectData
|
|
|
|
|
if (!data) {
|
|
|
|
|
debugger
|
|
|
|
|
// const id = selectData[0].id
|
|
|
|
|
const id = selectData
|
|
|
|
|
|
|
|
|
|
if (!id) {
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
let id
|
|
|
|
|
data.forEach(item => {
|
|
|
|
|
id = item.id
|
|
|
|
|
});
|
|
|
|
|
request({
|
|
|
|
|
url: `/api/scm/ContractL/getList`,
|
|
|
|
|
method: 'post',
|
|
|
|
|
data: id
|
|
|
|
|
url: `/api/scm/ContractL/relation/${id}`,
|
|
|
|
|
method: "Get",
|
|
|
|
|
// data: data
|
|
|
|
|
}).then(res => {
|
|
|
|
|
var voucherInfo = res.data;
|
|
|
|
|
var Info = res.data;
|
|
|
|
|
this.dataForm.contractName = Info.contractName,
|
|
|
|
|
this.dataForm.contractNumber = Info.contractNumber,
|
|
|
|
|
this.dataForm.contractNo = Info.contractNo,
|
|
|
|
|
this.dataForm.contractType = Info.contractType,
|
|
|
|
|
this.dataForm.procurementModel = Info.procurementModel,
|
|
|
|
|
this.dataForm.id = Info.id,
|
|
|
|
|
this.dataForm.contractRelationList = Info.contractRelationList
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
this.dataForm = voucherInfo
|
|
|
|
|
this.dataForm.voucherProductBatchList = voucherInfo.voucherProductList
|
|
|
|
|
this.dataForm.supplierId = voucherInfo.customerId
|
|
|
|
|
this.dataForm.customerId = ''
|
|
|
|
|
choice(val) {
|
|
|
|
|
this.contractVisible = true
|
|
|
|
|
let excludeIdList = [];
|
|
|
|
|
for (let i = 0; i < this.dataForm.contractRelationList.length; i++) {
|
|
|
|
|
excludeIdList.push(this.dataForm.contractRelationList[i].purchaseContractCode);
|
|
|
|
|
}
|
|
|
|
|
this.$nextTick(() => {
|
|
|
|
|
this.$refs.contractListBox.init(excludeIdList, val)
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
initList(list) {
|
|
|
|
|
for (let i = 0; i < list.length; i++) {
|
|
|
|
|
const e = list[i];
|
|
|
|
|
let item = {
|
|
|
|
|
purchaseContractCode: e.contractNumber,
|
|
|
|
|
purchaseContractName: e.contractName,
|
|
|
|
|
purchaseContractNo: e.contractNo,
|
|
|
|
|
}
|
|
|
|
|
this.dataForm.contractRelationList.push(item)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
prev() {
|
|
|
|
|
this.index--
|
|
|
|
|
if (this.index === 0) {
|
|
|
|
@ -652,98 +491,7 @@ export default {
|
|
|
|
|
},
|
|
|
|
|
dataAll() {
|
|
|
|
|
},
|
|
|
|
|
voucherproductExist() {
|
|
|
|
|
let isOk = true;
|
|
|
|
|
for (let i = 0; i < this.dataForm.voucherProductBatchList.length; i++) {
|
|
|
|
|
const e = this.dataForm.voucherProductBatchList[i];
|
|
|
|
|
var tareWeight = e.tareWeight;//皮重
|
|
|
|
|
var grossWeight = e.grossWeight;//毛重
|
|
|
|
|
var buckleWeight = e.buckleWeight;//扣重
|
|
|
|
|
var netWeight = e.netWeight;//净重
|
|
|
|
|
if (!e.productId) {
|
|
|
|
|
this.$message({
|
|
|
|
|
message: '商品名称不能为空',
|
|
|
|
|
type: 'error',
|
|
|
|
|
duration: 1000
|
|
|
|
|
});
|
|
|
|
|
isOk = false
|
|
|
|
|
break
|
|
|
|
|
}
|
|
|
|
|
if (!e.vehicleId) {
|
|
|
|
|
this.$message({
|
|
|
|
|
message: '车牌号不能为空',
|
|
|
|
|
type: 'error',
|
|
|
|
|
duration: 1000
|
|
|
|
|
});
|
|
|
|
|
isOk = false
|
|
|
|
|
break
|
|
|
|
|
}
|
|
|
|
|
if (!e.modeTransport) {
|
|
|
|
|
this.$message({
|
|
|
|
|
message: '运输方式不能为空',
|
|
|
|
|
type: 'error',
|
|
|
|
|
duration: 1000
|
|
|
|
|
});
|
|
|
|
|
isOk = false
|
|
|
|
|
break
|
|
|
|
|
}
|
|
|
|
|
if (!e.transportationMethod) {
|
|
|
|
|
this.$message({
|
|
|
|
|
message: '承运方式不能为空',
|
|
|
|
|
type: 'error',
|
|
|
|
|
duration: 1000
|
|
|
|
|
});
|
|
|
|
|
isOk = false
|
|
|
|
|
break
|
|
|
|
|
}
|
|
|
|
|
if (!e.placeDispatch.length) {
|
|
|
|
|
this.$message({
|
|
|
|
|
message: '起运地不能为空',
|
|
|
|
|
type: 'error',
|
|
|
|
|
duration: 1000
|
|
|
|
|
});
|
|
|
|
|
isOk = false
|
|
|
|
|
break
|
|
|
|
|
}
|
|
|
|
|
if (!e.destination.length) {
|
|
|
|
|
this.$message({
|
|
|
|
|
message: '到达地不能为空',
|
|
|
|
|
type: 'error',
|
|
|
|
|
duration: 1000
|
|
|
|
|
});
|
|
|
|
|
isOk = false
|
|
|
|
|
break
|
|
|
|
|
}
|
|
|
|
|
if (grossWeight < this.jnpf.floatAdd(this.jnpf.floatAdd(tareWeight, buckleWeight), netWeight)) {
|
|
|
|
|
this.$message({
|
|
|
|
|
message: '毛重不得小于皮重+扣重+净重',
|
|
|
|
|
type: 'error',
|
|
|
|
|
duration: 1000
|
|
|
|
|
})
|
|
|
|
|
isOk = false
|
|
|
|
|
break
|
|
|
|
|
}
|
|
|
|
|
// if (buckleWeight >= netWeight) {
|
|
|
|
|
// this.$message({
|
|
|
|
|
// message: '扣重不得大于净重',
|
|
|
|
|
// type: 'error',
|
|
|
|
|
// duration: 1000
|
|
|
|
|
// })
|
|
|
|
|
// isOk = false
|
|
|
|
|
// break
|
|
|
|
|
// }
|
|
|
|
|
if (buckleWeight >= grossWeight) {
|
|
|
|
|
this.$message({
|
|
|
|
|
message: '扣重不得大于毛重',
|
|
|
|
|
type: 'error',
|
|
|
|
|
duration: 1000
|
|
|
|
|
})
|
|
|
|
|
isOk = false
|
|
|
|
|
break
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return isOk;
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
clearData() {
|
|
|
|
|
this.dataForm = JSON.parse(JSON.stringify(this.dataValueAll))
|
|
|
|
|
},
|
|
|
|
@ -789,30 +537,37 @@ export default {
|
|
|
|
|
// 表单提交
|
|
|
|
|
dataFormSubmit(type) {
|
|
|
|
|
this.dataFormSubmitType = type ? type : 0
|
|
|
|
|
this.$refs['formRef'].validate((valid) => {
|
|
|
|
|
if (valid) {
|
|
|
|
|
if (!this.voucherproductExist()) return
|
|
|
|
|
this.request()
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
// this.$refs['formRef'].validate((valid) => {
|
|
|
|
|
// if (valid) {
|
|
|
|
|
// if (!this.voucherproductExist()) return
|
|
|
|
|
// this.request()
|
|
|
|
|
// }
|
|
|
|
|
// })
|
|
|
|
|
this.request()
|
|
|
|
|
},
|
|
|
|
|
request() {
|
|
|
|
|
debugger
|
|
|
|
|
let _data = this.dataList()
|
|
|
|
|
if (this.dataFormSubmitType == 2) {
|
|
|
|
|
this.continueBtnLoading = true
|
|
|
|
|
} else {
|
|
|
|
|
this.btnLoading = true
|
|
|
|
|
}
|
|
|
|
|
// if (!this.dataForm.id) {
|
|
|
|
|
|
|
|
|
|
// if (this.dataFormSubmitType == 2) {
|
|
|
|
|
// this.continueBtnLoading = true
|
|
|
|
|
// } else {
|
|
|
|
|
// this.btnLoading = true
|
|
|
|
|
// }
|
|
|
|
|
// debugger
|
|
|
|
|
let id = this.dataForm.id
|
|
|
|
|
request({
|
|
|
|
|
url: '/api/scm/Voucher/batchCreate',
|
|
|
|
|
method: 'post',
|
|
|
|
|
// url: '/api/scm/ContractL/batch/',
|
|
|
|
|
|
|
|
|
|
url: `/api/scm/ContractL/batch/${id}`,
|
|
|
|
|
method: 'put',
|
|
|
|
|
data: _data
|
|
|
|
|
}).then((res) => {
|
|
|
|
|
this.$message({
|
|
|
|
|
message: res.msg,
|
|
|
|
|
type: 'success',
|
|
|
|
|
duration: 1000,
|
|
|
|
|
|
|
|
|
|
onClose: () => {
|
|
|
|
|
if (this.dataFormSubmitType == 2) {
|
|
|
|
|
this.$nextTick(() => {
|
|
|
|
@ -826,33 +581,12 @@ export default {
|
|
|
|
|
this.btnLoading = false
|
|
|
|
|
this.$emit('refresh', true)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
})
|
|
|
|
|
}).catch(() => {
|
|
|
|
|
this.btnLoading = false
|
|
|
|
|
this.continueBtnLoading = false
|
|
|
|
|
// this.$router.back(1)
|
|
|
|
|
})
|
|
|
|
|
// } else {
|
|
|
|
|
// request({
|
|
|
|
|
// url: '/api/scm/Voucher/' + this.dataForm.id,
|
|
|
|
|
// method: 'PUT',
|
|
|
|
|
// data: _data
|
|
|
|
|
// }).then((res) => {
|
|
|
|
|
// this.$message({
|
|
|
|
|
// message: res.msg,
|
|
|
|
|
// type: 'success',
|
|
|
|
|
// duration: 1000,
|
|
|
|
|
// onClose: () => {
|
|
|
|
|
// if (this.dataFormSubmitType == 2) return this.continueBtnLoading = false
|
|
|
|
|
// this.visible = false
|
|
|
|
|
// this.btnLoading = false
|
|
|
|
|
// this.$emit('refresh', true)
|
|
|
|
|
// }
|
|
|
|
|
// })
|
|
|
|
|
// }).catch(() => {
|
|
|
|
|
// this.btnLoading = false
|
|
|
|
|
// this.continueBtnLoading = false
|
|
|
|
|
// })
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
addvoucherproductList() {
|
|
|
|
|
let item = {
|
|
|
|
@ -879,7 +613,7 @@ export default {
|
|
|
|
|
this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
|
|
|
|
|
type: 'warning'
|
|
|
|
|
}).then(() => {
|
|
|
|
|
this.dataForm.voucherProductBatchList.splice(index, 1);
|
|
|
|
|
this.dataForm.contractRelationList.splice(index, 1);
|
|
|
|
|
}).catch(() => {
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|