parent
ebcf2a3192
commit
2ff5c0989f
@ -0,0 +1,11 @@
|
|||||||
|
<?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.WarehousingReportlossMapper">
|
||||||
|
|
||||||
|
<select id="queryReportlossSum" resultType="String">
|
||||||
|
SELECT SUM(reportloss_number) AS reportSum FROM jg_warehousing_reportloss_product t1
|
||||||
|
LEFT JOIN jg_warehousing_reportloss t2 ON t2.id=t1.reportloss_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.WarehousingReportlossProductMapper">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</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,603 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<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('reportlossCode')">
|
||||||
|
<jnpf-form-tip-item label="报损单编号" v-if="judgeShow('reportlossCode')"
|
||||||
|
prop="reportlossCode">
|
||||||
|
<JnpfInput v-model="dataForm.reportlossCode" @change="changeData('reportlossCode',-1)"
|
||||||
|
placeholder="系统自动生成" :disabled="judgeWrite('reportlossCode')" readonly
|
||||||
|
:style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" v-if="judgeShow('reportlossType')">
|
||||||
|
<jnpf-form-tip-item label="单据类型" v-if="judgeShow('reportlossType')"
|
||||||
|
prop="reportlossType">
|
||||||
|
<JnpfSelect v-model="dataForm.reportlossType"
|
||||||
|
@change="changeData('reportlossType',-1)" placeholder="请选择"
|
||||||
|
:disabled="judgeWrite('reportlossType')" clearable :style='{"width":"100%"}'
|
||||||
|
:options="reportlossTypeOptions" :props="reportlossTypeProps">
|
||||||
|
</JnpfSelect>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
|
<el-col :span="8" v-if="judgeShow('reportlossTime')">
|
||||||
|
<jnpf-form-tip-item label="报损时间" v-if="judgeShow('reportlossTime')"
|
||||||
|
prop="reportlossTime">
|
||||||
|
<JnpfDatePicker v-model="dataForm.reportlossTime"
|
||||||
|
@change="changeData('reportlossTime',-1)" :startTime="dateTime(false,1,1,'','')"
|
||||||
|
:endTime="dateTime(false,1,1,'','')" placeholder="请选择"
|
||||||
|
:disabled="judgeWrite('reportlossTime')" clearable :style='{"width":"100%"}'
|
||||||
|
type="date" format="yyyy-MM-dd">
|
||||||
|
</JnpfDatePicker>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" v-if="judgeShow('reportlossReason')">
|
||||||
|
<jnpf-form-tip-item label="报损原因" v-if="judgeShow('reportlossReason')"
|
||||||
|
prop="reportlossReason">
|
||||||
|
<JnpfSelect v-model="dataForm.reportlossReason"
|
||||||
|
@change="changeData('reportlossReason',-1)" placeholder="请选择"
|
||||||
|
:disabled="judgeWrite('reportlossReason')" clearable :style='{"width":"100%"}'
|
||||||
|
:options="reportlossReasonOptions" :props="reportlossReasonProps">
|
||||||
|
</JnpfSelect>
|
||||||
|
</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')" 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="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.warehousingReportlossProductList" size='mini'>
|
||||||
|
<el-table-column type="index" width="50" label="序号" align="center" />
|
||||||
|
<el-table-column label="商品名称"
|
||||||
|
v-if="judgeShow('warehousingreportlossproduct-productId')" prop="productId">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousingreportlossproductList-productId')">*</span>商品名称
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfPopupSelect v-model="scope.row.productId" @change="reportlossProductBatch"
|
||||||
|
:rowIndex="scope.$index" :formData="dataForm"
|
||||||
|
:templateJson="interfaceRes.warehousingreportlossproductproductId"
|
||||||
|
placeholder="请选择"
|
||||||
|
:disabled="judgeWrite('warehousingreportlossproductList')||judgeWrite('warehousingreportlossproductList-productId')"
|
||||||
|
propsValue="id" popupWidth="800px" popupTitle="选择数据" popupType="dialog"
|
||||||
|
relationField='name' :field="'productId'+scope.$index"
|
||||||
|
interfaceId="529994958833209925" :pageSize="20"
|
||||||
|
:columnOptions="warehousingreportlossproductproductIdcolumnOptions" clearable
|
||||||
|
:style='{"width":"100%"}'>
|
||||||
|
</JnpfPopupSelect>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="报损单位"
|
||||||
|
v-if="judgeShow('warehousingreportlossproduct-reportlossUnit')"
|
||||||
|
prop="reportlossUnit">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousingreportlossproductList-reportlossUnit')">*</span>报损单位
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfPopupSelect v-model="scope.row.reportlossUnit"
|
||||||
|
@change="changeData('warehousingreportlossproduct-reportlossUnit',scope.$index)"
|
||||||
|
:rowIndex="scope.$index" :formData="dataForm"
|
||||||
|
:templateJson="interfaceRes.warehousingreportlossproductreportlossUnit"
|
||||||
|
placeholder="请选择"
|
||||||
|
:disabled="judgeWrite('warehousingreportlossproductList')||judgeWrite('warehousingreportlossproductList-reportlossUnit')"
|
||||||
|
propsValue="id" popupWidth="800px" popupTitle="选择数据" popupType="dialog"
|
||||||
|
relationField='unit_name' :field="'reportlossUnit'+scope.$index"
|
||||||
|
interfaceId="529938341609623877" :pageSize="20"
|
||||||
|
:columnOptions="warehousingreportlossproductreportlossUnitcolumnOptions"
|
||||||
|
clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfPopupSelect>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="规格" v-if="judgeShow('warehousingreportlossproduct-spec')"
|
||||||
|
prop="spec">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousingreportlossproductList-spec')">*</span>规格
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="scope.row.spec"
|
||||||
|
@change="changeData('warehousingreportlossproduct-spec',scope.$index)"
|
||||||
|
placeholder="请输入"
|
||||||
|
:disabled="judgeWrite('warehousingreportlossproductList')||judgeWrite('warehousingreportlossproductList-spec')"
|
||||||
|
clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="库存单位"
|
||||||
|
v-if="judgeShow('warehousingreportlossproduct-inventoryUnitIds')"
|
||||||
|
prop="inventoryUnitIds">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousingreportlossproductList-inventoryUnitIds')">*</span>库存单位
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="scope.row.inventoryUnitIds"
|
||||||
|
@change="changeData('warehousinginventoryproduct-inventoryUnitIds',scope.$index)"
|
||||||
|
placeholder="请输入"
|
||||||
|
:disabled="judgeWrite('warehousingreportlossproductList')||judgeWrite('warehousingreportlossproductList-inventoryUnitIds')"
|
||||||
|
clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="实物库存"
|
||||||
|
v-if="judgeShow('warehousingreportlossproduct-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('warehousingreportlossproduct-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('warehousingreportlossproduct-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('warehousingreportlossproduct-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('warehousingreportlossproduct-reportlossNumber')"
|
||||||
|
prop="reportlossNumber">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousingreportlossproductList-reportlossNumber')">*</span>报损数量
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="scope.row.reportlossNumber"
|
||||||
|
@change="changeData('warehousingreportlossproduct-reportlossNumber',scope.$index)"
|
||||||
|
placeholder="请输入"
|
||||||
|
:disabled="judgeWrite('warehousingreportlossproductList')||judgeWrite('warehousingreportlossproductList-reportlossNumber')"
|
||||||
|
clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="操作" width="50"
|
||||||
|
v-if="!judgeWrite('warehousingreportlossproductList')">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button size="mini" type="text" class="JNPF-table-delBtn"
|
||||||
|
@click="delwarehousingreportlossproductList(scope.$index)">删除</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<div class="table-actions" @click="addwarehousingreportlossproductList()"
|
||||||
|
v-if="!judgeWrite('warehousingreportlossproductList')">
|
||||||
|
<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: {
|
||||||
|
warehousingReportlossProductList: { "popupType": "dialog", "hasPage": true, "popupTitle": "选择数据", "pageSize": 20, "columnOptions": [], "interfaceId": "", "interfaceName": "", "relationOptions": [], "templateJson": [], "popupWidth": "800px" },
|
||||||
|
},
|
||||||
|
//可选范围默认值
|
||||||
|
ableAll: {
|
||||||
|
},
|
||||||
|
tableRows: {
|
||||||
|
warehousingReportlossProductList: {
|
||||||
|
productId: '',
|
||||||
|
productIdOptions: [],
|
||||||
|
reportlossUnit: '',
|
||||||
|
reportlossUnitOptions: [],
|
||||||
|
reportlossNumber: '',
|
||||||
|
reportlossNumberOptions: [],
|
||||||
|
enabledmark: undefined
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Vmodel: "",
|
||||||
|
currVmodel: "",
|
||||||
|
dataForm: {
|
||||||
|
reportlossCode: undefined,
|
||||||
|
reportlossType: undefined,
|
||||||
|
reportlossTime: undefined,
|
||||||
|
reportlossReason: undefined,
|
||||||
|
warehouseId: undefined,
|
||||||
|
remark: undefined,
|
||||||
|
warehousingReportlossProductList: [],
|
||||||
|
version: 0,
|
||||||
|
},
|
||||||
|
tableRequiredData: {},
|
||||||
|
dataRule:
|
||||||
|
{
|
||||||
|
reportlossType: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请选择',
|
||||||
|
trigger: 'change'
|
||||||
|
},
|
||||||
|
],
|
||||||
|
reportlossTime: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请选择',
|
||||||
|
trigger: 'change'
|
||||||
|
},
|
||||||
|
],
|
||||||
|
reportlossReason: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请选择',
|
||||||
|
trigger: 'change'
|
||||||
|
},
|
||||||
|
],
|
||||||
|
warehouseId: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请选择',
|
||||||
|
trigger: 'change'
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
reportlossTypeOptions: [{ "fullName": "采购报损", "id": "1" }, { "fullName": "销售报损", "id": "2" }, { "fullName": "仓库报损", "id": "3" }, { "fullName": "加工报损", "id": "4" }, { "fullName": "其他报损", "id": "5" }],
|
||||||
|
reportlossTypeProps: { "label": "fullName", "value": "id" },
|
||||||
|
reportlossReasonOptions: [{ "fullName": "质量问题", "id": "1" }, { "fullName": "客户退回", "id": "2" }, { "fullName": "试用", "id": "3" }, { "fullName": "临期报废", "id": "4" }, { "fullName": "其他", "id": "5" }],
|
||||||
|
reportlossReasonProps: { "label": "fullName", "value": "id" },
|
||||||
|
warehouseIdcolumnOptions: [{ "label": "仓库名称", "value": "name" }, { "label": "仓库编码", "value": "code" },],
|
||||||
|
warehousingreportlossproductproductIdcolumnOptions: [{ "label": "商品名称", "value": "name" }, { "label": "商品编码", "value": "code" }, { "label": "批次号", "value": "batchNumber" },],
|
||||||
|
warehousingreportlossproductreportlossUnitcolumnOptions: [{ "label": "单位", "value": "unit_name" },],
|
||||||
|
childIndex: -1,
|
||||||
|
isEdit: false,
|
||||||
|
interfaceRes: {
|
||||||
|
reportlossCode: [],
|
||||||
|
reportlossType: [],
|
||||||
|
reportlossTime: [],
|
||||||
|
reportlossReason: [],
|
||||||
|
warehouseId: [],
|
||||||
|
remark: [],
|
||||||
|
warehousingreportlossproductproductId: [],
|
||||||
|
warehousingreportlossproductreportlossUnit: [],
|
||||||
|
warehousingreportlossproductreportlossNumber: [],
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
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: {
|
||||||
|
|
||||||
|
reportlossProductBatch(model, row) {
|
||||||
|
this.dataForm.warehousingReportlossProductList.push(row)
|
||||||
|
this.dataForm.warehousingReportlossProductList.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("530031733014287557").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.warehousingreportlossproductExist()) return
|
||||||
|
return isOk
|
||||||
|
},
|
||||||
|
warehousingreportlossproductExist() {
|
||||||
|
let isOk = true;
|
||||||
|
for (let i = 0; i < this.dataForm.warehousingReportlossProductList.length; i++) {
|
||||||
|
const e = this.dataForm.warehousingReportlossProductList[i];
|
||||||
|
}
|
||||||
|
return isOk;
|
||||||
|
},
|
||||||
|
clearData() {
|
||||||
|
this.dataForm = JSON.parse(JSON.stringify(this.dataValueAll))
|
||||||
|
},
|
||||||
|
//初始化默认数据
|
||||||
|
initDefaultData() {
|
||||||
|
this.dataForm.reportlossTime = new Date().getTime()
|
||||||
|
|
||||||
|
},
|
||||||
|
addwarehousingreportlossproductList() {
|
||||||
|
let item = {
|
||||||
|
productId: '',
|
||||||
|
reportlossUnit: '',
|
||||||
|
reportlossNumber: undefined,
|
||||||
|
}
|
||||||
|
this.getwarehousingreportlossproductList(item)
|
||||||
|
},
|
||||||
|
delwarehousingreportlossproductList(index) {
|
||||||
|
this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
|
||||||
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
|
this.dataForm.warehousingReportlossProductList.splice(index, 1);
|
||||||
|
}).catch(() => {
|
||||||
|
});
|
||||||
|
},
|
||||||
|
getwarehousingreportlossproductList(value) {
|
||||||
|
let item = { ...this.tableRows.warehousingReportlossProductList, ...value }
|
||||||
|
this.dataForm.warehousingReportlossProductList.push(item)
|
||||||
|
this.childIndex = this.dataForm.warehousingReportlossProductList.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.warehousingReportlossProductList.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
@ -1,448 +0,0 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<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,982 @@
|
|||||||
|
<template>
|
||||||
|
<div :style="{margin: '0 auto',width:'100%'}">
|
||||||
|
<el-row :gutter="15" class="">
|
||||||
|
<el-form ref="formRef" :model="dataForm" :rules="dataRule" size="small" label-width="100px"
|
||||||
|
label-position="right" :disabled="setting.readonly">
|
||||||
|
<template v-if="!loading && formOperates">
|
||||||
|
<!-- 具体表单 -->
|
||||||
|
<el-col :span="24">
|
||||||
|
<jnpf-form-tip-item>
|
||||||
|
<JnpfGroupTitle content="基本信息" contentPosition="left">
|
||||||
|
</JnpfGroupTitle>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" v-if="judgeShow('warehousingType')">
|
||||||
|
<jnpf-form-tip-item label-width="0" prop="warehousingType">
|
||||||
|
<JnpfRadio v-model="dataForm.warehousingType"
|
||||||
|
@change="changeData('warehousingType',-1)" :disabled="judgeWrite('warehousingType')"
|
||||||
|
optionType="button" direction="horizontal" size="small"
|
||||||
|
:options="warehousingTypeOptions" :props="warehousingTypeProps">
|
||||||
|
</JnpfRadio>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<jnpf-form-tip-item>
|
||||||
|
<JnpfGroupTitle content="基础信息" contentPosition="left">
|
||||||
|
</JnpfGroupTitle>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" v-if="judgeShow('warehousingCode')">
|
||||||
|
<jnpf-form-tip-item label="通知编号" v-if="judgeShow('warehousingCode')"
|
||||||
|
prop="warehousingCode">
|
||||||
|
<JnpfInput v-model="dataForm.warehousingCode"
|
||||||
|
@change="changeData('warehousingCode',-1)" placeholder="系统自动生成"
|
||||||
|
:disabled="judgeWrite('warehousingCode')" readonly :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" v-if="judgeShow('preparationTime')">
|
||||||
|
<jnpf-form-tip-item label="制单时间" v-if="judgeShow('preparationTime')"
|
||||||
|
prop="preparationTime">
|
||||||
|
<JnpfOpenData v-model="dataForm.preparationTime"
|
||||||
|
@change="changeData('preparationTime',-1)" placeholder="系统自动生成"
|
||||||
|
:disabled="judgeWrite('preparationTime')" readonly :style='{"width":"100%"}'
|
||||||
|
type="currTime">
|
||||||
|
</JnpfOpenData>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<jnpf-form-tip-item>
|
||||||
|
<JnpfGroupTitle content="关联信息" contentPosition="left">
|
||||||
|
</JnpfGroupTitle>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" v-if="judgeShow('businessId')">
|
||||||
|
<jnpf-form-tip-item label="采购订单" v-if="judgeShow('businessId')" prop="businessId">
|
||||||
|
<JnpfPopupSelect v-model="dataForm.businessId" @change="getSaleOrder" :rowIndex="null"
|
||||||
|
:formData="dataForm" :templateJson="interfaceRes.businessId" placeholder="请选择"
|
||||||
|
:disabled="judgeWrite('businessId')" propsValue="id" popupWidth="800px"
|
||||||
|
popupTitle="选择数据" popupType="dialog" relationField='code' field='businessId'
|
||||||
|
interfaceId="529638640356183877" :pageSize="20"
|
||||||
|
:columnOptions="businessIdcolumnOptions" clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfPopupSelect>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" v-if="judgeShow('-${html.relationField}')">
|
||||||
|
<jnpf-form-tip-item label-width="0">
|
||||||
|
<div class="JNPF-common-title">
|
||||||
|
<h2></h2>
|
||||||
|
</div>
|
||||||
|
<el-table :data="dataForm.saleOrderInfo" size='mini'>
|
||||||
|
<el-table-column type="index" width="50" label="序号" align="center" />
|
||||||
|
<el-table-column label="销售订单" v-if="judgeShow('warehousingproduct-productName')"
|
||||||
|
prop="code">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousingproductList-productName')">*</span>销售订单
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="scope.row.code"
|
||||||
|
@change="changeData('warehousingproduct-productName',scope.$index)"
|
||||||
|
placeholder="请输入"
|
||||||
|
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-productName')"
|
||||||
|
clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<!-- <el-table-column label="订单类型" v-if="judgeShow('warehousingproduct-spec')"
|
||||||
|
prop="spec">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousingproductList-spec')">*</span>订单类型
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="scope.row.spec"
|
||||||
|
@change="changeData('warehousingproduct-spec',scope.$index)" placeholder="请输入"
|
||||||
|
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-spec')"
|
||||||
|
clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="期望送达时间"
|
||||||
|
v-if="judgeShow('warehousingproduct-inventoryUnitId')" prop="inventoryUnitId">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousingproductList-inventoryUnitId')">*</span>期望送达时间
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="scope.row.inventoryUnitId"
|
||||||
|
@change="changeData('warehousingproduct-inventoryUnitId',scope.$index)"
|
||||||
|
placeholder="请输入"
|
||||||
|
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-inventoryUnitId')"
|
||||||
|
clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="关联客户(二级)"
|
||||||
|
v-if="judgeShow('warehousingproduct-purchaseUnitId')" prop="purchaseUnitId">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousingproductList-purchaseUnitId')">*</span>关联客户(二级)
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="scope.row.purchaseUnitId"
|
||||||
|
@change="changeData('warehousingproduct-purchaseUnitId',scope.$index)"
|
||||||
|
placeholder="请输入"
|
||||||
|
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-purchaseUnitId')"
|
||||||
|
clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="关联业务线" v-if="judgeShow('warehousingproduct-purchaseNum')"
|
||||||
|
prop="purchaseNum">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousingproductList-purchaseNum')">*</span>关联业务线
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="scope.row.purchaseNum"
|
||||||
|
@change="changeData('warehousingproduct-purchaseNum',scope.$index)"
|
||||||
|
placeholder="请输入"
|
||||||
|
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-purchaseNum')"
|
||||||
|
clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="业务类型" v-if="judgeShow('warehousingproduct-storageAreaId')"
|
||||||
|
prop="storageAreaId">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousingproductList-storageAreaId')">*</span>业务类型
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="scope.row.storageAreaId"
|
||||||
|
@change="changeData('warehousingproduct-storageAreaId',scope.$index)"
|
||||||
|
placeholder="请输入"
|
||||||
|
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-storageAreaId')"
|
||||||
|
clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="币种" v-if="judgeShow('warehousingproduct-warehousingUnitId')"
|
||||||
|
prop="warehousingUnitId">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousingproductList-warehousingUnitId')">*</span>币种
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="scope.row.warehousingUnitId"
|
||||||
|
@change="changeData('warehousingproduct-warehousingUnitId',scope.$index)"
|
||||||
|
placeholder="请输入"
|
||||||
|
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-warehousingUnitId')"
|
||||||
|
clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="销售模式" v-if="judgeShow('warehousingproduct-barCode')"
|
||||||
|
prop="barCode">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousingproductList-barCode')">*</span>销售模式
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="scope.row.barCode"
|
||||||
|
@change="changeData('warehousingproduct-barCode',scope.$index)"
|
||||||
|
placeholder="请输入"
|
||||||
|
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-barCode')"
|
||||||
|
clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="交货方式"
|
||||||
|
v-if="judgeShow('warehousingproduct-notificationStorageNumber')"
|
||||||
|
prop="notificationStorageNumber">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousingproductList-notificationStorageNumber')">*</span>交货方式
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="scope.row.notificationStorageNumber"
|
||||||
|
@change="changeData('warehousingproduct-notificationStorageNumber',scope.$index)"
|
||||||
|
placeholder="请输入"
|
||||||
|
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-notificationStorageNumber')"
|
||||||
|
clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="配送方式" v-if="judgeShow('warehousingproduct-volume')"
|
||||||
|
prop="volume">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousingproductList-volume')">*</span>配送方式
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="scope.row.volume"
|
||||||
|
@change="changeData('warehousingproduct-volume',scope.$index)"
|
||||||
|
placeholder="请输入"
|
||||||
|
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-volume')"
|
||||||
|
clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="运输方式" v-if="judgeShow('warehousingproduct-batchNo')"
|
||||||
|
prop="batchNo">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousingproductList-batchNo')">*</span>运输方式
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="scope.row.batchNo"
|
||||||
|
@change="changeData('warehousingproduct-batchNo',scope.$index)"
|
||||||
|
placeholder="请输入"
|
||||||
|
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-batchNo')"
|
||||||
|
clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="生产日期" v-if="judgeShow('warehousingproduct-produceDate')"
|
||||||
|
prop="produceDate">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousingproductList-produceDate')">*</span>生产日期
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfDatePicker v-model="scope.row.produceDate"
|
||||||
|
@change="changeData('warehousingproduct-produceDate',scope.$index)"
|
||||||
|
:startTime="dateTime(false,1,1,'','')" :endTime="dateTime(false,1,1,'','')"
|
||||||
|
placeholder="请选择"
|
||||||
|
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-produceDate')"
|
||||||
|
clearable :style='{"width":"100%"}' type="date" format="yyyy-MM-dd">
|
||||||
|
</JnpfDatePicker>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="备注" v-if="judgeShow('warehousingproduct-remark')"
|
||||||
|
prop="remark">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousingproductList-remark')">*</span>备注
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="scope.row.remark"
|
||||||
|
@change="changeData('warehousingproduct-remark',scope.$index)"
|
||||||
|
placeholder="请输入"
|
||||||
|
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-remark')"
|
||||||
|
clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column> -->
|
||||||
|
</el-table>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<jnpf-form-tip-item>
|
||||||
|
<JnpfGroupTitle content="收货信息" contentPosition="left">
|
||||||
|
</JnpfGroupTitle>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" v-if="judgeShow('subjectBasicId')">
|
||||||
|
<jnpf-form-tip-item label="客户名称" v-if="judgeShow('subjectBasicId')"
|
||||||
|
prop="subjectBasicId">
|
||||||
|
<JnpfPopupSelect v-model="dataForm.subjectBasicId"
|
||||||
|
@change="changeData('subjectBasicId',-1)" :rowIndex="null" :formData="dataForm"
|
||||||
|
:templateJson="interfaceRes.subjectBasicId" placeholder="请选择"
|
||||||
|
:disabled="judgeWrite('subjectBasicId')" propsValue="id" popupWidth="800px"
|
||||||
|
popupTitle="选择数据" popupType="dialog" relationField='name' field='subjectBasicId'
|
||||||
|
interfaceId="522693551289534725" :pageSize="20"
|
||||||
|
:columnOptions="subjectBasicIdcolumnOptions" clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfPopupSelect>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" v-if="judgeShow('shippingAddress')">
|
||||||
|
<jnpf-form-tip-item label="收货地址" v-if="judgeShow('shippingAddress')"
|
||||||
|
prop="shippingAddress">
|
||||||
|
<JnpfInput v-model="dataForm.shippingAddress"
|
||||||
|
@change="changeData('shippingAddress',-1)" placeholder="请输入"
|
||||||
|
:disabled="judgeWrite('shippingAddress')" clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<jnpf-form-tip-item>
|
||||||
|
<JnpfGroupTitle content="发货信息" contentPosition="left">
|
||||||
|
</JnpfGroupTitle>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" v-if="judgeShow('enterpriseId')">
|
||||||
|
<jnpf-form-tip-item label="机构名称" v-if="judgeShow('enterpriseId')" prop="enterpriseId">
|
||||||
|
<JnpfPopupSelect v-model="dataForm.enterpriseId"
|
||||||
|
@change="changeData('enterpriseId',-1)" :rowIndex="null" :formData="dataForm"
|
||||||
|
:templateJson="interfaceRes.enterpriseId" placeholder="请选择"
|
||||||
|
:disabled="judgeWrite('enterpriseId')" propsValue="f_id" popupWidth="800px"
|
||||||
|
popupTitle="选择数据" popupType="dialog" relationField='f_full_name'
|
||||||
|
field='enterpriseId' interfaceId="522729853024209157" :pageSize="20"
|
||||||
|
:columnOptions="enterpriseIdcolumnOptions" clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfPopupSelect>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" v-if="judgeShow('warehouseId')">
|
||||||
|
<jnpf-form-tip-item label="发货仓库" v-if="judgeShow('warehouseId')" prop="warehouseId">
|
||||||
|
<JnpfPopupSelect v-model="dataForm.warehouseId" @change="changeData('warehouseId',-1)"
|
||||||
|
:rowIndex="null" :formData="dataForm" :templateJson="interfaceRes.warehouseId"
|
||||||
|
placeholder="请选择" :disabled="judgeWrite('warehouseId')" propsValue="id"
|
||||||
|
popupWidth="800px" popupTitle="选择数据" popupType="dialog" relationField='name'
|
||||||
|
field='warehouseId' interfaceId="529573170819104773" :pageSize="20"
|
||||||
|
:columnOptions="warehouseIdcolumnOptions" clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfPopupSelect>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" v-if="judgeShow('deliveryAddress')">
|
||||||
|
<jnpf-form-tip-item label="发货地址" v-if="judgeShow('deliveryAddress')"
|
||||||
|
prop="deliveryAddress">
|
||||||
|
<JnpfPopupSelect v-model="dataForm.deliveryAddress"
|
||||||
|
@change="changeData('deliveryAddress',-1)" :rowIndex="null" :formData="dataForm"
|
||||||
|
:templateJson="interfaceRes.deliveryAddress" placeholder="请选择"
|
||||||
|
:disabled="judgeWrite('deliveryAddress')" propsValue="id" popupWidth="800px"
|
||||||
|
popupTitle="选择数据" popupType="dialog" relationField='addressDetail'
|
||||||
|
field='deliveryAddress' interfaceId="522724961224231173" :pageSize="20"
|
||||||
|
:columnOptions="deliveryAddresscolumnOptions" clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfPopupSelect>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<jnpf-form-tip-item>
|
||||||
|
<JnpfGroupTitle content="其他信息" contentPosition="left">
|
||||||
|
</JnpfGroupTitle>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" v-if="judgeShow('remark')">
|
||||||
|
<jnpf-form-tip-item label="备注" v-if="judgeShow('remark')" prop="remark">
|
||||||
|
<JnpfTextarea v-model="dataForm.remark" @change="changeData('remark',-1)"
|
||||||
|
placeholder="请输入" :disabled="judgeWrite('remark')" :style='{"width":"100%"}' true
|
||||||
|
type="textarea" :autosize='{"minRows":4,"maxRows":4}'>
|
||||||
|
</JnpfTextarea>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<jnpf-form-tip-item>
|
||||||
|
<JnpfGroupTitle content="商品信息" contentPosition="left">
|
||||||
|
</JnpfGroupTitle>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" v-if="judgeShow('-${html.relationField}')">
|
||||||
|
<jnpf-form-tip-item label-width="0">
|
||||||
|
<div class="JNPF-common-title">
|
||||||
|
<h2></h2>
|
||||||
|
</div>
|
||||||
|
<el-table :data="dataForm.warehousingProductList" size='mini'>
|
||||||
|
<el-table-column type="index" width="50" label="序号" align="center" />
|
||||||
|
<el-table-column label="商品名称" v-if="judgeShow('warehousingproduct-productName')"
|
||||||
|
prop="productName">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousingproductList-productName')">*</span>商品名称
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="scope.row.productName"
|
||||||
|
@change="changeData('warehousingproduct-productName',scope.$index)"
|
||||||
|
placeholder="请输入"
|
||||||
|
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-productName')"
|
||||||
|
clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="规格" v-if="judgeShow('warehousingproduct-spec')" prop="spec">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousingproductList-spec')">*</span>规格
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="scope.row.spec"
|
||||||
|
@change="changeData('warehousingproduct-spec',scope.$index)" placeholder="请输入"
|
||||||
|
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-spec')"
|
||||||
|
clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="库存单位" v-if="judgeShow('warehousingproduct-inventoryUnitId')"
|
||||||
|
prop="inventoryUnitId">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousingproductList-inventoryUnitId')">*</span>库存单位
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="scope.row.inventoryUnitId"
|
||||||
|
@change="changeData('warehousingproduct-inventoryUnitId',scope.$index)"
|
||||||
|
placeholder="请输入"
|
||||||
|
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-inventoryUnitId')"
|
||||||
|
clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="销售单位" v-if="judgeShow('warehousingproduct-purchaseUnitId')"
|
||||||
|
prop="purchaseUnitId">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousingproductList-purchaseUnitId')">*</span>销售单位
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="scope.row.purchaseUnitId"
|
||||||
|
@change="changeData('warehousingproduct-purchaseUnitId',scope.$index)"
|
||||||
|
placeholder="请输入"
|
||||||
|
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-purchaseUnitId')"
|
||||||
|
clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="销售数量" v-if="judgeShow('warehousingproduct-purchaseNum')"
|
||||||
|
prop="purchaseNum">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousingproductList-purchaseNum')">*</span>销售数量
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="scope.row.purchaseNum"
|
||||||
|
@change="changeData('warehousingproduct-purchaseNum',scope.$index)"
|
||||||
|
placeholder="请输入"
|
||||||
|
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-purchaseNum')"
|
||||||
|
clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="出库货区" v-if="judgeShow('warehousingproduct-storageAreaId')"
|
||||||
|
prop="storageAreaId">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousingproductList-storageAreaId')">*</span>出库货区
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="scope.row.storageAreaId"
|
||||||
|
@change="changeData('warehousingproduct-storageAreaId',scope.$index)"
|
||||||
|
placeholder="请输入"
|
||||||
|
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-storageAreaId')"
|
||||||
|
clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="出库单位"
|
||||||
|
v-if="judgeShow('warehousingproduct-warehousingUnitId')" prop="warehousingUnitId">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousingproductList-warehousingUnitId')">*</span>出库单位
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="scope.row.warehousingUnitId"
|
||||||
|
@change="changeData('warehousingproduct-warehousingUnitId',scope.$index)"
|
||||||
|
placeholder="请输入"
|
||||||
|
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-warehousingUnitId')"
|
||||||
|
clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<!-- <el-table-column label="包装条码" v-if="judgeShow('warehousingproduct-barCode')"
|
||||||
|
prop="barCode">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousingproductList-barCode')">*</span>包装条码
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="scope.row.barCode"
|
||||||
|
@change="changeData('warehousingproduct-barCode',scope.$index)"
|
||||||
|
placeholder="请输入"
|
||||||
|
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-barCode')"
|
||||||
|
clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column> -->
|
||||||
|
<el-table-column label="通知出库数量"
|
||||||
|
v-if="judgeShow('warehousingproduct-notificationStorageNumber')"
|
||||||
|
prop="notificationStorageNumber">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousingproductList-notificationStorageNumber')">*</span>通知出库数量
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="scope.row.notificationStorageNumber"
|
||||||
|
@change="changeData('warehousingproduct-notificationStorageNumber',scope.$index)"
|
||||||
|
placeholder="请输入"
|
||||||
|
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-notificationStorageNumber')"
|
||||||
|
clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<!-- <el-table-column label="体积" v-if="judgeShow('warehousingproduct-volume')"
|
||||||
|
prop="volume">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousingproductList-volume')">*</span>体积
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="scope.row.volume"
|
||||||
|
@change="changeData('warehousingproduct-volume',scope.$index)"
|
||||||
|
placeholder="请输入"
|
||||||
|
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-volume')"
|
||||||
|
clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column> -->
|
||||||
|
<el-table-column label="批次号" v-if="judgeShow('warehousingproduct-batchNo')"
|
||||||
|
prop="batchNo">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousingproductList-batchNo')">*</span>批次号
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="scope.row.batchNo"
|
||||||
|
@change="changeData('warehousingproduct-batchNo',scope.$index)"
|
||||||
|
placeholder="请输入"
|
||||||
|
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-batchNo')"
|
||||||
|
clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="生产日期" v-if="judgeShow('warehousingproduct-produceDate')"
|
||||||
|
prop="produceDate">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousingproductList-produceDate')">*</span>生产日期
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfDatePicker v-model="scope.row.produceDate"
|
||||||
|
@change="changeData('warehousingproduct-produceDate',scope.$index)"
|
||||||
|
:startTime="dateTime(false,1,1,'','')" :endTime="dateTime(false,1,1,'','')"
|
||||||
|
placeholder="请选择"
|
||||||
|
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-produceDate')"
|
||||||
|
clearable :style='{"width":"100%"}' type="date" format="yyyy-MM-dd">
|
||||||
|
</JnpfDatePicker>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="备注" v-if="judgeShow('warehousingproduct-remark')"
|
||||||
|
prop="remark">
|
||||||
|
<template slot="header">
|
||||||
|
<span class="required-sign"
|
||||||
|
v-if="judgeRequired('warehousingproductList-remark')">*</span>备注
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput v-model="scope.row.remark"
|
||||||
|
@change="changeData('warehousingproduct-remark',scope.$index)"
|
||||||
|
placeholder="请输入"
|
||||||
|
:disabled="judgeWrite('warehousingproductList')||judgeWrite('warehousingproductList-remark')"
|
||||||
|
clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<!-- <el-table-column label="操作" width="50" v-if="!judgeWrite('warehousingproductList')">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button size="mini" type="text" class="JNPF-table-delBtn"
|
||||||
|
@click="delwarehousingproductList(scope.$index)">删除</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column> -->
|
||||||
|
</el-table>
|
||||||
|
<!-- <div class="table-actions" @click="addwarehousingproductList()"
|
||||||
|
v-if="!judgeWrite('warehousingproductList')">
|
||||||
|
<el-button type="text" icon="el-icon-plus">添加</el-button>
|
||||||
|
</div> -->
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<!-- 表单结束 -->
|
||||||
|
</template>
|
||||||
|
<SelectDialog v-if="selectDialogVisible" :config="currTableConf" :formData="dataForm"
|
||||||
|
ref="selectDialog" @select="addForSelect" @close="selectDialogVisible=false" />
|
||||||
|
</el-form>
|
||||||
|
</el-row>
|
||||||
|
<UserBox v-if="userBoxVisible" ref="userBox" @submit="submit" />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import request from '@/utils/request'
|
||||||
|
import { mapGetters } from "vuex";
|
||||||
|
import { getFormById } from '@/api/workFlow/FormDesign'
|
||||||
|
import comMixin from '@/views/workFlow/workFlowForm/mixin';
|
||||||
|
import { getDataInterfaceRes } from '@/api/systemData/dataInterface'
|
||||||
|
import { getDictionaryDataSelector } from '@/api/systemData/dictionary'
|
||||||
|
import { getDefaultCurrentValueUserId } from '@/api/permission/user'
|
||||||
|
import { getDefaultCurrentValueDepartmentId } from '@/api/permission/organize'
|
||||||
|
import { getDateDay, getLaterData, getBeforeData, getBeforeTime, getLaterTime } from '@/components/Generator/utils/index.js'
|
||||||
|
import { thousandsFormat } from "@/components/Generator/utils/index"
|
||||||
|
export default {
|
||||||
|
mixins: [comMixin],
|
||||||
|
components: {},
|
||||||
|
props: [],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
dataFormSubmitType: 0,
|
||||||
|
continueBtnLoading: false,
|
||||||
|
index: 0,
|
||||||
|
prevDis: false,
|
||||||
|
nextDis: false,
|
||||||
|
allList: [],
|
||||||
|
visible: false,
|
||||||
|
loading: false,
|
||||||
|
btnLoading: false,
|
||||||
|
formRef: 'formRef',
|
||||||
|
setting: {},
|
||||||
|
eventType: '',
|
||||||
|
userBoxVisible: false,
|
||||||
|
selectDialogVisible: false,
|
||||||
|
currTableConf: {},
|
||||||
|
dataValueAll: {},
|
||||||
|
addTableConf: {
|
||||||
|
warehousingProductList: { "popupType": "dialog", "hasPage": true, "popupTitle": "选择数据", "pageSize": 20, "columnOptions": [], "interfaceId": "", "interfaceName": "", "relationOptions": [], "templateJson": [], "popupWidth": "800px" },
|
||||||
|
},
|
||||||
|
//可选范围默认值
|
||||||
|
ableAll: {
|
||||||
|
},
|
||||||
|
tableRows: {
|
||||||
|
warehousingProductList: {
|
||||||
|
productName: '',
|
||||||
|
productNameOptions: [],
|
||||||
|
spec: '',
|
||||||
|
specOptions: [],
|
||||||
|
inventoryUnitId: '',
|
||||||
|
inventoryUnitIdOptions: [],
|
||||||
|
purchaseUnitId: '',
|
||||||
|
purchaseUnitIdOptions: [],
|
||||||
|
purchaseNum: '',
|
||||||
|
purchaseNumOptions: [],
|
||||||
|
storageAreaId: '',
|
||||||
|
storageAreaIdOptions: [],
|
||||||
|
warehousingUnitId: '',
|
||||||
|
warehousingUnitIdOptions: [],
|
||||||
|
barCode: '',
|
||||||
|
barCodeOptions: [],
|
||||||
|
notificationStorageNumber: '',
|
||||||
|
notificationStorageNumberOptions: [],
|
||||||
|
volume: '',
|
||||||
|
volumeOptions: [],
|
||||||
|
batchNo: '',
|
||||||
|
batchNoOptions: [],
|
||||||
|
produceDate: '',
|
||||||
|
produceDateOptions: [],
|
||||||
|
remark: '',
|
||||||
|
remarkOptions: [],
|
||||||
|
enabledmark: undefined
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Vmodel: "",
|
||||||
|
currVmodel: "",
|
||||||
|
dataForm: {
|
||||||
|
warehousingType: "1",
|
||||||
|
warehousingCode: undefined,
|
||||||
|
preparationTime: undefined,
|
||||||
|
businessId: undefined,
|
||||||
|
subjectBasicId: undefined,
|
||||||
|
shippingAddress: undefined,
|
||||||
|
enterpriseId: undefined,
|
||||||
|
warehouseId: undefined,
|
||||||
|
deliveryAddress: undefined,
|
||||||
|
remark: undefined,
|
||||||
|
warehousingProductList: [],
|
||||||
|
saleOrderInfo: [],
|
||||||
|
version: 0,
|
||||||
|
},
|
||||||
|
tableRequiredData: {},
|
||||||
|
dataRule:
|
||||||
|
{
|
||||||
|
},
|
||||||
|
warehousingTypeOptions: [{ "fullName": "采购入库", "id": "1" }],
|
||||||
|
warehousingTypeProps: { "label": "fullName", "value": "id" },
|
||||||
|
businessIdcolumnOptions: [{ "label": "订单编号", "value": "code" },],
|
||||||
|
subjectBasicIdcolumnOptions: [{ "label": "名称", "value": "name" },],
|
||||||
|
enterpriseIdcolumnOptions: [{ "label": "机构名称", "value": "f_full_name" },],
|
||||||
|
warehouseIdcolumnOptions: [{ "label": "名称", "value": "name" },],
|
||||||
|
deliveryAddresscolumnOptions: [{ "label": "地址详情", "value": "addressDetail" },],
|
||||||
|
childIndex: -1,
|
||||||
|
isEdit: false,
|
||||||
|
interfaceRes: {
|
||||||
|
warehousingType: [],
|
||||||
|
warehousingCode: [],
|
||||||
|
preparationTime: [],
|
||||||
|
businessId: [],
|
||||||
|
subjectBasicId: [],
|
||||||
|
shippingAddress: [],
|
||||||
|
enterpriseId: [],
|
||||||
|
warehouseId: [{ "dataType": "varchar", "defaultValue": "", "field": "businessLineId", "fieldName": "", "id": "PneOdw1", "jnpfKey": null, "relationField": null, "required": "0" }],
|
||||||
|
deliveryAddress: [{ "dataType": "varchar", "defaultValue": "", "field": "businessOrganizeId", "fieldName": "", "id": "AyAmdw1", "jnpfKey": "popupSelect", "relationField": "warehouseId", "required": "0" }],
|
||||||
|
remark: [],
|
||||||
|
warehousingproductproductName: [],
|
||||||
|
warehousingproductspec: [],
|
||||||
|
warehousingproductinventoryUnitId: [],
|
||||||
|
warehousingproductpurchaseUnitId: [],
|
||||||
|
warehousingproductpurchaseNum: [],
|
||||||
|
warehousingproductstorageAreaId: [],
|
||||||
|
warehousingproductwarehousingUnitId: [],
|
||||||
|
warehousingproductbarCode: [],
|
||||||
|
warehousingproductnotificationStorageNumber: [],
|
||||||
|
warehousingproductvolume: [],
|
||||||
|
warehousingproductbatchNo: [],
|
||||||
|
warehousingproductproduceDate: [],
|
||||||
|
warehousingproductremark: [],
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
formOperates() {
|
||||||
|
return this.setting.formOperates
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {},
|
||||||
|
created() {
|
||||||
|
this.getFormById()
|
||||||
|
if (this.dataForm.id == null || this.dataForm.id == '' && this.dataForm.id == undefined || this.dataForm.id == 0) {
|
||||||
|
this.initDefaultData()
|
||||||
|
}
|
||||||
|
this.dataValueAll = JSON.parse(JSON.stringify(this.dataForm))
|
||||||
|
},
|
||||||
|
mounted() { },
|
||||||
|
methods: {
|
||||||
|
getSaleOrder(val, val2) {
|
||||||
|
debugger
|
||||||
|
this.dataForm.saleOrderInfo[0] = val2
|
||||||
|
this.dataForm.subjectBasicId = val2.firstSubjectBasicId
|
||||||
|
this.dataForm.shippingAddress = val2.receiveAddress
|
||||||
|
this.dataForm.enterpriseId = val2.enterpriseId
|
||||||
|
this.dataForm.warehouseId = val2.deliveryWarehouse
|
||||||
|
this.dataForm.deliveryAddress = val2.deliveryAddress
|
||||||
|
val2.businessOrderProductRelationalList.forEach((item, index) => {
|
||||||
|
item.productName = item.name
|
||||||
|
item.purchaseUnitId = item.salesMainUnitId
|
||||||
|
item.purchaseNum = item.businessNum
|
||||||
|
})
|
||||||
|
this.dataForm.warehousingProductList = val2.businessOrderProductRelationalList
|
||||||
|
},
|
||||||
|
changeData(model, index) {
|
||||||
|
this.isEdit = false
|
||||||
|
this.childIndex = index
|
||||||
|
let modelAll = model.split("-");
|
||||||
|
let faceMode = "";
|
||||||
|
for (let i = 0; i < modelAll.length; i++) {
|
||||||
|
faceMode += modelAll[i];
|
||||||
|
}
|
||||||
|
for (let key in this.interfaceRes) {
|
||||||
|
if (key != faceMode) {
|
||||||
|
let faceReList = this.interfaceRes[key]
|
||||||
|
for (let i = 0; i < faceReList.length; i++) {
|
||||||
|
if (faceReList[i].relationField == model) {
|
||||||
|
let options = 'get' + key + 'Options';
|
||||||
|
if (this[options]) {
|
||||||
|
this[options]()
|
||||||
|
}
|
||||||
|
this.changeData(key, index)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
changeDataFormData(type, data, model, index, defaultValue) {
|
||||||
|
if (!this.isEdit) {
|
||||||
|
if (type == 2) {
|
||||||
|
for (let i = 0; i < this.dataForm[data].length; i++) {
|
||||||
|
if (index == -1) {
|
||||||
|
this.dataForm[data][i][model] = defaultValue
|
||||||
|
} else if (index == i) {
|
||||||
|
this.dataForm[data][i][model] = defaultValue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.dataForm[data] = defaultValue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
dataAll() {
|
||||||
|
},
|
||||||
|
selfGetInfo(dataForm) {
|
||||||
|
this.dataInfo(dataForm)
|
||||||
|
},
|
||||||
|
beforeSubmit() {
|
||||||
|
const _data = this.dataList()
|
||||||
|
return _data
|
||||||
|
},
|
||||||
|
selfInit() {
|
||||||
|
this.dataAll()
|
||||||
|
},
|
||||||
|
getFormById() {
|
||||||
|
getFormById("529305238373400645").then(res => {
|
||||||
|
this.dataForm.flowId = res.data && res.data.flowId
|
||||||
|
// this.encode = res.data&&res.data.encode
|
||||||
|
})
|
||||||
|
},
|
||||||
|
exist() {
|
||||||
|
let isOk = true
|
||||||
|
for (let key in this.tableRequiredData) {
|
||||||
|
if (this.dataForm[key] && Array.isArray(this.dataForm[key])) {
|
||||||
|
for (let i = 0; i < this.dataForm[key].length; i++) {
|
||||||
|
let item = this.dataForm[key][i]
|
||||||
|
inner: for (let id in item) {
|
||||||
|
let arr = this.tableRequiredData[key].filter(o => o.id === id) || []
|
||||||
|
if (!arr.length) continue inner
|
||||||
|
if (arr[0].required) {
|
||||||
|
let msg = `${arr[0].name}不能为空`
|
||||||
|
let boo = true
|
||||||
|
if (arr[0].dataType === 'array') {
|
||||||
|
boo = !this.jnpf.isEmptyArray(item[id])
|
||||||
|
} else {
|
||||||
|
boo = !this.jnpf.isEmpty(item[id])
|
||||||
|
}
|
||||||
|
if (!boo) {
|
||||||
|
this.$message({
|
||||||
|
message: msg,
|
||||||
|
type: 'error',
|
||||||
|
duration: 1000
|
||||||
|
})
|
||||||
|
isOk = false
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!this.warehousingproductExist()) return
|
||||||
|
return isOk
|
||||||
|
},
|
||||||
|
warehousingproductExist() {
|
||||||
|
let isOk = true;
|
||||||
|
for (let i = 0; i < this.dataForm.warehousingProductList.length; i++) {
|
||||||
|
const e = this.dataForm.warehousingProductList[i];
|
||||||
|
}
|
||||||
|
return isOk;
|
||||||
|
},
|
||||||
|
goBack() {
|
||||||
|
this.$emit('refresh')
|
||||||
|
},
|
||||||
|
clearData() {
|
||||||
|
this.dataForm = JSON.parse(JSON.stringify(this.dataValueAll))
|
||||||
|
},
|
||||||
|
//初始化默认数据
|
||||||
|
initDefaultData() {
|
||||||
|
|
||||||
|
},
|
||||||
|
addwarehousingproductList() {
|
||||||
|
let item = {
|
||||||
|
productName: undefined,
|
||||||
|
spec: undefined,
|
||||||
|
inventoryUnitId: undefined,
|
||||||
|
purchaseUnitId: undefined,
|
||||||
|
purchaseNum: undefined,
|
||||||
|
storageAreaId: undefined,
|
||||||
|
warehousingUnitId: undefined,
|
||||||
|
barCode: undefined,
|
||||||
|
notificationStorageNumber: undefined,
|
||||||
|
volume: undefined,
|
||||||
|
batchNo: undefined,
|
||||||
|
produceDate: undefined,
|
||||||
|
remark: undefined,
|
||||||
|
}
|
||||||
|
this.getwarehousingproductList(item)
|
||||||
|
},
|
||||||
|
delwarehousingproductList(index) {
|
||||||
|
this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
|
||||||
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
|
this.dataForm.warehousingProductList.splice(index, 1);
|
||||||
|
}).catch(() => {
|
||||||
|
});
|
||||||
|
},
|
||||||
|
getwarehousingproductList(value) {
|
||||||
|
let item = { ...this.tableRows.warehousingProductList, ...value }
|
||||||
|
this.dataForm.warehousingProductList.push(item)
|
||||||
|
this.childIndex = this.dataForm.warehousingProductList.length - 1
|
||||||
|
this.isEdit = true
|
||||||
|
this.isEdit = false
|
||||||
|
this.childIndex = -1
|
||||||
|
},
|
||||||
|
openSelectDialog(key) {
|
||||||
|
this.currTableConf = this.addTableConf[key]
|
||||||
|
this.currVmodel = key
|
||||||
|
this.selectDialogVisible = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.selectDialog.init()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
addForSelect(data) {
|
||||||
|
for (let i = 0; i < data.length; i++) {
|
||||||
|
let t = data[i]
|
||||||
|
if (this['get' + this.currVmodel]) {
|
||||||
|
this['get' + this.currVmodel](t)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
dateTime(timeRule, timeType, timeTarget, timeValueData, dataValue) {
|
||||||
|
let timeDataValue = null;
|
||||||
|
let timeValue = Number(timeValueData)
|
||||||
|
if (timeRule) {
|
||||||
|
if (timeType == 1) {
|
||||||
|
timeDataValue = timeValue
|
||||||
|
} else if (timeType == 2) {
|
||||||
|
timeDataValue = dataValue
|
||||||
|
} else if (timeType == 3) {
|
||||||
|
timeDataValue = new Date().getTime()
|
||||||
|
} else if (timeType == 4) {
|
||||||
|
let previousDate = '';
|
||||||
|
if (timeTarget == 1 || timeTarget == 2) {
|
||||||
|
previousDate = getDateDay(timeTarget, timeType, timeValue)
|
||||||
|
timeDataValue = new Date(previousDate).getTime()
|
||||||
|
} else if (timeTarget == 3) {
|
||||||
|
previousDate = getBeforeData(timeValue)
|
||||||
|
timeDataValue = new Date(previousDate).getTime()
|
||||||
|
} else {
|
||||||
|
timeDataValue = getBeforeTime(timeTarget, timeValue).getTime()
|
||||||
|
}
|
||||||
|
} else if (timeType == 5) {
|
||||||
|
let previousDate = '';
|
||||||
|
if (timeTarget == 1 || timeTarget == 2) {
|
||||||
|
previousDate = getDateDay(timeTarget, timeType, timeValue)
|
||||||
|
timeDataValue = new Date(previousDate).getTime()
|
||||||
|
} else if (timeTarget == 3) {
|
||||||
|
previousDate = getLaterData(timeValue)
|
||||||
|
timeDataValue = new Date(previousDate).getTime()
|
||||||
|
} else {
|
||||||
|
timeDataValue = getLaterTime(timeTarget, timeValue).getTime()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return timeDataValue;
|
||||||
|
},
|
||||||
|
time(timeRule, timeType, timeTarget, timeValue, formatType, dataValue) {
|
||||||
|
let format = formatType == 'HH:mm' ? 'HH:mm:00' : formatType
|
||||||
|
let timeDataValue = null
|
||||||
|
if (timeRule) {
|
||||||
|
if (timeType == 1) {
|
||||||
|
timeDataValue = timeValue || '00:00:00'
|
||||||
|
if (timeDataValue.split(':').length == 3) {
|
||||||
|
timeDataValue = timeDataValue
|
||||||
|
} else {
|
||||||
|
timeDataValue = timeDataValue + ':00'
|
||||||
|
}
|
||||||
|
} else if (timeType == 2) {
|
||||||
|
timeDataValue = dataValue
|
||||||
|
} else if (timeType == 3) {
|
||||||
|
timeDataValue = this.jnpf.toDate(new Date(), format)
|
||||||
|
} else if (timeType == 4) {
|
||||||
|
let previousDate = '';
|
||||||
|
previousDate = getBeforeTime(timeTarget, timeValue)
|
||||||
|
timeDataValue = this.jnpf.toDate(previousDate, format)
|
||||||
|
} else if (timeType == 5) {
|
||||||
|
let previousDate = '';
|
||||||
|
previousDate = getLaterTime(timeTarget, timeValue)
|
||||||
|
timeDataValue = this.jnpf.toDate(previousDate, format)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return timeDataValue;
|
||||||
|
},
|
||||||
|
dataList() {
|
||||||
|
var _data = this.dataForm;
|
||||||
|
return _data;
|
||||||
|
},
|
||||||
|
dataInfo(dataAll) {
|
||||||
|
let _dataAll = dataAll
|
||||||
|
this.dataForm = _dataAll
|
||||||
|
this.isEdit = true
|
||||||
|
this.dataAll()
|
||||||
|
for (let i = 0; i < _dataAll.warehousingProductList.length; i++) {
|
||||||
|
this.childIndex = i
|
||||||
|
}
|
||||||
|
this.childIndex = -1
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Reference in new issue