|
|
@@ -1347,7 +1347,7 @@
|
|
|
</el-dialog>
|
|
|
|
|
|
<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-col :span="6">
|
|
|
<el-form-item label="工单编号:" prop="flatFeed" class="mab">
|
|
|
@@ -1510,7 +1510,7 @@
|
|
|
</el-col>
|
|
|
<el-col :span="5">
|
|
|
<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-col>
|
|
|
<el-col :span="5">
|
|
|
@@ -6378,52 +6378,73 @@ const GetDedhtreeData = reactive([]);
|
|
|
const GetDedhVisible = ref(false);
|
|
|
const table_fplb = ref(null); // el-tree 的 ref
|
|
|
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) {
|
|
|
- console.error(error);
|
|
|
+ console.error("获取数据失败:", error);
|
|
|
}
|
|
|
-};
|
|
|
+};
|
|
|
|
|
|
//键盘事件
|
|
|
const handleTreeKeydown = (event) => {
|
|
|
@@ -6532,50 +6553,71 @@ const GetDedhVisibleedit = ref(false);
|
|
|
const table_fplbedit = ref(null); // el-tree 的 ref
|
|
|
|
|
|
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) {
|
|
|
- console.error(error);
|
|
|
+ console.error("获取数据失败:", error);
|
|
|
}
|
|
|
};
|
|
|
|