From 84138b3f42b218ecc2efaa54ec31a1c1be29e326 Mon Sep 17 00:00:00 2001 From: liuying <1427574514@qq.com> Date: 周一, 25 11月 2024 19:30:59 +0800 Subject: [PATCH] 前端页面 --- LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderAsn/index.vue | 713 +++++++++++++++++++++++++++++++++------------------------- 1 files changed, 402 insertions(+), 311 deletions(-) diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderAsn/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderAsn/index.vue index 9144030..7caf6ee 100644 --- a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderAsn/index.vue +++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderAsn/index.vue @@ -1,242 +1,274 @@ 锘�<template> - <div class="wmsOrderAsn-container"> - <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> - <el-form :model="queryParams" ref="queryForm" labelWidth="90"> - <el-row> - <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10"> - <el-form-item label="鍏抽敭瀛�"> - <el-input v-model="queryParams.searchKey" clearable="" placeholder="ASN鍗曞彿" /> + <div class="wmsOrderPurchase-container"> + <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> + <el-form :model="queryParams" ref="queryForm" labelWidth="90"> + <el-row> + <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="6" class="mb10"> + <el-form-item label="鍏抽敭瀛�"> + <el-input v-model="queryParams.searchKey" clearable="" placeholder="PO鍗曞彿,渚涘簲鍟嗙紪鍙�,渚涘簲鍟嗗悕绉�,ERP鍗曞彿,椤圭洰鍙�" /> + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI"> + <el-form-item label="PO鍗曞彿"> + <el-input v-model="queryParams.purchaseNo" clearable="" placeholder="璇疯緭鍏O鍗曞彿" /> + </el-form-item> + </el-col> - </el-form-item> - </el-col> - <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI"> - <el-form-item label="ASN鍗曞彿"> - <el-input v-model="queryParams.asnNo" clearable="" placeholder="璇疯緭鍏SN鍗曞彿" /> + <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI"> + <el-form-item label="涓氬姟绫诲瀷"> + <el-select clearable="" v-model="queryParams.businessType" placeholder="璇烽�夋嫨涓氬姟绫诲瀷"> + <el-option v-for="(item, index) in getBusinessTypeData_Index" :key="index" :value="item.businessTypeValue" :label="`[${item.businessTypeValue}] ${item.businessTypeName}`" /> + </el-select> + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI"> + <el-form-item label="鍗曟嵁鏉ユ簮"> + <el-select clearable="" v-model="queryParams.orderSocure" placeholder="璇烽�夋嫨鍗曟嵁鏉ユ簮"> + <el-option v-for="(item, index) in getEnumOrderSocureData_Index" :key="index" :value="item.describe" :label="`${item.describe}`" /> + </el-select> + </el-form-item> + </el-col> - </el-form-item> - </el-col> - <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI"> - <el-form-item label="鍗曟嵁绫诲瀷"> - <el-select clearable="" v-model="queryParams.asnType" placeholder="璇烽�夋嫨鍗曟嵁绫诲瀷"> - <el-option v-for="(item,index) in getEnumAsnTypeData_Index" :key="index" :value="item.value" :label="`${item.describe}`" /> - </el-select> - </el-form-item> - </el-col> --> - - <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI"> - <el-form-item label="涓氬姟绫诲瀷"> - <el-select clearable="" v-model="queryParams.businessType" placeholder="璇烽�夋嫨涓氬姟绫诲瀷"> - <el-option v-for="(item, index) in getBusinessTypeData_Index" :key="index" :value="item.businessTypeValue" - :label="`[${item.businessTypeValue}] ${item.businessTypeName}`" /> - - </el-select> - - </el-form-item> - </el-col> - <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI"> - <el-form-item label="鍗曟嵁鐘舵��"> - <el-select clearable="" v-model="queryParams.asnStatus" placeholder="璇烽�夋嫨鍗曟嵁鐘舵��"> - <el-option v-for="(item, index) in getEnumAsnStatusData_Index" :key="index" :value="item.value" - :label="`${item.describe}`" /> - - </el-select> - - </el-form-item> - </el-col> - <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI"> + <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI"> + <el-form-item label="鍗曟嵁鐘舵��"> + <el-select clearable="" v-model="queryParams.poStatus" placeholder="璇烽�夋嫨鍗曟嵁鐘舵��"> + <el-option v-for="(item, index) in getEnumPoStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" /> + </el-select> + </el-form-item> + </el-col> + <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI"> <el-form-item label="鍗曟嵁鐘舵�佸悕绉�"> - <el-input v-model="queryParams.asnStatusName" clearable="" placeholder="璇疯緭鍏ュ崟鎹姸鎬佸悕绉�"/> + <el-input v-model="queryParams.poStatusName" clearable="" placeholder="璇疯緭鍏ュ崟鎹姸鎬佸悕绉�"/> </el-form-item> </el-col> --> - <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI"> - <el-form-item label="鐗╂祦鍗曞彿"> - <el-input v-model="queryParams.trackingNumber" clearable="" placeholder="璇疯緭鍏ョ墿娴佸崟鍙�" /> + <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI"> + <!-- <el-form-item label="渚涘簲鍟嗙紪鍙�"> + <el-input v-model="queryParams.supplierCode" clearable="" placeholder="璇疯緭鍏ヤ緵搴斿晢缂栧彿" /> + </el-form-item> --> + <el-form-item label="渚涘簲鍟�" prop="supplierCode"> + <el-select + v-model="queryParams.supplierCode" + filterable + remote + reserve-keyword + remote-show-suffix + :remote-method="remoteMethod" + :loading="loading" + placeholder="璇烽�夋嫨渚涘簲鍟�" + clearable + style="width: 100%" + @change="changeXmbh(queryParams.supplierCode)" + > + <el-option v-for="(item, index) in arrTdp" :key="index" :value="item.custCode" :label="`[${item.custCode}]${item.custChinaName}`"></el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI"> + <el-form-item label="渚涘簲鍟嗗悕绉�"> + <el-input v-model="queryParams.supplierName" clearable="" placeholder="璇疯緭鍏ヤ緵搴斿晢鍚嶇О" /> + </el-form-item> + </el-col> + <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI"> + <el-form-item label="鏀惰揣閬撳彛"> --> + <!-- <el-input v-model="queryParams.dock" clearable="" placeholder="璇疯緭鍏ユ敹璐ч亾鍙�" /> --> + <!-- <el-select clearable v-model="queryParams.dock" placeholder="璇烽�夋嫨鏀惰揣閬撳彛"> + <el-option + v-for="(item, index) in getEnumDockData" + :key="index" + :value="item.value" + :label="`${item.describe}`" + ></el-option> + </el-select> --> + <!-- </el-form-item> + </el-col> --> + <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI"> + <el-form-item label="ERP鍗曞彿"> + <el-input v-model="queryParams.erpOrderNo" clearable="" placeholder="璇疯緭鍏RP鍗曞彿" /> + </el-form-item> + </el-col> + <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI"> + <el-form-item label="椤圭洰ID"> + <el-input v-model="queryParams.projectId" clearable="" placeholder="璇疯緭鍏ラ」鐩甀D"/> + </el-form-item> </el-col> --> - <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI"> - <el-form-item label="閲婃斁鐘舵��"> - <el-input-number v-model="queryParams.releaseStatus" clearable="" placeholder="璇疯緭鍏ラ噴鏀剧姸鎬�"/> - - </el-form-item> - </el-col> - <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI"> - <el-form-item label="閲婃斁鐘舵�佸悕绉�"> - <el-input v-model="queryParams.releaseStatusName" clearable="" placeholder="璇疯緭鍏ラ噴鏀剧姸鎬佸悕绉�"/> - - </el-form-item> - </el-col> - <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI"> - <el-form-item label="鏄惁鍐荤粨"> - <el-select clearable="" v-model="queryParams.isFreeze" placeholder="璇烽�夋嫨鏄惁鍐荤粨"> - <el-option v-for="(item,index) in getEnumIsFreezeData_Index" :key="index" :value="item.value" :label="`${item.describe}`" /> - - </el-select> + <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI"> + <el-form-item label="椤圭洰鍙�"> + <el-input v-model="queryParams.projectNo" clearable="" placeholder="璇疯緭鍏ラ」鐩彿" /> + </el-form-item> + </el-col> + <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI"> + <el-form-item label="椤圭洰鍚嶇О"> + <el-input v-model="queryParams.projectName" clearable="" placeholder="璇疯緭鍏ラ」鐩悕绉�"/> </el-form-item> </el-col> --> - <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI"> - <el-form-item label="棰勮鍒拌揪鏃ユ湡"> - <el-date-picker placeholder="璇烽�夋嫨棰勮鍒拌揪鏃ユ湡" value-format="YYYY/MM/DD" type="daterange" v-model="queryParams.estimatedDateRange" /> - - </el-form-item> - </el-col> --> - <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10"> - <el-form-item> - <el-button-group style="display: flex; align-items: center;"> - <el-button type="primary" icon="ele-Search" @click="handleQuery" v-auth="'wmsOrderAsn:page'"> 鏌ヨ - </el-button> - <el-button icon="ele-Refresh" @click="() => queryParams = {}"> 閲嶇疆 </el-button> - <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUI" v-if="!showAdvanceQueryUI" - style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button> - <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUI" v-if="showAdvanceQueryUI" - style="margin-left:5px;"> 闅愯棌 </el-button> - <!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsOrderAsn" v-auth="'wmsOrderAsn:add'"> 鏂板 </el-button> --> - <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="showProp(1)" - v-auth="'wmsOrderPurchase:add'"> 鏂板 </el-button> - <el-button type="primary" style="margin-left:5px;" icon="ele-Upload" @click="openImportExcelWmsOrderDeliver"> 瀵煎叆 </el-button> - <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handExport"> 瀵煎嚭</el-button> - </el-button-group> - </el-form-item> + <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10"> + <el-form-item> + <el-button-group style="display: flex; align-items: center"> + <el-button type="primary" icon="ele-Search" @click="handleQuery"> 鏌ヨ </el-button> + <el-button icon="ele-Refresh" @click="() => (queryParams = {})"> 閲嶇疆 </el-button> + <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUI" v-if="!showAdvanceQueryUI" style="margin-left: 5px"> 楂樼骇鏌ヨ </el-button> + <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUI" v-if="showAdvanceQueryUI" style="margin-left: 5px"> 闅愯棌 </el-button> + <!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsOrderPurchase" v-auth="'wmsOrderPurchase:add'"> 鏂板 </el-button> --> + <!-- 鏂板PO鍗�-ly --> + <!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="showProp(1)"> 鏂板 </el-button> --> + <!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Upload" @click="openImportExcelWmsOrderDeliver"> 瀵煎叆 </el-button> --> + <!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handExport"> 瀵煎嚭 </el-button> --> + </el-button-group> + </el-form-item> + </el-col> + </el-row> + </el-form> + </el-card> + <el-card class="full-table" shadow="hover" style="margin-top: 5px"> + <div class="table-container"> + <!-- 宸︿晶琛ㄦ牸 --> + <div class="left-table"> + <p class="text-xtiny">榻愬鍒楄〃</p> - </el-col> - </el-row> - </el-form> - </el-card> - <el-card class="full-table" shadow="hover" style="margin-top: 5px"> - <el-table :data="tableData" style="width: 100%" v-loading="loading" tooltip-effect="light" row-key="id" - @sort-change="sortChange" ref="tableRef" :summary-method="getExportTitle" show-summary border=""> + <el-table + :data="tableData" + style="width: 100%" + v-loading="loading" + tooltip-effect="light" + ref="tableRef" + row-key="id" + @sort-change="sortChange" + :summary-method="getExportTitle" + border="" + > + <el-table-column type="index" label="搴忓彿" width="55" align="center" /> + <!-- <el-table-column prop="packageCode" label="鍖呰鍙�" show-overflow-tooltip="" /> --> + <el-table-column label="鍖呰鍙�" prop="packageCode" width="150" align="left" show-overflow-tooltip> + <template #default="scope"> + <span class="under_line" @click="openDrawer(1, scope.row)"> + {{ scope.row.packageCode }} + </span> + </template> + </el-table-column> - <el-table-column type="index" label="搴忓彿" width="55" align="center" /> - <!-- <el-table-column prop="purchaseNo" 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="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> + </div> - <el-table-column label="ASN鍗曞彿" prop="asnNo" width="160px" align="left" show-overflow-tooltip> - <template #default="scope"> - <span class="under_line" @click="openDrawer(1, scope.row)"> - {{ scope.row.asnNo }} - </span> - </template> - </el-table-column> + <!-- 鍙充晶琛ㄦ牸 --> + <div class="right-table"> + <p class="text-xtiny">涓嶉綈濂楀垪琛�</p> + <el-table + :data="newTableData" + style="width: 100%" + v-loading="loading" + tooltip-effect="light" + ref="newTableRef" + row-key="newId" + @sort-change="newSortChange" + :summary-method="getNewExportTitle" + border="" + > + <el-table-column type="index" label="搴忓彿" width="55" align="center" /> + <!-- <el-table-column prop="packageCode" label="鍖呰鍙�" show-overflow-tooltip="" /> --> + <el-table-column label="鍖呰鍙�" prop="packageCode" width="150" align="left" show-overflow-tooltip> + <template #default="scope"> + <span class="under_line" @click="openDrawer(1, scope.row)"> + {{ scope.row.packageCode }} + </span> + </template> + </el-table-column> + <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="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> + </div> + </div> + </el-card> - <!-- - <el-table-column prop="asnType" min-width="100px" label="鍗曟嵁绫诲瀷" show-overflow-tooltip="" > - <template #default="scope"> - {{ getEnumDesc(scope.row.asnType, getEnumAsnTypeData_Index)}} - </template> - </el-table-column> --> - <el-table-column prop="businessTypeName" label="涓氬姟绫诲瀷" show-overflow-tooltip="" min-width="90px"> - <template #default="scope"> - {{ scope.row.businessTypeName }} - </template> - </el-table-column> - <el-table-column prop="asnStatus" label="鍗曟嵁鐘舵��" show-overflow-tooltip=""> - <template #default="scope"> - <el-tag :type="getTypeStatus(1, getEnumDesc(scope.row.asnStatus, getEnumAsnStatusData_Index))"> - {{ getEnumDesc(scope.row.asnStatus, getEnumAsnStatusData_Index) }} - </el-tag> - </template> - </el-table-column> - - <!-- <el-table-column prop="quantity" label="鏁伴噺" show-overflow-tooltip="" /> - <el-table-column prop="goodsQuantity" 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 label="鎿嶄綔" width="280" align="center" fixed="right" show-overflow-tooltip="" - v-if="auth('wmsOrderAsn:update') || auth('wmsOrderAsn:delete')"> - <template #default="scope"> - <!-- <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsOrderAsn(scope.row)" v-auth="'wmsOrderAsn:update'"> 缂栬緫 </el-button> --> - - <el-button icon="ele-Edit" size="small" text="" type="primary" @click="showProp(scope.row)" - v-auth="'wmsOrderPurchase:update'" :disabled="scope.row.asnStatus!=0"> 缂栬緫 </el-button> - <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsOrderAsn(scope.row)" - v-auth="'wmsOrderAsn:delete'" :disabled="scope.row.asnStatus!=0"> 鍙栨秷 </el-button> - - - <el-button icon="ele-Close" size="small" text="" type="primary" v-auth="'wmsOrderDeliver:delete'" - @click="tocloseWmsOrderAsn(scope.row)" :disabled="!(scope.row.asnStatus == 0 || scope.row.asnStatus == 1)"> 鍏抽棴</el-button> - - <el-button icon="ele-Printer" size="small" text="" type="primary" @click="showProp(3,scope.row)" - v-auth="'wmsOrderAsn:update'" :disabled="scope.row.asnStatus!=0"> 鎵撳嵃 </el-button> - </template> - </el-table-column> - </el-table> - <el-pagination v-model:currentPage="tableParams.page" v-model:page-size="tableParams.pageSize" - :total="tableParams.total" :page-sizes="[10, 20, 50, 100, 200, 500]" small="" background="" - @size-change="handleSizeChange" @current-change="handleCurrentChange" - layout="total, sizes, prev, pager, next, jumper" /> - <printDialog ref="printDialogRef" :title="printWmsOrderAsnTitle" @reloadTable="handleQuery" /> - <editDialog ref="editDialogRef" :title="editWmsOrderAsnTitle" @reloadTable="handleQuery" /> - </el-card> - - <editDialogWmsOrderDeliver ref="editDialogRefWmsOrderDeliver" :title="editWmsOrderDeliverTitle" - @reloadTable="handleQuery" /> - <importExcelDialog ref="importExcelDialogRefWmsOrderDeliver" :title="importExcelTitleWmsOrderDeliver" - @parentUploadFun="handleImportExcelWmsOrderDeliver" @parentDownFun="handleDownExcelWmsOrderDeliver" /> - - <!-- 鎵�鏈夊脊妗� 锛氭柊澧� 缂栬緫 璇︽儏 --> - <open-allprop titleAuthor="1" hexiao="0" ref="propALlProp" @getTabelData="handleQuery"></open-allprop> - </div> + <editDialogWmsOrderDeliver ref="editDialogRefWmsOrderDeliver" :title="editWmsOrderDeliverTitle" @reloadTable="handleQuery" /> + <importExcelDialog + ref="importExcelDialogRefWmsOrderDeliver" + :title="importExcelTitleWmsOrderDeliver" + @parentUploadFun="handleImportExcelWmsOrderDeliver" + @parentDownFun="handleDownExcelWmsOrderDeliver" + /> + <!-- 鎵�鏈夊脊妗� 锛氭柊澧� 缂栬緫 璇︽儏 --> + <open-allprop titleAuthor="1" hexiao="0" ref="propALlProp" @getTabelData="handleQuery"></open-allprop> + </div> </template> -<script lang="ts" setup="" name="wmsOrderAsn"> -import { getCurrentInstance, nextTick, onMounted, ref } from "vue"; -import { ElMessageBox, ElMessage } from "element-plus"; +<script lang="ts" setup="" name="wmsOrderPurchase"> +import { getCurrentInstance, nextTick, onMounted, ref } from 'vue'; +import { ElMessageBox, ElMessage } from 'element-plus'; import { auth } from '/@/utils/authFunction'; +import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils'; import { formatDate, formatDate_T_Date, formatDate_T_Time, defaultTimeRange } from '/@/utils/formatTime'; -import printDialog from '/@/views/system/print/component/hiprint/preview.vue' -import editDialog from '/@/views/main/WmsOrder/wmsOrderAsn/component/editDialog.vue' -import { pageWmsOrderAsn, deleteWmsOrderAsn, importExcelWmsOrderAsn, downloadExcelTemplateWmsOrderAsn, downloadExcelTemplateWmsOrderAsnAll, closeWmsOrderAsn } from '/@/api/main/WmsOrder/wmsOrderAsn'; +import { pageBaseCustomer } from '/@/api/main/WmsBase/baseCustomer'; +import { formatUtcToData, getTypeStatus } from '/@/utils/formate'; +import printDialog from '/@/views/system/print/component/hiprint/preview.vue'; +import editDialog from '/@/views/main/WmsOrder/wmsOrderPurchase/component/editDialog.vue'; +import { + pageWmsOrderPurchase, + deleteWmsOrderPurchase, + importExcelWmsOrderPurchase, + downloadExcelTemplateWmsOrderPurchase, + downloadExcelTemplateWmsOrderPurchaseAll, +} from '/@/api/main/WmsOrder/wmsOrderPurchase'; +import { handleSlectDataWmsBusinessType } from '/@/utils/selectData'; import { getAPI } from '/@/utils/axios-utils'; import { SysEnumApi } from '/@/api-services/api'; import commonFunction from '/@/utils/commonFunction'; -import importExcelDialog from '/@/components/importExcel/index.vue' //寮曞叆瀵煎叆缁勪欢 -import { handleSlectDataWmsBusinessType } from "/@/utils/selectData"; -import { -formatUtcToData, - getTypeStatus -} from "/@/utils/formate"; - -import OpenAllprop from "./component/openAllpropAsn.vue"; -import { ExcellTableDataExport } from "/@/hooks/exportTableDataExcell"; +import importExcelDialog from '/@/components/importExcel/index.vue'; //寮曞叆瀵煎叆缁勪欢 +import { exportPageExcel } from '/@/utils/exportPageExcel'; //寮曞叆瀵煎嚭鏂规硶 +import OpenAllprop from './component/openAllprop.vue'; +import { ExcellTableDataExport } from '/@/hooks/exportTableDataExcell'; const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜 -const moveType=10;//绉诲姩绫诲瀷 鍏ュ簱 +const moveType = 10; //绉诲姩绫诲瀷 鍏ュ簱 // ------------灏佽瀵煎嚭鍔熻兘--鍓嶇瀵煎嚭+琛ㄦ牸鏍囬--------------- const jsonExcellTableExport = { - titleName: "", //瀵煎嚭琛ㄦ牸鍚嶇О - interfaceListName: '',//瀵煎嚭鎺ュ彛鍚嶇О -} -const { getExportTitle, handleExportExcell, formExport, entozhExcell } = ExcellTableDataExport(jsonExcellTableExport) + titleName: '', //瀵煎嚭琛ㄦ牸鍚嶇О + interfaceListName: '', //瀵煎嚭鎺ュ彛鍚嶇О +}; +const { getExportTitle, handleExportExcell, formExport, entozhExcell } = ExcellTableDataExport(jsonExcellTableExport); // --------------end 灏佽瀵煎嚭鍔熻兘--鍓嶇瀵煎嚭+琛ㄦ牸鏍囬----------------- // ---------------鏂板----------------------- -const showProp = (item?: any,itemAll?:any) => { - if (item == 1) { //鏂板 - proxy.$refs['propALlProp'].openDialog(1); - } else if(item == 3){ //鎵撳嵃 - proxy.$refs['propALlProp'].openDialog(3, itemAll); - } else{ //缂栬緫 - proxy.$refs['propALlProp'].openDialog(2, item); - } -} +const showProp = (item?: any) => { + if (item == 1) { + proxy.$refs['propALlProp'].openDialog(1); + } else { + proxy.$refs['propALlProp'].openDialog(2, item); + } +}; // ---------------璇︽儏----------------------- const openDrawer = (type: number, item?: any) => { - proxy.$refs['propALlProp'].openDrawer(type, item, entozhExcell); -} + proxy.$refs['propALlProp'].openDrawer(type, item, entozhExcell); +}; // ---------------end璇︽儏----------------------- -const getBusinessTypeData_Index = ref<any>([]);//涓氬姟绫诲瀷 create by liuwq -const getEnumAsnTypeData_Index = ref<any>([]); -const getEnumAsnStatusData_Index = ref<any>([]); -const getEnumIsFreezeData_Index = ref<any>([]); - +const getBusinessTypeData_Index = ref<any>([]); //涓氬姟绫诲瀷 create by liuwq +const getEnumOrderTypeData_Index = ref<any>([]); +// const getEnumBusinessTypeData_Index = ref<any>([]); //update by liuwq +const getEnumPoStatusData_Index = ref<any>([]); const { getEnumDesc } = commonFunction(); + +const getEnumOrderSocureData_Index = ref<any>([]); + const showAdvanceQueryUI = ref(false); const printDialogRef = ref(); const editDialogRef = ref(); @@ -244,183 +276,242 @@ const tableData = ref<any>([]); const queryParams = ref<any>({}); const tableParams = ref({ - page: 1, - pageSize: 10, - total: 0, + page: 1, + pageSize: 10, + total: 0, }); -const printWmsOrderAsnTitle = ref(""); -const editWmsOrderAsnTitle = ref(""); +const printWmsOrderPurchaseTitle = ref(''); +const editWmsOrderPurchaseTitle = ref(''); // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬� const changeAdvanceQueryUI = () => { - showAdvanceQueryUI.value = !showAdvanceQueryUI.value; -} + showAdvanceQueryUI.value = !showAdvanceQueryUI.value; +}; +const newTableData = ref([]); + +const fetchNewTableData = async () => { + loading.value = true; + try { + const response = await fetch('your-api-endpoint'); // 鏇挎崲涓烘偍鐨凙PI鍦板潃 + const data = await response.json(); + newTableData.value = data; + } catch (error) { + console.error('鑾峰彇鏂拌〃鏁版嵁閿欒:', error); + } finally { + loading.value = false; + } +}; + +const newSortChange = ({ prop, order }) => { + console.log(`鎺掑簭瀛楁: ${prop}, 鎺掑簭椤哄簭: ${order}`); + // 澶勭悊鎺掑簭閫昏緫 +}; + +const openNewDrawer = (type, row) => { + console.log('鎵撳紑鏂扮殑鎶藉眽锛岀被鍨�:', type, ', 鏁版嵁:', row); +}; + +const getNewExportTitle = () => { + return '鏂拌〃鏍煎鍑烘爣棰�'; +}; // 鏌ヨ鎿嶄綔 const handleQuery = async () => { - loading.value = true; - debugger - var res = await pageWmsOrderAsn(Object.assign(queryParams.value, tableParams.value)); - tableData.value = res.data.result?.items ?? []; - tableParams.value.total = res.data.result?.total; - loading.value = false; - + loading.value = true; + var res = await pageWmsOrderPurchase(Object.assign(queryParams.value, tableParams.value)); + tableData.value = res.data.result ?? []; + + newTableData.value = res.data.result ?? []; + + // tableParams.value.total = res.data.result?.total; + loading.value = false; + // getEnumOrderTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? []; + + // getEnumPoStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? []; }; // 鍒楁帓搴� const sortChange = async (column: any) => { - queryParams.value.field = column.prop; - queryParams.value.order = column.order; - await handleQuery(); + queryParams.value.field = column.prop; + queryParams.value.order = column.order; + await handleQuery(); }; // 鎵撳紑鏂板椤甸潰 -const openAddWmsOrderAsn = () => { - editWmsOrderAsnTitle.value = '娣诲姞ASN涓�'; - editDialogRef.value.openDialog({}); +const openAddWmsOrderPurchase = () => { + editWmsOrderPurchaseTitle.value = '娣诲姞PO鍗�'; + editDialogRef.value.openDialog({}); }; // 鎵撳紑鎵撳嵃椤甸潰 -const openPrintWmsOrderAsn = async (row: any) => { - printWmsOrderAsnTitle.value = '鎵撳嵃ASN涓�'; -} +const openPrintWmsOrderPurchase = async (row: any) => { + printWmsOrderPurchaseTitle.value = '鎵撳嵃PO鍗�'; +}; // 鎵撳紑缂栬緫椤甸潰 -const openEditWmsOrderAsn = (row: any) => { - editWmsOrderAsnTitle.value = '缂栬緫ASN涓�'; - editDialogRef.value.openDialog(row); +const openEditWmsOrderPurchase = (row: any) => { + editWmsOrderPurchaseTitle.value = '缂栬緫PO鍗�'; + editDialogRef.value.openDialog(row); }; // 鍒犻櫎 -const delWmsOrderAsn = (row: any) => { - ElMessageBox.confirm(`纭畾瑕佸彇娑堝悧?`, "鎻愮ず", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning", - }) - .then(async () => { - var res = await deleteWmsOrderAsn(row); - if (res.data.type == "success") { - handleQuery(); - ElMessage.success("鍙栨秷鎴愬姛"); - } - }) +const delWmsOrderPurchase = (row: any) => { + ElMessageBox.confirm(`纭畾瑕佸彇娑堝悧?`, '鎻愮ず', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning', + }) + .then(async () => { + await deleteWmsOrderPurchase(row); + handleQuery(); + ElMessage.success('鍙栨秷鎴愬姛'); + }) + .catch(() => {}); }; // 鏀瑰彉椤甸潰瀹归噺 const handleSizeChange = (val: number) => { - tableParams.value.pageSize = val; - handleQuery(); + tableParams.value.pageSize = val; + handleQuery(); }; // 鏀瑰彉椤电爜搴忓彿 const handleCurrentChange = (val: number) => { - tableParams.value.page = val; - handleQuery(); + tableParams.value.page = val; + handleQuery(); }; + // 鏍规嵁businessTypeValue鑾峰彇businessTypeName const getBusinessTypeByValue = (key: any, itemLst: any) => { - -return itemLst.find((x: any) => x.businessTypeValue == key)?.businessTypeName; + return itemLst.find((x: any) => x.businessTypeValue == key)?.businessTypeName; }; handleQuery(); -onMounted(async () => { - nextTick(async () => { - getBusinessTypeData_Index.value = await handleSlectDataWmsBusinessType(moveType); //涓嬫媺璇诲彇鎺ュ彛 - getEnumAsnTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? []; - getEnumAsnStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? []; - getEnumIsFreezeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? []; - }); +//================ +const arrTdp = ref<any[]>([]); +const queryParamsW = ref<any>({}); +const tableParamsW = ref({ + page: 1, + pageSize: 200, + total: 0, + custType: '渚涘簲鍟�', }); +//-----------------杩滅▼鎼滅储---------------- +const handleQueryTdp = async () => { + var res = await pageBaseCustomer(Object.assign(queryParamsW.value, tableParamsW.value)); + arrTdp.value = res.data.result?.items ?? []; +}; +const changeXmbh = async (query?: any) => { + loading.value = true; + var res = await pageBaseCustomer({ + page: 1, + pageSize: 200, + custCode: query, + custType: '渚涘簲鍟�', + }); + loading.value = false; + arrTdp.value = res.data.result?.items ?? []; +}; +// 杩滅▼鎼滅储 杈撳叆鍏抽敭瀛椾互浠庤繙绋嬫湇鍔″櫒涓煡鎵炬暟鎹�� +const remoteMethod = async (query: string) => { + loading.value = true; + var res = await pageBaseCustomer({ + page: 1, + pageSize: 200, + custCode: query, + custType: '渚涘簲鍟�', + }); + loading.value = false; + arrTdp.value = res.data.result?.items ?? []; +}; +//-----------------杩滅▼鎼滅储---------------- +const getEnumDockData = ref<any>([]); +onMounted(async () => { + nextTick(async () => { + // getBusinessTypeData_Index.value = await handleSlectDataWmsBusinessType(moveType); //涓嬫媺璇诲彇鎺ュ彛 + // getEnumDockData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('DockEnum')).data.result ?? []; + // getEnumOrderSocureData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('SourceByEnum')).data.result ?? []; + }); +}); /***************************************************[DO鍗曟搷浣淽缁撴潫***************************************************/ /***************************************************[DO鍗曞鍏寮�濮�***************************************************/ -const printWmsOrderDeliverTitle = ref(""); -const editWmsOrderDeliverTitle = ref(""); -const importExcelTitleWmsOrderDeliver = ref(""); +const printWmsOrderDeliverTitle = ref(''); +const editWmsOrderDeliverTitle = ref(''); +const importExcelTitleWmsOrderDeliver = ref(''); const importExcelDialogRefWmsOrderDeliver = ref(); //鎵撳紑瀵煎叆鐣岄潰 const openImportExcelWmsOrderDeliver = () => { - importExcelTitleWmsOrderDeliver.value = '瀵煎叆ASN鍗�'; - importExcelDialogRefWmsOrderDeliver.value.openDialog({}); + importExcelTitleWmsOrderDeliver.value = '瀵煎叆PO鍗�'; + importExcelDialogRefWmsOrderDeliver.value.openDialog({}); }; //瀵煎叆鏁版嵁 const handleImportExcelWmsOrderDeliver = async (formData: Blob) => { - var result = await importExcelWmsOrderAsn(formData); - importExcelDialogRefWmsOrderDeliver.value.callBackUploadFun(result.data);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶 - if (result.data.type == "success") { - handleQuery(); - } + var result = await importExcelWmsOrderPurchase(formData); + importExcelDialogRefWmsOrderDeliver.value.callBackUploadFun(result.data); //鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶 + if (result.data.type == 'success') { + handleQuery(); + } }; //涓嬭浇瀵煎叆妯℃澘 const handleDownExcelWmsOrderDeliver = async () => { - var result = await downloadExcelTemplateWmsOrderAsn(); - importExcelDialogRefWmsOrderDeliver.value.callBackDownFun(result);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶 + var result = await downloadExcelTemplateWmsOrderPurchase(); + importExcelDialogRefWmsOrderDeliver.value.callBackDownFun(result); //鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶 }; /***************************************************[DO鍗曞鍏缁撴潫***************************************************/ /***************************************************[DO鍗曞鍑篯寮�濮�***************************************************/ - - //瀵煎嚭 const handExport = () => { - downloadExcelTemplateWmsOrderAsnAll(queryParams.value) - .then((res) => { - if(res.status == 200){ - const link = document.createElement("a"); //鍒涘缓a鏍囩 - let blob = new Blob([res.data], { type: "application/vnd.ms-excel" }); // response灏辨槸鎺ュ彛杩斿洖鐨勬枃浠舵祦 - let objectUrl = URL.createObjectURL(blob); - link.href = objectUrl; - link.download = `ASN鍗曞鍑�${formatUtcToData( - new Date().toString(), - "YYYY-MM-DD hh:mm:ss" - )}`; // 鑷畾涔夋枃浠跺悕 - link.click(); // 涓嬭浇鏂囦欢 - URL.revokeObjectURL(objectUrl); // 閲婃斁鍐呭瓨 - } - }) + downloadExcelTemplateWmsOrderPurchaseAll(queryParams.value).then((res) => { + if (res.status == 200) { + const link = document.createElement('a'); //鍒涘缓a鏍囩 + let blob = new Blob([res.data], { type: 'application/vnd.ms-excel' }); // response灏辨槸鎺ュ彛杩斿洖鐨勬枃浠舵祦 + let objectUrl = URL.createObjectURL(blob); + link.href = objectUrl; + link.download = `PO鍗曞鍑�${formatUtcToData(new Date().toString(), 'YYYY-MM-DD hh:mm:ss')}`; // 鑷畾涔夋枃浠跺悕 + link.click(); // 涓嬭浇鏂囦欢 + URL.revokeObjectURL(objectUrl); // 閲婃斁鍐呭瓨 + } + }); }; - - - - -// 鍏抽棴Asn鍗� -const tocloseWmsOrderAsn = (row: any) => { - ElMessageBox.confirm(`纭畾瑕佸叧闂悧?`, "鎻愮ず", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning", - }) - .then(async () => { - loading.value = true; - var ret = await closeWmsOrderAsn(row); - if (ret.data.type == "success") { - ElMessage.success("鍏抽棴鎴愬姛"); - } - loading.value = false; - handleQuery(); - }) -}; - </script> <style scoped> :deep(.el-input), :deep(.el-select), :deep(.el-input-number) { - width: 100%; + width: 100%; } .under_line { - color: #F18201; - text-decoration: underline; - cursor: pointer; + color: #f18201; + text-decoration: underline; + cursor: pointer; +} +.table-container { + display: flex; /* 浣跨敤 flexbox 甯冨眬 */ + justify-content: space-between; /* 琛ㄦ牸涔嬮棿淇濇寔闂磋窛 */ +} + +.table-container .left-table, +.table-container .right-table { + flex: 1; /* 浣挎瘡涓〃鏍煎崰鎹浉鍚屽搴� */ + margin-right: 10px; /* 瀹氫箟鍙充晶鐨勯棿璺� */ + width: 50%; +} +.text-xtiny { + font-size: 14px; + font-weight: 700; + display: block; + padding: 0 0 10px 0; +} +.table-container .right-table { + margin-right: 0; /* 鏈�鍚庝竴涓〃鏍兼病鏈夊彸闂磋窛 */ } </style> - -- Gitblit v1.9.3