Преглед на файлове

Merge remote-tracking branch 'origin/qingban' into qingban

jiaxiaoqiang преди 5 месеца
родител
ревизия
2ec9d97b8c

+ 6 - 0
src/api/craft/route/index.ts

@@ -69,3 +69,9 @@ export function updateMain(data: object) {
     data: data,
   });
 }
+export function getMaxRouteVersion(prodtCode: string) {
+  return request({
+    url: `/api/v1/op/route/getMaxRouteVersion/${prodtCode}`,
+    method: "get",
+  });
+}

+ 0 - 1
src/hooks/useDnD.js

@@ -97,7 +97,6 @@ export default function useDragAndDrop() {
       position,
       data: { label: draggedLable.value },
     };
-    console.log(newNode, "22");
     /**
      * Align node position after drop, so it's centered to the mouse
      *

+ 1 - 1
src/hooks/userCrud.ts

@@ -78,7 +78,7 @@ export const useCrud = (config?: UseCrudConfig) => {
         config?.done && config?.done();
         ElMessage.success(res?.msg ?? "");
         if (commonConfig.value?.afterAdd) {
-          commonConfig.value?.afterAdd();
+          commonConfig.value?.afterAdd(res?.data);
         }
       } else {
         config?.loading && config?.loading();

+ 15 - 5
src/views/base/craftManagement/route/bindProcess.vue

@@ -122,9 +122,9 @@
       <div class="detailInfo">
         <el-scrollbar>
           <div class="opBox">
-            <el-button type="success" @click="changeStyle">
+            <!-- <el-button type="success" @click="changeStyle">
               按钮风格切换
-            </el-button>
+            </el-button> -->
             <el-button type="primary" @click="changeEditStatus">{{
               !editStatus ? "切换为工序信息编辑模式" : "切换为工序路线编辑模式"
             }}</el-button>
@@ -472,16 +472,26 @@ const showList = computed(() => {
   });
   return array;
 });
+const errArray = ref([]);
+provide("errArray", errArray);
 // 保存中间的工序列表
 const saveFlow = async () => {
-  const { code } = await saveProcessInRoute({
+  const { code, msg } = await saveProcessInRoute({
     processRouteId: route.fullPath.split("/")[4],
     routeData: JSON.stringify({ ...flowData }),
   });
   if (code == "200") {
-    ElMessage.success("保存成功");
+    try {
+      if (JSON.parse(msg.replace("err:", ""))) {
+        errArray.value = JSON.parse(msg.replace("err:", ""));
+        ElMessage.error("请检查标记节点情况");
+      }
+    } catch (e) {
+      errArray.value = [];
+      ElMessage.success("保存成功");
+      loadProcessesFlow();
+    }
   }
-  loadProcessesFlow();
 };
 const cancer = () => {
   ElMessageBox.confirm("取消的话会清空本次操作记录,确定吗?", "回退", {

+ 7 - 0
src/views/base/craftManagement/route/components/CustomNode/index.vue

@@ -1,6 +1,7 @@
 <script setup>
 import { Position, Handle } from "@vue-flow/core";
 const props = defineProps(["data", "id"]);
+const errArray = inject("errArray");
 const currentProcess = inject("currentProcess");
 const selectNode = inject("selectNode");
 const selectStatus = ref(false);
@@ -14,6 +15,9 @@ const getBorderClass = computed(() => {
       str = "borderGreen";
     }
   }
+  if (errArray.value.includes(props.id)) {
+    str += " errBg";
+  }
   return str;
 });
 watch(
@@ -72,6 +76,9 @@ watch(
   </div>
 </template>
 <style lang="scss">
+.errBg {
+  background-color: rgba(255, 0, 0, 0.8);
+}
 .vue-flow__node-custom {
   padding: 0px !important;
   background-color: white !important;

+ 1 - 1
src/views/base/craftManagement/route/components/processComponent.vue

@@ -85,7 +85,7 @@
       <div v-else>
         <div class="tipTitle">{{ tipTitle }}</div>
         <SetExcel />
-      </div>fder
+      </div>
     </div>
   </div>
 </template>

+ 36 - 7
src/views/base/craftManagement/route/index.vue

@@ -87,7 +87,7 @@
           icon="el-icon-copy-document"
           :disabled="false"
           @click="copyRow(row)"
-          >复制</el-button
+          >升版</el-button
         >
         <el-button link icon="el-icon-copy-document" @click="bindProcessPop(row)"
           >绑定</el-button
@@ -212,7 +212,14 @@ import { ref, getCurrentInstance } from "vue";
 import { useCrud } from "@/hooks/userCrud";
 import dictDataUtil from "@/common/configs/dictDataUtil";
 import { useDictionaryStore } from "@/store";
-import {copyList, copyProductRoute, copyRoute, editRouteWith, updateMain} from "@/api/craft/route/index";
+import {
+  copyList,
+  copyProductRoute,
+  copyRoute,
+  editRouteWith,
+  getMaxRouteVersion,
+  updateMain
+} from "@/api/craft/route/index";
 import { getUserList } from "@/api/system/user/index";
 import RouteChangeLog from "@/views/base/craftManagement/route/components/routeChangeLog.vue";
 import {ElMessageBox} from "element-plus";
@@ -255,10 +262,16 @@ const dialog2 = ref({
   title: "绑定",
   visible: false,
 });
+const routeData =ref({});
 // 传入一个url,后面不带/
 const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
   useCrud({
     src: "/api/v1/op/route",
+    afterAdd:(routeData)=>{
+      router.push({
+        path: `/base/craftManagement/bindProcess/${routeData.id}/${routeData.prodtCode}`,
+      });
+    }
   });
 const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } =
   Methords; //增删改查
@@ -389,15 +402,31 @@ const startChooseRoute = () => {
 };
 // 已经绑定了工序的可以复制,跟后端HT商量只传id即可。
 const copyRow = (row) => {
-  option.value.column[4].display = false;
-  option.value.column[5].display = false;
+  option.value.column.forEach((item)=>{
+    if(item.prop==="commonRouteCode"||item.prop==="commonRouteName"){
+      item.display=false;
+    }
+      }
+
+  );
   if (row.usable == 0) {
     ElMessage.error("该路线未被绑定!");
     return;
   }
-  form.value = Object.assign(form.value, row);
-  form.value.processRouteVersion = "";
-  crudRef.value.rowAdd();
+  getMaxRouteVersion(row.prodtCode).then((data)=>{
+        if(data.code==='200'){
+          form.value = Object.assign(form.value, row);
+          form.value.processRouteVersion ='';
+          if(data.data){
+            form.value.processRouteVersion =(parseFloat(data.data)+1).toFixed(1);
+          }
+          form.value.prodtName1 = row.prodtName;
+          crudRef.value.rowAdd();
+        }
+  }
+
+  )
+
 };
 
 const renameRoute = () => {