Merge branch 'master' of http://222.71.165.188:3000/yunxi/jigangSCM2
# Conflicts: # jnpf-java-boot/jnpf-scm/jnpf-scm-controller/src/main/java/jnpf/controller/WarehousingNotificationController.javajg-waiwang-pro
commit
7270cb646f
@ -0,0 +1,18 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="jnpf.mapper.WarehousingInventoryMapper">
|
||||||
|
|
||||||
|
<select id="queryProductNum" resultType="String">
|
||||||
|
SELECT COUNT(product_id) AS productNum FROM jg_warehousing_inventory_product t1
|
||||||
|
LEFT JOIN jg_warehousing_inventory t2 ON t2.id=t1.inventory_id
|
||||||
|
WHERE t1.f_delete_mark IS NULL AND t2.id = #{id}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="queryProductSum" resultType="String">
|
||||||
|
SELECT SUM(firm_offer_quantity) AS productSum FROM jg_warehousing_inventory_product t1
|
||||||
|
LEFT JOIN jg_warehousing_inventory t2 ON t2.id=t1.inventory_id
|
||||||
|
WHERE t1.f_delete_mark IS NULL AND t2.id = #{id}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
</mapper>
|
@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="jnpf.mapper.WarehousingInventoryProductMapper">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</mapper>
|
@ -0,0 +1,20 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="jnpf.mapper.WarehousingOutboundMapper">
|
||||||
|
|
||||||
|
|
||||||
|
<select id="queryOutboundNumber" resultType="String">
|
||||||
|
SELECT SUM(outbound_number) AS outNumber FROM jg_warehousing_outbound_product t1
|
||||||
|
LEFT JOIN jg_warehousing_outbound t2 ON t1.warehousing_outbound_id = t2.id
|
||||||
|
WHERE t1.f_delete_mark IS NULL AND t2.id = #{id}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="querySalesNo" resultType="String">
|
||||||
|
SELECT t3.code AS orderCode FROM jg_warehousing_outbound t1
|
||||||
|
LEFT JOIN jg_warehousing_notification t2 ON t2.id=t1.warehousing_id
|
||||||
|
LEFT JOIN jg_business_order t3 ON t2.business_id=t3.id
|
||||||
|
WHERE t1.f_delete_mark IS NULL AND t1.id = #{id}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
</mapper>
|
@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="jnpf.mapper.WarehousingOutboundPoundlistMapper">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</mapper>
|
@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="jnpf.mapper.WarehousingOutboundProductMapper">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</mapper>
|
@ -0,0 +1,20 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="jnpf.mapper.WarehousingStorageMapper">
|
||||||
|
|
||||||
|
|
||||||
|
<select id="queryrealityNumber" resultType="String">
|
||||||
|
SELECT SUM(storage_number) AS realityNumber FROM jg_warehousing_storage_product t1
|
||||||
|
LEFT JOIN jg_warehousing_storage t2 ON t1.warehousing_storage_id = t2.id
|
||||||
|
WHERE t1.f_delete_mark IS NULL AND t2.id = #{id}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="queryPurchaseNo" resultType="String">
|
||||||
|
SELECT t3.code AS orderCode FROM jg_warehousing_storage t1
|
||||||
|
LEFT JOIN jg_warehousing_notification t2 ON t2.id=t1.warehousing_id
|
||||||
|
LEFT JOIN jg_business_order t3 ON t2.business_id=t3.id
|
||||||
|
WHERE t1.f_delete_mark IS NULL AND t1.id = #{id}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
</mapper>
|
@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="jnpf.mapper.WarehousingStoragePoundlistMapper">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</mapper>
|
@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="jnpf.mapper.WarehousingStorageProductMapper">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</mapper>
|
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 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 one or more lines are too long
@ -0,0 +1,677 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<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('inventoryType')">
|
||||||
|
<jnpf-form-tip-item label="业务类型" v-if="judgeShow('inventoryType')" prop="inventoryType">
|
||||||
|
<JnpfRadio v-model="dataForm.inventoryType" @change="changeData('inventoryType',-1)"
|
||||||
|
:disabled="judgeWrite('inventoryType')" optionType="default" direction="horizontal"
|
||||||
|
size="small" :options="inventoryTypeOptions" :props="inventoryTypeProps">
|
||||||
|
</JnpfRadio>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12" 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')" hasPage propsValue="id"
|
||||||
|
popupWidth="800px" popupTitle="选择数据" popupType="dialog" relationField='name'
|
||||||
|
field='warehouseId' interfaceId="529617754022498181" :pageSize="20"
|
||||||
|
:columnOptions="warehouseIdcolumnOptions" clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfPopupSelect>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
|
<el-col :span="12" v-if="judgeShow('inventoryTimeStart')">
|
||||||
|
<jnpf-form-tip-item label="盘点开始时间" v-if="judgeShow('inventoryTimeStart')"
|
||||||
|
label-width="120px" prop="inventoryTimeStart">
|
||||||
|
<JnpfDatePicker v-model="dataForm.inventoryTimeStart"
|
||||||
|
@change="changeData('inventoryTimeStart',-1)" :startTime="dateTime(false,1,1,'','')"
|
||||||
|
:endTime="dateTime(false,1,1,'','')" placeholder="请选择"
|
||||||
|
:disabled="judgeWrite('inventoryTimeStart')" clearable :style='{"width":"100%"}'
|
||||||
|
type="date" format="yyyy-MM-dd">
|
||||||
|
</JnpfDatePicker>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" v-if="judgeShow('documentNo')">
|
||||||
|
<jnpf-form-tip-item label="单据编号" v-if="judgeShow('documentNo')" prop="documentNo">
|
||||||
|
<JnpfInput v-model="dataForm.documentNo" @change="changeData('documentNo',-1)"
|
||||||
|
placeholder="系统自动生成" :disabled="judgeWrite('documentNo')" readonly
|
||||||
|
:style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</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">
|
||||||
|
<JnpfInput v-model="dataForm.remark" @change="changeData('remark',-1)"
|
||||||
|
placeholder="请输入" :disabled="judgeWrite('remark')" 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" v-if="judgeShow('stocktakingMode')">
|
||||||
|
<jnpf-form-tip-item label="盘点方式" v-if="judgeShow('stocktakingMode')"
|
||||||
|
prop="stocktakingMode">
|
||||||
|
<JnpfRadio v-model="dataForm.stocktakingMode"
|
||||||
|
@change="changeData('stocktakingMode',-1)" :disabled="judgeWrite('stocktakingMode')"
|
||||||
|
optionType="default" direction="horizontal" size="small"
|
||||||
|
:options="stocktakingModeOptions" :props="stocktakingModeProps">
|
||||||
|
</JnpfRadio>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" v-if="judgeShow('missingDiskRule')">
|
||||||
|
<jnpf-form-tip-item label="漏盘规则" v-if="judgeShow('missingDiskRule')"
|
||||||
|
prop="missingDiskRule">
|
||||||
|
<JnpfRadio v-model="dataForm.missingDiskRule"
|
||||||
|
@change="changeData('missingDiskRule',-1)" :disabled="judgeWrite('missingDiskRule')"
|
||||||
|
optionType="default" direction="horizontal" size="small"
|
||||||
|
:options="missingDiskRuleOptions" :props="missingDiskRuleProps">
|
||||||
|
</JnpfRadio>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" v-if="judgeShow('duplicateInventoryRule')">
|
||||||
|
<jnpf-form-tip-item label="重复盘点规则" v-if="judgeShow('duplicateInventoryRule')"
|
||||||
|
label-width="120px" prop="duplicateInventoryRule">
|
||||||
|
<JnpfRadio v-model="dataForm.duplicateInventoryRule"
|
||||||
|
@change="changeData('duplicateInventoryRule',-1)"
|
||||||
|
:disabled="judgeWrite('duplicateInventoryRule')" optionType="default"
|
||||||
|
direction="horizontal" size="small" :options="duplicateInventoryRuleOptions"
|
||||||
|
:props="duplicateInventoryRuleProps">
|
||||||
|
</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="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.warehousingInventoryProductList" size='mini'>
|
||||||
|
<el-table-column type="index" width="50" label="序号" align="center" />
|
||||||
|
<el-table-column label="商品名称"
|
||||||
|
v-if="judgeShow('warehousinginventoryproduct-productId')" prop="productId">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousinginventoryproductList-productId')">*</span>商品名称
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfPopupSelect v-model="scope.row.productId" @change="productBatch"
|
||||||
|
:rowIndex="scope.$index" :formData="dataForm"
|
||||||
|
:templateJson="interfaceRes.warehousinginventoryproductproductId"
|
||||||
|
placeholder="请选择"
|
||||||
|
:disabled="judgeWrite('warehousinginventoryproductList')||judgeWrite('warehousinginventoryproductList-productId')"
|
||||||
|
propsValue="id" popupWidth="800px" popupTitle="选择数据" popupType="dialog"
|
||||||
|
relationField='name' :field="'productId'+scope.$index"
|
||||||
|
interfaceId="529994958833209925" :pageSize="20"
|
||||||
|
:columnOptions="warehousinginventoryproductproductIdcolumnOptions" clearable
|
||||||
|
:style='{"width":"100%"}'>
|
||||||
|
</JnpfPopupSelect>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="规格" v-if="judgeShow('warehousinginventoryproduct-spec')"
|
||||||
|
prop="spec">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousinginventoryproductList-spec')">*</span>规格
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="scope.row.spec"
|
||||||
|
@change="changeData('warehousinginventoryproduct-spec',scope.$index)"
|
||||||
|
placeholder="请输入"
|
||||||
|
:disabled="judgeWrite('warehousinginventoryproductList')||judgeWrite('warehousinginventoryproductList-spec')"
|
||||||
|
clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="库存单位"
|
||||||
|
v-if="judgeShow('warehousinginventoryproduct-inventoryUnitIds')"
|
||||||
|
prop="inventoryUnitIds">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousinginventoryproductList-inventoryUnitIds')">*</span>库存单位
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="scope.row.inventoryUnitIds"
|
||||||
|
@change="changeData('warehousinginventoryproduct-inventoryUnitIds',scope.$index)"
|
||||||
|
placeholder="请输入"
|
||||||
|
:disabled="judgeWrite('warehousinginventoryproductList')||judgeWrite('warehousinginventoryproductList-inventoryUnitIds')"
|
||||||
|
clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="商品分类"
|
||||||
|
v-if="judgeShow('warehousinginventoryproduct-categoryName')" prop="categoryName">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousinginventoryproductList-categoryName')">*</span>商品分类
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="scope.row.categoryName"
|
||||||
|
@change="changeData('warehousinginventoryproduct-categoryName',scope.$index)"
|
||||||
|
placeholder="请输入"
|
||||||
|
:disabled="judgeWrite('warehousinginventoryproductList')||judgeWrite('warehousinginventoryproductList-categoryName')"
|
||||||
|
clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="品牌"
|
||||||
|
v-if="judgeShow('warehousinginventoryproduct-brandName')" prop="brandName">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousinginventoryproductList-brandName')">*</span>品牌
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="scope.row.brandName"
|
||||||
|
@change="changeData('warehousinginventoryproduct-brandName',scope.$index)"
|
||||||
|
placeholder="请输入"
|
||||||
|
:disabled="judgeWrite('warehousinginventoryproductList')||judgeWrite('warehousinginventoryproductList-brandName')"
|
||||||
|
clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="实盘数量"
|
||||||
|
v-if="judgeShow('warehousinginventoryproduct-firmOfferQuantity')"
|
||||||
|
prop="firmOfferQuantity">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousinginventoryproductList-firmOfferQuantity')">*</span>实盘数量
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="scope.row.firmOfferQuantity"
|
||||||
|
@change="changeData('warehousinginventoryproduct-firmOfferQuantity',scope.$index)"
|
||||||
|
placeholder="请输入"
|
||||||
|
:disabled="judgeWrite('warehousinginventoryproductList')||judgeWrite('warehousinginventoryproductList-firmOfferQuantity')"
|
||||||
|
clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="批次号"
|
||||||
|
v-if="judgeShow('warehousinginventoryproduct-batchNumber')" prop="batchNumber">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousinginventoryproductList-batchNumber')">*</span>批次号
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="scope.row.batchNumber"
|
||||||
|
@change="changeData('warehousinginventoryproduct-batchNumber',scope.$index)"
|
||||||
|
placeholder="请输入"
|
||||||
|
:disabled="judgeWrite('warehousinginventoryproductList')||judgeWrite('warehousinginventoryproductList-batchNumber')"
|
||||||
|
clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="生产日期"
|
||||||
|
v-if="judgeShow('warehousinginventoryproduct-dateManufacture')"
|
||||||
|
prop="dateManufacture">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousinginventoryproductList-dateManufacture')">*</span>生产日期
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="scope.row.dateManufacture"
|
||||||
|
@change="changeData('warehousinginventoryproduct-dateManufacture',scope.$index)"
|
||||||
|
placeholder="请输入"
|
||||||
|
:disabled="judgeWrite('warehousinginventoryproductList')||judgeWrite('warehousinginventoryproductList-dateManufacture')"
|
||||||
|
clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="操作" width="50"
|
||||||
|
v-if="!judgeWrite('warehousinginventoryproductList')">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button size="mini" type="text" class="JNPF-table-delBtn"
|
||||||
|
@click="delwarehousinginventoryproductList(scope.$index)">删除</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<div class="table-actions" @click="addwarehousinginventoryproductList()"
|
||||||
|
v-if="!judgeWrite('warehousinginventoryproductList')">
|
||||||
|
<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: {
|
||||||
|
warehousingInventoryProductList: { "popupType": "dialog", "hasPage": true, "popupTitle": "选择数据", "pageSize": 20, "columnOptions": [], "interfaceId": "", "interfaceName": "", "relationOptions": [], "templateJson": [], "popupWidth": "800px" },
|
||||||
|
},
|
||||||
|
//可选范围默认值
|
||||||
|
ableAll: {
|
||||||
|
},
|
||||||
|
tableRows: {
|
||||||
|
warehousingInventoryProductList: {
|
||||||
|
productId: '',
|
||||||
|
spec: '',
|
||||||
|
code: '',
|
||||||
|
batchNumber: '',
|
||||||
|
brandName: '',
|
||||||
|
categoryName: '',
|
||||||
|
inventoryUnitIds: '',
|
||||||
|
dateManufacture: '',
|
||||||
|
productIdOptions: [],
|
||||||
|
firmOfferQuantity: '',
|
||||||
|
firmOfferQuantityOptions: [],
|
||||||
|
enabledmark: undefined
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Vmodel: "",
|
||||||
|
currVmodel: "",
|
||||||
|
dataForm: {
|
||||||
|
inventoryType: undefined,
|
||||||
|
warehouseId: undefined,
|
||||||
|
inventoryTimeStart: undefined,
|
||||||
|
documentNo: undefined,
|
||||||
|
remark: undefined,
|
||||||
|
creatorUserId: undefined,
|
||||||
|
creatorTime: undefined,
|
||||||
|
lastModifyUserId: undefined,
|
||||||
|
lastModifyTime: undefined,
|
||||||
|
stocktakingMode: undefined,
|
||||||
|
missingDiskRule: undefined,
|
||||||
|
duplicateInventoryRule: undefined,
|
||||||
|
warehousingInventoryProductList: [],
|
||||||
|
version: 0,
|
||||||
|
},
|
||||||
|
tableRequiredData: {},
|
||||||
|
dataRule:
|
||||||
|
{
|
||||||
|
inventoryType: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '不能为空',
|
||||||
|
trigger: 'change'
|
||||||
|
},
|
||||||
|
],
|
||||||
|
warehouseId: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请选择',
|
||||||
|
trigger: 'change'
|
||||||
|
},
|
||||||
|
],
|
||||||
|
inventoryTimeStart: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请选择',
|
||||||
|
trigger: 'change'
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stocktakingMode: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '不能为空',
|
||||||
|
trigger: 'change'
|
||||||
|
},
|
||||||
|
],
|
||||||
|
missingDiskRule: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '不能为空',
|
||||||
|
trigger: 'change'
|
||||||
|
},
|
||||||
|
],
|
||||||
|
duplicateInventoryRule: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '不能为空',
|
||||||
|
trigger: 'change'
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
inventoryTypeOptions: [{ "fullName": "日常盘点单", "id": "1" }, { "fullName": "业务盘点单", "id": "2" }],
|
||||||
|
inventoryTypeProps: { "label": "fullName", "value": "id" },
|
||||||
|
warehouseIdcolumnOptions: [{ "label": "仓库名称", "value": "name" }, { "label": "仓库编码", "value": "code" },],
|
||||||
|
stocktakingModeOptions: [{ "fullName": "静态盘点", "id": "1" }, { "fullName": "动态盘点", "id": "2" }],
|
||||||
|
stocktakingModeProps: { "label": "fullName", "value": "id" },
|
||||||
|
missingDiskRuleOptions: [{ "fullName": "漏盘商品不做盈亏调整", "id": "1" }, { "fullName": "漏盘商品账面库存自动清零", "id": "2" }],
|
||||||
|
missingDiskRuleProps: { "label": "fullName", "value": "id" },
|
||||||
|
duplicateInventoryRuleOptions: [{ "fullName": "累加汇总", "id": "1" }, { "fullName": "覆盖更新", "id": "2" }],
|
||||||
|
duplicateInventoryRuleProps: { "label": "fullName", "value": "id" },
|
||||||
|
warehousinginventoryproductproductIdcolumnOptions: [{ "label": "商品名称", "value": "name" }, { "label": "商品编码", "value": "code" }, { "label": "批次号", "value": "batch_number" },],
|
||||||
|
childIndex: -1,
|
||||||
|
isEdit: false,
|
||||||
|
interfaceRes: {
|
||||||
|
inventoryType: [],
|
||||||
|
warehouseId: [],
|
||||||
|
inventoryTimeStart: [],
|
||||||
|
documentNo: [],
|
||||||
|
remark: [],
|
||||||
|
creatorUserId: [],
|
||||||
|
creatorTime: [],
|
||||||
|
lastModifyUserId: [],
|
||||||
|
lastModifyTime: [],
|
||||||
|
stocktakingMode: [],
|
||||||
|
missingDiskRule: [],
|
||||||
|
duplicateInventoryRule: [],
|
||||||
|
warehousinginventoryproductproductId: [],
|
||||||
|
warehousinginventoryproductfirmOfferQuantity: [],
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
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: {
|
||||||
|
|
||||||
|
productBatch(model, row) {
|
||||||
|
this.dataForm.warehousingInventoryProductList.push(row)
|
||||||
|
this.dataForm.warehousingInventoryProductList.splice(0, 1)
|
||||||
|
},
|
||||||
|
|
||||||
|
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("529993401664295493").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.warehousinginventoryproductExist()) return
|
||||||
|
return isOk
|
||||||
|
},
|
||||||
|
warehousinginventoryproductExist() {
|
||||||
|
let isOk = true;
|
||||||
|
for (let i = 0; i < this.dataForm.warehousingInventoryProductList.length; i++) {
|
||||||
|
const e = this.dataForm.warehousingInventoryProductList[i];
|
||||||
|
if (!e.productId) {
|
||||||
|
this.$message({
|
||||||
|
message: '商品名称不能为空',
|
||||||
|
type: 'error',
|
||||||
|
duration: 1000
|
||||||
|
});
|
||||||
|
isOk = false
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return isOk;
|
||||||
|
},
|
||||||
|
clearData() {
|
||||||
|
this.dataForm = JSON.parse(JSON.stringify(this.dataValueAll))
|
||||||
|
},
|
||||||
|
//初始化默认数据
|
||||||
|
initDefaultData() {
|
||||||
|
this.dataForm.inventoryTimeStart = new Date().getTime()
|
||||||
|
},
|
||||||
|
addwarehousinginventoryproductList() {
|
||||||
|
let item = {
|
||||||
|
productId: '',
|
||||||
|
firmOfferQuantity: undefined,
|
||||||
|
}
|
||||||
|
this.getwarehousinginventoryproductList(item)
|
||||||
|
},
|
||||||
|
delwarehousinginventoryproductList(index) {
|
||||||
|
this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
|
||||||
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
|
this.dataForm.warehousingInventoryProductList.splice(index, 1);
|
||||||
|
}).catch(() => {
|
||||||
|
});
|
||||||
|
},
|
||||||
|
getwarehousinginventoryproductList(value) {
|
||||||
|
let item = { ...this.tableRows.warehousingInventoryProductList, ...value }
|
||||||
|
this.dataForm.warehousingInventoryProductList.push(item)
|
||||||
|
this.childIndex = this.dataForm.warehousingInventoryProductList.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.warehousingInventoryProductList.length; i++) {
|
||||||
|
this.childIndex = i
|
||||||
|
}
|
||||||
|
this.childIndex = -1
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,2 @@
|
|||||||
|
const columnList = [{"jnpfKey":"billRule","fullName":"单据编号","label":"单据编号","sortable":false,"align":"left","__config__":{"formId":102,"visibility":["pc","app"],"jnpfKey":"billRule","defaultValue":null,"noShow":false,"tipLabel":"","dragDisabled":false,"rule":"rukudanbianhao","className":[],"label":"单据编号","trigger":"change","showLabel":true,"required":false,"tableName":"jg_warehousing_storage","renderKey":1708406291790,"layout":"colFormItem","tagIcon":"icon-ym icon-ym-generator-documents","ruleName":"入库单编号","tag":"JnpfInput","span":8},"readonly":true,"prop":"documentNo","width":0,"__vModel__":"documentNo","fixed":"none","style":{"width":"100%"},"id":"documentNo","placeholder":"系统自动生成"},{"filterable":false,"clearable":true,"jnpfKey":"select","multiple":false,"fullName":"业务类型","label":"业务类型","sortable":false,"align":"left","props":{"label":"fullName","value":"id"},"__config__":{"formId":103,"visibility":["pc","app"],"jnpfKey":"select","defaultValue":"3","noShow":false,"dataType":"static","dictionaryType":"","tipLabel":"","dragDisabled":false,"className":[],"label":"业务类型","trigger":"change","propsUrl":"","templateJson":[],"showLabel":true,"required":true,"tableName":"jg_warehousing_storage","renderKey":1708406384094,"layout":"colFormItem","tagIcon":"icon-ym icon-ym-generator-select","propsName":"","tag":"JnpfSelect","regList":[],"span":8},"prop":"warehousingStorageType","width":0,"options":[{"fullName":"全部","id":"1"},{"fullName":"盘盈入库","id":"2"},{"fullName":"采购入库","id":"3"},{"fullName":"调拨入库","id":"4"},{"fullName":"退货入库","id":"5"},{"fullName":"其他入库","id":"6"},{"fullName":"差异调整入库","id":"7"},{"fullName":"领用返库","id":"8"},{"fullName":"货权转移入库","id":"9"},{"fullName":"其他出库","id":"10"},{"fullName":"库存初始化","id":"11"},{"fullName":"调拨出库撤回","id":"12"},{"fullName":"其他出库撤回","id":"13"}],"__vModel__":"warehousingStorageType","fixed":"none","style":{"width":"100%"},"disabled":false,"interfaceHasPage":false,"id":"warehousingStorageType","placeholder":"请选择","on":{"change":"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\n // 在此编写代码\n \n}"}},{"popupType":"dialog","hasPage":false,"pageSize":20,"columnOptions":[{"label":"通知编号","value":"warehousing_code"},{"label":"供应商id","value":"subject_basic_id"},{"label":"仓库id","value":"warehouse_id"}],"align":"left","templateJson":[],"__config__":{"formId":104,"visibility":["pc","app"],"jnpfKey":"popupSelect","defaultValue":"","noShow":false,"tipLabel":"","dragDisabled":false,"className":[],"label":"关联单号","trigger":"change","showLabel":true,"required":true,"tableName":"jg_warehousing_storage","renderKey":1708406648706,"layout":"colFormItem","tagIcon":"icon-ym icon-ym-generator-popup","tag":"JnpfPopupSelect","regList":[],"span":8},"prop":"warehousingId","__vModel__":"warehousingId","disabled":false,"id":"warehousingId","placeholder":"请选择","interfaceName":"入库单-查询入库通知","popupWidth":"800px","on":{"change":"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\n // 在此编写代码\n \n}"},"clearable":true,"jnpfKey":"popupSelect","fullName":"关联单号","label":"关联单号","sortable":false,"relationField":"warehousing_code","popupTitle":"选择数据","width":0,"fixed":"none","style":{"width":"100%"},"interfaceHasPage":false,"interfaceId":"529616482762510213","propsValue":"id"},{"popupType":"dialog","hasPage":false,"pageSize":20,"columnOptions":[{"label":"仓库编号","value":"code"},{"label":"仓库名称","value":"name"},{"label":"仓库简称","value":"simple_name"}],"align":"left","templateJson":[],"__config__":{"formId":105,"visibility":["pc","app"],"jnpfKey":"popupSelect","defaultValue":"","noShow":false,"tipLabel":"","dragDisabled":false,"className":[],"label":"入库仓库","trigger":"change","showLabel":true,"required":true,"tableName":"jg_warehousing_storage","renderKey":1708406959225,"layout":"colFormItem","tagIcon":"icon-ym icon-ym-generator-popup","tag":"JnpfPopupSelect","regList":[],"span":8},"prop":"warehouseId","__vModel__":"warehouseId","disabled":false,"id":"warehouseId","placeholder":"请选择","interfaceName":"入库单-查询仓库","popupWidth":"800px","on":{"change":"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\n // 在此编写代码\n \n}"},"clearable":true,"jnpfKey":"popupSelect","fullName":"入库仓库","label":"入库仓库","sortable":false,"relationField":"name","popupTitle":"选择数据","width":0,"fixed":"none","style":{"width":"100%"},"interfaceHasPage":false,"interfaceId":"529617754022498181","propsValue":"id"}]
|
||||||
|
export default columnList
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@ -0,0 +1,2 @@
|
|||||||
|
const columnList = [{"jnpfKey":"billRule","fullName":"单据编号","label":"单据编号","sortable":false,"align":"left","__config__":{"formId":102,"visibility":["pc","app"],"jnpfKey":"billRule","defaultValue":null,"noShow":false,"tipLabel":"","dragDisabled":false,"rule":"rukudanbianhao","className":[],"label":"单据编号","trigger":"change","showLabel":true,"required":false,"tableName":"jg_warehousing_storage","renderKey":1708406291790,"layout":"colFormItem","tagIcon":"icon-ym icon-ym-generator-documents","ruleName":"入库单编号","tag":"JnpfInput","span":8},"readonly":true,"prop":"documentNo","width":0,"__vModel__":"documentNo","fixed":"none","style":{"width":"100%"},"id":"documentNo","placeholder":"系统自动生成"},{"filterable":false,"clearable":true,"jnpfKey":"select","multiple":false,"fullName":"业务类型","label":"业务类型","sortable":false,"align":"left","props":{"label":"fullName","value":"id"},"__config__":{"formId":103,"visibility":["pc","app"],"jnpfKey":"select","defaultValue":"3","noShow":false,"dataType":"static","dictionaryType":"","tipLabel":"","dragDisabled":false,"className":[],"label":"业务类型","trigger":"change","propsUrl":"","templateJson":[],"showLabel":true,"required":true,"tableName":"jg_warehousing_storage","renderKey":1708406384094,"layout":"colFormItem","tagIcon":"icon-ym icon-ym-generator-select","propsName":"","tag":"JnpfSelect","regList":[],"span":8},"prop":"warehousingStorageType","width":0,"options":[{"fullName":"全部","id":"1"},{"fullName":"盘盈入库","id":"2"},{"fullName":"采购入库","id":"3"},{"fullName":"调拨入库","id":"4"},{"fullName":"退货入库","id":"5"},{"fullName":"其他入库","id":"6"},{"fullName":"差异调整入库","id":"7"},{"fullName":"领用返库","id":"8"},{"fullName":"货权转移入库","id":"9"},{"fullName":"其他出库","id":"10"},{"fullName":"库存初始化","id":"11"},{"fullName":"调拨出库撤回","id":"12"},{"fullName":"其他出库撤回","id":"13"}],"__vModel__":"warehousingStorageType","fixed":"none","style":{"width":"100%"},"disabled":false,"interfaceHasPage":false,"id":"warehousingStorageType","placeholder":"请选择","on":{"change":"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\n // 在此编写代码\n \n}"}},{"popupType":"dialog","hasPage":false,"pageSize":20,"columnOptions":[{"label":"通知编号","value":"warehousing_code"},{"label":"供应商id","value":"subject_basic_id"},{"label":"仓库id","value":"warehouse_id"}],"align":"left","templateJson":[],"__config__":{"formId":104,"visibility":["pc","app"],"jnpfKey":"popupSelect","defaultValue":"","noShow":false,"tipLabel":"","dragDisabled":false,"className":[],"label":"关联单号","trigger":"change","showLabel":true,"required":true,"tableName":"jg_warehousing_storage","renderKey":1708406648706,"layout":"colFormItem","tagIcon":"icon-ym icon-ym-generator-popup","tag":"JnpfPopupSelect","regList":[],"span":8},"prop":"warehousingId","__vModel__":"warehousingId","disabled":false,"id":"warehousingId","placeholder":"请选择","interfaceName":"入库单-查询入库通知","popupWidth":"800px","on":{"change":"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\n // 在此编写代码\n \n}"},"clearable":true,"jnpfKey":"popupSelect","fullName":"关联单号","label":"关联单号","sortable":false,"relationField":"warehousing_code","popupTitle":"选择数据","width":0,"fixed":"none","style":{"width":"100%"},"interfaceHasPage":false,"interfaceId":"529616482762510213","propsValue":"id"},{"popupType":"dialog","hasPage":false,"pageSize":20,"columnOptions":[{"label":"仓库编号","value":"code"},{"label":"仓库名称","value":"name"},{"label":"仓库简称","value":"simple_name"}],"align":"left","templateJson":[],"__config__":{"formId":105,"visibility":["pc","app"],"jnpfKey":"popupSelect","defaultValue":"","noShow":false,"tipLabel":"","dragDisabled":false,"className":[],"label":"入库仓库","trigger":"change","showLabel":true,"required":true,"tableName":"jg_warehousing_storage","renderKey":1708406959225,"layout":"colFormItem","tagIcon":"icon-ym icon-ym-generator-popup","tag":"JnpfPopupSelect","regList":[],"span":8},"prop":"warehouseId","__vModel__":"warehouseId","disabled":false,"id":"warehouseId","placeholder":"请选择","interfaceName":"入库单-查询仓库","popupWidth":"800px","on":{"change":"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\n // 在此编写代码\n \n}"},"clearable":true,"jnpfKey":"popupSelect","fullName":"入库仓库","label":"入库仓库","sortable":false,"relationField":"name","popupTitle":"选择数据","width":0,"fixed":"none","style":{"width":"100%"},"interfaceHasPage":false,"interfaceId":"529617754022498181","propsValue":"id"}]
|
||||||
|
export default columnList
|
@ -0,0 +1,938 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<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="8" v-if="judgeShow('documentNo')">
|
||||||
|
<jnpf-form-tip-item label="单据编号" v-if="judgeShow('documentNo')" prop="documentNo">
|
||||||
|
<JnpfInput v-model="dataForm.documentNo" @change="changeData('documentNo',-1)"
|
||||||
|
placeholder="系统自动生成" :disabled="judgeWrite('documentNo')" readonly
|
||||||
|
:style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" v-if="judgeShow('warehousingStorageType')">
|
||||||
|
<jnpf-form-tip-item label="业务类型" v-if="judgeShow('warehousingStorageType')"
|
||||||
|
prop="warehousingStorageType">
|
||||||
|
<JnpfSelect v-model="dataForm.warehousingStorageType"
|
||||||
|
@change="changeData('warehousingStorageType',-1)" placeholder="请选择"
|
||||||
|
:disabled="judgeWrite('warehousingStorageType')" clearable :style='{"width":"100%"}'
|
||||||
|
:options="warehousingStorageTypeOptions" :props="warehousingStorageTypeProps">
|
||||||
|
</JnpfSelect>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" v-if="judgeShow('warehousingId')">
|
||||||
|
<jnpf-form-tip-item label="关联单号" v-if="judgeShow('warehousingId')" prop="warehousingId">
|
||||||
|
<JnpfPopupSelect v-model="dataForm.warehousingId"
|
||||||
|
@change="changeData('warehousingId',-1)" :rowIndex="null" :formData="dataForm"
|
||||||
|
:templateJson="interfaceRes.warehousingId" placeholder="请选择"
|
||||||
|
:disabled="judgeWrite('warehousingId')" propsValue="id" popupWidth="800px"
|
||||||
|
popupTitle="选择数据" popupType="dialog" relationField='warehousing_code'
|
||||||
|
field='warehousingId' interfaceId="529616482762510213" :pageSize="20"
|
||||||
|
:columnOptions="warehousingIdcolumnOptions" 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="529617754022498181" :pageSize="20"
|
||||||
|
:columnOptions="warehouseIdcolumnOptions" clearable :style='{"width":"100%"}'>
|
||||||
|
|
||||||
|
</JnpfPopupSelect>
|
||||||
|
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
{{ dataForm.warehouseId }}
|
||||||
|
<el-col :span="8" v-if="judgeShow('warehousingTime')">
|
||||||
|
<jnpf-form-tip-item label="入库时间" v-if="judgeShow('warehousingTime')"
|
||||||
|
prop="warehousingTime">
|
||||||
|
<JnpfDatePicker v-model="dataForm.warehousingTime"
|
||||||
|
@change="changeData('warehousingTime',-1)" :startTime="dateTime(false,1,1,'','')"
|
||||||
|
:endTime="dateTime(false,1,1,'','')" placeholder="请选择"
|
||||||
|
:disabled="judgeWrite('warehousingTime')" clearable :style='{"width":"100%"}'
|
||||||
|
type="date" format="yyyy-MM-dd">
|
||||||
|
</JnpfDatePicker>
|
||||||
|
</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">
|
||||||
|
<JnpfInput v-model="dataForm.remark" @change="changeData('remark',-1)"
|
||||||
|
placeholder="请输入" :disabled="judgeWrite('remark')" 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" v-if="judgeShow('-${html.relationField}')">
|
||||||
|
<jnpf-form-tip-item label-width="0">
|
||||||
|
<div class="JNPF-common-title">
|
||||||
|
<h2>入库凭证</h2>
|
||||||
|
</div>
|
||||||
|
<el-table :data="dataForm.warehousingStoragePoundlistList" size='mini'>
|
||||||
|
<el-table-column type="index" width="50" label="序号" align="center" />
|
||||||
|
<el-table-column label="关联凭证"
|
||||||
|
v-if="judgeShow('warehousingstoragepoundlist-voucherId')" prop="voucherId">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousingstoragepoundlistList-voucherId')">*</span>关联凭证
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfPopupSelect v-model="scope.row.voucherId" @change="changeDataVoucher"
|
||||||
|
:rowIndex="scope.$index" :formData="dataForm"
|
||||||
|
:templateJson="interfaceRes.warehousingstoragepoundlistvoucherId"
|
||||||
|
placeholder="请选择"
|
||||||
|
:disabled="judgeWrite('warehousingstoragepoundlistList')||judgeWrite('warehousingstoragepoundlistList-voucherId')"
|
||||||
|
hasPage propsValue="id" popupWidth="800px" popupTitle="选择数据"
|
||||||
|
popupType="dialog" relationField='voucher_code'
|
||||||
|
:field="'voucherId'+scope.$index" interfaceId="529621469341175685"
|
||||||
|
:pageSize="20"
|
||||||
|
:columnOptions="warehousingstoragepoundlistvoucherIdcolumnOptions" clearable
|
||||||
|
:style='{"width":"100%"}'>
|
||||||
|
</JnpfPopupSelect>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="单据类型" prop="documentTypes">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"></span>单据类型
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="dataForm.documentTypes" placeholder="请输入" disabled clearable
|
||||||
|
:style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="凭证类型" prop="voucherType">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"></span>凭证类型
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="dataForm.voucherType" placeholder="请输入" disabled clearable
|
||||||
|
:style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="磅单编号" prop="poundCode">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"></span>磅单编号
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="dataForm.poundCode" placeholder="请输入" disabled clearable
|
||||||
|
:style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="磅单时间" prop="poundlistTime">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"></span>磅单时间
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="dataForm.poundlistTime" placeholder="请输入" disabled clearable
|
||||||
|
:style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="车辆信息" prop="vehicleNumber">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"></span>车辆信息
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="dataForm.vehicleNumber" placeholder="请输入" disabled clearable
|
||||||
|
:style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="商品名称" prop="productName">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"></span>商品名称
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="dataForm.productName" placeholder="请输入" disabled clearable
|
||||||
|
:style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="规格" prop="productSpec">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"></span>规格
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="dataForm.productSpec" placeholder="请输入" disabled clearable
|
||||||
|
:style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="单位" prop="unit">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"></span>单位
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="dataForm.unit" placeholder="请输入" disabled clearable
|
||||||
|
:style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="毛重" prop="grossWeight">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"></span>毛重
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="dataForm.grossWeight" placeholder="请输入" disabled clearable
|
||||||
|
:style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="皮重" prop="tareWeight">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"></span>皮重
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="dataForm.tareWeight" placeholder="请输入" disabled clearable
|
||||||
|
:style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="扣重" prop="buckleWeight">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"></span>扣重
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="dataForm.buckleWeight" placeholder="请输入" disabled clearable
|
||||||
|
:style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="净重" prop="netWeight">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"></span>净重
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="dataForm.netWeight" placeholder="请输入" disabled clearable
|
||||||
|
:style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="备注" prop="remark">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"></span>备注
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="dataForm.remark" placeholder="请输入" disabled clearable
|
||||||
|
:style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="操作" width="50"
|
||||||
|
v-if="!judgeWrite('warehousingstoragepoundlistList')">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button size="mini" type="text" class="JNPF-table-delBtn"
|
||||||
|
@click="delwarehousingstoragepoundlistList(scope.$index)">删除</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<div class="table-actions" @click="addwarehousingstoragepoundlistList()"
|
||||||
|
v-if="!judgeWrite('warehousingstoragepoundlistList')">
|
||||||
|
<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>
|
||||||
|
<JnpfText
|
||||||
|
:textStyle='{"color":"#000000","font-weight":"normal","text-decoration":"none","font-size":12,"line-height":32,"font-style":"normal","text-align":"left"}'
|
||||||
|
content="默认展示关联单据的商品信息,可直接修改商品数量。">
|
||||||
|
</JnpfText>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" v-if="judgeShow('warehousingstoragepoundlist-voucher_code')">
|
||||||
|
<jnpf-form-tip-item label-width="0">
|
||||||
|
<div class="JNPF-common-title">
|
||||||
|
<h2></h2>
|
||||||
|
</div>
|
||||||
|
<el-table :data="dataForm.warehousingStorageProductList" size='mini'>
|
||||||
|
<el-table-column type="index" width="50" label="序号" align="center" />
|
||||||
|
<el-table-column label="商品名称"
|
||||||
|
v-if="judgeShow('warehousingstorageproduct-productId')" prop="productId">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousingstorageproductList-productId')">*</span>商品名称
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfPopupSelect v-model="scope.row.productId" @change="changeDataProduct"
|
||||||
|
:rowIndex="scope.$index" :formData="dataForm"
|
||||||
|
:templateJson="interfaceRes.warehousingstorageproductproductId"
|
||||||
|
placeholder="请选择"
|
||||||
|
:disabled="judgeWrite('warehousingstorageproductList')||judgeWrite('warehousingstorageproductList-productId')"
|
||||||
|
hasPage propsValue="id" popupWidth="800px" popupTitle="选择数据"
|
||||||
|
popupType="dialog" relationField='name' :field="'productId'+scope.$index"
|
||||||
|
interfaceId="529622659227471749" :pageSize="20"
|
||||||
|
:columnOptions="warehousingstorageproductproductIdcolumnOptions" clearable
|
||||||
|
:style='{"width":"100%"}'>
|
||||||
|
</JnpfPopupSelect>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="规格" prop="spec">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"></span>规格
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="dataForm.spec" placeholder="请输入" disabled clearable
|
||||||
|
:style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="库存单位" prop="inventoryUnitIds">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"></span>库存单位
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="dataForm.inventoryUnitIds" placeholder="请输入" disabled
|
||||||
|
clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="入库单位"
|
||||||
|
v-if="judgeShow('warehousingstorageproduct-storageUnit')" prop="storageUnit">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousingstorageproductList-storageUnit')">*</span>入库单位
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfPopupSelect v-model="scope.row.storageUnit"
|
||||||
|
@change="changeData('warehousingstorageproduct-storageUnit',scope.$index)"
|
||||||
|
:rowIndex="scope.$index" :formData="dataForm"
|
||||||
|
:templateJson="interfaceRes.warehousingstorageproductstorageUnit"
|
||||||
|
placeholder="请选择"
|
||||||
|
:disabled="judgeWrite('warehousingstorageproductList')||judgeWrite('warehousingstorageproductList-storageUnit')"
|
||||||
|
hasPage propsValue="id" popupWidth="800px" popupTitle="选择数据"
|
||||||
|
popupType="dialog" relationField='unit_name'
|
||||||
|
:field="'storageUnit'+scope.$index" interfaceId="523054191598383685"
|
||||||
|
:pageSize="20"
|
||||||
|
:columnOptions="warehousingstorageproductstorageUnitcolumnOptions" clearable
|
||||||
|
:style='{"width":"100%"}'>
|
||||||
|
</JnpfPopupSelect>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="入库单位规格" prop="111">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"></span>入库单位规格
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="scope.row.storageNumber" placeholder="请输入" disabled
|
||||||
|
clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="入库货区"
|
||||||
|
v-if="judgeShow('warehousingstorageproduct-storageAreaId')" prop="storageAreaId">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousingstorageproductList-storageAreaId')">*</span>入库货区
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfPopupSelect v-model="scope.row.storageAreaId"
|
||||||
|
@change="changeData('warehousingstorageproduct-storageAreaId',scope.$index)"
|
||||||
|
:rowIndex="scope.$index" :formData="dataForm"
|
||||||
|
:templateJson="interfaceRes.warehousingstorageproductstorageAreaId"
|
||||||
|
placeholder="请选择"
|
||||||
|
:disabled="judgeWrite('warehousingstorageproductList')||judgeWrite('warehousingstorageproductList-storageAreaId')"
|
||||||
|
hasPage propsValue="id" popupWidth="800px" popupTitle="选择数据"
|
||||||
|
popupType="dialog" relationField='name' :field="'storageAreaId'+scope.$index"
|
||||||
|
interfaceId="529624294691458949" :pageSize="20"
|
||||||
|
:columnOptions="warehousingstorageproductstorageAreaIdcolumnOptions" clearable
|
||||||
|
:style='{"width":"100%"}'>
|
||||||
|
</JnpfPopupSelect>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="入库数量"
|
||||||
|
v-if="judgeShow('warehousingstorageproduct-storageNumber')" prop="storageNumber">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousingstorageproductList-storageNumber')">*</span>入库数量
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="scope.row.storageNumber"
|
||||||
|
@change="changeData('warehousingstorageproduct-storageNumber',scope.$index)"
|
||||||
|
placeholder="请输入"
|
||||||
|
:disabled="judgeWrite('warehousingstorageproductList')||judgeWrite('warehousingstorageproductList-storageNumber')"
|
||||||
|
clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="批次号"
|
||||||
|
v-if="judgeShow('warehousingstorageproduct-batchNumber')" prop="batchNumber">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousingstorageproductList-batchNumber')">*</span>批次号
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="scope.row.batchNumber"
|
||||||
|
@change="changeData('warehousingstorageproduct-batchNumber',scope.$index)"
|
||||||
|
placeholder="系统自动生成" disabled readonly :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="生产日期"
|
||||||
|
v-if="judgeShow('warehousingstorageproduct-dateManufacture')"
|
||||||
|
prop="dateManufacture">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousingstorageproductList-dateManufacture')">*</span>生产日期
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfDatePicker v-model="scope.row.dateManufacture"
|
||||||
|
@change="changeData('warehousingstorageproduct-dateManufacture',scope.$index)"
|
||||||
|
:startTime="dateTime(false,1,1,'','')" :endTime="dateTime(false,1,1,'','')"
|
||||||
|
placeholder="请选择"
|
||||||
|
:disabled="judgeWrite('warehousingstorageproductList')||judgeWrite('warehousingstorageproductList-dateManufacture')"
|
||||||
|
clearable :style='{"width":"100%"}' type="date" format="yyyy-MM-dd">
|
||||||
|
</JnpfDatePicker>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="操作" width="50"
|
||||||
|
v-if="!judgeWrite('warehousingstorageproductList')">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button size="mini" type="text" class="JNPF-table-delBtn"
|
||||||
|
@click="delwarehousingstorageproductList(scope.$index)">删除</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<div class="table-actions" @click="addwarehousingstorageproductList()"
|
||||||
|
v-if="!judgeWrite('warehousingstorageproductList')">
|
||||||
|
<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: {
|
||||||
|
warehousingStoragePoundlistList: { "popupType": "dialog", "hasPage": true, "popupTitle": "选择数据", "pageSize": 20, "columnOptions": [], "interfaceId": "", "interfaceName": "", "relationOptions": [], "templateJson": [], "popupWidth": "800px" },
|
||||||
|
warehousingStorageProductList: { "popupType": "dialog", "hasPage": true, "popupTitle": "选择数据", "pageSize": 20, "columnOptions": [], "interfaceId": "", "interfaceName": "", "relationOptions": [], "templateJson": [], "popupWidth": "800px" },
|
||||||
|
},
|
||||||
|
//可选范围默认值
|
||||||
|
ableAll: {
|
||||||
|
},
|
||||||
|
tableRows: {
|
||||||
|
warehousingStoragePoundlistList: {
|
||||||
|
voucherId: '',
|
||||||
|
voucherIdOptions: [],
|
||||||
|
enabledmark: undefined
|
||||||
|
},
|
||||||
|
warehousingStorageProductList: {
|
||||||
|
productId: '',
|
||||||
|
productIdOptions: [],
|
||||||
|
storageUnit: '',
|
||||||
|
storageUnitOptions: [],
|
||||||
|
storageAreaId: '',
|
||||||
|
storageAreaIdOptions: [],
|
||||||
|
storageNumber: '',
|
||||||
|
storageNumberOptions: [],
|
||||||
|
batchNumber: '',
|
||||||
|
batchNumberOptions: [],
|
||||||
|
dateManufacture: '',
|
||||||
|
dateManufactureOptions: [],
|
||||||
|
enabledmark: undefined
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Vmodel: "",
|
||||||
|
currVmodel: "",
|
||||||
|
dataForm: {
|
||||||
|
documentNo: undefined,
|
||||||
|
warehousingStorageType: "3",
|
||||||
|
warehousingId: undefined,
|
||||||
|
warehouseId: undefined,
|
||||||
|
warehousingTime: undefined,
|
||||||
|
remark: undefined,
|
||||||
|
creatorTime: undefined,
|
||||||
|
creatorUserId: undefined,
|
||||||
|
lastModifyTime: undefined,
|
||||||
|
lastModifyUserId: undefined,
|
||||||
|
warehousingStoragePoundlistList: [],
|
||||||
|
warehousingStorageProductList: [],
|
||||||
|
version: 0,
|
||||||
|
},
|
||||||
|
tableRequiredData: {},
|
||||||
|
dataRule:
|
||||||
|
{
|
||||||
|
warehousingStorageType: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请至少选择一个',
|
||||||
|
trigger: 'change'
|
||||||
|
},
|
||||||
|
],
|
||||||
|
warehousingId: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请选择',
|
||||||
|
trigger: 'change'
|
||||||
|
},
|
||||||
|
],
|
||||||
|
warehouseId: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请选择',
|
||||||
|
trigger: 'change'
|
||||||
|
},
|
||||||
|
],
|
||||||
|
warehousingTime: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请选择',
|
||||||
|
trigger: 'change'
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
warehousingStorageTypeOptions: [{ "fullName": "全部", "id": "1" }, { "fullName": "盘盈入库", "id": "2" }, { "fullName": "采购入库", "id": "3" }, { "fullName": "调拨入库", "id": "4" }, { "fullName": "退货入库", "id": "5" }, { "fullName": "其他入库", "id": "6" }, { "fullName": "差异调整入库", "id": "7" }, { "fullName": "领用返库", "id": "8" }, { "fullName": "货权转移入库", "id": "9" }, { "fullName": "其他出库", "id": "10" }, { "fullName": "库存初始化", "id": "11" }, { "fullName": "调拨出库撤回", "id": "12" }, { "fullName": "其他出库撤回", "id": "13" }],
|
||||||
|
warehousingStorageTypeProps: { "label": "fullName", "value": "id" },
|
||||||
|
warehousingIdcolumnOptions: [{ "label": "通知编号", "value": "warehousing_code" }, { "label": "供应商id", "value": "subject_basic_id" }, { "label": "仓库id", "value": "warehouse_id" },],
|
||||||
|
warehouseIdcolumnOptions: [{ "label": "仓库编号", "value": "code" }, { "label": "仓库名称", "value": "name" }, { "label": "仓库简称", "value": "simple_name" },],
|
||||||
|
warehousingstoragepoundlistvoucherIdcolumnOptions: [{ "label": "凭证编号", "value": "voucher_code" }, { "label": "凭证类型", "value": "voucher_type" }, { "label": "车牌号", "value": "vehicle_number" }, { "label": "商品名称", "value": "product_name" },],
|
||||||
|
warehousingstorageproductproductIdcolumnOptions: [{ "label": "商品名称", "value": "name" }, { "label": "商品编码", "value": "code" }, { "label": "商品规格", "value": "spec" },],
|
||||||
|
warehousingstorageproductstorageUnitcolumnOptions: [{ "label": "单位名称", "value": "unit_name" }, { "label": "单位类型", "value": "unit_type" },],
|
||||||
|
warehousingstorageproductstorageAreaIdcolumnOptions: [{ "label": "货区名称", "value": "name" }, { "label": "货区编码", "value": "code" },],
|
||||||
|
childIndex: -1,
|
||||||
|
isEdit: false,
|
||||||
|
interfaceRes: {
|
||||||
|
documentNo: [],
|
||||||
|
warehousingStorageType: [],
|
||||||
|
warehousingId: [],
|
||||||
|
warehouseId: [],
|
||||||
|
warehousingTime: [],
|
||||||
|
remark: [],
|
||||||
|
creatorTime: [],
|
||||||
|
creatorUserId: [],
|
||||||
|
lastModifyTime: [],
|
||||||
|
lastModifyUserId: [],
|
||||||
|
warehousingstoragepoundlistvoucherId: [],
|
||||||
|
warehousingstorageproductproductId: [],
|
||||||
|
warehousingstorageproductstorageUnit: [],
|
||||||
|
warehousingstorageproductstorageAreaId: [{ "fieldName": "", "field": "warehouseId", "defaultValue": "", "jnpfKey": "popupSelect", "dataType": "varchar", "id": "Y4nIRy1", "relationField": "warehouseId", "required": "0" }],
|
||||||
|
warehousingstorageproductstorageNumber: [],
|
||||||
|
warehousingstorageproductbatchNumber: [],
|
||||||
|
warehousingstorageproductdateManufacture: [],
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
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: {
|
||||||
|
changeDataVoucher(model, row) {
|
||||||
|
this.dataForm.documentTypes = row.documentTypes
|
||||||
|
this.dataForm.voucherType = row.voucherType
|
||||||
|
this.dataForm.poundCode = row.pound_code
|
||||||
|
this.dataForm.vehicleNumber = row.vehicle_number
|
||||||
|
this.dataForm.vehicleNames = row.vehicle_names
|
||||||
|
this.dataForm.productName = row.product_name
|
||||||
|
this.dataForm.productSpec = row.product_spec
|
||||||
|
this.dataForm.unit = row.unit
|
||||||
|
this.dataForm.grossWeight = row.gross_weight
|
||||||
|
this.dataForm.tareWeight = row.tare_weight
|
||||||
|
this.dataForm.buckleWeight = row.buckle_weight
|
||||||
|
this.dataForm.netWeight = row.net_weight
|
||||||
|
this.dataForm.remark = row.remark
|
||||||
|
},
|
||||||
|
|
||||||
|
changeDataProduct(model, row) {
|
||||||
|
this.dataForm.spec = row.spec
|
||||||
|
this.dataForm.inventoryType = row.inventory_types
|
||||||
|
this.dataForm.inventoryUnitIds = row.inventory_unit_ids
|
||||||
|
this.dataForm.salesMainUnitIds = row.sales_main_unit_ids
|
||||||
|
this.dataForm.barCode = row.bar_code
|
||||||
|
this.dataForm.operateUnitIds = row.operate_unit_ids
|
||||||
|
this.dataForm.productTypeIds = row.product_type_ids
|
||||||
|
},
|
||||||
|
|
||||||
|
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("529614060577116037").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.warehousingstoragepoundlistExist()) return
|
||||||
|
if (!this.warehousingstorageproductExist()) return
|
||||||
|
return isOk
|
||||||
|
},
|
||||||
|
warehousingstoragepoundlistExist() {
|
||||||
|
let isOk = true;
|
||||||
|
for (let i = 0; i < this.dataForm.warehousingStoragePoundlistList.length; i++) {
|
||||||
|
const e = this.dataForm.warehousingStoragePoundlistList[i];
|
||||||
|
if (!e.voucherId) {
|
||||||
|
this.$message({
|
||||||
|
message: '关联凭证id不能为空',
|
||||||
|
type: 'error',
|
||||||
|
duration: 1000
|
||||||
|
});
|
||||||
|
isOk = false
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return isOk;
|
||||||
|
},
|
||||||
|
warehousingstorageproductExist() {
|
||||||
|
let isOk = true;
|
||||||
|
for (let i = 0; i < this.dataForm.warehousingStorageProductList.length; i++) {
|
||||||
|
const e = this.dataForm.warehousingStorageProductList[i];
|
||||||
|
if (!e.productId) {
|
||||||
|
this.$message({
|
||||||
|
message: '商品名称不能为空',
|
||||||
|
type: 'error',
|
||||||
|
duration: 1000
|
||||||
|
});
|
||||||
|
isOk = false
|
||||||
|
break
|
||||||
|
}
|
||||||
|
if (!e.storageUnit) {
|
||||||
|
this.$message({
|
||||||
|
message: '入库单位不能为空',
|
||||||
|
type: 'error',
|
||||||
|
duration: 1000
|
||||||
|
});
|
||||||
|
isOk = false
|
||||||
|
break
|
||||||
|
}
|
||||||
|
if (!e.storageAreaId) {
|
||||||
|
this.$message({
|
||||||
|
message: '入库货区id不能为空',
|
||||||
|
type: 'error',
|
||||||
|
duration: 1000
|
||||||
|
});
|
||||||
|
isOk = false
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return isOk;
|
||||||
|
},
|
||||||
|
|
||||||
|
clearData() {
|
||||||
|
this.dataForm = JSON.parse(JSON.stringify(this.dataValueAll))
|
||||||
|
},
|
||||||
|
//初始化默认数据
|
||||||
|
initDefaultData() {
|
||||||
|
this.dataForm.warehousingTime = new Date().getTime()
|
||||||
|
|
||||||
|
},
|
||||||
|
addwarehousingstoragepoundlistList() {
|
||||||
|
let item = {
|
||||||
|
voucherId: '',
|
||||||
|
}
|
||||||
|
this.getwarehousingstoragepoundlistList(item)
|
||||||
|
},
|
||||||
|
delwarehousingstoragepoundlistList(index) {
|
||||||
|
this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
|
||||||
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
|
this.dataForm.warehousingStoragePoundlistList.splice(index, 1);
|
||||||
|
}).catch(() => {
|
||||||
|
});
|
||||||
|
},
|
||||||
|
getwarehousingstoragepoundlistList(value) {
|
||||||
|
let item = { ...this.tableRows.warehousingStoragePoundlistList, ...value }
|
||||||
|
this.dataForm.warehousingStoragePoundlistList.push(item)
|
||||||
|
this.childIndex = this.dataForm.warehousingStoragePoundlistList.length - 1
|
||||||
|
this.isEdit = true
|
||||||
|
this.isEdit = false
|
||||||
|
this.childIndex = -1
|
||||||
|
},
|
||||||
|
addwarehousingstorageproductList() {
|
||||||
|
let item = {
|
||||||
|
productId: '',
|
||||||
|
storageUnit: '',
|
||||||
|
storageAreaId: '',
|
||||||
|
storageNumber: undefined,
|
||||||
|
batchNumber: undefined,
|
||||||
|
dateManufacture: new Date().getTime(),
|
||||||
|
}
|
||||||
|
this.getwarehousingstorageproductList(item)
|
||||||
|
},
|
||||||
|
delwarehousingstorageproductList(index) {
|
||||||
|
this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
|
||||||
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
|
this.dataForm.warehousingStorageProductList.splice(index, 1);
|
||||||
|
}).catch(() => {
|
||||||
|
});
|
||||||
|
},
|
||||||
|
getwarehousingstorageproductList(value) {
|
||||||
|
let item = { ...this.tableRows.warehousingStorageProductList, ...value }
|
||||||
|
this.dataForm.warehousingStorageProductList.push(item)
|
||||||
|
this.dataForm.warehousingStorageProductList[this.dataForm.warehousingStorageProductList.length - 1].dateManufacture = new Date().getTime()
|
||||||
|
this.childIndex = this.dataForm.warehousingStorageProductList.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.warehousingStoragePoundlistList.length; i++) {
|
||||||
|
this.childIndex = i
|
||||||
|
}
|
||||||
|
for (let i = 0; i < _dataAll.warehousingStorageProductList.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
@ -0,0 +1,448 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<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="业务类型" v-if="judgeShow('warehousingType')" prop="warehousingType" >
|
||||||
|
<JnpfRadio v-model="dataForm.warehousingType" @change="changeData('warehousingType',-1)"
|
||||||
|
:disabled="judgeWrite('warehousingType')" optionType="button" direction="horizontal" size="medium" :options="warehousingTypeOptions" :props="warehousingTypeProps" >
|
||||||
|
</JnpfRadio>
|
||||||
|
</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('creatorTime')" >
|
||||||
|
<jnpf-form-tip-item
|
||||||
|
label="创建时间" v-if="judgeShow('creatorTime')" prop="creatorTime" >
|
||||||
|
<JnpfOpenData v-model="dataForm.creatorTime" @change="changeData('creatorTime',-1)"
|
||||||
|
placeholder="系统自动生成" :disabled="judgeWrite('creatorTime')" 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="changeData('businessId',-1)"
|
||||||
|
:rowIndex="null" :formData="dataForm" :templateJson="interfaceRes.businessId" placeholder="请选择" :disabled="judgeWrite('businessId')" propsValue="id" popupWidth="800px" popupTitle="选择数据" popupType="dialog" relationField='code' field='businessId' interfaceId="522687073317030149" :pageSize="20" :columnOptions="businessIdcolumnOptions" clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfPopupSelect>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
|
<el-col :span="8" v-if="judgeShow('plannedWarehousingTimeStart')" >
|
||||||
|
<jnpf-form-tip-item
|
||||||
|
label="计划入库时间开始" v-if="judgeShow('plannedWarehousingTimeStart')" prop="plannedWarehousingTimeStart" >
|
||||||
|
<JnpfDatePicker v-model="dataForm.plannedWarehousingTimeStart" @change="changeData('plannedWarehousingTimeStart',-1)"
|
||||||
|
:startTime="dateTime(false,1,1,'','')" :endTime="dateTime(false,1,1,'','')" placeholder="请选择" :disabled="judgeWrite('plannedWarehousingTimeStart')" clearable :style='{"width":"100%"}' type="date" format="yyyy-MM-dd" >
|
||||||
|
</JnpfDatePicker>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
|
<el-col :span="8" v-if="judgeShow('plannedWarehousingTimeEnd')" >
|
||||||
|
<jnpf-form-tip-item
|
||||||
|
label="计划入库时间结束" v-if="judgeShow('plannedWarehousingTimeEnd')" prop="plannedWarehousingTimeEnd" >
|
||||||
|
<JnpfDatePicker v-model="dataForm.plannedWarehousingTimeEnd" @change="changeData('plannedWarehousingTimeEnd',-1)"
|
||||||
|
:startTime="dateTime(false,1,1,'','')" :endTime="dateTime(false,1,1,'','')" placeholder="请选择" :disabled="judgeWrite('plannedWarehousingTimeEnd')" clearable :style='{"width":"100%"}' type="date" format="yyyy-MM-dd" >
|
||||||
|
</JnpfDatePicker>
|
||||||
|
</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="522417703080700549" :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" >
|
||||||
|
<JnpfOrganizeSelect v-model="dataForm.enterpriseId" @change="changeData('enterpriseId',-1)"
|
||||||
|
placeholder="请选择" selectType="all" :ableIds="ableAll.enterpriseIdableIds" :disabled="judgeWrite('enterpriseId')" clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfOrganizeSelect>
|
||||||
|
</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:{
|
||||||
|
},
|
||||||
|
//可选范围默认值
|
||||||
|
ableAll:{
|
||||||
|
},
|
||||||
|
tableRows:{
|
||||||
|
},
|
||||||
|
Vmodel:"",
|
||||||
|
currVmodel:"",
|
||||||
|
dataForm: {
|
||||||
|
warehousingType : "1",
|
||||||
|
warehousingCode : undefined,
|
||||||
|
creatorTime : undefined,
|
||||||
|
creatorUserId : undefined,
|
||||||
|
businessId : undefined,
|
||||||
|
plannedWarehousingTimeStart : undefined,
|
||||||
|
plannedWarehousingTimeEnd : undefined,
|
||||||
|
subjectBasicId : undefined,
|
||||||
|
shippingAddress : undefined,
|
||||||
|
enterpriseId : [],
|
||||||
|
version: 0,
|
||||||
|
},
|
||||||
|
tableRequiredData: {},
|
||||||
|
dataRule:
|
||||||
|
{
|
||||||
|
warehousingType: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请至少选择一个',
|
||||||
|
trigger: 'change'
|
||||||
|
},
|
||||||
|
],
|
||||||
|
businessId: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请选择',
|
||||||
|
trigger: 'change'
|
||||||
|
},
|
||||||
|
],
|
||||||
|
plannedWarehousingTimeStart: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请选择',
|
||||||
|
trigger: 'change'
|
||||||
|
},
|
||||||
|
],
|
||||||
|
plannedWarehousingTimeEnd: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请选择',
|
||||||
|
trigger: 'change'
|
||||||
|
},
|
||||||
|
],
|
||||||
|
subjectBasicId: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请选择',
|
||||||
|
trigger: 'change'
|
||||||
|
},
|
||||||
|
],
|
||||||
|
shippingAddress: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请输入',
|
||||||
|
trigger: 'blur'
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
warehousingTypeOptions:[{"fullName":"采购入库","id":"1"},{"fullName":"退货入库","id":"2"},{"fullName":"调拨入库","id":"3"},{"fullName":"成品入库","id":"4"},{"fullName":"盘盈入库","id":"5"},{"fullName":"其他入库","id":"6"}],
|
||||||
|
warehousingTypeProps:{"label":"fullName","value":"id" },
|
||||||
|
businessIdcolumnOptions:[ {"label":"采购订单号","value":"code"},],
|
||||||
|
subjectBasicIdcolumnOptions:[ {"label":"供应商名称","value":"name"},],
|
||||||
|
childIndex:-1,
|
||||||
|
isEdit:false,
|
||||||
|
interfaceRes: {
|
||||||
|
warehousingType:[] ,
|
||||||
|
warehousingCode:[] ,
|
||||||
|
creatorTime:[] ,
|
||||||
|
creatorUserId:[] ,
|
||||||
|
businessId:[] ,
|
||||||
|
plannedWarehousingTimeStart:[] ,
|
||||||
|
plannedWarehousingTimeEnd:[] ,
|
||||||
|
subjectBasicId:[] ,
|
||||||
|
shippingAddress:[] ,
|
||||||
|
enterpriseId:[] ,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
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("528936118222078597").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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return isOk
|
||||||
|
},
|
||||||
|
clearData(){
|
||||||
|
this.dataForm = JSON.parse(JSON.stringify(this.dataValueAll))
|
||||||
|
},
|
||||||
|
//初始化默认数据
|
||||||
|
initDefaultData() {
|
||||||
|
|
||||||
|
},
|
||||||
|
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()
|
||||||
|
this.childIndex=-1
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,976 @@
|
|||||||
|
<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="529307088124379205" :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: "8",
|
||||||
|
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": "8" }],
|
||||||
|
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.first_subject_basic_id
|
||||||
|
this.dataForm.shippingAddress = val2.receiveAddress
|
||||||
|
this.dataForm.enterpriseId = val2.enterprise_id
|
||||||
|
this.dataForm.warehouseId = val2.delivery_warehouse
|
||||||
|
this.dataForm.deliveryAddress = val2.delivery_address
|
||||||
|
},
|
||||||
|
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
File diff suppressed because one or more lines are too long
Loading…
Reference in new issue