|
|
@@ -1,7 +1,7 @@
|
|
|
<template>
|
|
|
<div>
|
|
|
<layout>
|
|
|
- <h1 style="margin: 0%;margin-bottom: 6px;">入库</h1>
|
|
|
+ <!-- <h1 style="margin: 0%;margin-bottom: 6px;">入库</h1> -->
|
|
|
<el-row :gutter="24" style="margin-bottom: 6px;">
|
|
|
<el-input v-model="add_searchInfo" placeholder="请扫描订单编号或输入生产款号模糊查询" @input="handleInput"
|
|
|
@keyup.enter="add_onSubmit" id="searchInput" style="width: 340px;height: 50px;margin-left: 10px;">
|
|
|
@@ -10,6 +10,7 @@
|
|
|
<el-button type="primary" icon="reading" @click="details_onSubmit" style="height: 50px;font-size: 20px;">入库记录</el-button>
|
|
|
</el-row>
|
|
|
<layout>
|
|
|
+
|
|
|
<layout-content >
|
|
|
<div class="gva-table-box">
|
|
|
<el-table ref="multipleTable" style="width: 100%;height: 64vh" tooltip-effect="dark"
|
|
|
@@ -43,133 +44,93 @@
|
|
|
</layout>
|
|
|
</div>
|
|
|
|
|
|
-
|
|
|
+ <!-- 选择入库弹窗 -->
|
|
|
<el-dialog v-model="res_bomdialogFormVisible" :before-close="res_bomcloseDialog" width="100%" style="height: 100%;margin: 0%;padding: 0px 10px 0px 10px;" destroy-on-close>
|
|
|
<div class="dialog-footer" style="margin: 0px;">
|
|
|
<el-input v-model="add_lysearchInfo" placeholder="请扫描订单编号进行操作"
|
|
|
@keyup.enter="add_lyonSubmit" id="ly_searchInput" style="width: 340px;height: 50px;margin-left: 10px;">
|
|
|
</el-input>
|
|
|
<el-button type="primary" @click="res_bomcloseDialog" style="width: 100px;height: 50px;margin-left: 10px;">关 闭</el-button>
|
|
|
- <el-button type="primary" @click="print_lingyong" style="width: 100px;height: 50px;">增加至入库页</el-button>
|
|
|
- <el-button type="primary" @click="del_lingyong" style="width: 100px;height: 50px;">删除面料领用</el-button>
|
|
|
+ <el-button type="primary" @click="res_bomenterDialog" style="width: 100px;height: 50px;">一键入库</el-button>
|
|
|
</div>
|
|
|
+ <el-divider><span class="print-title" style="font-size: 18px;">面料入库页</span></el-divider>
|
|
|
+ <div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px;">
|
|
|
+ <p style="font-size: 18px;margin-right: 20px;">领用单号: <el-input v-model="danhao" style="width: 200px;" disabled/></p>
|
|
|
+ <p style="font-size: 18px;margin-right: 20px;">领用日期:<el-input v-model="riqi" style="width: 200px;" disabled/></p>
|
|
|
+ </div>
|
|
|
|
|
|
- <!-- 上面部分 -->
|
|
|
- <el-divider style="margin: 10px 0px 20px;" ><span style="font-size: 18px;color:red;font-weight: bold;margin-left: 20px;">绿色部分填写入库数量</span></el-divider>
|
|
|
<el-descriptions class="margin-top" :column="4" :size="size" border>
|
|
|
<el-descriptions-item label="订单编号" class="ddh">{{ ddhformData['ddh'] }}</el-descriptions-item>
|
|
|
<el-descriptions-item label="客户">{{ ddhformData['kh'] }}</el-descriptions-item>
|
|
|
<el-descriptions-item label="生产款号">{{ ddhformData['sckh'] }}</el-descriptions-item>
|
|
|
<el-descriptions-item label="款式">{{ ddhformData['ks'] }}</el-descriptions-item>
|
|
|
</el-descriptions>
|
|
|
+ <br>
|
|
|
<div>
|
|
|
- <el-table ref="paichengRef" :show-overflow-tooltip="true" highlight-current-row="true"
|
|
|
- :row-style="{ height: '0px' }" :header-cell-style="{ padding: '0px' }"
|
|
|
- :cell-style="{ padding: '0px' }" :header-row-style="{ height: '0px' }"
|
|
|
- style="width: 100%;height: 22vh" border tooltip-effect="dark"
|
|
|
- :data="resbomtableData" row-key="ID" :cell-class-name="scfjfpxsCellClass">
|
|
|
- <template v-for="(item, idx) in resbom_tableColumns">
|
|
|
- <el-table-column #default="{ row, column, $index }" align="left" :label="item.label" :width="item.width" >
|
|
|
- <div v-if="['领用'].includes(item.prop)">
|
|
|
- <el-input v-model="row[item.prop]" :clearable="false" style='height: 30px;'
|
|
|
- :id="`input${idx}${$index}`" @keyup="resbom_handleKeyDown($event, idx, $index, item.prop)"/>
|
|
|
- </div>
|
|
|
- <div v-else>{{ row[item.prop] }}</div>
|
|
|
+ <el-table
|
|
|
+ ref="paichengRef"
|
|
|
+ :show-overflow-tooltip="true"
|
|
|
+ highlight-current-row="true"
|
|
|
+ :row-style="{ height: ' 40px' }"
|
|
|
+ :header-cell-style="{ padding: '0px' }"
|
|
|
+ :cell-style="{ padding: '10px 0px 10px 0px' }"
|
|
|
+ :header-row-style="{ height: '0px' }"
|
|
|
+ style="width: 100%; height: 40vh"
|
|
|
+ border
|
|
|
+ tooltip-effect="dark"
|
|
|
+ :data="resbomtableData"
|
|
|
+ row-key="ID"
|
|
|
+ :cell-class-name="scfjfpxsCellClass">
|
|
|
+ <template v-for="(item, idx) in resbom_tableColumns" :key="idx">
|
|
|
+ <el-table-column :label="item.label" :width="item.width">
|
|
|
+ <template #default="{ row, column, $index }">
|
|
|
+ <!-- 判断该列是否需要输入框 -->
|
|
|
+ <div v-if="['领用','实际门幅'].includes(item.prop)">
|
|
|
+ <el-input
|
|
|
+ v-model="row[item.prop]"
|
|
|
+ :clearable="false"
|
|
|
+ style="height: 30px;"
|
|
|
+ :id="`input${idx}${$index}`"
|
|
|
+ @keyup="resbom_handleKeyDown($event, idx, $index, item.prop)"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ <div v-else>
|
|
|
+ {{ row[item.prop] }}
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
</el-table-column>
|
|
|
</template>
|
|
|
</el-table>
|
|
|
+
|
|
|
+ <div style="display: flex; align-items: center;">
|
|
|
+ <p style="font-size: 18px;">入库人员:
|
|
|
+ <el-input v-model="chukuren" style="width: 200px;;" disabled/>
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
+
|
|
|
</div>
|
|
|
-
|
|
|
- <!-- 下面部分 -->
|
|
|
- <div class="print-container">
|
|
|
- <el-button type="primary" @click="res_bomenterDialog" style="width: 100px;height: 50px;">一键入库</el-button>
|
|
|
- <el-divider>
|
|
|
- <span class="print-title" style="font-size: 18px;">面料入库页</span>
|
|
|
- </el-divider>
|
|
|
- <div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px;">
|
|
|
- <p style="font-size: 18px;margin-right: 20px;">领用单号:
|
|
|
- <el-input v-model="danhao" style="width: 200px;" disabled/>
|
|
|
- </p>
|
|
|
- <p style="font-size: 18px;margin-right: 20px;">领用日期:
|
|
|
- <el-input v-model="riqi" style="width: 200px;" disabled/>
|
|
|
- </p>
|
|
|
- </div>
|
|
|
- <div style="margin-top: 5px;">
|
|
|
- <el-table ref="paichengRef1" :show-overflow-tooltip="true" highlight-current-row="true"
|
|
|
- :row-style="{ height: '30px' }" :header-cell-style="{ padding: '0px' }"
|
|
|
- :cell-style="{ padding: '0px' }" :header-row-style="{ height: '10px' }"
|
|
|
- style="width: 100%; height: 40vh" border
|
|
|
- tooltip-effect="dark" :data="FabriccollartableData"
|
|
|
- row-key="ID" :cell-class-name="scfjfpxsCellClass"
|
|
|
- @selection-change="FabriccollarhandleSelectionChange">
|
|
|
- <el-table-column type="selection" width="45" />
|
|
|
- <template v-for="(item, idx) in Fabriccollar_tableColumns">
|
|
|
- <el-table-column #default="{ row, column, $index }" align="left" :label="item.label" :width="item.width">
|
|
|
- <div v-if="[''].includes(item.prop)">
|
|
|
- <el-input v-model="row[item.prop]" :clearable="false"
|
|
|
- :id="`input${idx}${$index}`"
|
|
|
- @keyup="resbom_handleKeyDown($event, idx, $index, item.prop)"/>
|
|
|
- </div>
|
|
|
- <div v-else>{{ row[item.prop] }}</div>
|
|
|
- </el-table-column>
|
|
|
- </template>
|
|
|
- </el-table>
|
|
|
- </div>
|
|
|
- <br>
|
|
|
- <div style="display: flex; align-items: center; margin-left: 300px;margin-bottom: 10px;">
|
|
|
- <p style="font-size: 18px;">入库人:
|
|
|
- <el-input v-model="chukuren" style="width: 200px;;" disabled/>
|
|
|
- </p>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
</el-dialog>
|
|
|
|
|
|
<!--单号记录 -->
|
|
|
- <el-dialog v-model="pickingaddvisible" :before-close="()=> pickingaddvisible = false" style="width: 70%; margin: 5% auto; height: 79%;" :title="'出库、入库、退还记录'" destroy-on-close>
|
|
|
+ <el-dialog v-model="pickingaddvisible" :before-close="()=> pickingaddvisible = false" style="width: 100%; margin: 0% auto; height: 100%;" :title="'出库、入库、退还记录'" destroy-on-close>
|
|
|
<div class="dialog-footer" style="bottom: 10px; right: 10px; width: 100%;">
|
|
|
<el-button type="primary" @click="ckth_closeDialog" style="width: 80px;height: 40px;display: inline-block;">关 闭</el-button>
|
|
|
<h3 style="color: red;display: inline-block;margin-left: 20px;">双击表格行查看入库单明细</h3>
|
|
|
</div>
|
|
|
-
|
|
|
<br>
|
|
|
-
|
|
|
<div>
|
|
|
<el-tabs v-model="activeName" @tab-click="handleClick">
|
|
|
- <!-- <el-tab-pane label="出库记录" @click="showTable('出库记录')" name="first">
|
|
|
- <el-table ref="multipleTable"
|
|
|
- :row-style="{ height: '30px' }"
|
|
|
- :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
|
|
|
- :header-cell-style="{ padding: '0px' }"
|
|
|
- :show-overflow-tooltip="true"
|
|
|
- highlight-current-row="true"
|
|
|
- @row-click="tableclick"
|
|
|
- @row-dblclick="chukuupdateCompanyFunc"
|
|
|
- style="width: 100%;height: 36vh" border
|
|
|
- :summary-method="getSummaries" tooltip-effect="dark" :data="cktableData" row-key="ID" >
|
|
|
- <el-table-column align="left" sortable label="订单编号" prop="订单编号" width="140"/>
|
|
|
- <el-table-column align="left" sortable label="款号" prop="款号" width="180"/>
|
|
|
- <el-table-column align="left" sortable label="数量" prop="数量" width="105"/>
|
|
|
- <el-table-column align="left" sortable label="出库时间" prop="出库时间" width="160"/>
|
|
|
- <el-table-column align="left" sortable label="出库人员" prop="出库人员" width="160"/>
|
|
|
- </el-table>
|
|
|
- </el-tab-pane> -->
|
|
|
-
|
|
|
<el-tab-pane label="入库记录" @click="showTable('入库记录')" name="first">
|
|
|
<el-table ref="multipleTable"
|
|
|
- :row-style="{ height: '30px' }"
|
|
|
+ :row-style="{ height: '30px' }" :header-cell-style="{ padding: '0px' }"
|
|
|
:cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
|
|
|
- :header-cell-style="{ padding: '0px' }"
|
|
|
- :show-overflow-tooltip="true"
|
|
|
- highlight-current-row="true"
|
|
|
- @row-click="rukutableclick"
|
|
|
- @row-dblclick="rukuupdateCompanyFunc"
|
|
|
- style="width: 100%;height: 36vh" border
|
|
|
- :summary-method="getSummaries" tooltip-effect="dark" :data="rukutableData" row-key="ID" >
|
|
|
+ :show-overflow-tooltip="true" highlight-current-row="true"
|
|
|
+ @row-click="rukutableclick" @row-dblclick="rukuupdateCompanyFunc"
|
|
|
+ style="width: 100%;height: 36vh" border :summary-method="getSummaries" tooltip-effect="dark" :data="rukutableData" row-key="ID" >
|
|
|
<el-table-column align="left" sortable label="入库单号" prop="单号" width="140"/>
|
|
|
<el-table-column align="left" sortable label="订单编号" prop="订单编号" width="140"/>
|
|
|
<el-table-column align="left" sortable label="款号" prop="款号" width="180"/>
|
|
|
<el-table-column align="left" sortable label="数量" prop="数量" width="105"/>
|
|
|
- <!-- <el-table-column align="left" sortable label="入库人" prop="入仓人员" width="160"/> -->
|
|
|
<el-table-column align="left" sortable label="入库人员" prop="入库人员" width="160"/>
|
|
|
<el-table-column align="left" sortable label="入库时间" prop="入库时间" width="160"/>
|
|
|
</el-table>
|
|
|
@@ -177,15 +138,11 @@
|
|
|
|
|
|
<el-tab-pane label="退还记录" @click="showTable('退还记录')" name="second">
|
|
|
<el-table ref="multipleTable"
|
|
|
- :row-style="{ height: '30px' }"
|
|
|
+ :row-style="{ height: '30px' }":header-cell-style="{ padding: '0px' }"
|
|
|
:cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
|
|
|
- :header-cell-style="{ padding: '0px' }"
|
|
|
- highlight-current-row="true"
|
|
|
- :show-overflow-tooltip="true"
|
|
|
- :cell-class-name="gysatusCellClass"
|
|
|
- @row-dblclick="thupdateCompanyFunc"
|
|
|
- @row-click="clickybupdate2"
|
|
|
- :row-class-name="rowClassStyle2"
|
|
|
+ highlight-current-row="true" :show-overflow-tooltip="true"
|
|
|
+ :cell-class-name="gysatusCellClass" :row-class-name="rowClassStyle2"
|
|
|
+ @row-click="clickybupdate2" @row-dblclick="thupdateCompanyFunc"
|
|
|
style="width: 100%;height: 36vh" border tooltip-effect="dark" :data="thtableData" row-key="ID">
|
|
|
<el-table-column align="left" sortable label="订单编号" prop="订单编号" width="140"/>
|
|
|
<el-table-column align="left" sortable label="款号" prop="款号" width="180"/>
|
|
|
@@ -199,7 +156,7 @@
|
|
|
</el-dialog>
|
|
|
|
|
|
<!--单号详情记录 -->
|
|
|
- <el-dialog v-model="details_pickingaddvisible" :before-close="()=> details_pickingaddvisible = false" style="width: 70%; margin: 5% auto; height: 79%;" :title="单据详情"
|
|
|
+ <el-dialog v-model="details_pickingaddvisible" :before-close="()=> details_pickingaddvisible = false" style="width: 100%; margin: 0% auto; height: 100%;" :title="单据详情"
|
|
|
destroy-on-close>
|
|
|
<div class="dialog-footer" style="bottom: 10px; right: 10px; width: 100%;">
|
|
|
<el-button type="primary" @click="details_ckth_closeDialog" style="width: 80px;height: 40px;">关 闭</el-button>
|
|
|
@@ -207,17 +164,12 @@
|
|
|
</div>
|
|
|
<br>
|
|
|
<div>
|
|
|
-
|
|
|
<el-table ref="multipleTable"
|
|
|
- :row-style="{ height: '30px' }"
|
|
|
+ :row-style="{ height: '30px' }" :header-cell-style="{ padding: '0px' }"
|
|
|
:cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
|
|
|
- :header-cell-style="{ padding: '0px' }"
|
|
|
- :show-overflow-tooltip="true"
|
|
|
- highlight-current-row="true"
|
|
|
- @row-click="tableclick"
|
|
|
- @row-dblclick="ysupdateCompanyFunc"
|
|
|
- @selection-change="detailSelectionChange"
|
|
|
- style="width: 100%;height: 65vh" border
|
|
|
+ :show-overflow-tooltip="true" highlight-current-row="true"
|
|
|
+ @row-click="tableclick" @row-dblclick="ysupdateCompanyFunc"
|
|
|
+ @selection-change="detailSelectionChange" style="width: 100%;height: 65vh" border
|
|
|
:summary-method="getSummaries" tooltip-effect="dark" :data="ruku_detailstableData" row-key="ID" >
|
|
|
<el-table-column align="center" type="selection" width="40"/>
|
|
|
<el-table-column align="left" label="订单编号" prop="订单编号" width="110"/>
|
|
|
@@ -234,7 +186,6 @@
|
|
|
<el-table-column align="left" label="面料结余" prop="面料结余" width="100"/>
|
|
|
<el-table-column align="left" label="入库数量" prop="入库数量" width="100"/>
|
|
|
<el-table-column align="left" label="投料单位" prop="投料单位" width="90"/>
|
|
|
- <!-- <el-table-column align="left" sortable label="入库人" prop="入仓人员" width="160"/> -->
|
|
|
<el-table-column align="left" label="入库人员" prop="入库人员" width="120"/>
|
|
|
<el-table-column align="left" label="入库时间" prop="入库时间" width="160"/>
|
|
|
<el-table-column align="left" label="款式" prop="款式" width="140"/>
|
|
|
@@ -264,7 +215,9 @@ export default {
|
|
|
// 全量引入格式化工具 请按需保留
|
|
|
import { Layout, LayoutSider, LayoutContent } from '@arco-design/web-vue';
|
|
|
import {ref, reactive} from 'vue'
|
|
|
-import {getSpotList,getSpotTab,getInputDetail,InputOrderSearch,outReport,orderBomList,FabricDetail,gitReceiptNumber,FabricDetaillist,FabricDetaildel} from '@/api/mes/job'
|
|
|
+import {getSpotList,getSpotTab,getInputDetail,
|
|
|
+inputStash,
|
|
|
+InputOrderSearch,outReport,orderBomList,FabricDetail,gitReceiptNumber,FabricDetaillist,FabricDetaildel} from '@/api/mes/job'
|
|
|
import { ElMessage, ElMessageBox,ElUpload, ElButton } from 'element-plus';
|
|
|
import { useUserStore } from '@/pinia/modules/user'
|
|
|
// import { get } from 'scriptjs';
|
|
|
@@ -305,7 +258,7 @@ const restableData = reactive([])//表格
|
|
|
const _orderid = ref('')//订单子编号
|
|
|
const _kh = ref('')//生产款号
|
|
|
|
|
|
-//input框回车
|
|
|
+//input实时调用
|
|
|
const handleInput = async ()=>{
|
|
|
restableData.splice(0, restableData.length);//清空表格
|
|
|
//订单信息数据查询【接口】
|
|
|
@@ -320,7 +273,6 @@ const handleInput = async ()=>{
|
|
|
add_lysearchInfo.value = add_searchInfo.value
|
|
|
|
|
|
const gitReceiptNumberdata = await gitReceiptNumber({number:'RK'});
|
|
|
- console.log(gitReceiptNumberdata)
|
|
|
danhao.value = gitReceiptNumberdata.data.number
|
|
|
chukuren.value = userStore.userInfo.nickName
|
|
|
riqi.value = currentDates
|
|
|
@@ -329,10 +281,10 @@ const handleInput = async ()=>{
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-//查询按钮
|
|
|
+//input回车事件
|
|
|
const add_onSubmit = async ()=>{
|
|
|
- restableData.splice(0, restableData.length);//清空表格
|
|
|
- //订单信息数据查询【接口】
|
|
|
+ //清空表格
|
|
|
+ restableData.splice(0, restableData.length);
|
|
|
const orderSearchdata = await InputOrderSearch({search:add_searchInfo.value});
|
|
|
if(orderSearchdata.data.length === 1){
|
|
|
res_bomdialogFormVisible.value = true
|
|
|
@@ -359,15 +311,15 @@ const add_onSubmit = async ()=>{
|
|
|
|
|
|
//表格行点击
|
|
|
const tableRowClick = async (row)=>{
|
|
|
- console.log(row)
|
|
|
add_searchInfo.value = row.订单编号
|
|
|
_orderid.value = row.订单编号
|
|
|
_kh.value = row.生产款号
|
|
|
+
|
|
|
ddhformData.glbh = row['关联编号']
|
|
|
ddhformData.ddh = row['订单编号']
|
|
|
ddhformData.kh = row['客户编号']
|
|
|
ddhformData.sckh = row['生产款号']
|
|
|
- ddhformData.wlmc = row['物料名称']
|
|
|
+ ddhformData.wlbh = row['物料编码']
|
|
|
ddhformData.ks = row['款式']
|
|
|
}
|
|
|
|
|
|
@@ -382,147 +334,85 @@ const add_lyonSubmit = async ()=>{
|
|
|
ddhformData.ks = orderSearchdata.data[0]['款式']
|
|
|
}
|
|
|
try {
|
|
|
- const Detailres = await getInputDetail({
|
|
|
+ const Detailres = await getInputDetail({
|
|
|
关联编号:ddhformData.glbh,
|
|
|
订单编号:ddhformData.ddh,
|
|
|
- 物料编码:ddhformData.wlmc
|
|
|
+ 物料编码:ddhformData.wlbh
|
|
|
});
|
|
|
console.log(Detailres)
|
|
|
- resbomtableData.value = Detailres.data;
|
|
|
- const formattedData = Detailres.data.map(item=>{
|
|
|
- item.批次号 = item.批次号;
|
|
|
- item.关联号 = item.关联号;
|
|
|
- item.物料编号 = item.物料编号;
|
|
|
- item.物料名称 = item.物料名称;
|
|
|
- item.入仓总量 = item.入仓总量;
|
|
|
- item.库存数量 = item.库存数量;
|
|
|
- item.领用数量 = item.领用数量;
|
|
|
- item.单位 = item.单位;
|
|
|
- item.实际门幅 = item.实际门幅;
|
|
|
- item.BOM_工单编号 = item.BOM_工单编号;
|
|
|
- item.BOM_颜色 = item.BOM_颜色;
|
|
|
- item.BOM_计划门幅 = item.BOM_计划门幅;
|
|
|
- item.BOM_定额门幅 = item.BOM_定额门幅;
|
|
|
- item.计划用料 = item.计划用料;
|
|
|
- item.定额用料 = item.定额用料;
|
|
|
- item.关联订单 = item.关联订单;
|
|
|
- // item.UNIQID = item.UNIQID;
|
|
|
- // item.领用 = '';
|
|
|
- return item
|
|
|
- });
|
|
|
+
|
|
|
add_lysearchInfo.value = ''
|
|
|
} catch (error) {
|
|
|
console.error(error);
|
|
|
}
|
|
|
};
|
|
|
|
|
|
+//选择入库弹窗
|
|
|
const res_bomdialogFormVisible = ref(false)
|
|
|
const resbomtableData = ref([]);
|
|
|
-const FabriccollartableData = ref([]);
|
|
|
const ddhformData = reactive({
|
|
|
glbh: '',
|
|
|
ddh: '',
|
|
|
kh:'',
|
|
|
sckh:'',
|
|
|
ks:'',
|
|
|
- wlmc:'',
|
|
|
+ wlbh:'',
|
|
|
});
|
|
|
const resbom_tableColumns = ref(
|
|
|
[
|
|
|
{ label: '批次号', prop: '批次号', width: '90' },
|
|
|
- { label: '关联号', prop: '关联号', width: '70' },
|
|
|
- { label: '物料编号', prop: '物料编号', width: '100' },
|
|
|
+ { label: '关联号', prop: '关联号', width: '80' },
|
|
|
+ { label: '物料编号', prop: '物料编号', width: '160' },
|
|
|
{ label: '物料名称', prop: '物料名称', width: '100' },
|
|
|
- { label: '入仓总量', prop: '入仓总量', width: '160' },
|
|
|
- { label: '库存数量', prop: '库存数量', width: '105' },
|
|
|
- { label: '领用数量', prop: '领用数量', width: '110' },
|
|
|
- { label: '单位', prop: '单位', width: '100' },
|
|
|
+ { label: '计划用料', prop: '计划用料', width: '100' },
|
|
|
+ { label: '计划门幅', prop: 'BOM_计划门幅', width: '100' },
|
|
|
+ { label: '定额用料', prop: '定额用料', width: '100' },
|
|
|
+ { label: '定额门幅', prop: 'BOM_定额门幅', width: '100' },
|
|
|
{ label: '实际门幅', prop: '实际门幅', width: '100' },
|
|
|
- { label: '实际门幅', prop: '实际门幅', width: '100' },
|
|
|
- { label: 'BOM_工单编号', prop: 'BOM_工单编号', width: '115' },
|
|
|
- { label: 'BOM_颜色', prop: 'BOM_颜色', width: '115' },
|
|
|
- { label: 'BOM_计划门幅', prop: 'BOM_计划门幅', width: '150' },
|
|
|
- { label: 'BOM_定额门幅', prop: 'BOM_定额门幅', width: '110' },
|
|
|
- { label: '计划用料', prop: '计划用料', width: '90' },
|
|
|
- { label: '定额用料', prop: '定额用料', width: '110' },
|
|
|
- { label: '关联订单', prop: '关联订单', width: '90' },
|
|
|
+ { label: '领用', prop: '领用', width: '100' },
|
|
|
+ { label: '入仓总量', prop: '入仓总量', width: '100' },
|
|
|
+ { label: '库存数量', prop: '库存数量', width: '100' },
|
|
|
+ { label: '领用数量', prop: '领用数量', width: '100' },
|
|
|
+ { label: '颜色', prop: 'BOM_颜色', width: '100' },
|
|
|
+ { label: '关联订单', prop: '关联订单', width: '110' },
|
|
|
+ { label: '单位', prop: '单位', width: '100' },
|
|
|
]
|
|
|
)
|
|
|
|
|
|
-const Fabriccollar_tableColumns = ref(
|
|
|
- [
|
|
|
- { label: '订单编号', prop: '订单编号', width: '90' },
|
|
|
- { label: '客户', prop: '客户编号', width: '70' },
|
|
|
- { label: '生产款号', prop: '生产款号', width: '100' },
|
|
|
- { label: '款式', prop: '款式', width: '100' },
|
|
|
- { label: '物料名称', prop: '物料名称', width: '160' },
|
|
|
- { label: '计划用料', prop: '计划用料', width: '105' },
|
|
|
- { label: '定额用料', prop: '定额用料', width: '110' },
|
|
|
- { label: '计划门幅', prop: '计划门幅', width: '100' },
|
|
|
- { label: '定额门幅', prop: '定额门幅', width: '100' },
|
|
|
- { label: '裁床实际用料', prop: '裁床实际用料', width: '115' },
|
|
|
- { label: '裁床领用面料', prop: '裁床领用面料', width: '115' },
|
|
|
- { label: '裁床退回仓库面料', prop: '裁床退回仓库面料', width: '150' },
|
|
|
- { label: '入库总量', prop: '入库总量', width: '90' },
|
|
|
- { label: '面料结余', prop: '面料结余', width: '90' },
|
|
|
- { label: '入库数量', prop: '领用', width: '110'},
|
|
|
- // { label: '备注', prop: '备注', width: '120' },
|
|
|
- { label: '投料单位', prop: '投料单位', width: '90' },
|
|
|
- // { label: 'UNIQID', prop: 'UNIQID', width: '80' },
|
|
|
- ]
|
|
|
-)
|
|
|
-//查询
|
|
|
+//选择入库
|
|
|
const Reporting_onSubmit = async ()=>{
|
|
|
if(_orderid.value === '' || _orderid.value === null){
|
|
|
ElMessage({type: 'warning',message: '请扫描订单后,再操作此功能'})
|
|
|
}else{
|
|
|
add_lysearchInfo.value = add_searchInfo.value
|
|
|
res_bomdialogFormVisible.value = true
|
|
|
- FabriccollartableData.value = [];
|
|
|
const gitReceiptNumberdata = await gitReceiptNumber({number:'RK'});
|
|
|
danhao.value = gitReceiptNumberdata.data.number
|
|
|
chukuren.value = userStore.userInfo.nickName
|
|
|
riqi.value = currentDates
|
|
|
- // const orderBomListlsit = await orderBomList({order:_orderid.value});
|
|
|
- // console.log(orderBomListlsit)
|
|
|
_TestCoefficient();
|
|
|
}
|
|
|
}
|
|
|
-//bom数据获取
|
|
|
-const _TestCoefficient = async ()=>{
|
|
|
- try {
|
|
|
- const Detailres = await getInputDetail({
|
|
|
- 关联编号:ddhformData.glbh,
|
|
|
- 订单编号:ddhformData.ddh,
|
|
|
- 物料编码:ddhformData.wlmc
|
|
|
- });
|
|
|
- console.log(Detailres)
|
|
|
- resbomtableData.value = Detailres.data;
|
|
|
- const formattedData = Detailres.data.map(item=>{
|
|
|
- item.批次号 = item.批次号;
|
|
|
- item.关联号 = item.关联号;
|
|
|
- item.物料编号 = item.物料编号;
|
|
|
- item.物料名称 = item.物料名称;
|
|
|
- item.入仓总量 = item.入仓总量;
|
|
|
- item.库存数量 = item.库存数量;
|
|
|
- item.领用数量 = item.领用数量;
|
|
|
- item.单位 = item.单位;
|
|
|
- item.实际门幅 = item.实际门幅;
|
|
|
- item.BOM_工单编号 = item.BOM_工单编号;
|
|
|
- item.BOM_颜色 = item.BOM_颜色;
|
|
|
- item.BOM_计划门幅 = item.BOM_计划门幅;
|
|
|
- item.BOM_定额门幅 = item.BOM_定额门幅;
|
|
|
- item.计划用料 = item.计划用料;
|
|
|
- item.定额用料 = item.定额用料;
|
|
|
- item.关联订单 = item.关联订单;
|
|
|
- // item.UNIQID = item.UNIQID;
|
|
|
- // item.领用 = '';
|
|
|
- return item
|
|
|
- });
|
|
|
+//调用接口【获取入库面料信息】
|
|
|
+const _TestCoefficient = async () => {
|
|
|
+ try {
|
|
|
+ const Detailres = await getInputDetail({
|
|
|
+ 关联编号: ddhformData.glbh,
|
|
|
+ 订单编号: ddhformData.ddh,
|
|
|
+ 物料编码: ddhformData.wlbh
|
|
|
+ });
|
|
|
+
|
|
|
+ console.log(Detailres);
|
|
|
+
|
|
|
+ // 如果接口返回的data是单条数据(对象),可以直接赋值
|
|
|
+ if (Detailres.code === 0 && Detailres.data) {
|
|
|
+ resbomtableData.value = [Detailres.data]; // 将单条数据包装为数组,便于表格渲染
|
|
|
+ }
|
|
|
} catch (error) {
|
|
|
console.error(error);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
const resbom_handleKeyDown = (event, x, y, prop) => {
|
|
|
const currentElement = document.getElementById(`input${x}${y}`);
|
|
|
if (currentElement === null && currentElement === undefined) return
|
|
|
@@ -555,40 +445,45 @@ const resbom_handleKeyDown = (event, x, y, prop) => {
|
|
|
}
|
|
|
}
|
|
|
const scfjfpxsCellClass = ({row, column, rowIndex, columnIndex}) =>{
|
|
|
- if (column.label === '入库数量' ||column.label === '实际门幅') {
|
|
|
+ if (column.label === '领用' ||column.label === '实际门幅') {
|
|
|
return 'background-plan-usage-low';
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// 确定
|
|
|
-const res_bomenterDialog = async() => {
|
|
|
- if(FabriccollartableData.value.length === 0){
|
|
|
- ElMessage({ type: 'warning',message: '请先添加领用信息'})
|
|
|
- return
|
|
|
- }
|
|
|
- const rawValueArray = FabriccollartableData._rawValue;
|
|
|
- const formattedData = rawValueArray.map(item => {
|
|
|
- return {
|
|
|
- order_id: ddhformData.ddh,
|
|
|
- 客户编号: ddhformData.kh,
|
|
|
- 款式: ddhformData.ks,
|
|
|
- 款号: ddhformData.sckh,
|
|
|
- 物料名称: item.物料名称 !== null ? item.物料名称 : "",
|
|
|
- number: item.领用 !== null ? item.领用 : "",
|
|
|
- rq: currentDate,
|
|
|
- name: "入库",
|
|
|
- sys_id: userStore.userInfo.nickName,
|
|
|
- receipt_number: danhao.value,
|
|
|
- }
|
|
|
- });
|
|
|
- console.log(formattedData);
|
|
|
- const add_outReport = await outReport(formattedData);
|
|
|
- if (add_outReport.code === 0) {
|
|
|
- res_bomdialogFormVisible.value = false;
|
|
|
- ElMessage({type: 'success',message: '入库成功'})
|
|
|
- } else {
|
|
|
- ElMessage({ type: 'error',message: '入库失败'})
|
|
|
- }
|
|
|
+const res_bomenterDialog = async () => {
|
|
|
+ console.log(resbomtableData);
|
|
|
+
|
|
|
+ // 直接构造一个对象,不用 JSON 格式的索引
|
|
|
+ const formattedData = {
|
|
|
+ order_id: ddhformData.ddh,
|
|
|
+ 款号: ddhformData.sckh,
|
|
|
+ 物料编码: resbomtableData.value[0]['物料编号'],
|
|
|
+ 物料名称: resbomtableData.value[0]['物料名称'],
|
|
|
+ number: resbomtableData.value[0]['领用'],
|
|
|
+ name: "入库",
|
|
|
+ sys_id: userStore.userInfo.nickName,
|
|
|
+ receipt_number: danhao.value,
|
|
|
+ 客户编号: ddhformData.kh,
|
|
|
+ 款式: ddhformData.ks,
|
|
|
+ rq: currentDate,
|
|
|
+ 批次号: resbomtableData.value[0]['批次号'],
|
|
|
+ 关联编号: resbomtableData.value[0]['关联号'],
|
|
|
+ 实际门幅: resbomtableData.value[0]['实际门幅'],
|
|
|
+ };
|
|
|
+
|
|
|
+ console.log(formattedData);
|
|
|
+
|
|
|
+ // 异步调用输入数据的接口
|
|
|
+ const add_outReport = await inputStash(formattedData);
|
|
|
+
|
|
|
+ // 根据返回的 code 进行提示
|
|
|
+ if (add_outReport.code === 0) {
|
|
|
+ res_bomdialogFormVisible.value = false;
|
|
|
+ ElMessage({ type: 'success', message: '入库成功' });
|
|
|
+ } else {
|
|
|
+ ElMessage({ type: 'error', message: '入库失败' });
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// 取消
|
|
|
@@ -596,54 +491,7 @@ const res_bomcloseDialog = () => {
|
|
|
res_bomdialogFormVisible.value = false;
|
|
|
}
|
|
|
|
|
|
-// 增加至入库页
|
|
|
-const print_lingyong = async () => {
|
|
|
- if(add_lysearchInfo.value === ''){
|
|
|
- setTimeout(() => {
|
|
|
- const inputElement = document.getElementById('ly_searchInput');
|
|
|
- if (inputElement) {
|
|
|
- inputElement.focus();
|
|
|
- }
|
|
|
- }, 100);//100毫秒
|
|
|
- return;
|
|
|
- }
|
|
|
- setTimeout(() => {
|
|
|
- const inputElement = document.getElementById('ly_searchInput');
|
|
|
- if (inputElement) {
|
|
|
- inputElement.focus();
|
|
|
- }
|
|
|
- }, 100);//100毫秒
|
|
|
- const filteredData = resbomtableData.value.filter(item => item.领用 && item.领用.trim() !== "");
|
|
|
- // 将过滤后的数据添加到 FabriccollartableData
|
|
|
- FabriccollartableData.value.push(...filteredData);
|
|
|
- add_lyonSubmit()
|
|
|
-}
|
|
|
|
|
|
-// //删除
|
|
|
-// const del_lingyong = async () => {
|
|
|
-// if (!lySelection.value) {
|
|
|
-// console.log('没有选中任何行');
|
|
|
-// return;
|
|
|
-// }
|
|
|
-
|
|
|
-// const idsToDelete = lySelection.value.split(',').map(Number); // 确保转换为数字
|
|
|
-// console.log('要删除的ID:', idsToDelete);
|
|
|
-// console.log('当前数据:', FabriccollartableData.value);
|
|
|
-
|
|
|
-// FabriccollartableData.value = FabriccollartableData.value.filter(
|
|
|
-// item => !idsToDelete.includes(item.UNIQID)
|
|
|
-// );
|
|
|
-
|
|
|
-// console.log('删除后的数据:', FabriccollartableData.value);
|
|
|
-// lySelection.value = '';
|
|
|
-// };
|
|
|
-
|
|
|
-// const lySelection = ref('')
|
|
|
-// const FabriccollarhandleSelectionChange = (selection) => {
|
|
|
-// const ids = selection.map(item => item.UNIQID); // 提取每行的 UniqId
|
|
|
-// lySelection.value = ids.join(','); // 将 UniqId 数组转换为逗号分隔的字符串
|
|
|
-// console.log(lySelection.value)
|
|
|
-// };
|
|
|
|
|
|
//=============出库退还记录==================
|
|
|
const cktableData = reactive([])
|
|
|
@@ -683,20 +531,11 @@ const rukuupdateCompanyFunc = async (row)=>{
|
|
|
dh.value = row.单号
|
|
|
type.value = 'rk'
|
|
|
details_pickingaddvisible.value = true
|
|
|
- console.log(row)
|
|
|
ruku_detailstableData.splice(0,ruku_detailstableData.length);
|
|
|
const FabricDetaillistdata = await FabricDetaillist({order:row.单号,search:'入库'});
|
|
|
ruku_detailstableData.splice(0,FabricDetaillistdata.length,...FabricDetaillistdata.data['入库记录']);
|
|
|
console.log(FabricDetaillistdata)
|
|
|
}
|
|
|
-// const chukuupdateCompanyFunc = async (row)=>{
|
|
|
-// dh.value = row.单号
|
|
|
-// type.value = 'ck'
|
|
|
-// details_pickingaddvisible.value = true
|
|
|
-// console.log(row)
|
|
|
-// const FabricDetaillistdata = await FabricDetaillist({order:row.单号,search:'出库'});
|
|
|
-// console.log(FabricDetaillistdata)
|
|
|
-// }
|
|
|
const thupdateCompanyFunc = async (row)=>{
|
|
|
dh.value = row.单号
|
|
|
type.value = 'th'
|