liuying
2024-11-29 d6bbd8952a4b962e3206e7f62ede763033ec2e1e
LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/manualFeed/index.vue
@@ -11,7 +11,6 @@
                        ref="materialCodeInput"
                        clearable=""
                        placeholder="请扫部件条码"
                        @input="handleChange"
                        @keyup.enter.prevent="handleEnter"
                        @confirm.enter.prevent="handleEnter"
                     />
@@ -33,16 +32,30 @@
            </el-row>
         </el-form>
         <br />
         <div class="detailBox">
         <div class="detailBox" style="height: calc(65vh)">
            <div class="titleTip">
               <div class="" v-show="isSuccess == '成功'">
                  <svg t="1732788314050" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="11359" width="100" height="100">
                     <path
                        d="M874.119618 149.859922A510.816461 510.816461 0 0 0 511.997 0.00208a509.910462 509.910462 0 0 0-362.119618 149.857842c-199.817789 199.679789-199.817789 524.581447 0 724.260236a509.969462 509.969462 0 0 0 362.119618 149.857842A508.872463 508.872463 0 0 0 874.119618 874.120158c199.836789-199.679789 199.836789-524.581447 0-724.260236zM814.94268 378.210681L470.999043 744.132295a15.359984 15.359984 0 0 1-5.887994 4.095996c-1.751998 1.180999-2.913997 2.362998-5.276994 2.913997a34.499964 34.499964 0 0 1-13.469986 2.914997 45.547952 45.547952 0 0 1-12.897986-2.303998l-4.095996-2.363997a45.291952 45.291952 0 0 1-7.009992-4.095996l-196.902793-193.789796a34.126964 34.126964 0 0 1-10.555989-25.186973c0-9.37399 3.583996-18.74698 9.98399-25.186974a36.429962 36.429962 0 0 1 50.372947 0l169.98382 167.423824L763.389735 330.220732a37.059961 37.059961 0 0 1 50.371947-1.732998 33.647965 33.647965 0 0 1 11.165988 25.186973 35.544963 35.544963 0 0 1-9.98399 24.575974v-0.04z m0 0"
                        fill="#52C41A"
                        p-id="11360"
                     ></path>
                  </svg>
                  <p class="okText">获取部件信息成功!</p>
               </div>
               <div class="" v-show="isSuccess && isSuccess != '成功'">
                  <svg t="1732842594517" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4303" width="100" height="100">
                     <path
                        d="M549.044706 512l166.189176-166.249412a26.383059 26.383059 0 0 0 0-36.98447 26.383059 26.383059 0 0 0-37.044706 0L512 475.015529l-166.249412-166.249411a26.383059 26.383059 0 0 0-36.98447 0 26.383059 26.383059 0 0 0 0 37.044706L475.015529 512l-166.249411 166.249412a26.383059 26.383059 0 0 0 0 36.98447 26.383059 26.383059 0 0 0 37.044706 0L512 548.984471l166.249412 166.249411a26.383059 26.383059 0 0 0 36.98447 0 26.383059 26.383059 0 0 0 0-37.044706L548.984471 512zM512 1024a512 512 0 1 1 0-1024 512 512 0 0 1 0 1024z"
                        fill="#E84335"
                        p-id="4304"
                     ></path>
                  </svg>
                  <p class="okText">{{ isSuccess }}</p>
               </div>
            </div>
            <ul>
               <!-- <li>
                  <span class="text_left">是否齐包:</span>
                  <span class="text_rt"></span>
               </li>
               <li>
                  <span class="text_left">是否齐套:</span>
                  <span class="text_rt"></span>
               </li> -->
               <li>
                  <span class="text_left">部件条码:</span>
@@ -62,11 +75,40 @@
                  <span class="text_left">订单号:</span>
                  <span class="text_rt">{{ tableData.orderId }}</span>
               </li>
               <br />   <br />   <br />   <br />   <br />   <br />
                  <br />   <br />   <br />   <br />   <br />
               <br />   <br />   <br />   <br />   <br />   <br />
               <li>
                  <span class="text_left">长:</span>
                  <span class="text_rt">{{ tableData.length }}</span>
               </li>
               <li>
                  <span class="text_left">宽:</span>
                  <span class="text_rt">{{ tableData.width }}</span>
               </li>
               <li>
                  <span class="text_left">厚:</span>
                  <span class="text_rt">{{ tableData.thk }}</span>
               </li>
               <li>
                  <span class="text_left">销售合同单号:</span>
                  <span class="text_rt">{{ tableData.info4 }}</span>
               </li>
               <li>
                  <span class="text_left">客户名称:</span>
                  <span class="text_rt">{{ tableData.info10 }}</span>
               </li>
               <li>
                  <span class="text_left">自提或发货:</span>
                  <span class="text_rt">{{ tableData.info11 }}</span>
               </li>
               <li>
                  <span class="text_left">包装部件总数量:</span>
                  <span class="text_rt">{{ tableData.info12 }}</span>
               </li>
               <li>
                  <span class="text_left">包装面积:</span>
                  <span class="text_rt">{{ tableData.info13 }}</span>
               </li>
               <!-- <li>
                  <span class="text_left">客户名称:</span>
                  <span class="text_rt">{{ tableData.Info10 }}</span>
@@ -128,22 +170,16 @@
</template>
<script lang="ts" setup="" name="wmsSubstituteGood">
import { onMounted, ref } from 'vue';
import { onBeforeUnmount, 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 } from '/@/utils/formatTime';
import { listMes_BatchOrderUPI_New, deleteMes_BatchOrderUPI_New, importExcelMes_BatchOrderUPI_New, downloadExcelTemplateMes_BatchOrderUPI_New } from '/@/api/main/WmsOrder/mes_BatchOrderUPI_New';
import printDialog from '/@/views/system/print/component/hiprint/preview.vue';
import editDialog from '/@/views/main/WmsBase/wmsSubstituteGood/component/editDialog.vue';
import { pageWmsSubstituteGood, deleteWmsSubstituteGood } from '/@/api/main/WmsBase/wmsSubstituteGood';
import { ShortageList } from '/@/api/main/ReportCenter/wmsStockQuan';
const showAdvanceQueryUI = ref(false);
const printDialogRef = ref();
const editDialogRef = ref();
const loading = ref(false);
const tableData = ref<any>([]);
const tableData = ref<any>({});
const queryParams = ref<any>({
   upi: '',
});
@@ -152,129 +188,68 @@
   pageSize: 10,
   total: 0,
});
const getIsDisabledData = [
   {
      value: true,
      text: '是',
   },
   {
      value: false,
      text: '否',
   },
];
const printWmsSubstituteGoodTitle = ref('');
const editWmsSubstituteGoodTitle = ref('');
// 改变高级查询的控件显示状态
const changeAdvanceQueryUI = () => {
   showAdvanceQueryUI.value = !showAdvanceQueryUI.value;
//=======================鼠标定位 用于引用输入框=====================
let materialCodeInput = ref(null);
let inactivityTimer = null;
// 处理用户活动的函数
const handleUserActivity = () => {
   if (inactivityTimer) {
      clearTimeout(inactivityTimer);
   }
   inactivityTimer = setTimeout(() => {
      // 清空输入框的值
      materialCodeInput.value.$el.querySelector('input').value = '';
      materialCodeInput.value.$el.querySelector('input').focus();
   }, 2000); // 设定2秒未操作则自动聚焦
};
// 用于引用输入框
const materialCodeInput = ref(null);
onMounted(() => {
   // 在组件挂载后进行聚焦
   materialCodeInput.value.$el.querySelector('input').focus();
   document.addEventListener('mousemove', handleUserActivity);
   document.addEventListener('keydown', handleUserActivity);
});
onBeforeUnmount(() => {
   clearTimeout(inactivityTimer);
   document.removeEventListener('mousemove', handleUserActivity);
   document.removeEventListener('keydown', handleUserActivity);
});
//=======================end鼠标定位 用于引用输入框=====================
const isSuccess = ref('');
// 查询操作 888888888
const handleQuery = async () => {
   console.log('8888888进入方法', queryParams.value);
   if (!queryParams.value.upi) {
      return;
   }
   console.log('查询');
   loading.value = true;
   var res = await ShortageList(Object.assign(queryParams.value, tableParams.value));
   if (res.data.result.length != 1) {
      ElMessage.warning('此条码不存在或不在缺料清单中!');
      tableData.value = [];
   queryParams.value.upi = '';
   handleResponse(res);
};
function handleResponse(res: any) {
   tableData.value = res.data.result ?? {};
   materialCodeInput.value.$el.querySelector('input').value = '';
   materialCodeInput.value.$el.querySelector('input').focus();
   if (res.data.code == 200) {
      isSuccess.value = res.data.result ? '成功' : res.data.message || '未查询到数据';
   } else if (res.data.code == 400) {
      loading.value = false;
      isSuccess.value = res.data.message || '未查询到数据';
      return;
   } else {
      loading.value = false;
      isSuccess.value = '';
      ElMessage.warning('网络异常 请求失败');
      return;
   }
   tableData.value = res.data.result[0] ?? [];
   loading.value = false;
};
// 列排序
const sortChange = async (column: any) => {
   queryParams.value.field = column.prop;
   queryParams.value.order = column.order;
   await handleQuery();
};
// 打开新增页面
const openAddWmsSubstituteGood = () => {
   editWmsSubstituteGoodTitle.value = '添加替代品管理';
   editDialogRef.value.openDialog({});
};
// 打开打印页面
const openPrintWmsSubstituteGood = async (row: any) => {
   printWmsSubstituteGoodTitle.value = '打印替代品管理';
};
// 打开编辑页面
const openEditWmsSubstituteGood = (row: any) => {
   editWmsSubstituteGoodTitle.value = '编辑替代品管理';
   editDialogRef.value.openDialog(row);
};
// 删除
const delWmsSubstituteGood = (row: any) => {
   ElMessageBox.confirm(`确定要删除吗?`, '提示', {
      confirmButtonText: '确定',
      cancelButtonText: '取消',
      type: 'warning',
   })
      .then(async () => {
         var ret = await deleteWmsSubstituteGood(row);
         if (ret.data.type == 'success') {
            handleQuery();
            ElMessage.success('删除成功');
         }
      })
      .catch(() => {});
};
// 改变页面容量
const handleSizeChange = (val: number) => {
   tableParams.value.pageSize = val;
   handleQuery();
};
// 改变页码序号
const handleCurrentChange = (val: number) => {
   tableParams.value.page = val;
   handleQuery();
};
// handleQuery();
const rules = {
   // 这里定义表单验证规则
   completeSet: [{ required: true, message: '请选择齐套', trigger: 'change' }],
   packageSetup: [{ required: true, message: '请输入齐包设置', trigger: 'blur' }],
   ngPackage: [{ required: true, message: '请输入ng包', trigger: 'blur' }],
};
const ruleForm = ref({
   id: '',
   completeSet: '',
   packageSetup: '',
   ngPackage: '',
});
const sourceEnum: any = ref([
   {
      value: 'id',
      text: 'ID',
   },
]);
const handleChange = (event: Event) => {
   console.log('77777777777');
   handleQuery();
};
}
const handleEnter = (event: Event) => {
   event.preventDefault(); // 阻止默认事件
@@ -301,7 +276,8 @@
         line-height: 30px;
         text-align: left;
         list-style-type: none;
         width: 25%;
         width: 48%;
         display: inline-block;
         word-wrap: break-word;
      }
   }
@@ -309,4 +285,15 @@
.text_left {
   font-weight: 700;
}
.my-icon {
   font-size: 36px; /* 调整字体大小 */
   color: #00ff11; /* 设置图标颜色 */
}
.titleTip {
   text-align: center;
   font-size: 36px; /* 调整字体大小 */
   .okText {
      margin-bottom: 20px;
   }
}
</style>