parent
c5e36a2041
commit
ce1dd1d879
@ -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.WarehousingNotificationMapper">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</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.WarehousingProductMapper">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</mapper>
|
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,690 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<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="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="529307088124379205" :pageSize="20" :columnOptions="businessIdcolumnOptions" 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="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="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="522701377537837317" :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:[],
|
||||||
|
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: {
|
||||||
|
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
Loading…
Reference in new issue