Browse Source

修改一体机物料采集中出现的问题 以及修改零星叫料的样式

ooo 1 year ago
parent
commit
5a0d22a1d3

+ 1 - 1
src/store/modules/dictionary.ts

@@ -3,7 +3,7 @@ import { defineStore } from "pinia";
 import { getUserDicts, getUserList } from "@/api/auth";
 
 export const useDictionaryStore = defineStore("dictionaryStore", () => {
-  const types = ["defect_mana", "stage", "process_state", "outsource_state"];
+  const types = ["defect_mana", "stage", "process_state", "outsource_state","accessories_type"];
   const dicts = ref<{ [key: string]: any[] }>({});
 
   // 所有的用户列表

+ 75 - 79
src/views/pro-operation/call-materiel/desperse.vue

@@ -1,5 +1,9 @@
 <template>
-  <el-scrollbar>
+  <div class="container-desperse">
+    <div class="left">2</div>
+    <div class="right">3</div>
+  </div>
+  <!-- <el-scrollbar>
     <div class="grid-container">
       <div
         v-for="(box, index) in merterielBoxes"
@@ -19,100 +23,92 @@
           <div class="suit-desc">当前库存</div>
         </div>
       </div>
-    </div>
-  </el-scrollbar>
-  <CallHistory ref="callHistoryRef" />
+    </div> 
+  </el-scrollbar>-->
+  <!-- <CallHistory ref="callHistoryRef" />
   <MarterielBoxDetail ref="materielBoxDetailRef" />
   <ChangeCount ref="changeCountRef" description="双面胶黑色" title="叫料数量" />
-  <ConfirmMessage ref="confirmMessageRef" />
+  <ConfirmMessage ref="confirmMessageRef" /> -->
 </template>
 
 <script lang="ts" setup>
-import CallHistory from "@/views/pro-operation/call-materiel/components/call-history.vue";
-import MarterielBoxDetail from "@/views/pro-operation/call-materiel/components/materiel-box-detail.vue";
-import ChangeCount from "@/components/CommonDialogs/ChangeCount.vue";
-import ConfirmMessage from "@/components/CommonDialogs/ConfirmMessage.vue";
-import { stockMaterialList } from "@/api/process/callMateriel";
-import { useProcessStore } from "@/store/modules/processView";
+// import CallHistory from "@/views/pro-operation/call-materiel/components/call-history.vue";
+// import MarterielBoxDetail from "@/views/pro-operation/call-materiel/components/materiel-box-detail.vue";
+// import ChangeCount from "@/components/CommonDialogs/ChangeCount.vue";
+// import ConfirmMessage from "@/components/CommonDialogs/ConfirmMessage.vue";
+// import { stockMaterialList } from "@/api/process/callMateriel";
+// import { useProcessStore } from "@/store/modules/processView";
+// import { useDictionaryStore } from "@/store/modules/dictionary";
 
-const processStore = useProcessStore();
-const merterielBoxes = ref<any>([]);
+// const processStore = useProcessStore();
+// const dictStore = useDictionaryStore();
+// const merterielBoxes = ref<any>([]);
 
 onMounted(() => {
+  // console.log("dictS.dicts", dictStore.dicts.accessories_type);
+  // merterielBoxes.value = dictStore.dicts.accessories_type.keys();
   // 获取数据
-  stockMaterialList(processStore.scanInfo.materialCode).then((res) => {
-    merterielBoxes.value = res.data;
-  });
+  // stockMaterialList(processStore.scanInfo.materialCode).then((res) => {
+  //   merterielBoxes.value = res.data;
+  // });
 });
-
-// =========叫料历史
-const callHistoryRef = ref<InstanceType<typeof CallHistory>>();
-
-// =========料箱详情
-const materielBoxDetailRef = ref<InstanceType<typeof MarterielBoxDetail>>();
-// =========叫料数量
-const changeCountRef = ref<InstanceType<typeof ChangeCount>>();
-
-// =========确认弹窗
-const confirmMessageRef = ref<InstanceType<typeof ConfirmMessage>>();
-
-const testClick = (index: number) => {
-  callHistoryRef.value?.showDrawer();
-  materielBoxDetailRef.value?.showDialog("", () => {});
-  changeCountRef.value?.showDialog(12, (value: number) => {
-    console.log(value);
-  });
-  confirmMessageRef.value?.showDialog(
-    "工位上料提示",
-    "料箱:LX1321312已到达缓存位,是否立即工位上料?",
-    "工位上料",
-    () => {}
-  );
-};
 </script>
 
 <style lang="scss" scoped>
-.grid-container {
-  width: 100%;
-  display: grid;
-  /*行间距*/
-  grid-row-gap: 24px;
-  /*列间距*/
-  grid-column-gap: 24px;
+.container-desperse {
+  display: flex;
+  .left {
+    width: 300px;
+    background-color: red;
+  }
 
-  grid-template-columns: 1fr 1fr 1fr;
-  overflow-y: auto;
+  .right {
+    flex: 1;
+    // margin-left: 12%;
+    background-color: black;
+  }
+}
+// .grid-container {
+//   width: 100%;
+//   display: grid;
+//   /*行间距*/
+//   grid-row-gap: 24px;
+//   /*列间距*/
+//   grid-column-gap: 24px;
 
-  .suit-box {
-    height: 210px;
-    background-color: white;
-    border-radius: 16px 16px 16px 16px;
-    padding: 24px 30px;
-    display: flex;
-    flex-direction: column;
-    align-items: start;
-    justify-content: space-between;
-    position: relative;
+//   grid-template-columns: 1fr 1fr 1fr;
+//   overflow-y: auto;
 
-    .suit-title {
-      font-weight: 500;
-      font-size: 20px;
-      color: rgba(0, 0, 0, 0.9);
-      text-align: left;
-    }
+//   .suit-box {
+//     height: 210px;
+//     background-color: white;
+//     border-radius: 16px 16px 16px 16px;
+//     padding: 24px 30px;
+//     display: flex;
+//     flex-direction: column;
+//     align-items: start;
+//     justify-content: space-between;
+//     position: relative;
 
-    .suit-count {
-      font-weight: bold;
-      font-size: 38px;
-      color: rgba(0, 0, 0, 0.9);
-      text-align: left;
-    }
+//     .suit-title {
+//       font-weight: 500;
+//       font-size: 20px;
+//       color: rgba(0, 0, 0, 0.9);
+//       text-align: left;
+//     }
 
-    .suit-desc {
-      font-size: 20px;
-      color: rgba(0, 0, 0, 0.6);
-      text-align: left;
-    }
-  }
-}
+//     .suit-count {
+//       font-weight: bold;
+//       font-size: 38px;
+//       color: rgba(0, 0, 0, 0.9);
+//       text-align: left;
+//     }
+
+//     .suit-desc {
+//       font-size: 20px;
+//       color: rgba(0, 0, 0, 0.6);
+//       text-align: left;
+//     }
+//   }
+// }
 </style>

+ 1 - 1
src/views/pro-operation/call-materiel/index.vue

@@ -17,7 +17,7 @@
         </div>
       </el-tab-pane>
       <el-tab-pane label="零星叫料" name="third">
-        <div class="contentBox">
+        <div class="contentBox" style="border: 2px solid blueviolet">
           <Desperse />
         </div>
       </el-tab-pane>

+ 46 - 14
src/views/pro-steps/components/wuliaocaiji.vue

@@ -4,13 +4,21 @@
   </div>
   <div class="showCodeBody" v-if="opCompentDataList.length < 1">
     <div class="codeBox">
-      <img src="@/assets/icons/shaoma.svg" style="width: 134px; height: 134px" />
+      <img
+        src="@/assets/icons/shaoma.svg"
+        style="width: 134px; height: 134px"
+      />
       <div class="codeText">扫码物料码添加物料</div>
     </div>
   </div>
   <div class="materialInfoBody" v-else>
-    <div :class="item.needNum - item.realNum == 0 ? 'infoMsg infoMsgImg' : 'infoMsg'
-      " v-for="item in opCompentDataList" @click="toXQPop(item)">
+    <div
+      :class="
+        item.needNum - item.realNum == 0 ? 'infoMsg infoMsgImg' : 'infoMsg'
+      "
+      v-for="item in opCompentDataList"
+      @click="toXQPop(item)"
+    >
       <div class="leftMsg">
         <div class="nameMsg">{{ item.itemName }}</div>
         <div class="describe">{{ item.itemModel }}</div>
@@ -23,8 +31,17 @@
       <svg-icon icon-class="jiaobiao" size="25" class="svgStyle" />
     </div>
   </div>
-  <xiangqingPopUp v-model="showXQ" :showInfoData="showInfoData"  :showInfo="showInfo"/>
-  <caijiRightPopUp v-model="showCJ" @submit="submit" ref="caijiRef" :seqNo="scanCode" />
+  <xiangqingPopUp
+    v-model="showXQ"
+    :showInfoData="showInfoData"
+    :showInfo="showInfo"
+  />
+  <caijiRightPopUp
+    v-model="showCJ"
+    @submit="submit"
+    ref="caijiRef"
+    :seqNo="scanCode"
+  />
 </template>
 
 <script lang="ts" setup>
@@ -82,16 +99,31 @@ const toXQPop = async (item: any) => {
 };
 //提交录入信息
 const submitRecordAdd = async (index) => {
-  const { data } = await itemRecordAdd({
-    itemCode: "242",
-    itemModel: "14",
-    itemName: "1202010000005",
-    itemSeq: "1202010000005",
-    operationId: "1202010000005",
-    processId: "1202010000005",
-    trackBy: "name",
-    workOrderCode: "1202010000005",
+  const chooseData = scanData.value[index];
+  if (!chooseData) {
+    ElMessage.error("请先选择物料,并确定数量在提交录入信息");
+    return;
+  }
+  if (!chooseData.num || chooseData.num < 1) {
+    ElMessage.error("请输入数量!");
+    return;
+  }
+  const { code, data } = await itemRecordAdd({
+    itemCode: chooseData.materialCode,
+    itemModel: chooseData.spec,
+    itemName: chooseData.materialName,
+    itemSeq: scanCode.value,
+    operationId: store.odersData.operationId,
+    processId: store.scanInfo.id,
+    num: chooseData.num,
+    trackBy: "S",
+    workOrderCode: store.odersData.workOrderCode,
   });
+  if (code == "200") {
+    showCJ.value = false;
+    ElMessage.success("录入成功");
+    getOpCompentData();
+  }
 };
 const submit = () => {
   let selectIndex = caijiRef.value.selectIndex;

+ 13 - 6
src/views/pro-steps/popUpView/caijiRightPopUp.vue

@@ -9,21 +9,26 @@
       </div>
       <el-scrollbar>
         <div class="body">
-          <div class="infoBox" v-for="(item, index) in scanData" @click="setSelectIndex(index)" :key="index">
+          <div
+            class="infoBox"
+            v-for="(item, index) in scanData"
+            @click="setSelectIndex(index)"
+            :key="index"
+          >
             <div class="leftInfo">
               <div class="titleText">{{ item.materialName }}</div>
-              <div class="describeText">{{ item.spec }}</div>
-              <div class="describeText">批次号:xxx</div>
+              <div class="describeText">规格:{{ item.spec }}</div>
+              <!-- <div class="describeText">批次号:xxx</div>
               <div class="describeText">计划编号:xxx</div>
               <div class="describeText">订单编号:xxx</div>
-              <div class="describeText">入库单号:xxx</div>
+              <div class="describeText">入库单号:xxx</div> -->
             </div>
             <div class="rightInput">
               <div></div>
               <div class="operate">
                 <div class="describeText operateText">录入数量</div>
                 <template v-if="selectIndex == index">
-                  <NumberInput v-model="scanSum" />
+                  <NumberInput v-model="item.num" :max="item.needNum" />
                 </template>
                 <div v-else class="titleText">0</div>
               </div>
@@ -34,7 +39,9 @@
       </el-scrollbar>
       <div class="bottomBtn">
         <el-button class="leftBtn" @click="handleClose">取消</el-button>
-        <el-button class="rightBtn" @click="emits('submit')" type="primary">确认</el-button>
+        <el-button class="rightBtn" @click="emits('submit')" type="primary"
+          >确认</el-button
+        >
       </div>
     </div>
   </div>

+ 11 - 5
src/views/pro-steps/popUpView/xiangqingPopUp.vue

@@ -6,23 +6,29 @@
         <div class="leftInfo">
           <div class="titleText">{{ showInfo.itemName }}</div>
           <div class="describeText">{{ showInfo.itemModel }}</div>
-          <div class="describeText">计划编号:{{ showInfo.batchNo }}</div>
+          <!-- <div class="describeText">计划编号:{{ showInfo.batchNo }}</div>
           <div class="describeText">订单编号:{{ showInfo.itemName }}</div>
-          <div class="describeText">入库单号:{{ showInfo.itemName }}</div>
+          <div class="describeText">入库单号:{{ showInfo.itemName }}</div> -->
         </div>
         <div class="rightBox">
           <div></div>
           <div class="sumBox">
             <div class="describeText">录入数量</div>
-            <div class="sum">20</div>
+            <div class="sum">
+              {{ showInfo.realNum }}
+            </div>
           </div>
         </div>
       </div>
       <el-divider />
       <el-scrollbar>
         <div class="body">
-          <div class="info titleText" v-for="(item, index) in showInfoData" :key="index">
-            adadwad
+          <div
+            class="info titleText"
+            v-for="(item, index) in showInfoData"
+            :key="index"
+          >
+            {{ item.itemSeq }} * {{ item.num }}
           </div>
           <Empty v-if="showInfoData.length == 0" />
         </div>