Commit caba74e85fc81ebf79cfcd6bc66172357895a787

Authored by Dunfa Jiang
1 parent 2ffb770a

fix:优化部分功能

... ... @@ -246,7 +246,7 @@ const columnList = ref([
246 246 {
247 247 label: "分拣数量",
248 248 prop: "totalItemCount",
249   - width: 200,
  249 + // width: 200,
250 250 },
251 251 {
252 252 label: "创建时间",
... ...
... ... @@ -94,7 +94,8 @@
94 94 </el-form>
95 95 <el-row :gutter="10" class="mb8">
96 96 <el-col :span="1.5">
97   - <el-button type="primary" :disabled="scanCodeDisabled" plain icon="Plus" @click="handleAdd"
  97 + <!-- :disabled="scanCodeDisabled" -->
  98 + <el-button type="primary" plain icon="Plus" @click="handleAdd"
98 99 >扫码</el-button
99 100 >
100 101 </el-col>
... ... @@ -244,6 +245,7 @@
244 245 <el-select
245 246 v-model="form.deviceTypeId"
246 247 placeholder="请选择类型"
  248 + :disabled="deviceTypeList.length == 1"
247 249 @change="handleDeviceType"
248 250 >
249 251 <el-option
... ... @@ -317,7 +319,7 @@
317 319 <script setup>
318 320 import { getToken } from "@/utils/auth";
319 321 import { formatDate } from "@/utils/index";
320   -import { nextTick, onMounted, onUnmounted, ref,computed } from "vue";
  322 +import { nextTick, onMounted, onUnmounted, ref, computed } from "vue";
321 323 import {
322 324 scanSpecQueryList,
323 325 deviceTypeQueryList,
... ... @@ -409,7 +411,7 @@ const deviceTypeList = ref([]);
409 411
410 412 const searchBusinessLoading = ref(false);
411 413
412   -const scanCodeDisabled = computed(() => dataList.value.length >= 1)
  414 +const scanCodeDisabled = computed(() => dataList.value.length >= 1);
413 415
414 416 const getDeviceTypeList = () => {
415 417 deviceTypeQueryList(
... ... @@ -417,6 +419,12 @@ const getDeviceTypeList = () => {
417 419 ).then((res) => {
418 420 console.log(res, 111);
419 421 deviceTypeList.value = res.data;
  422 + // 编辑的时候 只允许一个类型
  423 + if (proxy.$route.query.scanTaskId && dataList.value.length > 0) {
  424 + deviceTypeList.value = deviceTypeList.value.filter(
  425 + (item) => dataList.value[0].deviceTypeId === item.id
  426 + );
  427 + }
420 428 });
421 429 };
422 430
... ... @@ -471,10 +479,30 @@ function submitForm() {
471 479 // open.value = false;
472 480 // getList();
473 481 // });
  482 + // 判断是否是第一个
  483 + const isFirstOne =
  484 + dataList.value.length > 0
  485 + ? form.value.id === dataList.value[0].id
  486 + : false;
  487 +
  488 + // 安全地获取要比较的businessId
  489 + let compareBusinessId = null;
  490 + if (dataList.value.length === 0) {
  491 + // 数组为空,无法比较
  492 + compareBusinessId = null;
  493 + } else if (isFirstOne && dataList.value.length > 1) {
  494 + // 如果是第一个元素且数组有第二个元素,比较第二个元素的businessId
  495 + compareBusinessId = dataList.value[1]?.businessId;
  496 + } else {
  497 + // 其他情况比较第一个元素的businessId
  498 + compareBusinessId = dataList.value[0]?.businessId;
  499 + }
474 500
475 501 if (
476   - dataList.value.length <= 1 ||
477   - form.value.businessId === dataList.value[0].businessId
  502 + dataList.value.length == 0 ||
  503 + isFirstOne ||
  504 + (compareBusinessId !== null &&
  505 + form.value.businessId === compareBusinessId)
478 506 ) {
479 507 const localStoreTableData = localStorage.getItem("localStoreTableData")
480 508 ? JSON.parse(localStorage.getItem("localStoreTableData"))
... ... @@ -488,6 +516,7 @@ function submitForm() {
488 516 target.deviceTypeName = form.value.deviceTypeName;
489 517 target.deviceTypeId = form.value.deviceTypeId;
490 518 target.quantity = form.value.quantity;
  519 + target.businessId = form.value.businessId;
491 520 localStorage.setItem(
492 521 "localStoreTableData",
493 522 JSON.stringify(localStoreTableData)
... ... @@ -571,6 +600,10 @@ function handleAdd() {
571 600 reset();
572 601 open.value = true;
573 602 title.value = "扫码录入";
  603 + if (deviceTypeList.value.length == 1) {
  604 + form.value.deviceTypeId = deviceTypeList.value[0].id;
  605 + form.value.deviceTypeName = deviceTypeList.value[0].name;
  606 + }
574 607 nextTick(() => {
575 608 setTimeout(() => {
576 609 barcodeRef.value.focus();
... ... @@ -619,8 +652,14 @@ const handleEdit = (row) => {
619 652 ...row,
620 653 };
621 654 if (proxy.$route.query.scanTaskId) {
622   - form.value.businessName = detailData.value.businessName;
623   - form.value.businessId = detailData.value.businessId;
  655 + // form.value.businessName = detailData.value.businessName;
  656 + // form.value.businessId = detailData.value.businessId;
  657 + form.value.businessName = row.businessName;
  658 + form.value.businessId = row.businessId;
  659 + }
  660 + if (deviceTypeList.value.length == 1) {
  661 + form.value.deviceTypeId = deviceTypeList.value[0].id;
  662 + form.value.deviceTypeName = deviceTypeList.value[0].name;
624 663 }
625 664 nextTick(() => {
626 665 setTimeout(() => {
... ... @@ -655,6 +694,7 @@ const confirmAddTask = () => {
655 694 quantity: item.quantity,
656 695 })),
657 696 };
  697 + // 新增的时候 类型需保持一致
658 698 if (proxy.$route.query.scanTaskId) {
659 699 data.id = detailData.value.id;
660 700 data.name = taskForm.value.taskName;
... ... @@ -675,36 +715,70 @@ const confirmAddTask = () => {
675 715 quantity: item.quantity,
676 716 }))
677 717 );
678   - taskLoading.value = true;
679   - editScanTask(data)
680   - .then((response) => {
681   - proxy.$modal.msgSuccess("编辑任务成功!");
682   - open.value = false;
683   - localStorage.removeItem("localStoreTableData");
684   - goBack();
685   - })
686   - .finally(() => {
687   - taskLoading.value = false;
688   - });
  718 + const businessIdList = data.specList.map((item) => item.businessId);
  719 + console.log(businessIdList, "businessIdList");
  720 + const businessIdFlag = businessIdList.every(
  721 + (element) => element === businessIdList[0]
  722 + );
  723 + if (businessIdFlag) {
  724 + taskLoading.value = true;
  725 + editScanTask(data)
  726 + .then((response) => {
  727 + proxy.$modal.msgSuccess("编辑任务成功!");
  728 + open.value = false;
  729 + localStorage.removeItem("localStoreTableData");
  730 + goBack();
  731 + })
  732 + .finally(() => {
  733 + taskLoading.value = false;
  734 + });
  735 + } else {
  736 + proxy.$modal.msgError(
  737 + "营业厅需保持一致,请检查输入条码修改后重新提交!"
  738 + );
  739 + }
689 740 } else {
690   - taskLoading.value = true;
691   - addScanTask(data)
692   - .then((response) => {
693   - proxy.$modal.msgSuccess("新增任务成功!");
694   - open.value = false;
695   - localStorage.removeItem("localStoreTableData");
696   - goBack();
697   - })
698   - .finally(() => {
699   - taskLoading.value = false;
700   - });
  741 + // 新增的时候 类型需保持一致
  742 + const specList = data.specList.map((item) => item.deviceTypeId);
  743 + const specListFlag = specList.every(
  744 + (element) => element === specList[0]
  745 + );
  746 + console.log(data);
  747 + console.log(specListFlag);
  748 + console.log(specList);
  749 + const businessIdList = data.specList.map((item) => item.businessId);
  750 + console.log(businessIdList, "businessIdList");
  751 + const businessIdFlag = businessIdList.every(
  752 + (element) => element === businessIdList[0]
  753 + );
  754 + if (businessIdFlag) {
  755 + if (specListFlag) {
  756 + taskLoading.value = true;
  757 + addScanTask(data)
  758 + .then((response) => {
  759 + proxy.$modal.msgSuccess("新增任务成功!");
  760 + open.value = false;
  761 + localStorage.removeItem("localStoreTableData");
  762 + goBack();
  763 + })
  764 + .finally(() => {
  765 + taskLoading.value = false;
  766 + });
  767 + } else {
  768 + proxy.$modal.msgError("类型需保持一致,请检查修改后重新提交!");
  769 + }
  770 + } else {
  771 + proxy.$modal.msgError(
  772 + "营业厅需保持一致,请检查输入条码修改后重新提交!"
  773 + );
  774 + }
701 775 }
702 776 }
703 777 });
704 778 };
705 779
706 780 // Query list
707   -const getList = () => {
  781 +const getList = (isTrigged) => {
708 782 let localStoreTableData = localStorage.getItem("localStoreTableData")
709 783 ? JSON.parse(localStorage.getItem("localStoreTableData"))
710 784 : [];
... ... @@ -714,16 +788,20 @@ const getList = () => {
714 788 }));
715 789 if (!proxy.$route.query.scanTaskId) {
716 790 loading.value = false;
717   -
718 791 dataList.value = localStoreTableData;
  792 + getDeviceTypeList();
719 793 } else {
720 794 loading.value = true;
721   - scanSpecQueryList(
722   - proxy.addDateRange(queryParams.value, dateRange.value)
723   - ).then((res) => {
724   - loading.value = false;
725   - dataList.value = res.data.concat(localStoreTableData);
726   - });
  795 + scanSpecQueryList(proxy.addDateRange(queryParams.value, dateRange.value))
  796 + .then((res) => {
  797 + loading.value = false;
  798 + dataList.value = res.data.concat(localStoreTableData);
  799 + })
  800 + .finally(() => {
  801 + if (isTrigged) {
  802 + getDeviceTypeList();
  803 + }
  804 + });
727 805 }
728 806 };
729 807
... ... @@ -840,8 +918,7 @@ const handleKeydown = (e) => {
840 918 };
841 919
842 920 onMounted(() => {
843   - getList();
844   - getDeviceTypeList();
  921 + getList(true);
845 922
846 923 if (proxy.$route.query.scanTaskId) {
847 924 getDetail();
... ...
... ... @@ -315,17 +315,16 @@ const columnList = ref([
315 315 {
316 316 label: "分拣时间",
317 317 prop: "scanTime",
318   - width: 150,
  318 + width: 200,
319 319 },
320 320 {
321 321 label: "分拣结果",
322   - prop: "scanResult",
323   - width: 150
  322 + prop: "scanResult"
324 323 },
325 324 {
326 325 label: "备注",
327 326 prop: "remark",
328   - width: 150
  327 + width: 200
329 328 },
330 329 {
331 330 label: "分拣人",
... ...
Please register or login to post a comment