|
|
@@ -1,5 +1,6 @@
|
|
|
+<!-- 客户退货产品处理审批(内部生产物品入库) -->
|
|
|
<template>
|
|
|
- <div class="ele-body">
|
|
|
+ <div class="interiorProductionStorage">
|
|
|
<el-card shadow="never">
|
|
|
<header-title title="基本信息"></header-title>
|
|
|
<el-form
|
|
|
@@ -10,110 +11,84 @@
|
|
|
>
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="物品类型" prop="extInfo.assetType">
|
|
|
- <span>产品</span>
|
|
|
- <!-- <selectTree
|
|
|
- ref="tree"
|
|
|
- class="form-ipt"
|
|
|
- size="medium"
|
|
|
- style="width: 100%"
|
|
|
- :value="formData.extInfo.assetType"
|
|
|
- clearable
|
|
|
- :options="codeList"
|
|
|
- :props="{
|
|
|
- value: 'id',
|
|
|
- label: 'name',
|
|
|
- children: 'children'
|
|
|
- }"
|
|
|
- @getValue="codeListValue"
|
|
|
- :isAll="false"
|
|
|
- /> -->
|
|
|
+ <el-form-item label="物品类型" prop="formData.extInfo.assetType">
|
|
|
+ <span>{{ assetTypeMapping[formData.extInfo.assetType] }}</span>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="入库类型" prop="bizType">
|
|
|
+ <el-form-item label="入库类型" prop="formData.bizType">
|
|
|
+ <!-- <span>{{ inboundTypeMapping[formData.bizType] }}</span> -->
|
|
|
<span>生产入库</span>
|
|
|
- <!-- <el-select
|
|
|
- @change="onClear"
|
|
|
- filterable
|
|
|
- placeholder="请选择"
|
|
|
- v-model="formData.bizType"
|
|
|
- clearable
|
|
|
- :disabled="
|
|
|
- !!(warehousingMaterialList && warehousingMaterialList.length)
|
|
|
- "
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in sceneState"
|
|
|
- :key="item.code"
|
|
|
- :value="item.code + ''"
|
|
|
- :label="item.label"
|
|
|
- ></el-option>
|
|
|
- </el-select> -->
|
|
|
</el-form-item></el-col
|
|
|
>
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="生产工单" prop="documentSource">
|
|
|
- <span>{{ formData.extInfo.documentSource }}</span>
|
|
|
+ <el-form-item label="生产工单" prop="formData.sourceBizNo">
|
|
|
+ <el-input
|
|
|
+ v-if="!formData.isStorage"
|
|
|
+ placeholder="生产工单"
|
|
|
+ v-model="formData.sourceBizNo"
|
|
|
+ clearable
|
|
|
+ />
|
|
|
+ <span v-else>{{ formData.sourceBizNo }}</span>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="权属部门" prop="deptName">
|
|
|
<el-input
|
|
|
+ v-if="!formData.isStorage"
|
|
|
placeholder="权属部门"
|
|
|
disabled
|
|
|
v-model="formData.extInfo.deptName"
|
|
|
clearable
|
|
|
/>
|
|
|
+ <span v-else>{{ formData.extInfo.deptName }}</span>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="入库登记人">
|
|
|
<el-input
|
|
|
+ v-if="!formData.isStorage"
|
|
|
placeholder="登记人"
|
|
|
disabled
|
|
|
v-model="formData.extInfo.createUserName"
|
|
|
- clearable /></el-form-item
|
|
|
- ></el-col>
|
|
|
- <el-col :span="8" v-if="formData.bizType == 2">
|
|
|
- <el-form-item label="供应商" prop="supplierName">
|
|
|
- <!-- <DictSelection
|
|
|
- dictName="经销商列表"
|
|
|
clearable
|
|
|
- v-model="formData.extInfo.supplierId"
|
|
|
- @itemChange="ChangeSupplier"
|
|
|
- /> -->
|
|
|
- <el-input
|
|
|
- placeholder="请输入"
|
|
|
- clearable
|
|
|
- v-model="formData.extInfo.supplierName"
|
|
|
/>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
+ <span v-else>{{ formData.extInfo.createUserName }}</span>
|
|
|
+ </el-form-item></el-col
|
|
|
+ >
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="送货人" prop="fromUser">
|
|
|
<el-input
|
|
|
+ v-if="!formData.isStorage"
|
|
|
placeholder="请输入"
|
|
|
v-model="formData.fromUser"
|
|
|
clearable
|
|
|
- /> </el-form-item
|
|
|
- ></el-col>
|
|
|
+ />
|
|
|
+ <span v-else>{{ formData.fromUser }}</span>
|
|
|
+ </el-form-item></el-col
|
|
|
+ >
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="送货人联系方式" prop="deliveryPhone">
|
|
|
<el-input
|
|
|
+ v-if="!formData.isStorage"
|
|
|
placeholder="请输入"
|
|
|
v-model="formData.extInfo.deliveryPhone"
|
|
|
- clearable /></el-form-item
|
|
|
- ></el-col>
|
|
|
+ clearable
|
|
|
+ />
|
|
|
+ <span v-else>{{ formData.extInfo.deliveryPhone }}</span>
|
|
|
+ </el-form-item></el-col
|
|
|
+ >
|
|
|
<el-col :span="24">
|
|
|
<el-form-item label="备注" prop="remark">
|
|
|
<el-input
|
|
|
+ v-if="!formData.isStorage"
|
|
|
v-model="formData.remark"
|
|
|
clearable
|
|
|
type="textarea"
|
|
|
placeholder="请详细说明"
|
|
|
:rows="4"
|
|
|
></el-input>
|
|
|
+ <span v-else>{{ formData.remark }}</span>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
@@ -121,7 +96,7 @@
|
|
|
|
|
|
<div class="material">
|
|
|
<header-title title="产品信息">
|
|
|
- <el-button type="primary" @click="addStock" v-if="!isTask"
|
|
|
+ <el-button type="primary" @click="addStock" v-if="!formData.isStorage"
|
|
|
>添加</el-button
|
|
|
>
|
|
|
</header-title>
|
|
|
@@ -133,7 +108,7 @@
|
|
|
:show-message="false"
|
|
|
>
|
|
|
<el-button
|
|
|
- v-if="warehousingMaterialList.length != 0"
|
|
|
+ v-if="warehousingMaterialList.length != 0 && !formData.isStorage"
|
|
|
type="success"
|
|
|
plain
|
|
|
style="margin-bottom: 20px; float: right; margin-right: 20px"
|
|
|
@@ -233,7 +208,9 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column label="" prop="minPackingCount">
|
|
|
<template slot-scope="{ row, $index }">
|
|
|
- {{ handleRowUnit(row) }} /{{ row.minPackUnit }}
|
|
|
+ {{ handleRowUnit(row) }} /{{
|
|
|
+ formData.isStorage ? row.packingUnit : row.minPackUnit
|
|
|
+ }}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table-column>
|
|
|
@@ -244,8 +221,11 @@
|
|
|
align="center"
|
|
|
>
|
|
|
<template slot-scope="{ row, $index }">
|
|
|
- <template v-if="row.isSave || formData.bizType == 5">
|
|
|
- {{ row.outInNum }} {{ row.minPackUnit }}
|
|
|
+ <template v-if="row.isSave">
|
|
|
+ <span v-if="formData.isStorage">{{
|
|
|
+ row.packingCount
|
|
|
+ }}</span>
|
|
|
+ <span v-else>{{ row.outInNum }} {{ row.minPackUnit }}</span>
|
|
|
</template>
|
|
|
<el-form-item
|
|
|
v-else
|
|
|
@@ -265,7 +245,10 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column label="计量数量" prop="counts">
|
|
|
<template slot-scope="{ row, $index }">
|
|
|
- {{ row.minPackingCount * row.outInNum }}
|
|
|
+ <span v-if="formData.isStorage">{{
|
|
|
+ row.packingCount * row.minPackingCount
|
|
|
+ }}</span>
|
|
|
+ <span v-else>{{ row.minPackingCount * row.outInNum }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
|
@@ -274,8 +257,6 @@
|
|
|
width="100"
|
|
|
align="center"
|
|
|
>
|
|
|
- <!-- v-if="formData.extInfo.assetType == 1" -->
|
|
|
-
|
|
|
<template slot-scope="{ row, $index }">
|
|
|
<template>
|
|
|
{{ row.measuringUnit }}
|
|
|
@@ -288,14 +269,10 @@
|
|
|
prop="contentImage"
|
|
|
:show-overflow-tooltip="true"
|
|
|
>
|
|
|
- <!-- v-if="formData.extInfo.assetType == 1" -->
|
|
|
<template slot-scope="{ row, $index }">
|
|
|
{{ row.weight }}
|
|
|
<template slot="append">
|
|
|
{{ handleRowUnit(row) }}
|
|
|
- <!-- {{
|
|
|
- { yuan: '元', wanyuan: '万元' }[row.univalenceUnit]
|
|
|
- }} -->
|
|
|
</template>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
@@ -318,6 +295,7 @@
|
|
|
>
|
|
|
<template slot-scope="{ row, $index }">
|
|
|
<el-form-item
|
|
|
+ v-if="!formData.isStorage"
|
|
|
:prop="`warehousingMaterialList.${$index}.univalence`"
|
|
|
>
|
|
|
<el-input
|
|
|
@@ -330,12 +308,10 @@
|
|
|
>
|
|
|
<template slot="append">
|
|
|
元/{{ handleRowUnit(row) }}
|
|
|
- <!-- {{
|
|
|
- { yuan: '元', wanyuan: '万元' }[row.univalenceUnit]
|
|
|
- }} -->
|
|
|
</template>
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
+ <span v-else>{{ row.price > 0 ? row.price : 0 }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
|
@@ -364,6 +340,7 @@
|
|
|
>
|
|
|
<template slot-scope="{ row, $index }">
|
|
|
<el-form-item
|
|
|
+ v-if="!formData.isStorage"
|
|
|
:prop="`warehousingMaterialList.${$index}.houseList`"
|
|
|
:required="true"
|
|
|
>
|
|
|
@@ -390,6 +367,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-form-item>
|
|
|
+ <span v-else>{{ row.position }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
|
@@ -406,6 +384,7 @@
|
|
|
</el-table-column>
|
|
|
|
|
|
<el-table-column
|
|
|
+ v-if="!formData.isStorage"
|
|
|
label="操作"
|
|
|
width="200"
|
|
|
fixed="right"
|
|
|
@@ -425,13 +404,6 @@
|
|
|
@click="listEdit(row, $index)"
|
|
|
>编辑</el-button
|
|
|
>
|
|
|
- <el-button
|
|
|
- type="text"
|
|
|
- v-if="formData.bizType == 5"
|
|
|
- v-show="!row.isSave"
|
|
|
- @click="chooseAssets(row, $index)"
|
|
|
- >选择资产编号</el-button
|
|
|
- >
|
|
|
<el-button
|
|
|
type="text"
|
|
|
@click="listDel(row, $index)"
|
|
|
@@ -446,9 +418,11 @@
|
|
|
<div class="mt20">
|
|
|
<header-title :title="`包装明细`">
|
|
|
<div class="switch_right">
|
|
|
- <span v-if="materialCodeReqList.length != 0">
|
|
|
+ <span
|
|
|
+ v-if="materialCodeReqList.length != 0 && !formData.isStorage"
|
|
|
+ >
|
|
|
分拆<el-switch
|
|
|
- v-model="isDetail"
|
|
|
+ v-model="isSplit"
|
|
|
active-color="#13ce66"
|
|
|
inactive-color="#ff4949"
|
|
|
@change="handleIsDetail"
|
|
|
@@ -458,10 +432,10 @@
|
|
|
</span>
|
|
|
|
|
|
<el-button
|
|
|
+ v-if="!formData.isStorage"
|
|
|
style="margin-left: 20px"
|
|
|
type="text"
|
|
|
@click="dateSetting"
|
|
|
- v-if="formData.bizType != 5"
|
|
|
>批量设置{{
|
|
|
curDateType === 'manufactureTime' ? '生产日期' : '采购日期'
|
|
|
}}</el-button
|
|
|
@@ -469,7 +443,7 @@
|
|
|
</div>
|
|
|
</header-title>
|
|
|
<el-button
|
|
|
- v-if="materialCodeReqList.length != 0"
|
|
|
+ v-if="materialCodeReqList.length != 0 && !formData.isStorage"
|
|
|
type="success"
|
|
|
plain
|
|
|
style="margin-bottom: 20px; float: right; margin-right: 20px"
|
|
|
@@ -493,7 +467,7 @@
|
|
|
type="selection"
|
|
|
align="center"
|
|
|
width="50"
|
|
|
- v-if="formData.bizType != 5"
|
|
|
+ v-if="!formData.isStorage"
|
|
|
>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="序号" type="index" width="50">
|
|
|
@@ -538,11 +512,7 @@
|
|
|
label="计量单位"
|
|
|
prop="measuringUnit"
|
|
|
></el-table-column>
|
|
|
- <el-table-column
|
|
|
- v-if="formData.bizType == 2 || formData.bizType == 1"
|
|
|
- label="物料代号"
|
|
|
- prop="materielCode"
|
|
|
- >
|
|
|
+ <el-table-column label="物料代号" prop="materielCode">
|
|
|
<template slot-scope="{ row }">
|
|
|
<el-input
|
|
|
v-if="!row.isPack"
|
|
|
@@ -551,11 +521,7 @@
|
|
|
<span v-else>{{ row.materielCode }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column
|
|
|
- v-if="formData.bizType == 2 || formData.bizType == 1"
|
|
|
- label="客户代号"
|
|
|
- prop="clientCode"
|
|
|
- >
|
|
|
+ <el-table-column label="客户代号" prop="clientCode">
|
|
|
<template slot-scope="{ row }">
|
|
|
<el-input
|
|
|
v-if="!row.isPack"
|
|
|
@@ -564,22 +530,13 @@
|
|
|
<span v-else> {{ row.clientCode }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column
|
|
|
- v-if="formData.bizType == 1"
|
|
|
- label="刻码"
|
|
|
- prop="engrave"
|
|
|
- >
|
|
|
+ <el-table-column label="刻码" prop="engrave">
|
|
|
<template slot-scope="{ row }">
|
|
|
<el-input v-if="!row.isPack" v-model="row.engrave"></el-input>
|
|
|
<span v-else>{{ row.engrave }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column
|
|
|
- v-if="formData.bizType == 2 || formData.bizType == 1"
|
|
|
- label="重量"
|
|
|
- prop="weight"
|
|
|
- width="100"
|
|
|
- >
|
|
|
+ <el-table-column label="重量" prop="weight" width="100">
|
|
|
<template slot-scope="{ row }">
|
|
|
<el-input
|
|
|
v-if="!row.isPack"
|
|
|
@@ -589,11 +546,7 @@
|
|
|
<span v-else>{{ row.weight }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column
|
|
|
- v-if="formData.bizType == 2 || formData.bizType == 1"
|
|
|
- label="重量单位"
|
|
|
- prop="weightUtil"
|
|
|
- >
|
|
|
+ <el-table-column label="重量单位" prop="weightUtil">
|
|
|
<template slot-scope="{ row }">
|
|
|
{{ row.weightUtil }}
|
|
|
</template>
|
|
|
@@ -617,14 +570,13 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
|
|
|
- <el-table-column
|
|
|
- v-if="formData.bizType != 5"
|
|
|
- label="生产日期"
|
|
|
- prop=""
|
|
|
- width="220"
|
|
|
- >
|
|
|
+ <el-table-column label="生产日期" prop="" width="220">
|
|
|
<template slot="header" slot-scope="scope">
|
|
|
- <el-select filterable v-model="curDateType">
|
|
|
+ <el-select
|
|
|
+ v-if="!formData.isStorage"
|
|
|
+ filterable
|
|
|
+ v-model="curDateType"
|
|
|
+ >
|
|
|
<el-option
|
|
|
value="manufactureTime"
|
|
|
label="生产日期"
|
|
|
@@ -636,11 +588,8 @@
|
|
|
</el-select>
|
|
|
</template>
|
|
|
<template slot-scope="{ row }">
|
|
|
- <template v-if="formData.bizType == 5">
|
|
|
- {{ row[curDateType] }}
|
|
|
- </template>
|
|
|
<el-date-picker
|
|
|
- v-else
|
|
|
+ v-if="!formData.isStorage"
|
|
|
:disabled="row.ispack"
|
|
|
size="small"
|
|
|
v-model="row[curDateType]"
|
|
|
@@ -649,21 +598,17 @@
|
|
|
placeholder="选择日期"
|
|
|
>
|
|
|
</el-date-picker>
|
|
|
+ <template v-else>
|
|
|
+ {{ row[curDateType] }}
|
|
|
+ </template>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <template v-else>
|
|
|
- <el-table-column
|
|
|
- label="生产日期"
|
|
|
- prop="manufactureTime"
|
|
|
- width="200"
|
|
|
- ></el-table-column>
|
|
|
- <el-table-column
|
|
|
- label="采购日期"
|
|
|
- prop="procurementTime"
|
|
|
- width="200"
|
|
|
- ></el-table-column>
|
|
|
- </template>
|
|
|
- <el-table-column label="操作" width="80" fixed="right">
|
|
|
+ <el-table-column
|
|
|
+ v-if="!formData.isStorage"
|
|
|
+ label="操作"
|
|
|
+ width="80"
|
|
|
+ fixed="right"
|
|
|
+ >
|
|
|
<template slot-scope="{ row }">
|
|
|
<el-button type="text" @click="packCout(row)">
|
|
|
{{ !row.isPack ? '保存' : '编辑' }}
|
|
|
@@ -674,10 +619,10 @@
|
|
|
<!-- </el-tab-pane>
|
|
|
</el-tabs> -->
|
|
|
</div>
|
|
|
- <div class="mt20" v-if="isDetail">
|
|
|
+ <div class="mt20" v-if="resultArray.length > 0 && isSplit">
|
|
|
<header-title :title="`物料明细`"> </header-title>
|
|
|
<el-button
|
|
|
- v-if="resultArray.length != 0"
|
|
|
+ v-if="resultArray.length > 0 && !formData.isStorage"
|
|
|
type="success"
|
|
|
plain
|
|
|
style="margin-bottom: 20px; float: right; margin-right: 20px"
|
|
|
@@ -730,11 +675,7 @@
|
|
|
label="计量单位"
|
|
|
prop="measuringUnit"
|
|
|
></el-table-column>
|
|
|
- <el-table-column
|
|
|
- v-if="formData.bizType == 2"
|
|
|
- label="物料代号"
|
|
|
- prop="meterielCode"
|
|
|
- >
|
|
|
+ <el-table-column label="物料代号" prop="meterielCode">
|
|
|
<template slot-scope="{ row }">
|
|
|
<el-input
|
|
|
v-model="row.materielCode"
|
|
|
@@ -743,11 +684,7 @@
|
|
|
<span v-else>{{ row.materialCode }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column
|
|
|
- v-if="formData.bizType == 2 || formData.bizType == 1"
|
|
|
- label="客户代号"
|
|
|
- prop="clientCode"
|
|
|
- >
|
|
|
+ <el-table-column label="客户代号" prop="clientCode">
|
|
|
<template slot-scope="{ row }">
|
|
|
<el-input
|
|
|
v-model="row.clientCode"
|
|
|
@@ -756,33 +693,19 @@
|
|
|
<span v-else> {{ row.clientCode }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column
|
|
|
- v-if="formData.bizType == 1"
|
|
|
- label="刻码"
|
|
|
- prop="engrave"
|
|
|
- >
|
|
|
+ <el-table-column label="刻码" prop="engrave">
|
|
|
<template slot-scope="{ row }">
|
|
|
<el-input v-model="row.engrave" v-if="!row.isPack"></el-input>
|
|
|
<span v-else> {{ row.engrave }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column
|
|
|
- width="100"
|
|
|
- v-if="formData.bizType == 2 || formData.bizType == 1"
|
|
|
- label="重量"
|
|
|
- prop="weight"
|
|
|
- >
|
|
|
+ <el-table-column width="100" label="重量" prop="weight">
|
|
|
<template slot-scope="{ row }">
|
|
|
<el-input v-model="row.weight" v-if="!row.isPack"></el-input>
|
|
|
<span v-else>{{ row.weight }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column
|
|
|
- v-if="formData.bizType == 2 || formData.bizType == 1"
|
|
|
- label="重量单位"
|
|
|
- prop="weightUnit"
|
|
|
- width="100"
|
|
|
- >
|
|
|
+ <el-table-column label="重量单位" prop="weightUnit" width="100">
|
|
|
</el-table-column>
|
|
|
<el-table-column label="质检结果" prop="result" width="120">
|
|
|
<template slot-scope="{ row }">
|
|
|
@@ -801,7 +724,12 @@
|
|
|
<span>{{ qualityStatus[row.status] }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="操作" width="80" fixed="right">
|
|
|
+ <el-table-column
|
|
|
+ v-if="!formData.isStorage"
|
|
|
+ label="操作"
|
|
|
+ width="80"
|
|
|
+ fixed="right"
|
|
|
+ >
|
|
|
<template slot-scope="{ row }">
|
|
|
<el-button type="text" @click="materialBtn(row)">
|
|
|
{{ !row.isPack ? '保存' : '编辑' }}
|
|
|
@@ -811,16 +739,6 @@
|
|
|
</el-table>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <!-- <div class="center mt20">
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- v-if="!isTask"
|
|
|
- @click="handleSave"
|
|
|
- :loading="saveLoading"
|
|
|
- >保存</el-button
|
|
|
- >
|
|
|
- <el-button @click="$router.go(-1)" v-if="!isTask">返回</el-button>
|
|
|
- </div> -->
|
|
|
</el-card>
|
|
|
|
|
|
<selectType
|
|
|
@@ -841,7 +759,12 @@
|
|
|
:tableHeader="tableHeader"
|
|
|
:curDateType="curDateType"
|
|
|
></ReturnSelect>
|
|
|
- <el-dialog :visible.sync="dateVisible" title="选择日期" width="400px">
|
|
|
+ <el-dialog
|
|
|
+ :append-to-body="true"
|
|
|
+ :visible.sync="dateVisible"
|
|
|
+ title="选择日期"
|
|
|
+ width="400px"
|
|
|
+ >
|
|
|
<el-date-picker
|
|
|
size="small"
|
|
|
v-model="batchTime"
|
|
|
@@ -912,6 +835,10 @@
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
+ codeList: [], // 物品类型列表
|
|
|
+ sceneState, // 入库类型
|
|
|
+ inboundTypeMapping: {}, // 入库类型映射表
|
|
|
+ assetTypeMapping: {}, // 物品类型映射表
|
|
|
showMaterialTable: true, // 缓存包装明细列表
|
|
|
isSplit: false, // 是否拆分到物料明细
|
|
|
qualityStatus: {
|
|
|
@@ -927,14 +854,11 @@
|
|
|
isTask: false,
|
|
|
isWeight: true,
|
|
|
resultArray: [],
|
|
|
- isDetail: false,
|
|
|
contactList: [],
|
|
|
pickerRow: {},
|
|
|
fromUserList: [],
|
|
|
- codeList: [],
|
|
|
materialType,
|
|
|
warehousingType,
|
|
|
- sceneState,
|
|
|
emergencyState,
|
|
|
saveLoading: false,
|
|
|
visibleDialog: false,
|
|
|
@@ -1041,28 +965,83 @@
|
|
|
return tableHeader(this.selectEquiType);
|
|
|
}
|
|
|
},
|
|
|
- created() {
|
|
|
- let obj = localStorage.getItem('orgInfo')
|
|
|
- ? JSON.parse(localStorage.getItem('orgInfo'))
|
|
|
- : {};
|
|
|
- this.formData.createUserName = obj.name;
|
|
|
- this.formData.extInfo.deptName = obj.dept?.name;
|
|
|
- this.formData.deptCode = obj.dept?.code;
|
|
|
- this.initData();
|
|
|
- },
|
|
|
async mounted() {
|
|
|
- let info = null;
|
|
|
- let res = await saleReturnGetByIdAPI(this.businessId);
|
|
|
- const data = await getOutInByIdAPI(res.returnInReceiptId);
|
|
|
- info = deepClone(data);
|
|
|
- console.log(info);
|
|
|
- this.formData.bizType = +info.bizType;
|
|
|
- this.formData.extInfo.assetType = +info.extInfo.assetType;
|
|
|
- this.$forceUpdate();
|
|
|
- this.title = '产品';
|
|
|
- this.selectEquiType = +info.extInfo.assetType;
|
|
|
+ await this.initData();
|
|
|
+ // innerInReceiptId内部入库单id(有说明已入库)
|
|
|
+ let returnDetailsForm = await saleReturnGetByIdAPI(this.businessId);
|
|
|
+ console.log(returnDetailsForm);
|
|
|
+ // 已经入库(详情)
|
|
|
+ if (returnDetailsForm.innerInReceiptId) {
|
|
|
+ getOutInByIdAPI(returnDetailsForm.innerInReceiptId).then((data) => {
|
|
|
+ console.log('有订单来源');
|
|
|
+ this.formData = deepClone(data);
|
|
|
+ console.log(this.formData);
|
|
|
+ this.isSplit = true;
|
|
|
+ // 增加是否已经入库字段
|
|
|
+ this.formData.isStorage = true;
|
|
|
+ // 填充遍历数据
|
|
|
+ if (this.formData.outInDetailVOList?.length > 0) {
|
|
|
+ this.warehousingMaterialList = []; // 物品列表
|
|
|
+ this.resultArray = []; // 物料列表
|
|
|
+ this.formData.outInDetailVOList.forEach((goodsiItem) => {
|
|
|
+ goodsiItem.assetCode = goodsiItem.categoryCode;
|
|
|
+ goodsiItem.assetName = goodsiItem.name;
|
|
|
+ goodsiItem.isSave = true;
|
|
|
+ goodsiItem.warehouseLedgerDetails =
|
|
|
+ goodsiItem.outInDetailRecordVOList;
|
|
|
+ goodsiItem.houseList = [];
|
|
|
+ this.warehousingMaterialList.push(goodsiItem);
|
|
|
+ goodsiItem.outInDetailRecordVOList.forEach((wrapItem) => {
|
|
|
+ wrapItem.assetCode = wrapItem.categoryCode;
|
|
|
+ wrapItem.assetName = wrapItem.name;
|
|
|
+ wrapItem.isPack = true;
|
|
|
+ wrapItem.outInDetailRecordMaterialDetailVOList.forEach(
|
|
|
+ (materialItem) => {
|
|
|
+ materialItem.isPack = true;
|
|
|
+ this.resultArray.push(materialItem);
|
|
|
+ }
|
|
|
+ );
|
|
|
+ });
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ console.log('没有订单来源');
|
|
|
+ // 销售退货入库
|
|
|
+ this.formData.bizType = '6';
|
|
|
+ // 物品类型
|
|
|
+ this.formData.extInfo.assetType = returnDetailsForm.categoryLevelTopId;
|
|
|
+ // 增加添加物品判断条件
|
|
|
+ this.title = this.assetTypeMapping[this.formData.extInfo.assetType];
|
|
|
+ this.selectEquiType = returnDetailsForm.categoryLevelTopId;
|
|
|
+ // 添加单据来源
|
|
|
+ this.formData.sourceBizNo = returnDetailsForm.returnHandleNo;
|
|
|
+ // 增加是否已经入库字段
|
|
|
+ this.formData.isStorage = false;
|
|
|
+ // 将出库状态改成入库状态 2出库 1入库
|
|
|
+ this.formData.type = 1;
|
|
|
+ }
|
|
|
},
|
|
|
methods: {
|
|
|
+ // 获取物品类型列表
|
|
|
+ async getAssetTypeOptions() {
|
|
|
+ const { data } = await getTreeByGroup({ type: 1 });
|
|
|
+ this.codeList = data;
|
|
|
+ let obj = {};
|
|
|
+ data.forEach((item) => {
|
|
|
+ obj[item.id] = item.name;
|
|
|
+ });
|
|
|
+ console.log('obj-----------', obj);
|
|
|
+ this.assetTypeMapping = obj;
|
|
|
+ },
|
|
|
+ // 入库类型映射表
|
|
|
+ async getInboundTypeMapping() {
|
|
|
+ let obj = {};
|
|
|
+ this.sceneState.forEach((item) => {
|
|
|
+ obj[item.code] = item.label;
|
|
|
+ });
|
|
|
+ this.inboundTypeMapping = obj;
|
|
|
+ },
|
|
|
// 包装维度最小包装单元改变——>总重量
|
|
|
minPackingCountChange(row, value) {
|
|
|
row.minPackingCount = value.replace(/^(0+)|[^\d]+/g, '');
|
|
|
@@ -1260,7 +1239,11 @@
|
|
|
console.log(arr);
|
|
|
// 首先判断是未填/合格不合格
|
|
|
let boolen = arr.every((item) => {
|
|
|
- return item.result === '' || item.result === undefined;
|
|
|
+ return (
|
|
|
+ item.result === '' ||
|
|
|
+ item.result === undefined ||
|
|
|
+ item.result === null
|
|
|
+ );
|
|
|
});
|
|
|
// 判断只要物料全部质检结果(未填)——>包装质检结果(未填) 状态(未检)
|
|
|
if (boolen) {
|
|
|
@@ -1445,9 +1428,9 @@
|
|
|
calcSumTotal(PackingCount, outInNum, univalence) {
|
|
|
//最小包装单元,包装数量,单价
|
|
|
const total = {
|
|
|
- PackingCount: Number(PackingCount),
|
|
|
- outInNum: Number(outInNum),
|
|
|
- univalence: Number(univalence == undefined ? 0 : univalence)
|
|
|
+ PackingCount: Number(PackingCount > 0 ? PackingCount : 0),
|
|
|
+ outInNum: Number(outInNum > 0 ? outInNum : 0),
|
|
|
+ univalence: Number(univalence > 0 ? univalence : 0)
|
|
|
};
|
|
|
return total.PackingCount * total.outInNum * total.univalence;
|
|
|
},
|
|
|
@@ -1558,7 +1541,7 @@
|
|
|
row.warehouseLedgerDetails = [];
|
|
|
// 清空物料明细防止数据错乱
|
|
|
this.resultArray = [];
|
|
|
- this.isDetail = false;
|
|
|
+ this.isSplit = false;
|
|
|
},
|
|
|
listSave(row, index) {
|
|
|
const fileds = [
|
|
|
@@ -1703,7 +1686,7 @@
|
|
|
listDel(row, index) {
|
|
|
this.warehousingMaterialList.splice(index, 1);
|
|
|
this.resultArray = [];
|
|
|
- this.isDetail = false;
|
|
|
+ this.isSplit = false;
|
|
|
},
|
|
|
// 入库明细生成条码信息
|
|
|
async createMaterialCode(row) {
|
|
|
@@ -2189,11 +2172,8 @@
|
|
|
);
|
|
|
},
|
|
|
async initData() {
|
|
|
- const { data } = await getTreeByGroup({ type: 1 });
|
|
|
- this.codeList = data;
|
|
|
- // .map((item) => {
|
|
|
- // return { dictCode: item.id, dictValue: item.name };
|
|
|
- // });
|
|
|
+ await this.getAssetTypeOptions();
|
|
|
+ await this.getInboundTypeMapping();
|
|
|
const res = await warehouseDefinition.tree();
|
|
|
this.treeList = this.$util.toTreeData({
|
|
|
data: res,
|