Browse Source

Merge branch 'test' into iteration-accompany

lex 1 năm trước cách đây
mục cha
commit
9d2ac9a583
100 tập tin đã thay đổi với 499 bổ sung307 xóa
  1. 0 0
      dist/app.config.js
  2. 1 1
      dist/assets/404.2c9a2278.js
  3. 1 1
      dist/assets/Cascader.a8a169c6.js
  4. 1 1
      dist/assets/DeleteFilled.6298eb7f.js
  5. 1 1
      dist/assets/FormItemGridItem.e7c63d5d.js
  6. 0 1
      dist/assets/HelpCircleOutline.03a6ac14.js
  7. 1 1
      dist/assets/PageHeader.4cda0661.js
  8. 3 3
      dist/assets/TreeSelect.a9560dca.js
  9. 0 0
      dist/assets/api.054c5624.js
  10. 1 1
      dist/assets/api.123f62ec.js
  11. 1 1
      dist/assets/api.2a6e4656.js
  12. 1 1
      dist/assets/api.3060d2af.js
  13. 1 1
      dist/assets/api.7254abba.js
  14. 1 1
      dist/assets/api.b4b45462.js
  15. 1 1
      dist/assets/api.c6e7e508.js
  16. 0 0
      dist/assets/api.ce1d66f7.js
  17. 0 0
      dist/assets/constant.6600dba8.js
  18. 1 1
      dist/assets/dateUtil.9595ef75.js
  19. 0 0
      dist/assets/dayjs.min.db097faa.js
  20. 0 0
      dist/assets/detail.70783ded.js
  21. 0 0
      dist/assets/editAndUpdate.a0c29ef0.js
  22. 0 0
      dist/assets/editAndUpdate.a0ea4378.js
  23. 0 0
      dist/assets/employee-tab.ce5f2b7f.js
  24. 1 1
      dist/assets/filters.9b0e51bb.js
  25. 0 0
      dist/assets/index.0d867e5f.js
  26. 0 0
      dist/assets/index.15012064.js
  27. 0 0
      dist/assets/index.218726f8.js
  28. 0 0
      dist/assets/index.2741f562.js
  29. 1 1
      dist/assets/index.3d0af405.js
  30. 0 0
      dist/assets/index.469bb07e.js
  31. 0 1
      dist/assets/index.46c01197.css
  32. 0 0
      dist/assets/index.48369f2a.js
  33. 0 0
      dist/assets/index.50ba1b99.js
  34. 0 0
      dist/assets/index.54901f25.js
  35. 0 0
      dist/assets/index.5969733b.js
  36. 0 0
      dist/assets/index.5b289c06.js
  37. 0 0
      dist/assets/index.63f539bc.js
  38. 0 0
      dist/assets/index.6a322f2e.css
  39. 0 0
      dist/assets/index.6d01a885.js
  40. 1 1
      dist/assets/index.7003dc0c.js
  41. 0 0
      dist/assets/index.795f5706.js
  42. 0 0
      dist/assets/index.7ab37541.js
  43. 0 0
      dist/assets/index.7d7d9a34.js
  44. 0 0
      dist/assets/index.87c03878.js
  45. 1 1
      dist/assets/index.88a5b593.js
  46. 0 0
      dist/assets/index.8d1fea06.js
  47. 1 1
      dist/assets/index.9075f712.js
  48. 0 0
      dist/assets/index.9f05e9a7.js
  49. 0 0
      dist/assets/index.a57b2ac6.js
  50. 0 0
      dist/assets/index.a5bb02bf.js
  51. 1 1
      dist/assets/index.a69df7dc.js
  52. 0 0
      dist/assets/index.adfd3448.js
  53. 1 0
      dist/assets/index.ae9fe8a9.css
  54. 1 1
      dist/assets/index.b08b7807.js
  55. 0 0
      dist/assets/index.b620a901.js
  56. 0 0
      dist/assets/index.b8e8e0d0.js
  57. 0 0
      dist/assets/index.bc4b2c8c.js
  58. 0 0
      dist/assets/index.bcc83ea8.css
  59. 0 0
      dist/assets/index.d53f4843.js
  60. 0 0
      dist/assets/index.d70e4488.js
  61. 0 0
      dist/assets/index.d8b1df32.js
  62. 1 1
      dist/assets/index.ded5505d.js
  63. 0 1
      dist/assets/index.e47c3930.css
  64. 0 0
      dist/assets/index.e526b43a.js
  65. 1 0
      dist/assets/index.ec3a9d58.css
  66. 0 0
      dist/assets/index.f50b6c8e.js
  67. 0 0
      dist/assets/index.fbb96c23.js
  68. 0 0
      dist/assets/instrument-list.a869434e.js
  69. 0 0
      dist/assets/instrument-list.ad1e38f0.js
  70. 0 0
      dist/assets/interface-log.0e1bacfd.js
  71. 0 0
      dist/assets/interface-log.f3688144.js
  72. 0 1
      dist/assets/musicUtil.43e66385.js
  73. 0 0
      dist/assets/musicUtil.a9865269.js
  74. 1 1
      dist/assets/parentLayout.5fee6532.js
  75. 0 0
      dist/assets/plan-detail.2f09d4a4.js
  76. 1 1
      dist/assets/searchArray.ac70e179.js
  77. BIN
      dist/assets/sms-top.2d70e34d.png
  78. 1 1
      dist/assets/tabsView.ebac4768.js
  79. 1 1
      dist/assets/use-async.2206cb99.js
  80. 0 0
      dist/assets/vuedraggable.umd.4bb236f7.js
  81. 0 0
      dist/index.html
  82. 37 15
      src/views/music-library/music-sheet/component/music-list.tsx
  83. 21 3
      src/views/music-library/music-sheet/component/music-sheet-categories-list.tsx
  84. 10 3
      src/views/music-library/music-sheet/index.tsx
  85. 2 1
      src/views/music-library/music-sheet/modal/music-create-img.tsx
  86. 82 89
      src/views/music-library/music-sheet/modal/music-operation.tsx
  87. 2 0
      src/views/music-library/music-sheet/modal/musicSheetOwnerDialog.tsx
  88. 93 55
      src/views/music-library/music-sheet/modal/use-project.tsx
  89. 1 1
      src/views/music-library/musicUtil.ts
  90. 37 6
      src/views/music-library/project-music-sheet/module/gym/addMusic.tsx
  91. 4 4
      src/views/music-library/project-music-sheet/module/gym/music-sheet-gym.tsx
  92. 10 1
      src/views/music-library/project-music-sheet/module/gym/updateMusic.tsx
  93. 15 4
      src/views/music-library/project-music-sheet/module/gyt/addMusic.tsx
  94. 12 39
      src/views/music-library/project-music-sheet/module/gyt/music-sheet-gyt.tsx
  95. 69 17
      src/views/music-library/project-music-sheet/module/klx/addMusic.tsx
  96. 13 2
      src/views/music-library/project-music-sheet/module/klx/music-sheet-klx.tsx
  97. 34 19
      src/views/music-library/project-music-sheet/module/klx/updateMusic.tsx
  98. 15 4
      src/views/music-library/project-music-sheet/module/kt/addMusic.tsx
  99. 1 1
      src/views/music-library/project-music-sheet/module/kt/music-sheet-kt.tsx
  100. 12 12
      src/views/system-manage/param-settings/component/project-setting.tsx

+ 0 - 0
dist/app.config.js


+ 1 - 1
dist/assets/404.1cb97eec.js → dist/assets/404.2c9a2278.js

@@ -1 +1 @@
-import{d as u,c as r,e as p,f as d,g as e,i,w as l,p as f,t as m,v as h,o as b,k as x,x as v}from"./index.c5627449.js";import{u as B}from"./tabsView.8997c775.js";import"./searchs.b637f0d6.js";const g=""+new URL("404.db5b619b.png",import.meta.url).href,s=t=>(m("data-v-5fc2dfea"),t=t(),h(),t),w={class:"page-container"},C={class:"center-box"},E={class:"text-center"},S=s(()=>e("img",{src:g,alt:""},null,-1)),V={class:"sub-wrap"},k=s(()=>e("h2",{class:"text-base text-gray-500"},"404",-1)),y=s(()=>e("p",null,"\u62B1\u6B49\uFF0C\u4F60\u8BBF\u95EE\u7684\u9875\u9762\u4E0D\u5B58\u5728",-1)),F=u({__name:"404",setup(t){const o=B(),c=r(),a=p();function _(){o.closeCurrentTab(a),c.push("/")}return(I,N)=>{const n=f;return b(),d("div",w,[e("div",C,[e("div",E,[S,e("div",V,[k,y,i(n,{class:"subBtn",type:"info",onClick:_},{default:l(()=>[x("\u56DE\u5230\u9996\u9875")]),_:1})])])])])}}});const H=v(F,[["__scopeId","data-v-5fc2dfea"]]);export{H as default};
+import{d as u,c as r,e as p,f as d,g as e,i,w as l,p as f,t as m,v as h,o as b,k as x,x as v}from"./index.7ab37541.js";import{u as B}from"./tabsView.ebac4768.js";import"./searchs.b637f0d6.js";const g=""+new URL("404.db5b619b.png",import.meta.url).href,s=t=>(m("data-v-5fc2dfea"),t=t(),h(),t),w={class:"page-container"},C={class:"center-box"},E={class:"text-center"},S=s(()=>e("img",{src:g,alt:""},null,-1)),V={class:"sub-wrap"},k=s(()=>e("h2",{class:"text-base text-gray-500"},"404",-1)),y=s(()=>e("p",null,"\u62B1\u6B49\uFF0C\u4F60\u8BBF\u95EE\u7684\u9875\u9762\u4E0D\u5B58\u5728",-1)),F=u({__name:"404",setup(t){const o=B(),c=r(),a=p();function _(){o.closeCurrentTab(a),c.push("/")}return(I,N)=>{const n=f;return b(),d("div",w,[e("div",C,[e("div",E,[S,e("div",V,[k,y,i(n,{class:"subBtn",type:"info",onClick:_},{default:l(()=>[x("\u56DE\u5230\u9996\u9875")]),_:1})])])])])}}});const H=v(F,[["__scopeId","data-v-5fc2dfea"]]);export{H as default};

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 1
dist/assets/Cascader.a8a169c6.js


+ 1 - 1
dist/assets/DeleteFilled.ef373093.js → dist/assets/DeleteFilled.6298eb7f.js

@@ -1 +1 @@
-import{d as e,f as t,g as o,o as c}from"./index.c5627449.js";const n={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 1024 1024"},l=o("path",{d:"M864 256H736v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zm-200 0H360v-72h304v72z",fill:"currentColor"},null,-1),s=[l],h=e({name:"DeleteFilled",render:function(i,a){return c(),t("svg",n,s)}});export{h as D};
+import{d as e,f as t,g as o,o as c}from"./index.7ab37541.js";const n={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 1024 1024"},l=o("path",{d:"M864 256H736v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zm-200 0H360v-72h304v72z",fill:"currentColor"},null,-1),s=[l],h=e({name:"DeleteFilled",render:function(i,a){return c(),t("svg",n,s)}});export{h as D};

+ 1 - 1
dist/assets/FormItemGridItem.b05be89b.js → dist/assets/FormItemGridItem.e7c63d5d.js

@@ -1 +1 @@
-import{d as a,r as n,bf as r,dc as o,dd as i,l as m,de as d,cb as p,df as f,dg as l}from"./index.c5627449.js";const I=Object.assign(Object.assign({},f),l),g=a({__GRID_ITEM__:!0,name:"FormItemGridItem",alias:["FormItemGi"],props:I,setup(){const e=n(null);return{formItemInstRef:e,validate:(...t)=>{const{value:s}=e;if(s)return s.validate(...t)},restoreValidation:()=>{const{value:t}=e;t&&t.restoreValidation()}}},render(){return r(p,o(this.$.vnode.props||{},d),{default:()=>{const e=o(this.$props,i);return r(m,Object.assign({ref:"formItemInstRef"},e),this.$slots)}})}});export{g as N};
+import{d as a,r as n,bj as r,dd as o,de as i,l as m,df as d,ad as p,dg as f,dh as l}from"./index.7ab37541.js";const I=Object.assign(Object.assign({},f),l),g=a({__GRID_ITEM__:!0,name:"FormItemGridItem",alias:["FormItemGi"],props:I,setup(){const e=n(null);return{formItemInstRef:e,validate:(...t)=>{const{value:s}=e;if(s)return s.validate(...t)},restoreValidation:()=>{const{value:t}=e;t&&t.restoreValidation()}}},render(){return r(p,o(this.$.vnode.props||{},d),{default:()=>{const e=o(this.$props,i);return r(m,Object.assign({ref:"formItemInstRef"},e),this.$slots)}})}});export{g as N};

+ 0 - 1
dist/assets/HelpCircleOutline.03a6ac14.js

@@ -1 +0,0 @@
-import{d as t,f as o,g as e,o as r}from"./index.c5627449.js";const n={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},l=e("path",{d:"M256 80a176 176 0 1 0 176 176A176 176 0 0 0 256 80z",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),s=e("path",{d:"M200 202.29s.84-17.5 19.57-32.57C230.68 160.77 244 158.18 256 158c10.93-.14 20.69 1.67 26.53 4.45c10 4.76 29.47 16.38 29.47 41.09c0 26-17 37.81-36.37 50.8S251 281.43 251 296",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"28"},null,-1),i=e("circle",{cx:"250",cy:"348",r:"20",fill:"currentColor"},null,-1),c=[l,s,i],k=t({name:"HelpCircleOutline",render:function(a,h){return r(),o("svg",n,c)}});export{k as H};

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 1
dist/assets/PageHeader.4cda0661.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 3 - 3
dist/assets/TreeSelect.a9560dca.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/api.054c5624.js


+ 1 - 1
dist/assets/api.53411323.js → dist/assets/api.123f62ec.js

@@ -1 +1 @@
-import{cc as t}from"./index.c5627449.js";const a=e=>t({url:"/cbs-app/knowledgePoint/page",method:"post",data:e}),n=e=>t({url:"/cbs-app/knowledgePoint/save",method:"post",data:e}),l=e=>t({url:"/cbs-app/knowledgePoint/remove?id="+e,method:"post"}),r=e=>t({url:"/cbs-app/knowledgePoint/update",method:"post",data:e}),s=e=>t({url:"/cbs-app/knowledgePointMaterialRelation/page",method:"post",data:e}),i=e=>t({url:"/cbs-app/knowledgePointMaterialRelation/update",method:"post",data:e}),p=e=>t({url:"/cbs-app/knowledgePointMaterialRelation/remove",method:"post",data:e}),d=e=>t({url:"/cbs-app/knowledgePointMaterialRelation/materialPage",method:"post",data:e}),c=e=>t({url:"/cbs-app/knowledgePointMaterialRelation/save",method:"post",data:e}),g=e=>t({url:`/cbs-app/knowledgePoint/status?id=${e}`,method:"post"});export{n as a,g as b,l as c,c as d,d as e,a as f,s as g,p as h,i,r as k};
+import{ab as t}from"./index.7ab37541.js";const a=e=>t({url:"/cbs-app/knowledgePoint/page",method:"post",data:e}),n=e=>t({url:"/cbs-app/knowledgePoint/save",method:"post",data:e}),l=e=>t({url:"/cbs-app/knowledgePoint/remove?id="+e,method:"post"}),r=e=>t({url:"/cbs-app/knowledgePoint/update",method:"post",data:e}),s=e=>t({url:"/cbs-app/knowledgePointMaterialRelation/page",method:"post",data:e}),i=e=>t({url:"/cbs-app/knowledgePointMaterialRelation/update",method:"post",data:e}),p=e=>t({url:"/cbs-app/knowledgePointMaterialRelation/remove",method:"post",data:e}),d=e=>t({url:"/cbs-app/knowledgePointMaterialRelation/materialPage",method:"post",data:e}),g=e=>t({url:"/cbs-app/knowledgePointMaterialRelation/save",method:"post",data:e}),c=e=>t({url:`/cbs-app/knowledgePoint/status?id=${e}`,method:"post"});export{n as a,c as b,l as c,g as d,d as e,a as f,s as g,p as h,i,r as k};

+ 1 - 1
dist/assets/api.c964151e.js → dist/assets/api.2a6e4656.js

@@ -1 +1 @@
-import{cc as s}from"./index.c5627449.js";const a=t=>s({url:"/cbs-app/sysMenuButton/page",method:"post",data:t}),u=t=>s({url:"/cbs-app/sysMenuButton/save",method:"post",data:t}),o=t=>s({url:"/cbs-app/sysMenuButton/update",method:"post",data:t}),n=t=>s({url:"/cbs-app/sysMenuButton/remove",method:"post",data:t,requestType:"form"}),p=t=>s({url:"/cbs-app/musicTag/page",method:"post",data:t}),r=t=>s({url:"/cbs-app/musicSheet/page",method:"post",data:t});export{o as a,a as b,n as c,p as d,r as m,u as s};
+import{ab as s}from"./index.7ab37541.js";const a=t=>s({url:"/cbs-app/sysMenuButton/page",method:"post",data:t}),u=t=>s({url:"/cbs-app/sysMenuButton/save",method:"post",data:t}),o=t=>s({url:"/cbs-app/sysMenuButton/update",method:"post",data:t}),n=t=>s({url:"/cbs-app/sysMenuButton/remove",method:"post",data:t,requestType:"form"}),p=t=>s({url:"/cbs-app/musicTag/page",method:"post",data:t}),r=t=>s({url:"/cbs-app/musicSheet/page",method:"post",data:t});export{o as a,a as b,n as c,p as d,r as m,u as s};

+ 1 - 1
dist/assets/api.ed6896c2.js → dist/assets/api.3060d2af.js

@@ -1 +1 @@
-import{cc as e}from"./index.c5627449.js";const a=t=>e({url:"/cbs-app/musicalInstrument/page",method:"post",data:t}),u=t=>e({url:"/cbs-app/musicalInstrument/queryNotRelated",method:"post",data:t}),r=t=>e({url:"/cbs-app/musicalInstrument/save",method:"post",data:t}),c=t=>e({url:"/cbs-app/musicalInstrument/update",method:"post",data:t}),p=t=>e({url:"/cbs-app/musicalInstrument/enable?id="+t.id,method:"post",data:t}),o=t=>e({url:"/cbs-app/subjectCategory/page",method:"post",data:t}),n=t=>e({url:"/cbs-app/subjectCategory/save",method:"post",data:t}),m=t=>e({url:"/cbs-app/subjectCategory/update",method:"post",data:t}),b=t=>e({url:"/cbs-app/subject/page",method:"post",data:t}),l=t=>e({url:"/cbs-app/subject/save",method:"post",data:t}),d=t=>e({url:"/cbs-app/subject/update",method:"post",data:t}),i=t=>e({url:"/cbs-app/subject/enable",method:"post",requestType:"form",data:t});export{d as a,o as b,a as c,b as d,i as e,n as f,m as g,r as h,c as i,p as j,u as m,l as s};
+import{ab as e}from"./index.7ab37541.js";const a=t=>e({url:"/cbs-app/musicalInstrument/page",method:"post",data:t}),u=t=>e({url:"/cbs-app/musicalInstrument/queryNotRelated",method:"post",data:t}),r=t=>e({url:"/cbs-app/musicalInstrument/save",method:"post",data:t}),c=t=>e({url:"/cbs-app/musicalInstrument/update",method:"post",data:t}),p=t=>e({url:"/cbs-app/musicalInstrument/enable?id="+t.id,method:"post",data:t}),o=t=>e({url:"/cbs-app/subjectCategory/page",method:"post",data:t}),n=t=>e({url:"/cbs-app/subjectCategory/save",method:"post",data:t}),m=t=>e({url:"/cbs-app/subjectCategory/update",method:"post",data:t}),b=t=>e({url:"/cbs-app/subject/page",method:"post",data:t}),l=t=>e({url:"/cbs-app/subject/save",method:"post",data:t}),d=t=>e({url:"/cbs-app/subject/update",method:"post",data:t}),i=t=>e({url:"/cbs-app/subject/enable",method:"post",requestType:"form",data:t});export{d as a,o as b,a as c,b as d,i as e,n as f,m as g,r as h,c as i,p as j,u as m,l as s};

+ 1 - 1
dist/assets/api.0e531e67.js → dist/assets/api.7254abba.js

@@ -1 +1 @@
-import{cc as p}from"./index.c5627449.js";const t=s=>p({url:"/cbs-app/sysApplication/page",method:"post",data:s});export{t as s};
+import{ab as a}from"./index.7ab37541.js";const t=s=>a({url:"/cbs-app/sysApplication/page",method:"post",data:s});export{t as s};

+ 1 - 1
dist/assets/api.b4b93da4.js → dist/assets/api.b4b45462.js

@@ -1 +1 @@
-import{cc as e}from"./index.c5627449.js";const r=s=>e({url:"/cbs-app/sysUserLoginLog/page",method:"post",data:s}),t=s=>e({url:"/cbs-app/sysUserLogin/page",method:"post",data:s}),o=s=>e({url:"/cbs-app/sysUserDevice/page",method:"post",data:s}),p=s=>e({url:"/cbs-app/sysUserAuditLog/page",method:"post",data:s});export{t as a,o as b,p as c,r as s};
+import{ab as e}from"./index.7ab37541.js";const r=s=>e({url:"/cbs-app/sysUserLoginLog/page",method:"post",data:s}),t=s=>e({url:"/cbs-app/sysUserLogin/page",method:"post",data:s}),o=s=>e({url:"/cbs-app/sysUserDevice/page",method:"post",data:s}),p=s=>e({url:"/cbs-app/sysUserAuditLog/page",method:"post",data:s});export{t as a,o as b,p as c,r as s};

+ 1 - 1
dist/assets/api.a1efbd0d.js → dist/assets/api.c6e7e508.js

@@ -1 +1 @@
-var m=Object.defineProperty,i=Object.defineProperties;var c=Object.getOwnPropertyDescriptors;var o=Object.getOwnPropertySymbols;var u=Object.prototype.hasOwnProperty,d=Object.prototype.propertyIsEnumerable;var s=(a,e,t)=>e in a?m(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,p=(a,e)=>{for(var t in e||(e={}))u.call(e,t)&&s(a,t,e[t]);if(o)for(var t of o(e))d.call(e,t)&&s(a,t,e[t]);return a},l=(a,e)=>i(a,c(e));import{cc as r,dp as n}from"./index.c5627449.js";const b=a=>r({url:"/cbs-app/material/page",method:"post",data:a}),y=a=>new Promise(e=>{r({url:"/cbs-app/materialCategory/page",method:"post",data:l(p({},a),{rows:1e3})}).then(t=>{t!=null&&t.data&&(t.data.rows=n(t.data.rows,"subMaterialCategoryList"),e(t))}).catch(()=>{e({})})}),C=a=>r({url:"/cbs-app/material/save",method:"post",data:a}),v=a=>r({url:"/cbs-app/material/remove?id="+a,method:"post"}),f=a=>r({url:`/cbs-app/material/detail/${a}`,method:"get"}),M=a=>r({url:"/cbs-app/material/update",method:"post",data:a}),w=a=>r({url:"/cbs-app/materialCategory/page",method:"post",data:a}),D=a=>r({url:"/cbs-app/materialCategory/save",method:"post",data:a}),L=a=>r({url:"/cbs-app/materialCategory/remove?id="+a,method:"post"}),P=a=>r({url:"/cbs-app/materialCategory/update",method:"post",data:a});export{D as a,w as b,L as c,C as d,y as e,f,b as g,v as h,P as m,M as u};
+var m=Object.defineProperty,i=Object.defineProperties;var c=Object.getOwnPropertyDescriptors;var o=Object.getOwnPropertySymbols;var u=Object.prototype.hasOwnProperty,d=Object.prototype.propertyIsEnumerable;var s=(a,e,t)=>e in a?m(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,p=(a,e)=>{for(var t in e||(e={}))u.call(e,t)&&s(a,t,e[t]);if(o)for(var t of o(e))d.call(e,t)&&s(a,t,e[t]);return a},l=(a,e)=>i(a,c(e));import{ab as r,dp as n}from"./index.7ab37541.js";const b=a=>r({url:"/cbs-app/material/page",method:"post",data:a}),y=a=>new Promise(e=>{r({url:"/cbs-app/materialCategory/page",method:"post",data:l(p({},a),{rows:1e3})}).then(t=>{t!=null&&t.data&&(t.data.rows=n(t.data.rows,"subMaterialCategoryList"),e(t))}).catch(()=>{e({})})}),C=a=>r({url:"/cbs-app/material/save",method:"post",data:a}),v=a=>r({url:"/cbs-app/material/remove?id="+a,method:"post"}),f=a=>r({url:`/cbs-app/material/detail/${a}`,method:"get"}),M=a=>r({url:"/cbs-app/material/update",method:"post",data:a}),w=a=>r({url:"/cbs-app/materialCategory/page",method:"post",data:a}),D=a=>r({url:"/cbs-app/materialCategory/save",method:"post",data:a}),L=a=>r({url:"/cbs-app/materialCategory/remove?id="+a,method:"post"}),P=a=>r({url:"/cbs-app/materialCategory/update",method:"post",data:a});export{D as a,w as b,L as c,C as d,y as e,f,b as g,v as h,P as m,M as u};

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/api.ce1d66f7.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/constant.6600dba8.js


+ 1 - 1
dist/assets/dateUtil.aee16d5f.js → dist/assets/dateUtil.9595ef75.js

@@ -1 +1 @@
-import{d as a}from"./dayjs.min.c9c26f7d.js";const l=(r,d=[],Y="YYYY-MM-DD")=>r&&r.length?Y=="YYYY-MM-DD"?{[d[0]||"start"]:a(r[0]).isValid()?a(r[0]).format(Y)+" 00:00:00":"",[d[1]||"end"]:a(r[1]).isValid()?a(r[1]).format(Y)+" 23:59:59":""}:{[d[0]||"start"]:a(r[0]).isValid()?a(r[0]).format(Y):"",[d[1]||"end"]:a(r[1]).isValid()?a(r[1]).format(Y):""}:{},f=(r,d=[],Y="YYYY-MM-DD")=>r&&r.length?{[d[0]||"start"]:a(r[0]).isValid()?a(r[0]).format(Y):"",[d[1]||"end"]:a(r[1]).isValid()?a(r[1]).format(Y):""}:{};export{f,l as g};
+import{d as a}from"./dayjs.min.db097faa.js";const l=(r,d=[],Y="YYYY-MM-DD")=>r&&r.length?Y=="YYYY-MM-DD"?{[d[0]||"start"]:a(r[0]).isValid()?a(r[0]).format(Y)+" 00:00:00":"",[d[1]||"end"]:a(r[1]).isValid()?a(r[1]).format(Y)+" 23:59:59":""}:{[d[0]||"start"]:a(r[0]).isValid()?a(r[0]).format(Y):"",[d[1]||"end"]:a(r[1]).isValid()?a(r[1]).format(Y):""}:{},f=(r,d=[],Y="YYYY-MM-DD")=>r&&r.length?{[d[0]||"start"]:a(r[0]).isValid()?a(r[0]).format(Y):"",[d[1]||"end"]:a(r[1]).isValid()?a(r[1]).format(Y):""}:{};export{f,l as g};

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/dayjs.min.db097faa.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/detail.70783ded.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/editAndUpdate.a0c29ef0.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/editAndUpdate.a0ea4378.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/employee-tab.ce5f2b7f.js


+ 1 - 1
dist/assets/filters.cb22ede1.js → dist/assets/filters.9b0e51bb.js

@@ -1 +1 @@
-import{p as t,e,c as s,o as n,a as o}from"./constant.811f1023.js";const l=(r,i)=>{if(r&&i){let u=i.get(r);if(u)return u}return r},f=r=>r&&t&&t[r]?t[r]:r,c=r=>r&&e&&e[r]?e[r]:r,p=r=>r&&s&&s[r]?s[r]:r,m=r=>{if(r&&n&&n[r])return n[r]},T=r=>r&&o&&o[r]?o[r]:r;export{c as a,f as b,m as c,T as d,p as f,l as g};
+import{p as t,e,c as s,o as n,a as o}from"./constant.6600dba8.js";const l=(r,i)=>{if(r&&i){let u=i.get(r);if(u)return u}return r},f=r=>r&&t&&t[r]?t[r]:r,c=r=>r&&e&&e[r]?e[r]:r,p=r=>r&&s&&s[r]?s[r]:r,m=r=>{if(r&&n&&n[r])return n[r]},T=r=>r&&o&&o[r]?o[r]:r;export{c as a,f as b,m as c,T as d,p as f,l as g};

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/index.0d867e5f.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/index.15012064.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/index.218726f8.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/index.2741f562.js


+ 1 - 1
dist/assets/index.f5a988ce.js → dist/assets/index.3d0af405.js

@@ -1 +1 @@
-import{d as m,e as p,r as t,h as s,B as v,Y as h,w as x,U as g,dl as b,o as k,g as u,x as w}from"./index.c5627449.js";const B={class:"frame"},R=["src"],y=m({__name:"index",setup(S){var f,i;const o=p(),a=t(!1),c=t(null),r=t("");(f=s(o.meta))!=null&&f.frameSrc&&(r.value=(i=s(o.meta))==null?void 0:i.frameSrc);function _(){a.value=!1}function l(){g(()=>{const e=s(c);if(!e)return;const n=e;n.attachEvent?n.attachEvent("onload",()=>{_()}):e.onload=()=>{_()}})}return v(()=>{a.value=!0,l()}),(e,n)=>{const d=b;return k(),h(d,{show:a.value},{default:x(()=>[u("div",B,[u("iframe",{src:r.value,class:"frame-iframe",ref_key:"frameRef",ref:c},null,8,R)])]),_:1},8,["show"])}}});const E=w(y,[["__scopeId","data-v-86b4e8ba"]]);export{E as default};
+import{d as m,e as p,r as t,h as s,B as v,Y as h,w as x,U as g,dl as b,o as k,g as u,x as w}from"./index.7ab37541.js";const B={class:"frame"},R=["src"],y=m({__name:"index",setup(S){var f,i;const o=p(),a=t(!1),c=t(null),r=t("");(f=s(o.meta))!=null&&f.frameSrc&&(r.value=(i=s(o.meta))==null?void 0:i.frameSrc);function _(){a.value=!1}function l(){g(()=>{const e=s(c);if(!e)return;const n=e;n.attachEvent?n.attachEvent("onload",()=>{_()}):e.onload=()=>{_()}})}return v(()=>{a.value=!0,l()}),(e,n)=>{const d=b;return k(),h(d,{show:a.value},{default:x(()=>[u("div",B,[u("iframe",{src:r.value,class:"frame-iframe",ref_key:"frameRef",ref:c},null,8,R)])]),_:1},8,["show"])}}});const E=w(y,[["__scopeId","data-v-86b4e8ba"]]);export{E as default};

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/index.469bb07e.js


+ 0 - 1
dist/assets/index.46c01197.css

@@ -1 +0,0 @@
-._audioSection_1l6lr_1{position:relative;background:#f7f7f7;padding-right:20px;border-radius:12px;padding-top:24px;margin-bottom:12px}._audioSection_1l6lr_1 ._btnRemove_1l6lr_9{position:absolute;bottom:12px;right:20px}._formContainer_1l6lr_14{max-height:80vh;overflow-y:auto;padding:0 10px}

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/index.48369f2a.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/index.50ba1b99.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/index.54901f25.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/index.5969733b.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/index.5b289c06.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/index.63f539bc.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/index.6a322f2e.css


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/index.6d01a885.js


+ 1 - 1
dist/assets/index.f7484b57.js → dist/assets/index.7003dc0c.js

@@ -1 +1 @@
-import{d as n,i as e,al as o,ag as a}from"./index.c5627449.js";const i="_showContentWidth_1uy1t_1",r={showContentWidth:i},l=n({name:"the-tooltip",props:{maxWidth:{type:Number,default:300},showContentWidth:{type:Number,default:120},tipsContent:{type:String,default:""},content:{type:String,default:""},placement:{type:String,default:"top"},showArrow:{type:Boolean,default:!0},trigger:{type:String,default:"hover"}},setup(t){return()=>e(a,null,[e(o,{style:{maxWidth:t.maxWidth+"px"},trigger:t.trigger,placement:t.placement,showArrow:t.showArrow},{trigger:()=>e("p",{style:{maxWidth:t.showContentWidth+"px"},class:r.showContentWidth},[t.content]),default:()=>t.tipsContent||t.content})])}});export{l as T};
+import{d as n,i as e,ap as o,ak as a}from"./index.7ab37541.js";const i="_showContentWidth_1uy1t_1",r={showContentWidth:i},d=n({name:"the-tooltip",props:{maxWidth:{type:Number,default:300},showContentWidth:{type:Number,default:120},tipsContent:{type:String,default:""},content:{type:String,default:""},placement:{type:String,default:"top"},showArrow:{type:Boolean,default:!0},trigger:{type:String,default:"hover"}},setup(t){return()=>e(a,null,[e(o,{style:{maxWidth:t.maxWidth+"px"},trigger:t.trigger,placement:t.placement,showArrow:t.showArrow},{trigger:()=>e("p",{style:{maxWidth:t.showContentWidth+"px"},class:r.showContentWidth},[t.content]),default:()=>t.tipsContent||t.content})])}});export{d as T};

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/index.795f5706.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/index.7ab37541.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/index.7d7d9a34.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/index.87c03878.js


+ 1 - 1
dist/assets/index.42f325c2.js → dist/assets/index.88a5b593.js

@@ -1 +1 @@
-import{d as g,r as K,e as w,a as F,M as m,B as _,i,q as M,bm as P}from"./index.c5627449.js";import{S}from"./searchs.b637f0d6.js";const I="_saveForm_1s8vz_1",E={saveForm:I},D=g({name:"save-form",props:{model:{type:Object,default:{}},saveKey:{type:String,default:""}},emits:["setModel","submit","reset"],setup(o,{slots:d,attrs:c,emit:n,expose:l}){const u=K(),r=w(),t=F({searchs:null,saveKey:o.saveKey,model:{}}),f=()=>{const e=o.model,s={};for(const a in e)s[a]=null;return s};m(()=>o.saveKey,e=>{t.saveKey=e}),m(()=>o.model,e=>{t.model=e},{deep:!0});const p=()=>{const e=new S(t.saveKey||r.path);t.searchs=e;const s=e.get(t.saveKey||r.path);for(const a in s.form)if(s.form.hasOwnProperty(a)){const b=s.form[a];t.model[a]=b}n("setModel",t.model),t.saveKey&&t.searchs.update(r.path,void 0,"bind")};_(()=>{p()});const h=e=>{e&&(e.stopPropagation(),e.stopImmediatePropagation(),e.preventDefault()),t.saveKey&&t.searchs.update(r.path,void 0,"bind"),t.searchs.update(t.model,void 0,"form"),n("submit",e)},v=e=>{e&&(e.stopPropagation(),e.stopImmediatePropagation(),e.preventDefault());let s=new Event("watchStorage");window.dispatchEvent(s),y(),n("submit",e)},y=()=>{n("setModel",f()),t.searchs.update({},void 0,"form"),t.searchs.update({},void 0,"page")};return l({submit:h,reset:v}),()=>i("div",{class:["section-container section-save-form",E.saveForm]},[i(M,P({model:t.model,ref:u,inline:!0,"label-placement":"left","label-width":"auto"},c),{default:()=>[d.default&&d.default()]})])}});export{D as S};
+import{d as g,r as K,e as w,a as F,M as m,B as _,i,q as M,bq as P}from"./index.7ab37541.js";import{S}from"./searchs.b637f0d6.js";const I="_saveForm_1s8vz_1",E={saveForm:I},q=g({name:"save-form",props:{model:{type:Object,default:{}},saveKey:{type:String,default:""}},emits:["setModel","submit","reset"],setup(o,{slots:d,attrs:c,emit:n,expose:l}){const u=K(),r=w(),t=F({searchs:null,saveKey:o.saveKey,model:{}}),f=()=>{const e=o.model,s={};for(const a in e)s[a]=null;return s};m(()=>o.saveKey,e=>{t.saveKey=e}),m(()=>o.model,e=>{t.model=e},{deep:!0});const p=()=>{const e=new S(t.saveKey||r.path);t.searchs=e;const s=e.get(t.saveKey||r.path);for(const a in s.form)if(s.form.hasOwnProperty(a)){const b=s.form[a];t.model[a]=b}n("setModel",t.model),t.saveKey&&t.searchs.update(r.path,void 0,"bind")};_(()=>{p()});const h=e=>{e&&(e.stopPropagation(),e.stopImmediatePropagation(),e.preventDefault()),t.saveKey&&t.searchs.update(r.path,void 0,"bind"),t.searchs.update(t.model,void 0,"form"),n("submit",e)},v=e=>{e&&(e.stopPropagation(),e.stopImmediatePropagation(),e.preventDefault());let s=new Event("watchStorage");window.dispatchEvent(s),y(),n("submit",e)},y=()=>{n("setModel",f()),t.searchs.update({},void 0,"form"),t.searchs.update({},void 0,"page")};return l({submit:h,reset:v}),()=>i("div",{class:["section-container section-save-form",E.saveForm]},[i(M,P({model:t.model,ref:u,inline:!0,"label-placement":"left","label-width":"auto"},c),{default:()=>[d.default&&d.default()]})])}});export{q as S};

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/index.8d1fea06.js


+ 1 - 1
dist/assets/index.3bb7fd04.js → dist/assets/index.9075f712.js

@@ -1 +1 @@
-import{d as o,L as s,F as i,i as d,dt as f}from"./index.c5627449.js";import{u as l}from"./tabsView.8997c775.js";const g=o({name:"TheLink",props:{to:{type:Object,default:{}},target:{type:String,default:"_self"},authLink:{type:String,default:""}},setup(t,{slots:e}){const a=s();l().closeCurrentTab({path:t.to.path});const u=i(()=>{const n=a.getAuths.some(r=>r===t.authLink);return!!(t.authLink&&!n)});return()=>u.value?e.default&&e.default():d(f,{to:t.to,target:t.target},{default:()=>[e.default&&e.default()]})}});export{g as T};
+import{d as o,L as s,F as i,i as d,dt as f}from"./index.7ab37541.js";import{u as l}from"./tabsView.ebac4768.js";const g=o({name:"TheLink",props:{to:{type:Object,default:{}},target:{type:String,default:"_self"},authLink:{type:String,default:""}},setup(t,{slots:e}){const a=s();l().closeCurrentTab({path:t.to.path});const u=i(()=>{const n=a.getAuths.some(r=>r===t.authLink);return!!(t.authLink&&!n)});return()=>u.value?e.default&&e.default():d(f,{to:t.to,target:t.target},{default:()=>[e.default&&e.default()]})}});export{g as T};

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/index.9f05e9a7.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/index.a57b2ac6.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/index.a5bb02bf.js


+ 1 - 1
dist/assets/index.13f66739.js → dist/assets/index.a69df7dc.js

@@ -1 +1 @@
-import{d as s,e as n,c as u,z as c,i as p,N as i}from"./index.c5627449.js";const l=s({name:"Redirect",setup(){const t=n(),o=u();return c(()=>{const{params:r,query:a}=t,{path:e}=r;o.replace({path:"/"+(Array.isArray(e)?e.join("/"):e),query:a})}),()=>p(i,null,null)}});export{l as default};
+import{d as s,e as n,c as u,z as c,i as p,N as i}from"./index.7ab37541.js";const l=s({name:"Redirect",setup(){const t=n(),o=u();return c(()=>{const{params:r,query:a}=t,{path:e}=r;o.replace({path:"/"+(Array.isArray(e)?e.join("/"):e),query:a})}),()=>p(i,null,null)}});export{l as default};

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/index.adfd3448.js


+ 1 - 0
dist/assets/index.ae9fe8a9.css

@@ -0,0 +1 @@
+._questionBank_1pw3o_1 ._form_1pw3o_1 .n-form-item-blank .n-input,._questionBank_1pw3o_1 ._form_1pw3o_1 .n-form-item-blank .n-select{width:160px}._kaodian_1pw3o_5 .n-base-selection-input{color:#333!important}._kaodian_1pw3o_5 .n-base-loading.n-base-suffix,._coustomBank_1pw3o_11 .n-tabs-nav{display:none}._coustomBank_1pw3o_11 .n-tab-pane{padding-top:0}._answerItem_1pw3o_17{display:flex;align-items:center;justify-content:space-between;padding:10px 0}._answerItem_1pw3o_17:hover{background-color:#0000001a}._answerItem_1pw3o_17 ._handle_1pw3o_26{width:50px}._answerItem_1pw3o_17 ._itemContent_1pw3o_29{flex:1;padding:0 50px 0 0;display:flex;align-items:center}._juanWrap_1pw3o_35{margin-bottom:20px}._unit-test-index-editAndUpdate_1pw3o_38 ._ramdomItem_1pw3o_38{position:relative;border-radius:8px;padding:30px 10px 0}._unit-test-index-editAndUpdate_1pw3o_38 ._ramdomItem_1pw3o_38 .n-form-item-label{display:flex;flex-direction:row;align-items:center}._unit-test-index-editAndUpdate_1pw3o_38 ._ramdomItem_1pw3o_38 .n-form-item-label__asterisk{display:none}._unit-test-index-editAndUpdate_1pw3o_38 ._ramdomItem_1pw3o_38 ._kaoLabel_1pw3o_51 span{color:var(--n-asterisk-color)}._unit-test-index-editAndUpdate_1pw3o_38 ._ramdomItem_1pw3o_38:hover{background-color:#0000001a}._unit-test-index-editAndUpdate_1pw3o_38 ._ramdomItem_1pw3o_38:hover ._delIcon_1pw3o_57{visibility:visible}._unit-test-index-editAndUpdate_1pw3o_38 ._ramdomItem_1pw3o_38 ._delIcon_1pw3o_57{position:absolute;right:10px;top:6px;visibility:hidden}._selectMusicSheet_znf7e_1 .section-container.section-save-form{padding:0;margin:0}._selectMusicSheet_znf7e_1 .n-form.n-form--inline .n-form-item{width:30%}

+ 1 - 1
dist/assets/index.36d0801f.js → dist/assets/index.b08b7807.js

@@ -1 +1 @@
-import{S as l}from"./searchs.b637f0d6.js";import{d as y,e as h,a as m,r as z,B as v,bu as w,M as s,F as K,i as P,ci as b}from"./index.c5627449.js";const C=y({name:"table-container",props:{page:{type:Number,default:1,required:!0},pageSize:{type:Number,default:10},pageTotal:{type:Number,default:0},saveKey:{type:String,default:""},sync:{type:Boolean,default:!1},checkedRowKeysRef:{type:Object},pageSizes:{type:Array,default:()=>[10,20,30,40]},pageSlot:{type:Number,default:9}},emits:["update:page","update:pageSize","list"],setup(e,{slots:T,attrs:k,emit:t}){const o=h(),u=m({pageInformation:null}),g=z(0);g.value=Math.ceil(e.pageTotal/e.pageSize);const d=a=>{t("update:page",a),t("list"),i()},r=a=>{t("update:pageSize",a),t("list"),i()};v(()=>{if(e.sync){const a=new l(e.saveKey||o.path),n=a.get(e.saveKey||o.path);if(u.pageInformation=n,n&&n.page){for(const p in n.page)if(n.page.hasOwnProperty(p)&&["page","pageSize"].includes(p)){const f=n.page[p],S=`update:${p}`;t(S,f)}}e.saveKey&&a.update(o.path,void 0,"bind")}window.addEventListener("watchStorage",c)}),w(()=>{window.removeEventListener("watchStorage",c)}),s(()=>e.pageSize,()=>{g.value=Math.ceil(e.pageTotal/e.pageSize),i()}),s(()=>e.page,()=>{i()}),s(()=>e.pageTotal,()=>{g.value=Math.ceil(e.pageTotal/e.pageSize),i()}),K({get(){return e.page},set(a){t("update:page",a)}});const i=()=>{e.sync&&new l(e.saveKey||o.path).update({page:e.page,pageCount:g.value,pageSize:e.pageSize,saveKey:e.saveKey},void 0,"page")},c=()=>{let a=u.pageInformation&&u.pageInformation.page?u.pageInformation.page:null;a&&a.page&&a.page};return()=>P(b,{style:{marginTop:"12px",justifyContent:"flex-end"},page:e.page,"onUpdate:page":a=>e.page=a,displayOrder:["quick-jumper","pages","size-picker"],pageCount:g.value,showQuickJumper:!0,showSizePicker:!0,pageSize:e.pageSize,prefix:()=>`\u5171 ${e.pageTotal} \u6761`,pageSizes:e.pageSizes,onUpdatePage:d,onUpdatePageSize:r,pageSlot:e.pageSlot},null)}});export{C as P};
+import{S as l}from"./searchs.b637f0d6.js";import{d as S,e as h,a as m,r as z,B as v,by as w,M as s,F as K,i as P,cj as b}from"./index.7ab37541.js";const C=S({name:"table-container",props:{page:{type:Number,default:1,required:!0},pageSize:{type:Number,default:10},pageTotal:{type:Number,default:0},saveKey:{type:String,default:""},sync:{type:Boolean,default:!1},checkedRowKeysRef:{type:Object},pageSizes:{type:Array,default:()=>[10,20,30,40]},pageSlot:{type:Number,default:9}},emits:["update:page","update:pageSize","list"],setup(e,{slots:T,attrs:k,emit:t}){const o=h(),u=m({pageInformation:null}),g=z(0);g.value=Math.ceil(e.pageTotal/e.pageSize);const d=a=>{t("update:page",a),t("list"),i()},r=a=>{t("update:pageSize",a),t("list"),i()};v(()=>{if(e.sync){const a=new l(e.saveKey||o.path),n=a.get(e.saveKey||o.path);if(u.pageInformation=n,n&&n.page){for(const p in n.page)if(n.page.hasOwnProperty(p)&&["page","pageSize"].includes(p)){const f=n.page[p],y=`update:${p}`;t(y,f)}}e.saveKey&&a.update(o.path,void 0,"bind")}window.addEventListener("watchStorage",c)}),w(()=>{window.removeEventListener("watchStorage",c)}),s(()=>e.pageSize,()=>{g.value=Math.ceil(e.pageTotal/e.pageSize),i()}),s(()=>e.page,()=>{i()}),s(()=>e.pageTotal,()=>{g.value=Math.ceil(e.pageTotal/e.pageSize),i()}),K({get(){return e.page},set(a){t("update:page",a)}});const i=()=>{e.sync&&new l(e.saveKey||o.path).update({page:e.page,pageCount:g.value,pageSize:e.pageSize,saveKey:e.saveKey},void 0,"page")},c=()=>{let a=u.pageInformation&&u.pageInformation.page?u.pageInformation.page:null;a&&a.page&&a.page};return()=>P(b,{style:{marginTop:"12px",justifyContent:"flex-end"},page:e.page,"onUpdate:page":a=>e.page=a,displayOrder:["quick-jumper","pages","size-picker"],pageCount:g.value,showQuickJumper:!0,showSizePicker:!0,pageSize:e.pageSize,prefix:()=>`\u5171 ${e.pageTotal} \u6761`,pageSizes:e.pageSizes,onUpdatePage:d,onUpdatePageSize:r,pageSlot:e.pageSlot},null)}});export{C as P};

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/index.b620a901.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/index.b8e8e0d0.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/index.bc4b2c8c.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/index.bcc83ea8.css


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/index.d53f4843.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/index.d70e4488.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/index.d8b1df32.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 1
dist/assets/index.ded5505d.js


+ 0 - 1
dist/assets/index.e47c3930.css

@@ -1 +0,0 @@
-._questionBank_1sg8h_1 ._form_1sg8h_1 .n-form-item-blank .n-input,._questionBank_1sg8h_1 ._form_1sg8h_1 .n-form-item-blank .n-select{width:160px}._kaodian_1sg8h_5 .n-base-selection-input{color:#333!important}._kaodian_1sg8h_5 .n-base-loading.n-base-suffix,._coustomBank_1sg8h_11 .n-tabs-nav{display:none}._coustomBank_1sg8h_11 .n-tab-pane{padding-top:0}._answerItem_1sg8h_17{display:flex;align-items:center;justify-content:space-between;padding:10px 0}._answerItem_1sg8h_17:hover{background-color:#0000001a}._answerItem_1sg8h_17 ._handle_1sg8h_26{width:50px}._answerItem_1sg8h_17 ._itemContent_1sg8h_29{flex:1;padding:0 50px 0 0;display:flex;align-items:center}._juanWrap_1sg8h_35{margin-bottom:20px}._unit-test-index-editAndUpdate_1sg8h_38 ._ramdomItem_1sg8h_38{position:relative;border-radius:8px;padding:10px 10px 0}._unit-test-index-editAndUpdate_1sg8h_38 ._ramdomItem_1sg8h_38 .n-form-item-label{display:flex;flex-direction:row;align-items:center}._unit-test-index-editAndUpdate_1sg8h_38 ._ramdomItem_1sg8h_38 .n-form-item-label__asterisk{display:none}._unit-test-index-editAndUpdate_1sg8h_38 ._ramdomItem_1sg8h_38 ._kaoLabel_1sg8h_51 span{color:var(--n-asterisk-color)}._unit-test-index-editAndUpdate_1sg8h_38 ._ramdomItem_1sg8h_38:hover{background-color:#0000001a}._unit-test-index-editAndUpdate_1sg8h_38 ._ramdomItem_1sg8h_38:hover ._delIcon_1sg8h_57{visibility:visible}._unit-test-index-editAndUpdate_1sg8h_38 ._ramdomItem_1sg8h_38 ._delIcon_1sg8h_57{position:absolute;right:10px;top:6px;visibility:hidden}._selectMusicSheet_znf7e_1 .section-container.section-save-form{padding:0;margin:0}._selectMusicSheet_znf7e_1 .n-form.n-form--inline .n-form-item{width:30%}

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/index.e526b43a.js


+ 1 - 0
dist/assets/index.ec3a9d58.css

@@ -0,0 +1 @@
+._audioSection_o5wty_1{position:relative;background:#f7f7f7;padding-right:20px;border-radius:12px;padding-top:24px;margin-bottom:12px}._audioSection_o5wty_1 ._btnRemove_o5wty_9{position:absolute;bottom:12px;right:20px}._formContainer_o5wty_14{max-height:80vh;overflow-y:auto;padding:0 10px}._productModal_o5wty_19{width:auto!important;height:auto!important;max-width:initial!important}._productModal_o5wty_19 .n-dialog .n-dialog__content{height:100%}._productIframe_o5wty_27{width:1000px;height:80vh;border:none}._productModal_35hv9_1{width:auto!important;height:auto!important;max-width:initial!important}._productModal_35hv9_1 .n-dialog .n-dialog__content{height:100%}._productIframe_35hv9_9{width:1000px;height:80vh;border:none}

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/index.f50b6c8e.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/index.fbb96c23.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/instrument-list.a869434e.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/instrument-list.ad1e38f0.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/interface-log.0e1bacfd.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/interface-log.f3688144.js


+ 0 - 1
dist/assets/musicUtil.43e66385.js

@@ -1 +0,0 @@
-import{cc as e}from"./index.c5627449.js";import{a as i}from"./objectUtil.ec24ceed.js";import{c as r}from"./constant.811f1023.js";const m=t=>e({url:"/cbs-app/musicSheet/page",method:"post",data:t}),l=t=>e({url:"/cbs-app/musicSheet/save",method:"post",data:t}),d=t=>e({url:"/cbs-app/musicSheet/remove",method:"post",data:t,requestType:"form"}),h=t=>e({url:"/cbs-app/musicSheet/detail/"+t.id,method:"get",requestType:"form"}),S=t=>e({url:"/cbs-app/musicSheet/statusList",method:"post",data:t}),g=t=>e({url:"/cbs-app/musicSheet/pageByApplication",method:"post",data:t}),b=t=>e({url:"/cbs-app/musicSheetCategories/queryTree",method:"get",data:t,params:t}),A=t=>e({url:"/cbs-app/musicSheetCategories/save",method:"post",data:t}),f=t=>e({url:"/cbs-app/musicSheetCategories/update",method:"post",data:t}),v=t=>e({url:"/cbs-app/musicSheetCategories/remove?id="+t,method:"post"}),y=t=>e({url:"/cbs-app/musicSheetApplicationExtend/ownerList",method:"post",data:t}),C=t=>e({url:"/cbs-app/musicSheetApplicationExtend/save",method:"post",data:t}),L=t=>e({url:"/cbs-app/musicSheetApplicationExtend/categoryList",method:"post",data:t}),N=t=>e({url:"/cbs-app/musicSheetApplicationExtend/tagList",method:"post",data:t}),R=t=>e({url:"/cbs-app/musicSheetApplicationExtend/applicationExtendInfo",method:"post",data:t}),T=t=>e({url:"/cbs-app/musicSheetApplicationExtend/saveBatch",method:"post",data:t}),x=t=>e({url:"/cbs-app/musicSheetApplicationExtend/update",method:"post",data:t}),E=t=>e({url:"/cbs-app/musicSheetApplicationExtend/status",method:"post",data:t}),O=(t,o)=>{if(t=="PLATFORM")return;let s="";if(t&&t.userName){const p=t.applicationName;if(o=="ORG"){const a=t.organizationRole?"-"+t.organizationRole:"";s+=p+a}else if(o=="PERSON"){t!=null&&t.userName&&(s=t.userName);let a=i(t.clientType,new Map(Object.entries(r)));a=a?"-"+a:"",s+=" ("+p+a+")"}}return s};export{b as a,h as b,l as c,L as d,R as e,C as f,O as g,S as h,m as i,d as j,A as k,f as l,y as m,v as n,T as o,x as p,g as q,E as r,N as s};

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/musicUtil.a9865269.js


+ 1 - 1
dist/assets/parentLayout.90bcc247.js → dist/assets/parentLayout.5fee6532.js

@@ -1 +1 @@
-import{x as o,Y as r,W as t,o as n}from"./index.c5627449.js";const c={};function s(a,_){const e=t("router-view");return n(),r(e)}const f=o(c,[["render",s]]);export{f as default};
+import{x as o,Y as r,W as t,o as n}from"./index.7ab37541.js";const c={};function s(a,_){const e=t("router-view");return n(),r(e)}const f=o(c,[["render",s]]);export{f as default};

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/plan-detail.2f09d4a4.js


+ 1 - 1
dist/assets/searchArray.cacb4a2d.js → dist/assets/searchArray.ac70e179.js

@@ -1 +1 @@
-import{p as o,e as r,s as u,b as n,d as c,c as p,f as y,m as i,g as m,h as l,i as S,o as T,j as d,k as h,l as A,a as g,n as f,q as w,r as E,t as b,u as k,v,w as x,x as q,y as z,z as C,A as F}from"./constant.811f1023.js";function a(s){let t=[];for(let e in s)t.push({label:s[e],value:e});return t}const K=a(o),N=a(r);a(u);a(n);a(c);a(p);a(y);a(i);a(m);a(l);a(S);const V=a(T);a(d);const j=a(h),B=a(A),D=a(g);a(f);a(w);a(E);a(b);a(k);a(v);a(x);a(q);a(z);a(C);a(F);export{j as a,B as b,D as c,N as e,V as o,K as p};
+import{p as o,e as r,s as u,b as n,d as c,c as p,f as y,m as i,g as m,h as l,i as S,o as T,j as d,k as h,l as A,a as g,n as f,q as w,r as E,t as b,u as k,v,w as x,x as q,y as z,z as C,A as F}from"./constant.6600dba8.js";function a(s){let t=[];for(let e in s)t.push({label:s[e],value:e});return t}const K=a(o),N=a(r);a(u);a(n);a(c);a(p);a(y);a(i);a(m);a(l);a(S);const V=a(T);a(d);const j=a(h),B=a(A),D=a(g);a(f);a(w);a(E);a(b);a(k);a(v);a(x);a(q);a(z);a(C);a(F);export{j as a,B as b,D as c,N as e,V as o,K as p};

BIN
dist/assets/sms-top.2d70e34d.png


+ 1 - 1
dist/assets/tabsView.8997c775.js → dist/assets/tabsView.ebac4768.js

@@ -1 +1 @@
-import{y as n}from"./index.c5627449.js";import{S as r}from"./searchs.b637f0d6.js";const b=["Redirect","login"],f=new r("");function o(t){return t.filter(a=>{var s,i;return(i=(s=a==null?void 0:a.meta)==null?void 0:s.affix)!=null?i:!1})}const p=n({id:"app-tabs-view",state:()=>({tabsList:[]}),getters:{},actions:{initTabs(t){this.tabsList=t},addTabs(t){return b.includes(t.name)?!1:(this.tabsList.some(s=>s.path==t.path)||this.tabsList.push(t),!0)},closeLeftTabs(t){const a=this.tabsList.findIndex(s=>s.path==t.path);this.tabsList=this.tabsList.filter((s,i)=>{var e,h;return i>=a||((h=(e=s==null?void 0:s.meta)==null?void 0:e.affix)!=null?h:!1)})},closeRightTabs(t){const a=this.tabsList.findIndex(s=>s.path==t.path);this.tabsList=this.tabsList.filter((s,i)=>{var e,h;return i<=a||((h=(e=s==null?void 0:s.meta)==null?void 0:e.affix)!=null?h:!1)})},closeOtherTabs(t){this.tabsList=this.tabsList.filter(a=>{var s,i;return a.path==t.path||((i=(s=a==null?void 0:a.meta)==null?void 0:s.affix)!=null?i:!1)}),f.removeByOtherRouter(t.path)},closeCurrentTab(t){if(t){f.removeByRouter(t.path);const a=this.tabsList.findIndex(s=>s.path==t.path);a!=-1&&this.tabsList.splice(a,1)}},closeAllTabs(){f.removeAll(),this.tabsList=o(this.tabsList)}}});export{p as u};
+import{y as n}from"./index.7ab37541.js";import{S as r}from"./searchs.b637f0d6.js";const b=["Redirect","login"],f=new r("");function o(t){return t.filter(a=>{var s,i;return(i=(s=a==null?void 0:a.meta)==null?void 0:s.affix)!=null?i:!1})}const p=n({id:"app-tabs-view",state:()=>({tabsList:[]}),getters:{},actions:{initTabs(t){this.tabsList=t},addTabs(t){return b.includes(t.name)?!1:(this.tabsList.some(s=>s.path==t.path)||this.tabsList.push(t),!0)},closeLeftTabs(t){const a=this.tabsList.findIndex(s=>s.path==t.path);this.tabsList=this.tabsList.filter((s,i)=>{var e,h;return i>=a||((h=(e=s==null?void 0:s.meta)==null?void 0:e.affix)!=null?h:!1)})},closeRightTabs(t){const a=this.tabsList.findIndex(s=>s.path==t.path);this.tabsList=this.tabsList.filter((s,i)=>{var e,h;return i<=a||((h=(e=s==null?void 0:s.meta)==null?void 0:e.affix)!=null?h:!1)})},closeOtherTabs(t){this.tabsList=this.tabsList.filter(a=>{var s,i;return a.path==t.path||((i=(s=a==null?void 0:a.meta)==null?void 0:s.affix)!=null?i:!1)}),f.removeByOtherRouter(t.path)},closeCurrentTab(t){if(t){f.removeByRouter(t.path);const a=this.tabsList.findIndex(s=>s.path==t.path);a!=-1&&this.tabsList.splice(a,1)}},closeAllTabs(){f.removeAll(),this.tabsList=o(this.tabsList)}}});export{p as u};

+ 1 - 1
dist/assets/use-async.878a30fe.js → dist/assets/use-async.2206cb99.js

@@ -1 +1 @@
-import{e as n,B as r}from"./index.c5627449.js";import{S as o}from"./searchs.b637f0d6.js";const g=e=>{const s=n(),t=new o(s.path).get(s.path);r(()=>{e(t)})},i=(e,s="current",a)=>{const t=new o(a.path);t.update({[s]:e},void 0,"form");const c=t.get(a.path);console.log(c,"setTabsCaches")};export{g,i as s};
+import{e as n,B as r}from"./index.7ab37541.js";import{S as o}from"./searchs.b637f0d6.js";const g=e=>{const s=n(),t=new o(s.path).get(s.path);r(()=>{e(t)})},i=(e,s="current",a)=>{const t=new o(a.path);t.update({[s]:e},void 0,"form");const c=t.get(a.path);console.log(c,"setTabsCaches")};export{g,i as s};

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/assets/vuedraggable.umd.4bb236f7.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/index.html


+ 37 - 15
src/views/music-library/music-sheet/component/music-list.tsx

@@ -2,7 +2,7 @@ import SaveForm from '@/components/save-form'
 import Pagination from '@/components/pagination'
 import {
   DataTableRowKey,
-  NButton,
+  NButton, NCascader,
   NDataTable,
   NFormItem,
   NIcon,
@@ -22,7 +22,7 @@ import {
   musicSheetRemove,
   musicSheetImg,
   musicSheetStatusList,
-  musicTagPage
+  musicTagPage, musicSheetCategoriesQueryTree
 } from '../../api'
 import MusicOperation from '../modal/music-operation'
 import { subjectPage } from '@/views/system-manage/api'
@@ -39,7 +39,7 @@ import MusicCreateImg from '../modal/music-create-img'
 
 export default defineComponent({
   name: 'music-list',
-  props: ['searchId'],
+  props: ['searchId','musicCategoryId'],
   setup(props, { emit }) {
     const dialog = useDialog()
     const message = useMessage()
@@ -60,7 +60,8 @@ export default defineComponent({
         useAppId: null, //适用项目ID
         status: null, //曲目状态(0:停用,1:启用)
         appAuditFlag: null, //是否审核版本
-        categoriesId: null //是否审核版本
+        categoriesId: null, //是否审核版本
+        musicCategoryId: null //曲目分类
       },
       dataList: [] as any,
       subjectList: [] as any,
@@ -68,7 +69,7 @@ export default defineComponent({
       visiableMusic: false,
       musicOperation: 'add',
       musicData: {} as any,
-      // musicSheetCategories: [] as any,
+      musicSheetCategories: [] as any,
       musicPreview: false,
       musicScore: null as any,
       showUseProject: false, // 适用项目
@@ -117,6 +118,11 @@ export default defineComponent({
           }
         },
         {
+          title: '曲目分类',
+          minWidth: '100px',
+          key: 'musicCategoryName',
+        },
+        {
           title: '可用声部',
           minWidth: '100px',
           maxWidth: '300px',
@@ -158,7 +164,7 @@ export default defineComponent({
         },
         {
           title: '适用项目',
-          minWidth: '150px',
+          width: '300px',
           key: 'projectName',
           render(row: any) {
             return (
@@ -406,13 +412,14 @@ export default defineComponent({
     }
 
     // 获取分类
-    // const getMusicSheetCategorieList = async () => {
-    //   try {
-    //     const {data} = await musicSheetCategoriesQueryTree({enable: true})
-    //     state.musicSheetCategories = filterPointCategory(data, 'musicSheetCategoriesList')
-    //   } catch (e) {
-    //   }
-    // }
+    const getMusicSheetCategorieList = async () => {
+      try {
+        const {data} = await musicSheetCategoriesQueryTree({})
+        // state.musicSheetCategories = filterPointCategory(data, 'musicSheetCategoriesList')
+        state.musicSheetCategories = data||[]
+      } catch (e) {
+      }
+    }
 
     // 获取声部
     const initSubjectList = async () => {
@@ -471,11 +478,15 @@ export default defineComponent({
       if (props.searchId) {
         state.searchForm.categoriesId = props.searchId || null
       }
+      if (props.musicCategoryId) {
+        state.searchForm.musicCategoryId = props.musicCategoryId || null
+      }
+
 
       initSubjectList()
       initUseAppList()
+      getMusicSheetCategorieList()
       getList()
-      // getMusicSheetCategorieList()
     })
 
     return () => (
@@ -502,6 +513,17 @@ export default defineComponent({
               clearable
             />
           </NFormItem>
+          <NFormItem label="曲目分类" path="musicCategoryId">
+            <NCascader
+                valueField="id"
+                labelField="name"
+                children-field="musicSheetCategoriesList"
+                placeholder="请选择曲目分类"
+                v-model:value={state.searchForm.musicCategoryId}
+                options={state.musicSheetCategories}
+                clearable
+            />
+          </NFormItem>
           <NFormItem label="可用声部" path="musicSubject">
             <NSelect
               placeholder="请选择可用声部"
@@ -659,7 +681,7 @@ export default defineComponent({
             data={state.dataList}
             rowKey={(row: any) => row.id}
             onUpdateCheckedRowKeys={handleCheck}
-            scrollX={'2000'}
+            scrollX={'2800'}
           ></NDataTable>
           <Pagination
             v-model:page={state.pagination.page}

+ 21 - 3
src/views/music-library/music-sheet/component/music-sheet-categories-list.tsx

@@ -10,6 +10,7 @@ import {
 import { defineComponent, onMounted, reactive } from 'vue'
 import { musicSheetCategoriesQueryTree, musicSheetCategoriesRemove } from '@views/music-library/api'
 import SaveCategroyDialog from '@views/music-library/music-sheet/modal/save-categroy-dialog'
+import {getOwnerName} from "@views/music-library/musicUtil";
 
 type RowData = {
   id: string
@@ -21,9 +22,9 @@ type RowData = {
   musicSheetCategoriesList?: RowData[]
 }
 export default defineComponent({
-  emits: ['setTabName'],
+  emits: ['setTabName','jump'],
   name: 'music-category',
-  setup() {
+  setup(props, { slots, attrs, emit }) {
     const state = reactive({
       loading: false,
       pagination: {
@@ -56,6 +57,9 @@ export default defineComponent({
       getList()
     })
 
+    const jump = (param:any) => {
+      emit('jump' as any, param)
+    }
     const columns = (): DataTableColumn[] => {
       return [
         {
@@ -68,7 +72,21 @@ export default defineComponent({
         },
         {
           title: '曲目数量',
-          key: 'musicSheetNum'
+          key: 'musicSheetNum',
+          render(row: any) {
+            return <div>
+              <NButton
+                  onClick={() => {
+                    jump({
+                      tabName:'MusicList',
+                      musicCategoryId:row.id
+                    })
+                  }}
+              >
+                {row.musicSheetNum}
+              </NButton>
+              </div>
+          }
         },
         {
           title: '最后更新时间',

+ 10 - 3
src/views/music-library/music-sheet/index.tsx

@@ -10,7 +10,8 @@ export default defineComponent({
   setup() {
     const state = reactive({
       tabName: 'MusicList' as 'MusicList' | 'TagList' | 'CategroryList',
-      searchId: null
+      searchId: null,
+      musicCategoryId: null,
     })
     const route = useRoute()
     getTabsCache((val: any) => {
@@ -39,14 +40,20 @@ export default defineComponent({
                 <NTabPane name="MusicList" tab="曲目列表"
                     //v-auth="musicSheet/page1602301588206350338"
                 >
-                  <MusicList searchId={state.searchId}/>
+                  <MusicList searchId={state.searchId} musicCategoryId ={state.musicCategoryId}/>
                 </NTabPane>
                 <NTabPane
                     name="CategroryList"
                     tab="曲目分类管理"
                     //v-auth="/musicCategrory1607664813521346561"
                 >
-                  <MusicSheetCategoriesList onSetTabName={setTabName}/>
+                  <MusicSheetCategoriesList
+                      onSetTabName={setTabName}
+                      onJump={(param: any) => {
+                        state.tabName = param.tabName
+                        state.musicCategoryId = param.musicCategoryId
+                      }}
+                  />
                   {/*<TagList />*/}
                 </NTabPane>
               </NTabs>

+ 2 - 1
src/views/music-library/music-sheet/modal/music-create-img.tsx

@@ -44,8 +44,9 @@ export default defineComponent({
         : 'dev'
       const apiUrl = apiUrls[environment]
       const prefix = /(localhost|192)/.test(location.host) ? 'https://dev.kt.colexiu.com' : apiUrl
+      const xmlFileUrl = encodeURIComponent(props.xmlFileUrl)
       state.productIfameSrc =
-        prefix + `/instrument/#/product-img?xmlUrl=${props.xmlFileUrl}&isCreateImg=true&isCbs=true`
+        prefix + `/instrument/#/product-img?xmlUrl=${xmlFileUrl}&isCreateImg=true&isCbs=true`
       // state.productOpen = true
     }
     const handleProductResult = (res: MessageEvent) => {

+ 82 - 89
src/views/music-library/music-sheet/modal/music-operation.tsx

@@ -1,4 +1,4 @@
-import type { SelectOption } from 'naive-ui'
+import type {SelectOption} from 'naive-ui'
 import {
   NAlert,
   NButton,
@@ -20,20 +20,19 @@ import {
   useDialog,
   useMessage
 } from 'naive-ui'
-import { defineComponent, onMounted, onUnmounted, PropType, reactive, ref } from 'vue'
-import { musicSheetCategoriesQueryTree, musicSheetDetail, musicSheetSave } from '../../api'
+import {defineComponent, onMounted, PropType, reactive, ref} from 'vue'
+import {musicSheetCategoriesQueryTree, musicSheetDetail, musicSheetSave} from '../../api'
 import UploadFile from '@/components/upload-file'
 import styles from './index.module.less'
 import deepClone from '@/utils/deep.clone'
 import axios from 'axios'
-import { appKey, clientType, musicSheetSourceType, musicSheetType } from '@/utils/constant'
-import { getMapValueByKey, getSelectDataFromObj } from '@/utils/objectUtil'
-import { musicalInstrumentPage } from '@views/system-manage/subject-manage/api'
-import { subjectPage } from '@views/system-manage/api'
+import {appKey, clientType, musicSheetSourceType, musicSheetType} from '@/utils/constant'
+import {getMapValueByKey, getSelectDataFromObj} from '@/utils/objectUtil'
+import {musicalInstrumentPage} from '@views/system-manage/subject-manage/api'
+import {subjectPage} from '@views/system-manage/api'
 import MusicSheetOwnerDialog from '@views/music-library/music-sheet/modal/musicSheetOwnerDialog'
-import { sysApplicationPage } from '@views/menu-manage/api'
-import { filterPointCategory } from '@views/teaching-manage/unit-test'
-import { api_uploadFile } from '@/plugins/uploadFile'
+import {sysApplicationPage} from '@views/menu-manage/api'
+import {filterPointCategory} from '@views/teaching-manage/unit-test'
 import MusicCreateImg from './music-create-img'
 
 /**
@@ -475,7 +474,7 @@ export default defineComponent({
       const xmlParse = new DOMParser().parseFromString(xml, 'text/xml')
       const partList =
         xmlParse.getElementsByTagName('part-list')?.[0]?.getElementsByTagName('score-part') || []
-      const partListNames = Array.from(partList).map((item) => {
+      let partListNames = Array.from(partList).map((item) => {
         const part = item.getElementsByTagName('part-name')?.[0].textContent || ''
         return {
           value: part,
@@ -483,6 +482,10 @@ export default defineComponent({
         }
       })
 
+      partListNames = partListNames.filter(
+          (n: any) => n.value?.toLocaleUpperCase?.() != 'COMMON'
+      )
+
       if (partListNames.length > 0) {
         forms.musicSheetSoundList = forms.musicSheetSoundList.slice(0, partListNames.length)
       }
@@ -496,41 +499,15 @@ export default defineComponent({
           forms.playSpeed = 100
         }
       }
-
-      // 乐器
-      const instrumentCodeList: any = []
-      const instrumentEle = xmlParse.getElementsByTagName('virtual-instrument')
-      for (let index = 0; index < instrumentEle.length; index++) {
-        const note = instrumentEle[index]
-        const instrumentCode = note.getElementsByTagName('virtual-name')?.[0]?.textContent || ''
-        if (instrumentCode && !instrumentCodeList.includes(instrumentCode)) {
-          instrumentCodeList.push(instrumentCode)
-        }
-      }
-      const codeIdMap = new Map<string, string>()
-      state.instrumentData.forEach((data: any) => {
-        codeIdMap.set(data.code, data.id + '')
-      })
-      forms.musicalInstrumentIdList = []
-      instrumentCodeList.forEach((code: string) => {
-        if (codeIdMap.has(code)) {
-          forms.musicalInstrumentIdList.push(codeIdMap.get(code))
-        }
-      })
-
-      // 声部
-      if (forms.musicalInstrumentIdList.length > 0) {
-        showBackSubject(forms.musicalInstrumentIdList)
-      }
       return partListNames
     }
 
     // 判断选择的音轨是否在选中
     const initPartsListStatus = (track: string): any => {
-      const _names = state.partListNames.filter(
-        (n: any) => n.value?.toLocaleUpperCase?.() != 'COMMON'
-      )
-      const partListNames = deepClone(_names) || []
+      // const _names = state.partListNames.filter(
+      //   (n: any) => n.value?.toLocaleUpperCase?.() != 'COMMON'
+      // )
+      const partListNames = deepClone(state.partListNames) || []
       partListNames.forEach((item: any) => {
         const index = forms.musicSheetSoundList.findIndex((ground: any) => item.value == ground.track)
         if (index > -1 && track == item.value) {
@@ -538,11 +515,6 @@ export default defineComponent({
         } else {
           item.disabled = true
         }
-        // if (index > -1 && track != item.value) {
-        //   item.disabled = true
-        // } else {
-        //   item.disabled = false
-        // }
       })
       return partListNames || []
     }
@@ -691,11 +663,6 @@ export default defineComponent({
         const detail = props.data
         try {
           const { data } = await musicSheetDetail({ id: detail.id })
-          forms.audioType = data.audioType
-          forms.musicSheetAccompanimentList = data.musicSheetAccompanimentList
-          data.musicSheetAccompanimentList?.forEach((next: any) => {
-            state.musicSheetAccompanimentUrlList.push(next.audioFileUrl)
-          })
           forms.playMode = data.playMode
           forms.xmlFileUrl = data.xmlFileUrl
           forms.midiUrl = data.midiUrl
@@ -711,23 +678,38 @@ export default defineComponent({
           forms.musicCover = data.musicCover
           forms.remark = data.remark
           forms.status = data.status
-          forms.musicCategoryId = data.musicCategoryId
-
           forms.musicSheetType = data.musicSheetType || 'SINGLE'
-          forms.evaluationStandard = data.evaluationStandard
-          forms.musicalInstrumentIdList = data.musicalInstrumentIds.split(',') || []
-
-          forms.subjectIds = data.subjectIds?.split(',') || []
           forms.sourceType = data.sourceType
-          forms.musicSheetExtend = data.musicSheetExtend
-          forms.repeatedBeats = data.isPlayBeat
-
-
+          forms.appAuditFlag = data.appAuditFlag ? 1 : 0
+          forms.midiFileUrl = data.midiFileUrl
+          forms.subjectIds = []
+          if (data.subjectIds) {
+            const subjectIds = data.subjectIds.split(',') || []
+            subjectIds.forEach((subjectId: any) => {
+              if (!forms.subjectIds.includes(subjectId)) {
+                forms.subjectIds.push(subjectId)
+              }
+            })
+          }
+          forms.musicalInstrumentIdList = data.musicalInstrumentIds.split(',') || []
+          forms.musicCategoryId = data.musicCategoryId
+          data.musicSheetAccompanimentList?.forEach((next: any) => {
+            state.musicSheetAccompanimentUrlList.push(next.audioFileUrl)
+          })
+          forms.musicSheetAccompanimentList = data.musicSheetAccompanimentList
+          forms.audioType = data.audioType
+          forms.isPlayBeat = data.isPlayBeat
+          forms.isUseSystemBeat = data.isUseSystemBeat
           // 获取渐变 和 是否多声部
           try {
             const extConfigJson = data.extConfigJson ? JSON.parse(data.extConfigJson) : {}
             forms.graduals = extConfigJson.gradualTimes || {}
+            forms.repeatedBeats = !!extConfigJson.repeatedBeats
+
           } catch (error) {}
+          forms.evaluationStandard = data.evaluationStandard
+          forms.musicSheetExtend = data.musicSheetExtend
+
           setOwnerName()
           axios.get(data.xmlFileUrl).then((res: any) => {
             if (res?.data) {
@@ -737,10 +719,23 @@ export default defineComponent({
               state.partListNames = getPartListNames(res?.data as any) as any
 
               // 初始化音轨和原音
-              forms.musicSheetSoundList = data.musicSheetSoundList || []
-              forms.musicSheetSoundList.forEach((next: any) => {
-                forms.multiTracksSelection.push(next.track)
+              forms.multiTracksSelection = data.multiTracksSelection?.split(',')||[]
+
+              const existSoundList = data.musicSheetSoundList || [];
+              state.partListNames.forEach((item: any) => {
+                let audioFileUrl;
+                existSoundList.forEach((next: any) => {
+                  if(next.track == item.value){
+                    audioFileUrl = next.audioFileUrl
+                  }
+                })
+                forms.musicSheetSoundList.push({
+                  audioFileUrl: audioFileUrl, // 原音
+                  track: item.value, // 轨道
+                })
               })
+
+
             }
           })
         } catch (error) {}
@@ -785,7 +780,7 @@ export default defineComponent({
                 <NInput
                   v-model:value={forms.name}
                   placeholder="请输入曲目名称"
-                  maxlength={25}
+                  maxlength={50}
                   showCount
                 />
               </NFormItemGi>
@@ -825,7 +820,8 @@ export default defineComponent({
                 rule={[
                   {
                     required: true,
-                    message: '请上传曲目封面'
+                    message: '请上传曲目封面',
+                    trigger:['input','blur']
                   }
                 ]}
               >
@@ -857,7 +853,8 @@ export default defineComponent({
                 rule={[
                   {
                     required: true,
-                    message: '请选择曲目类型'
+                    message: '请选择曲目类型',
+                    trigger:'change'
                   }
                 ]}
               >
@@ -874,7 +871,8 @@ export default defineComponent({
                 rule={[
                   {
                     required: true,
-                    message: '请选择作者属性'
+                    message: '请选择作者属性',
+                    trigger:'change'
                   }
                 ]}
               >
@@ -902,7 +900,8 @@ export default defineComponent({
                   rule={[
                     {
                       required: true,
-                      message: '请选择曲目所属人'
+                      message: '请选择曲目所属人',
+                      trigger:['input','change']
                     }
                   ]}
                 >
@@ -927,7 +926,8 @@ export default defineComponent({
                   rule={[
                     {
                       required: true,
-                      message: '请选择曲目所属机构'
+                      message: '请选择曲目所属机构',
+                      trigger:['input','change']
                     }
                   ]}
                 >
@@ -969,7 +969,9 @@ export default defineComponent({
                 rule={[
                   {
                     required: true,
-                    message: '请选择曲目所属人'
+                    message: '请选择审核版本',
+                    trigger:'change',
+                    type:'number'
                   }
                 ]}
               >
@@ -994,7 +996,7 @@ export default defineComponent({
                              {
                                required: true,
                                message: '请选择曲目分类',
-                               trigger: ['input', 'blur']
+                               trigger: ['change']
                              }
                            ]}
               >
@@ -1223,7 +1225,9 @@ export default defineComponent({
                 rule={[
                   {
                     required: true,
-                    message: '请选择可用乐器'
+                    message: '请选择可用乐器',
+                    trigger: 'change',
+                    type: 'array'
                   }
                 ]}
               >
@@ -1248,7 +1252,9 @@ export default defineComponent({
                       required: true,
                       message: `请选择${
                         forms.musicSheetType === 'SINGLE' ? '页面渲染声轨' : '用户可切换声轨'
-                      }`
+                      }`,
+                      trigger:'change',
+                      type:'array'
                     }
                   ]}
                 >
@@ -1309,7 +1315,7 @@ export default defineComponent({
               {forms.isPlayBeat && (
                 <NFormItemGi
                   label="播放方式"
-                  path="audioType"
+                  path="isUseSystemBeat"
                   rule={[
                     {
                       required: true,
@@ -1352,7 +1358,7 @@ export default defineComponent({
                             <UploadFile
                               desc={'原音文件'}
                               disabled={state.previewMode}
-                              size={10}
+                              size={100}
                               v-model:fileList={item.audioFileUrl}
                               tips="仅支持上传.mp3格式文件"
                               listType="image"
@@ -1383,19 +1389,6 @@ export default defineComponent({
                       )}
                   </>
                 ))}
-
-                <NButton
-                  type="primary"
-                  dashed
-                  block
-                  disabled={state.partListNames.length <= forms.musicSheetSoundList.length}
-                  style={{
-                    marginBottom: '24px'
-                  }}
-                  onClick={createSys}
-                >
-                  添加原音
-                </NButton>
               </>
             )}
           </NForm>

+ 2 - 0
src/views/music-library/music-sheet/modal/musicSheetOwnerDialog.tsx

@@ -96,6 +96,8 @@ export default defineComponent({
         } else {
           state.searchForm.applicationId = state.appData[0].value
         }
+        state.searchForm.orgName = null
+        state.searchForm.name = null
       }
 
       getList()

+ 93 - 55
src/views/music-library/music-sheet/modal/use-project.tsx

@@ -9,12 +9,12 @@ import {
   NFormItem,
   NInputNumber,
   NSelect,
-  NSpace,
+  NSpace, NSpin,
   NTabPane,
   NTabs,
   useMessage
 } from 'naive-ui'
-import { appKey, musicSheetAvailableType, musicSheetPaymentType } from '@/utils/constant'
+import {appKey, musicSheetAvailableType, musicSheetPaymentType, musicSheetType} from '@/utils/constant'
 import {
   musicSheetApplicationExtendCategoryApplicationExtendInfo,
   musicSheetApplicationExtendCategoryList,
@@ -57,8 +57,8 @@ export default defineComponent({
         },
         KLX: {
           availableType: null as any, //可用途径 ORG 机构 PLATFORM 平台
-          musicSheetCategoryId: null as any,
-          paymentType: null as any, // 是否收费
+          musicTagIds: null as any,
+          paymentType: [] as any, // 是否收费
           musicPrice: null as any, // 曲目价格
           topFlag: null as any, // 是否置顶(0:否;1:是)
           exquisiteFlag: null as any, // 精品标志
@@ -96,7 +96,7 @@ export default defineComponent({
       ]
       for (let i = 0; i < fieldList.length; i++) {
         const fieldValue = app[fieldList[i]]
-        if (fieldValue) {
+        if (fieldValue != null && fieldValue != undefined && fieldValue != '') {
           return true
         }
       }
@@ -219,7 +219,7 @@ export default defineComponent({
         data.forEach((next: any) => {
           const key = next.appKey
           if (key === 'GYM') {
-            forms.useProjectParamConfig[key]['musicSheetCategoryId'] = next.musicSheetCategories
+            forms.useProjectParamConfig[key]['musicSheetCategoryId'] = next.musicSheetCategoryId
             forms.useProjectParamConfig[key]['sortNo'] = next.sortNo
             forms.useProjectParamConfig[key]['paymentType'] = next.paymentType
           } else if (key === 'GYT') {
@@ -227,8 +227,8 @@ export default defineComponent({
             forms.useProjectParamConfig[key]['sortNo'] = next.sortNo
           } else if (key === 'KLX') {
             forms.useProjectParamConfig[key]['availableType'] = next.availableType
-            forms.useProjectParamConfig[key]['musicSheetCategoryId'] = next.musicSheetCategoryId
-            forms.useProjectParamConfig[key]['paymentType'] = next.paymentType
+            forms.useProjectParamConfig[key]['musicTagIds'] = next.musicTagIds?.split(',')||[]
+            forms.useProjectParamConfig[key]['paymentType'] = next.paymentType?.split(',')||[]
             forms.useProjectParamConfig[key]['musicPrice'] = next.musicPrice
             forms.useProjectParamConfig[key]['topFlag'] = next.topFlag
             forms.useProjectParamConfig[key]['exquisiteFlag'] = next.exquisiteFlag
@@ -277,8 +277,13 @@ export default defineComponent({
                   return !(val === null || val === undefined || val === '')
                 })
                 if (every) {
+                 let appData = value as any;
+                  if (appKey === 'KLX') {
+                    appData['musicTagIds'] = appData['musicTagIds'].join(',')
+                    appData['paymentType'] = appData['paymentType'].join(',')
+                  }
                   applicationExtends.push({
-                    ...value,
+                    ...appData,
                     musicSheetId: props.id,
                     applicationId: appKeyIdMap.get(key)
                   })
@@ -304,7 +309,7 @@ export default defineComponent({
     }
 
     return () => (
-      <div>
+      <NSpin show={state.loading}>
         <NForm
           class={styles.formContainer}
           model={forms}
@@ -320,7 +325,7 @@ export default defineComponent({
             path="useApplicationIds"
             rule={[
               {
-                required: true,
+                required: false,
                 message: '请选择适用应用'
               }
             ]}
@@ -375,7 +380,8 @@ export default defineComponent({
                           rule={[
                             {
                               required: gymFileRequire.value,
-                              message: '请选择曲目分类'
+                              message: '请选择曲目分类',
+                              trigger:'change',
                             }
                           ]}
                         >
@@ -396,7 +402,8 @@ export default defineComponent({
                           rule={[
                             {
                               required: gymFileRequire.value,
-                              message: '请选择收费类型'
+                              message: '请选择收费类型',
+                              trigger:'change'
                             }
                           ]}
                         >
@@ -404,7 +411,16 @@ export default defineComponent({
                             placeholder="请选择收费类型"
                             clearable
                             v-model:value={forms.useProjectParamConfig.GYM.paymentType}
-                            options={getSelectDataFromObj(musicSheetPaymentType)}
+                            options={[
+                              {
+                                label:'免费',
+                                value:'FREE'
+                              },
+                              {
+                                label:'收费',
+                                value:'CHARGE'
+                              }
+                            ]}
                           ></NSelect>
                         </NFormItem>
                         <NFormItem label="排序值" path="useProjectParamConfig.GYM.sortNo">
@@ -427,7 +443,8 @@ export default defineComponent({
                           rule={[
                             {
                               required: gytFileRequire.value,
-                              message: '请选择分类'
+                              message: '请选择分类',
+                              trigger:'change'
                             }
                           ]}
                         >
@@ -461,7 +478,8 @@ export default defineComponent({
                           rule={[
                             {
                               required: klxFileRequire.value,
-                              message: '请选择可用途径'
+                              message: '请选择可用途径',
+                              trigger:'change'
                             }
                           ]}
                         >
@@ -474,19 +492,25 @@ export default defineComponent({
                         </NFormItem>
                         <NFormItem
                           label="曲目标签"
-                          path="useProjectParamConfig.KLX.musicSheetCategoryId"
+                          path="useProjectParamConfig.KLX.musicTagIds"
                           rule={[
                             {
                               required: klxFileRequire.value,
-                              message: '请选择曲目标签'
+                              message: '请选择曲目标签',
+                              trigger:'change',
+                              type:'array'
                             }
                           ]}
                         >
                           <NSelect
                             placeholder="请选择曲目标签"
                             clearable
-                            v-model:value={forms.useProjectParamConfig.KLX.musicSheetCategoryId}
-                            options={[]}
+                            multiple
+                            labelField={'name'}
+                            valueField={'id'}
+                            v-model:value={forms.useProjectParamConfig.KLX.musicTagIds}
+                            options={state.musicSheetCategoryOptions.KLX}
+                            maxTagCount={3}
                           ></NSelect>
                         </NFormItem>
                         <NFormItem
@@ -495,7 +519,9 @@ export default defineComponent({
                           rule={[
                             {
                               required: klxFileRequire.value,
-                              message: '请选择是否收费'
+                              message: '请选择是否收费',
+                              trigger:'change',
+                              type:'array'
                             }
                           ]}
                         >
@@ -503,41 +529,51 @@ export default defineComponent({
                             placeholder="请选择是否收费"
                             clearable
                             v-model:value={forms.useProjectParamConfig.KLX.paymentType}
-                            options={[
-                              {
-                                label: '是',
-                                value: 1
-                              },
-                              {
-                                label: '否',
-                                value: 0
+                            options={getSelectDataFromObj(musicSheetPaymentType)}
+                            multiple
+                            onUpdate:value={() => {
+                              const free = 'FREE'
+                              if(forms.useProjectParamConfig.KLX.paymentType[forms.useProjectParamConfig.KLX.paymentType.length - 1] == free) {
+                                forms.useProjectParamConfig.KLX.paymentType = [free]
+                              } else if (forms.useProjectParamConfig.KLX.paymentType.length > 1 && forms.useProjectParamConfig.KLX.paymentType.includes(free)) {
+                                forms.useProjectParamConfig.KLX.paymentType.splice(forms.useProjectParamConfig.KLX.paymentType.indexOf(free), 1)
                               }
-                            ]}
+                              if (!forms.useProjectParamConfig.KLX.paymentType.includes('CHARGE')) {
+                                forms.useProjectParamConfig.KLX.musicPrice = 0
+                              }
+                            }}
                           ></NSelect>
                         </NFormItem>
-                        <NFormItem
-                          label="曲目价格"
-                          path="useProjectParamConfig.KLX.musicPrice"
-                          rule={[
-                            {
-                              required: klxFileRequire.value,
-                              message: '请输入曲目价格'
-                            }
-                          ]}
-                        >
-                          <NInputNumber
-                            style={'width:100%'}
-                            placeholder="请输入曲目价格"
-                            v-model:value={forms.useProjectParamConfig.KLX.musicPrice}
-                          />
-                        </NFormItem>
+                        {forms.useProjectParamConfig.KLX.paymentType?.includes('CHARGE') && (
+                            <NFormItem
+                                label="曲目价格"
+                                path="useProjectParamConfig.KLX.musicPrice"
+                                rule={[
+                                  {
+                                    required: klxFileRequire.value,
+                                    message: '请输入曲目价格',
+                                    trigger: ['input', 'blur'],
+                                    type: 'number'
+                                  }
+                                ]}
+                            >
+                              <NInputNumber
+                                  style={'width:100%'}
+                                  placeholder="请输入曲目价格"
+                                  v-model:value={forms.useProjectParamConfig.KLX.musicPrice}
+                              />
+                            </NFormItem>
+                        )
+                        }
                         <NFormItem
                           label="是否置顶"
                           path="useProjectParamConfig.KLX.topFlag"
                           rule={[
                             {
                               required: klxFileRequire.value,
-                              message: '请选择是否置顶'
+                              message: '请选择是否置顶',
+                              trigger:'change',
+                              type:'boolean'
                             }
                           ]}
                         >
@@ -548,13 +584,13 @@ export default defineComponent({
                             options={[
                               {
                                 label: '是',
-                                value: 1
+                                value: true
                               },
                               {
                                 label: '否',
-                                value: 0
+                                value: false
                               }
-                            ]}
+                            ] as any}
                           ></NSelect>
                         </NFormItem>
                         <NFormItem
@@ -563,7 +599,9 @@ export default defineComponent({
                           rule={[
                             {
                               required: klxFileRequire.value,
-                              message: '请选择是否精品乐谱'
+                              message: '请选择是否精品乐谱',
+                              trigger:'change',
+                              type:'boolean'
                             }
                           ]}
                         >
@@ -574,13 +612,13 @@ export default defineComponent({
                             options={[
                               {
                                 label: '是',
-                                value: 1
+                                value: true
                               },
                               {
                                 label: '否',
-                                value: 0
+                                value: false
                               }
-                            ]}
+                            ] as any}
                           ></NSelect>
                         </NFormItem>
                         <NFormItem label="排序值" path="useProjectParamConfig.KLX.sortNo">
@@ -648,7 +686,7 @@ export default defineComponent({
             确认
           </NButton>
         </NSpace>
-      </div>
+      </NSpin>
     )
   }
 })

+ 1 - 1
src/views/music-library/musicUtil.ts

@@ -7,7 +7,7 @@ export const getOwnerName = (musicSheetExtend: any, sourceType: string) => {
   }
   let ownerName = '';
 
-  if (musicSheetExtend && musicSheetExtend.userName) {
+  if (musicSheetExtend) {
     const appName = musicSheetExtend.applicationName;
     if (sourceType == 'ORG') {
       const organizationRole = musicSheetExtend.organizationRole ? '-' + musicSheetExtend.organizationRole : '';

+ 37 - 6
src/views/music-library/project-music-sheet/module/gym/addMusic.tsx

@@ -21,7 +21,7 @@ import {
 import Pagination from '@components/pagination'
 import { getMapValueByKey, getSelectDataFromObj } from '@/utils/objectUtil'
 import { musicSheetPaymentType, musicSheetSourceType, musicSheetType } from '@/utils/constant'
-import { musicSheetApplicationExtendSaveBatch, musicSheetPage } from '@views/music-library/api'
+import {musicSheetApplicationExtendCategoryList, musicSheetApplicationExtendSaveBatch, musicSheetPage} from '@views/music-library/api'
 import deepClone from '@/utils/deep.clone'
 import { getOwnerName } from '@views/music-library/musicUtil'
 import TheTooltip from '@/components/TheTooltip'
@@ -75,10 +75,23 @@ export default defineComponent({
       globalPaymentType: null as any //收费方式
     })
 
-    onMounted(() => {
+    onMounted(async () => {
+      state.loading = true
       state.subjectList = props.subjectList
-      state.musicSheetCategories = props.musicSheetCategories
-      getList()
+      // state.musicSheetCategories = props.musicSheetCategories
+
+      //加载曲目分类列表
+      try {
+        const {data} = await musicSheetApplicationExtendCategoryList({
+          applicationIds: props.appId
+        })
+        if (data && data.length > 0) {
+          state.musicSheetCategories = data[0].musicSheetCategories
+        }
+      } catch {
+      }
+
+      await getList()
     })
 
     const getList = async () => {
@@ -306,7 +319,16 @@ export default defineComponent({
                               state.globalPaymentType = v
                             },
                             clearable: true,
-                            options: getSelectDataFromObj(musicSheetPaymentType)
+                            options: [
+                              {
+                                label:'免费',
+                                value:'FREE'
+                              },
+                              {
+                                label:'收费',
+                                value:'CHARGE'
+                              }
+                            ]
                           })
                         ]
                       )
@@ -342,7 +364,16 @@ export default defineComponent({
             <NSelect
               placeholder="请选择收费方式"
               value={row.paymentType}
-              options={getSelectDataFromObj(musicSheetPaymentType)}
+              options={[
+                {
+                  label:'免费',
+                  value:'FREE'
+                },
+                {
+                  label:'收费',
+                  value:'CHARGE'
+                }
+              ]}
               clearable
               onUpdateValue={(value) => {
                 row['paymentType'] = value

+ 4 - 4
src/views/music-library/project-music-sheet/module/gym/music-sheet-gym.tsx

@@ -29,7 +29,7 @@ import {
   musicSheetType
 } from '@/utils/constant'
 import {
-  musicSheetApplicationExtendCategoryList,
+  musicSheetApplicationExtendCategoryList, musicSheetApplicationExtendStatus,
   musicSheetApplicationOwnerList,
   musicSheetPageByApplication,
   musicSheetStatusList
@@ -186,7 +186,7 @@ export default defineComponent({
         negativeText: '取消',
         onPositiveClick: async () => {
           try {
-            await musicSheetStatusList({
+            await musicSheetApplicationExtendStatus({
               ids: row.applicationExtendId,
               status: !row.status
             })
@@ -210,7 +210,7 @@ export default defineComponent({
         negativeText: '取消',
         onPositiveClick: async () => {
           try {
-            await musicSheetStatusList({
+            await musicSheetApplicationExtendStatus({
               ids: checkedRowKeysRef.value.join(','),
               status: status
             })
@@ -553,7 +553,7 @@ export default defineComponent({
               data={state.dataList}
               rowKey={(row: any) => row.applicationExtendId}
               onUpdateCheckedRowKeys={handleCheck}
-              scrollX={'1600'}
+              scrollX={'2100'}
             ></NDataTable>
 
             <Pagination

+ 10 - 1
src/views/music-library/project-music-sheet/module/gym/updateMusic.tsx

@@ -117,7 +117,16 @@ export default defineComponent({
               >
                 <NSelect
                     placeholder="请选择收费方式"
-                    options={getSelectDataFromObj(musicSheetPaymentType)}
+                    options={[
+                      {
+                        label:'免费',
+                        value:'FREE'
+                      },
+                      {
+                        label:'收费',
+                        value:'CHARGE'
+                      }
+                    ]}
                     v-model:value={forms.paymentType}
                     clearable
                 />

+ 15 - 4
src/views/music-library/project-music-sheet/module/gyt/addMusic.tsx

@@ -21,7 +21,7 @@ import {
 import Pagination from '@components/pagination'
 import { getMapValueByKey, getSelectDataFromObj } from '@/utils/objectUtil'
 import { musicSheetSourceType, musicSheetType } from '@/utils/constant'
-import { musicSheetApplicationExtendSaveBatch, musicSheetPage } from '@views/music-library/api'
+import {musicSheetApplicationExtendCategoryList, musicSheetApplicationExtendSaveBatch, musicSheetPage} from '@views/music-library/api'
 import deepClone from '@/utils/deep.clone'
 import { getOwnerName } from '@views/music-library/musicUtil'
 import TheTooltip from "@components/TheTooltip";
@@ -74,10 +74,21 @@ export default defineComponent({
       projectMusicCategoryId: null as any // 曲目分类ID
     })
 
-    onMounted(() => {
+    onMounted(async () => {
+      state.loading = true
       state.subjectList = props.subjectList
-      state.musicSheetCategories = props.musicSheetCategories
-      getList()
+      // state.musicSheetCategories = props.musicSheetCategories
+      //加载曲目分类列表
+      try {
+        const {data} = await musicSheetApplicationExtendCategoryList({
+          applicationIds: props.appId
+        })
+        if (data && data.length > 0) {
+          state.musicSheetCategories = data[0].musicSheetCategories
+        }
+      } catch {
+      }
+      await getList()
     })
 
     const getList = async () => {

+ 12 - 39
src/views/music-library/project-music-sheet/module/gyt/music-sheet-gyt.tsx

@@ -1,43 +1,16 @@
-import { defineComponent, onMounted, reactive, ref } from 'vue'
+import {defineComponent, onMounted, reactive, ref} from 'vue'
 import SaveForm from '@components/save-form'
-import {
-  DataTableRowKey,
-  NButton,
-  NCascader,
-  NDataTable,
-  NDatePicker,
-  NDescriptions,
-  NDescriptionsItem,
-  NFormItem,
-  NImage,
-  NInput,
-  NModal,
-  NSelect,
-  NSpace,
-  NTag,
-  useDialog,
-  useMessage
-} from 'naive-ui'
+import {DataTableRowKey, NButton, NCascader, NDataTable, NDatePicker, NDescriptions, NDescriptionsItem, NFormItem, NImage, NInput, NModal, NSelect, NSpace, NTag, useDialog, useMessage} from 'naive-ui'
 import Pagination from '@components/pagination'
 import TheTooltip from '@components/TheTooltip'
-import AddMusic from '@views/music-library/project-music-sheet/module/gym/addMusic'
-import { getMapValueByKey, getSelectDataFromObj } from '@/utils/objectUtil'
-import {
-  musicSheetAudioType,
-  musicSheetPaymentType,
-  musicSheetSourceType,
-  musicSheetType
-} from '@/utils/constant'
-import {
-  musicSheetApplicationExtendCategoryList,
-  musicSheetApplicationOwnerList,
-  musicSheetPageByApplication,
-  musicSheetStatusList
-} from '@views/music-library/api'
-import { subjectPage, sysApplicationPage } from '@views/system-manage/api'
-import { filterTimes } from '@/utils/dateUtil'
+import AddMusic from '@views/music-library/project-music-sheet/module/gyt/addMusic'
+import {getMapValueByKey, getSelectDataFromObj} from '@/utils/objectUtil'
+import {musicSheetAudioType, musicSheetPaymentType, musicSheetSourceType, musicSheetType} from '@/utils/constant'
+import {musicSheetApplicationExtendCategoryList, musicSheetApplicationExtendStatus, musicSheetApplicationOwnerList, musicSheetPageByApplication} from '@views/music-library/api'
+import {subjectPage, sysApplicationPage} from '@views/system-manage/api'
+import {filterTimes} from '@/utils/dateUtil'
 import deepClone from '@/utils/deep.clone'
-import { getOwnerName } from '@views/music-library/musicUtil'
+import {getOwnerName} from '@views/music-library/musicUtil'
 import UpdateMusic from '@views/music-library/project-music-sheet/module/gyt/updateMusic'
 
 export default defineComponent({
@@ -184,7 +157,7 @@ export default defineComponent({
         negativeText: '取消',
         onPositiveClick: async () => {
           try {
-            await musicSheetStatusList({
+            await musicSheetApplicationExtendStatus({
               ids: row.applicationExtendId,
               status: !row.status
             })
@@ -208,7 +181,7 @@ export default defineComponent({
         negativeText: '取消',
         onPositiveClick: async () => {
           try {
-            await musicSheetStatusList({
+            await musicSheetApplicationExtendStatus({
               ids: checkedRowKeysRef.value.join(','),
               status: status
             })
@@ -551,7 +524,7 @@ export default defineComponent({
               data={state.dataList}
               rowKey={(row: any) => row.applicationExtendId}
               onUpdateCheckedRowKeys={handleCheck}
-              scrollX={'1600'}
+              scrollX={'2100'}
             ></NDataTable>
 
             <Pagination

+ 69 - 17
src/views/music-library/project-music-sheet/module/klx/addMusic.tsx

@@ -25,7 +25,7 @@ import {
   musicSheetSourceType,
   musicSheetType
 } from '@/utils/constant'
-import { musicSheetApplicationExtendSaveBatch, musicSheetPage } from '@views/music-library/api'
+import {musicSheetApplicationExtendSaveBatch, musicSheetApplicationExtendTagList, musicSheetPage} from '@views/music-library/api'
 import deepClone from '@/utils/deep.clone'
 import { getOwnerName } from '@views/music-library/musicUtil'
 import TheTooltip from "@components/TheTooltip";
@@ -85,10 +85,26 @@ export default defineComponent({
       globalStartSortNum: null as any // 排序起始值
     })
 
-    onMounted(() => {
+    onMounted(async () => {
+      state.loading = true
       state.subjectList = props.subjectList
-      state.musicSheetTagList = props.musicSheetTagList
-      getList()
+      // state.musicSheetTagList = props.musicSheetTagList
+      // 加载曲目标签
+
+      try {
+        const {data} = await musicSheetApplicationExtendTagList({applicationId: props.appId})
+        if (data && data.length > 0) {
+          data.forEach((item: any) => {
+            state.musicSheetTagList.push({
+              ...item,
+              label: item.name,
+              value: item.id
+            })
+          })
+        }
+      } catch (err) {
+      }
+      await getList()
     })
 
     const getList = async () => {
@@ -135,10 +151,10 @@ export default defineComponent({
           message.error('收费方式不能为空')
           return
         }
-        if (item.paymentType === 'FREE') {
+        if (!item.paymentType.includes('CHARGE')) {
           item.musicPrice = 0
         } else {
-          if (!item.musicPrice) {
+          if (item.musicPrice === null || item.musicPrice === undefined || item.musicPrice==='') {
             message.error('曲目价格不能为空')
             return
           }
@@ -156,15 +172,15 @@ export default defineComponent({
           return
         }
 
-        if (!item.sortNo) {
+        if (item.sortNo === null || item.sortNo === undefined || item.sortNo === '') {
           message.error('排序号不能为空')
           return
         }
         params.push({
           ...item,
           musicSheetId: item.id,
-          // musicSheetCategoryId: item.projectMusicCategoryId,
           applicationId: props.appId,
+          paymentType: item.paymentType.join(','),
           musicTagIds: item.musicTagIds.join(','),
           id: null
         })
@@ -294,6 +310,7 @@ export default defineComponent({
           )
         },
         key: 'musicTagIds',
+        width:'180px',
         render: (row: any) => {
           // })
           return (
@@ -332,12 +349,24 @@ export default defineComponent({
                         },
                         [
                           h(NSelect, {
-                            onUpdateValue(v) {
-                              state.globalPaymentType = v
-                            },
+                                value: state.globalPaymentType,
+                                onUpdateValue(v) {
+                                  state.globalPaymentType = v
+                                  const free = 'FREE'
+                                  if (state.globalPaymentType[state.globalPaymentType.length - 1] == free) {
+                                    state.globalPaymentType = [free]
+                                    return
+                                  }
+                                  if (state.globalPaymentType.length > 1 && state.globalPaymentType.includes(free)) {
+                                    state.globalPaymentType.splice(state.globalPaymentType.indexOf(free), 1)
+                                  }
+
+                                },
+                            multiple: true,
                             clearable: true,
                             options: getSelectDataFromObj(musicSheetPaymentType)
-                          })
+                          }
+                          )
                         ]
                       )
                     },
@@ -347,6 +376,10 @@ export default defineComponent({
                       for (let i = 0; i < state.selectRowData.length; i++) {
                         const item = state.selectRowData[i]
                         item.paymentType = state.globalPaymentType
+                        if (!state.globalPaymentType.includes("CHARGE")) {
+                          item.musicPrice = 0
+                          item.musicPriceDisable = true
+                        }
                       }
                     }
                   })
@@ -366,15 +399,27 @@ export default defineComponent({
           )
         },
         key: 'paymentType',
+        width:'180px',
         render: (row: any) => {
           return (
             <NSelect
               placeholder="请选择收费方式"
-              value={row.paymentType}
+              value={row.paymentType as []}
               options={getSelectDataFromObj(musicSheetPaymentType)}
               clearable
-              onUpdateValue={(value) => {
-                row['paymentType'] = value
+              multiple
+              maxTagCount={1}
+              onUpdate:value={(value) => {
+                row.paymentType = value
+                const free = 'FREE'
+                if (row.paymentType[row.paymentType.length - 1] == free) {
+                  row.paymentType = [free]
+                } else if (row.paymentType.length > 1 && row.paymentType.includes(free)) {
+                  row.paymentType.splice(row.paymentType.indexOf(free), 1)
+                }
+                if (!row.paymentType.includes("CHARGE")) {
+                  row.musicPrice = 0
+                }
               }}
             />
           )
@@ -417,7 +462,9 @@ export default defineComponent({
                       if (state.globalMusicPrice) {
                         for (let i = 0; i < state.selectRowData.length; i++) {
                           const item = state.selectRowData[i]
-                          item.musicPrice = state.globalMusicPrice
+                          if (item.paymentType.includes("CHARGE")) { // 只修改包含单曲收费,则价格为0
+                            item.musicPrice = state.globalMusicPrice
+                          }
                         }
                       }
                     }
@@ -443,6 +490,7 @@ export default defineComponent({
             value: row.musicPrice,
             min: 0,
             max: 9999,
+            disabled: !row.paymentType?.includes('CHARGE'),
             onUpdateValue(value: any) {
               row['musicPrice'] = value
             }
@@ -827,7 +875,11 @@ export default defineComponent({
             return row.id === next.id
           })
           if (!find) {
-            state.selectRowData.push(next)
+            state.selectRowData.push({
+              ...next,
+              paymentType: [] as any,
+              musicPriceDisable: false // 默认可以编辑曲目价格
+            })
           }
         }
       })

+ 13 - 2
src/views/music-library/project-music-sheet/module/klx/music-sheet-klx.tsx

@@ -226,6 +226,17 @@ export default defineComponent({
       })
     }
 
+    const getPaymentType = (paymentType: any) => {
+      const paymentTypeName = []
+      if (paymentType && paymentType.length > 0) {
+        for (let i = 0; i < paymentType.length; i++) {
+          const name = getMapValueByKey(paymentType[i], new Map(Object.entries(musicSheetPaymentType)))
+          paymentTypeName.push(name)
+        }
+      }
+      return paymentTypeName.join(',');
+    }
+
     const columns = (): any => {
       return [
         {
@@ -332,7 +343,7 @@ export default defineComponent({
           render: (row: any) => {
             return (
               <div>
-                {getMapValueByKey(row.paymentType, new Map(Object.entries(musicSheetPaymentType)))}
+                {getPaymentType(row.paymentType?.split(','))}
               </div>
             )
           }
@@ -582,7 +593,7 @@ export default defineComponent({
               data={state.dataList}
               rowKey={(row: any) => row.applicationExtendId}
               onUpdateCheckedRowKeys={handleCheck}
-              scrollX={'1600'}
+              scrollX={'2100'}
             ></NDataTable>
 
             <Pagination

+ 34 - 19
src/views/music-library/project-music-sheet/module/klx/updateMusic.tsx

@@ -27,7 +27,7 @@ export default defineComponent({
     const forms = reactive({
       musicTagIds: [] as any,
       sortNo: null as any,
-      paymentType: null as any,
+      paymentType: [] as any,
       musicPrice: null as any,
       availableType: null as any,
       topFlag: null as any,
@@ -50,7 +50,7 @@ export default defineComponent({
       }
       forms.musicTagIds = data[0].musicTagIds?.split(',')
       forms.sortNo = data[0].sortNo
-      forms.paymentType = data[0].paymentType
+      forms.paymentType = data[0].paymentType?.split(',')
       forms.musicPrice = data[0].musicPrice
       forms.availableType = data[0].availableType
       forms.topFlag = data[0].topFlag
@@ -67,6 +67,7 @@ export default defineComponent({
                 ...forms,
                 musicSheetId: state.rowData.id,
                 musicTagIds: forms.musicTagIds.join(','),
+                paymentType: forms.paymentType.join(','),
                 applicationId: props.appId
               }
           ) as any;
@@ -123,27 +124,41 @@ export default defineComponent({
                     placeholder="请选择收费方式"
                     options={getSelectDataFromObj(musicSheetPaymentType)}
                     v-model:value={forms.paymentType}
+                    multiple
+                    onUpdate:value={() => {
+                      const free = 'FREE'
+                      if (forms.paymentType[forms.paymentType.length - 1] == free) {
+                        forms.paymentType = [free]
+                      } else if (forms.paymentType.length > 1 && forms.paymentType.includes(free)) {
+                        forms.paymentType.splice(forms.paymentType.indexOf(free), 1)
+                      }
+                      if (!forms.paymentType.includes("CHARGE")) {
+                        forms.musicPrice = 0
+                      }
+                    }}
                     clearable
                 />
               </NFormItem>
 
-              <NFormItem
-                  label="曲目价格"
-                  path="musicPrice"
-                  rule={[
-                    {
-                      required: true,
-                      message: '请输入曲目价格'
-                    }
-                  ]}
-              >
-                <NInputNumber
-                    style={'width:100%'}
-                    placeholder="请输入曲目价格"
-                    v-model:value={forms.musicPrice}
-                    clearable
-                />
-              </NFormItem>
+              {forms.paymentType.includes('CHARGE') && (
+                  <NFormItem
+                      label="曲目价格"
+                      path="musicPrice"
+                      rule={[
+                        {
+                          required: true,
+                          message: '请输入曲目价格'
+                        }
+                      ]}
+                  >
+                    <NInputNumber
+                        style={'width:100%'}
+                        placeholder="请输入曲目价格"
+                        v-model:value={forms.musicPrice}
+                        clearable
+                    />
+                  </NFormItem>
+              )}
               <NFormItem
                   label="可用途径"
                   path="availableType"

+ 15 - 4
src/views/music-library/project-music-sheet/module/kt/addMusic.tsx

@@ -21,7 +21,7 @@ import {
 import Pagination from '@components/pagination'
 import { getMapValueByKey, getSelectDataFromObj } from '@/utils/objectUtil'
 import { musicSheetSourceType, musicSheetType } from '@/utils/constant'
-import { musicSheetApplicationExtendSaveBatch, musicSheetPage } from '@views/music-library/api'
+import {musicSheetApplicationExtendCategoryList, musicSheetApplicationExtendSaveBatch, musicSheetPage} from '@views/music-library/api'
 import deepClone from '@/utils/deep.clone'
 import { getOwnerName } from '@views/music-library/musicUtil'
 import TheTooltip from '@/components/TheTooltip'
@@ -75,10 +75,21 @@ export default defineComponent({
       projectMusicCategoryId: null as any // 曲目分类ID
     })
 
-    onMounted(() => {
+    onMounted(async () => {
+      state.loading = true
       state.subjectList = props.subjectList
-      state.musicSheetCategories = props.musicSheetCategories
-      getList()
+      // state.musicSheetCategories = props.musicSheetCategories
+      //加载曲目分类列表
+      try {
+        const {data} = await musicSheetApplicationExtendCategoryList({
+          applicationIds: props.appId
+        })
+        if (data && data.length > 0) {
+          state.musicSheetCategories = data[0].musicSheetCategories
+        }
+      } catch {
+      }
+      await getList()
     })
 
     const getList = async () => {

+ 1 - 1
src/views/music-library/project-music-sheet/module/kt/music-sheet-kt.tsx

@@ -535,7 +535,7 @@ export default defineComponent({
               data={state.dataList}
               rowKey={(row: any) => row.applicationExtendId}
               onUpdateCheckedRowKeys={handleCheck}
-              scrollX={'1600'}
+              scrollX={'2100'}
             ></NDataTable>
 
             <Pagination

+ 12 - 12
src/views/system-manage/param-settings/component/project-setting.tsx

@@ -79,18 +79,18 @@ export default defineComponent({
                     clearable
                     style="width:200px"
                 />
-                <NTooltip style={"padding-left: 10px"}>
-                  {{
-                    default: () => '评测频率支持输入多个,输入多个时需要逗号隔开',
-                    trigger: () => (
-                        <span style="overflow: hidden;display: inline-block;max-width: 200px;white-space: nowrap;text-overflow: ellipsis;">
-                      <NIcon size="20">
-                          <HelpCircleOutline/>
-                      </NIcon>
-                    </span>
-                    )
-                  }}
-                </NTooltip>
+                {/*<NTooltip style={"padding-left: 10px"}>*/}
+                {/*  {{*/}
+                {/*    default: () => '评测频率支持输入多个,输入多个时需要逗号隔开',*/}
+                {/*    trigger: () => (*/}
+                {/*        <span style="overflow: hidden;display: inline-block;max-width: 200px;white-space: nowrap;text-overflow: ellipsis;">*/}
+                {/*      <NIcon size="20">*/}
+                {/*          <HelpCircleOutline/>*/}
+                {/*      </NIcon>*/}
+                {/*    </span>*/}
+                {/*    )*/}
+                {/*  }}*/}
+                {/*</NTooltip>*/}
               </NFormItemGi>
             </NGrid>
           </NForm>

Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác