liuying
2024-12-01 6db85a1b10d891a3871775c2c555fd681cb7da34
LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/kittingList/component/openAllprop.vue
@@ -258,11 +258,11 @@
         </template>
      </el-dialog>
      <!-- 单详情 -->
      <el-drawer v-model="drawerVisible" :title="`${detailForm.poId}物料详情`" direction="rtl" size="80%" @close="handleDrawerClose">
      <el-drawer v-model="drawerVisible" :title="`${detailForm.poId}详情`" direction="rtl" size="80%" @close="handleDrawerClose">
         <template #title>
            <div class="slot_title">
               <div class="title_orderNo">{{ title }}</div>
               <div>物料详情</div>
               <div>详情</div>
            </div>
         </template>
@@ -272,16 +272,26 @@
            <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">
                        <el-form-item label-width="20px">
                           <el-button type="primary" icon="el-icon-search" @click="getDetail">查询</el-button>
                           <el-button type="primary" icon="ele-Printer" @click="getPrint">打印</el-button>
                           <!-- <el-button type="primary" style="margin-left: 5px" icon="ele-Printer" @click="handleHtmlPrint"> 打印 </el-button> -->
                        </el-form-item>
                     </el-col>
                  </el-row>
@@ -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,26 +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>
      <printDialogTestStudent ref="printDialogRefTestStudent" :title="printTestStudentTitle" @reloadTable="handleQueryTestStudent" />
      <!-- 打印 -->
      <print-table-ckd ref="printTableRef"></print-table-ckd>
   </div>
</template>
<script lang="ts" setup>
@@ -378,10 +375,12 @@
import { formatDate, formatDate_T_Date, formatDate_T_Time, defaultTimeRange } from '/@/utils/formatTime';
import commonFunction from '/@/utils/commonFunction';
import { handleSlectDataWmsBusinessType } from '/@/utils/selectData';
import printTableCkd from '/@/components/printTableCkd.vue';
// 推荐设置操作 width 为 200
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同时支持开发 线上环境
@@ -538,7 +537,6 @@
// const enumList: any = cache.getCache('enumList');
// console.log(enumList.inEnumOrderType);
//获取PO单列表
const getTabelData = () => {
   //判断创建时间是否有选择
@@ -619,22 +617,19 @@
// const
//单号
const purchaseNo = ref('');
const IsKitting = ref(false);
//打开抽屉
const openDrawer = async (type: number, scope: any = {}, entozhExcell?: any) => {
   detailForm.value.Page = 1; //bug:点编辑-再点详情
   detailForm.value.PageSize = 10; //bug:点编辑-再点详情
   if (scope.packageCode) {
      title.value = `${scope.packageCode}`;
   if (scope.info5) {
      title.value = `${scope.info5}`;
   }
   drawerType.value = 'drawerAll';
   drawerVisible.value = true;
   //当前入库单号id
   detailForm.value.orderId = scope.orderId;
   //入库单
   purchaseNo.value = scope.packageCode;
   purchaseNo.value = scope.info5;
   debugger;
   detailForm.value.packageCode = scope.packageCode;
   detailForm.value.info5 = scope.info5;
   //获取物料列表
   if (detailForm.value.poId == '') {
      drawerList.value = [];
@@ -646,7 +641,7 @@
   //------------------获取物料列表物料明细
   getEnumStockStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('StockStatusEnum')).data.result ?? [];
   getEnumLockStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('LockStatusEnum')).data.result ?? [];
   //----------------物料明细
   // 根据状态转中文 保留3位小数
   let scopetrans = JSON.parse(JSON.stringify(scope));
@@ -691,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 ?? [];
@@ -1122,6 +1116,12 @@
   };
   printDialogRefTestStudent.value.showDialog(new hiprint.PrintTemplate({ template: template }), row, template.panels[0].width);
};
// 打印
let itemSubTitle = ref<any[]>([]);
const handleHtmlPrint = () => {
   var title = IsKitting.value == true ? '齐套清单' : '缺套清单';
   proxy.$refs['printTableRef'].printHd(title, itemSubTitle.value, drawerList.value); //deltailList
};
// 暴露方法
defineExpose({ openDialog, openDrawer });