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

设备运行跟踪宽度和定额代号优化

zck преди 1 година
родител
ревизия
51873ffc8d
променени са 1 файла, в които са добавени 131 реда и са изтрити 89 реда
  1. 131 89
      src/view/yunyin/shengchanguanli/shebeiyunxing.vue

+ 131 - 89
src/view/yunyin/shengchanguanli/shebeiyunxing.vue

@@ -1347,7 +1347,7 @@
 		</el-dialog>
 		</el-dialog>
 
 
 		<el-dialog v-model="chanliangVisible" destroy-on-close
 		<el-dialog v-model="chanliangVisible" destroy-on-close
-		  width="70%" style="height: 90vh;margin-top: 2%;" :before-close="closechanliangVisible" :title="type2 === 'create' ? '新增' : '修改'">
+		  width="75%" style="height: 90vh;margin-top: 2%;" :before-close="closechanliangVisible" :title="type2 === 'create' ? '新增' : '修改'">
 		  <el-row :gutter="24">
 		  <el-row :gutter="24">
 		    <el-col :span="6">
 		    <el-col :span="6">
 		      <el-form-item label="工单编号:" prop="flatFeed" class="mab">
 		      <el-form-item label="工单编号:" prop="flatFeed" class="mab">
@@ -1510,7 +1510,7 @@
 			    </el-col>
 			    </el-col>
 			    <el-col :span="5">
 			    <el-col :span="5">
 			      <el-form-item label="装版补产工时:" prop="flatFeed" class="mab" >
 			      <el-form-item label="装版补产工时:" prop="flatFeed" class="mab" >
-			      <el-input v-model="formdata3.value.装版工时" id="装版补产工时"  @keydown="ent1($event)" :clearable="true" style="width: 100px; margin-right: 30px;" />
+			      <el-input v-model="formdata3.value.装版工时" id="装版补产工时"  @keydown="ent1($event)" :clearable="true" style="width: 200px;" />
 			  				  </el-form-item>
 			  				  </el-form-item>
 			    </el-col>
 			    </el-col>
 				<el-col :span="5">
 				<el-col :span="5">
@@ -6378,52 +6378,73 @@ const GetDedhtreeData = reactive([]);
 const GetDedhVisible = ref(false);
 const GetDedhVisible = ref(false);
 const table_fplb = ref(null); // el-tree 的 ref
 const table_fplb = ref(null); // el-tree 的 ref
 const getDedhsubmit = async () => {
 const getDedhsubmit = async () => {
-  try {
-	const response = await productionDedh({
-	  sczl_jtbh: JPformdata['机器'],
-	});
-	
-	if (response.code === 0) {
-	  if (response.data.bh_mc) {
-		const data = [response.data];
-		console.log("设备编号", response.data.sys_bh);
-		const buildTree = (node) => {
-		  const treeNode = {
-			id: node.sys_bh, // 确保有 id 属性,供 node-key 使用
-			label: node.sys_bh + "【" + node.sys_mc + "】",
-			children: [],
-			key: node.sys_bh, //保留 key 属性,便于自定义操作
-		  };
-		  if (node.bh_mc && Array.isArray(node.bh_mc)) {
-			node.bh_mc.forEach((childNode) => {
-			  treeNode.children.push(buildTree(childNode));
-			});
-		  }
-		  return treeNode;
-		};
-		// 更新树形数据
-		GetDedhtreeData.splice(0, GetDedhtreeData.length, ...data.map(buildTree));
-		// 显示树形选择框
-		GetDedhVisible.value = true;
-		// 使用 nextTick 确保树形组件渲染完成
-		nextTick(() => {
-		  const tree = table_fplb.value;
-		  if (tree) {
-			const firstNode = tree.getNode(0); // 获取树形的第一个节点
-			if (firstNode) {
-			  firstNode.el.focus(); // 聚焦第一个节点
-			}
-		  }
-		});
-	  } else {
-		// 如果 sczl_jtbh 有值,则直接填充数据
-		JPformdata['定额代号'] = response.data.sys_bh;
-	  }
-	}
+try {
+    const response = await productionDedh({
+      sczl_jtbh: JPformdata['机器'], // 请求参数
+    });
+
+    if (response.code === 0) {
+      const data = response.data;
+
+      // 处理单条记录的情况,直接赋值
+      if (!Array.isArray(data) && !data.bh_mc) {
+        JPformdata['定额代号'] = data.sys_bh;
+        return;
+      }
+
+      // 定义递归函数,用于构造树形结构
+      const buildTree = (node) => {
+        const treeNode = {
+          id: node.sys_bh,
+          label: node.sys_bh + (node.sys_mc ? `【${node.sys_mc}】` : ""), // 显示内容
+          children: [],
+          key: node.Key_ || node.sys_bh, // 保留 key 属性,用于操作
+        };
+
+        // 如果有子节点,递归处理
+        if (node.bh_mc && Array.isArray(node.bh_mc)) {
+          treeNode.children = node.bh_mc.map((childNode) => buildTree(childNode));
+        }
+
+        return treeNode;
+      };
+
+      // 处理数组数据结构,生成树形结构并展示弹窗
+      if (Array.isArray(data)) {
+        GetDedhtreeData.splice(
+          0,
+          GetDedhtreeData.length,
+          ...data.map((item) => ({
+            id: item.sys_bh,
+            label: item.sys_bh,
+            children: [],
+            key: item.sys_bh,
+          }))
+        );
+        GetDedhVisible.value = true; // 展示弹窗
+      }
+
+      // 处理嵌套的树形结构数据
+      if (!Array.isArray(data) && data.bh_mc) {
+        GetDedhtreeData.splice(0, GetDedhtreeData.length, buildTree(data));
+        GetDedhVisible.value = true; // 展示弹窗
+      }
+
+      // 使用 nextTick 确保树形组件渲染完成后执行操作
+      nextTick(() => {
+        const tree = table_fplb.value; // 获取树形组件实例
+        if (tree) {
+          const firstNode = tree.getNode(0); // 获取树形的第一个节点
+          if (firstNode) {
+            firstNode.el.focus(); // 聚焦到第一个节点
+          }
+        }
+      });
+    }
   } catch (error) {
   } catch (error) {
-	console.error(error);
+    console.error("获取数据失败:", error);
   }
   }
-};
+};	
 
 
 //键盘事件
 //键盘事件
 const handleTreeKeydown = (event) => {
 const handleTreeKeydown = (event) => {
@@ -6532,50 +6553,71 @@ const GetDedhVisibleedit = ref(false);
 const table_fplbedit = ref(null); // el-tree 的 ref
 const table_fplbedit = ref(null); // el-tree 的 ref
 	
 	
 const getDedhsubmitedit = async () => {
 const getDedhsubmitedit = async () => {
-  try {
-	const response = await productionDedh({
-	  sczl_jtbh: JPformdataedit['机器'],
-	});
-	
-	if (response.code === 0) {
-	  if (response.data.bh_mc) {
-		const data = [response.data];
-		console.log("设备编号", response.data.sys_bh);
-		const buildTree = (node) => {
-		  const treeNode = {
-			id: node.sys_bh, // 确保有 id 属性,供 node-key 使用
-			label: node.sys_bh + "【" + node.sys_mc + "】",
-			children: [],
-			key: node.sys_bh, //保留 key 属性,便于自定义操作
-		  };
-		  if (node.bh_mc && Array.isArray(node.bh_mc)) {
-			node.bh_mc.forEach((childNode) => {
-			  treeNode.children.push(buildTree(childNode));
-			});
-		  }
-		  return treeNode;
-		};
-		// 更新树形数据
-		GetDedhtreeDataedit.splice(0, GetDedhtreeDataedit.length, ...data.map(buildTree));
-		// 显示树形选择框
-		GetDedhVisibleedit.value = true;
-		// 使用 nextTick 确保树形组件渲染完成
-		nextTick(() => {
-		  const tree = table_fplbedit.value;
-		  if (tree) {
-			const firstNode = tree.getNode(0); // 获取树形的第一个节点
-			if (firstNode) {
-			  firstNode.el.focus(); // 聚焦第一个节点
-			}
-		  }
-		});
-	  } else {
-		// 如果 sczl_jtbh 有值,则直接填充数据
-		JPformdataedit['定额代号'] = response.data.sys_bh;
-	  }
-	}
+	try {
+    const response = await productionDedh({
+      sczl_jtbh: JPformdataedit['机器'], // 请求参数
+    });
+
+    if (response.code === 0) {
+      const data = response.data;
+
+      // 处理单条记录的情况,直接赋值
+      if (!Array.isArray(data) && !data.bh_mc) {
+        JPformdataedit['定额代号'] = data.sys_bh;
+        return;
+      }
+
+      // 定义递归函数,用于构造树形结构
+      const buildTree = (node) => {
+        const treeNode = {
+          id: node.sys_bh,
+          label: node.sys_bh + (node.sys_mc ? `【${node.sys_mc}】` : ""), // 显示内容
+          children: [],
+          key: node.Key_ || node.sys_bh, // 保留 key 属性,用于操作
+        };
+
+        // 如果有子节点,递归处理
+        if (node.bh_mc && Array.isArray(node.bh_mc)) {
+          treeNode.children = node.bh_mc.map((childNode) => buildTree(childNode));
+        }
+
+        return treeNode;
+      };
+
+      // 处理数组数据结构,生成树形结构并展示弹窗
+      if (Array.isArray(data)) {
+        GetDedhtreeDataedit.splice(
+          0,
+          GetDedhtreeDataedit.length,
+          ...data.map((item) => ({
+            id: item.sys_bh,
+            label: item.sys_bh,
+            children: [],
+            key: item.sys_bh,
+          }))
+        );
+        GetDedhVisibleedit.value = true; // 展示弹窗
+      }
+
+      // 处理嵌套的树形结构数据
+      if (!Array.isArray(data) && data.bh_mc) {
+        GetDedhtreeDataedit.splice(0, GetDedhtreeDataedit.length, buildTree(data));
+        GetDedhVisibleedit.value = true; // 展示弹窗
+      }
+
+      // 使用 nextTick 确保树形组件渲染完成后执行操作
+      nextTick(() => {
+        const tree = table_fplb.value; // 获取树形组件实例
+        if (tree) {
+          const firstNode = tree.getNode(0); // 获取树形的第一个节点
+          if (firstNode) {
+            firstNode.el.focus(); // 聚焦到第一个节点
+          }
+        }
+      });
+    }
   } catch (error) {
   } catch (error) {
-	console.error(error);
+    console.error("获取数据失败:", error);
   }
   }
 };
 };