ss-component-new 1.3.283 → 1.3.285

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (158) hide show
  1. package/dist/{MTLLoader-CZBprXNP.cjs → MTLLoader-CdxYhBAE.cjs} +1 -1
  2. package/dist/{MTLLoader-ByvO3xpX.js → MTLLoader-RsaYZtZ_.js} +1 -1
  3. package/dist/{OrbitControls-pu_IAkAV.cjs → OrbitControls-BNTHZN2P.cjs} +1 -1
  4. package/dist/{OrbitControls-gFOfDXco.js → OrbitControls-D4mDZcDl.js} +1 -1
  5. package/dist/{URDFLoader-CJmlsLyG.cjs → URDFLoader-B56WRl4z.cjs} +1 -1
  6. package/dist/{URDFLoader-DItN2Cwe.js → URDFLoader-BPNyxykV.js} +2 -2
  7. package/dist/{animationData-DCnGuqAH.js → animationData-D4Q3av_t.js} +3 -3
  8. package/dist/animationData-DiyxzUT8.cjs +1 -0
  9. package/dist/array-CpxgPs3a.cjs +1 -0
  10. package/dist/{array-B8KzZ5ux.js → array-DuZDl88A.js} +19 -18
  11. package/dist/clone-BrrxU6_J.js +8 -0
  12. package/dist/clone-Dn6v3xp6.cjs +1 -0
  13. package/dist/dayjs.min-DRU3LNcy.cjs +1 -0
  14. package/dist/dayjs.min-Dx_LN6Bu.js +366 -0
  15. package/dist/{eleIcon-BSJV_1ZM.js → eleIcon-BLNEA11T.js} +1 -1
  16. package/dist/{iconfont-DAGWcDwE.js → iconfont-DkmQztG1.js} +2 -2
  17. package/dist/{iconfont-Cgm0Wjk4.cjs → iconfont-Dq-DsQsx.cjs} +1 -1
  18. package/dist/icons/svg/softCancel.svg +1 -0
  19. package/dist/icons/svg/softConfirm.svg +1 -0
  20. package/dist/icons/svg/softRemove.svg +1 -0
  21. package/dist/index--6MSMD-8.cjs +1 -0
  22. package/dist/{index-Du7JJqdx.js → index--PidpjSy.js} +4 -3
  23. package/dist/index--ZVD8xbU.js +83 -0
  24. package/dist/{index-CDlw-J9H.js → index-8CZJn10Y.js} +2 -2
  25. package/dist/index-9I9R7yqt.cjs +15 -0
  26. package/dist/index-B6b9Lr8M.js +623 -0
  27. package/dist/{index-C0s4Fa0R.js → index-BEGr3hBb.js} +32 -31
  28. package/dist/index-BET-Jwi1.cjs +1 -0
  29. package/dist/index-BIV-s4QY.js +29 -0
  30. package/dist/{index-CHH8aozZ.js → index-BIkySu-W.js} +2 -2
  31. package/dist/index-BOHy6XZd.cjs +1 -0
  32. package/dist/{index-Bj-ss9u6.js → index-BcwDR57s.js} +2 -2
  33. package/dist/index-BdyYMxx4.cjs +1 -0
  34. package/dist/{index-DB9zlG2m.cjs → index-BeuuWlVO.cjs} +1 -1
  35. package/dist/index-BjZpJRk2.cjs +1 -0
  36. package/dist/index-BlAISTfa.cjs +1 -0
  37. package/dist/index-Bs0qreV1.cjs +1 -0
  38. package/dist/{index-_uOv3SVz.js → index-BsDMamej.js} +1 -1
  39. package/dist/{index-BkBMQfsT.js → index-C1dVsNLG.js} +1 -1
  40. package/dist/{index-CULs51Vg.js → index-C5bOtOIk.js} +4 -4
  41. package/dist/{index-UqJOpNhM.js → index-C7-Idrnv.js} +2 -2
  42. package/dist/index-C81Qb0f2.js +209 -0
  43. package/dist/index-CAcP6bx_.cjs +1 -0
  44. package/dist/index-CPFAai4T.cjs +2 -0
  45. package/dist/{index-K_IiVShj.js → index-CQS-NY65.js} +25 -24
  46. package/dist/index-CQcXApCn.cjs +1 -0
  47. package/dist/index-CUJ_cdPT.cjs +1 -0
  48. package/dist/{index-BjEIX08g.js → index-CV8QlXGI.js} +3 -3
  49. package/dist/index-CXgZFuTt.cjs +1 -0
  50. package/dist/{index-BZ_R-Jcp.js → index-CY_HG5Gj.js} +4 -4
  51. package/dist/index-Ca-FxCDv.cjs +1 -0
  52. package/dist/index-Cbb4eaBp.js +343 -0
  53. package/dist/{index-D02CK1_5.js → index-CdKgZ2A_.js} +22 -21
  54. package/dist/{index-KrjXZO_d.cjs → index-CdrBTtcu.cjs} +1 -1
  55. package/dist/{index-CPmO67dF.js → index-Cg7Mpfpj.js} +13 -13
  56. package/dist/{index-BZwKLYgT.cjs → index-CuHxF23O.cjs} +1 -1
  57. package/dist/{index-pCW3eQ8e.js → index-D-kGKttu.js} +15 -14
  58. package/dist/{index-Dr9e3mBT.js → index-D21dwfqO.js} +24 -24
  59. package/dist/index-D3qNUVY7.cjs +1 -0
  60. package/dist/{index-77VURUPj.cjs → index-DAwnZFmG.cjs} +1 -1
  61. package/dist/{index-Cy1XXdCZ.cjs → index-DLN6R2tJ.cjs} +1 -1
  62. package/dist/index-DTiolIgS.cjs +7 -0
  63. package/dist/{index-C8kDBsVW.js → index-DTsHI5xQ.js} +2 -2
  64. package/dist/index-DXWN-UJr.cjs +1 -0
  65. package/dist/{index-Cf5PK2bA.js → index-DXjgumn5.js} +5 -5
  66. package/dist/index-Df8bxCwR.js +665 -0
  67. package/dist/{index-B_rDLuPm.js → index-DfAmIlWW.js} +3355 -3351
  68. package/dist/{index-m6ZHCUtH.cjs → index-DiPWs_9n.cjs} +1 -1
  69. package/dist/{index-C2PJu8mA.js → index-DoEwWbTL.js} +1421 -1409
  70. package/dist/index-DsNHJYr-.cjs +1 -0
  71. package/dist/index-DtYkQPnf.cjs +1 -0
  72. package/dist/index-Dx0DeTSC.js +9370 -0
  73. package/dist/{index-B_CkJtn2.js → index-DxhNwr8X.js} +1 -1
  74. package/dist/{index-BusM6WrM.js → index-H_NM-ZF-.js} +2 -2
  75. package/dist/{index-D9SznbhK.js → index-JG59WTIq.js} +1 -1
  76. package/dist/index-QG4F5kTH.js +2755 -0
  77. package/dist/{index-CW0nTu7g.js → index-RSaGZhb3.js} +4 -4
  78. package/dist/index-W8p89C7t.cjs +1 -0
  79. package/dist/index-WTaP_KDd.cjs +1 -0
  80. package/dist/index-bPKGQ9bV.cjs +25 -0
  81. package/dist/{index-DpfXqgm2.js → index-cFt1QbzL.js} +33 -32
  82. package/dist/{index-B5tAsf_R.js → index-gFBtUdzh.js} +15 -14
  83. package/dist/{index-DVrEV4RS.cjs → index-mHmXlK2R.cjs} +1 -1
  84. package/dist/{index-wHrfokYf.cjs → index-qIpeOak9.cjs} +1 -1
  85. package/dist/index-vbxWL2yo.cjs +1 -0
  86. package/dist/{index.vue_vue_type_style_index_0_scoped_6b92e250_lang-mXh6sJo_.js → index.vue_vue_type_style_index_0_scoped_6b92e250_lang-DBQ_-V1_.js} +130 -129
  87. package/dist/{index.vue_vue_type_style_index_0_scoped_6b92e250_lang-GxCgBV8k.cjs → index.vue_vue_type_style_index_0_scoped_6b92e250_lang-DpyDtD61.cjs} +327 -327
  88. package/dist/isNil-CjWwlQS3.js +6 -0
  89. package/dist/isNil-x28vo2CT.cjs +1 -0
  90. package/dist/{isString-BLBZkTvd.js → isString-BA9CJNsy.js} +1 -1
  91. package/dist/{main-DECFHBC8.cjs → main-Avmwy4Fu.cjs} +2 -2
  92. package/dist/{main-Dglgquls.js → main-Qn9bfEMh.js} +4 -4
  93. package/dist/menu-CtG1loFf.js +5637 -0
  94. package/dist/menu-Hdw0L-Y2.cjs +12 -0
  95. package/dist/{menuIndex-6Fi3NW3Q.js → menuIndex-DmS5cMwB.js} +44 -42
  96. package/dist/menuIndex-DqY0uteo.cjs +1 -0
  97. package/dist/{request-B3-w_S8Z.js → request-CoGtW0Ux.js} +60 -60
  98. package/dist/ss-component.cjs +1 -1
  99. package/dist/ss-component.css +1 -1
  100. package/dist/ss-component.js +19 -18
  101. package/dist/ss-component2.cjs +1 -1
  102. package/dist/ss-component2.js +13 -13
  103. package/dist/threeModel-Dr6PqFqA.cjs +1 -0
  104. package/dist/{threeModel-BpjWJsnX.js → threeModel-L66n6sW7.js} +5 -5
  105. package/dist/{threePreview-DeEknsco.js → threePreview-BwElOyqr.js} +5 -5
  106. package/dist/threePreview-CWRtmSvh.cjs +1 -0
  107. package/dist/{threeSceneView-D5z_ADmg.js → threeSceneView-BEwen70K.js} +17 -15
  108. package/dist/{threeSceneView-C_ianMnn.cjs → threeSceneView-BpPiRRPf.cjs} +1 -1
  109. package/dist/{threeSceneViewForCPMPIP-CMDrp7Du.js → threeSceneViewForCPMPIP-BIiU_5px.js} +9 -9
  110. package/dist/{threeSceneViewForCPMPIP-BicBhum7.cjs → threeSceneViewForCPMPIP-DpwlxGoP.cjs} +1 -1
  111. package/dist/{threeTrackPathView-DDKn5Z5k.js → threeTrackPathView-BckFDqUs.js} +6 -6
  112. package/dist/threeTrackPathView-CamXHHnK.cjs +1 -0
  113. package/dist/threeViewerHost-DLLTNlTR.cjs +1 -0
  114. package/dist/{threeViewerHost-BgN5No1S.js → threeViewerHost-DQz7pHM9.js} +3 -3
  115. package/dist/{urdfTree-DYLobS3F.js → urdfTree-B6GL3kgV.js} +1 -1
  116. package/dist/{urdfTree-ghaTIId6.cjs → urdfTree-DDQw6tEb.cjs} +1 -1
  117. package/dist/{workpieceTreePanel-BAu_7YB6.cjs → workpieceTreePanel-B6AVU13A.cjs} +1 -1
  118. package/dist/{workpieceTreePanel-PUhlo13O.js → workpieceTreePanel-BvO881iH.js} +4 -4
  119. package/package.json +1 -1
  120. package/public/icons/svg/softCancel.svg +1 -0
  121. package/public/icons/svg/softConfirm.svg +1 -0
  122. package/public/icons/svg/softRemove.svg +1 -0
  123. package/dist/animationData-CIM8_iu6.cjs +0 -1
  124. package/dist/array-DlgywTCo.cjs +0 -1
  125. package/dist/clone-BjZYQq33.cjs +0 -1
  126. package/dist/clone-XNy-gcwO.js +0 -8
  127. package/dist/index-5zdMes-B.cjs +0 -1
  128. package/dist/index-7aU_bwDz.js +0 -8959
  129. package/dist/index-9Q1_s4bE.cjs +0 -1
  130. package/dist/index-B3yoiLPJ.cjs +0 -1
  131. package/dist/index-BAGLBch9.cjs +0 -1
  132. package/dist/index-BB392QRk.js +0 -672
  133. package/dist/index-BBxu8MeT.js +0 -89
  134. package/dist/index-BHLuFtij.cjs +0 -1
  135. package/dist/index-BIDFrngN.cjs +0 -1
  136. package/dist/index-BM4Blp7z.cjs +0 -1
  137. package/dist/index-BUxJL5W1.cjs +0 -1
  138. package/dist/index-BmTzLFkx.js +0 -630
  139. package/dist/index-BuAZTecX.cjs +0 -1
  140. package/dist/index-C-6jbR4D.cjs +0 -1
  141. package/dist/index-C6dVScaZ.js +0 -349
  142. package/dist/index-Cm-ohQUX.cjs +0 -1
  143. package/dist/index-D0k42JA4.cjs +0 -15
  144. package/dist/index-D4QFcxJ-.js +0 -9196
  145. package/dist/index-DGULgN2U.cjs +0 -1
  146. package/dist/index-DRBuICJi.cjs +0 -2
  147. package/dist/index-DeAnBGqU.cjs +0 -18
  148. package/dist/index-Dtq1IcgW.cjs +0 -1
  149. package/dist/index-RNu0IAS4.cjs +0 -1
  150. package/dist/index-RpaKc4Lu.cjs +0 -25
  151. package/dist/index-ZGUlK0ro.cjs +0 -1
  152. package/dist/index-ity_8Fmx.cjs +0 -1
  153. package/dist/index-vUaB-HgD.cjs +0 -1
  154. package/dist/menuIndex-SRHovjCX.cjs +0 -1
  155. package/dist/threeModel-BAzu1aRu.cjs +0 -1
  156. package/dist/threePreview-5dyC70n0.cjs +0 -1
  157. package/dist/threeTrackPathView-DHLZAc5E.cjs +0 -1
  158. package/dist/threeViewerHost-B_4KXwsO.cjs +0 -1
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),x=require("./iconfont-Dq-DsQsx.cjs"),p=require("./index.vue_vue_type_style_index_0_scoped_6b92e250_lang-DpyDtD61.cjs");require("./menu-Hdw0L-Y2.cjs");const K=require("./urdfTree-DDQw6tEb.cjs"),I=require("./request-BC2w2vGr.cjs"),R=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),w=require("./svgIcon-CDPAgQbj.cjs"),ge=require("./isString-DNBlKLZH.cjs");function ye(t=.5,o=4){const r=new p.Mesh(new p.ConeGeometry(t,o,32),new p.MeshStandardMaterial({color:"#919191ff",metalness:.3,roughness:.6})),s=r.geometry.parameters.height;return r.geometry.translate(0,-s/2,0),r.rotation.set(-90,0,0,"XYZ"),r}function Ce(t,o){t.position.copy(o)}function we(t,o,r=new p.Color(16711680)){const s=new p.Vector3;o.getWorldPosition(s);const a=t.geometry.attributes.position,n=t.geometry.attributes.color,l=new p.Color(55551);let c=1/0,f=-1;for(let u=0;u<a.count;u++){const v=new p.Vector3().fromBufferAttribute(a,u).distanceTo(s);v<c&&(c=v,f=u)}for(let u=0;u<n.count;u++)l.toArray(n.array,u*3);if(f!==-1){const u=r.toArray(),m=f*3+2;for(let v=0;v<m;v=v+3)n.array[v]=u[0],n.array[v+1]=u[1],n.array[v+2]=u[2]}n.needsUpdate=!0}function S(t,o,r,s=new p.Color(16711680)){Ce(t,o),we(r,t,s)}const ke={class:"panel-content"},_e={class:"animation-controls"},be={class:"control-row"},Ve={class:"control-row"},Ne={class:"frame-info"},Te={class:"control-row"},Ee=e.defineComponent({__name:"trackAnimationPanel",props:{cloud:{},knife:{},vectors:{}},emits:["getThreeData"],setup(t,{expose:o,emit:r}){const s=t,a=e.computed(()=>s.vectors),n=e.ref(!1),l=e.ref(0),c=e.ref(100);let f=!1;const u=g=>`第 ${g+1} 帧`,m=g=>{if(g<0||g>=a.value.length){console.error(`帧索引 ${g} 超出范围`);return}const y=a.value[g];l.value=g,S(s.knife,y,s.cloud)},v=async()=>{if(a.value.length===0){I.ElMessage.error("无法播放动画:无数据");return}if(!n.value){n.value=!0,f=!1,a.value.length-1===l.value&&(l.value=0);try{for(let g=l.value+1;g<a.value.length&&!f;g++)await new Promise(y=>setTimeout(y,c.value)),m(g);f||I.ElMessage.success("动画播放完成")}catch(g){console.error("动画播放出错:",g)}finally{n.value=!1}}},C=()=>{f=!0,n.value=!1,I.ElMessage.info("动画已停止")},N=g=>{n.value&&C(),m(g)},_=()=>{n.value&&C(),!(l.value+1>=a.value.length)&&m(l.value+1)},b=()=>{n.value&&C(),l.value!==0&&m(l.value-1)},h=()=>{l.value=0};return o({playAnimation:v,stopAnimation:C,forwardFrame:_,backwardFrame:b,resetAnimationFrame:h,reset:async()=>{await C(),h()}}),(g,y)=>{const L=e.resolveComponent("el-input-number"),B=e.resolveComponent("el-form-item"),D=e.resolveComponent("el-form"),q=e.resolveComponent("el-slider");return e.openBlock(),e.createElementBlock("div",ke,[e.createElementVNode("div",_e,[e.createElementVNode("div",be,[e.createVNode(D,{"label-width":"auto",style:{width:"100%"}},{default:e.withCtx(()=>[e.createVNode(B,{label:"帧间隔 (ms):",prop:"frameDuration"},{default:e.withCtx(()=>[e.createVNode(L,{modelValue:c.value,"onUpdate:modelValue":y[0]||(y[0]=z=>c.value=z),min:0,max:5e3,step:10,style:{width:"100%"}},null,8,["modelValue"])]),_:1})]),_:1})]),e.createElementVNode("div",Ve,[y[2]||(y[2]=e.createElementVNode("label",null,"当前帧:",-1)),e.createElementVNode("span",Ne,e.toDisplayString(l.value+1)+" / "+e.toDisplayString(a.value.length),1)]),e.createElementVNode("div",Te,[y[3]||(y[3]=e.createElementVNode("label",null,"动画进度:",-1)),e.createVNode(q,{modelValue:l.value,"onUpdate:modelValue":y[1]||(y[1]=z=>l.value=z),min:0,max:a.value.length>0?a.value.length-1:0,step:1,"format-tooltip":u,onInput:N,disabled:a.value.length===0,style:{"flex-grow":"1",margin:"0 10px"}},null,8,["modelValue","max","disabled"])])])])}}}),xe=R._export_sfc(Ee,[["__scopeId","data-v-f6fc7a8c"]]);function ze(t){const o=[];return t.forEach(r=>{const[s,a,n]=r.trim().split(/\s+/);o.push(+s,+a,+n)}),o}function U(t,o,r){switch(t){case"X":o.x=+r||0;break;case"Y":o.y=+r||0;break;case"Z":o.z=+r||0;break}}function Ae(t){const o=[],r=["X","Y","Z"];return t.forEach(s=>{const a={x:0,y:0,z:0},n=s.trim();if(!n)return;let l=null,c="";for(let f=0;f<(n==null?void 0:n.length);f++){const u=n[f],m=r.find(v=>v===u);if(m){l&&U(l,a,c),c="",l=m;continue}c=c+u}U(l,a,c),o.push(a.x,a.y,a.z)}),o}const Pe=t=>t==null?void 0:t.filter(r=>r.includes("=")),Me=t=>t.replace(/,/g,""),Fe=t=>t==null?void 0:t.map(r=>Me(r)),Ie=t=>{const o=Pe(t);return Fe(o)};function Ue(t){const o=Ie(t),r=[];return o.forEach(s=>{var v,C,N,_,b,h;let[a,n,l,c]=s.trim().split(/\s+/);n=(v=n==null?void 0:n.trim)==null?void 0:v.call(n),l=(C=l==null?void 0:l.trim)==null?void 0:C.call(l),c=(N=c==null?void 0:c.trim)==null?void 0:N.call(c);const[,f]=(_=n==null?void 0:n.split)==null?void 0:_.call(n,"="),[,u]=(b=l==null?void 0:l.split)==null?void 0:b.call(l,"="),[,m]=(h=c==null?void 0:c.split)==null?void 0:h.call(c,"=");r.push(+f,+u,+m)}),r}const Le=t=>t>="0"&&t<="9",Be=t=>t==="+"||t==="-",De=t=>t===".";function qe(t){return Le(t)||Be(t)||De(t)}function $e(t){const o=[],r=new Set(["X","Y","Z"]);return t.forEach(s=>{const a={x:0,y:0,z:0},n=s.trim();if(!n)return;let l=null,c="";for(let f=0;f<(n==null?void 0:n.length);f++){const u=n[f];if(u==="T")break;const m=r.has(u)?u:null,v=qe(u);if(m||!v){l&&U(l,a,c),l=m,c="";continue}c=c+u}l&&U(l,a,c),o.push(a.x,a.y,a.z)}),o}function je(t){return t==null?void 0:t.includes("=")}async function Xe(t){var a,n;const o=(a=t==null?void 0:t.trim())==null?void 0:a.split(/\r?\n/);if(je(t))return Ue(o);const r=o==null?void 0:o[0],s=(n=r==null?void 0:r.trim())==null?void 0:n.split(/\s+/);if((s==null?void 0:s.length)>=3)return ze(o);if((s==null?void 0:s.length)===1)return Ae(o)}async function Ye(t){const o=t.trim().split(/\r?\n/),r=[];return o.forEach(s=>{const a=s.trim().split(/\s+/);if(a.length!=3)return;const[n,l,c]=a;r.push(+n,+l,+c)}),r}async function Ze(t){const o=t.trim().split(/\r?\n/),r=[];return o.forEach(s=>{const a=s.trim().split(/\s+/);if(a.length!=3)return;const[n,l,c]=a;r.push(+n,+l,+c)}),r}async function Oe(t){let o=t.trim().split(/\r?\n/);return o=o.filter(s=>{const a=s.startsWith("X")||s.startsWith("Y")||s.startsWith("Z"),n=s.startsWith("G")&&(s.includes("X")||s.includes("Y")||s.includes("Z")),l=s.startsWith("N")&&(s.includes("X")||s.includes("Y")||s.includes("Z"));return a||n||l}),$e(o)}async function Ge(t,o){const{isCyd:r,isUv:s,isCpt:a,isNc:n}=o;return s?Xe(t):r?Ze(t):a?Ye(t):n?Oe(t):[]}function Ke(t){const o=[];for(let r=0;r<t.length;r+=3)o.push(new p.Vector3(t[r],t[r+1],t[r+2]));return o}function Re(t){const o=new p.BufferGeometry;o.setAttribute("position",new p.Float32BufferAttribute(t,3));const r=new p.LineBasicMaterial({color:55551,linewidth:3});return new p.Line(o,r)}function Se(t,o){if(!o||o.length<3)return;const{scene:r,camera:s,renderer:a,controls:n}=t();if(!r||!s||!a||!n)return;const l=Re(o);return l.name="轨迹路径",r.add(l),l}function We(t,o,r,s=4,a=50){let n=1/0,l=-1/0,c=1/0,f=-1/0,u=1/0,m=-1/0;for(let h=0;h<t.length;h+=3){const A=t[h],g=t[h+1],y=t[h+2];n=Math.min(n,A),l=Math.max(l,A),c=Math.min(c,g),f=Math.max(f,g),u=Math.min(u,y),m=Math.max(m,y)}const C=Math.sqrt((l-n)**2+(f-c)**2+(m-u)**2)*.05,N=p.MathUtils.degToRad(o.fov),_=2*Math.tan(N/2)*a,b=C/_*r.domElement.height*(s/4);return Math.min(.4,b)}function He(t){if(t.length%3!==0)return console.error("points array length is not a multiple of 3:",t),null;const o=new p.BufferGeometry;o.setAttribute("position",new p.Float32BufferAttribute(t,3));const r=new Float32Array(t.length);for(let n=0;n<t.length;n+=3)r[n]=0,r[n+1]=.847,r[n+2]=1;o.setAttribute("color",new p.BufferAttribute(r,3));const s=new p.PointsMaterial({vertexColors:!0,size:.4,sizeAttenuation:!0}),a=new p.Points(o,s);return s.needsUpdate=!0,a}function Je(t,o){if(!o)return;const{scene:r,camera:s,renderer:a,controls:n}=t();if(!r||!s||!a||!n)return;const l=He(o);if(!l)return;l.name="轨迹路径",r.add(l);const c=We(o,s,a,.1,50);return l.material.size=c,l}const Qe={class:"obj-viewer-container"},et={class:"buttonGroup-topLeft"},tt={class:"buttonGroup-left"},nt={class:"buttonGroup-right"},ot={class:"buttonGroup-bottom"},rt={class:"left-panel"},lt={class:"panel-header"},st={class:"panel-body"},it={class:"right-panel"},at={class:"panel-header"},ct={class:"panel-body"},ut={key:0,class:"loading-overlay"},dt=e.defineComponent({__name:"threeTrackPathView",props:{fileBlobs:{},threeData:{default:()=>""},trackFileType:{}},setup(t){const o=t,r=e.ref(null),s=e.ref(!1),a=e.ref(""),n=e.ref(),l=e.ref(!1),c=e.ref(""),f=e.ref(!1),u=e.ref(""),m=e.shallowRef(null),v=e.shallowRef(null),{currentModels:C,resetView:N,initThreeJS:_,handleResize:b,getThreeJSObjects:h,cleanup:A,setModels:g,setAndFitModels:y,axesHelperVisible:L,toggleAxesVisibility:B,zoomIn:D,zoomOut:q}=x.useThreeJS(r),{isAnimating:z,toggleAnimation:W,startAnimation:vt,stopAnimation:H}=x.useAnimation(h,C),{isClipping:J,activeClippingAxis:Y,toggleClipping:Q,updateClippingPlanes:ee}=x.useClipping(h,C),te=()=>{B()},ne=i=>{Y.value=i,ee()},$=i=>{l.value=!0,c.value=i,i==="剖面视图"&&!J.value&&Q()},j=i=>{f.value=!0,u.value=i},X=e.ref([]),P=e.ref([]),oe=e.computed(()=>{var d;return(d=o.trackFileType)==null?void 0:d.isUv}),re=e.computed(()=>{var d;return(d=o.trackFileType)==null?void 0:d.isCyd}),le=e.computed(()=>{var d;return(d=o.trackFileType)==null?void 0:d.isCpt}),T=e.computed(()=>{var d;return(d=o.trackFileType)==null?void 0:d.isNc}),Z=e.computed(()=>{const i=o.fileBlobs||[];return i==null?void 0:i[0]});let k=e.shallowRef(),E=e.shallowRef();const se=()=>{const{scene:i}=h();k.value&&i&&(x.disposeObj(k.value,i),k.value=null)},ie=()=>{const{scene:i}=h();E.value&&i&&(x.disposeObj(E.value,i),E.value=null)},O=()=>{se(),ie()},ae=async i=>{const d=URL.createObjectURL(i),M=await p.readFileText(d);if(URL.revokeObjectURL(d),ge.isString(M)){X.value=await Ge(M,o.trackFileType)||[];const V=X.value;oe.value&&(k.value=Se(h,V)),(re.value||le.value||T.value)&&(k.value=Je(h,V))}},ce=async()=>{var i,d;E.value=ye(),P.value=Ke(X.value),P.value&&P.value.length&&(S(E.value,P.value[0],k.value,new p.Color(16711680)),(d=(i=v.value)==null?void 0:i.add)==null||d.call(i,E.value))},G=async i=>{O(),await ae(i),k.value&&x.frameCameraToObject3D(h,k.value),T.value&&ce()};e.watch(()=>Z.value,async i=>{i&&await G(i)},{immediate:!0,deep:!0});const ue=async()=>{var i;await((i=n==null?void 0:n.value)==null?void 0:i.reset()),await G(Z.value)},de=()=>{var i;T.value&&((i=n==null?void 0:n.value)==null||i.playAnimation())},fe=()=>{var i;T.value&&((i=n==null?void 0:n.value)==null||i.stopAnimation())},ve=()=>{var i;T.value&&((i=n==null?void 0:n.value)==null||i.forwardFrame())},me=()=>{var i;T.value&&((i=n==null?void 0:n.value)==null||i.backwardFrame())},pe=()=>{_(),e.nextTick(()=>{r.value&&(F=new ResizeObserver(b),F.observe(r.value))});const i=h();v.value=i.scene,v.value&&(v.value.name="CPMPIP")},he=()=>{F&&F.disconnect(),z.value&&H(),O(),A()};let F=null;return e.onMounted(async()=>{try{pe()}catch(i){console.error("Three.js 初始化失败:",i),I.ElMessage.error("渲染引擎初始化失败!")}}),e.onBeforeUnmount(()=>{he()}),(i,d)=>{const M=e.resolveComponent("el-scrollbar");return e.openBlock(),e.createElementBlock("div",Qe,[e.createElementVNode("div",{ref_key:"threejsContainer",ref:r,class:"threejs-container"},null,512),e.createElementVNode("div",et,[e.createVNode(w.ThreeSvgIcon,{name:"viewReset",size:"24",onClick:ue,title:"重置"}),e.createVNode(w.ThreeSvgIcon,{name:"fangda",size:"24",title:"放大",onClick:e.unref(D)},null,8,["onClick"]),e.createVNode(w.ThreeSvgIcon,{name:"suoxiao",size:"24",title:"缩小",onClick:e.unref(q)},null,8,["onClick"]),e.createVNode(w.ThreeSvgIcon,{name:"lookAround",size:"24",onClick:e.unref(W),title:e.unref(z)?"停止动画":"动画视图"},null,8,["onClick","title"]),e.createVNode(w.ThreeSvgIcon,{name:"zuobiaoxi",size:"24",active:e.unref(L),onClick:te,title:"显隐坐标轴"},null,8,["active"])]),e.createElementVNode("div",tt,[e.renderSlot(i.$slots,"button-left",{switchRightPanel:$},void 0,!0),e.createVNode(w.ThreeSvgIcon,{name:"jiegoushu",size:"24",onClick:d[0]||(d[0]=V=>$("场景树")),active:l.value&&c.value==="场景树",title:"场景树"},null,8,["active"]),e.createVNode(w.ThreeSvgIcon,{name:"clipping",size:"24",onClick:d[1]||(d[1]=V=>$("剖面视图")),active:l.value&&c.value==="剖面视图",title:"剖面视图"},null,8,["active"])]),e.createElementVNode("div",nt,[e.renderSlot(i.$slots,"button-right",{switchRightPanel:j},void 0,!0),e.createVNode(w.ThreeSvgIcon,{name:"guanjiekongzhi",size:"24",onClick:d[2]||(d[2]=V=>j("关节控制")),active:f.value&&u.value==="关节控制",title:"关节控制"},null,8,["active"]),e.createVNode(w.ThreeSvgIcon,{name:"donghuafangzhen",size:"24",title:"动画仿真",onClick:d[3]||(d[3]=V=>j("动画仿真")),active:f.value&&u.value==="动画仿真"},null,8,["active"])]),e.createElementVNode("div",ot,[e.createVNode(w.ThreeSvgIcon,{name:"kuaitui",size:"24",backgroundColor:"#ffffff",title:"快退",onClick:me}),e.createVNode(w.ThreeSvgIcon,{name:"bofang",size:"24",backgroundColor:"#ffffff",title:"播放",onClick:de}),e.createVNode(w.ThreeSvgIcon,{name:"kuaijin",size:"24",backgroundColor:"#ffffff",title:"快进",onClick:ve}),e.createVNode(w.ThreeSvgIcon,{name:"zanting",size:"24",backgroundColor:"#ffffff",title:"暂停",onClick:fe})]),e.withDirectives(e.createElementVNode("div",rt,[e.createElementVNode("div",lt,[e.createElementVNode("span",null,e.toDisplayString(c.value),1),e.createElementVNode("span",{class:"close",onClick:d[4]||(d[4]=V=>l.value=!1)}," X ")]),e.createElementVNode("div",st,[e.createVNode(M,{height:"100%"},{default:e.withCtx(()=>[c.value==="场景树"?(e.openBlock(),e.createBlock(K.UrdfTree,{key:0,model:m.value},null,8,["model"])):e.createCommentVNode("",!0),c.value==="剖面视图"?(e.openBlock(),e.createBlock(x.ClippingPanel,{key:1,value:e.unref(Y),onChange:ne},null,8,["value"])):e.createCommentVNode("",!0)]),_:1})])],512),[[e.vShow,l.value]]),e.withDirectives(e.createElementVNode("div",it,[e.createElementVNode("div",at,[e.createElementVNode("span",null,e.toDisplayString(u.value),1),e.createElementVNode("span",{class:"close",onClick:d[5]||(d[5]=V=>f.value=!1)}," X ")]),e.createElementVNode("div",ct,[e.createVNode(M,{height:"100%"},{default:e.withCtx(()=>[e.withDirectives(e.createVNode(K.JointPanel,{model:m.value},null,8,["model"]),[[e.vShow,u.value==="关节控制"]]),e.withDirectives(e.createVNode(xe,{ref_key:"animationPanelRef",ref:n,cloud:e.unref(k),knife:e.unref(E),vectors:P.value},null,8,["cloud","knife","vectors"]),[[e.vShow,u.value==="动画仿真"&&T.value]])]),_:1})])],512),[[e.vShow,f.value]]),s.value?(e.openBlock(),e.createElementBlock("div",ut,[d[6]||(d[6]=e.createElementVNode("div",{class:"loading-spinner"},null,-1)),e.createElementVNode("p",null,e.toDisplayString(a.value),1)])):e.createCommentVNode("",!0)])}}}),ft=R._export_sfc(dt,[["__scopeId","data-v-7178b621"]]);exports.default=ft;
@@ -0,0 +1 @@
1
+ "use strict";const e=require("vue"),d=require("./menu-Hdw0L-Y2.cjs"),S=require("./index.vue_vue_type_style_index_0_scoped_6b92e250_lang-DpyDtD61.cjs"),D=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),F={SINGLE:"单机",DOUBLE:"双机"},R={ROBOT:1,PIPECOMPARSION:2},i={ROBOT_SCENE:"robot",TRACK_PATH:"trackPath",CPMPIP_SCENE:"cpmpip",PREVIEW:"preview"},b=d.defineStore("threeState",{state:()=>({data:{files:[],data:{}}}),actions:{setData(v){this.data=v},getData(){return this.data}}});function I(){const v=d.useMenuState(d.pinia),{platform:g}=d.storeToRefs(v),P=b(d.pinia),c=["uv","cyd","nc"],m=["urdf"],r=["obj","stl"],T=[...c,...m,...r],f=t=>{if(!C())throw new Error("不是三维系统");P.setData(t)},y=()=>P.getData(),C=()=>g.value==="three",l=t=>S.getFileExtension(t),p=t=>{if(!t)return!1;const o=l(t);return T==null?void 0:T.includes(o)},E=t=>{if(!t)return!1;const o=l(t);return r==null?void 0:r.includes(o)},h=t=>{if(!t)return!1;const o=l(t);return c==null?void 0:c.includes(o)},u=t=>{if(!t)return{isCpt:!1,isCyd:!1,isUv:!1,isNc:!1};const o=l(t),a=c==null?void 0:c.find(k=>k===o);return{isCpt:a==="cpt",isCyd:a==="cyd",isUv:a==="uv",isNc:a==="nc"}},_=t=>{if(!t)return!1;const o=l(t);return m==null?void 0:m.includes(o)},B=t=>C()&&p(t),n=t=>({url:t,extension:l(t)});return{getData:y,setData:f,isThreeSystem:C,isUrdf:_,isGeneralFile:E,isTrackPathFile:h,isThreeFile:p,isUseBackdrop:B,initTrackFileType:u,getFileExtension:l,getFileInfo:n,getFilesInfo:t=>{const o=[];for(let a=0;a<t.length;a++){const w=t[a],k=n(w);o.push(k)}return o}}}const N={class:"three-platform mv-inline"},V={class:"top-menu"},A={key:4,class:"loading"},M=e.defineComponent({__name:"threeViewerHost",props:{files:{default:()=>[]},threeData:{},componentType:{},width:{default:"100%"},height:{default:"100%"}},setup(v){const g=e.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./threeSceneView-BpPiRRPf.cjs"))),P=e.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./threePreview-CWRtmSvh.cjs"))),c=e.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./threeTrackPathView-CamXHHnK.cjs"))),m=e.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./threeSceneViewForCPMPIP-DpwlxGoP.cjs"))),r=v,T=d.useMenuState(d.pinia),{platName:f}=d.storeToRefs(T),{isUrdf:y,isTrackPathFile:C}=I(),l=e.computed(()=>{var n;return(n=r==null?void 0:r.files)==null?void 0:n.map(s=>{const{url:t}=s;return t})}),p=e.computed(()=>{var t;const n=(t=r==null?void 0:r.files)==null?void 0:t[0];return(n==null?void 0:n.extension)||""}),E=e.computed(()=>{var n,s;return(s=(n=r==null?void 0:r.threeData)==null?void 0:n.data)==null?void 0:s.trackFileType}),h=e.computed(()=>{if(r.componentType)switch(r.componentType){case"robot":return i.ROBOT_SCENE;case"track":return i.TRACK_PATH;case"cpmpip":return i.CPMPIP_SCENE;case"preview":return i.PREVIEW}return(f==null?void 0:f.value)===S.platNameConstants.CPMPIP&&y(p.value)?i.CPMPIP_SCENE:(f==null?void 0:f.value)===S.platNameConstants.ROBOT&&y(p.value)?i.ROBOT_SCENE:C(p.value)&&E.value?i.TRACK_PATH:i.PREVIEW}),u=e.ref([]),_=e.ref(!1);async function B(n){if(!n||!n.length){u.value=[];return}_.value=!0;try{const s=await Promise.all(n.map(t=>S.downloadFile(t)));u.value=s}catch(s){console.error("文件下载时发生错误:",s),u.value=[]}finally{_.value=!1}}return e.watch(()=>l.value,async n=>{await B(n||[])},{immediate:!0,deep:!0}),(n,s)=>(e.openBlock(),e.createElementBlock("div",N,[e.createElementVNode("div",V,[e.renderSlot(n.$slots,"top-menu",{},void 0,!0)]),h.value===e.unref(i).ROBOT_SCENE?(e.openBlock(),e.createBlock(e.unref(g),{key:0,fileBlobs:u.value,threeData:r.threeData},{"button-left":e.withCtx(()=>[e.renderSlot(n.$slots,"management-menu",{},void 0,!0)]),"button-right":e.withCtx(()=>[e.renderSlot(n.$slots,"management-page",{},void 0,!0)]),_:3},8,["fileBlobs","threeData"])):h.value===e.unref(i).TRACK_PATH?(e.openBlock(),e.createBlock(e.unref(c),{key:1,fileBlobs:u.value,threeData:r.threeData,trackFileType:E.value},{"button-left":e.withCtx(()=>[e.renderSlot(n.$slots,"management-menu",{},void 0,!0)]),"button-right":e.withCtx(()=>[e.renderSlot(n.$slots,"management-page",{},void 0,!0)]),_:3},8,["fileBlobs","threeData","trackFileType"])):h.value===e.unref(i).CPMPIP_SCENE?(e.openBlock(),e.createBlock(e.unref(m),{key:2,fileBlobs:u.value,threeData:r.threeData},{"button-left":e.withCtx(()=>[e.renderSlot(n.$slots,"management-menu",{},void 0,!0)]),"button-right":e.withCtx(()=>[e.renderSlot(n.$slots,"management-page",{},void 0,!0)]),_:3},8,["fileBlobs","threeData"])):h.value===e.unref(i).PREVIEW?(e.openBlock(),e.createBlock(e.unref(P),{key:3,fileBlobs:u.value},{"button-left":e.withCtx(()=>[e.renderSlot(n.$slots,"management-menu",{},void 0,!0)]),"button-right":e.withCtx(()=>[e.renderSlot(n.$slots,"management-page",{},void 0,!0)]),_:3},8,["fileBlobs"])):e.createCommentVNode("",!0),_.value?(e.openBlock(),e.createElementBlock("div",A," 文件下载中,请稍候... ")):e.createCommentVNode("",!0)]))}}),O=D._export_sfc(M,[["__scopeId","data-v-9798f55b"]]),H=Object.freeze(Object.defineProperty({__proto__:null,default:O},Symbol.toStringTag,{value:"Module"}));exports.ThreeViewerHost=O;exports.robotMode=F;exports.sceneType=R;exports.threeViewerHost=H;exports.useThreeState=b;exports.useThreeSystem=I;
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as U, defineAsyncComponent as b, computed as I, ref as R, watch as H, createElementBlock as N, openBlock as T, createElementVNode as K, createBlock as B, createCommentVNode as V, renderSlot as u, unref as m, withCtx as d } from "vue";
2
- import { a3 as W, u as A, p as D, s as $ } from "./index-7aU_bwDz.js";
3
- import { g as j, t as M, u as L } from "./index.vue_vue_type_style_index_0_scoped_6b92e250_lang-mXh6sJo_.js";
2
+ import { K as W, u as A, p as D, s as $ } from "./menu-CtG1loFf.js";
3
+ import { g as j, t as M, u as L } from "./index.vue_vue_type_style_index_0_scoped_6b92e250_lang-DBQ_-V1_.js";
4
4
  import { _ as G } from "./_plugin-vue_export-helper-CHgC5LLL.js";
5
5
  const re = {
6
6
  SINGLE: "单机",
@@ -112,7 +112,7 @@ const q = { class: "three-platform mv-inline" }, J = { class: "top-menu" }, Q =
112
112
  height: { default: "100%" }
113
113
  },
114
114
  setup(E) {
115
- const O = b(() => import("./threeSceneView-D5z_ADmg.js")), y = b(() => import("./threePreview-DeEknsco.js")), i = b(() => import("./threeTrackPathView-DDKn5Z5k.js")), p = b(() => import("./threeSceneViewForCPMPIP-CMDrp7Du.js")), n = E, P = A(D), { platName: f } = $(P), { isUrdf: _, isTrackPathFile: g } = Y(), c = I(() => {
115
+ const O = b(() => import("./threeSceneView-BEwen70K.js")), y = b(() => import("./threePreview-BwElOyqr.js")), i = b(() => import("./threeTrackPathView-BckFDqUs.js")), p = b(() => import("./threeSceneViewForCPMPIP-BIiU_5px.js")), n = E, P = A(D), { platName: f } = $(P), { isUrdf: _, isTrackPathFile: g } = Y(), c = I(() => {
116
116
  var t;
117
117
  return (t = n == null ? void 0 : n.files) == null ? void 0 : t.map((s) => {
118
118
  const { url: e } = s;
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as I, ref as F, watch as M, onMounted as C, onUnmounted as E, createElementBlock as m, openBlock as f, Fragment as P, renderList as T, createElementVNode as c, createCommentVNode as U, toDisplayString as h, computed as L, resolveComponent as S, createVNode as A } from "vue";
2
- import { j as V } from "./index.vue_vue_type_style_index_0_scoped_6b92e250_lang-mXh6sJo_.js";
2
+ import { j as V } from "./index.vue_vue_type_style_index_0_scoped_6b92e250_lang-DBQ_-V1_.js";
3
3
  import { _ as b } from "./_plugin-vue_export-helper-CHgC5LLL.js";
4
4
  const D = (i, a) => {
5
5
  if (!a)
@@ -1 +1 @@
1
- "use strict";const n=require("vue"),k=require("./index.vue_vue_type_style_index_0_scoped_6b92e250_lang-GxCgBV8k.cjs"),x=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),J=(o,a)=>{if(!a)return null;const i=o.joints[a];return i||null},V=(o,a)=>{if(!a)return null;const i=J(o,a);if(!i)return null;let u=null;return i.traverse(c=>{c instanceof k.Mesh&&!u&&(u=c)}),u},F=(o,a)=>{if(!a)return null;const i=o.links[a];return i||null},L=(o,a)=>{if(!a)return null;const i=F(o,a);if(!i)return null;let u=null;return i.traverse(c=>{c instanceof k.Mesh&&!u&&(u=c)}),u},E=o=>{const a=o.joints;return Object.values(a)},M=o=>E(o).filter(u=>u.jointType!=="fixed"),N=o=>{const a=o.links;return Object.keys(a)},w={class:"panel-content"},B={key:0,class:"joints-list"},b={class:"joint-info-row"},I={class:"joint-left"},S={class:"joint-name"},C={class:"joint-range"},D={class:"joint-type"},P={key:0,class:"joint-control-row"},T={class:"slider-container"},U=["min","max","value","onInput"],A={class:"value-display"},R={class:"joint-value"},q={class:"unit"},O={key:1,class:"empty-state"},K=n.defineComponent({__name:"urdfJointPanel",props:{model:{}},setup(o,{expose:a}){const i=o,u=n.ref([]),c=n.ref(null),f=(r,e=!1)=>r==="revolute"?e?Math.PI:-Math.PI:r==="prismatic"?e?1:-1:0,h=r=>{if(!r||!r.joints)return console.warn("URDF模型无效或不包含关节信息"),[];const e=[];return E(r).forEach(l=>{var d,p;if(l.jointType==="fixed")return;let t={lower:((d=l.limit)==null?void 0:d.lower)??f(l.jointType,!1),upper:((p=l.limit)==null?void 0:p.upper)??f(l.jointType,!0)};l.jointType==="continuous"&&(t={lower:-10*Math.PI,upper:10*Math.PI}),e.push({name:l.name,type:l.jointType||"unknown",limit:t,currentValue:l.angle||0,urdfJoint:l})}),e},m=(r,e)=>{var d;const s=u.value.find(p=>p.name===r);if(!s)return;const l=parseFloat(e),t=Math.max(s.limit.lower,Math.min(s.limit.upper,l));s.currentValue=t,(d=i.model)!=null&&d.setJointValue?i.model.setJointValue(r,t):s.urdfJoint.setJointValue(t)},_=()=>{u.value.forEach(r=>{(r.type==="revolute"||r.type==="continuous"||r.type==="prismatic")&&m(r.name,0)})},g=()=>{i.model&&u.value.forEach(r=>{r.urdfJoint.angle!==void 0&&r.currentValue!==r.urdfJoint.angle&&(r.currentValue=r.urdfJoint.angle)})},v=()=>{const r=()=>{g(),c.value=requestAnimationFrame(r)};r()},y=()=>{c.value&&(cancelAnimationFrame(c.value),c.value=null)};return n.watch(()=>i.model,r=>{r?u.value=h(r):u.value=[]},{immediate:!0}),n.onMounted(()=>{v()}),n.onUnmounted(()=>{y()}),a({resetAllJoints:_}),(r,e)=>(n.openBlock(),n.createElementBlock("div",w,[u.value.length>0?(n.openBlock(),n.createElementBlock("div",B,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(u.value,s=>(n.openBlock(),n.createElementBlock("div",{key:s.name,class:"joint-item"},[n.createElementVNode("div",b,[n.createElementVNode("div",I,[n.createElementVNode("span",S,n.toDisplayString(s.name),1),n.createElementVNode("span",C," ["+n.toDisplayString(s.limit.lower.toFixed(2))+", "+n.toDisplayString(s.limit.upper.toFixed(2))+"] ",1)]),n.createElementVNode("span",D,n.toDisplayString(s.type),1)]),s.type==="revolute"||s.type==="prismatic"||s.type==="continuous"?(n.openBlock(),n.createElementBlock("div",P,[n.createElementVNode("div",T,[n.createElementVNode("input",{type:"range",min:s.limit.lower,max:s.limit.upper,step:"0.001",value:s.currentValue,onInput:l=>m(s.name,l.target.value),class:"joint-slider"},null,40,U)]),n.createElementVNode("div",A,[n.createElementVNode("span",R,n.toDisplayString(s.currentValue?Number(s.currentValue).toFixed(3):"0.000"),1),n.createElementVNode("span",q,n.toDisplayString(s.type==="prismatic"?"m":"rad"),1)])])):n.createCommentVNode("",!0)]))),128))])):(n.openBlock(),n.createElementBlock("div",O,e[0]||(e[0]=[n.createElementVNode("p",null,"未检测到可控制的关节",-1)])))]))}}),$=x._export_sfc(K,[["__scopeId","data-v-750b831d"]]),H={class:"panel-content"},z="id",G={__name:"urdfTree",props:{model:Object,maxExpandCount:{type:Number,default:10},expandStrategy:{type:String,default:"breadth",validator:o=>["breadth","firstLevel"].includes(o)}},emits:["nodeClick"],setup(o,{emit:a}){const i=o,u=a,c=n.ref([]),f={children:"children",label:"label"},h=e=>{u("nodeClick",e)},m=(e,s=0)=>{const l=[];return Array.isArray(e)&&(e==null?void 0:e.length)>0&&e.forEach(t=>{if(!(t!=null&&t.isMesh)&&((t==null?void 0:t.type)==="URDFJoint"||(t==null?void 0:t.type)==="URDFLink")){const d={name:t==null?void 0:t.name,label:t==null?void 0:t.name,show:!0,level:s+1,isPenultimate:!1,type:t==null?void 0:t.type,id:t==null?void 0:t.id,limit:(t==null?void 0:t.limit)??"",children:m(t==null?void 0:t.children,s+1),path:t==null?void 0:t.name};l.push(d)}}),l},_=e=>e?[{name:e==null?void 0:e.name,label:e==null?void 0:e.name,show:!0,level:1,isPenultimate:!1,type:e==null?void 0:e.type,id:e==null?void 0:e.id,limit:(e==null?void 0:e.limit)??"",children:m(e==null?void 0:e.children,1)||[],path:e==null?void 0:e.name}]:[],g=(e,s)=>{const l=[],t=[...e];for(;t.length>0&&l.length<s;){const d=t.shift();d.children&&d.children.length>0&&(l.push(d.id),t.push(...d.children))}return l},v=(e,s)=>{const l=[];return e.forEach(t=>{if(t.children&&t.children.length>0){l.push(t.id);const d=t.children.filter(p=>p.children&&p.children.length>0).slice(0,s).map(p=>p.id);l.push(...d)}}),l.slice(0,s+1)},y=n.computed(()=>!c.value||c.value.length===0?[]:i.expandStrategy==="firstLevel"?v(c.value,i.maxExpandCount):g(c.value,i.maxExpandCount)),r=n.computed(()=>[{name:"场景",label:"场景",show:!0,level:1,isPenultimate:!1,type:"场景",id:"场景",children:i!=null&&i.model?_(i.model):[],path:"场景"}]);return n.watch(r,e=>{c.value=JSON.parse(JSON.stringify(e))},{immediate:!0}),(e,s)=>{const l=n.resolveComponent("el-tree");return n.openBlock(),n.createElementBlock("div",H,[n.createVNode(l,{data:c.value,props:f,"default-expanded-keys":y.value,"node-key":z,onNodeClick:h},null,8,["data","default-expanded-keys"])])}}},Q=x._export_sfc(G,[["__scopeId","data-v-cfde50c3"]]);exports.JointPanel=$;exports.UrdfTree=Q;exports.getAllLinkName=N;exports.getMeshFromJoint=V;exports.getMeshFromLink=L;exports.getNonFixedJoints=M;exports.getTargetJoint=J;
1
+ "use strict";const n=require("vue"),k=require("./index.vue_vue_type_style_index_0_scoped_6b92e250_lang-DpyDtD61.cjs"),x=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),J=(o,a)=>{if(!a)return null;const i=o.joints[a];return i||null},V=(o,a)=>{if(!a)return null;const i=J(o,a);if(!i)return null;let u=null;return i.traverse(c=>{c instanceof k.Mesh&&!u&&(u=c)}),u},F=(o,a)=>{if(!a)return null;const i=o.links[a];return i||null},L=(o,a)=>{if(!a)return null;const i=F(o,a);if(!i)return null;let u=null;return i.traverse(c=>{c instanceof k.Mesh&&!u&&(u=c)}),u},E=o=>{const a=o.joints;return Object.values(a)},M=o=>E(o).filter(u=>u.jointType!=="fixed"),N=o=>{const a=o.links;return Object.keys(a)},w={class:"panel-content"},B={key:0,class:"joints-list"},b={class:"joint-info-row"},I={class:"joint-left"},S={class:"joint-name"},C={class:"joint-range"},D={class:"joint-type"},P={key:0,class:"joint-control-row"},T={class:"slider-container"},U=["min","max","value","onInput"],A={class:"value-display"},R={class:"joint-value"},q={class:"unit"},O={key:1,class:"empty-state"},K=n.defineComponent({__name:"urdfJointPanel",props:{model:{}},setup(o,{expose:a}){const i=o,u=n.ref([]),c=n.ref(null),f=(r,e=!1)=>r==="revolute"?e?Math.PI:-Math.PI:r==="prismatic"?e?1:-1:0,h=r=>{if(!r||!r.joints)return console.warn("URDF模型无效或不包含关节信息"),[];const e=[];return E(r).forEach(l=>{var d,p;if(l.jointType==="fixed")return;let t={lower:((d=l.limit)==null?void 0:d.lower)??f(l.jointType,!1),upper:((p=l.limit)==null?void 0:p.upper)??f(l.jointType,!0)};l.jointType==="continuous"&&(t={lower:-10*Math.PI,upper:10*Math.PI}),e.push({name:l.name,type:l.jointType||"unknown",limit:t,currentValue:l.angle||0,urdfJoint:l})}),e},m=(r,e)=>{var d;const s=u.value.find(p=>p.name===r);if(!s)return;const l=parseFloat(e),t=Math.max(s.limit.lower,Math.min(s.limit.upper,l));s.currentValue=t,(d=i.model)!=null&&d.setJointValue?i.model.setJointValue(r,t):s.urdfJoint.setJointValue(t)},_=()=>{u.value.forEach(r=>{(r.type==="revolute"||r.type==="continuous"||r.type==="prismatic")&&m(r.name,0)})},g=()=>{i.model&&u.value.forEach(r=>{r.urdfJoint.angle!==void 0&&r.currentValue!==r.urdfJoint.angle&&(r.currentValue=r.urdfJoint.angle)})},v=()=>{const r=()=>{g(),c.value=requestAnimationFrame(r)};r()},y=()=>{c.value&&(cancelAnimationFrame(c.value),c.value=null)};return n.watch(()=>i.model,r=>{r?u.value=h(r):u.value=[]},{immediate:!0}),n.onMounted(()=>{v()}),n.onUnmounted(()=>{y()}),a({resetAllJoints:_}),(r,e)=>(n.openBlock(),n.createElementBlock("div",w,[u.value.length>0?(n.openBlock(),n.createElementBlock("div",B,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(u.value,s=>(n.openBlock(),n.createElementBlock("div",{key:s.name,class:"joint-item"},[n.createElementVNode("div",b,[n.createElementVNode("div",I,[n.createElementVNode("span",S,n.toDisplayString(s.name),1),n.createElementVNode("span",C," ["+n.toDisplayString(s.limit.lower.toFixed(2))+", "+n.toDisplayString(s.limit.upper.toFixed(2))+"] ",1)]),n.createElementVNode("span",D,n.toDisplayString(s.type),1)]),s.type==="revolute"||s.type==="prismatic"||s.type==="continuous"?(n.openBlock(),n.createElementBlock("div",P,[n.createElementVNode("div",T,[n.createElementVNode("input",{type:"range",min:s.limit.lower,max:s.limit.upper,step:"0.001",value:s.currentValue,onInput:l=>m(s.name,l.target.value),class:"joint-slider"},null,40,U)]),n.createElementVNode("div",A,[n.createElementVNode("span",R,n.toDisplayString(s.currentValue?Number(s.currentValue).toFixed(3):"0.000"),1),n.createElementVNode("span",q,n.toDisplayString(s.type==="prismatic"?"m":"rad"),1)])])):n.createCommentVNode("",!0)]))),128))])):(n.openBlock(),n.createElementBlock("div",O,e[0]||(e[0]=[n.createElementVNode("p",null,"未检测到可控制的关节",-1)])))]))}}),$=x._export_sfc(K,[["__scopeId","data-v-750b831d"]]),H={class:"panel-content"},z="id",G={__name:"urdfTree",props:{model:Object,maxExpandCount:{type:Number,default:10},expandStrategy:{type:String,default:"breadth",validator:o=>["breadth","firstLevel"].includes(o)}},emits:["nodeClick"],setup(o,{emit:a}){const i=o,u=a,c=n.ref([]),f={children:"children",label:"label"},h=e=>{u("nodeClick",e)},m=(e,s=0)=>{const l=[];return Array.isArray(e)&&(e==null?void 0:e.length)>0&&e.forEach(t=>{if(!(t!=null&&t.isMesh)&&((t==null?void 0:t.type)==="URDFJoint"||(t==null?void 0:t.type)==="URDFLink")){const d={name:t==null?void 0:t.name,label:t==null?void 0:t.name,show:!0,level:s+1,isPenultimate:!1,type:t==null?void 0:t.type,id:t==null?void 0:t.id,limit:(t==null?void 0:t.limit)??"",children:m(t==null?void 0:t.children,s+1),path:t==null?void 0:t.name};l.push(d)}}),l},_=e=>e?[{name:e==null?void 0:e.name,label:e==null?void 0:e.name,show:!0,level:1,isPenultimate:!1,type:e==null?void 0:e.type,id:e==null?void 0:e.id,limit:(e==null?void 0:e.limit)??"",children:m(e==null?void 0:e.children,1)||[],path:e==null?void 0:e.name}]:[],g=(e,s)=>{const l=[],t=[...e];for(;t.length>0&&l.length<s;){const d=t.shift();d.children&&d.children.length>0&&(l.push(d.id),t.push(...d.children))}return l},v=(e,s)=>{const l=[];return e.forEach(t=>{if(t.children&&t.children.length>0){l.push(t.id);const d=t.children.filter(p=>p.children&&p.children.length>0).slice(0,s).map(p=>p.id);l.push(...d)}}),l.slice(0,s+1)},y=n.computed(()=>!c.value||c.value.length===0?[]:i.expandStrategy==="firstLevel"?v(c.value,i.maxExpandCount):g(c.value,i.maxExpandCount)),r=n.computed(()=>[{name:"场景",label:"场景",show:!0,level:1,isPenultimate:!1,type:"场景",id:"场景",children:i!=null&&i.model?_(i.model):[],path:"场景"}]);return n.watch(r,e=>{c.value=JSON.parse(JSON.stringify(e))},{immediate:!0}),(e,s)=>{const l=n.resolveComponent("el-tree");return n.openBlock(),n.createElementBlock("div",H,[n.createVNode(l,{data:c.value,props:f,"default-expanded-keys":y.value,"node-key":z,onNodeClick:h},null,8,["data","default-expanded-keys"])])}}},Q=x._export_sfc(G,[["__scopeId","data-v-cfde50c3"]]);exports.JointPanel=$;exports.UrdfTree=Q;exports.getAllLinkName=N;exports.getMeshFromJoint=V;exports.getMeshFromLink=L;exports.getNonFixedJoints=M;exports.getTargetJoint=J;
@@ -1 +1 @@
1
- "use strict";var ee=Object.defineProperty;var te=(b,i,o)=>i in b?ee(b,i,{enumerable:!0,configurable:!0,writable:!0,value:o}):b[i]=o;var C=(b,i,o)=>te(b,typeof i!="symbol"?i+"":i,o);const oe=require("./URDFLoader-CJmlsLyG.cjs"),S=require("./MTLLoader-CZBprXNP.cjs"),N=require("./index.vue_vue_type_style_index_0_scoped_6b92e250_lang-GxCgBV8k.cjs"),e=require("vue"),D=require("./iconfont-Cgm0Wjk4.cjs"),se=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),le="http://222.92.178.198:60000/chfs/shared/Insofrobot/urdf";function re(b){const{mtlUrl:i,manager:o,resourcePath:l,onLoad:m,onProgress:r,onError:_}=b,p=new S.MTLLoader(o);return l&&p.setResourcePath(l),p.load(i,m,r,_),p}function ie(b){const{objUrl:i,manager:o,materials:l,onLoad:m,onProgress:r,onError:_}=b,p=new S.OBJLoader(o);return l&&p.setMaterials(l),p.load(i,m,r,_),p}function ne(b){const{manager:i,baseFolderUrl:o,onFileProgress:l}=b,m=new oe.URDFLoader(i);return m.packages=r=>`${o.endsWith("/")?o:o+"/"}${r}/`,m.loadMeshCb=(r,_,p)=>{const g=(()=>{const h=r.split("?")[0].split("#")[0],c=h.lastIndexOf(".");return c>=0?h.slice(c+1).toLowerCase():void 0})();switch(g){case"obj":{const h=(()=>{try{return new URL(".",r).toString()}catch{const a=r.lastIndexOf("/");return a>=0?r.slice(0,a+1):r}})(),c=(()=>{var d;return(((d=r.split("/").pop())==null?void 0:d.split("?")[0].split("#")[0])??"").replace(/\.[^/.?#]+$/,"")})(),f=`${h}${c}.mtl`,V=a=>{ie({objUrl:r,manager:_,materials:a,onLoad:d=>p(d),onProgress:d=>l==null?void 0:l(r,d==null?void 0:d.loaded,d==null?void 0:d.total),onError:d=>{console.error(`[URDF 资源加载失败,已跳过] 无法加载 OBJ 模型: ${r}`,d),p(new N.Group)}})};re({mtlUrl:f,manager:_,resourcePath:h,onLoad:a=>{try{a.preload()}catch{}V(a)},onProgress:a=>l==null?void 0:l(f,a==null?void 0:a.loaded,a==null?void 0:a.total),onError:a=>{console.warn(`[URDF 资源警告] 未找到或加载材质失败: ${f}。将尝试无材质加载。`),V(void 0)}});break}case"stl":{new S.STLLoader(_).load(r,c=>{const f=new N.MeshPhongMaterial({color:12303291,shininess:30}),V=new N.Mesh(c,f);V.castShadow=!0,V.receiveShadow=!0,p(V)},c=>l==null?void 0:l(r,c==null?void 0:c.loaded,c==null?void 0:c.total),c=>{console.error(`[URDF 资源加载失败,已跳过] 无法加载 STL 模型: ${r}`,c),p(new N.Group)});break}default:console.error(`[URDF 资源加载失败,已跳过] 不支持的网格格式: .${g} (路径: ${r})`),p(new N.Group)}},m}function ae(b,i,o,l){return{loadSceneFromFile:r=>new Promise((_,p)=>{o.value=!0,l.value="正在初始化 URDF 加载器...";let g=0,h=0,c=null;const f=new N.LoadingManager;f.onStart=(a,d,E)=>{g=E||0,h=d||0,l.value=g>0?`开始下载资源: 0 / ${g}`:"开始下载资源...",o.value=!0},f.onProgress=(a,d,E)=>{h=d,g=E;const R=`正在加载 ${d} / ${E} 个文件: ${N.getFilenameFromUrl(a)}`;l.value=R,d===E&&(l.value="资源加载完成,正在处理模型...",setTimeout(()=>{if(c){c.updateMatrixWorld(!0);const v=new N.Box3().setFromObject(c);v.isEmpty()&&console.warn("模型加载完成,但所有可视化网格均加载失败,模型将不可见。"),c.userData.boundingBox=v,c.traverse(u=>{u.isMesh&&(u.castShadow=!0,u.receiveShadow=!0)}),_(c)}else p(new Error("URDF 文件本身加载失败。"));l.value="模型加载完成",setTimeout(()=>{l.value==="模型加载完成"&&(o.value=!1,l.value="")},500)},100))},f.onError=a=>{console.warn(`LoadingManager 报告一个资源加载失败: ${a}。加载流程将继续。`)};const V=(a,d,E)=>{const R=N.getFilenameFromUrl(a);let v;E&&E>0?v=`${R}(${N.formatBytes(d)} / ${N.formatBytes(E)})`:d&&d>0?v=`${R}(已下载 ${N.formatBytes(d)})`:v=`${R}`,l.value=`正在下载第 ${h+1} / ${g} 个文件: ${v}`};try{const a=URL.createObjectURL(r);ne({manager:f,baseFolderUrl:le,onFileProgress:V}).load(a,E=>{c=E},void 0,E=>{console.error(`加载 URDF 文件 (${r.name}) 时发生致命错误:`,E),l.value="URDF 文件解析失败",o.value=!1,p(new Error(`加载 URDF 文件失败: ${r.name}`))})}catch(a){console.error("初始化 URDF 加载时发生致命错误:",a),l.value="模型加载失败",o.value=!1,p(a)}})}}function ce(b,i,o,l=["URDFVisual"]){let m=null;const r=e.ref(null),_=new N.Raycaster,p=new N.Vector2,g=new Map;function h(){o.value.forEach(v=>{v.traverse(u=>{l!=null&&l.includes(u.type)&&g.set(u.id,{obj:u,axis:u.axis||new N.Vector3(1,0,0),limits:u.limits})})})}function c(v){r.value&&r.value.obj.traverse(u=>{var t;u.material&&((t=u.material.emissive)==null||t.set(0))}),r.value=v,v.obj.traverse(u=>{var t;u.material&&((t=u.material.emissive)==null||t.set(65280))})}function f(v){const u=b.value.getBoundingClientRect();p.x=(v.clientX-u.left)/u.width*2-1,p.y=-((v.clientY-u.top)/u.height)*2+1,_.setFromCamera(p,m);const t=_.intersectObjects(o.value,!0);if(t.length===0)return;let s=t[0].object,w=null;for(;s;){if(g.has(s.id)){w=g.get(s.id);break}s=s.parent}w&&c(w)}function V(){b.value&&b.value.removeEventListener("click",f,!1)}function a(){const{scene:v,camera:u}=i();m=u,h(),b.value&&b.value.addEventListener("click",f,!1)}function d(v){r.value&&(r.value.obj.visible=v)}function E(v){var s;const{axis:u,value:t}=v;D.updateObjectPosition((s=r.value)==null?void 0:s.obj,u,t)}function R(v){var s;const{axis:u,value:t}=v;D.updateObjectRotation((s=r.value)==null?void 0:s.obj,u,t)}return{initRaycaster:a,dispose:V,selectedObject3D:r,setSelectedObjVisible:d,updatePosition:E,updateRotation:R}}class de{constructor(i){C(this,"robot");C(this,"movableJoints");this.robot=i,this.movableJoints=this.getMovableJoints()}getMovableJoints(){return Object.values(this.robot.joints).filter(i=>i.jointType!=="fixed")}getMovableJointNames(){return this.movableJoints.map(i=>i.name)}setJointAngle(i,o){const l=this.robot.joints[i];if(!l||l.jointType==="fixed")return console.warn(`关节 ${i} 不存在或不可动`),!1;if(l.limit){const m=Math.max(l.limit.lower,Math.min(l.limit.upper,o));m!==o&&console.warn(`关节 ${i} 角度被限制在 [${l.limit.lower}, ${l.limit.upper}]`),l.setJointValue(m)}else l.setJointValue(o);return!0}setJointAngles(i){Object.entries(i).forEach(([o,l])=>{typeof l=="number"&&!isNaN(l)&&this.setJointAngle(o,l)})}getCurrentJointStates(){const i={};return this.movableJoints.forEach(o=>{i[o.name]=o.angle||0}),i}resetToZero(){this.movableJoints.forEach(i=>{i.setJointValue(0)})}getJointLimits(i){const o=this.robot.joints[i];return!o||!o.limit?null:{lower:o.limit.lower,upper:o.limit.upper}}async animateToState(i,o=1e3,l){const m=this.getCurrentJointStates(),r=Date.now();return new Promise(_=>{const p=()=>{const g=Date.now()-r,h=Math.min(g/o,1),c=this.easeInOutCubic(h),f={};Object.keys(i).forEach(V=>{const a=m[V]||0,d=i[V];f[V]=a+(d-a)*c}),this.setJointAngles(f),l&&l(h),h<1?requestAnimationFrame(p):_()};p()})}easeInOutCubic(i){return i<.5?4*i*i*i:1-Math.pow(-2*i+2,3)/2}async playSequence(i,o=1e3,l){for(let m=0;m<i.length;m++)await this.animateToState(i[m],o,r=>{l&&l(m,r)})}}const ue={class:"panel-content"},me={class:"obj"},pe={key:0,class:"obj-base"},ve=["title"],fe=["title"],be={key:1},we={class:"obj-position"},_e={class:"coord-item"},he={class:"coord-item"},Ve={class:"coord-item"},Ee={class:"obj-rotation"},ge={class:"coord-item"},ye={class:"coord-item"},Ne={class:"coord-item"},Le={class:"world"},Re={class:"coord-line"},je={class:"coord-text"},Ce={class:"world-position-item"},De={class:"world-position-item"},Se={class:"world-position-item"},Ue={class:"coord-line"},Fe={class:"coord-text"},$e={class:"world-rotation-item"},Me={class:"world-rotation-item"},xe={class:"world-rotation-item"},Je=e.defineComponent({__name:"workpieceTreePanel",props:{model:{},maxExpandCount:{default:10},expandStrategy:{default:"breadth"}},emits:["nodeClick","visibleChange","updatePosition","updateRotation"],setup(b,{emit:i}){const o=b,l=i,m=e.ref([]),r=e.ref({}),_=(t,s=0)=>{const w=[];return Array.isArray(t)&&(t==null?void 0:t.length)>0&&t.forEach(n=>{if(!(n!=null&&n.isMesh)){const y={name:n==null?void 0:n.name,label:(n==null?void 0:n.name)||(n==null?void 0:n.type),show:!0,level:s+1,isPenultimate:!1,type:n==null?void 0:n.type,id:n==null?void 0:n.id,limit:(n==null?void 0:n.limit)??"",children:_(n==null?void 0:n.children,s+1),path:n==null?void 0:n.name};w.push(y)}}),w},p=t=>t?[{name:t==null?void 0:t.name,label:(t==null?void 0:t.name)||(t==null?void 0:t.type),show:!0,level:1,isPenultimate:!1,type:t==null?void 0:t.type,id:t==null?void 0:t.id,limit:(t==null?void 0:t.limit)??"",children:_(t==null?void 0:t.children,1),path:t==null?void 0:t.name}]:[],g=(t,s)=>{const w=[],n=[...t];for(;n.length>0&&w.length<s;){const y=n.shift();y.children&&y.children.length>0&&(w.push(y.id),n.push(...y.children))}return w},h=(t,s)=>{const w=[];return t.forEach(n=>{if(n.children&&n.children.length>0){w.push(n.id);const y=n.children.filter(j=>j.children&&j.children.length>0).slice(0,s).map(j=>j.id);w.push(...y)}}),w.slice(0,s+1)};e.computed(()=>!m.value||m.value.length===0?[]:o.expandStrategy==="firstLevel"?h(m.value,o.maxExpandCount):g(m.value,o.maxExpandCount));const c=t=>t?parseFloat(t.toFixed(3)):0,f=t=>t?parseFloat(t.toFixed(1)):0,V=(t,s)=>{l("updatePosition",{obj:o.model,axis:s,value:(t==null?void 0:t.toString())||"0"})},a=(t,s)=>{l("updateRotation",{obj:o.model,axis:s,value:(t==null?void 0:t.toString())||"0"})},d=t=>{l("visibleChange",t)},E=e.computed(()=>o!=null&&o.model?p(o.model):[]),R=e.computed(()=>{var t,s;return((t=o==null?void 0:o.model)==null?void 0:t.name)||((s=o==null?void 0:o.model)==null?void 0:s.type)}),v=e.computed(()=>{var t;return(t=o==null?void 0:o.model)==null?void 0:t.type}),u=e.computed(()=>{var t;return(t=o==null?void 0:o.model)==null?void 0:t.visible});return e.watch(()=>o.model,()=>{o.model&&(r.value=D.getObject3DData(o.model))},{deep:!0,immediate:!0}),e.watch(E,t=>{m.value=JSON.parse(JSON.stringify(t))},{immediate:!0}),(t,s)=>{var j,U,F,$,M,x,J,O,k,T,P,z,B,A,q,I,W,G,X,Y,Z,K,H,Q;const w=e.resolveComponent("el-divider"),n=e.resolveComponent("el-switch"),y=e.resolveComponent("el-input-number");return e.openBlock(),e.createElementBlock("div",ue,[e.createVNode(w,null,{default:e.withCtx(()=>s[6]||(s[6]=[e.createTextVNode("对象")])),_:1,__:[6]}),e.createElementVNode("div",me,[o.model?(e.openBlock(),e.createElementBlock("div",pe,[e.createElementVNode("div",{class:"obj-name",title:R.value},e.toDisplayString(R.value),9,ve),e.createElementVNode("div",{class:"obj-type",title:v.value},"["+e.toDisplayString(v.value)+"]",9,fe)])):(e.openBlock(),e.createElementBlock("div",be,"空")),e.createVNode(n,{"model-value":u.value,onChange:d},null,8,["model-value"])]),e.createVNode(w,null,{default:e.withCtx(()=>s[7]||(s[7]=[e.createTextVNode("相对位置")])),_:1,__:[7]}),e.createElementVNode("div",we,[e.createElementVNode("div",_e,[s[8]||(s[8]=e.createElementVNode("span",{class:"axis-label"},"X",-1)),e.createVNode(y,{"model-value":c((U=(j=r.value)==null?void 0:j.position)==null?void 0:U.x),onChange:s[0]||(s[0]=L=>V(L,"x")),size:"small",class:"coord-input-compact",precision:3,step:.1,controls:!0,"controls-position":"right"},null,8,["model-value"])]),e.createElementVNode("div",he,[s[9]||(s[9]=e.createElementVNode("span",{class:"axis-label"},"Y",-1)),e.createVNode(y,{"model-value":c(($=(F=r.value)==null?void 0:F.position)==null?void 0:$.y),onChange:s[1]||(s[1]=L=>V(L,"y")),size:"small",class:"coord-input-compact",precision:3,step:.1,controls:!0,"controls-position":"right"},null,8,["model-value"])]),e.createElementVNode("div",Ve,[s[10]||(s[10]=e.createElementVNode("span",{class:"axis-label"},"Z",-1)),e.createVNode(y,{"model-value":c((x=(M=r.value)==null?void 0:M.position)==null?void 0:x.z),onChange:s[2]||(s[2]=L=>V(L,"z")),size:"small",class:"coord-input-compact",precision:3,step:.1,controls:!0,"controls-position":"right"},null,8,["model-value"])])]),e.createVNode(w,null,{default:e.withCtx(()=>s[11]||(s[11]=[e.createTextVNode("相对旋转")])),_:1,__:[11]}),e.createElementVNode("div",Ee,[e.createElementVNode("div",ge,[s[12]||(s[12]=e.createElementVNode("span",{class:"axis-label"},"X°",-1)),e.createVNode(y,{"model-value":f((O=(J=r.value)==null?void 0:J.rotation)==null?void 0:O.x),onChange:s[3]||(s[3]=L=>a(L,"x")),size:"small",class:"coord-input-compact",precision:3,step:.1,controls:!0,"controls-position":"right"},null,8,["model-value"])]),e.createElementVNode("div",ye,[s[13]||(s[13]=e.createElementVNode("span",{class:"axis-label"},"Y°",-1)),e.createVNode(y,{"model-value":f((T=(k=r.value)==null?void 0:k.rotation)==null?void 0:T.y),onChange:s[4]||(s[4]=L=>a(L,"y")),size:"small",class:"coord-input-compact",precision:3,step:.1,controls:!0,"controls-position":"right"},null,8,["model-value"])]),e.createElementVNode("div",Ne,[s[14]||(s[14]=e.createElementVNode("span",{class:"axis-label"},"Z°",-1)),e.createVNode(y,{"model-value":f((z=(P=r.value)==null?void 0:P.rotation)==null?void 0:z.z),onChange:s[5]||(s[5]=L=>a(L,"z")),size:"small",class:"coord-input-compact",precision:3,step:.1,controls:!0,"controls-position":"right"},null,8,["model-value"])])]),e.createVNode(w,null,{default:e.withCtx(()=>s[15]||(s[15]=[e.createTextVNode("世界信息")])),_:1,__:[15]}),e.createElementVNode("div",Le,[e.createElementVNode("div",Re,[s[16]||(s[16]=e.createElementVNode("span",{class:"coord-label"},"世界位置:",-1)),e.createElementVNode("span",je,[e.createElementVNode("div",Ce,e.toDisplayString(c((A=(B=r.value)==null?void 0:B.worldPosition)==null?void 0:A.x))+", ",1),e.createElementVNode("div",De,e.toDisplayString(c((I=(q=r.value)==null?void 0:q.worldPosition)==null?void 0:I.y))+", ",1),e.createElementVNode("div",Se,e.toDisplayString(c((G=(W=r.value)==null?void 0:W.worldPosition)==null?void 0:G.z)),1)])]),e.createElementVNode("div",Ue,[s[17]||(s[17]=e.createElementVNode("span",{class:"coord-label"},"世界旋转:",-1)),e.createElementVNode("span",Fe,[e.createElementVNode("div",$e,e.toDisplayString(f((Y=(X=r.value)==null?void 0:X.worldRotation)==null?void 0:Y.x))+"°, ",1),e.createElementVNode("div",Me,e.toDisplayString(f((K=(Z=r.value)==null?void 0:Z.worldRotation)==null?void 0:K.y))+"°, ",1),e.createElementVNode("div",xe,e.toDisplayString(f((Q=(H=r.value)==null?void 0:H.worldRotation)==null?void 0:Q.z))+"° ",1)])])])])}}}),Oe=se._export_sfc(Je,[["__scopeId","data-v-00d48931"]]);exports.URDFRobotController=de;exports.WorkpieceTreePanel=Oe;exports.useRaycaster=ce;exports.useUrdfLoader=ae;
1
+ "use strict";var ee=Object.defineProperty;var te=(b,i,o)=>i in b?ee(b,i,{enumerable:!0,configurable:!0,writable:!0,value:o}):b[i]=o;var C=(b,i,o)=>te(b,typeof i!="symbol"?i+"":i,o);const oe=require("./URDFLoader-B56WRl4z.cjs"),S=require("./MTLLoader-CdxYhBAE.cjs"),N=require("./index.vue_vue_type_style_index_0_scoped_6b92e250_lang-DpyDtD61.cjs"),e=require("vue"),D=require("./iconfont-Dq-DsQsx.cjs"),se=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),le="http://222.92.178.198:60000/chfs/shared/Insofrobot/urdf";function re(b){const{mtlUrl:i,manager:o,resourcePath:l,onLoad:m,onProgress:r,onError:_}=b,p=new S.MTLLoader(o);return l&&p.setResourcePath(l),p.load(i,m,r,_),p}function ie(b){const{objUrl:i,manager:o,materials:l,onLoad:m,onProgress:r,onError:_}=b,p=new S.OBJLoader(o);return l&&p.setMaterials(l),p.load(i,m,r,_),p}function ne(b){const{manager:i,baseFolderUrl:o,onFileProgress:l}=b,m=new oe.URDFLoader(i);return m.packages=r=>`${o.endsWith("/")?o:o+"/"}${r}/`,m.loadMeshCb=(r,_,p)=>{const g=(()=>{const h=r.split("?")[0].split("#")[0],c=h.lastIndexOf(".");return c>=0?h.slice(c+1).toLowerCase():void 0})();switch(g){case"obj":{const h=(()=>{try{return new URL(".",r).toString()}catch{const a=r.lastIndexOf("/");return a>=0?r.slice(0,a+1):r}})(),c=(()=>{var d;return(((d=r.split("/").pop())==null?void 0:d.split("?")[0].split("#")[0])??"").replace(/\.[^/.?#]+$/,"")})(),f=`${h}${c}.mtl`,V=a=>{ie({objUrl:r,manager:_,materials:a,onLoad:d=>p(d),onProgress:d=>l==null?void 0:l(r,d==null?void 0:d.loaded,d==null?void 0:d.total),onError:d=>{console.error(`[URDF 资源加载失败,已跳过] 无法加载 OBJ 模型: ${r}`,d),p(new N.Group)}})};re({mtlUrl:f,manager:_,resourcePath:h,onLoad:a=>{try{a.preload()}catch{}V(a)},onProgress:a=>l==null?void 0:l(f,a==null?void 0:a.loaded,a==null?void 0:a.total),onError:a=>{console.warn(`[URDF 资源警告] 未找到或加载材质失败: ${f}。将尝试无材质加载。`),V(void 0)}});break}case"stl":{new S.STLLoader(_).load(r,c=>{const f=new N.MeshPhongMaterial({color:12303291,shininess:30}),V=new N.Mesh(c,f);V.castShadow=!0,V.receiveShadow=!0,p(V)},c=>l==null?void 0:l(r,c==null?void 0:c.loaded,c==null?void 0:c.total),c=>{console.error(`[URDF 资源加载失败,已跳过] 无法加载 STL 模型: ${r}`,c),p(new N.Group)});break}default:console.error(`[URDF 资源加载失败,已跳过] 不支持的网格格式: .${g} (路径: ${r})`),p(new N.Group)}},m}function ae(b,i,o,l){return{loadSceneFromFile:r=>new Promise((_,p)=>{o.value=!0,l.value="正在初始化 URDF 加载器...";let g=0,h=0,c=null;const f=new N.LoadingManager;f.onStart=(a,d,E)=>{g=E||0,h=d||0,l.value=g>0?`开始下载资源: 0 / ${g}`:"开始下载资源...",o.value=!0},f.onProgress=(a,d,E)=>{h=d,g=E;const R=`正在加载 ${d} / ${E} 个文件: ${N.getFilenameFromUrl(a)}`;l.value=R,d===E&&(l.value="资源加载完成,正在处理模型...",setTimeout(()=>{if(c){c.updateMatrixWorld(!0);const v=new N.Box3().setFromObject(c);v.isEmpty()&&console.warn("模型加载完成,但所有可视化网格均加载失败,模型将不可见。"),c.userData.boundingBox=v,c.traverse(u=>{u.isMesh&&(u.castShadow=!0,u.receiveShadow=!0)}),_(c)}else p(new Error("URDF 文件本身加载失败。"));l.value="模型加载完成",setTimeout(()=>{l.value==="模型加载完成"&&(o.value=!1,l.value="")},500)},100))},f.onError=a=>{console.warn(`LoadingManager 报告一个资源加载失败: ${a}。加载流程将继续。`)};const V=(a,d,E)=>{const R=N.getFilenameFromUrl(a);let v;E&&E>0?v=`${R}(${N.formatBytes(d)} / ${N.formatBytes(E)})`:d&&d>0?v=`${R}(已下载 ${N.formatBytes(d)})`:v=`${R}`,l.value=`正在下载第 ${h+1} / ${g} 个文件: ${v}`};try{const a=URL.createObjectURL(r);ne({manager:f,baseFolderUrl:le,onFileProgress:V}).load(a,E=>{c=E},void 0,E=>{console.error(`加载 URDF 文件 (${r.name}) 时发生致命错误:`,E),l.value="URDF 文件解析失败",o.value=!1,p(new Error(`加载 URDF 文件失败: ${r.name}`))})}catch(a){console.error("初始化 URDF 加载时发生致命错误:",a),l.value="模型加载失败",o.value=!1,p(a)}})}}function ce(b,i,o,l=["URDFVisual"]){let m=null;const r=e.ref(null),_=new N.Raycaster,p=new N.Vector2,g=new Map;function h(){o.value.forEach(v=>{v.traverse(u=>{l!=null&&l.includes(u.type)&&g.set(u.id,{obj:u,axis:u.axis||new N.Vector3(1,0,0),limits:u.limits})})})}function c(v){r.value&&r.value.obj.traverse(u=>{var t;u.material&&((t=u.material.emissive)==null||t.set(0))}),r.value=v,v.obj.traverse(u=>{var t;u.material&&((t=u.material.emissive)==null||t.set(65280))})}function f(v){const u=b.value.getBoundingClientRect();p.x=(v.clientX-u.left)/u.width*2-1,p.y=-((v.clientY-u.top)/u.height)*2+1,_.setFromCamera(p,m);const t=_.intersectObjects(o.value,!0);if(t.length===0)return;let s=t[0].object,w=null;for(;s;){if(g.has(s.id)){w=g.get(s.id);break}s=s.parent}w&&c(w)}function V(){b.value&&b.value.removeEventListener("click",f,!1)}function a(){const{scene:v,camera:u}=i();m=u,h(),b.value&&b.value.addEventListener("click",f,!1)}function d(v){r.value&&(r.value.obj.visible=v)}function E(v){var s;const{axis:u,value:t}=v;D.updateObjectPosition((s=r.value)==null?void 0:s.obj,u,t)}function R(v){var s;const{axis:u,value:t}=v;D.updateObjectRotation((s=r.value)==null?void 0:s.obj,u,t)}return{initRaycaster:a,dispose:V,selectedObject3D:r,setSelectedObjVisible:d,updatePosition:E,updateRotation:R}}class de{constructor(i){C(this,"robot");C(this,"movableJoints");this.robot=i,this.movableJoints=this.getMovableJoints()}getMovableJoints(){return Object.values(this.robot.joints).filter(i=>i.jointType!=="fixed")}getMovableJointNames(){return this.movableJoints.map(i=>i.name)}setJointAngle(i,o){const l=this.robot.joints[i];if(!l||l.jointType==="fixed")return console.warn(`关节 ${i} 不存在或不可动`),!1;if(l.limit){const m=Math.max(l.limit.lower,Math.min(l.limit.upper,o));m!==o&&console.warn(`关节 ${i} 角度被限制在 [${l.limit.lower}, ${l.limit.upper}]`),l.setJointValue(m)}else l.setJointValue(o);return!0}setJointAngles(i){Object.entries(i).forEach(([o,l])=>{typeof l=="number"&&!isNaN(l)&&this.setJointAngle(o,l)})}getCurrentJointStates(){const i={};return this.movableJoints.forEach(o=>{i[o.name]=o.angle||0}),i}resetToZero(){this.movableJoints.forEach(i=>{i.setJointValue(0)})}getJointLimits(i){const o=this.robot.joints[i];return!o||!o.limit?null:{lower:o.limit.lower,upper:o.limit.upper}}async animateToState(i,o=1e3,l){const m=this.getCurrentJointStates(),r=Date.now();return new Promise(_=>{const p=()=>{const g=Date.now()-r,h=Math.min(g/o,1),c=this.easeInOutCubic(h),f={};Object.keys(i).forEach(V=>{const a=m[V]||0,d=i[V];f[V]=a+(d-a)*c}),this.setJointAngles(f),l&&l(h),h<1?requestAnimationFrame(p):_()};p()})}easeInOutCubic(i){return i<.5?4*i*i*i:1-Math.pow(-2*i+2,3)/2}async playSequence(i,o=1e3,l){for(let m=0;m<i.length;m++)await this.animateToState(i[m],o,r=>{l&&l(m,r)})}}const ue={class:"panel-content"},me={class:"obj"},pe={key:0,class:"obj-base"},ve=["title"],fe=["title"],be={key:1},we={class:"obj-position"},_e={class:"coord-item"},he={class:"coord-item"},Ve={class:"coord-item"},Ee={class:"obj-rotation"},ge={class:"coord-item"},ye={class:"coord-item"},Ne={class:"coord-item"},Le={class:"world"},Re={class:"coord-line"},je={class:"coord-text"},Ce={class:"world-position-item"},De={class:"world-position-item"},Se={class:"world-position-item"},Ue={class:"coord-line"},Fe={class:"coord-text"},$e={class:"world-rotation-item"},Me={class:"world-rotation-item"},xe={class:"world-rotation-item"},Je=e.defineComponent({__name:"workpieceTreePanel",props:{model:{},maxExpandCount:{default:10},expandStrategy:{default:"breadth"}},emits:["nodeClick","visibleChange","updatePosition","updateRotation"],setup(b,{emit:i}){const o=b,l=i,m=e.ref([]),r=e.ref({}),_=(t,s=0)=>{const w=[];return Array.isArray(t)&&(t==null?void 0:t.length)>0&&t.forEach(n=>{if(!(n!=null&&n.isMesh)){const y={name:n==null?void 0:n.name,label:(n==null?void 0:n.name)||(n==null?void 0:n.type),show:!0,level:s+1,isPenultimate:!1,type:n==null?void 0:n.type,id:n==null?void 0:n.id,limit:(n==null?void 0:n.limit)??"",children:_(n==null?void 0:n.children,s+1),path:n==null?void 0:n.name};w.push(y)}}),w},p=t=>t?[{name:t==null?void 0:t.name,label:(t==null?void 0:t.name)||(t==null?void 0:t.type),show:!0,level:1,isPenultimate:!1,type:t==null?void 0:t.type,id:t==null?void 0:t.id,limit:(t==null?void 0:t.limit)??"",children:_(t==null?void 0:t.children,1),path:t==null?void 0:t.name}]:[],g=(t,s)=>{const w=[],n=[...t];for(;n.length>0&&w.length<s;){const y=n.shift();y.children&&y.children.length>0&&(w.push(y.id),n.push(...y.children))}return w},h=(t,s)=>{const w=[];return t.forEach(n=>{if(n.children&&n.children.length>0){w.push(n.id);const y=n.children.filter(j=>j.children&&j.children.length>0).slice(0,s).map(j=>j.id);w.push(...y)}}),w.slice(0,s+1)};e.computed(()=>!m.value||m.value.length===0?[]:o.expandStrategy==="firstLevel"?h(m.value,o.maxExpandCount):g(m.value,o.maxExpandCount));const c=t=>t?parseFloat(t.toFixed(3)):0,f=t=>t?parseFloat(t.toFixed(1)):0,V=(t,s)=>{l("updatePosition",{obj:o.model,axis:s,value:(t==null?void 0:t.toString())||"0"})},a=(t,s)=>{l("updateRotation",{obj:o.model,axis:s,value:(t==null?void 0:t.toString())||"0"})},d=t=>{l("visibleChange",t)},E=e.computed(()=>o!=null&&o.model?p(o.model):[]),R=e.computed(()=>{var t,s;return((t=o==null?void 0:o.model)==null?void 0:t.name)||((s=o==null?void 0:o.model)==null?void 0:s.type)}),v=e.computed(()=>{var t;return(t=o==null?void 0:o.model)==null?void 0:t.type}),u=e.computed(()=>{var t;return(t=o==null?void 0:o.model)==null?void 0:t.visible});return e.watch(()=>o.model,()=>{o.model&&(r.value=D.getObject3DData(o.model))},{deep:!0,immediate:!0}),e.watch(E,t=>{m.value=JSON.parse(JSON.stringify(t))},{immediate:!0}),(t,s)=>{var j,U,F,$,M,x,J,O,k,T,P,z,B,A,q,I,W,G,X,Y,Z,K,H,Q;const w=e.resolveComponent("el-divider"),n=e.resolveComponent("el-switch"),y=e.resolveComponent("el-input-number");return e.openBlock(),e.createElementBlock("div",ue,[e.createVNode(w,null,{default:e.withCtx(()=>s[6]||(s[6]=[e.createTextVNode("对象")])),_:1,__:[6]}),e.createElementVNode("div",me,[o.model?(e.openBlock(),e.createElementBlock("div",pe,[e.createElementVNode("div",{class:"obj-name",title:R.value},e.toDisplayString(R.value),9,ve),e.createElementVNode("div",{class:"obj-type",title:v.value},"["+e.toDisplayString(v.value)+"]",9,fe)])):(e.openBlock(),e.createElementBlock("div",be,"空")),e.createVNode(n,{"model-value":u.value,onChange:d},null,8,["model-value"])]),e.createVNode(w,null,{default:e.withCtx(()=>s[7]||(s[7]=[e.createTextVNode("相对位置")])),_:1,__:[7]}),e.createElementVNode("div",we,[e.createElementVNode("div",_e,[s[8]||(s[8]=e.createElementVNode("span",{class:"axis-label"},"X",-1)),e.createVNode(y,{"model-value":c((U=(j=r.value)==null?void 0:j.position)==null?void 0:U.x),onChange:s[0]||(s[0]=L=>V(L,"x")),size:"small",class:"coord-input-compact",precision:3,step:.1,controls:!0,"controls-position":"right"},null,8,["model-value"])]),e.createElementVNode("div",he,[s[9]||(s[9]=e.createElementVNode("span",{class:"axis-label"},"Y",-1)),e.createVNode(y,{"model-value":c(($=(F=r.value)==null?void 0:F.position)==null?void 0:$.y),onChange:s[1]||(s[1]=L=>V(L,"y")),size:"small",class:"coord-input-compact",precision:3,step:.1,controls:!0,"controls-position":"right"},null,8,["model-value"])]),e.createElementVNode("div",Ve,[s[10]||(s[10]=e.createElementVNode("span",{class:"axis-label"},"Z",-1)),e.createVNode(y,{"model-value":c((x=(M=r.value)==null?void 0:M.position)==null?void 0:x.z),onChange:s[2]||(s[2]=L=>V(L,"z")),size:"small",class:"coord-input-compact",precision:3,step:.1,controls:!0,"controls-position":"right"},null,8,["model-value"])])]),e.createVNode(w,null,{default:e.withCtx(()=>s[11]||(s[11]=[e.createTextVNode("相对旋转")])),_:1,__:[11]}),e.createElementVNode("div",Ee,[e.createElementVNode("div",ge,[s[12]||(s[12]=e.createElementVNode("span",{class:"axis-label"},"X°",-1)),e.createVNode(y,{"model-value":f((O=(J=r.value)==null?void 0:J.rotation)==null?void 0:O.x),onChange:s[3]||(s[3]=L=>a(L,"x")),size:"small",class:"coord-input-compact",precision:3,step:.1,controls:!0,"controls-position":"right"},null,8,["model-value"])]),e.createElementVNode("div",ye,[s[13]||(s[13]=e.createElementVNode("span",{class:"axis-label"},"Y°",-1)),e.createVNode(y,{"model-value":f((T=(k=r.value)==null?void 0:k.rotation)==null?void 0:T.y),onChange:s[4]||(s[4]=L=>a(L,"y")),size:"small",class:"coord-input-compact",precision:3,step:.1,controls:!0,"controls-position":"right"},null,8,["model-value"])]),e.createElementVNode("div",Ne,[s[14]||(s[14]=e.createElementVNode("span",{class:"axis-label"},"Z°",-1)),e.createVNode(y,{"model-value":f((z=(P=r.value)==null?void 0:P.rotation)==null?void 0:z.z),onChange:s[5]||(s[5]=L=>a(L,"z")),size:"small",class:"coord-input-compact",precision:3,step:.1,controls:!0,"controls-position":"right"},null,8,["model-value"])])]),e.createVNode(w,null,{default:e.withCtx(()=>s[15]||(s[15]=[e.createTextVNode("世界信息")])),_:1,__:[15]}),e.createElementVNode("div",Le,[e.createElementVNode("div",Re,[s[16]||(s[16]=e.createElementVNode("span",{class:"coord-label"},"世界位置:",-1)),e.createElementVNode("span",je,[e.createElementVNode("div",Ce,e.toDisplayString(c((A=(B=r.value)==null?void 0:B.worldPosition)==null?void 0:A.x))+", ",1),e.createElementVNode("div",De,e.toDisplayString(c((I=(q=r.value)==null?void 0:q.worldPosition)==null?void 0:I.y))+", ",1),e.createElementVNode("div",Se,e.toDisplayString(c((G=(W=r.value)==null?void 0:W.worldPosition)==null?void 0:G.z)),1)])]),e.createElementVNode("div",Ue,[s[17]||(s[17]=e.createElementVNode("span",{class:"coord-label"},"世界旋转:",-1)),e.createElementVNode("span",Fe,[e.createElementVNode("div",$e,e.toDisplayString(f((Y=(X=r.value)==null?void 0:X.worldRotation)==null?void 0:Y.x))+"°, ",1),e.createElementVNode("div",Me,e.toDisplayString(f((K=(Z=r.value)==null?void 0:Z.worldRotation)==null?void 0:K.y))+"°, ",1),e.createElementVNode("div",xe,e.toDisplayString(f((Q=(H=r.value)==null?void 0:H.worldRotation)==null?void 0:Q.z))+"° ",1)])])])])}}}),Oe=se._export_sfc(Je,[["__scopeId","data-v-00d48931"]]);exports.URDFRobotController=de;exports.WorkpieceTreePanel=Oe;exports.useRaycaster=ce;exports.useUrdfLoader=ae;
@@ -1,11 +1,11 @@
1
1
  var ce = Object.defineProperty;
2
2
  var de = (b, l, t) => l in b ? ce(b, l, { enumerable: !0, configurable: !0, writable: !0, value: t }) : b[l] = t;
3
3
  var J = (b, l, t) => de(b, typeof l != "symbol" ? l + "" : l, t);
4
- import { U as me } from "./URDFLoader-DItN2Cwe.js";
5
- import { S as ve, M as pe, O as fe } from "./MTLLoader-ByvO3xpX.js";
6
- import { b4 as be, b5 as re, v as O, m as we, j as he, b6 as E, B as _e, b7 as ge, ar as je, V as ye } from "./index.vue_vue_type_style_index_0_scoped_6b92e250_lang-mXh6sJo_.js";
4
+ import { U as me } from "./URDFLoader-BPNyxykV.js";
5
+ import { S as ve, M as pe, O as fe } from "./MTLLoader-RsaYZtZ_.js";
6
+ import { b4 as be, b5 as re, v as O, m as we, j as he, b6 as E, B as _e, b7 as ge, ar as je, V as ye } from "./index.vue_vue_type_style_index_0_scoped_6b92e250_lang-DBQ_-V1_.js";
7
7
  import { ref as T, defineComponent as Le, computed as M, watch as ue, resolveComponent as x, createElementBlock as k, openBlock as V, createVNode as U, createElementVNode as c, withCtx as F, createTextVNode as D, toDisplayString as C } from "vue";
8
- import { c as Re, e as Ue, g as $e } from "./iconfont-DAGWcDwE.js";
8
+ import { c as Re, e as Ue, g as $e } from "./iconfont-DkmQztG1.js";
9
9
  import { _ as Ce } from "./_plugin-vue_export-helper-CHgC5LLL.js";
10
10
  const Se = "http://222.92.178.198:60000/chfs/shared/Insofrobot/urdf";
11
11
  function Me(b) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ss-component-new",
3
3
  "private": false,
4
- "version": "1.3.283",
4
+ "version": "1.3.285",
5
5
  "type": "module",
6
6
  "files": [
7
7
  "dist",
@@ -0,0 +1 @@
1
+ <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1775107013971" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="16654" width="16" height="16" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M512 451.33l242.679-242.679c16.754-16.753 43.916-16.753 60.67 0 16.753 16.754 16.753 43.916 0 60.67L572.669 512l242.68 242.679c16.753 16.754 16.753 43.916 0 60.67-16.754 16.753-43.916 16.753-60.67 0L512 572.669 269.321 815.35c-16.754 16.753-43.916 16.753-60.67 0-16.753-16.754-16.753-43.916 0-60.67L451.331 512 208.65 269.321c-16.753-16.754-16.753-43.916 0-60.67 16.754-16.753 43.916-16.753 60.67 0L512 451.331z" p-id="16655"></path></svg>
@@ -0,0 +1 @@
1
+ <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1775106975028" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="15435" id="mx_n_1775106975029" width="16" height="16" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M930.9618176 308.32612693c20.80003413-20.80003413 21.086208-54.23868587 0.63788373-74.68701013-20.44832427-20.44832427-53.886976-20.1621504-74.68701013 0.63788373L410.8025856 680.3881984 167.10806187 436.69476693c-20.8175104-20.8175104-54.26926933-21.11679147-74.7175936-0.6684672-20.44832427 20.44832427-20.1490432 53.9000832 0.6684672 74.7175936l280.04952746 280.04952747c20.8175104 20.8175104 54.26926933 21.11679147 74.7175936 0.6684672 0.14308693-0.14308693 0.2752512-0.29381973 0.41724587-0.4390912 0.14964053-0.14636373 0.30583467-0.28289707 0.45438293-0.43144533l482.26413227-482.26522454z" p-id="15436"></path></svg>
@@ -0,0 +1 @@
1
+ <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1775108264835" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18130" width="16" height="16" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M835.226046 328.70941a44.817364 44.817364 0 0 0-45.10981 44.524918v513.681565a48.107383 48.107383 0 0 1-48.546052 47.814937H282.356704a48.107383 48.107383 0 0 1-48.546051-47.814937V373.234328c0-24.565472-20.178781-44.524918-45.109811-44.524918s-45.182922 19.959446-45.182921 44.524918v513.681565c0 75.377981 62.144795 136.645438 138.69256 136.645438h459.140369c76.547765 0 138.69256-61.267457 138.69256-136.645438V373.234328a44.598029 44.598029 0 0 0-44.817364-44.524918z m-165.597601 447.881194v-403.57561a44.817364 44.817364 0 0 0-45.182922-44.451807 44.744252 44.744252 0 0 0-44.963587 44.451807v403.57561c0 24.565472 20.251892 44.451806 45.182922 44.451806a44.598029 44.598029 0 0 0 44.963587-44.451806z m-225.183493 0v-403.57561a44.817364 44.817364 0 0 0-45.10981-44.451807 44.817364 44.817364 0 0 0-45.182922 44.451807v403.57561c0 24.565472 20.251892 44.451806 45.182922 44.451806 24.857918 0 45.10981-19.886334 45.10981-44.451806z m534.152792-592.13023h-148.635728v-51.178066C829.962016 59.732115 769.352563 0 694.705698 0H329.001856C254.428102 0 193.818649 59.732115 193.818649 133.282308v51.178066H45.10981c-24.93103 0-45.10981 19.959446-45.10981 44.524918s20.178781 44.451806 45.10981 44.451806h933.341711c24.93103 0 45.10981-19.886334 45.10981-44.451806s-20.032557-44.524918-44.963587-44.524918z m-238.709125 0H284.111381v-51.178066c0-24.565472 20.178781-44.451806 45.10981-44.451807h365.484507c24.93103 0 45.182922 19.886334 45.182921 44.451807v51.178066z" p-id="18131"></path></svg>
@@ -1 +0,0 @@
1
- "use strict";const g=require("./index-BZwKLYgT.cjs"),k=require("./index.vue_vue_type_style_index_0_scoped_6b92e250_lang-GxCgBV8k.cjs"),E=require("./index-DeAnBGqU.cjs"),D=async n=>{const a=n.join("/"),c=sessionStorage.getItem("systemKey");return await g.getItemData(a,c,"")},T=n=>{var s;const a=n==null?void 0:n.compData,c=(s=a==null?void 0:a.find(i=>{const{key:r}=i;return r==="formContent"}))==null?void 0:s.contents,p={};return c==null||c.forEach(i=>{const{prop:r,value:b}=i;p[r]=b}),p},j=async()=>{let n={};const c=await D(["弯管仿真加工分析","模具筛选安装"]),p=g.getTargetGroup("输入(加工件)",c),s=T(p),i=s.管长||0,r=s.外径||0;console.log("管长",i,"外径",r,s);const b=i,_=r/2,G=await D(["弯管仿真加工分析","加工位姿生成"]),R=g.getTargetGroup("输入",G),d=T(R),P=d.夹持长度||0;console.log("夹持长度",P,d);const x=Number(P),l={},u=await D(["弯管仿真加工分析","仿真动画生成"]);u==null||u.forEach(e=>{var y,M,f,w,F,L;if((e==null?void 0:e.comp)==="Table"){let C=[],m=(f=(M=(y=e==null?void 0:e.compData)==null?void 0:y.find(t=>(t==null?void 0:t.key)==="header"))==null?void 0:M.contents)==null?void 0:f.map(t=>t==null?void 0:t.label),h=(L=(F=(w=e==null?void 0:e.compData)==null?void 0:w.find(t=>(t==null?void 0:t.key)==="tableContents"))==null?void 0:F.contents)==null?void 0:L.map(t=>(t=t==null?void 0:t.filter(o=>!(o!=null&&o.id)),t));h==null||h.forEach(t=>{C.push(g.getValueToObjectValue(t,m==null?void 0:m.filter(o=>o!=="操作")))}),l[e.name]=C,l[e.name+"Content"]=e}});const A=E.cloneDeep(l)||[];return n={initialPipeLength:b,pipeRadius:_,clampLength:x,animationData:A},n},q=async()=>{let n={};const c=await D(["双弯管仿真加工分析","模具筛选安装"]),p=g.getTargetGroup("输入(加工件)",c),s=T(p),i=s.管长||0,r=s.外径||0;console.log("管长",i,"外径",r,s);const b=i,_=r/2,G=await D(["双弯管仿真加工分析","加工工艺生成"]),R=g.getTargetGroup("输入",G),d=T(R),P=d.夹持位置||0;console.log("夹持长度",P,d);const x=Number(P),l={},u=await D(["双弯管仿真加工分析","仿真动画生成"]);u==null||u.forEach(e=>{var y,M,f,w,F,L;if((e==null?void 0:e.comp)==="Table"){let C=[],m=(f=(M=(y=e==null?void 0:e.compData)==null?void 0:y.find(t=>(t==null?void 0:t.key)==="header"))==null?void 0:M.contents)==null?void 0:f.map(t=>t==null?void 0:t.label),h=(L=(F=(w=e==null?void 0:e.compData)==null?void 0:w.find(t=>(t==null?void 0:t.key)==="tableContents"))==null?void 0:F.contents)==null?void 0:L.map(t=>(t=t==null?void 0:t.filter(o=>!(o!=null&&o.id)),t));h==null||h.forEach(t=>{C.push(g.getValueToObjectValue(t,m==null?void 0:m.filter(o=>o!=="操作")))}),l[e.name]=C,l[e.name+"Content"]=e}});const A=E.cloneDeep(l)||[];return n={initialPipeLength:b,pipeRadius:_,clampLength:x,animationData:A},n},B=async n=>await k.downloadFile(n),S=async n=>await k.readCsv(n),X=async n=>{const a=await B(n);return await S(a)};exports.fetchDoubleRobotAnimationData=q;exports.fetchSingleRobotAnimationData=j;exports.getFormData=T;exports.getMenuData=D;exports.initXYZBCList=X;
@@ -1 +0,0 @@
1
- "use strict";const e=require("vue"),K=require("./index-RpaKc4Lu.cjs"),v=require("./index-DeAnBGqU.cjs"),oe=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),Se=require("./index-BVaHwt5f.cjs"),Ie=require("./index-D0k42JA4.cjs"),Re=require("./index-CUw6nGTo.cjs"),Le=require("./request-BC2w2vGr.cjs"),Me={class:"type-select"},$e={class:"group-label"},Fe={class:"group-items"},He=["onDragstart"],Oe={__name:"index",props:{compContainerRef:Object},emits:[""],setup(l,{emit:n}){const d=v.useModelComp(v.pinia),{itemData:r,activeItemIndex:y}=v.storeToRefs(d),c=n,w=e.ref(null),h=e.computed(()=>{var P,O,$;const I={label:"布局",items:["TABS","LAYOUT"]},E={label:"常用",items:["FORM","TABLE"]},S={label:"高级",items:["STEP","TIMELINE","CHART","SIGNATURE","AVATAR","FOLD"]},b=(P=K.slotContent.value)==null?void 0:P.filter(R=>{var i,o;return(o=I==null?void 0:I.items)==null?void 0:o.includes((i=R==null?void 0:R.type)==null?void 0:i.toUpperCase())}),j=(O=K.slotContent.value)==null?void 0:O.filter(R=>{var i,o;return(o=E==null?void 0:E.items)==null?void 0:o.includes((i=R==null?void 0:R.type)==null?void 0:i.toUpperCase())}),N=($=K.slotContent.value)==null?void 0:$.filter(R=>{var i,o;return(o=S==null?void 0:S.items)==null?void 0:o.includes((i=R==null?void 0:R.type)==null?void 0:i.toUpperCase())});return[{...I,items:b},{...E,items:j},{...S,items:N}]}),V=(I,E)=>{try{I.dataTransfer.clearData();const S={...E,timestamp:Date.now()};I.dataTransfer.setData("application/json",JSON.stringify(S)),I.dataTransfer.effectAllowed="copyMove",I.target.classList.add("dragging"),c("handleDragStart",E)}catch(S){console.error("Drag start error:",S)}};return(I,E)=>{const S=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("div",Me,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,b=>(e.openBlock(),e.createElementBlock("div",{class:"group-item",key:b==null?void 0:b.label},[e.createElementVNode("div",$e,e.toDisplayString(b==null?void 0:b.label),1),e.createElementVNode("div",Fe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b==null?void 0:b.items,(j,N)=>(e.openBlock(),e.createElementBlock("div",{class:"type-list",title:"鼠标拖动",ref_for:!0,ref_key:"dragItem",ref:w,key:N,draggable:!0,onDragstart:P=>V(P,j)},[e.createVNode(S,{name:j.icon,style:{width:"15px",height:"15px"}},null,8,["name"]),e.createElementVNode("div",null,e.toDisplayString(j.name),1)],40,He))),128))])]))),128))])}}},Ae=oe._export_sfc(Oe,[["__scopeId","data-v-951fb5b4"]]),le=v.useModelComp(v.pinia),{pageMapState:Ue}=v.storeToRefs(le),qe=v.useMenuState(),{activeMenuPath:Z}=v.storeToRefs(qe),q=e.ref([]),W=e.ref([]),ze=e.computed(()=>[{label:"任务配置",name:"任务配置",component:{comp:"Table",name:"任务配置",isShow:!0,compData:[{key:"header",contents:[{prop:"任务名称",align:"center",isRun:!1,label:"任务名称",isRoute:!1,isTableColHidden:!1,isFormColHidden:!1},{prop:"任务关键词",align:"center",isRun:!1,label:"任务关键词",isRoute:!1,isTableColHidden:!1,isFormColHidden:!1},{prop:"执行任务",align:"center",isRun:!1,label:"执行任务",isRoute:!1,isTableColHidden:!1,isFormColHidden:!1},{prop:"执行交互",align:"center",isRun:!1,label:"执行交互",isRoute:!1,isTableColHidden:!1,isFormColHidden:!1},{prop:"任务状态",align:"center",isRun:!1,label:"任务状态",isRoute:!1,isTableColHidden:!1,isFormColHidden:!1},{prop:"创建时间",align:"center",isRun:!1,label:"创建时间",isRoute:!1,isTableColHidden:!1,isFormColHidden:!1},{label:"操作"}]},{key:"rowButton",contents:[{label:"访问"},{label:"删除"}]},{key:"extraButton",contents:[{label:"创建"},{label:"批量删除"}]},{key:"tableFilter",contents:[]},{key:"tableContents",contents:q.value}]}},{label:"任务关联",name:"任务关联",component:{comp:"Table",name:"任务关联",isShow:!0,compData:[{key:"header",contents:[{prop:"关联名称",align:"center",isRun:!1,label:"关联名称",isRoute:!1,isTableColHidden:!1,isFormColHidden:!1},{prop:"关联形式",align:"center",isRun:!1,label:"关联形式",isRoute:!1,isTableColHidden:!1,isFormColHidden:!1},{prop:"关联任务集合",align:"center",isRun:!1,label:"关联任务集合",isRoute:!1,isTableColHidden:!0,isFormColHidden:!1},{prop:"关联状态",align:"center",isRun:!1,label:"关联状态",isRoute:!1,isTableColHidden:!1,isFormColHidden:!1},{label:"操作"}]},{key:"rowButton",contents:[{label:"访问"},{label:"删除"}]},{key:"extraButton",contents:[{label:"创建"},{label:"批量删除"}]},{key:"tableFilter",contents:[]},{key:"tableContents",contents:W.value}]}}]),M=e.ref([]),Ve=e.computed(()=>{var l;return(l=M.value)==null?void 0:l.map((n,d)=>({value:n==null?void 0:n.id,label:n==null?void 0:n.name}))}),te=e.ref("data"),Y=e.ref("任务配置"),Q=e.ref({}),z=e.ref(null),A=e.reactive({width:"30%",title:"任务配置",type:"创建",show:!1}),Ge=()=>{A.show=!1},Ke=(l,n)=>{var r,y,c,w,h,V,I,E,S;if(Q.value=v.cloneDeep(n),l==="删除")return Y.value==="任务配置"?q.value=(r=q.value)==null?void 0:r.filter(b=>(b==null?void 0:b.id)!==(n==null?void 0:n.id)):Y.value==="任务关联"&&(W.value=(y=W.value)==null?void 0:y.filter(b=>(b==null?void 0:b.id)!==(n==null?void 0:n.id))),le.setItemExtendData({任务配置:{pageKey:Z.value,compId:(c=z.value)==null?void 0:c.id,results:q.value},任务关联:{pageKey:Z.value,compId:(w=z.value)==null?void 0:w.id,results:W.value}});const d=n?(h=Object.keys(n))==null?void 0:h[1]:"";Y.value==="任务配置"?A.title=`当前配置:${(V=z.value)==null?void 0:V.name}>任务配置>【${(n==null?void 0:n[d])||l}】`:Y.value==="任务关联"&&(A.title=`当前配置:${(I=z.value)==null?void 0:I.name}>任务关联>【${(n==null?void 0:n[d])||l}】`),A.type=typeof((E=Q.value)==null?void 0:E.id)=="string"||!((S=Q.value)!=null&&S.id)?"创建":"编辑",A.show=l==="创建"||l==="访问"},je=l=>{var n;typeof l=="number"&&(z.value=(n=M.value)==null?void 0:n[l],Je()),te.value="data"},Pe=l=>{},We=l=>{var n,d;switch(Y.value){case"任务配置":A.type==="创建"?q.value.push(l==null?void 0:l.data):q.value=(n=q.value)==null?void 0:n.map(r=>{var y;return(r==null?void 0:r.id)===((y=l==null?void 0:l.data)==null?void 0:y.id)?{...r,...l==null?void 0:l.data}:r});break;case"任务关联":A.type==="创建"?W.value.push(l==null?void 0:l.data):W.value=(d=W.value)==null?void 0:d.map(r=>{var y;return(r==null?void 0:r.id)===((y=l==null?void 0:l.data)==null?void 0:y.id)?{...r,...l==null?void 0:l.data}:r});break}console.log("handleTableData:",q.value,l,A.type),le.setItemExtendData({任务配置:{pageKey:Z.value,compId:l==null?void 0:l.compId,results:q.value},任务关联:{pageKey:Z.value,compId:l==null?void 0:l.compId,results:W.value}}),A.show=!1},Ye=l=>{var n,d;if((l==null?void 0:l.buttonName)==="取消")A.show=!1;else if((l==null?void 0:l.buttonName)==="保存"){const r={compId:(n=z.value)==null?void 0:n.id,data:{...l==null?void 0:l.content,id:(d=Q.value)==null?void 0:d.id}};We(r)}},Ne=(l,n)=>{var c,w;const{target:d,styleConfigs:r}=l;if(!r)return;const y=r==null?void 0:r.reduce((h,V)=>(h[V.prop]=V.value,h),{});n?M.value=(w=M.value)==null?void 0:w.map(h=>(h==null?void 0:h.id)===(n==null?void 0:n.id)?{...h,...y}:h):M.value=(c=M.value)==null?void 0:c.map(h=>({...h,...y})),le.setItemData(M.value)},Te=l=>{},Ee=(l,n)=>{var d;return(d=l==null?void 0:l.filter(r=>{var y,c,w,h,V;return((c=(y=r==null?void 0:r.key)==null?void 0:y.relatedInfo)==null?void 0:c.target)===n&&((h=(w=r==null?void 0:r.key)==null?void 0:w.relatedInfo)==null?void 0:h.compId)===((V=z.value)==null?void 0:V.id)}))==null?void 0:d.map(r=>{var y;return{...(y=r==null?void 0:r.value)==null?void 0:y.tableData,id:r==null?void 0:r.id}})},Je=()=>{var n,d;const l=(d=(n=Ue.value)==null?void 0:n[Z.value])==null?void 0:d.filter(r=>{var y;return((y=r==null?void 0:r.key)==null?void 0:y.type)==="extend"});(l==null?void 0:l.length)!==0&&(q.value=Ee(l,"任务配置"),W.value=Ee(l,"任务关联"))},Xe={class:"fill-content"},Qe={class:"overall-config-wrapper"},Ze={class:"operate-content"},et=["onClick"],tt={class:"collapse-title-item",title:"编辑"},lt={key:1},at=["onClick"],ot={class:"icon-content"},nt={key:0,class:"edit-content"},st=["onClick"],rt={title:"设置"},ct=["onClick"],ut={class:"parent-main"},it={style:{display:"flex","justify-content":"space-between"}},dt={title:"样式"},pt={title:"交互"},vt={title:"扩展"},ft={style:{width:"100%","max-height":"500px",overflow:"auto"}},ht={__name:"index",setup(l){const n=v.useModelComp(v.pinia),{itemData:d,originalData:r}=v.storeToRefs(n),y=v.useMenuState(),{activeMenuPath:c}=v.storeToRefs(y);e.ref([]);const w=e.ref([]),h=e.ref([]),V=e.ref([]),I=e.computed(()=>{var i,o,g,f;return((i=M.value)==null?void 0:i.length)>0&&(o=M.value)!=null&&o.every(m=>{var L,F;return(m==null?void 0:m.comp)===((F=(L=M.value)==null?void 0:L[0])==null?void 0:F.comp)})?(f=(g=M.value)==null?void 0:g[0])==null?void 0:f.comp:null}),E=i=>{var g;let o=(g=v.cloneDeep(h.value))==null?void 0:g.map((f,m)=>(i===m&&(f.content=!0),f));h.value=o},S=i=>{var g;let o=(g=v.cloneDeep(h.value))==null?void 0:g.map((f,m)=>(i===m&&(f.content=!1),f));h.value=o,M.value=v.cloneDeep(d.value)},b=(i,o)=>{var L;let g=(L=v.cloneDeep(h.value))==null?void 0:L.map((F,u)=>(i===u&&(F.content=!1),F));h.value=g;const f=v.cloneDeep(d.value),m=f==null?void 0:f.filter((F,u)=>(u===i&&(F.name=o),F));n.setOriginalData(m),n.setItemData(m)},j=i=>{const o=v.cloneDeep(d.value),g=o==null?void 0:o.map((f,m)=>((f==null?void 0:f.name)===(i==null?void 0:i.name)?f.isShow=!(i!=null&&i.isShow):f.isShow=f.isShow,f));d.value=g};e.watch(()=>d.value,()=>{var i,o,g,f;!d.value||((i=d.value)==null?void 0:i.length)===0?M.value=[]:M.value=(o=d.value)==null?void 0:o.filter(m=>(m==null?void 0:m.comp)!=="methodButton"),w.value=M.value,h.value=(g=v.cloneDeep(w.value))==null?void 0:g.map((m,L)=>({id:L,content:!1})),V.value=(f=v.cloneDeep(w.value))==null?void 0:f.map((m,L)=>({id:L,isShow:m==null?void 0:m.isShow}))},{deep:!0,immediate:!0});const N=i=>K.getComponent(i),P=(i,o,g,f)=>{var L,F;if(!i)return;let m=v.cloneDeep(d.value);m=(L=m==null?void 0:m.map((u,_)=>{if(f&&_===g){const{compData:p,itemChildData:U}=i;return u.compData=p,u.itemChildData=U,u}return _===g&&(u.compData=i),u}))==null?void 0:L.filter(u=>(u==null?void 0:u.comp)!=="methodButton"),h.value=(F=v.cloneDeep(m))==null?void 0:F.map((u,_)=>({id:_,content:!1})),n.setOriginalData(m),n.setItemData(m)},O=e.ref(null),$=(i,o)=>{if(!o){n.setActiveItemIndex(i);return}n.setActiveItemIndex(-1)},R=i=>{v.ElMessageBox.confirm("是否确认要删除","",{confirmButtonText:"确认",cancelButtonText:"取消",type:"warning"}).then(()=>{const o=v.cloneDeep(d.value),g=o==null?void 0:o.filter((f,m)=>m!==i);n.setOriginalData(g),n.setItemData(g),n.setActiveItemIndex(-1),Le.ElMessage({type:"success",message:"删除成功"})}).catch(()=>{})};return(i,o)=>{var F;const g=e.resolveComponent("svg-icon"),f=e.resolveComponent("el-tab-pane"),m=e.resolveComponent("el-card"),L=e.resolveComponent("el-tabs");return e.openBlock(),e.createElementBlock("div",Xe,[o[10]||(o[10]=e.createElementVNode("div",{class:"fill-operate"},"操作栏",-1)),e.createElementVNode("div",Qe,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(N(I.value+"style")),{target:"overall",optionItems:e.unref(Ve),compType:I.value,comp:(F=e.unref(M))==null?void 0:F[0],onChange:e.unref(Ne)},null,40,["optionItems","compType","comp","onChange"]))]),e.createElementVNode("div",Ze,[e.createVNode(Se.default,{class:"collapse-content",collapseContents:e.unref(M),accordion:!0,onChange:e.unref(je),ref_key:"ssCollapseRef",ref:O},{title:e.withCtx(({item:u,index:_,isActive:p})=>{var U,T,H,a,s,C,D,k,G,J;return[e.createElementVNode("div",{class:"collapse-title-content",onClick:x=>$(_,p)},[e.createElementVNode("div",tt,[(T=(U=h.value)==null?void 0:U.find(x=>x.id===_))!=null&&T.content?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",{key:0,class:"collapse-title",style:e.normalizeStyle({marginRight:u.name&&u.name!==""?"8px":"0px"})},e.toDisplayString(u.name),5)),(a=(H=h.value)==null?void 0:H.find(x=>x.id===_))!=null&&a.content?(e.openBlock(),e.createElementBlock("div",lt,[e.createVNode(Ie.ssInput,{modelValue:u.name,"onUpdate:modelValue":x=>u.name=x,onClick:o[0]||(o[0]=e.withModifiers(()=>{},["stop"]))},null,8,["modelValue","onUpdate:modelValue"])])):e.createCommentVNode("",!0),(C=(s=h.value)==null?void 0:s.find(x=>x.id===_))!=null&&C.content?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",{key:2,onClick:e.withModifiers(x=>E(_),["stop"]),class:"icon-content"},[e.createVNode(g,{name:"Edit",style:{width:"13px",height:"13px"}})],8,at))]),e.createElementVNode("div",ot,[(k=(D=h.value)==null?void 0:D.find(x=>x.id===_))!=null&&k.content?(e.openBlock(),e.createElementBlock("div",nt,[e.createVNode(g,{name:"Cancel",style:{width:"16px",height:"16px"},class:"icon-content",onClick:e.withModifiers(x=>S(_),["stop"])},null,8,["onClick"]),e.createVNode(g,{name:"Save",onClick:e.withModifiers(x=>b(_,u.name),["stop"]),style:{width:"16px",height:"16px",fill:"var(--ssComponent-primary-color)"},class:"icon-content"},null,8,["onClick"])])):e.createCommentVNode("",!0),(J=(G=h.value)==null?void 0:G.find(x=>x.id===_))!=null&&J.content?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",{key:1,onClick:e.withModifiers(x=>R(_),["stop"]),class:"icon-content"},[e.createVNode(g,{name:"Delete",style:{width:"16px",height:"16px"}})],8,st))])],8,et)]}),content:e.withCtx(({item:u,index:_})=>[e.createVNode(L,{modelValue:e.unref(te),"onUpdate:modelValue":o[2]||(o[2]=p=>e.isRef(te)?te.value=p:null),class:"config-tabs",onTabClick:$},{default:e.withCtx(()=>[e.createVNode(f,{label:"设置",name:"data"},{label:e.withCtx(()=>[e.createElementVNode("span",rt,[e.createVNode(g,{name:"LowCodeSetting",style:{width:"15px",height:"15px","margin-right":"5px"}}),o[3]||(o[3]=e.createTextVNode("设置"))])]),default:e.withCtx(()=>{var p,U;return[e.createElementVNode("div",{class:"comp-child",onClick:T=>$(_)},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(N(u.comp+"Operate")),{itemContents:u==null?void 0:u.compData,originalItemContents:(U=(p=w.value)==null?void 0:p.find((T,H)=>H===_))==null?void 0:U.compData,itemChildData:u==null?void 0:u.itemChildData,onChange:(T,H)=>P(T,u,_,H)},null,40,["itemContents","originalItemContents","itemChildData","onChange"]))],8,ct),e.createElementVNode("div",ut,[o[5]||(o[5]=e.createElementVNode("div",{class:"operate-title"},[e.createElementVNode("div",null,e.toDisplayString("显隐控制"))],-1)),e.createElementVNode("div",it,[o[4]||(o[4]=e.createElementVNode("div",{class:"operate-center-content"},e.toDisplayString("是否显示"),-1)),e.createVNode(Ie._sfc_main$1,{value:V.value.find(T=>T.id===_).isShow,"onUpdate:value":T=>V.value.find(H=>H.id===_).isShow=T,onClick:T=>j(u)},null,8,["value","onUpdate:value","onClick"])])])]}),_:2},1024),e.createVNode(f,{label:"样式",name:"style"},{label:e.withCtx(()=>[e.createElementVNode("span",dt,[e.createVNode(g,{name:"LowCodeStyle",style:{width:"15px",height:"15px","margin-right":"5px"}}),o[6]||(o[6]=e.createTextVNode("样式"))])]),default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(N((u==null?void 0:u.comp)+"style")),{target:"alone",compType:u==null?void 0:u.comp,comp:u,optionItems:e.unref(Ve),onChange:p=>e.unref(Ne)(p,u)},null,40,["compType","comp","optionItems","onChange"]))]),_:2},1024),e.createVNode(f,{label:"交互",name:"event"},{label:e.withCtx(()=>[e.createElementVNode("span",pt,[e.createVNode(g,{name:"LowCodeEvent",style:{width:"15px",height:"15px","margin-right":"5px"}}),o[7]||(o[7]=e.createTextVNode("交互"))])]),default:e.withCtx(()=>[o[8]||(o[8]=e.createTextVNode(" 交互 "))]),_:1,__:[8]}),e.createVNode(f,{label:"扩展",name:"extend"},{label:e.withCtx(()=>[e.createElementVNode("span",vt,[e.createVNode(g,{name:"LowCodeExtend",style:{width:"15px",height:"15px","margin-right":"5px"}}),o[9]||(o[9]=e.createTextVNode("扩展"))])]),default:e.withCtx(()=>[e.createVNode(L,{"tab-position":"left",modelValue:e.unref(Y),"onUpdate:modelValue":o[1]||(o[1]=p=>e.isRef(Y)?Y.value=p:null),class:"extend-tabs",onTabChange:e.unref(Pe)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(ze),(p,U)=>(e.openBlock(),e.createBlock(f,{key:p==null?void 0:p.name,label:p==null?void 0:p.label,name:p==null?void 0:p.name},{default:e.withCtx(()=>[e.createVNode(m,null,{default:e.withCtx(()=>{var T,H,a;return[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(N((T=p==null?void 0:p.component)==null?void 0:T.comp)),{compItem:p==null?void 0:p.component,itemData:(H=p==null?void 0:p.component)==null?void 0:H.compData,childItemData:(a=p==null?void 0:p.component)==null?void 0:a.itemChildData,key:U,level:1,onChange:e.unref(Te),onOnButtonClick:e.unref(Ke)},null,40,["compItem","itemData","childItemData","onChange","onOnButtonClick"]))]}),_:2},1024)]),_:2},1032,["label","name"]))),128))]),_:1},8,["modelValue","onTabChange"])]),_:1})]),_:2},1032,["modelValue"])]),_:1},8,["collapseContents","onChange"])]),e.createVNode(Re.ssDialog,{class:"task-dialog-wrapper",visible:e.unref(A).show,title:e.unref(A).title,dialogWidth:e.unref(A).width,onBeforeDestroy:e.unref(Ge)},{default:e.withCtx(()=>{var u,_;return[e.createElementVNode("div",ft,[e.unref(z)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(N(((u=e.unref(z))==null?void 0:u.comp)+"extend")),{key:0,target:"alone",comp:e.unref(z),extendItem:e.unref(Q),compType:(_=e.unref(z))==null?void 0:_.comp,activeTabName:e.unref(Y),relatedData:e.unref(q),onChange:e.unref(Te),onOnButtonClick:e.unref(Ye)},null,40,["comp","extendItem","compType","activeTabName","relatedData","onChange","onOnButtonClick"])):e.createCommentVNode("",!0)])]}),_:1},8,["visible","title","dialogWidth","onBeforeDestroy"])])}}},mt=oe._export_sfc(ht,[["__scopeId","data-v-0ecba574"]]),gt={style:{display:"flex"}},Ct={style:{display:"flex"}},kt={key:2},yt={key:4,style:{"margin-top":"30px"}},_t={__name:"index",setup(l){const n=v.useModelComp(v.pinia),{itemData:d,activeItemIndex:r,pageMapState:y}=v.storeToRefs(n),c=e.ref([]),w=e.ref(0),h=e.ref(""),V=v.useMenuState(v.pinia),{activeMenuPath:I}=v.storeToRefs(V),E=e.ref(null),S=e.ref(null),b=e.ref(24),j=e.ref(2),N=e.ref([]),P=e.ref([]),O=e.computed(()=>{var a,s,C;return{default:!i.value&&!R.value&&$.value==="vertical"&&((a=c.value)==null?void 0:a.length)>0,grid:i.value&&!R.value&&$.value==="vertical",tab:$.value==="horizontal"&&((s=c.value)==null?void 0:s.length)>0,step:R.value&&$.value==="vertical"&&((C=c.value)==null?void 0:C.length)>0}}),$=e.computed(()=>{var a,s,C,D;return((a=c.value)==null?void 0:a.length)>0&&((s=c.value)!=null&&s.every(k=>k==null?void 0:k.layout))?(D=(C=c.value)==null?void 0:C[0])==null?void 0:D.layout:"vertical"}),R=e.computed(()=>{var a,s;return(s=(a=c.value)==null?void 0:a[0])==null?void 0:s.isStepLayout}),i=e.computed(()=>{var a,s;return(s=(a=c.value)==null?void 0:a[0])==null?void 0:s.isGridLayout}),o=e.ref(null),g=e.computed(()=>{var a,s,C;return((a=c.value)==null?void 0:a.length)>0&&$.value==="horizontal"?(C=(s=c.value)==null?void 0:s[0])==null?void 0:C.name:""}),f=(a,s)=>{w.value=s,o.value=a},m=a=>{var k;if(!a)return;let s=null;const C=v.cloneDeep(c.value);if(r.value>=0&&(s=C==null?void 0:C[r.value]),s&&s.comp==="Layout"){const{compData:G=[]}=s;((k=G==null?void 0:G.find(x=>{const{key:ee}=x;return ee==="children"}))==null?void 0:k.contents).push({comp:a.comp,name:a.name,compData:[]}),n.setItemData(C);return}const D=v.cloneDeep(c.value);D.push({comp:a.comp,name:a.name,compData:[]}),n.setItemData(D),T(D)},L=a=>{a.preventDefault(),a.dataTransfer.dropEffect="copy"},F=async a=>{try{const s=a.dataTransfer.getData("application/json");if(!s)return;const C=JSON.parse(s),D=await u(a),k=_(C,D);await e.nextTick(),p(k),m(JSON.parse(s||"")),console.log("drop"),U()}catch(s){console.error("Drop error:",s),U()}},u=async a=>E.value?new Promise(s=>{requestAnimationFrame(()=>{const C=E.value.getBoundingClientRect(),D=a.clientX-C.left,k=a.clientY,G=Math.floor(D/(C.width/b.value)),J=Math.floor(k/(C.width/b.value));s({x:Math.max(0,G),y:Math.max(0,J),w:b.value,h:j.value})})}):{x:0,y:0},_=(a,s)=>{var D,k;const C=`item_${Date.now()}_${(k=(D=Math.random())==null?void 0:D.toString(36))==null?void 0:k.substring(2,9)}`;return{i:C,id:C,x:s.x,y:s.y,w:s.w,h:s.h,component:a,minW:2,minH:2}},p=a=>{T([...N.value,a],!0)},U=()=>{document.querySelectorAll(".dragging").forEach(a=>{a.classList.remove("dragging")})},T=(a,s)=>{N.value=s?a:K.generateLayouts(a),n.setItemGridData({pageKey:I.value,results:N.value}),V.setContentLoading(!1)};e.watch(()=>O.value.step,a=>{var s;a&&f((s=c.value)==null?void 0:s[0],1)},{immediate:!0}),e.watch(()=>O.value.grid,a=>{var s,C;!a&&((s=N.value)==null?void 0:s.length)>0&&n.setItemGridData({pageKey:I.value,results:(C=N.value)==null?void 0:C.map(D=>D==null?void 0:D.id),isDelete:!0})},{immediate:!0}),e.watch(()=>d.value,a=>{var s,C,D;V.setContentLoading(!0),c.value=!a||(a==null?void 0:a.length)===0?[]:(s=v.cloneDeep(a))==null?void 0:s.filter(k=>!(k!=null&&k.affix)||(k==null?void 0:k.affix)==="default"),P.value=!a||(a==null?void 0:a.length)===0?[]:(C=v.cloneDeep(a))==null?void 0:C.filter(k=>(k==null?void 0:k.affix)&&(k==null?void 0:k.affix)!=="default"),(D=O.value)!=null&&D.grid&&T(c.value)},{deep:!0,immediate:!0});const H=a=>K.getComponent(a);return(a,s)=>{var J,x,ee,ne,se,re,ce,ue,ie,de,pe,ve;const C=e.resolveComponent("el-tab-pane"),D=e.resolveComponent("el-tabs"),k=e.resolveComponent("el-step"),G=e.resolveComponent("el-steps");return e.openBlock(),e.createElementBlock("div",{ref_key:"containerRef",ref:E,class:"low-code-wrapper",onDragover:L,onDrop:F},[(J=O.value)!=null&&J.default?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(c.value,(t,B)=>(e.openBlock(),e.createElementBlock("div",{class:"item-content",key:B},[e.createElementVNode("div",gt,e.toDisplayString(t.name),1),(e.openBlock(),e.createBlock(e.resolveDynamicComponent(H(t.comp)),{itemData:t==null?void 0:t.compData,childItemData:t==null?void 0:t.itemChildData,key:B,config:{showIndex:t==null?void 0:t.showIndex,allowMove:t==null?void 0:t.allowMove,viewport:t==null?void 0:t.viewport},pageLayout:$.value,parentTableId:t==null?void 0:t.tableId,children:t==null?void 0:t.children,level:1},null,8,["itemData","childItemData","config","pageLayout","parentTableId","children"]))]))),128)):e.createCommentVNode("",!0),(x=O.value)!=null&&x.grid?(e.openBlock(),e.createBlock(e.unref(K.De),{key:1,ref_key:"gridLayoutRef",ref:S,layout:N.value,"onUpdate:layout":s[0]||(s[0]=t=>N.value=t),"prevent-collision":!1,"is-draggable":!0,"is-resizable":!0,responsive:!1,"col-num":24,margin:[8,16]},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(N.value,(t,B)=>{var ae,fe;return e.openBlock(),e.createBlock(e.unref(K.st),{key:t.i,x:t.x,y:t.y,"min-h":t.minH,"max-h":t.maxH,"min-w":t.minW,w:t.w,h:e.unref(K.verifyButton)((ae=c.value[B])==null?void 0:ae.comp)?0:t.h,i:t.i,class:e.normalizeClass(e.unref(K.verifyButton)((fe=c.value[B])==null?void 0:fe.comp)?"grid-method-button":"")},{default:e.withCtx(()=>{var he,me,ge,Ce,ke,ye,_e,be,De,we,xe,Be;return[e.createElementVNode("div",{class:e.normalizeClass((me=P.value)!=null&&me.includes((he=t==null?void 0:t.component)==null?void 0:he.id)?"comp-wrapper affix-content":"comp-wrapper")},[e.createElementVNode("div",Ct,e.toDisplayString((ge=c.value[B])==null?void 0:ge.name),1),(e.openBlock(),e.createBlock(e.resolveDynamicComponent(H((Ce=c.value[B])==null?void 0:Ce.comp)),{pageLayout:$.value,itemData:(ke=c.value[B])==null?void 0:ke.compData,childItemData:(ye=c.value[B])==null?void 0:ye.itemChildData,index:((_e=c.value[B])==null?void 0:_e.id)??B,parentTableId:(be=c.value[B])==null?void 0:be.tableId,children:(De=c.value[B])==null?void 0:De.children,level:1,config:{showIndex:(we=c.value[B])==null?void 0:we.showIndex,allowMove:(xe=c.value[B])==null?void 0:xe.allowMove,viewport:(Be=c.value[B])==null?void 0:Be.viewport}},null,8,["pageLayout","itemData","childItemData","index","parentTableId","children","config"]))],2)]}),_:2},1032,["x","y","min-h","max-h","min-w","w","h","i","class"])}),128))]),_:1},8,["layout"])):e.createCommentVNode("",!0),(ee=O.value)!=null&&ee.tab?(e.openBlock(),e.createElementBlock("div",kt,[e.createVNode(D,{modelValue:g.value,"onUpdate:modelValue":s[1]||(s[1]=t=>g.value=t),type:"card",class:"display-tabs"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,(t,B)=>(e.openBlock(),e.createBlock(C,{key:t.i,label:t==null?void 0:t.name,name:t==null?void 0:t.name},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(H(t==null?void 0:t.comp)),{pageLayout:$.value,itemData:t==null?void 0:t.compData,childItemData:t==null?void 0:t.itemChildData,key:B,config:{showIndex:t==null?void 0:t.showIndex,allowMove:t==null?void 0:t.allowMove,viewport:t==null?void 0:t.viewport}},null,8,["pageLayout","itemData","childItemData","config"]))]),_:2},1032,["label","name"]))),128))]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),(ne=O.value)!=null&&ne.step?(e.openBlock(),e.createBlock(G,{key:3,direction:"horizontal",active:w.value,"align-center":!0,class:"display-steps"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,(t,B)=>(e.openBlock(),e.createBlock(k,{key:B,class:"step-item",status:h.value,onClick:ae=>f(t,B+1)},{title:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t==null?void 0:t.name),1)]),_:2},1032,["status","onClick"]))),128))]),_:1},8,["active"])):e.createCommentVNode("",!0),(se=O.value)!=null&&se.step?(e.openBlock(),e.createElementBlock("div",yt,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(H((re=o.value)==null?void 0:re.comp)),{pageLayout:$.value,itemData:(ce=o.value)==null?void 0:ce.compData,childItemData:(ue=o.value)==null?void 0:ue.itemChildData,key:(ie=o.value)==null?void 0:ie.id,config:{showIndex:(de=o.value)==null?void 0:de.showIndex,allowMove:(pe=o.value)==null?void 0:pe.allowMove,viewport:(ve=o.value)==null?void 0:ve.viewport}},null,8,["pageLayout","itemData","childItemData","config"]))])):e.createCommentVNode("",!0)],544)}}},bt=oe._export_sfc(_t,[["__scopeId","data-v-fda67a9b"]]),X=e.ref(0),Dt=l=>l.reduce((d,r)=>{var c,w;const y=Object.values(d);return(((c=Object.keys(d))==null?void 0:c.length)===0||y[y.length-1].length>=(r==null?void 0:r.width))&&(d[X.value]=[],X.value++),d[X.value-1].push(r),((w=Object.keys(d))==null?void 0:w.length)===(r==null?void 0:r.width)&&(d[X.value]=[],X.value++),d},{});exports.arrayToNumberArray=Dt;exports.modelFill=mt;exports.modelSelect=Ae;exports.modelShow=bt;
@@ -1 +0,0 @@
1
- "use strict";const n=require("./index-DeAnBGqU.cjs");var r=4;function c(e){return n.baseClone(e,r)}exports.clone=c;
@@ -1,8 +0,0 @@
1
- import { G as r } from "./index-7aU_bwDz.js";
2
- var e = 4;
3
- function a(o) {
4
- return r(o, e);
5
- }
6
- export {
7
- a as c
8
- };
@@ -1 +0,0 @@
1
- "use strict";const i=require("vue"),I=require("./index-DeAnBGqU.cjs"),pe=require("./index-77VURUPj.cjs"),k=require("./index-CW4qJdP8.cjs"),fe=require("./menuIndex-SRHovjCX.cjs"),w=require("./request-BC2w2vGr.cjs"),F=I.useModelComp(I.pinia),ee=I.useUnit(I.pinia),C=I.useMenuState(I.pinia),{menus:te,configMenu:q,activeMenuPath:$,cacheStructures:K}=I.storeToRefs(C),j=i.ref(!1),le=i.computed(()=>{var e,t;return[{key:"extraButton",contents:[]},{key:"rowButton",contents:[{label:"修改"}]},{key:"header",contents:[{label:"菜单名称",prop:"title",isFormColHidden:!1},{label:"菜单类型",prop:"menuType",formType:"select",options:[{label:"系统菜单",value:"集团"},{label:"公司",value:"公司"}],isTableColHidden:!1,isFormColHidden:!0},{label:"操作"}]},{key:"tableContents",contents:(t=(e=I.cloneDeep(te.value))==null?void 0:e.map(l=>({...l,menuType:"系统菜单"})))==null?void 0:t.filter(l=>l.title!=="系统管理"&&l.title!=="平台管理")}]}),J=i.ref([]),R=i.ref([{label:"新建"}]),de=i.computed(()=>[{key:"extraButton",contents:R.value},{key:"rowButton",contents:[{label:"修改"},{label:"删除"}]},{key:"header",contents:[{label:"操作类型",prop:"operateType",formType:"select",options:[{label:"新增",value:"新增"},{label:"编辑",value:"编辑"},{label:"删除",value:"删除"}],value:""},{label:"操作图标",prop:"operateIcon",formType:"inputPopover",value:""},{label:"操作触发事件",prop:"trigger",formType:"select",options:[{label:"弹出弹窗",value:"openDialog"}],value:"openDialog"},{label:"配置一:",prop:"dialogConfig",formType:"button",value:"弹窗内容",isTableColHidden:!0},{label:"配置二:",prop:"contentConfig",formType:"button",value:"模块内容",isTableColHidden:!0},{label:"继承配置:",prop:"allowInherit",formType:"radio",contents:[{label:"是",value:!0},{label:"否",value:!1}],value:!1,isTableColHidden:!0},{label:"操作"}]},{key:"tableContents",contents:J.value}]),U=i.ref([]),T=i.ref({}),ie=i.ref({}),O=i.ref([{label:"菜单",prop:"path",isFormColHidden:!0,value:""},{label:"操作类型:",prop:"operateType",type:"select",contents:[{label:"新增",value:"新增"},{label:"编辑",value:"编辑"},{label:"删除",value:"删除"}],value:""},{label:"操作图标:",prop:"operateIcon",type:"inputPopover",value:""},{label:"操作触发事件:",prop:"trigger",type:"select",contents:[{label:"弹出弹窗",value:"openDialog"}],value:"openDialog"},{label:"生成的菜单图标:",prop:"menuIcon",type:"inputPopover",value:""},{label:"配置一:",prop:"dialogConfig",type:"button",value:"操作触发的弹窗结构"},{label:"配置二:",prop:"contentConfig",type:"button",value:"操作生成的模块结构",isFormColHidden:!1},{label:"",prop:"structureIds",type:"input",value:[],isFormColHidden:!0},{label:"继承配置:",prop:"allowInherit",type:"radio",contents:[{label:"是",value:!0},{label:"否",value:!1}],value:!0}]),_=e=>{var t;U.value=e?(t=O.value)==null?void 0:t.map(l=>l.prop==="dialogConfig"||l.prop==="contentConfig"||l.prop==="trigger"?l:{...l,value:e?e[l==null?void 0:l.prop]:""}):O.value},ge=i.ref([{label:"查询"},{label:"重置"}]),ve=async()=>{},ae=e=>e.map(t=>t.childMenus&&t.childMenus.length>0?{...t,value:t==null?void 0:t.title,label:t==null?void 0:t.title,children:ae(t.childMenus)}:{...t,value:t==null?void 0:t.title,label:t==null?void 0:t.title}),g=i.reactive({show:!1,title:"菜单配置",width:"30%",type:"create"}),z=i.ref([]),h=i.ref({}),b=i.ref(null),oe=i.ref([]),ne=i.computed(()=>{var e;return(e=ae(te.value))==null?void 0:e.filter(t=>t.title!=="系统管理"&&t.title!=="平台管理")}),ue=async e=>{var l,u,n,c;const t=await k.getInsofDataApi({key:{type:"subStructure",systemKey:sessionStorage.getItem("systemKey"),pageKey:e,version:1}});if(((l=t==null?void 0:t.data)==null?void 0:l.code)===200&&(u=t.data)!=null&&u.result){const r=(c=(n=t.data)==null?void 0:n.result)==null?void 0:c.map(p=>{var f;return{id:p==null?void 0:p.id,...(f=p==null?void 0:p.value)==null?void 0:f.pageData}});oe.value=r,C.setCacheStructures({key:"contentConfig",data:r})}},ye=async e=>{var t;j.value=!0,b.value={...e,rootNode:fe.findRootNodeByPath(ne.value,e.path)},C.setCacheStructures(null),(e==null?void 0:e.level)===0?R.value.splice(0):(R.value=[{label:"新建"}],z.value=(t=e==null?void 0:e.path)==null?void 0:t.split("/")),await C.setConfigMenu(null),await ue(e==null?void 0:e.path),await x(e)},be=e=>{switch(e){case"新建":return"create";case"修改":return"update";case"删除":return"delete"}},he=async(e,t)=>{var l,u;if(!b.value)return w.ElMessage.warning("请先选择菜单");if(g.type=be(e),z.value=[],F.setSubmitCurStructure(!1),ee.setSelectTitle([]),h.value=I.cloneDeep(t),g.type!=="delete"){switch(g.type){case"create":_(null),await C.setConfigMenu(null);break;case"update":_(h.value),await C.setConfigMenu(h.value),console.log("clickRowButton",h.value);break}await i.nextTick(),g.title=`【${g.type==="create"?(l=b.value)==null?void 0:l.path:(u=h.value)==null?void 0:u.path}】菜单配置${e}`,g.show=!0}else await se(h.value,g.type)},re=i.ref(!0),Ce=async e=>{var t;T.value=e,await C.setConfigMenu({...T.value,path:(t=b.value)==null?void 0:t.path}),re.value=(e==null?void 0:e.operateType)!=="新增"};i.watch(()=>re.value,async e=>{var t;await i.nextTick(),U.value=(t=O.value)==null?void 0:t.map(l=>l.prop==="dialogConfig"||l.prop==="contentConfig"||l.prop==="trigger"?l.prop==="contentConfig"?{...l,isFormColHidden:e}:l:{...l,value:T.value?T.value[l==null?void 0:l.prop]:""})},{immediate:!0,deep:!0});const Ie=i.ref(null),ke=async(e,t)=>{var r,p,f,s,y;if(g.type==="create"){const a=(p=(r=K.value)==null?void 0:r.filter(d=>(d==null?void 0:d.key)===t))==null?void 0:p.flatMap(d=>d==null?void 0:d.data);F.setItemData(a),C.setCacheStructures({key:t,data:a})}if(console.log("getTriggerStructures1",e==null?void 0:e.structureIds,t),!(e!=null&&e.structureIds)||((f=e==null?void 0:e.structureIds)==null?void 0:f.length)===0)return;const l=(y=(s=e==null?void 0:e.structureIds)==null?void 0:s.filter(a=>(a==null?void 0:a.key)===t))==null?void 0:y.map(a=>a==null?void 0:a.id);let u=l==null?void 0:l.map(a=>{if(a)return k.getInsofDataApi({id:a})});const n=await Promise.all(u),c=n==null?void 0:n.every(a=>{var d;return((d=a==null?void 0:a.data)==null?void 0:d.code)===200});if(console.log("getTriggerStructures2",e==null?void 0:e.structureIds,t,n),c&&(n==null?void 0:n.length)>0){const a=n==null?void 0:n.map(d=>{var M,D,A,P,E,o,B;return{id:(A=(D=(M=d==null?void 0:d.data)==null?void 0:M.result)==null?void 0:D[0])==null?void 0:A.id,...(B=(o=(E=(P=d==null?void 0:d.data)==null?void 0:P.result)==null?void 0:E[0])==null?void 0:o.value)==null?void 0:B.pageData}});F.setItemData(a),C.setCacheStructures({key:t,data:a})}},Te=async e=>{var n,c,r,p,f;const t=e==="操作触发的弹窗结构"?"dialogConfig":"contentConfig";C.setButtonTriggerType(t),await ke(h.value,t);let l;(n=T.value)!=null&&n.subMenus&&((c=T.value)==null?void 0:c.subMenus.length)>0&&(l=(r=z.value)==null?void 0:r.map(s=>({value:s})),l.unshift({value:(p=h.value)==null?void 0:p.title}));let u;g.type==="create"?u={...T.value,path:(f=b.value)==null?void 0:f.path}:g.type==="update"&&(u=q.value),await C.setConfigMenu(u),ee.setSelectTitle(l),F.setIsEdit("edit")},x=async e=>{var l,u,n,c,r,p;const t=await k.getInsofDataApi({key:{type:"menuConfigData",systemKey:sessionStorage.getItem("systemKey"),pageKey:$.value+"/"+(e==null?void 0:e.path),tableId:""}});((l=t==null?void 0:t.data)==null?void 0:l.code)===200&&(u=t.data)!=null&&u.result&&(J.value=((c=(n=t.data)==null?void 0:n.result)==null?void 0:c.length)>0?(p=(r=t.data)==null?void 0:r.result)==null?void 0:p.map(f=>{var s;return{id:f==null?void 0:f.id,...(s=f==null?void 0:f.value)==null?void 0:s.tableData}}):[]),j.value=!1},H=async(e,t,l="contentConfig")=>{var u,n,c,r,p,f;try{let s,y;t==="create"?(s={key:{systemKey:sessionStorage.getItem("systemKey"),pageKey:$.value+"/"+((u=b.value)==null?void 0:u.path),type:"structure",rootNodePath:(c=(n=b.value)==null?void 0:n.rootNode)==null?void 0:c.path,structureBelong:l,parentTable:"",version:1},value:{pageData:e}},y=k.createInsofDataApi):t==="update"?(s={id:e==null?void 0:e.id,value:{pageData:e}},y=k.updateInsofDataApi):t==="delete"&&(s={id:e},y=k.deleteInsofDataApi);const a=await y(s);if(((r=a==null?void 0:a.data)==null?void 0:r.code)!==200)throw w.ElMessage.error("保存响应失败"),new Error("保存响应失败");const d=t==="create"?(p=a==null?void 0:a.data)==null?void 0:p.result:e==null?void 0:e.id;return{status:((f=a==null?void 0:a.data)==null?void 0:f.code)===200,data:{id:d,key:l}}}catch{w.ElMessage.error("保存响应失败")}},Z=(e,t)=>{var f,s,y;const l=(f=e==null?void 0:e.flatMap(a=>a==null?void 0:a.data))==null?void 0:f.map(a=>a==null?void 0:a.id),u=t.filter(a=>!(l!=null&&l.includes(a))),n=l==null?void 0:l.filter(a=>!t.includes(a));let c=null,r=null,p=null;return c=[...u,...n].filter(a=>a),r=(s=e==null?void 0:e.flatMap(a=>a==null?void 0:a.data))==null?void 0:s.filter(a=>!(a!=null&&a.id)),p=(y=e==null?void 0:e.flatMap(a=>a==null?void 0:a.data))==null?void 0:y.filter(a=>a==null?void 0:a.id).filter(a=>Object.keys(a).length>1),{deleteIds:c,createComps:r,updateComps:p}},m=(e,t)=>{var u,n,c,r,p,f;let l=[];return((u=t==null?void 0:t.deleteIds)==null?void 0:u.length)>0&&((n=t==null?void 0:t.deleteIds)==null||n.forEach(s=>{l.push(H(s,"delete",e))})),((c=t==null?void 0:t.createComps)==null?void 0:c.length)>0&&((r=t==null?void 0:t.createComps)==null||r.forEach(s=>{l.push(H(s,"create",e))})),((p=t==null?void 0:t.updateComps)==null?void 0:p.length)>0&&((f=t==null?void 0:t.updateComps)==null||f.forEach(s=>{s!=null&&s.id&&l.push(H(s,"update",e))})),l},Me=e=>{const t=new Map;return e.forEach(l=>{t.set(l.id,l)}),Array.from(t.values())},De=async(e,t)=>{var l,u,n,c,r,p,f;try{const s=e==null?void 0:e.filter(o=>(o==null?void 0:o.key)==="contentConfig"),y=e==null?void 0:e.filter(o=>(o==null?void 0:o.key)==="dialogConfig");await i.nextTick();const a=(n=(u=(l=K.value)==null?void 0:l.filter(o=>(o==null?void 0:o.key)==="dialogConfig"))==null?void 0:u.flatMap(o=>o==null?void 0:o.data))==null?void 0:n.map(o=>o==null?void 0:o.id);let d=(p=(r=(c=K.value)==null?void 0:c.filter(o=>(o==null?void 0:o.key)==="contentConfig"))==null?void 0:r.flatMap(o=>o==null?void 0:o.data))==null?void 0:p.map(o=>o==null?void 0:o.id);d=[...d,...(f=oe.value)==null?void 0:f.map(o=>o==null?void 0:o.id)];const M=Z(y,a),D=Z(s,d),A=m("dialogConfig",M),P=m("contentConfig",D),E=[...A,...P];await Promise.all(E).then(o=>{var G,L,V,Q,W,X,Y;if(!(o==null?void 0:o.every(v=>v.status)))return;let N=(G=o==null?void 0:o.flatMap(v=>v==null?void 0:v.data))==null?void 0:G.filter(v=>(v==null?void 0:v.id)!==null&&(v==null?void 0:v.id)!==void 0);if(((L=M==null?void 0:M.updateComps)==null?void 0:L.length)===0&&g.type==="update"){const v=(Q=(V=h.value)==null?void 0:V.structureIds)==null?void 0:Q.filter(S=>(S==null?void 0:S.key)==="dialogConfig");N=[...N,...v]}if(((W=D==null?void 0:D.updateComps)==null?void 0:W.length)===0&&g.type==="update"){const v=(Y=(X=h.value)==null?void 0:X.structureIds)==null?void 0:Y.filter(S=>(S==null?void 0:S.key)==="contentConfig");N=[...N,...v]}const ce=Me(N);se({...t,isNotInitial:!0,structureIds:ce},g.type)}).catch(o=>{w.ElMessage.error(o)})}catch(s){throw w.ElMessage.error(s),new Error(s)}},se=async(e,t)=>{var n,c;let l,u;t==="create"?(l={key:{type:"menuConfigData",systemKey:sessionStorage.getItem("systemKey"),pageKey:$.value+"/"+((n=b.value)==null?void 0:n.path),tableId:"",rootNodePath:e==null?void 0:e.rootNodePath},value:{tableData:e}},u=k.createInsofDataApi):t==="update"?(l={id:e==null?void 0:e.id,value:{tableData:e}},u=k.updateInsofDataApi):t==="delete"&&(l={ids:[e.id,...(c=e==null?void 0:e.structureIds)==null?void 0:c.map(r=>r.id)]},u=k.batchDeleteInsofDataApi),pe.handleSubmitAsync(u,l,t).then(r=>{t==="create"&&J.value.push({...e,id:r}),t&&r&&w.ElMessage.success("响应成功"),x(b.value)})},Se=async()=>{var l,u,n,c,r;const e=JSON.parse(I.cloneDeep(JSON.stringify(K.value)));await i.nextTick();const t=g.type==="create"?{...q.value,rootNodePath:(u=(l=b.value)==null?void 0:l.rootNode)==null?void 0:u.path}:{...q.value,rootNodePath:(c=(n=b.value)==null?void 0:n.rootNode)==null?void 0:c.path,id:(r=h.value)==null?void 0:r.id};await De(e,t),T.value={},g.show=!1,await x(b.value)},we=()=>{g.show=!1},Ne={comp:"Group",name:"/平台管理/菜单管理",compData:[{key:"groupContents",contents:[{comp:"Table",compData:le.value,name:""}]}]},Ae=Object.freeze(Object.defineProperty({__proto__:null,beforeDialogDestroy:we,buttonValue:ge,changeTrigger:Ce,changedRow:ie,clickNodeTrigger:ye,clickRowButton:he,clickSubmitForm:Se,clickTrigger:Te,dialogInfo:g,formatFormData:_,getInitialSubStructure:ue,getTableDataAsync:x,handleItemDataChange:ve,inputForm:T,menuPageData:de,operatingForm:Ie,pageData:le,renderFormData:U,tableLoading:j,tempMenuPageData:Ne,treeData:ne},Symbol.toStringTag,{value:"Module"}));exports.State=Ae;