zongzhibin
2024-12-01 adf622258d11cff158aa62a0db40346a792b8d8a
Merge branch 'master' of http://222.71.245.114:9086/r/LA24030-LuLI_PackageLine
已添加1个文件
已修改15个文件
407 ■■■■■ 文件已修改
LA24030_LuLiPackageLine_Web/src/components/printTableCkd.vue 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/component/propDetail.vue 100 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/index.vue 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/kittingList/component/openAllprop.vue 105 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/kittingList/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/manualFeedKitting/index.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/mes_BatchOrderUPI_New/component/editDialog.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/mes_BatchOrderUPI_New/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/shortageList/component/openAllprop.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Web/src/views/main/WmsTask/wmsRbLineTask/component/editDialog.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Web/src/views/main/WmsTask/wmsRbLineTask/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsBase/WmsBasePlace/Dto/WmsBasePlaceOutput.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/Dto/UnlineForNGPackageInput.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/View/WmsStockQuan/V_Station_Quan.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LuLiScreen/index3.html 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Web/src/components/printTableCkd.vue
@@ -41,17 +41,16 @@
                <table cellspacing="0" cellpadding="0">
                    <tr class="middle_first">
                        <td class="middle_tree">编号</td>
                        <td class="middle_one">材料</td>
                        <td class="middle_two">批次</td>
                        <td class="middle_two">部件名称</td>
                        <td class="middle_four">尺寸</td>
                        <td class="middle_one">部件条码</td>
                    </tr>
                    <tr class="middle_first" v-for="(item, index) in itemW" :key="index">
                        <td class="middle_tree">{{ item.num }}</td>
                        <td class="middle_one">
                        <td class="middle_two">
                            <div>
                                <!-- {{ item.planNo }} -->
                                {{ item.planNo }}
                            </div>
                        </td>
                        <td class="middle_two">
LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/component/propDetail.vue
@@ -3,30 +3,45 @@
    <el-dialog v-model="dialogVisible" width="70%" @close="closeDialog">
        <template #header>
            <div style="color: #fff">
                <span>库位详情</span>
                <span>库位{{placeCode}}详情 </span>
            </div>
        </template>
        <!-- <p >容器编号:{{ containerNo }}</p> -->
        <el-table ref="tableRefWmsStockQuan" :data="materialList" style="width: 100%" tooltip-effect="light" row-key="id"
            border="">
            <el-table-column type="index" fixed="left" label="序号" width="55" align="center" />
            <el-table-column prop="areaName" fixed="left" width="100" label="所在库区" show-overflow-tooltip="" />
            <el-table-column prop="placeName" width="100" label="所在库位" show-overflow-tooltip="" />
            <el-table-column prop="materialCode"  min-width="120" label="物料编号" show-overflow-tooltip="" />
            <el-table-column prop="materialName" min-width="120" label="物料名称" show-overflow-tooltip="" />
            <el-table-column prop="materialTypeName" label="物料类型" show-overflow-tooltip="" />
            <el-table-column prop="quantity" label="库存数" show-overflow-tooltip="" />
            <el-table-column prop="snCode" width="180" label="跟踪码" show-overflow-tooltip="" />
            <el-table-column prop="containerCode" width="100" label="容器编号" show-overflow-tooltip="" />
            <el-table-column prop="containerTypeName" label="容器类型" show-overflow-tooltip="" />
        <el-table ref="tableRefWmsStockQuan" :data="materialList" style="width: 100%" tooltip-effect="light" row-key="id" border="">
            <el-table-column type="index" label="序号" width="55" align="center"/>
            <el-table-column prop="placeCode" label="库位编码" show-overflow-tooltip="" />
            <el-table-column prop="inTime" label="进入时间" width="80" show-overflow-tooltip="" />
            <el-table-column prop="upi" label="部件条码" show-overflow-tooltip="" />
            <el-table-column prop="detailName" label="部件名称" show-overflow-tooltip="" />
            <el-table-column prop="planNo" label="批次" show-overflow-tooltip="" />
            <el-table-column prop="orderId" label="订单号" show-overflow-tooltip="" />
            <el-table-column prop="packageCode" label="包装号" show-overflow-tooltip="" />
            <el-table-column prop="length" label="长" show-overflow-tooltip="" />
            <el-table-column prop="width" label="宽" show-overflow-tooltip="" />
            <el-table-column prop="thk" label="厚" show-overflow-tooltip="" />
            <el-table-column prop="stockStatus" label="库存状态" min-width="140"   show-overflow-tooltip="">
                <template #default="scope">
                    <el-tag>{{ getEnumDesc(scope.row.stockStatus, getEnumStockStatusData_Index) }}</el-tag>
                </template>
            </el-table-column>
            <!-- <el-table-column prop="stockStatusName" label="库存状态名称" min-width="140"  show-overflow-tooltip="" /> -->
            <el-table-column prop="operReason" label="操作原因" show-overflow-tooltip="" />
            <el-table-column prop="operUser" label="操作人" show-overflow-tooltip="" />
            <el-table-column prop="operTime" label="操作时间" width="80" show-overflow-tooltip="" />
            <el-table-column prop="lockStatus" label="锁定状态" show-overflow-tooltip="">
                <template #default="scope">
                    <el-tag>{{ getEnumDesc(scope.row.lockStatus, getEnumLockStatusData_Index) }}</el-tag>
                </template>
            </el-table-column>
            <el-table-column prop="lockReason" label="锁定原因" show-overflow-tooltip="" />
            <el-table-column prop="lockUser" label="锁定人" show-overflow-tooltip="" />
            <el-table-column prop="lockTime" label="锁定时间" width="80" show-overflow-tooltip="" />
            <el-table-column prop="remarks" label="备注" show-overflow-tooltip="" />
            <el-table-column prop="createTime" label="创建时间" width="130" show-overflow-tooltip="" />
            <el-table-column prop="updateTime" label="修改时间" width="130" show-overflow-tooltip="" />
            <el-table-column prop="createUserName" label="创建人" show-overflow-tooltip="" />
            <el-table-column prop="updateUserName" label="修改人" show-overflow-tooltip="" />
        </el-table>
        <!-- <el-descriptions title="" :column="1" border v-if="materialList.length>0">
            <el-descriptions-item v-for="(item,index) in  materialList" :key="index" :label="item.materialCode"
                label-align="center" align="center" label-class-name="my-label" class-name="my-content">
                {{Number(item.quantity).toFixed(3)  }}
            </el-descriptions-item>
        </el-descriptions> -->
        <template #footer>
            <span class="dialog-footer">
                <el-button @click="dialogVisible = false">关闭</el-button>
@@ -37,29 +52,37 @@
    </el-dialog>
</template>
<script lang="ts" setup>
import { ref, defineExpose } from 'vue'
import { ref, defineExpose } from 'vue';
import { ElMessage } from 'element-plus';
import { pageWmsLocationViewDetail, pageWmsStockQuan } from '/@/api/main/ReportCenter/wmsStockQuan';
const dialogVisible = ref(false);
const materialList = ref<any>([]);
import { listWmsStockQuan, pageWmsLocationViewDetail, pageWmsStockQuan } from '/@/api/main/ReportCenter/wmsStockQuan';
import commonFunction from '/@/utils/commonFunction';
import { getTagUseable } from '/@/utils/formate';
const { getEnumDesc } = commonFunction();
import { getAPI } from '/@/utils/axios-utils';
import { SysEnumApi } from '/@/api-services/api';
const getEnumStockStatusData_Index = ref<any>([]);
//库位编号
const containerNo = ref('');
const placeCode = ref('');
const dialogVisible = ref(false);
const materialList = ref<any>([]);
const getEnumLockStatusData_Index = ref<any>([]);
//打开窗口
const openDialog = async (type: string) => {
    var res = await pageWmsLocationViewDetail({
        //containerCode: type,
        placeCode:type,//改为查询库位上全部的库存
        page: 1,
        pageSize: 10
    getEnumStockStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('StockStatusEnum')).data.result ?? [];
    getEnumLockStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('LockStatusEnum')).data.result ?? [];
debugger
placeCode.value =type.placeCode
    var res = await listWmsStockQuan({
        placeCode: type.placeCode //改为查询库位上全部的库存
    });
    if (res.data.code == 200) {
        materialList.value = res.data.result?.items;
        if (materialList.value.length > 0) {
            dialogVisible.value = true;
            containerNo.value = res.data.result?.items[0].containerCode;
        }
        dialogVisible.value = true;
        materialList.value = res.data.result;
        // if (materialList.value.length > 0) {
        //     containerNo.value = res.data.result[0].containerCode;
        // }
    }
};
//关闭窗口
@@ -68,6 +91,5 @@
};
// æš´éœ²æ–¹æ³•
defineExpose({ openDialog });
</script>
<style lang="less" scoped></style>
<style lang="less" scoped></style>
LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/index.vue
@@ -58,25 +58,29 @@
                        <div class="storage-grid">
                            <div class="row rowMy0">
                                <div class="cell" v-for="(cell, cellIndex) in item.data" :key="cellIndex" v-show="cellIndex < 20">
                                    <span class="textK" :style="{ background: setBgColor(cell.placeStatus), boxShadow: '0 1px 1px' + setBgColor(cell.placeStatus) }">
                                    <span class="textK" :style="{ background: setBgColor(cell.placeStatus), boxShadow: '0 1px 1px' + setBgColor(cell.placeStatus) }" @click="handleClick(cell)">
                                        <!-- {{ cell.laneNo }} -->
                                        {{ cell.layerNo }}{{ cell.columnNo }}
                                        <!-- PlaceCode: -->
                                        {{ cell.placeCode }}
                                        <!-- {{ cell.layerNo }}{{ cell.columnNo }} -->
                                    </span>
                                </div>
                            </div>
                            <div class="row rowMy1">
                                <div class="cell" v-for="(cell, cellIndex) in item.data" :key="cellIndex" v-show="cellIndex >= 20 && cellIndex < 40">
                                    <span class="textK" :style="{ background: setBgColor(cell.placeStatus), boxShadow: '0 1px 1px' + setBgColor(cell.placeStatus) }">
                                    <span class="textK" :style="{ background: setBgColor(cell.placeStatus), boxShadow: '0 1px 1px' + setBgColor(cell.placeStatus) }" @click="handleClick(cell)">
                                        <!-- {{ cell.laneNo }} -->
                                        {{ cell.layerNo }}{{ cell.columnNo }}
                                        {{ cell.placeCode }}
                                        <!-- {{ cell.layerNo }}{{ cell.columnNo }} -->
                                    </span>
                                </div>
                            </div>
                            <div class="row rowMy2">
                                <div class="cell" v-for="(cell, cellIndex) in item.data" :key="cellIndex" v-show="cellIndex >= 40 && cellIndex <= 60">
                                    <span class="textK" :style="{ background: setBgColor(cell.placeStatus), boxShadow: '0 1px 1px' + setBgColor(cell.placeStatus) }">
                                    <span class="textK" :style="{ background: setBgColor(cell.placeStatus), boxShadow: '0 1px 1px' + setBgColor(cell.placeStatus) }" @click="handleClick(cell)">
                                        <!-- {{ cell.laneNo }} -->
                                        {{ cell.layerNo }}{{ cell.columnNo }}
                                        {{ cell.placeCode }}
                                        <!-- {{ cell.layerNo }}{{ cell.columnNo }} -->
                                    </span>
                                </div>
                            </div>
@@ -103,10 +107,13 @@
                <!-- <content-view :contentData="dataList"></content-view> -->
            </div>
        </el-card>
            <!-- è¯¦æƒ…弹框 -->
            <prop-detail ref="propDetailRef"></prop-detail>
    </div>
</template>
<script lang="ts" setup>
import { nextTick, onMounted, ref } from 'vue';
import { getCurrentInstance, nextTick, onMounted, ref } from 'vue';
//import SearchBar from '@/components/SearchBar.vue'
import { getStorageView } from '/@/api/main/ReportCenter/storageView';
@@ -114,6 +121,8 @@
import ContentView from './component/ContentView.vue';
import { ElMessage } from 'element-plus';
import { handleSlectDataWmsArea } from '/@/utils/selectData';
import PropDetail from './component/propDetail.vue';
const { proxy} :any = getCurrentInstance();// è®¿é—®å®žä¾‹ä¸Šä¸‹æ–‡ proxy同时支持开发 çº¿ä¸ŠçŽ¯å¢ƒ
const showAdvanceQueryUIWmsStockQuan = ref(false);
// æ”¹å˜é«˜çº§æŸ¥è¯¢çš„æŽ§ä»¶æ˜¾ç¤ºçŠ¶æ€
@@ -391,6 +400,20 @@
console.log(66666666);
console.log(storageList.value);
const dialogVisible = ref(false); // å¼¹æ¡†å¯è§æ€§
const handleClick = (row: any) => {
    proxy.$refs['propDetailRef'].openDialog(row);
};
const openDialog = () => {
    dialogVisible.value = true; // æ‰“开弹框
};
const handleClose = () => {
    dialogVisible.value = false; // å…³é—­å¼¹æ¡†
};
</script>
<style lang="less" scoped>
.msi-content {
@@ -409,12 +432,12 @@
}
.cell {
    border: 1px solid gray; /* æ¯ä¸ªæ ¼å­çš„黑线 */
    border: 1px solid #c1c1c1; /* æ¯ä¸ªæ ¼å­çš„黑线 */
    height: 50px; /* æ¯ä¸ªæ ¼å­çš„高度 */
    display: inline-block;
    justify-content: center;
    align-items: center; /* å±…中显示内容 */
    width: 25px;
    width: 49px;
}
.rowMy0 {
@@ -447,7 +470,7 @@
.t1 {
    margin: 10px 0 2px 0;
    font-size: 16px !important;
    padding-bottom:10px
    padding-bottom: 10px;
}
.textK {
    display: flex; /* ä½¿ç”¨ Flexbox å¸ƒå±€ */
LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/kittingList/component/openAllprop.vue
@@ -272,9 +272,19 @@
                <div class="msi-form">
                    <el-form :model="detailForm">
                        <el-row>
                            <el-col :span="6">
                            <!-- <el-col :span="6">
                                <el-form-item label="部件名称">
                                    <el-input v-model="detailForm.detailName" clearable placeholder="请输入部件名称" />
                                </el-form-item>
                            </el-col> -->
                            <!-- <el-col :span="6">
                                <el-form-item label="批次号">
                                    <el-input v-model="detailForm.planNo" clearable="" placeholder="请输入批次号" />
                                </el-form-item>
                            </el-col> -->
                            <el-col :span="6">
                                <el-form-item label="包装号">
                                    <el-input v-model="detailForm.packageCode" clearable="" placeholder="请输入包装号" />
                                </el-form-item>
                            </el-col>
                            <el-col :span="4">
@@ -290,42 +300,47 @@
                <div class="msi-content">
                    <!-- <p style="margin-bottom: 10px">物料明细</p> -->
                    <el-table :data="drawerList" border striped :max-height="480">
                        <el-table-column fixed="left" type="index" label="序号" width="55" align="center" />
                        <!-- <el-table-column prop="poId" label="PO单ID" show-overflow-tooltip="" /> -->
                        <!-- <el-table-column prop="poNo" label="PO单号" show-overflow-tooltip="" /> -->
                        <el-table-column prop="placeCode" label="库位编码" show-overflow-tooltip="" />
                        <el-table-column prop="inTime" label="进入时间" width="80" :formatter="formatDate_T_Date" show-overflow-tooltip="" />
                        <el-table-column prop="upi" label="部件条码" show-overflow-tooltip="" />
                        <el-table-column prop="detailName" label="部件名称" show-overflow-tooltip="" />
                        <el-table-column prop="planNo" label="批次" show-overflow-tooltip="" />
                        <el-table-column prop="orderId" label="订单号" show-overflow-tooltip="" />
                        <el-table-column prop="packageCode" label="包装号" show-overflow-tooltip="" />
                        <el-table-column prop="length" label="长" show-overflow-tooltip="" />
                        <el-table-column prop="width" label="宽" show-overflow-tooltip="" />
                        <el-table-column prop="thk" label="厚" show-overflow-tooltip="" />
                        <el-table-column prop="stockStatus" label="库存状态" show-overflow-tooltip="">
                        <el-table-column label="序号" align="center" width="60" type="index" />
                        <el-table-column prop="packageCode" label="包装号" min-width="120"show-overflow-tooltip="" />
                        <el-table-column prop="info5" label="生产单号" show-overflow-tooltip="" />
                        <el-table-column prop="planNo" label="批次号" show-overflow-tooltip="" />
                        <el-table-column prop="orderId" min-width="120" label="订单号" show-overflow-tooltip="" />
                        <!-- <el-table-column prop="areaCode" label="所在区域" show-overflow-tooltip="">
                            <template #default="scope">
                                <el-tag>{{ getEnumDesc(scope.row.stockStatus, getEnumStockStatusData_Index) }}</el-tag>
                                <el-tag>{{ getEnumDesc(scope.row.areaCode, getEnumAreaCodeData_Index) }}</el-tag>
                            </template>
                        </el-table-column>
                        <el-table-column prop="stockStatusName" label="库存状态名称" show-overflow-tooltip="" />
                        <el-table-column prop="operReason" label="操作原因" show-overflow-tooltip="" />
                        <el-table-column prop="operUser" label="操作人" show-overflow-tooltip="" />
                        <el-table-column prop="operTime" label="操作时间" width="80" :formatter="formatDate_T_Date" show-overflow-tooltip="" />
                        <el-table-column prop="lockStatus" label="锁定状态" show-overflow-tooltip="">
                        <el-table-column prop="upiStatus" label="板料状态" show-overflow-tooltip="">
                            <template #default="scope">
                                <el-tag>{{ getEnumDesc(scope.row.lockStatus, getEnumLockStatusData_Index) }}</el-tag>
                                <el-tag>{{ getEnumDesc(scope.row.upiStatus, getEnumUpiStatusData_Index) }}</el-tag>
                            </template>
                        </el-table-column> -->
                        <el-table-column prop="isQiBao" label="是否齐包" show-overflow-tooltip="">
                            <template #default="scope">
                                <el-tag v-if="scope.row.isQiBao"> æ˜¯ </el-tag>
                                <el-tag type="danger" v-else> å¦ </el-tag>
                            </template>
                        </el-table-column>
                        <el-table-column prop="lockReason" label="锁定原因" show-overflow-tooltip="" />
                        <el-table-column prop="lockUser" label="锁定人" show-overflow-tooltip="" />
                        <el-table-column prop="lockTime" label="锁定时间" width="80" :formatter="formatDate_T_Date" show-overflow-tooltip="" />
                        <el-table-column prop="remarks" label="备注" show-overflow-tooltip="" />
                        <el-table-column prop="info1" label="纸箱长" show-overflow-tooltip="" />
                        <el-table-column prop="info2" label="纸箱宽" show-overflow-tooltip="" />
                        <el-table-column prop="info3" label="纸箱高" show-overflow-tooltip="" />
                        <el-table-column prop="info4" label="销售合同单号" show-overflow-tooltip="" />
                        <el-table-column prop="info6" label="第几包" show-overflow-tooltip="" />
                        <el-table-column prop="info7" label="经销店名称" show-overflow-tooltip="" />
                        <el-table-column prop="info8" label="产品名称" show-overflow-tooltip="" />
                        <el-table-column prop="info10" label="客户名称" show-overflow-tooltip="" />
                        <el-table-column prop="info11" label="自提or发货" show-overflow-tooltip="" />
                        <el-table-column prop="info12" label="包装部件总数量" show-overflow-tooltip="" />
                        <el-table-column prop="info13" label="包装面积" show-overflow-tooltip="" />
                        <el-table-column prop="createTime" label="创建时间" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
                        <el-table-column prop="updateTime" label="修改时间" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
                        <el-table-column prop="createUserName" label="创建人" show-overflow-tooltip="" />
                        <el-table-column prop="updateUserName" label="修改人" show-overflow-tooltip="" />
                        <!-- <el-table-column prop="upiFlag" label="标记" show-overflow-tooltip="">
                            <template #default="scope">
                                <el-tag>{{ getEnumDesc(scope.row.upiFlag, getEnumUpiFlagData_Index) }}</el-tag>
                            </template>
                        </el-table-column> -->
                    </el-table>
                    <Pagination :total="detailCount" v-model:page="detailForm.Page" v-model:limit="detailForm.PageSize" @pagination="getDetail" style="margin-top: 20px; text-align: center"></Pagination>
@@ -334,29 +349,8 @@
            </div>
        </el-drawer>
        <el-dialog v-model="outVisible2" title="SPA获取" width="20%" @close="closeOutDialog2">
            <el-form :model="outerForm2" label-width="120px">
                <el-row style="font-size: 16px">
                    <el-col :span="23">
                        <el-form-item label="单号:" required>
                            <el-input v-model="outerForm2.purchaseNo" clearable placeholder="请输入单号" />
                        </el-form-item>
                    </el-col>
                </el-row>
            </el-form>
            <template #footer>
                <span class="dialog-footer">
                    <el-button @click="outVisible2 = false">取消</el-button>
                    <el-button type="primary" @click="getSapOrderPO">确认</el-button>
                </span>
            </template>
        </el-dialog>
        <!-- æ‰“印 -->
        <print-table-ckd ref="printTableRef"></print-table-ckd>
        <printDialogTestStudent ref="printDialogRefTestStudent" :title="printTestStudentTitle" @reloadTable="handleQueryTestStudent" />
    </div>
</template>
<script lang="ts" setup>
@@ -386,6 +380,7 @@
import { hiprint } from 'vue-plugin-hiprint';
import { SysPrintApi } from '/@/api-services/api';
import { SysPrint } from '/@/api-services/models';
import { pageMes_Package_Gather } from '/@/api/main/WmsOrder/mes_Package_Gather';
const moveType = 10; //移动类型 å…¥åº“
const { proxy }: any = getCurrentInstance(); // è®¿é—®å®žä¾‹ä¸Šä¸‹æ–‡ proxy同时支持开发 çº¿ä¸ŠçŽ¯å¢ƒ
@@ -627,17 +622,14 @@
const openDrawer = async (type: number, scope: any = {}, entozhExcell?: any) => {
    detailForm.value.Page = 1; //bug:点编辑-再点详情
    detailForm.value.PageSize = 10; //bug:点编辑-再点详情
    if (scope.orderId) {
        title.value = `${scope.orderId}`;
    if (scope.info5) {
        title.value = `${scope.info5}`;
    }
    drawerType.value = 'drawerAll';
    drawerVisible.value = true;
    //当前入库单号id
    detailForm.value.orderId = scope.orderId;
    //入库单
    purchaseNo.value = scope.orderId;
    purchaseNo.value = scope.info5;
    debugger;
    detailForm.value.orderId = scope.orderId;
    detailForm.value.info5 = scope.info5;
    //获取物料列表
    if (detailForm.value.poId == '') {
        drawerList.value = [];
@@ -694,8 +686,7 @@
//获取入库单下物料详情
const getDetail = async (callback?: any) => {
    loading.value = true;
    var res = await pageWmsOrderPurchaseDetails(Object.assign(detailForm.value));
    var res = await pageMes_Package_Gather(Object.assign(detailForm.value));
    if (callback == 1) {
        //编辑入口
        warehousOrderDetails.value = res.data.result?.items ?? [];
LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/kittingList/index.vue
@@ -143,7 +143,7 @@
                <!-- å³ä¾§è¡¨æ ¼ -->
                <div class="right-table">
                    <p class="text-xtiny">缺套列表</p>
                    <!-- <p class="text-xtiny">缺套列表</p> -->
                    <el-table
                        :data="newTableData"
                        style="width: 100%"
LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/manualFeedKitting/index.vue
@@ -56,15 +56,6 @@
                    </div>
                </div>
                <ul>
                    <li>
                        <span class="text_left">部件条码:</span>
                        <span class="text_rt">{{ tableData.upi }}</span>
                    </li>
                    <li>
                        <span class="text_left">部件名称:</span>
                        <span class="text_rt">{{ tableData.detailName }}</span>
                    </li>
                    <li>
                        <span class="text_left">批次号:</span>
@@ -94,10 +85,6 @@
                    <li>
                        <span class="text_left">第几包:</span>
                        <span class="text_rt">{{ tableData.info6 }}</span>
                    </li>
                    <li>
                        <span class="text_left">经销店名称:</span>
                        <span class="text_rt">{{ tableData.info7 }}</span>
                    </li>
                    <li>
                        <span class="text_left">产品名称:</span>
LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/mes_BatchOrderUPI_New/component/editDialog.vue
@@ -13,8 +13,8 @@
                        <el-input v-model="ruleForm.id" />
                    </el-form-item>
                    <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
                        <el-form-item label="部件条码" prop="uPI">
                            <el-input v-model="ruleForm.uPI" placeholder="请输入部件条码" maxlength="50" show-word-limit clearable />
                        <el-form-item label="部件条码" prop="upi">
                            <el-input v-model="ruleForm.upi" placeholder="请输入部件条码" maxlength="50" show-word-limit clearable />
                            
                        </el-form-item>
                        
@@ -304,7 +304,7 @@
    const ruleForm = ref<any>({});
    //自行添加其他规则
    const rules = ref<FormRules>({
        uPI: [{required: true, message: '请输入部件条码!', trigger: 'blur',},],
        upi: [{required: true, message: '请输入部件条码!', trigger: 'blur',},],
        planNo: [{required: true, message: '请输入批次号!', trigger: 'blur',},],
        orderId: [{required: true, message: '请输入订单号!', trigger: 'blur',},],
        upiStatus: [{required: true, message: '请选择板料状态!', trigger: 'change',},],
LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/mes_BatchOrderUPI_New/index.vue
@@ -11,7 +11,7 @@
          </el-col>
          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIMes_BatchOrderUPI_New">
            <el-form-item label="部件条码">
              <el-input v-model="queryParamsMes_BatchOrderUPI_New.uPI" clearable="" placeholder="请输入部件条码"/>
              <el-input v-model="queryParamsMes_BatchOrderUPI_New.upi" clearable="" placeholder="请输入部件条码"/>
              
            </el-form-item>
          </el-col>
@@ -250,7 +250,7 @@
                @sort-change="sortChangeMes_BatchOrderUPI_New"
                border="">
        <el-table-column type="index" label="序号" width="55" align="center"/>
        <el-table-column prop="uPI" label="部件条码"  show-overflow-tooltip="" />
        <el-table-column prop="upi" label="部件条码"  show-overflow-tooltip="" />
        <el-table-column prop="planNo" label="批次号"  show-overflow-tooltip="" />
        <el-table-column prop="orderId" label="订单号"  show-overflow-tooltip="" />
        <el-table-column prop="info5" label="生产单号"  show-overflow-tooltip="" />
LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/shortageList/component/openAllprop.vue
@@ -730,8 +730,6 @@
let itemSubTitle = ref<any[]>([]);
const handleHtmlPrint = () => {
    proxy.$refs['printTableRef'].printHd('缺件清单', {}, drawerList.value); //deltailList
    // proxy.$refs['printTableRef'].printHd('缺件清单', itemSubTitle.value, drawerList.value); //deltailList
};
// æš´éœ²æ–¹æ³•
LA24030_LuLiPackageLine_Web/src/views/main/WmsTask/wmsRbLineTask/component/editDialog.vue
@@ -27,8 +27,8 @@
                        
                    </el-col>
                    <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
                        <el-form-item label="部件条码" prop="uPI">
                            <el-input v-model="ruleForm.uPI" placeholder="请输入部件条码" maxlength="50" show-word-limit clearable />
                        <el-form-item label="部件条码" prop="upi">
                            <el-input v-model="ruleForm.upi" placeholder="请输入部件条码" maxlength="50" show-word-limit clearable />
                            
                        </el-form-item>
                        
@@ -196,7 +196,7 @@
    //自行添加其他规则
    const rules = ref<FormRules>({
        taskNo: [{required: true, message: '请输入任务号!', trigger: 'blur',},],
        uPI: [{required: true, message: '请输入部件条码!', trigger: 'blur',},],
        upi: [{required: true, message: '请输入部件条码!', trigger: 'blur',},],
        length: [{required: true, message: '请输入长!', trigger: 'blur',},],
        width: [{required: true, message: '请输入宽!', trigger: 'blur',},],
        thk: [{required: true, message: '请输入厚!', trigger: 'blur',},],
LA24030_LuLiPackageLine_Web/src/views/main/WmsTask/wmsRbLineTask/index.vue
@@ -23,7 +23,7 @@
          </el-col>
          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRbLineTask">
            <el-form-item label="部件条码">
              <el-input v-model="queryParamsWmsRbLineTask.uPI" clearable="" placeholder="请输入部件条码"/>
              <el-input v-model="queryParamsWmsRbLineTask.upi" clearable="" placeholder="请输入部件条码"/>
              
            </el-form-item>
          </el-col>
@@ -162,7 +162,7 @@
        <el-table-column type="index" label="序号" width="55" align="center"/>
        <el-table-column prop="taskNo" label="任务号"  show-overflow-tooltip="" />
        <el-table-column prop="taskName" label="任务名称"  show-overflow-tooltip="" />
        <el-table-column prop="uPI" label="部件条码"  show-overflow-tooltip="" />
        <el-table-column prop="upi" label="部件条码"  show-overflow-tooltip="" />
        <el-table-column prop="length" label="长"  show-overflow-tooltip="" />
        <el-table-column prop="width" label="宽"  show-overflow-tooltip="" />
        <el-table-column prop="thk" label="厚"  show-overflow-tooltip="" />
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsBase/WmsBasePlace/Dto/WmsBasePlaceOutput.cs
@@ -139,11 +139,12 @@
/// </summary>
public class LocationViewOutput
{
        /// <summary>
        /// è¿›å…¥æ—¶é—´
        /// </summary>
    public string PlaceCode { get; set; }
    /// <summary>
    /// è¿›å…¥æ—¶é—´
    /// </summary>
        public DateTime? InTime { get; set; }
    public DateTime? InTime { get; set; }
        /// <summary>
        /// éƒ¨ä»¶æ¡ç 
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/Dto/UnlineForNGPackageInput.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
using Admin.NET.Core;
using System.ComponentModel.DataAnnotations;
namespace Admin.NET.Application;
public class UnlineForNGPackageInput
{
    /// <summary>
    /// åŒ…装号
    /// </summary>
    public virtual string PackageCode { get; set; }
    /// <summary>
    /// NG原因
    /// </summary>
    public virtual string Reason { get; set; }
}
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs
@@ -199,6 +199,51 @@
    }
    /// <summary>
    /// NG包下线
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    [HttpPost]
    [ApiDescriptionSettings(Name = "UnlineForNGPackage")]
    [Description("WmsOperationTask/UnlineForNGPackage")]
    public async Task UnlineForNGPackage(UnlineForNGPackageInput input)
    {
        //if (input == null)
        //{
        //    throw Oops.Oh("参数不能为空");
        //}
        //if (string.IsNullOrEmpty(input.PackageCode))
        //{
        //    throw Oops.Oh("包号不能为空");
        //}
        //if (string.IsNullOrEmpty(input.Reason))
        //{
        //    throw Oops.Oh("原因不能为空");
        //}
        //List<WmsStockQuan> updateQuanList = new List<WmsStockQuan>();
        //foreach (var item in input.PackageCodeList)
        //{
        //    var quanList = await _wmsStockQuanRep.AsQueryable().Where(x => x.PackageCode == item).ToListAsync();
        //    var isExist = quanList.Where(x => x.StockStatus == StockStatusEnum.齐包待出库).Count();
        //    if (isExist > 0)
        //    {
        //        throw Oops.Oh($"包{item}中其中有板状态是'{StockStatusEnum.齐包待出库.ToString()}',不允许强制出库");
        //    }
        //    æ›´æ–°çŠ¶æ€
        //    foreach (var quan in quanList)
        //    {
        //        quan.StockStatus = StockStatusEnum.人工强制待出库;
        //        quan.UpdateTime = DateTime.Now;
        //        quan.OperReason = "人工强制待出库";
        //    }
        //    updateQuanList.AddRange(quanList);
        //}
        //await _wmsStockQuanRep.UpdateRangeAsync(updateQuanList);
    }
}
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/View/WmsStockQuan/V_Station_Quan.cs
@@ -11,6 +11,13 @@
    public class V_Station_Quan : WmsBasePlace
    {
        /// <summary>
        /// åº“位编码
        /// </summary>
        [SugarColumn(ColumnName = "PlaceCode", ColumnDescription = "库位编码", Length = 50)]
        public string PlaceCode { get; set; }
        /// <summary>
        /// è¿›å…¥æ—¶é—´
        /// </summary>
LuLiScreen/index3.html
@@ -21,14 +21,12 @@
<body>
    <div class="container-flex" tabindex="0" hidefocus="true">
        <div class="box-center">
            <p class="titleHt title_lt">当前登陆人:
            <p class="titleHt title_lt">当前操作人:
                <span id="idLoginName"> </span>
            </p>
            <p class="titleHt title_rt">登录时间:
            <p class="titleHt title_rt">操作时间:
                <span id="idLoginTime"> </span>
            </p>
            <div class="center-top">
                <h1>鲁丽木业包装线</h1>
@@ -263,6 +261,11 @@
                    </li>`;
                        });
                        $('#idList3').append(listItems1);
                        $('.dowebok2').liMarquee({
                            direction: 'up',
                            scrollamount: 20,
                            runshort: false
                        });
                    }
                });
@@ -299,19 +302,15 @@
                    }
                });
                // $(function () {
                //     $('.dowebok1').liMarquee({
                //         direction: 'up',
                //         scrollamount:20,
                //         runshort: false
                //     });
                $(function () {
                    // $('.dowebok1').liMarquee({
                    //     direction: 'up',
                    //     scrollamount:20,
                    //     runshort: false
                    // });
                //     $('.dowebok2').liMarquee({
                //         direction: 'up',
                //         scrollamount:20,
                //         runshort: false
                //     });
                // });
                });
            }