parent
ffe6725747
commit
13130bca2d
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1,982 @@
|
||||
<template>
|
||||
<div :style="{margin: '0 auto',width:'100%'}">
|
||||
<el-row :gutter="15" class="">
|
||||
<el-form ref="formRef" :model="dataForm" :rules="dataRule" size="small" label-width="100px"
|
||||
label-position="right" :disabled="setting.readonly">
|
||||
<template v-if="!loading && formOperates">
|
||||
<!-- 具体表单 -->
|
||||
<el-col :span="24">
|
||||
<jnpf-form-tip-item>
|
||||
<JnpfGroupTitle content="基本信息" contentPosition="left">
|
||||
</JnpfGroupTitle>
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
<el-col :span="24" v-if="judgeShow('warehousingType')">
|
||||
<jnpf-form-tip-item label-width="0" prop="warehousingType">
|
||||
<JnpfRadio v-model="dataForm.warehousingType"
|
||||
@change="changeData('warehousingType',-1)" :disabled="judgeWrite('warehousingType')"
|
||||
optionType="button" direction="horizontal" size="small"
|
||||
:options="warehousingTypeOptions" :props="warehousingTypeProps">
|
||||
</JnpfRadio>
|
||||
</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" v-if="judgeShow('warehousingCode')">
|
||||
<jnpf-form-tip-item label="通知编号" v-if="judgeShow('warehousingCode')"
|
||||
prop="warehousingCode">
|
||||
<JnpfInput v-model="dataForm.warehousingCode"
|
||||
@change="changeData('warehousingCode',-1)" placeholder="系统自动生成"
|
||||
:disabled="judgeWrite('warehousingCode')" readonly :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
<el-col :span="8" v-if="judgeShow('preparationTime')">
|
||||
<jnpf-form-tip-item label="制单时间" v-if="judgeShow('preparationTime')"
|
||||
prop="preparationTime">
|
||||
<JnpfOpenData v-model="dataForm.preparationTime"
|
||||
@change="changeData('preparationTime',-1)" placeholder="系统自动生成"
|
||||
:disabled="judgeWrite('preparationTime')" readonly :style='{"width":"100%"}'
|
||||
type="currTime">
|
||||
</JnpfOpenData>
|
||||
</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" v-if="judgeShow('businessId')">
|
||||
<jnpf-form-tip-item label="采购订单" v-if="judgeShow('businessId')" prop="businessId">
|
||||
<JnpfPopupSelect v-model="dataForm.businessId" @change="getSaleOrder" :rowIndex="null"
|
||||
:formData="dataForm" :templateJson="interfaceRes.businessId" placeholder="请选择"
|
||||
:disabled="judgeWrite('businessId')" propsValue="id" popupWidth="800px"
|
||||
popupTitle="选择数据" popupType="dialog" relationField='code' field='businessId'
|
||||
interfaceId="529638640356183877" :pageSize="20"
|
||||
:columnOptions="businessIdcolumnOptions" clearable :style='{"width":"100%"}'>
|
||||
</JnpfPopupSelect>
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
<el-col :span="24" v-if="judgeShow('-${html.relationField}')">
|
||||
<jnpf-form-tip-item label-width="0">
|
||||
<div class="JNPF-common-title">
|
||||
<h2></h2>
|
||||
</div>
|
||||
<el-table :data="dataForm.saleOrderInfo" size='mini'>
|
||||
<el-table-column type="index" width="50" label="序号" align="center" />
|
||||
<el-table-column label="销售订单" v-if="judgeShow('warehousingproduct-productName')"
|
||||
prop="code">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('warehousingproductList-productName')">*</span>销售订单
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.code"
|
||||
@change="changeData('warehousingproduct-productName',scope.$index)"
|
||||
placeholder="请输入"
|
||||
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-productName')"
|
||||
clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column label="订单类型" v-if="judgeShow('warehousingproduct-spec')"
|
||||
prop="spec">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('warehousingproductList-spec')">*</span>订单类型
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.spec"
|
||||
@change="changeData('warehousingproduct-spec',scope.$index)" placeholder="请输入"
|
||||
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-spec')"
|
||||
clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="期望送达时间"
|
||||
v-if="judgeShow('warehousingproduct-inventoryUnitId')" prop="inventoryUnitId">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('warehousingproductList-inventoryUnitId')">*</span>期望送达时间
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.inventoryUnitId"
|
||||
@change="changeData('warehousingproduct-inventoryUnitId',scope.$index)"
|
||||
placeholder="请输入"
|
||||
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-inventoryUnitId')"
|
||||
clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="关联客户(二级)"
|
||||
v-if="judgeShow('warehousingproduct-purchaseUnitId')" prop="purchaseUnitId">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('warehousingproductList-purchaseUnitId')">*</span>关联客户(二级)
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.purchaseUnitId"
|
||||
@change="changeData('warehousingproduct-purchaseUnitId',scope.$index)"
|
||||
placeholder="请输入"
|
||||
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-purchaseUnitId')"
|
||||
clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="关联业务线" v-if="judgeShow('warehousingproduct-purchaseNum')"
|
||||
prop="purchaseNum">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('warehousingproductList-purchaseNum')">*</span>关联业务线
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.purchaseNum"
|
||||
@change="changeData('warehousingproduct-purchaseNum',scope.$index)"
|
||||
placeholder="请输入"
|
||||
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-purchaseNum')"
|
||||
clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="业务类型" v-if="judgeShow('warehousingproduct-storageAreaId')"
|
||||
prop="storageAreaId">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('warehousingproductList-storageAreaId')">*</span>业务类型
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.storageAreaId"
|
||||
@change="changeData('warehousingproduct-storageAreaId',scope.$index)"
|
||||
placeholder="请输入"
|
||||
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-storageAreaId')"
|
||||
clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="币种" v-if="judgeShow('warehousingproduct-warehousingUnitId')"
|
||||
prop="warehousingUnitId">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('warehousingproductList-warehousingUnitId')">*</span>币种
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.warehousingUnitId"
|
||||
@change="changeData('warehousingproduct-warehousingUnitId',scope.$index)"
|
||||
placeholder="请输入"
|
||||
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-warehousingUnitId')"
|
||||
clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="销售模式" v-if="judgeShow('warehousingproduct-barCode')"
|
||||
prop="barCode">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('warehousingproductList-barCode')">*</span>销售模式
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.barCode"
|
||||
@change="changeData('warehousingproduct-barCode',scope.$index)"
|
||||
placeholder="请输入"
|
||||
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-barCode')"
|
||||
clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="交货方式"
|
||||
v-if="judgeShow('warehousingproduct-notificationStorageNumber')"
|
||||
prop="notificationStorageNumber">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('warehousingproductList-notificationStorageNumber')">*</span>交货方式
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.notificationStorageNumber"
|
||||
@change="changeData('warehousingproduct-notificationStorageNumber',scope.$index)"
|
||||
placeholder="请输入"
|
||||
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-notificationStorageNumber')"
|
||||
clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="配送方式" v-if="judgeShow('warehousingproduct-volume')"
|
||||
prop="volume">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('warehousingproductList-volume')">*</span>配送方式
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.volume"
|
||||
@change="changeData('warehousingproduct-volume',scope.$index)"
|
||||
placeholder="请输入"
|
||||
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-volume')"
|
||||
clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="运输方式" v-if="judgeShow('warehousingproduct-batchNo')"
|
||||
prop="batchNo">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('warehousingproductList-batchNo')">*</span>运输方式
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.batchNo"
|
||||
@change="changeData('warehousingproduct-batchNo',scope.$index)"
|
||||
placeholder="请输入"
|
||||
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-batchNo')"
|
||||
clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="生产日期" v-if="judgeShow('warehousingproduct-produceDate')"
|
||||
prop="produceDate">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('warehousingproductList-produceDate')">*</span>生产日期
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfDatePicker v-model="scope.row.produceDate"
|
||||
@change="changeData('warehousingproduct-produceDate',scope.$index)"
|
||||
:startTime="dateTime(false,1,1,'','')" :endTime="dateTime(false,1,1,'','')"
|
||||
placeholder="请选择"
|
||||
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-produceDate')"
|
||||
clearable :style='{"width":"100%"}' type="date" format="yyyy-MM-dd">
|
||||
</JnpfDatePicker>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="备注" v-if="judgeShow('warehousingproduct-remark')"
|
||||
prop="remark">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('warehousingproductList-remark')">*</span>备注
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.remark"
|
||||
@change="changeData('warehousingproduct-remark',scope.$index)"
|
||||
placeholder="请输入"
|
||||
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-remark')"
|
||||
clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
</el-table>
|
||||
</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" v-if="judgeShow('subjectBasicId')">
|
||||
<jnpf-form-tip-item label="客户名称" v-if="judgeShow('subjectBasicId')"
|
||||
prop="subjectBasicId">
|
||||
<JnpfPopupSelect v-model="dataForm.subjectBasicId"
|
||||
@change="changeData('subjectBasicId',-1)" :rowIndex="null" :formData="dataForm"
|
||||
:templateJson="interfaceRes.subjectBasicId" placeholder="请选择"
|
||||
:disabled="judgeWrite('subjectBasicId')" propsValue="id" popupWidth="800px"
|
||||
popupTitle="选择数据" popupType="dialog" relationField='name' field='subjectBasicId'
|
||||
interfaceId="522693551289534725" :pageSize="20"
|
||||
:columnOptions="subjectBasicIdcolumnOptions" clearable :style='{"width":"100%"}'>
|
||||
</JnpfPopupSelect>
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
<el-col :span="8" v-if="judgeShow('shippingAddress')">
|
||||
<jnpf-form-tip-item label="收货地址" v-if="judgeShow('shippingAddress')"
|
||||
prop="shippingAddress">
|
||||
<JnpfInput v-model="dataForm.shippingAddress"
|
||||
@change="changeData('shippingAddress',-1)" placeholder="请输入"
|
||||
:disabled="judgeWrite('shippingAddress')" clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</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" v-if="judgeShow('enterpriseId')">
|
||||
<jnpf-form-tip-item label="机构名称" v-if="judgeShow('enterpriseId')" prop="enterpriseId">
|
||||
<JnpfPopupSelect v-model="dataForm.enterpriseId"
|
||||
@change="changeData('enterpriseId',-1)" :rowIndex="null" :formData="dataForm"
|
||||
:templateJson="interfaceRes.enterpriseId" placeholder="请选择"
|
||||
:disabled="judgeWrite('enterpriseId')" propsValue="f_id" popupWidth="800px"
|
||||
popupTitle="选择数据" popupType="dialog" relationField='f_full_name'
|
||||
field='enterpriseId' interfaceId="522729853024209157" :pageSize="20"
|
||||
:columnOptions="enterpriseIdcolumnOptions" clearable :style='{"width":"100%"}'>
|
||||
</JnpfPopupSelect>
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
<el-col :span="8" v-if="judgeShow('warehouseId')">
|
||||
<jnpf-form-tip-item label="发货仓库" v-if="judgeShow('warehouseId')" prop="warehouseId">
|
||||
<JnpfPopupSelect v-model="dataForm.warehouseId" @change="changeData('warehouseId',-1)"
|
||||
:rowIndex="null" :formData="dataForm" :templateJson="interfaceRes.warehouseId"
|
||||
placeholder="请选择" :disabled="judgeWrite('warehouseId')" propsValue="id"
|
||||
popupWidth="800px" popupTitle="选择数据" popupType="dialog" relationField='name'
|
||||
field='warehouseId' interfaceId="529573170819104773" :pageSize="20"
|
||||
:columnOptions="warehouseIdcolumnOptions" clearable :style='{"width":"100%"}'>
|
||||
</JnpfPopupSelect>
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
<el-col :span="8" v-if="judgeShow('deliveryAddress')">
|
||||
<jnpf-form-tip-item label="发货地址" v-if="judgeShow('deliveryAddress')"
|
||||
prop="deliveryAddress">
|
||||
<JnpfPopupSelect v-model="dataForm.deliveryAddress"
|
||||
@change="changeData('deliveryAddress',-1)" :rowIndex="null" :formData="dataForm"
|
||||
:templateJson="interfaceRes.deliveryAddress" placeholder="请选择"
|
||||
:disabled="judgeWrite('deliveryAddress')" propsValue="id" popupWidth="800px"
|
||||
popupTitle="选择数据" popupType="dialog" relationField='addressDetail'
|
||||
field='deliveryAddress' interfaceId="522724961224231173" :pageSize="20"
|
||||
:columnOptions="deliveryAddresscolumnOptions" clearable :style='{"width":"100%"}'>
|
||||
</JnpfPopupSelect>
|
||||
</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="24" v-if="judgeShow('remark')">
|
||||
<jnpf-form-tip-item label="备注" v-if="judgeShow('remark')" prop="remark">
|
||||
<JnpfTextarea v-model="dataForm.remark" @change="changeData('remark',-1)"
|
||||
placeholder="请输入" :disabled="judgeWrite('remark')" :style='{"width":"100%"}' true
|
||||
type="textarea" :autosize='{"minRows":4,"maxRows":4}'>
|
||||
</JnpfTextarea>
|
||||
</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="24" v-if="judgeShow('-${html.relationField}')">
|
||||
<jnpf-form-tip-item label-width="0">
|
||||
<div class="JNPF-common-title">
|
||||
<h2></h2>
|
||||
</div>
|
||||
<el-table :data="dataForm.warehousingProductList" size='mini'>
|
||||
<el-table-column type="index" width="50" label="序号" align="center" />
|
||||
<el-table-column label="商品名称" v-if="judgeShow('warehousingproduct-productName')"
|
||||
prop="productName">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('warehousingproductList-productName')">*</span>商品名称
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.productName"
|
||||
@change="changeData('warehousingproduct-productName',scope.$index)"
|
||||
placeholder="请输入"
|
||||
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-productName')"
|
||||
clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="规格" v-if="judgeShow('warehousingproduct-spec')" prop="spec">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('warehousingproductList-spec')">*</span>规格
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.spec"
|
||||
@change="changeData('warehousingproduct-spec',scope.$index)" placeholder="请输入"
|
||||
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-spec')"
|
||||
clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="库存单位" v-if="judgeShow('warehousingproduct-inventoryUnitId')"
|
||||
prop="inventoryUnitId">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('warehousingproductList-inventoryUnitId')">*</span>库存单位
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.inventoryUnitId"
|
||||
@change="changeData('warehousingproduct-inventoryUnitId',scope.$index)"
|
||||
placeholder="请输入"
|
||||
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-inventoryUnitId')"
|
||||
clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="销售单位" v-if="judgeShow('warehousingproduct-purchaseUnitId')"
|
||||
prop="purchaseUnitId">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('warehousingproductList-purchaseUnitId')">*</span>销售单位
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.purchaseUnitId"
|
||||
@change="changeData('warehousingproduct-purchaseUnitId',scope.$index)"
|
||||
placeholder="请输入"
|
||||
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-purchaseUnitId')"
|
||||
clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="销售数量" v-if="judgeShow('warehousingproduct-purchaseNum')"
|
||||
prop="purchaseNum">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('warehousingproductList-purchaseNum')">*</span>销售数量
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.purchaseNum"
|
||||
@change="changeData('warehousingproduct-purchaseNum',scope.$index)"
|
||||
placeholder="请输入"
|
||||
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-purchaseNum')"
|
||||
clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="出库货区" v-if="judgeShow('warehousingproduct-storageAreaId')"
|
||||
prop="storageAreaId">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('warehousingproductList-storageAreaId')">*</span>出库货区
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.storageAreaId"
|
||||
@change="changeData('warehousingproduct-storageAreaId',scope.$index)"
|
||||
placeholder="请输入"
|
||||
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-storageAreaId')"
|
||||
clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="出库单位"
|
||||
v-if="judgeShow('warehousingproduct-warehousingUnitId')" prop="warehousingUnitId">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('warehousingproductList-warehousingUnitId')">*</span>出库单位
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.warehousingUnitId"
|
||||
@change="changeData('warehousingproduct-warehousingUnitId',scope.$index)"
|
||||
placeholder="请输入"
|
||||
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-warehousingUnitId')"
|
||||
clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column label="包装条码" v-if="judgeShow('warehousingproduct-barCode')"
|
||||
prop="barCode">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('warehousingproductList-barCode')">*</span>包装条码
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.barCode"
|
||||
@change="changeData('warehousingproduct-barCode',scope.$index)"
|
||||
placeholder="请输入"
|
||||
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-barCode')"
|
||||
clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
<el-table-column label="通知出库数量"
|
||||
v-if="judgeShow('warehousingproduct-notificationStorageNumber')"
|
||||
prop="notificationStorageNumber">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('warehousingproductList-notificationStorageNumber')">*</span>通知出库数量
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.notificationStorageNumber"
|
||||
@change="changeData('warehousingproduct-notificationStorageNumber',scope.$index)"
|
||||
placeholder="请输入"
|
||||
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-notificationStorageNumber')"
|
||||
clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column label="体积" v-if="judgeShow('warehousingproduct-volume')"
|
||||
prop="volume">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('warehousingproductList-volume')">*</span>体积
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.volume"
|
||||
@change="changeData('warehousingproduct-volume',scope.$index)"
|
||||
placeholder="请输入"
|
||||
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-volume')"
|
||||
clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
<el-table-column label="批次号" v-if="judgeShow('warehousingproduct-batchNo')"
|
||||
prop="batchNo">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('warehousingproductList-batchNo')">*</span>批次号
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.batchNo"
|
||||
@change="changeData('warehousingproduct-batchNo',scope.$index)"
|
||||
placeholder="请输入"
|
||||
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-batchNo')"
|
||||
clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="生产日期" v-if="judgeShow('warehousingproduct-produceDate')"
|
||||
prop="produceDate">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('warehousingproductList-produceDate')">*</span>生产日期
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfDatePicker v-model="scope.row.produceDate"
|
||||
@change="changeData('warehousingproduct-produceDate',scope.$index)"
|
||||
:startTime="dateTime(false,1,1,'','')" :endTime="dateTime(false,1,1,'','')"
|
||||
placeholder="请选择"
|
||||
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-produceDate')"
|
||||
clearable :style='{"width":"100%"}' type="date" format="yyyy-MM-dd">
|
||||
</JnpfDatePicker>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="备注" v-if="judgeShow('warehousingproduct-remark')"
|
||||
prop="remark">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('warehousingproductList-remark')">*</span>备注
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.remark"
|
||||
@change="changeData('warehousingproduct-remark',scope.$index)"
|
||||
placeholder="请输入"
|
||||
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-remark')"
|
||||
clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column label="操作" width="50" v-if="!judgeWrite('warehousingproductList')">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" type="text" class="JNPF-table-delBtn"
|
||||
@click="delwarehousingproductList(scope.$index)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
</el-table>
|
||||
<!-- <div class="table-actions" @click="addwarehousingproductList()"
|
||||
v-if="!judgeWrite('warehousingproductList')">
|
||||
<el-button type="text" icon="el-icon-plus">添加</el-button>
|
||||
</div> -->
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
<!-- 表单结束 -->
|
||||
</template>
|
||||
<SelectDialog v-if="selectDialogVisible" :config="currTableConf" :formData="dataForm"
|
||||
ref="selectDialog" @select="addForSelect" @close="selectDialogVisible=false" />
|
||||
</el-form>
|
||||
</el-row>
|
||||
<UserBox v-if="userBoxVisible" ref="userBox" @submit="submit" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import request from '@/utils/request'
|
||||
import { mapGetters } from "vuex";
|
||||
import { getFormById } from '@/api/workFlow/FormDesign'
|
||||
import comMixin from '@/views/workFlow/workFlowForm/mixin';
|
||||
import { getDataInterfaceRes } from '@/api/systemData/dataInterface'
|
||||
import { getDictionaryDataSelector } from '@/api/systemData/dictionary'
|
||||
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"
|
||||
export default {
|
||||
mixins: [comMixin],
|
||||
components: {},
|
||||
props: [],
|
||||
data() {
|
||||
return {
|
||||
dataFormSubmitType: 0,
|
||||
continueBtnLoading: false,
|
||||
index: 0,
|
||||
prevDis: false,
|
||||
nextDis: false,
|
||||
allList: [],
|
||||
visible: false,
|
||||
loading: false,
|
||||
btnLoading: false,
|
||||
formRef: 'formRef',
|
||||
setting: {},
|
||||
eventType: '',
|
||||
userBoxVisible: false,
|
||||
selectDialogVisible: false,
|
||||
currTableConf: {},
|
||||
dataValueAll: {},
|
||||
addTableConf: {
|
||||
warehousingProductList: { "popupType": "dialog", "hasPage": true, "popupTitle": "选择数据", "pageSize": 20, "columnOptions": [], "interfaceId": "", "interfaceName": "", "relationOptions": [], "templateJson": [], "popupWidth": "800px" },
|
||||
},
|
||||
//可选范围默认值
|
||||
ableAll: {
|
||||
},
|
||||
tableRows: {
|
||||
warehousingProductList: {
|
||||
productName: '',
|
||||
productNameOptions: [],
|
||||
spec: '',
|
||||
specOptions: [],
|
||||
inventoryUnitId: '',
|
||||
inventoryUnitIdOptions: [],
|
||||
purchaseUnitId: '',
|
||||
purchaseUnitIdOptions: [],
|
||||
purchaseNum: '',
|
||||
purchaseNumOptions: [],
|
||||
storageAreaId: '',
|
||||
storageAreaIdOptions: [],
|
||||
warehousingUnitId: '',
|
||||
warehousingUnitIdOptions: [],
|
||||
barCode: '',
|
||||
barCodeOptions: [],
|
||||
notificationStorageNumber: '',
|
||||
notificationStorageNumberOptions: [],
|
||||
volume: '',
|
||||
volumeOptions: [],
|
||||
batchNo: '',
|
||||
batchNoOptions: [],
|
||||
produceDate: '',
|
||||
produceDateOptions: [],
|
||||
remark: '',
|
||||
remarkOptions: [],
|
||||
enabledmark: undefined
|
||||
},
|
||||
},
|
||||
Vmodel: "",
|
||||
currVmodel: "",
|
||||
dataForm: {
|
||||
warehousingType: "1",
|
||||
warehousingCode: undefined,
|
||||
preparationTime: undefined,
|
||||
businessId: undefined,
|
||||
subjectBasicId: undefined,
|
||||
shippingAddress: undefined,
|
||||
enterpriseId: undefined,
|
||||
warehouseId: undefined,
|
||||
deliveryAddress: undefined,
|
||||
remark: undefined,
|
||||
warehousingProductList: [],
|
||||
saleOrderInfo: [],
|
||||
version: 0,
|
||||
},
|
||||
tableRequiredData: {},
|
||||
dataRule:
|
||||
{
|
||||
},
|
||||
warehousingTypeOptions: [{ "fullName": "采购入库", "id": "1" }],
|
||||
warehousingTypeProps: { "label": "fullName", "value": "id" },
|
||||
businessIdcolumnOptions: [{ "label": "订单编号", "value": "code" },],
|
||||
subjectBasicIdcolumnOptions: [{ "label": "名称", "value": "name" },],
|
||||
enterpriseIdcolumnOptions: [{ "label": "机构名称", "value": "f_full_name" },],
|
||||
warehouseIdcolumnOptions: [{ "label": "名称", "value": "name" },],
|
||||
deliveryAddresscolumnOptions: [{ "label": "地址详情", "value": "addressDetail" },],
|
||||
childIndex: -1,
|
||||
isEdit: false,
|
||||
interfaceRes: {
|
||||
warehousingType: [],
|
||||
warehousingCode: [],
|
||||
preparationTime: [],
|
||||
businessId: [],
|
||||
subjectBasicId: [],
|
||||
shippingAddress: [],
|
||||
enterpriseId: [],
|
||||
warehouseId: [{ "dataType": "varchar", "defaultValue": "", "field": "businessLineId", "fieldName": "", "id": "PneOdw1", "jnpfKey": null, "relationField": null, "required": "0" }],
|
||||
deliveryAddress: [{ "dataType": "varchar", "defaultValue": "", "field": "businessOrganizeId", "fieldName": "", "id": "AyAmdw1", "jnpfKey": "popupSelect", "relationField": "warehouseId", "required": "0" }],
|
||||
remark: [],
|
||||
warehousingproductproductName: [],
|
||||
warehousingproductspec: [],
|
||||
warehousingproductinventoryUnitId: [],
|
||||
warehousingproductpurchaseUnitId: [],
|
||||
warehousingproductpurchaseNum: [],
|
||||
warehousingproductstorageAreaId: [],
|
||||
warehousingproductwarehousingUnitId: [],
|
||||
warehousingproductbarCode: [],
|
||||
warehousingproductnotificationStorageNumber: [],
|
||||
warehousingproductvolume: [],
|
||||
warehousingproductbatchNo: [],
|
||||
warehousingproductproduceDate: [],
|
||||
warehousingproductremark: [],
|
||||
},
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
formOperates() {
|
||||
return this.setting.formOperates
|
||||
}
|
||||
},
|
||||
watch: {},
|
||||
created() {
|
||||
this.getFormById()
|
||||
if (this.dataForm.id == null || this.dataForm.id == '' && this.dataForm.id == undefined || this.dataForm.id == 0) {
|
||||
this.initDefaultData()
|
||||
}
|
||||
this.dataValueAll = JSON.parse(JSON.stringify(this.dataForm))
|
||||
},
|
||||
mounted() { },
|
||||
methods: {
|
||||
getSaleOrder(val, val2) {
|
||||
debugger
|
||||
this.dataForm.saleOrderInfo[0] = val2
|
||||
this.dataForm.subjectBasicId = val2.firstSubjectBasicId
|
||||
this.dataForm.shippingAddress = val2.receiveAddress
|
||||
this.dataForm.enterpriseId = val2.enterpriseId
|
||||
this.dataForm.warehouseId = val2.deliveryWarehouse
|
||||
this.dataForm.deliveryAddress = val2.deliveryAddress
|
||||
val2.businessOrderProductRelationalList.forEach((item, index) => {
|
||||
item.productName = item.name
|
||||
item.purchaseUnitId = item.salesMainUnitId
|
||||
item.purchaseNum = item.businessNum
|
||||
})
|
||||
this.dataForm.warehousingProductList = val2.businessOrderProductRelationalList
|
||||
},
|
||||
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) {
|
||||
if (!this.isEdit) {
|
||||
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
|
||||
}
|
||||
}
|
||||
},
|
||||
dataAll() {
|
||||
},
|
||||
selfGetInfo(dataForm) {
|
||||
this.dataInfo(dataForm)
|
||||
},
|
||||
beforeSubmit() {
|
||||
const _data = this.dataList()
|
||||
return _data
|
||||
},
|
||||
selfInit() {
|
||||
this.dataAll()
|
||||
},
|
||||
getFormById() {
|
||||
getFormById("529305238373400645").then(res => {
|
||||
this.dataForm.flowId = res.data && res.data.flowId
|
||||
// this.encode = res.data&&res.data.encode
|
||||
})
|
||||
},
|
||||
exist() {
|
||||
let isOk = true
|
||||
for (let key in this.tableRequiredData) {
|
||||
if (this.dataForm[key] && Array.isArray(this.dataForm[key])) {
|
||||
for (let i = 0; i < this.dataForm[key].length; i++) {
|
||||
let item = this.dataForm[key][i]
|
||||
inner: for (let id in item) {
|
||||
let arr = this.tableRequiredData[key].filter(o => o.id === id) || []
|
||||
if (!arr.length) continue inner
|
||||
if (arr[0].required) {
|
||||
let msg = `${arr[0].name}不能为空`
|
||||
let boo = true
|
||||
if (arr[0].dataType === 'array') {
|
||||
boo = !this.jnpf.isEmptyArray(item[id])
|
||||
} else {
|
||||
boo = !this.jnpf.isEmpty(item[id])
|
||||
}
|
||||
if (!boo) {
|
||||
this.$message({
|
||||
message: msg,
|
||||
type: 'error',
|
||||
duration: 1000
|
||||
})
|
||||
isOk = false
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!this.warehousingproductExist()) return
|
||||
return isOk
|
||||
},
|
||||
warehousingproductExist() {
|
||||
let isOk = true;
|
||||
for (let i = 0; i < this.dataForm.warehousingProductList.length; i++) {
|
||||
const e = this.dataForm.warehousingProductList[i];
|
||||
}
|
||||
return isOk;
|
||||
},
|
||||
goBack() {
|
||||
this.$emit('refresh')
|
||||
},
|
||||
clearData() {
|
||||
this.dataForm = JSON.parse(JSON.stringify(this.dataValueAll))
|
||||
},
|
||||
//初始化默认数据
|
||||
initDefaultData() {
|
||||
|
||||
},
|
||||
addwarehousingproductList() {
|
||||
let item = {
|
||||
productName: undefined,
|
||||
spec: undefined,
|
||||
inventoryUnitId: undefined,
|
||||
purchaseUnitId: undefined,
|
||||
purchaseNum: undefined,
|
||||
storageAreaId: undefined,
|
||||
warehousingUnitId: undefined,
|
||||
barCode: undefined,
|
||||
notificationStorageNumber: undefined,
|
||||
volume: undefined,
|
||||
batchNo: undefined,
|
||||
produceDate: undefined,
|
||||
remark: undefined,
|
||||
}
|
||||
this.getwarehousingproductList(item)
|
||||
},
|
||||
delwarehousingproductList(index) {
|
||||
this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.dataForm.warehousingProductList.splice(index, 1);
|
||||
}).catch(() => {
|
||||
});
|
||||
},
|
||||
getwarehousingproductList(value) {
|
||||
let item = { ...this.tableRows.warehousingProductList, ...value }
|
||||
this.dataForm.warehousingProductList.push(item)
|
||||
this.childIndex = this.dataForm.warehousingProductList.length - 1
|
||||
this.isEdit = true
|
||||
this.isEdit = false
|
||||
this.childIndex = -1
|
||||
},
|
||||
openSelectDialog(key) {
|
||||
this.currTableConf = this.addTableConf[key]
|
||||
this.currVmodel = key
|
||||
this.selectDialogVisible = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.selectDialog.init()
|
||||
})
|
||||
},
|
||||
addForSelect(data) {
|
||||
for (let i = 0; i < data.length; i++) {
|
||||
let t = data[i]
|
||||
if (this['get' + this.currVmodel]) {
|
||||
this['get' + this.currVmodel](t)
|
||||
}
|
||||
}
|
||||
},
|
||||
dateTime(timeRule, timeType, timeTarget, timeValueData, dataValue) {
|
||||
let timeDataValue = null;
|
||||
let timeValue = Number(timeValueData)
|
||||
if (timeRule) {
|
||||
if (timeType == 1) {
|
||||
timeDataValue = timeValue
|
||||
} 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) {
|
||||
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;
|
||||
},
|
||||
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.warehousingProductList.length; i++) {
|
||||
this.childIndex = i
|
||||
}
|
||||
this.childIndex = -1
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
</script>
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,847 @@
|
||||
<template>
|
||||
<transition name="el-zoom-in-center">
|
||||
<div class="JNPF-preview-main">
|
||||
<div class="JNPF-common-page-header">
|
||||
<el-page-header @back="goBack" :content="'库存检查'" />
|
||||
<div class="options">
|
||||
<el-dropdown class="dropdown" placement="bottom">
|
||||
<el-button style="width:70px">
|
||||
更 多<i class="el-icon-arrow-down el-icon--right"></i>
|
||||
</el-button>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<template v-if="dataForm.id">
|
||||
<el-dropdown-item @click.native="prev" :disabled='prevDis'>
|
||||
{{'上一条'}}
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item @click.native="next" :disabled='nextDis'>
|
||||
{{'下一条'}}
|
||||
</el-dropdown-item>
|
||||
</template>
|
||||
<el-dropdown-item type="primary" @click.native="dataFormSubmit(2)"
|
||||
:loading="continueBtnLoading" :disabled='btnLoading'>
|
||||
{{!dataForm.id ?'确定并新增':'确定并继续'}}</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
<el-button type="primary" @click="dataFormSubmit()" :loading="btnLoading"
|
||||
:disabled='continueBtnLoading'> 保 存</el-button>
|
||||
<el-button @click="goBack"> 取 消</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<el-row :gutter="15" class=" main" :style="{margin: '0 auto',width: '100%'}">
|
||||
<el-form ref="formRef" :model="dataForm" :rules="dataRule" size="small" label-width="100px"
|
||||
label-position="right">
|
||||
<template v-if="!loading">
|
||||
<!-- 具体表单 -->
|
||||
<el-col :span="24">
|
||||
<jnpf-form-tip-item>
|
||||
<JnpfGroupTitle content="基础信息" contentPosition="left">
|
||||
</JnpfGroupTitle>
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<jnpf-form-tip-item label="发货仓库" prop="deliveryWarehouse">
|
||||
<JnpfInput v-model="dataForm.deliveryWarehouse"
|
||||
@change="changeData('deliveryWarehouse',-1)" placeholder="请输入" readonly clearable
|
||||
:style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<jnpf-form-tip-item label="选择订单数量" prop="orderNum">
|
||||
<JnpfInput v-model="dataForm.orderNum" @change="changeData('orderNum',-1)"
|
||||
placeholder="请输入" readonly clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</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="24">
|
||||
<jnpf-form-tip-item label-width="0">
|
||||
<div class="JNPF-common-title">
|
||||
<h2></h2>
|
||||
</div>
|
||||
<el-table :data="dataForm.businessOrderList" size='mini'>
|
||||
<el-table-column type="index" width="50" label="序号" align="center" />
|
||||
<el-table-column label="单据编号" prop="code">
|
||||
<template slot="header" v-if="false">
|
||||
<span class="required-sign">*</span>单据编号
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.code"
|
||||
@change="changeData('businessordervoucherrelational-orderId',scope.$index)"
|
||||
placeholder="请输入" clearable :style='{"width":"100%"}' readonly>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="客户名称" prop="firstSubjectBasicId">
|
||||
<template slot="header" v-if="false">
|
||||
<span class="required-sign">*</span>客户名称
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.firstSubjectBasicId"
|
||||
@change="changeData('businessordervoucherrelational-voucherId',scope.$index)"
|
||||
placeholder="请输入" clearable :style='{"width":"100%"}' readonly>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="发货仓库" prop="deliveryWarehouse">
|
||||
<template slot="header" v-if="false">
|
||||
<span class="required-sign">*</span>发货仓库
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.deliveryWarehouse"
|
||||
@change="changeData('businessordervoucherrelational-orderType',scope.$index)"
|
||||
placeholder="请输入" clearable :style='{"width":"100%"}' readonly>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="紧急程度" prop="urgentOrder">
|
||||
<template slot="header" v-if="false">
|
||||
<span class="required-sign">*</span>紧急程度
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfSelect v-model="scope.row.urgentOrder"
|
||||
@change="changeData('businessordervoucherrelational-cargoAreaId',scope.$index)"
|
||||
placeholder="请选择" clearable :style='{"width":"100%"}'
|
||||
:options="businessordervoucherrelationalcargoAreaIdOptions"
|
||||
:props="businessordervoucherrelationalcargoAreaIdProps" readonly>
|
||||
</JnpfSelect>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="订货时间" prop="creatorTime">
|
||||
<template slot="header" v-if="false">
|
||||
<span class="required-sign">*</span>订货时间
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfDatePicker v-model="scope.row.creatorTime"
|
||||
@change="changeData('businessordervoucherrelational-creatorTime',scope.$index)"
|
||||
:startTime="dateTime(false,1,1,'','')" :endTime="dateTime(false,1,1,'','')"
|
||||
placeholder="请选择" clearable :style='{"width":"100%"}' type="date"
|
||||
format="yyyy-MM-dd" readonly>
|
||||
</JnpfDatePicker>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="期望发货时间" prop="lastModifyTime">
|
||||
<template slot="header" v-if="false">
|
||||
<span class="required-sign">*</span>期望发货时间
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfDatePicker v-model="scope.row.lastModifyTime"
|
||||
@change="changeData('businessordervoucherrelational-lastModifyTime',scope.$index)"
|
||||
:startTime="dateTime(false,1,1,'','')" :endTime="dateTime(false,1,1,'','')"
|
||||
placeholder="请选择" clearable :style='{"width":"100%"}' type="date"
|
||||
format="yyyy-MM-dd" readonly>
|
||||
</JnpfDatePicker>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="期望送达时间" prop="deleteTime">
|
||||
<template slot="header" v-if="false">
|
||||
<span class="required-sign">*</span>期望送达时间
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfDatePicker v-model="scope.row.deleteTime"
|
||||
@change="changeData('businessordervoucherrelational-deleteTime',scope.$index)"
|
||||
:startTime="dateTime(false,1,1,'','')" :endTime="dateTime(false,1,1,'','')"
|
||||
placeholder="请选择" clearable :style='{"width":"100%"}' type="date"
|
||||
format="yyyy-MM-dd" readonly>
|
||||
</JnpfDatePicker>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column label="操作" width="50">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" type="text" class="JNPF-table-delBtn"
|
||||
@click="delbusinessordervoucherrelationalList(scope.$index)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
</el-table>
|
||||
<!-- <div class="table-actions" @click="addbusinessordervoucherrelationalList()">
|
||||
<el-button type="text" icon="el-icon-plus">添加</el-button>
|
||||
</div> -->
|
||||
</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="24">
|
||||
<jnpf-form-tip-item label-width="0">
|
||||
<div class="JNPF-common-title">
|
||||
<h2></h2>
|
||||
</div>
|
||||
<el-table :data="dataForm.businessorderproductrelationalList" size='mini'>
|
||||
<el-table-column type="index" width="50" label="序号" align="center" />
|
||||
<el-table-column label="商品名称" prop="productId">
|
||||
<template slot="header" v-if="false">
|
||||
<span class="required-sign">*</span>商品名称
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.productId"
|
||||
@change="changeData('businessorderproductrelational-productId',scope.$index)"
|
||||
placeholder="请输入" clearable :style='{"width":"100%"}' readonly>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="仓库名称" prop="businessOrderId">
|
||||
<template slot="header" v-if="false">
|
||||
<span class="required-sign">*</span>仓库名称
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.businessOrderId"
|
||||
@change="changeData('businessorderproductrelational-businessOrderId',scope.$index)"
|
||||
placeholder="请输入" clearable :style='{"width":"100%"}' readonly>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="规格" prop="spec">
|
||||
<template slot="header" v-if="false">
|
||||
<span class="required-sign">*</span>规格
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.spec"
|
||||
@change="changeData('businessorderproductrelational-spec',scope.$index)"
|
||||
placeholder="请输入" clearable :style='{"width":"100%"}' readonly>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="库存单位" prop="unitId">
|
||||
<template slot="header" v-if="false">
|
||||
<span class="required-sign">*</span>库存单位
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.unitId"
|
||||
@change="changeData('businessorderproductrelational-unitId',scope.$index)"
|
||||
placeholder="请输入" clearable :style='{"width":"100%"}' readonly>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="销售单位" prop="salesMainUnitId">
|
||||
<template slot="header" v-if="false">
|
||||
<span class="required-sign">*</span>销售单位
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.salesMainUnitId"
|
||||
@change="changeData('businessorderproductrelational-salesMainUnitId',scope.$index)"
|
||||
placeholder="请输入" clearable :style='{"width":"100%"}' readonly>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="实物库存" prop="realBound">
|
||||
<template slot="header" v-if="false">
|
||||
<span class="required-sign">*</span>实物库存
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.realBound"
|
||||
@change="changeData('businessorderproductrelational-realBound',scope.$index)"
|
||||
placeholder="请输入" clearable :style='{"width":"100%"}' readonly>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="可用库存" prop="useBound">
|
||||
<template slot="header" v-if="false">
|
||||
<span class="required-sign">*</span>可用库存
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.useBound"
|
||||
@change="changeData('businessorderproductrelational-useBound',scope.$index)"
|
||||
placeholder="请输入" clearable :style='{"width":"100%"}' readonly>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="在途库存" prop="creatorTime">
|
||||
<template slot="header" v-if="false">
|
||||
<span class="required-sign">*</span>在途库存
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.creatorTime"
|
||||
@change="changeData('businessorderproductrelational-creatorTime',scope.$index)"
|
||||
placeholder="请输入" clearable :style='{"width":"100%"}' readonly>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="其他仓库库存" prop="creatorUserId">
|
||||
<template slot="header" v-if="false">
|
||||
<span class="required-sign">*</span>其他仓库库存
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.creatorUserId"
|
||||
@change="changeData('businessorderproductrelational-creatorUserId',scope.$index)"
|
||||
placeholder="请输入" clearable :style='{"width":"100%"}' readonly>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="销售单价" prop="businessPrice">
|
||||
<template slot="header" v-if="false">
|
||||
<span class="required-sign">*</span>销售单价
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.businessPrice"
|
||||
@change="changeData('businessorderproductrelational-businessPrice',scope.$index)"
|
||||
placeholder="请输入" clearable :style='{"width":"100%"}' readonly>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="销售数量" prop="businessNum">
|
||||
<template slot="header" v-if="false">
|
||||
<span class="required-sign">*</span>销售数量
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.businessNum"
|
||||
@change="changeData('businessorderproductrelational-businessNum',scope.$index)"
|
||||
placeholder="请输入" clearable :style='{"width":"100%"}' readonly>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="检查结果" prop="lastModifyUserId">
|
||||
<template slot="header" v-if="false">
|
||||
<span class="required-sign">*</span>检查结果
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.lastModifyUserId"
|
||||
@change="changeData('businessorderproductrelational-lastModifyUserId',scope.$index)"
|
||||
placeholder="请输入" clearable :style='{"width":"100%"}' readonly>
|
||||
</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"
|
||||
@click="delbusinessorderproductrelationalList(scope.$index)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
</el-table>
|
||||
<!-- <div class="table-actions" @click="addbusinessorderproductrelationalList()">
|
||||
<el-button type="text" icon="el-icon-plus">添加</el-button>
|
||||
</div> -->
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
<!-- 表单结束 -->
|
||||
</template>
|
||||
</el-form>
|
||||
<SelectDialog v-if="selectDialogVisible" :config="currTableConf" :formData="dataForm"
|
||||
ref="selectDialog" @select="addForSelect" @close="selectDialogVisible=false" />
|
||||
</el-row>
|
||||
</div>
|
||||
</transition>
|
||||
</template>
|
||||
|
||||
|
||||
<script>
|
||||
import request from '@/utils/request'
|
||||
import { mapGetters } from "vuex";
|
||||
import { getDataInterfaceRes } from '@/api/systemData/dataInterface'
|
||||
import { getDictionaryDataSelector } from '@/api/systemData/dictionary'
|
||||
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"
|
||||
export default {
|
||||
components: {},
|
||||
props: [],
|
||||
data() {
|
||||
return {
|
||||
dataFormSubmitType: 0,
|
||||
continueBtnLoading: false,
|
||||
index: 0,
|
||||
prevDis: false,
|
||||
nextDis: false,
|
||||
allList: [],
|
||||
visible: false,
|
||||
loading: false,
|
||||
btnLoading: false,
|
||||
formRef: 'formRef',
|
||||
setting: {},
|
||||
eventType: '',
|
||||
userBoxVisible: false,
|
||||
selectDialogVisible: false,
|
||||
currTableConf: {},
|
||||
dataValueAll: {},
|
||||
addTableConf: {
|
||||
businessOrderList: { "popupType": "dialog", "hasPage": true, "popupTitle": "选择数据", "pageSize": 20, "columnOptions": [], "interfaceId": "", "interfaceName": "", "relationOptions": [], "templateJson": [], "popupWidth": "800px" },
|
||||
businessorderproductrelationalList: { "popupType": "dialog", "hasPage": true, "popupTitle": "选择数据", "pageSize": 20, "columnOptions": [], "interfaceId": "", "interfaceName": "", "relationOptions": [], "templateJson": [], "popupWidth": "800px" },
|
||||
},
|
||||
//可选范围默认值
|
||||
ableAll: {
|
||||
},
|
||||
tableRows: {
|
||||
businessOrderList: {
|
||||
orderId: '',
|
||||
orderIdOptions: [],
|
||||
voucherId: '',
|
||||
voucherIdOptions: [],
|
||||
orderType: '',
|
||||
orderTypeOptions: [],
|
||||
cargoAreaIdOptions: [],
|
||||
creatorTime: '',
|
||||
creatorTimeOptions: [],
|
||||
lastModifyTime: '',
|
||||
lastModifyTimeOptions: [],
|
||||
deleteTime: '',
|
||||
deleteTimeOptions: [],
|
||||
enabledmark: undefined
|
||||
},
|
||||
businessorderproductrelationalList: {
|
||||
productId: '',
|
||||
productIdOptions: [],
|
||||
businessOrderId: '',
|
||||
businessOrderIdOptions: [],
|
||||
spec: '',
|
||||
specOptions: [],
|
||||
unitId: '',
|
||||
unitIdOptions: [],
|
||||
salesMainUnitId: '',
|
||||
salesMainUnitIdOptions: [],
|
||||
realBound: '',
|
||||
realBoundOptions: [],
|
||||
useBound: '',
|
||||
useBoundOptions: [],
|
||||
creatorTime: '',
|
||||
creatorTimeOptions: [],
|
||||
creatorUserId: '',
|
||||
creatorUserIdOptions: [],
|
||||
businessPrice: '',
|
||||
businessPriceOptions: [],
|
||||
businessNum: '',
|
||||
businessNumOptions: [],
|
||||
lastModifyUserId: '',
|
||||
lastModifyUserIdOptions: [],
|
||||
enabledmark: undefined
|
||||
},
|
||||
},
|
||||
Vmodel: "",
|
||||
currVmodel: "",
|
||||
dataForm: {
|
||||
deliveryWarehouse: undefined,
|
||||
orderNum: undefined,
|
||||
businessOrderList: [],
|
||||
businessorderproductrelationalList: [],
|
||||
},
|
||||
tableRequiredData: {},
|
||||
dataRule:
|
||||
{
|
||||
},
|
||||
businessordervoucherrelationalcargoAreaIdOptions: [{ "fullName": "普通订单", "id": "1" }, { "fullName": "紧急订单", "id": "2" }],
|
||||
businessordervoucherrelationalcargoAreaIdProps: { "label": "fullName", "value": "id" },
|
||||
childIndex: -1,
|
||||
isEdit: false,
|
||||
interfaceRes: {
|
||||
deliveryWarehouse: [],
|
||||
orderNum: [],
|
||||
businessordervoucherrelationalorderId: [],
|
||||
businessordervoucherrelationalvoucherId: [],
|
||||
businessordervoucherrelationalorderType: [],
|
||||
businessordervoucherrelationalcargoAreaId: [],
|
||||
businessordervoucherrelationalcreatorTime: [],
|
||||
businessordervoucherrelationallastModifyTime: [],
|
||||
businessordervoucherrelationaldeleteTime: [],
|
||||
businessorderproductrelationalproductId: [],
|
||||
businessorderproductrelationalbusinessOrderId: [],
|
||||
businessorderproductrelationalspec: [],
|
||||
businessorderproductrelationalunitId: [],
|
||||
businessorderproductrelationalsalesMainUnitId: [],
|
||||
businessorderproductrelationalrealBound: [],
|
||||
businessorderproductrelationaluseBound: [],
|
||||
businessorderproductrelationalcreatorTime: [],
|
||||
businessorderproductrelationalcreatorUserId: [],
|
||||
businessorderproductrelationalbusinessPrice: [],
|
||||
businessorderproductrelationalbusinessNum: [],
|
||||
businessorderproductrelationallastModifyUserId: [],
|
||||
},
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(['userInfo'])
|
||||
},
|
||||
watch: {},
|
||||
created() {
|
||||
this.dataAll()
|
||||
this.initDefaultData()
|
||||
this.dataValueAll = JSON.parse(JSON.stringify(this.dataForm))
|
||||
},
|
||||
mounted() { },
|
||||
methods: {
|
||||
prev() {
|
||||
this.index--
|
||||
if (this.index === 0) {
|
||||
this.prevDis = true
|
||||
}
|
||||
this.nextDis = false
|
||||
for (let index = 0; index < this.allList.length; index++) {
|
||||
const element = this.allList[index];
|
||||
if (this.index == index) {
|
||||
this.getInfo(element.id)
|
||||
}
|
||||
}
|
||||
},
|
||||
next() {
|
||||
this.index++
|
||||
if (this.index === this.allList.length - 1) {
|
||||
this.nextDis = true
|
||||
}
|
||||
this.prevDis = false
|
||||
for (let index = 0; index < this.allList.length; index++) {
|
||||
const element = this.allList[index];
|
||||
if (this.index == index) {
|
||||
this.getInfo(element.id)
|
||||
}
|
||||
}
|
||||
},
|
||||
getInfo(id) {
|
||||
request({
|
||||
url: '/api/scm/BusinessOrder/' + id,
|
||||
method: 'get'
|
||||
}).then(res => {
|
||||
this.dataInfo(res.data)
|
||||
});
|
||||
},
|
||||
goBack() {
|
||||
debugger
|
||||
this.visible = false
|
||||
this.$router.go(-1)
|
||||
// this.$emit('refreshDataList', true)
|
||||
},
|
||||
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) {
|
||||
if (!this.isEdit) {
|
||||
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
|
||||
}
|
||||
}
|
||||
},
|
||||
dataAll() {
|
||||
},
|
||||
businessordervoucherrelationalExist() {
|
||||
let isOk = true;
|
||||
for (let i = 0; i < this.dataForm.businessOrderList.length; i++) {
|
||||
const e = this.dataForm.businessOrderList[i];
|
||||
}
|
||||
return isOk;
|
||||
},
|
||||
businessorderproductrelationalExist() {
|
||||
let isOk = true;
|
||||
for (let i = 0; i < this.dataForm.businessorderproductrelationalList.length; i++) {
|
||||
const e = this.dataForm.businessorderproductrelationalList[i];
|
||||
}
|
||||
return isOk;
|
||||
},
|
||||
clearData() {
|
||||
this.dataForm = JSON.parse(JSON.stringify(this.dataValueAll))
|
||||
},
|
||||
init(data) {
|
||||
this.dataForm.deliveryWarehouse = data[0].deliveryWarehouse;
|
||||
this.dataForm.orderNum = data.length
|
||||
let list = []
|
||||
data.forEach((item, index) => {
|
||||
debugger
|
||||
console.log("2", item.businessOrderProductRelationalList);
|
||||
this.dataForm.businessOrderList.push(item)
|
||||
this.dataForm.businessorderproductrelationalList = [...item.businessOrderProductRelationalList, ...this.dataForm.businessorderproductrelationalList]
|
||||
});
|
||||
console.log("1", this.dataForm.businessorderproductrelationalList);
|
||||
// this.businessOrderList = data
|
||||
// this.prevDis = false
|
||||
// this.nextDis = false
|
||||
// this.allList = allList || []
|
||||
// if (allList.length) {
|
||||
// this.index = this.allList.findIndex(item => item.id === id)
|
||||
// if (this.index == 0) {
|
||||
// this.prevDis = true
|
||||
// }
|
||||
// if (this.index == this.allList.length - 1) {
|
||||
// this.nextDis = true
|
||||
// }
|
||||
// } else {
|
||||
// this.prevDis = true
|
||||
// this.nextDis = true
|
||||
// }
|
||||
// this.dataForm.id = id || 0;
|
||||
// this.visible = true;
|
||||
// this.$nextTick(() => {
|
||||
// if (this.dataForm.id) {
|
||||
// this.loading = true
|
||||
// request({
|
||||
// url: '/api/scm/BusinessOrder/' + this.dataForm.id,
|
||||
// method: 'get'
|
||||
// }).then(res => {
|
||||
// this.dataInfo(res.data)
|
||||
// this.loading = false
|
||||
// });
|
||||
// } else {
|
||||
// this.clearData()
|
||||
// this.initDefaultData()
|
||||
// }
|
||||
// });
|
||||
// this.$store.commit('generator/UPDATE_RELATION_DATA', {})
|
||||
},
|
||||
//初始化默认数据
|
||||
initDefaultData() {
|
||||
|
||||
},
|
||||
// 表单提交
|
||||
dataFormSubmit(type) {
|
||||
this.dataFormSubmitType = type ? type : 0
|
||||
this.$refs['formRef'].validate((valid) => {
|
||||
if (valid) {
|
||||
if (!this.businessordervoucherrelationalExist()) return
|
||||
if (!this.businessorderproductrelationalExist()) return
|
||||
this.request()
|
||||
}
|
||||
})
|
||||
},
|
||||
request() {
|
||||
let _data = this.dataList()
|
||||
if (this.dataFormSubmitType == 2) {
|
||||
this.continueBtnLoading = true
|
||||
} else {
|
||||
this.btnLoading = true
|
||||
}
|
||||
if (!this.dataForm.id) {
|
||||
request({
|
||||
url: '/api/scm/BusinessOrder',
|
||||
method: 'post',
|
||||
data: _data
|
||||
}).then((res) => {
|
||||
this.$message({
|
||||
message: res.msg,
|
||||
type: 'success',
|
||||
duration: 1000,
|
||||
onClose: () => {
|
||||
if (this.dataFormSubmitType == 2) {
|
||||
this.$nextTick(() => {
|
||||
this.clearData()
|
||||
this.initDefaultData()
|
||||
})
|
||||
this.continueBtnLoading = false
|
||||
return
|
||||
}
|
||||
this.visible = false
|
||||
this.btnLoading = false
|
||||
this.$emit('refresh', true)
|
||||
}
|
||||
})
|
||||
}).catch(() => {
|
||||
this.btnLoading = false
|
||||
this.continueBtnLoading = false
|
||||
})
|
||||
} else {
|
||||
request({
|
||||
url: '/api/scm/BusinessOrder/' + 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
|
||||
})
|
||||
}
|
||||
},
|
||||
addbusinessordervoucherrelationalList() {
|
||||
let item = {
|
||||
code: undefined,
|
||||
code: undefined,
|
||||
deliveryWarehouse: undefined,
|
||||
urgentOrder: '',
|
||||
creatorTime: undefined,
|
||||
lastModifyTime: undefined,
|
||||
deleteTime: undefined,
|
||||
}
|
||||
this.getbusinessordervoucherrelationalList(item)
|
||||
},
|
||||
delbusinessordervoucherrelationalList(index) {
|
||||
this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.dataForm.businessOrderList.splice(index, 1);
|
||||
}).catch(() => {
|
||||
});
|
||||
},
|
||||
getbusinessordervoucherrelationalList(value) {
|
||||
let item = { ...this.tableRows.businessOrderList, ...value }
|
||||
this.dataForm.businessOrderList.push(item)
|
||||
this.childIndex = this.dataForm.businessOrderList.length - 1
|
||||
this.isEdit = true
|
||||
this.isEdit = false
|
||||
this.childIndex = -1
|
||||
},
|
||||
addbusinessorderproductrelationalList() {
|
||||
let item = {
|
||||
productId: undefined,
|
||||
businessOrderId: undefined,
|
||||
spec: undefined,
|
||||
unitId: undefined,
|
||||
salesMainUnitId: undefined,
|
||||
realBound: undefined,
|
||||
useBound: undefined,
|
||||
creatorTime: undefined,
|
||||
creatorUserId: undefined,
|
||||
businessPrice: undefined,
|
||||
businessNum: undefined,
|
||||
lastModifyUserId: undefined,
|
||||
}
|
||||
this.getbusinessorderproductrelationalList(item)
|
||||
},
|
||||
delbusinessorderproductrelationalList(index) {
|
||||
this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.dataForm.businessorderproductrelationalList.splice(index, 1);
|
||||
}).catch(() => {
|
||||
});
|
||||
},
|
||||
getbusinessorderproductrelationalList(value) {
|
||||
let item = { ...this.tableRows.businessorderproductrelationalList, ...value }
|
||||
this.dataForm.businessorderproductrelationalList.push(item)
|
||||
this.childIndex = this.dataForm.businessorderproductrelationalList.length - 1
|
||||
this.isEdit = true
|
||||
this.isEdit = false
|
||||
this.childIndex = -1
|
||||
},
|
||||
openSelectDialog(key) {
|
||||
this.currTableConf = this.addTableConf[key]
|
||||
this.currVmodel = key
|
||||
this.selectDialogVisible = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.selectDialog.inits()
|
||||
})
|
||||
},
|
||||
addForSelect(data) {
|
||||
for (let i = 0; i < data.length; i++) {
|
||||
let t = data[i]
|
||||
if (this['get' + this.currVmodel]) {
|
||||
this['get' + this.currVmodel](t)
|
||||
}
|
||||
}
|
||||
},
|
||||
dateTime(timeRule, timeType, timeTarget, timeValueData, dataValue) {
|
||||
let timeDataValue = null;
|
||||
let timeValue = Number(timeValueData)
|
||||
if (timeRule) {
|
||||
if (timeType == 1) {
|
||||
timeDataValue = timeValue
|
||||
} 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) {
|
||||
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;
|
||||
},
|
||||
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.businessOrderList.length; i++) {
|
||||
this.childIndex = i
|
||||
}
|
||||
for (let i = 0; i < _dataAll.businessorderproductrelationalList.length; i++) {
|
||||
this.childIndex = i
|
||||
}
|
||||
this.childIndex = -1
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
</script>
|
@ -0,0 +1,858 @@
|
||||
<template>
|
||||
<transition name="el-zoom-in-center">
|
||||
<div class="JNPF-preview-main">
|
||||
<div class="JNPF-common-page-header">
|
||||
<el-page-header @back="goBack" :content="'库存锁定'" />
|
||||
<div class="options">
|
||||
<!-- <el-dropdown class="dropdown" placement="bottom">
|
||||
<el-button style="width:70px">
|
||||
更 多<i class="el-icon-arrow-down el-icon--right"></i>
|
||||
</el-button>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<template v-if="dataForm.id">
|
||||
<el-dropdown-item @click.native="prev" :disabled='prevDis'>
|
||||
{{'上一条'}}
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item @click.native="next" :disabled='nextDis'>
|
||||
{{'下一条'}}
|
||||
</el-dropdown-item>
|
||||
</template>
|
||||
<el-dropdown-item type="primary" @click.native="dataFormSubmit(2)"
|
||||
:loading="continueBtnLoading" :disabled='btnLoading'>
|
||||
{{!dataForm.id ?'确定并新增':'确定并继续'}}</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown> -->
|
||||
<!-- <el-button type="primary" @click="dataFormSubmit()" :loading="btnLoading"
|
||||
:disabled='continueBtnLoading'> 保 存</el-button> -->
|
||||
<el-button type="primary" @click="createRedeliveryOrder()" :loading="btnLoading"
|
||||
:disabled='continueBtnLoading'> 生成补送单 </el-button>
|
||||
<el-button @click="goBack"> 取 消</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<el-row :gutter="15" class=" main" :style="{margin: '0 auto',width: '100%'}">
|
||||
<el-form ref="formRef" :model="dataForm" :rules="dataRule" size="small" label-width="100px"
|
||||
label-position="right">
|
||||
<template v-if="!loading">
|
||||
<!-- 具体表单 -->
|
||||
<el-col :span="24">
|
||||
<jnpf-form-tip-item>
|
||||
<JnpfGroupTitle content="基础信息" contentPosition="left">
|
||||
</JnpfGroupTitle>
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<jnpf-form-tip-item label="发货仓库" prop="deliveryWarehouse">
|
||||
<JnpfInput v-model="dataForm.deliveryWarehouse"
|
||||
@change="changeData('deliveryWarehouse',-1)" placeholder="请输入" disabled clearable
|
||||
:style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<jnpf-form-tip-item label="选择订单数量" prop="orderNum">
|
||||
<JnpfInput v-model="dataForm.orderNum" @change="changeData('orderNum',-1)"
|
||||
placeholder="请输入" disabled clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</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="24">
|
||||
<jnpf-form-tip-item label-width="0">
|
||||
<div class="JNPF-common-title">
|
||||
<h2></h2>
|
||||
</div>
|
||||
<el-table :data="dataForm.businessOrderList" size='mini'>
|
||||
<el-table-column type="index" width="50" label="序号" align="center" />
|
||||
<el-table-column label="单据编号" prop="code">
|
||||
<template slot="header" v-if="false">
|
||||
<span class="required-sign">*</span>单据编号
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.code"
|
||||
@change="changeData('businessordervoucherrelational-orderId',scope.$index)"
|
||||
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="客户名称" prop="code">
|
||||
<template slot="header" v-if="false">
|
||||
<span class="required-sign">*</span>客户名称
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.code"
|
||||
@change="changeData('businessordervoucherrelational-voucherId',scope.$index)"
|
||||
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="发货仓库" prop="deliveryWarehouse">
|
||||
<template slot="header" v-if="false">
|
||||
<span class="required-sign">*</span>发货仓库
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.deliveryWarehouse"
|
||||
@change="changeData('businessordervoucherrelational-orderType',scope.$index)"
|
||||
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="紧急程度" prop="urgentOrder">
|
||||
<template slot="header" v-if="false">
|
||||
<span class="required-sign">*</span>紧急程度
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfSelect v-model="scope.row.urgentOrder"
|
||||
@change="changeData('businessordervoucherrelational-cargoAreaId',scope.$index)"
|
||||
placeholder="请选择" clearable :style='{"width":"100%"}'
|
||||
:options="businessordervoucherrelationalcargoAreaIdOptions"
|
||||
:props="businessordervoucherrelationalcargoAreaIdProps">
|
||||
</JnpfSelect>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="订货时间" prop="creatorTime">
|
||||
<template slot="header" v-if="false">
|
||||
<span class="required-sign">*</span>订货时间
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfDatePicker v-model="scope.row.creatorTime"
|
||||
@change="changeData('businessordervoucherrelational-creatorTime',scope.$index)"
|
||||
:startTime="dateTime(false,1,1,'','')" :endTime="dateTime(false,1,1,'','')"
|
||||
placeholder="请选择" clearable :style='{"width":"100%"}' type="date"
|
||||
format="yyyy-MM-dd">
|
||||
</JnpfDatePicker>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="期望发货时间" prop="lastModifyTime">
|
||||
<template slot="header" v-if="false">
|
||||
<span class="required-sign">*</span>期望发货时间
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfDatePicker v-model="scope.row.lastModifyTime"
|
||||
@change="changeData('businessordervoucherrelational-lastModifyTime',scope.$index)"
|
||||
:startTime="dateTime(false,1,1,'','')" :endTime="dateTime(false,1,1,'','')"
|
||||
placeholder="请选择" clearable :style='{"width":"100%"}' type="date"
|
||||
format="yyyy-MM-dd">
|
||||
</JnpfDatePicker>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="期望送达时间" prop="deleteTime">
|
||||
<template slot="header" v-if="false">
|
||||
<span class="required-sign">*</span>期望送达时间
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfDatePicker v-model="scope.row.deleteTime"
|
||||
@change="changeData('businessordervoucherrelational-deleteTime',scope.$index)"
|
||||
:startTime="dateTime(false,1,1,'','')" :endTime="dateTime(false,1,1,'','')"
|
||||
placeholder="请选择" clearable :style='{"width":"100%"}' type="date"
|
||||
format="yyyy-MM-dd">
|
||||
</JnpfDatePicker>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column label="操作" width="50">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" type="text" class="JNPF-table-delBtn"
|
||||
@click="delbusinessordervoucherrelationalList(scope.$index)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
</el-table>
|
||||
<!-- <div class="table-actions" @click="addbusinessordervoucherrelationalList()">
|
||||
<el-button type="text" icon="el-icon-plus">添加</el-button>
|
||||
</div> -->
|
||||
</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="24">
|
||||
<jnpf-form-tip-item label-width="0">
|
||||
<div class="JNPF-common-title">
|
||||
<h2></h2>
|
||||
</div>
|
||||
<el-table :data="dataForm.businessorderproductrelationalList" size='mini'>
|
||||
<el-table-column type="index" width="50" label="序号" align="center" />
|
||||
<el-table-column label="商品名称" prop="productId">
|
||||
<template slot="header" v-if="false">
|
||||
<span class="required-sign">*</span>商品名称
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.productId"
|
||||
@change="changeData('businessorderproductrelational-productId',scope.$index)"
|
||||
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="仓库名称" prop="businessOrderId">
|
||||
<template slot="header" v-if="false">
|
||||
<span class="required-sign">*</span>仓库名称
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.businessOrderId"
|
||||
@change="changeData('businessorderproductrelational-businessOrderId',scope.$index)"
|
||||
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="规格" prop="spec">
|
||||
<template slot="header" v-if="false">
|
||||
<span class="required-sign">*</span>规格
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.spec"
|
||||
@change="changeData('businessorderproductrelational-spec',scope.$index)"
|
||||
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="库存单位" prop="unitId">
|
||||
<template slot="header" v-if="false">
|
||||
<span class="required-sign">*</span>库存单位
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.unitId"
|
||||
@change="changeData('businessorderproductrelational-unitId',scope.$index)"
|
||||
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="销售单位" prop="salesMainUnitId">
|
||||
<template slot="header" v-if="false">
|
||||
<span class="required-sign">*</span>销售单位
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.salesMainUnitId"
|
||||
@change="changeData('businessorderproductrelational-salesMainUnitId',scope.$index)"
|
||||
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="实物库存" prop="realBound">
|
||||
<template slot="header" v-if="false">
|
||||
<span class="required-sign">*</span>实物库存
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.realBound"
|
||||
@change="changeData('businessorderproductrelational-realBound',scope.$index)"
|
||||
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="可用库存" prop="useBound">
|
||||
<template slot="header" v-if="false">
|
||||
<span class="required-sign">*</span>可用库存
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.useBound"
|
||||
@change="changeData('businessorderproductrelational-useBound',scope.$index)"
|
||||
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="在途库存" prop="creatorTime">
|
||||
<template slot="header" v-if="false">
|
||||
<span class="required-sign">*</span>在途库存
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.creatorTime"
|
||||
@change="changeData('businessorderproductrelational-creatorTime',scope.$index)"
|
||||
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="其他仓库库存" prop="creatorUserId">
|
||||
<template slot="header" v-if="false">
|
||||
<span class="required-sign">*</span>其他仓库库存
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.creatorUserId"
|
||||
@change="changeData('businessorderproductrelational-creatorUserId',scope.$index)"
|
||||
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="销售单价" prop="businessPrice">
|
||||
<template slot="header" v-if="false">
|
||||
<span class="required-sign">*</span>销售单价
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.businessPrice"
|
||||
@change="changeData('businessorderproductrelational-businessPrice',scope.$index)"
|
||||
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="销售数量" prop="businessNum">
|
||||
<template slot="header" v-if="false">
|
||||
<span class="required-sign">*</span>销售数量
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.businessNum"
|
||||
@change="changeData('businessorderproductrelational-businessNum',scope.$index)"
|
||||
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="检查结果" prop="lastModifyUserId">
|
||||
<template slot="header" v-if="false">
|
||||
<span class="required-sign">*</span>检查结果
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.lastModifyUserId"
|
||||
@change="changeData('businessorderproductrelational-lastModifyUserId',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"
|
||||
@click="delbusinessorderproductrelationalList(scope.$index)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
</el-table>
|
||||
<!-- <div class="table-actions" @click="addbusinessorderproductrelationalList()">
|
||||
<el-button type="text" icon="el-icon-plus">添加</el-button>
|
||||
</div> -->
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
<!-- 表单结束 -->
|
||||
</template>
|
||||
</el-form>
|
||||
<SelectDialog v-if="selectDialogVisible" :config="currTableConf" :formData="dataForm"
|
||||
ref="selectDialog" @select="addForSelect" @close="selectDialogVisible=false" />
|
||||
<RedeliveryOrder v-if="redeliveryOrderVisible" ref="RedeliveryOrder" />
|
||||
</el-row>
|
||||
</div>
|
||||
</transition>
|
||||
</template>
|
||||
|
||||
|
||||
<script>
|
||||
import request from '@/utils/request'
|
||||
import { mapGetters } from "vuex";
|
||||
import { getDataInterfaceRes } from '@/api/systemData/dataInterface'
|
||||
import { getDictionaryDataSelector } from '@/api/systemData/dictionary'
|
||||
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 RedeliveryOrder from './redeliveryOrder.vue'
|
||||
export default {
|
||||
components: { RedeliveryOrder },
|
||||
props: [],
|
||||
data() {
|
||||
return {
|
||||
dataFormSubmitType: 0,
|
||||
continueBtnLoading: false,
|
||||
index: 0,
|
||||
prevDis: false,
|
||||
nextDis: false,
|
||||
allList: [],
|
||||
visible: false,
|
||||
loading: false,
|
||||
btnLoading: false,
|
||||
formRef: 'formRef',
|
||||
setting: {},
|
||||
eventType: '',
|
||||
userBoxVisible: false,
|
||||
selectDialogVisible: false,
|
||||
redeliveryOrderVisible: false,
|
||||
currTableConf: {},
|
||||
dataValueAll: {},
|
||||
addTableConf: {
|
||||
businessOrderList: { "popupType": "dialog", "hasPage": true, "popupTitle": "选择数据", "pageSize": 20, "columnOptions": [], "interfaceId": "", "interfaceName": "", "relationOptions": [], "templateJson": [], "popupWidth": "800px" },
|
||||
businessorderproductrelationalList: { "popupType": "dialog", "hasPage": true, "popupTitle": "选择数据", "pageSize": 20, "columnOptions": [], "interfaceId": "", "interfaceName": "", "relationOptions": [], "templateJson": [], "popupWidth": "800px" },
|
||||
},
|
||||
//可选范围默认值
|
||||
ableAll: {
|
||||
},
|
||||
tableRows: {
|
||||
businessOrderList: {
|
||||
orderId: '',
|
||||
orderIdOptions: [],
|
||||
voucherId: '',
|
||||
voucherIdOptions: [],
|
||||
orderType: '',
|
||||
orderTypeOptions: [],
|
||||
cargoAreaIdOptions: [],
|
||||
creatorTime: '',
|
||||
creatorTimeOptions: [],
|
||||
lastModifyTime: '',
|
||||
lastModifyTimeOptions: [],
|
||||
deleteTime: '',
|
||||
deleteTimeOptions: [],
|
||||
enabledmark: undefined
|
||||
},
|
||||
businessorderproductrelationalList: {
|
||||
productId: '',
|
||||
productIdOptions: [],
|
||||
businessOrderId: '',
|
||||
businessOrderIdOptions: [],
|
||||
spec: '',
|
||||
specOptions: [],
|
||||
unitId: '',
|
||||
unitIdOptions: [],
|
||||
salesMainUnitId: '',
|
||||
salesMainUnitIdOptions: [],
|
||||
realBound: '',
|
||||
realBoundOptions: [],
|
||||
useBound: '',
|
||||
useBoundOptions: [],
|
||||
creatorTime: '',
|
||||
creatorTimeOptions: [],
|
||||
creatorUserId: '',
|
||||
creatorUserIdOptions: [],
|
||||
businessPrice: '',
|
||||
businessPriceOptions: [],
|
||||
businessNum: '',
|
||||
businessNumOptions: [],
|
||||
lastModifyUserId: '',
|
||||
lastModifyUserIdOptions: [],
|
||||
enabledmark: undefined
|
||||
},
|
||||
},
|
||||
Vmodel: "",
|
||||
currVmodel: "",
|
||||
dataForm: {
|
||||
deliveryWarehouse: undefined,
|
||||
orderNum: undefined,
|
||||
businessOrderList: [],
|
||||
businessorderproductrelationalList: [],
|
||||
},
|
||||
tableRequiredData: {},
|
||||
dataRule:
|
||||
{
|
||||
},
|
||||
businessordervoucherrelationalcargoAreaIdOptions: [{ "fullName": "普通订单", "id": "1" }, { "fullName": "紧急订单", "id": "2" }],
|
||||
businessordervoucherrelationalcargoAreaIdProps: { "label": "fullName", "value": "id" },
|
||||
childIndex: -1,
|
||||
isEdit: false,
|
||||
interfaceRes: {
|
||||
deliveryWarehouse: [],
|
||||
orderNum: [],
|
||||
businessordervoucherrelationalorderId: [],
|
||||
businessordervoucherrelationalvoucherId: [],
|
||||
businessordervoucherrelationalorderType: [],
|
||||
businessordervoucherrelationalcargoAreaId: [],
|
||||
businessordervoucherrelationalcreatorTime: [],
|
||||
businessordervoucherrelationallastModifyTime: [],
|
||||
businessordervoucherrelationaldeleteTime: [],
|
||||
businessorderproductrelationalproductId: [],
|
||||
businessorderproductrelationalbusinessOrderId: [],
|
||||
businessorderproductrelationalspec: [],
|
||||
businessorderproductrelationalunitId: [],
|
||||
businessorderproductrelationalsalesMainUnitId: [],
|
||||
businessorderproductrelationalrealBound: [],
|
||||
businessorderproductrelationaluseBound: [],
|
||||
businessorderproductrelationalcreatorTime: [],
|
||||
businessorderproductrelationalcreatorUserId: [],
|
||||
businessorderproductrelationalbusinessPrice: [],
|
||||
businessorderproductrelationalbusinessNum: [],
|
||||
businessorderproductrelationallastModifyUserId: [],
|
||||
},
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(['userInfo'])
|
||||
},
|
||||
watch: {},
|
||||
created() {
|
||||
this.dataAll()
|
||||
this.initDefaultData()
|
||||
this.dataValueAll = JSON.parse(JSON.stringify(this.dataForm))
|
||||
},
|
||||
mounted() { },
|
||||
methods: {
|
||||
createRedeliveryOrder() {
|
||||
this.redeliveryOrderVisible = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.RedeliveryOrder.init(this.dataForm)
|
||||
})
|
||||
},
|
||||
prev() {
|
||||
this.index--
|
||||
if (this.index === 0) {
|
||||
this.prevDis = true
|
||||
}
|
||||
this.nextDis = false
|
||||
for (let index = 0; index < this.allList.length; index++) {
|
||||
const element = this.allList[index];
|
||||
if (this.index == index) {
|
||||
this.getInfo(element.id)
|
||||
}
|
||||
}
|
||||
},
|
||||
next() {
|
||||
this.index++
|
||||
if (this.index === this.allList.length - 1) {
|
||||
this.nextDis = true
|
||||
}
|
||||
this.prevDis = false
|
||||
for (let index = 0; index < this.allList.length; index++) {
|
||||
const element = this.allList[index];
|
||||
if (this.index == index) {
|
||||
this.getInfo(element.id)
|
||||
}
|
||||
}
|
||||
},
|
||||
getInfo(id) {
|
||||
request({
|
||||
url: '/api/scm/BusinessOrder/' + id,
|
||||
method: 'get'
|
||||
}).then(res => {
|
||||
this.dataInfo(res.data)
|
||||
});
|
||||
},
|
||||
goBack() {
|
||||
debugger
|
||||
this.visible = false
|
||||
this.$router.go(-1)
|
||||
// this.$emit('refreshDataList', true)
|
||||
},
|
||||
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) {
|
||||
if (!this.isEdit) {
|
||||
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
|
||||
}
|
||||
}
|
||||
},
|
||||
dataAll() {
|
||||
},
|
||||
businessordervoucherrelationalExist() {
|
||||
let isOk = true;
|
||||
for (let i = 0; i < this.dataForm.businessOrderList.length; i++) {
|
||||
const e = this.dataForm.businessOrderList[i];
|
||||
}
|
||||
return isOk;
|
||||
},
|
||||
businessorderproductrelationalExist() {
|
||||
let isOk = true;
|
||||
for (let i = 0; i < this.dataForm.businessorderproductrelationalList.length; i++) {
|
||||
const e = this.dataForm.businessorderproductrelationalList[i];
|
||||
}
|
||||
return isOk;
|
||||
},
|
||||
clearData() {
|
||||
this.dataForm = JSON.parse(JSON.stringify(this.dataValueAll))
|
||||
},
|
||||
init(data) {
|
||||
this.dataForm.deliveryWarehouse = data[0].deliveryWarehouse;
|
||||
this.dataForm.orderNum = data.length
|
||||
let list = []
|
||||
data.forEach((item, index) => {
|
||||
debugger
|
||||
console.log("2", item.businessOrderProductRelationalList);
|
||||
this.dataForm.businessOrderList.push(item)
|
||||
this.dataForm.businessorderproductrelationalList = [...item.businessOrderProductRelationalList, ...this.dataForm.businessorderproductrelationalList]
|
||||
});
|
||||
console.log("1", this.dataForm.businessorderproductrelationalList);
|
||||
// this.businessOrderList = data
|
||||
// this.prevDis = false
|
||||
// this.nextDis = false
|
||||
// this.allList = allList || []
|
||||
// if (allList.length) {
|
||||
// this.index = this.allList.findIndex(item => item.id === id)
|
||||
// if (this.index == 0) {
|
||||
// this.prevDis = true
|
||||
// }
|
||||
// if (this.index == this.allList.length - 1) {
|
||||
// this.nextDis = true
|
||||
// }
|
||||
// } else {
|
||||
// this.prevDis = true
|
||||
// this.nextDis = true
|
||||
// }
|
||||
// this.dataForm.id = id || 0;
|
||||
// this.visible = true;
|
||||
// this.$nextTick(() => {
|
||||
// if (this.dataForm.id) {
|
||||
// this.loading = true
|
||||
// request({
|
||||
// url: '/api/scm/BusinessOrder/' + this.dataForm.id,
|
||||
// method: 'get'
|
||||
// }).then(res => {
|
||||
// this.dataInfo(res.data)
|
||||
// this.loading = false
|
||||
// });
|
||||
// } else {
|
||||
// this.clearData()
|
||||
// this.initDefaultData()
|
||||
// }
|
||||
// });
|
||||
// this.$store.commit('generator/UPDATE_RELATION_DATA', {})
|
||||
},
|
||||
//初始化默认数据
|
||||
initDefaultData() {
|
||||
|
||||
},
|
||||
// 表单提交
|
||||
dataFormSubmit(type) {
|
||||
this.dataFormSubmitType = type ? type : 0
|
||||
this.$refs['formRef'].validate((valid) => {
|
||||
if (valid) {
|
||||
if (!this.businessordervoucherrelationalExist()) return
|
||||
if (!this.businessorderproductrelationalExist()) return
|
||||
this.request()
|
||||
}
|
||||
})
|
||||
},
|
||||
request() {
|
||||
let _data = this.dataList()
|
||||
if (this.dataFormSubmitType == 2) {
|
||||
this.continueBtnLoading = true
|
||||
} else {
|
||||
this.btnLoading = true
|
||||
}
|
||||
if (!this.dataForm.id) {
|
||||
request({
|
||||
url: '/api/scm/BusinessOrder',
|
||||
method: 'post',
|
||||
data: _data
|
||||
}).then((res) => {
|
||||
this.$message({
|
||||
message: res.msg,
|
||||
type: 'success',
|
||||
duration: 1000,
|
||||
onClose: () => {
|
||||
if (this.dataFormSubmitType == 2) {
|
||||
this.$nextTick(() => {
|
||||
this.clearData()
|
||||
this.initDefaultData()
|
||||
})
|
||||
this.continueBtnLoading = false
|
||||
return
|
||||
}
|
||||
this.visible = false
|
||||
this.btnLoading = false
|
||||
this.$emit('refresh', true)
|
||||
}
|
||||
})
|
||||
}).catch(() => {
|
||||
this.btnLoading = false
|
||||
this.continueBtnLoading = false
|
||||
})
|
||||
} else {
|
||||
request({
|
||||
url: '/api/scm/BusinessOrder/' + 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
|
||||
})
|
||||
}
|
||||
},
|
||||
addbusinessordervoucherrelationalList() {
|
||||
let item = {
|
||||
code: undefined,
|
||||
code: undefined,
|
||||
deliveryWarehouse: undefined,
|
||||
urgentOrder: '',
|
||||
creatorTime: undefined,
|
||||
lastModifyTime: undefined,
|
||||
deleteTime: undefined,
|
||||
}
|
||||
this.getbusinessordervoucherrelationalList(item)
|
||||
},
|
||||
delbusinessordervoucherrelationalList(index) {
|
||||
this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.dataForm.businessOrderList.splice(index, 1);
|
||||
}).catch(() => {
|
||||
});
|
||||
},
|
||||
getbusinessordervoucherrelationalList(value) {
|
||||
let item = { ...this.tableRows.businessOrderList, ...value }
|
||||
this.dataForm.businessOrderList.push(item)
|
||||
this.childIndex = this.dataForm.businessOrderList.length - 1
|
||||
this.isEdit = true
|
||||
this.isEdit = false
|
||||
this.childIndex = -1
|
||||
},
|
||||
addbusinessorderproductrelationalList() {
|
||||
let item = {
|
||||
productId: undefined,
|
||||
businessOrderId: undefined,
|
||||
spec: undefined,
|
||||
unitId: undefined,
|
||||
salesMainUnitId: undefined,
|
||||
realBound: undefined,
|
||||
useBound: undefined,
|
||||
creatorTime: undefined,
|
||||
creatorUserId: undefined,
|
||||
businessPrice: undefined,
|
||||
businessNum: undefined,
|
||||
lastModifyUserId: undefined,
|
||||
}
|
||||
this.getbusinessorderproductrelationalList(item)
|
||||
},
|
||||
delbusinessorderproductrelationalList(index) {
|
||||
this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.dataForm.businessorderproductrelationalList.splice(index, 1);
|
||||
}).catch(() => {
|
||||
});
|
||||
},
|
||||
getbusinessorderproductrelationalList(value) {
|
||||
let item = { ...this.tableRows.businessorderproductrelationalList, ...value }
|
||||
this.dataForm.businessorderproductrelationalList.push(item)
|
||||
this.childIndex = this.dataForm.businessorderproductrelationalList.length - 1
|
||||
this.isEdit = true
|
||||
this.isEdit = false
|
||||
this.childIndex = -1
|
||||
},
|
||||
openSelectDialog(key) {
|
||||
this.currTableConf = this.addTableConf[key]
|
||||
this.currVmodel = key
|
||||
this.selectDialogVisible = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.selectDialog.init()
|
||||
})
|
||||
},
|
||||
addForSelect(data) {
|
||||
for (let i = 0; i < data.length; i++) {
|
||||
let t = data[i]
|
||||
if (this['get' + this.currVmodel]) {
|
||||
this['get' + this.currVmodel](t)
|
||||
}
|
||||
}
|
||||
},
|
||||
dateTime(timeRule, timeType, timeTarget, timeValueData, dataValue) {
|
||||
let timeDataValue = null;
|
||||
let timeValue = Number(timeValueData)
|
||||
if (timeRule) {
|
||||
if (timeType == 1) {
|
||||
timeDataValue = timeValue
|
||||
} 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) {
|
||||
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;
|
||||
},
|
||||
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.businessOrderList.length; i++) {
|
||||
this.childIndex = i
|
||||
}
|
||||
for (let i = 0; i < _dataAll.businessorderproductrelationalList.length; i++) {
|
||||
this.childIndex = i
|
||||
}
|
||||
this.childIndex = -1
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
</script>
|
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,835 @@
|
||||
<template>
|
||||
<div :style="{margin: '0 auto',width:'100%'}">
|
||||
<el-row :gutter="15" class="">
|
||||
<el-form ref="formRef" :model="dataForm" :rules="dataRule" size="small" label-width="100px"
|
||||
label-position="right" :disabled="setting.readonly">
|
||||
<template v-if="!loading && formOperates">
|
||||
<!-- 具体表单 -->
|
||||
<el-col :span="24">
|
||||
<jnpf-form-tip-item>
|
||||
<JnpfGroupTitle content="基础信息" contentPosition="left">
|
||||
</JnpfGroupTitle>
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="judgeShow('redeliveryOrderCode')">
|
||||
<jnpf-form-tip-item label="补送订单编号" v-if="judgeShow('redeliveryOrderCode')"
|
||||
prop="redeliveryOrderCode">
|
||||
<JnpfInput v-model="dataForm.redeliveryOrderCode"
|
||||
@change="changeData('redeliveryOrderCode',-1)" placeholder="系统自动生成"
|
||||
:disabled="judgeWrite('redeliveryOrderCode')" readonly :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12" v-if="judgeShow('preparationTime')">
|
||||
<jnpf-form-tip-item label="制单时间" v-if="judgeShow('preparationTime')"
|
||||
prop="preparationTime">
|
||||
<JnpfDatePicker v-model="dataForm.preparationTime"
|
||||
@change="changeData('preparationTime',-1)" :startTime="dateTime(false,1,1,'','')"
|
||||
:endTime="dateTime(false,1,1,'','')" placeholder="请选择"
|
||||
:disabled="judgeWrite('preparationTime')" clearable :style='{"width":"100%"}'
|
||||
type="date" format="yyyy-MM-dd">
|
||||
</JnpfDatePicker>
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
<el-col :span="24" v-if="judgeShow('remake')">
|
||||
<jnpf-form-tip-item label="备注" v-if="judgeShow('remake')" prop="remake">
|
||||
<JnpfTextarea v-model="dataForm.remake" @change="changeData('remake',-1)"
|
||||
placeholder="请输入" :disabled="judgeWrite('remake')" :style='{"width":"100%"}' true
|
||||
type="textarea" :autosize='{"minRows":4,"maxRows":4}'>
|
||||
</JnpfTextarea>
|
||||
</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="24" v-if="judgeShow('-${html.relationField}')">
|
||||
<jnpf-form-tip-item label-width="0">
|
||||
<div class="JNPF-common-title">
|
||||
<h2></h2>
|
||||
</div>
|
||||
<el-table :data="dataForm.redeliveryoriginalorderrelationList" size='mini'>
|
||||
<el-table-column type="index" width="50" label="序号" align="center" />
|
||||
<el-table-column label="单据编号"
|
||||
v-if="judgeShow('redeliveryoriginalorderrelation-businessOrderCode')"
|
||||
prop="businessOrderCode">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('redeliveryoriginalorderrelationList-businessOrderCode')">*</span>单据编号
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.businessOrderCode"
|
||||
@change="changeData('redeliveryoriginalorderrelation-businessOrderCode',scope.$index)"
|
||||
placeholder="请输入"
|
||||
:disabled="judgeWrite('redeliveryoriginalorderrelationList')||judgeWrite('redeliveryoriginalorderrelationList-businessOrderCode')"
|
||||
clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="客户名称"
|
||||
v-if="judgeShow('redeliveryoriginalorderrelation-customName')" prop="customName">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('redeliveryoriginalorderrelationList-customName')">*</span>客户名称
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.customName"
|
||||
@change="changeData('redeliveryoriginalorderrelation-customName',scope.$index)"
|
||||
placeholder="请输入"
|
||||
:disabled="judgeWrite('redeliveryoriginalorderrelationList')||judgeWrite('redeliveryoriginalorderrelationList-customName')"
|
||||
clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="发货仓库"
|
||||
v-if="judgeShow('redeliveryoriginalorderrelation-deliveryWarehouse')"
|
||||
prop="deliveryWarehouse">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('redeliveryoriginalorderrelationList-deliveryWarehouse')">*</span>发货仓库
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.deliveryWarehouse"
|
||||
@change="changeData('redeliveryoriginalorderrelation-deliveryWarehouse',scope.$index)"
|
||||
placeholder="请输入"
|
||||
:disabled="judgeWrite('redeliveryoriginalorderrelationList')||judgeWrite('redeliveryoriginalorderrelationList-deliveryWarehouse')"
|
||||
clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="商品名称"
|
||||
v-if="judgeShow('redeliveryoriginalorderrelation-productName')"
|
||||
prop="productName">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('redeliveryoriginalorderrelationList-productName')">*</span>商品名称
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.productName"
|
||||
@change="changeData('redeliveryoriginalorderrelation-productName',scope.$index)"
|
||||
placeholder="请输入"
|
||||
:disabled="judgeWrite('redeliveryoriginalorderrelationList')||judgeWrite('redeliveryoriginalorderrelationList-productName')"
|
||||
clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="销售单位"
|
||||
v-if="judgeShow('redeliveryoriginalorderrelation-saleUnit')" prop="saleUnit">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('redeliveryoriginalorderrelationList-saleUnit')">*</span>销售单位
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.saleUnit"
|
||||
@change="changeData('redeliveryoriginalorderrelation-saleUnit',scope.$index)"
|
||||
placeholder="请输入"
|
||||
:disabled="judgeWrite('redeliveryoriginalorderrelationList')||judgeWrite('redeliveryoriginalorderrelationList-saleUnit')"
|
||||
clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="销售数量"
|
||||
v-if="judgeShow('redeliveryoriginalorderrelation-saleNum')" prop="saleNum">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('redeliveryoriginalorderrelationList-saleNum')">*</span>销售数量
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.saleNum"
|
||||
@change="changeData('redeliveryoriginalorderrelation-saleNum',scope.$index)"
|
||||
placeholder="请输入"
|
||||
:disabled="judgeWrite('redeliveryoriginalorderrelationList')||judgeWrite('redeliveryoriginalorderrelationList-saleNum')"
|
||||
clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="计划发货数量"
|
||||
v-if="judgeShow('redeliveryoriginalorderrelation-planDeliveryNum')"
|
||||
prop="planDeliveryNum">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('redeliveryoriginalorderrelationList-planDeliveryNum')">*</span>计划发货数量
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.planDeliveryNum"
|
||||
@change="changeData('redeliveryoriginalorderrelation-planDeliveryNum',scope.$index)"
|
||||
placeholder="请输入"
|
||||
:disabled="judgeWrite('redeliveryoriginalorderrelationList')||judgeWrite('redeliveryoriginalorderrelationList-planDeliveryNum')"
|
||||
clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="缺货数量"
|
||||
v-if="judgeShow('redeliveryoriginalorderrelation-shortageNum')"
|
||||
prop="shortageNum">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('redeliveryoriginalorderrelationList-shortageNum')">*</span>缺货数量
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.shortageNum"
|
||||
@change="changeData('redeliveryoriginalorderrelation-shortageNum',scope.$index)"
|
||||
placeholder="请输入"
|
||||
:disabled="judgeWrite('redeliveryoriginalorderrelationList')||judgeWrite('redeliveryoriginalorderrelationList-shortageNum')"
|
||||
clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="订货时间"
|
||||
v-if="judgeShow('redeliveryoriginalorderrelation-reserveTime')"
|
||||
prop="reserveTime">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('redeliveryoriginalorderrelationList-reserveTime')">*</span>订货时间
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfDatePicker v-model="scope.row.reserveTime"
|
||||
@change="changeData('redeliveryoriginalorderrelation-reserveTime',scope.$index)"
|
||||
:startTime="dateTime(false,1,1,'','')" :endTime="dateTime(false,1,1,'','')"
|
||||
placeholder="请选择"
|
||||
:disabled="judgeWrite('redeliveryoriginalorderrelationList')||judgeWrite('redeliveryoriginalorderrelationList-reserveTime')"
|
||||
clearable :style='{"width":"100%"}' type="date" format="yyyy-MM-dd">
|
||||
</JnpfDatePicker>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="50"
|
||||
v-if="!judgeWrite('redeliveryoriginalorderrelationList')">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" type="text" class="JNPF-table-delBtn"
|
||||
@click="delredeliveryoriginalorderrelationList(scope.$index)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="table-actions" @click="addredeliveryoriginalorderrelationList()"
|
||||
v-if="!judgeWrite('redeliveryoriginalorderrelationList')">
|
||||
<el-button type="text" icon="el-icon-plus">添加</el-button>
|
||||
</div>
|
||||
</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="24"
|
||||
v-if="judgeShow('redeliveryoriginalorderrelation-${html.relationField}')">
|
||||
<jnpf-form-tip-item label-width="0">
|
||||
<div class="JNPF-common-title">
|
||||
<h2></h2>
|
||||
</div>
|
||||
<el-table :data="dataForm.redeliveryproductrelationList" size='mini'>
|
||||
<el-table-column type="index" width="50" label="序号" align="center" />
|
||||
<el-table-column label="商品名称"
|
||||
v-if="judgeShow('redeliveryproductrelation-productName')" prop="productName">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('redeliveryproductrelationList-productName')">*</span>商品名称
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.productName"
|
||||
@change="changeData('redeliveryproductrelation-productName',scope.$index)"
|
||||
placeholder="请输入"
|
||||
:disabled="judgeWrite('redeliveryproductrelationList')||judgeWrite('redeliveryproductrelationList-productName')"
|
||||
clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="发货仓库"
|
||||
v-if="judgeShow('redeliveryproductrelation-deliveryWarehouse')"
|
||||
prop="deliveryWarehouse">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('redeliveryproductrelationList-deliveryWarehouse')">*</span>发货仓库
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.deliveryWarehouse"
|
||||
@change="changeData('redeliveryproductrelation-deliveryWarehouse',scope.$index)"
|
||||
placeholder="请输入"
|
||||
:disabled="judgeWrite('redeliveryproductrelationList')||judgeWrite('redeliveryproductrelationList-deliveryWarehouse')"
|
||||
clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="客户名称"
|
||||
v-if="judgeShow('redeliveryproductrelation-customName')" prop="customName">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('redeliveryproductrelationList-customName')">*</span>客户名称
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.customName"
|
||||
@change="changeData('redeliveryproductrelation-customName',scope.$index)"
|
||||
placeholder="请输入"
|
||||
:disabled="judgeWrite('redeliveryproductrelationList')||judgeWrite('redeliveryproductrelationList-customName')"
|
||||
clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="规格" v-if="judgeShow('redeliveryproductrelation-spec')"
|
||||
prop="spec">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('redeliveryproductrelationList-spec')">*</span>规格
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.spec"
|
||||
@change="changeData('redeliveryproductrelation-spec',scope.$index)"
|
||||
placeholder="请输入"
|
||||
:disabled="judgeWrite('redeliveryproductrelationList')||judgeWrite('redeliveryproductrelationList-spec')"
|
||||
clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="库存单位"
|
||||
v-if="judgeShow('redeliveryproductrelation-inventoryUnit')" prop="inventoryUnit">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('redeliveryproductrelationList-inventoryUnit')">*</span>库存单位
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.inventoryUnit"
|
||||
@change="changeData('redeliveryproductrelation-inventoryUnit',scope.$index)"
|
||||
placeholder="请输入"
|
||||
:disabled="judgeWrite('redeliveryproductrelationList')||judgeWrite('redeliveryproductrelationList-inventoryUnit')"
|
||||
clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="销售单位" v-if="judgeShow('redeliveryproductrelation-saleUnit')"
|
||||
prop="saleUnit">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('redeliveryproductrelationList-saleUnit')">*</span>销售单位
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.saleUnit"
|
||||
@change="changeData('redeliveryproductrelation-saleUnit',scope.$index)"
|
||||
placeholder="请输入"
|
||||
:disabled="judgeWrite('redeliveryproductrelationList')||judgeWrite('redeliveryproductrelationList-saleUnit')"
|
||||
clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="原销售数量"
|
||||
v-if="judgeShow('redeliveryproductrelation-oldSaleNum')" prop="oldSaleNum">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('redeliveryproductrelationList-oldSaleNum')">*</span>原销售数量
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.oldSaleNum"
|
||||
@change="changeData('redeliveryproductrelation-oldSaleNum',scope.$index)"
|
||||
placeholder="请输入"
|
||||
:disabled="judgeWrite('redeliveryproductrelationList')||judgeWrite('redeliveryproductrelationList-oldSaleNum')"
|
||||
clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="原期望送达时间开始"
|
||||
v-if="judgeShow('redeliveryproductrelation-oldExpectArriveTimeStart')"
|
||||
prop="oldExpectArriveTimeStart">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('redeliveryproductrelationList-oldExpectArriveTimeStart')">*</span>原期望送达时间开始
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfSelect v-model="scope.row.oldExpectArriveTimeStart"
|
||||
@change="changeData('redeliveryproductrelation-oldExpectArriveTimeStart',scope.$index)"
|
||||
placeholder="请选择"
|
||||
:disabled="judgeWrite('redeliveryproductrelationList')||judgeWrite('redeliveryproductrelationList-oldExpectArriveTimeStart')"
|
||||
clearable :style='{"width":"100%"}'
|
||||
:options="redeliveryproductrelationoldExpectArriveTimeStartOptions"
|
||||
:props="redeliveryproductrelationoldExpectArriveTimeStartProps">
|
||||
</JnpfSelect>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="新销售数量"
|
||||
v-if="judgeShow('redeliveryproductrelation-newSaleNum')" prop="newSaleNum">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('redeliveryproductrelationList-newSaleNum')">*</span>新销售数量
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.newSaleNum"
|
||||
@change="changeData('redeliveryproductrelation-newSaleNum',scope.$index)"
|
||||
placeholder="请输入"
|
||||
:disabled="judgeWrite('redeliveryproductrelationList')||judgeWrite('redeliveryproductrelationList-newSaleNum')"
|
||||
clearable :style='{"width":"100%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="新期望送达时间开始"
|
||||
v-if="judgeShow('redeliveryproductrelation-newExpectArriveTimeStart')"
|
||||
prop="newExpectArriveTimeStart">
|
||||
<template slot="header">
|
||||
<span class="required-sign"
|
||||
v-if="judgeRequired('redeliveryproductrelationList-newExpectArriveTimeStart')">*</span>新期望送达时间开始
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfSelect v-model="scope.row.newExpectArriveTimeStart"
|
||||
@change="changeData('redeliveryproductrelation-newExpectArriveTimeStart',scope.$index)"
|
||||
placeholder="请选择"
|
||||
:disabled="judgeWrite('redeliveryproductrelationList')||judgeWrite('redeliveryproductrelationList-newExpectArriveTimeStart')"
|
||||
clearable :style='{"width":"100%"}'
|
||||
:options="redeliveryproductrelationnewExpectArriveTimeStartOptions"
|
||||
:props="redeliveryproductrelationnewExpectArriveTimeStartProps">
|
||||
</JnpfSelect>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="50"
|
||||
v-if="!judgeWrite('redeliveryproductrelationList')">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" type="text" class="JNPF-table-delBtn"
|
||||
@click="delredeliveryproductrelationList(scope.$index)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="table-actions" @click="addredeliveryproductrelationList()"
|
||||
v-if="!judgeWrite('redeliveryproductrelationList')">
|
||||
<el-button type="text" icon="el-icon-plus">添加</el-button>
|
||||
</div>
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
<!-- 表单结束 -->
|
||||
</template>
|
||||
<SelectDialog v-if="selectDialogVisible" :config="currTableConf" :formData="dataForm"
|
||||
ref="selectDialog" @select="addForSelect" @close="selectDialogVisible=false" />
|
||||
</el-form>
|
||||
</el-row>
|
||||
<UserBox v-if="userBoxVisible" ref="userBox" @submit="submit" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import request from '@/utils/request'
|
||||
import { mapGetters } from "vuex";
|
||||
import { getFormById } from '@/api/workFlow/FormDesign'
|
||||
import comMixin from '@/views/workFlow/workFlowForm/mixin';
|
||||
import { getDataInterfaceRes } from '@/api/systemData/dataInterface'
|
||||
import { getDictionaryDataSelector } from '@/api/systemData/dictionary'
|
||||
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"
|
||||
export default {
|
||||
mixins: [comMixin],
|
||||
components: {},
|
||||
props: [],
|
||||
data() {
|
||||
return {
|
||||
dataFormSubmitType: 0,
|
||||
continueBtnLoading: false,
|
||||
index: 0,
|
||||
prevDis: false,
|
||||
nextDis: false,
|
||||
allList: [],
|
||||
visible: false,
|
||||
loading: false,
|
||||
btnLoading: false,
|
||||
formRef: 'formRef',
|
||||
setting: {},
|
||||
eventType: '',
|
||||
userBoxVisible: false,
|
||||
selectDialogVisible: false,
|
||||
currTableConf: {},
|
||||
dataValueAll: {},
|
||||
addTableConf: {
|
||||
redeliveryoriginalorderrelationList: { "popupType": "dialog", "hasPage": true, "popupTitle": "选择数据", "pageSize": 20, "columnOptions": [], "interfaceId": "", "interfaceName": "", "relationOptions": [], "templateJson": [], "popupWidth": "800px" },
|
||||
redeliveryproductrelationList: { "popupType": "dialog", "hasPage": true, "popupTitle": "选择数据", "pageSize": 20, "columnOptions": [], "interfaceId": "", "interfaceName": "", "relationOptions": [], "templateJson": [], "popupWidth": "800px" },
|
||||
},
|
||||
//可选范围默认值
|
||||
ableAll: {
|
||||
},
|
||||
tableRows: {
|
||||
redeliveryoriginalorderrelationList: {
|
||||
businessOrderCode: '',
|
||||
businessOrderCodeOptions: [],
|
||||
customName: '',
|
||||
customNameOptions: [],
|
||||
deliveryWarehouse: '',
|
||||
deliveryWarehouseOptions: [],
|
||||
productName: '',
|
||||
productNameOptions: [],
|
||||
saleUnit: '',
|
||||
saleUnitOptions: [],
|
||||
saleNum: '',
|
||||
saleNumOptions: [],
|
||||
planDeliveryNum: '',
|
||||
planDeliveryNumOptions: [],
|
||||
shortageNum: '',
|
||||
shortageNumOptions: [],
|
||||
reserveTime: '',
|
||||
reserveTimeOptions: [],
|
||||
enabledmark: undefined
|
||||
},
|
||||
redeliveryproductrelationList: {
|
||||
productName: '',
|
||||
productNameOptions: [],
|
||||
deliveryWarehouse: '',
|
||||
deliveryWarehouseOptions: [],
|
||||
customName: '',
|
||||
customNameOptions: [],
|
||||
spec: '',
|
||||
specOptions: [],
|
||||
inventoryUnit: '',
|
||||
inventoryUnitOptions: [],
|
||||
saleUnit: '',
|
||||
saleUnitOptions: [],
|
||||
oldSaleNum: '',
|
||||
oldSaleNumOptions: [],
|
||||
oldExpectArriveTimeStartOptions: [],
|
||||
newSaleNum: '',
|
||||
newSaleNumOptions: [],
|
||||
newExpectArriveTimeStartOptions: [],
|
||||
enabledmark: undefined
|
||||
},
|
||||
},
|
||||
Vmodel: "",
|
||||
currVmodel: "",
|
||||
dataForm: {
|
||||
redeliveryOrderCode: undefined,
|
||||
preparationTime: undefined,
|
||||
remake: undefined,
|
||||
redeliveryoriginalorderrelationList: [],
|
||||
redeliveryproductrelationList: [],
|
||||
version: 0,
|
||||
},
|
||||
tableRequiredData: {},
|
||||
dataRule:
|
||||
{
|
||||
preparationTime: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择',
|
||||
trigger: 'change'
|
||||
},
|
||||
],
|
||||
},
|
||||
redeliveryproductrelationoldExpectArriveTimeStartOptions: [{ "fullName": "选项一", "id": "1" }, { "fullName": "选项二", "id": "2" }],
|
||||
redeliveryproductrelationoldExpectArriveTimeStartProps: { "label": "fullName", "value": "id" },
|
||||
redeliveryproductrelationnewExpectArriveTimeStartOptions: [{ "fullName": "选项一", "id": "1" }, { "fullName": "选项二", "id": "2" }],
|
||||
redeliveryproductrelationnewExpectArriveTimeStartProps: { "label": "fullName", "value": "id" },
|
||||
childIndex: -1,
|
||||
isEdit: false,
|
||||
interfaceRes: {
|
||||
redeliveryOrderCode: [],
|
||||
preparationTime: [],
|
||||
remake: [],
|
||||
redeliveryoriginalorderrelationbusinessOrderCode: [],
|
||||
redeliveryoriginalorderrelationcustomName: [],
|
||||
redeliveryoriginalorderrelationdeliveryWarehouse: [],
|
||||
redeliveryoriginalorderrelationproductName: [],
|
||||
redeliveryoriginalorderrelationsaleUnit: [],
|
||||
redeliveryoriginalorderrelationsaleNum: [],
|
||||
redeliveryoriginalorderrelationplanDeliveryNum: [],
|
||||
redeliveryoriginalorderrelationshortageNum: [],
|
||||
redeliveryoriginalorderrelationreserveTime: [],
|
||||
redeliveryproductrelationproductName: [],
|
||||
redeliveryproductrelationdeliveryWarehouse: [],
|
||||
redeliveryproductrelationcustomName: [],
|
||||
redeliveryproductrelationspec: [],
|
||||
redeliveryproductrelationinventoryUnit: [],
|
||||
redeliveryproductrelationsaleUnit: [],
|
||||
redeliveryproductrelationoldSaleNum: [],
|
||||
redeliveryproductrelationoldExpectArriveTimeStart: [],
|
||||
redeliveryproductrelationnewSaleNum: [],
|
||||
redeliveryproductrelationnewExpectArriveTimeStart: [],
|
||||
},
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
formOperates() {
|
||||
return this.setting.formOperates
|
||||
}
|
||||
},
|
||||
watch: {},
|
||||
created() {
|
||||
this.getFormById()
|
||||
if (this.dataForm.id == null || this.dataForm.id == '' && this.dataForm.id == undefined || this.dataForm.id == 0) {
|
||||
this.initDefaultData()
|
||||
}
|
||||
this.dataValueAll = JSON.parse(JSON.stringify(this.dataForm))
|
||||
},
|
||||
mounted() { },
|
||||
methods: {
|
||||
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) {
|
||||
if (!this.isEdit) {
|
||||
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
|
||||
}
|
||||
}
|
||||
},
|
||||
dataAll() {
|
||||
},
|
||||
selfGetInfo(dataForm) {
|
||||
this.dataInfo(dataForm)
|
||||
},
|
||||
beforeSubmit() {
|
||||
const _data = this.dataList()
|
||||
return _data
|
||||
},
|
||||
selfInit() {
|
||||
this.dataAll()
|
||||
},
|
||||
getFormById() {
|
||||
getFormById("524130475623583109").then(res => {
|
||||
this.dataForm.flowId = res.data && res.data.flowId
|
||||
// this.encode = res.data&&res.data.encode
|
||||
})
|
||||
},
|
||||
exist() {
|
||||
let isOk = true
|
||||
for (let key in this.tableRequiredData) {
|
||||
if (this.dataForm[key] && Array.isArray(this.dataForm[key])) {
|
||||
for (let i = 0; i < this.dataForm[key].length; i++) {
|
||||
let item = this.dataForm[key][i]
|
||||
inner: for (let id in item) {
|
||||
let arr = this.tableRequiredData[key].filter(o => o.id === id) || []
|
||||
if (!arr.length) continue inner
|
||||
if (arr[0].required) {
|
||||
let msg = `${arr[0].name}不能为空`
|
||||
let boo = true
|
||||
if (arr[0].dataType === 'array') {
|
||||
boo = !this.jnpf.isEmptyArray(item[id])
|
||||
} else {
|
||||
boo = !this.jnpf.isEmpty(item[id])
|
||||
}
|
||||
if (!boo) {
|
||||
this.$message({
|
||||
message: msg,
|
||||
type: 'error',
|
||||
duration: 1000
|
||||
})
|
||||
isOk = false
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!this.redeliveryoriginalorderrelationExist()) return
|
||||
if (!this.redeliveryproductrelationExist()) return
|
||||
return isOk
|
||||
},
|
||||
redeliveryoriginalorderrelationExist() {
|
||||
let isOk = true;
|
||||
for (let i = 0; i < this.dataForm.redeliveryoriginalorderrelationList.length; i++) {
|
||||
const e = this.dataForm.redeliveryoriginalorderrelationList[i];
|
||||
}
|
||||
return isOk;
|
||||
},
|
||||
redeliveryproductrelationExist() {
|
||||
let isOk = true;
|
||||
for (let i = 0; i < this.dataForm.redeliveryproductrelationList.length; i++) {
|
||||
const e = this.dataForm.redeliveryproductrelationList[i];
|
||||
}
|
||||
return isOk;
|
||||
},
|
||||
goBack() {
|
||||
this.$emit('refresh')
|
||||
},
|
||||
clearData() {
|
||||
this.dataForm = JSON.parse(JSON.stringify(this.dataValueAll))
|
||||
},
|
||||
//初始化默认数据
|
||||
initDefaultData() {
|
||||
|
||||
},
|
||||
addredeliveryoriginalorderrelationList() {
|
||||
let item = {
|
||||
businessOrderCode: undefined,
|
||||
customName: undefined,
|
||||
deliveryWarehouse: undefined,
|
||||
productName: undefined,
|
||||
saleUnit: undefined,
|
||||
saleNum: undefined,
|
||||
planDeliveryNum: undefined,
|
||||
shortageNum: undefined,
|
||||
reserveTime: undefined,
|
||||
}
|
||||
this.getredeliveryoriginalorderrelationList(item)
|
||||
},
|
||||
delredeliveryoriginalorderrelationList(index) {
|
||||
this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.dataForm.redeliveryoriginalorderrelationList.splice(index, 1);
|
||||
}).catch(() => {
|
||||
});
|
||||
},
|
||||
getredeliveryoriginalorderrelationList(value) {
|
||||
let item = { ...this.tableRows.redeliveryoriginalorderrelationList, ...value }
|
||||
this.dataForm.redeliveryoriginalorderrelationList.push(item)
|
||||
this.childIndex = this.dataForm.redeliveryoriginalorderrelationList.length - 1
|
||||
this.isEdit = true
|
||||
this.isEdit = false
|
||||
this.childIndex = -1
|
||||
},
|
||||
addredeliveryproductrelationList() {
|
||||
let item = {
|
||||
productName: undefined,
|
||||
deliveryWarehouse: undefined,
|
||||
customName: undefined,
|
||||
spec: undefined,
|
||||
inventoryUnit: undefined,
|
||||
saleUnit: undefined,
|
||||
oldSaleNum: undefined,
|
||||
oldExpectArriveTimeStart: '',
|
||||
newSaleNum: undefined,
|
||||
newExpectArriveTimeStart: '',
|
||||
}
|
||||
this.getredeliveryproductrelationList(item)
|
||||
},
|
||||
delredeliveryproductrelationList(index) {
|
||||
this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.dataForm.redeliveryproductrelationList.splice(index, 1);
|
||||
}).catch(() => {
|
||||
});
|
||||
},
|
||||
getredeliveryproductrelationList(value) {
|
||||
let item = { ...this.tableRows.redeliveryproductrelationList, ...value }
|
||||
this.dataForm.redeliveryproductrelationList.push(item)
|
||||
this.childIndex = this.dataForm.redeliveryproductrelationList.length - 1
|
||||
this.isEdit = true
|
||||
this.isEdit = false
|
||||
this.childIndex = -1
|
||||
},
|
||||
openSelectDialog(key) {
|
||||
this.currTableConf = this.addTableConf[key]
|
||||
this.currVmodel = key
|
||||
this.selectDialogVisible = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.selectDialog.init()
|
||||
})
|
||||
},
|
||||
addForSelect(data) {
|
||||
for (let i = 0; i < data.length; i++) {
|
||||
let t = data[i]
|
||||
if (this['get' + this.currVmodel]) {
|
||||
this['get' + this.currVmodel](t)
|
||||
}
|
||||
}
|
||||
},
|
||||
dateTime(timeRule, timeType, timeTarget, timeValueData, dataValue) {
|
||||
let timeDataValue = null;
|
||||
let timeValue = Number(timeValueData)
|
||||
if (timeRule) {
|
||||
if (timeType == 1) {
|
||||
timeDataValue = timeValue
|
||||
} 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) {
|
||||
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;
|
||||
},
|
||||
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.redeliveryoriginalorderrelationList.length; i++) {
|
||||
this.childIndex = i
|
||||
}
|
||||
for (let i = 0; i < _dataAll.redeliveryproductrelationList.length; i++) {
|
||||
this.childIndex = i
|
||||
}
|
||||
this.childIndex = -1
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
</script>
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
Loading…
Reference in new issue