فهرست منبع

feature/首页流程数据实时优化&扫码数据存储

dy 1 سال پیش
والد
کامیت
6e6c409ff4

+ 15 - 0
src/api/process/index.ts

@@ -2,6 +2,8 @@ import request from "@/utils/request";
 import { AxiosPromise } from "axios";
 import { OrdersQuery } from "./types";
 
+
+//首页涉及相关api(获取未完成任务、扫码开工)
 /**
  * 获取未完成任务
  *
@@ -14,3 +16,16 @@ export function getOrders(data: any) {
     data: data,
   });
 }
+
+/**
+ * 扫码开工
+ *
+ * @param data
+ */
+export function getScan(data: any) {
+  return request({
+    url: "/api/v1/process/info/scan",
+    method: "post",
+    data: data,
+  });
+}

+ 1 - 1
src/components/ScanCodeInput/index.vue

@@ -1,5 +1,5 @@
 <template>
-  <el-input v-model="scanCode" placeholder="Please input" class="scanInput" @change="enter">
+  <el-input v-model="scanCode" placeholder="Please input" class="scanInput" @keyup.enter="enter">
     <template #prefix>
       <img src="@/assets/icons/shaoma.svg" />
     </template>

+ 3 - 7
src/store/modules/processView.ts

@@ -5,13 +5,9 @@ export const useProcessStore = defineStore(
     //首页到工序操作传递参数
     const odersData = ref<any>({});
     const processInfo = ref<any>({});
-    const setOdersData = (obj: object) => {
-      odersData.value = obj;
-    };
-    const setProcessInfo = (obj: object) => {
-      processInfo.value = obj;
-    };
-    return { odersData, processInfo, setOdersData, setProcessInfo };
+    //扫码开工返回值
+    const scanInfo = ref<any>({});
+    return { odersData, processInfo, scanInfo };
   },
   {
     //开启持久化存储

+ 17 - 4
src/views/process/components/scanCode.vue

@@ -12,19 +12,32 @@
 <script lang="ts" setup>
 import ScanCodeInput from "@/components/ScanCodeInput/index.vue";
 import { useProcessStore } from "@/store";
-
+import { getScan } from "@/api/process";
 const store = useProcessStore();
 const router = useRouter();
 const inputValue = ref("12020100000052404100011");
 const toProSteps = () => {
-  //判定是否选择了未完成订单以及工序
-
   store.odersData.qrCode = inputValue.value;
-  router.push({ path: "/pro-steps" });
+  getScanData();
 };
 const setInputValue = (value: any) => {
   inputValue.value = value;
 };
+const getScanData = async () => {
+  const { code, data, msg } = await getScan({
+    operationId: Number(store.odersData.operationId),
+    qrCode: store.odersData.qrCode,
+    workOrderCode: store.odersData.workOrderCode,
+    //stationId暂时随便传一个
+    stationId: 1,
+  });
+  if (code == "200") {
+    store.scanInfo = data;
+    router.push({ path: "/pro-steps" });
+  } else {
+    ElMessage.warning(msg);
+  }
+};
 </script>
 
 <style lang="scss" scoped>

+ 9 - 5
src/views/process/components/steps.vue

@@ -31,6 +31,7 @@
       </div>
       <div class="line" v-if="index != opsArray.length - 1"></div>
     </div>
+    <el-empty v-if="!opsArray" description="暂无数据" />
   </div>
 </template>
 
@@ -50,11 +51,14 @@ const boxClick = (item, index) => {
 
   emit("setstepindex", index);
 };
-onMounted(() => {
-  // if (props.opsArray) {
-  //   boxClick(props.opsArray[0], 0);
-  // }
-});
+watch(
+  () => props.opsArray,
+  () => {
+    if (props.opsArray.length > 0) {
+      boxClick(props.opsArray[0], 0);
+    }
+  }
+);
 </script>
 
 <style lang="scss" scoped>

+ 9 - 14
src/views/process/orders.vue

@@ -3,15 +3,15 @@
   <el-scrollbar class="barHeight">
     <Order v-for="(item, index) in ordersDataArray" :key="index" @click="setSlectIndex(index)"
       :hoverStatus="index == selectIndex ? true : false" :item="item" />
+    <el-empty v-if="!ordersDataArray" description="暂无数据" />
   </el-scrollbar>
 </template>
-
 <script lang="ts" setup>
 import Order from "@/views/process/components/order.vue";
 import { useProcessStore } from "@/store";
 
 const store = useProcessStore();
-defineProps<{
+const props = defineProps<{
   ordersSum?: number;
 }>();
 const emit = defineEmits(["getindex"]);
@@ -19,20 +19,15 @@ const ordersDataArray = inject("ordersDataArray");
 const selectIndex = ref(0);
 const setSlectIndex = (value: number) => {
   selectIndex.value = value;
-  //状态设置参数
-  store.setOdersData({
-    productLineId: ordersDataArray.value[value].productLineId,
-    workOrderCode: ordersDataArray.value[value].workOrderCode,
-  });
-  store.setProcessInfo({
-    materialName: ordersDataArray.value[value].materialName,
-    materialModel: ordersDataArray.value[value].materialModel,
-  });
+  store.odersData.productLineId = ordersDataArray.value[value].productLineId;
+  store.odersData.workOrderCode = ordersDataArray.value[value].workOrderCode;
+  store.processInfo.materialName = ordersDataArray.value[value].materialName;
+  store.processInfo.materialModel = ordersDataArray.value[value].materialModel;
   emit("getindex", value);
 };
-onMounted(() => {
-  console.log(ordersDataArray.value,'222')
-  // setSlectIndex(0);
+
+watch(ordersDataArray, () => {
+  if (ordersDataArray.value.length > 0) setSlectIndex(0);
 });
 </script>