ソースを参照

fix: 修改回退删除数据结构

liaojiaxing 4 日 前
コミット
8a9bc3e20d

+ 43 - 10
src/pages/excel/ConfigDrawer.vue

@@ -290,8 +290,8 @@ const options = [
 
 const visible = ref(false);
 const formData = ref<Record<string, any>>({
-  name: '',
-  type: '',
+  part_name: '',
+  part_type: '',
   bom_code: '',
   qty: undefined,
   is_change: false,
@@ -312,7 +312,7 @@ const editType = ref<'add' | 'edit'>('edit');
 const open = (node: any, type?: 'add' | 'edit') => {
   visible.value = true;
   nodeData.value = cloneDeep(node.data);
-  editType.value = type || node?.id ? 'add' : 'edit';
+  editType.value = type || !node?.id ? 'add' : 'edit';
   form.value?.resetFields();
   try {
     // 新增
@@ -327,6 +327,29 @@ const open = (node: any, type?: 'add' | 'edit') => {
     } else {
       // 编辑 通过接口获取详情
       loading.value = true;
+      // 测试接口
+      // fetch(`https://sl-yf-bommgr-admin-dev.shalu.com/api/module/Invoke`, {
+      //   method: 'POST',
+      //   headers: {
+      //     Authorization: 'bpm_client_1421883752157548544',
+      //     'content-type': 'application/json;charset=UTF-8',
+      //   },
+      //   body: JSON.stringify({
+      //     interfaceCode: 'Common.getBOMInfo',
+      //     bom_id: node.id,
+      //   }),
+      // })
+      //   .then((res) => res.json())
+      //   .then((res) => {
+      //     console.log('res', res);
+      //     originFormData = res.result;
+      //     formData.value = {
+      //       ...node.data,
+      //       ...(res?.result || {}),
+      //       bom_det: {},
+      //     };
+      //     loading.value = false;
+      //   });
       window.parent?.BpmTools?.program(
         {
           interfaceCode: 'Common.getBOMInfo',
@@ -381,11 +404,12 @@ const handleSubmit = async () => {
       return;
     }
     // 值发生变化
-    if (value !== originFormData[key] && editType.value === 'edit') {
+    if (value !== originFormData[key]) {
       if (key in keyMap)
         str += `${str ? ',' : ''}${keyMap[key as keyof typeof keyMap]}: ${
           originFormData[key] ?? '空'
         }->${value ?? ''}`;
+      console.log(str, editType.value)
       // 更新内部数据
       if (Object.hasOwnProperty.call(nodeData.value || {}, key)) {
         nodeData.value[key] = value;
@@ -397,21 +421,30 @@ const handleSubmit = async () => {
       }
     }
   });
-  formData.value.change_content = str;
-  if (str) {
-    formData.value.is_change = true;
+
+  if (editType.value === 'edit') {
+    formData.value.change_content = str;
+    formData.value.is_change = !!str;
+  } else {
+    formData.value.change_content = '';
+    formData.value.is_change = false;
   }
 
-  emit('ok', {
+  // 最终编辑结果数据
+  const result = {
     ...(nodeData.value || {}),
-    ...formData.value,
     type: formData.value.part_type,
     name: formData.value.part_name,
     qty: formData.value.qty,
     is_change: formData.value.is_change,
     change_content: formData.value.change_content,
     bom_det: formData.value.bom_det,
-  });
+  };
+  // 不需要这两个字段
+  delete result.part_name;
+  delete result.part_type;
+
+  emit('ok', result);
   close();
 };
 

+ 2 - 2
src/pages/excel/MindmapModal.vue

@@ -349,7 +349,7 @@ const handleSave = () => {
     ElMessage.error('请检查数据是否填写完整!');
     return;
   }
-
+  console.log('handleSave', data);
   try {
     window.parent?.BpmTools?.program(
       {
@@ -419,7 +419,7 @@ defineExpose({
 
 const handlePressDel = (e: KeyboardEvent) => {
   // 删除节点
-  if ((e.key === 'Delete' || e.key === 'Backspace') && visible.value) {
+  if ((e.key === 'Delete') && visible.value) {
     e.preventDefault();
     removeNode();
   }

+ 1 - 1
src/pages/mindmap/index.vue

@@ -37,7 +37,7 @@ onMounted(() => {
   // fetch(`https://sl-yf-bommgr-admin-dev.shalu.com/api/module/Invoke`, {
   //   method: "POST",
   //   headers: {
-  //     'Authorization': "bpm_client_1419718313868529664",
+  //     'Authorization': "bpm_client_1421883752157548544",
   //     "content-type": "application/json;charset=UTF-8",
   //   },
   //   body: JSON.stringify({