codeMan 2 سال پیش
والد
کامیت
8ef8cfb205
75فایلهای تغییر یافته به همراه820 افزوده شده و 35 حذف شده
  1. 1 1
      dist/assets/Htabs-26b89b48.js
  2. 0 0
      dist/assets/base-51282238.js
  3. 0 0
      dist/assets/index-036282e9.js
  4. 0 0
      dist/assets/index-09109871.js
  5. 1 1
      dist/assets/index-09d0dbb4.js
  6. 0 0
      dist/assets/index-184a2a24.js
  7. 0 0
      dist/assets/index-235d5251.js
  8. 1 0
      dist/assets/index-25b8943f.js
  9. 0 0
      dist/assets/index-49fd23af.js
  10. 0 0
      dist/assets/index-4b84837d.js
  11. 0 0
      dist/assets/index-535d3ad3.js
  12. 0 1
      dist/assets/index-60168160.js
  13. 1 1
      dist/assets/index-75f236f4.js
  14. 0 0
      dist/assets/index-827e0fdd.js
  15. 0 0
      dist/assets/index-83ad3dbd.js
  16. 0 0
      dist/assets/index-83ce872b.js
  17. 0 0
      dist/assets/index-96ab54f4.js
  18. 0 0
      dist/assets/index-9b17b5a0.js
  19. 1 1
      dist/assets/index-9c0d670e.js
  20. 0 0
      dist/assets/index-abfcf175.js
  21. 0 0
      dist/assets/index-b0e29d80.js
  22. 0 0
      dist/assets/index-b4e5f0b8.js
  23. 0 0
      dist/assets/index-b606f960.js
  24. 0 0
      dist/assets/index-c1e7df3e.js
  25. 0 0
      dist/assets/index-c4002c66.js
  26. 0 0
      dist/assets/index-caca9bf7.js
  27. 0 0
      dist/assets/index-cd7b0dca.js
  28. 0 0
      dist/assets/index-ce320184.js
  29. 0 0
      dist/assets/index-ce80d93b.js
  30. 0 0
      dist/assets/index-d6f86dcb.js
  31. 1 1
      dist/assets/login-ca154fd9.js
  32. BIN
      dist/dist.zip
  33. 1 1
      dist/index.html
  34. 1 1
      dist/manage/assets/Htabs-90ec0543.js
  35. 0 0
      dist/manage/assets/base-c4b19551.js
  36. 0 0
      dist/manage/assets/index-13aadfdd.js
  37. 0 0
      dist/manage/assets/index-1aa93194.js
  38. 1 0
      dist/manage/assets/index-30a40cc0.css
  39. 1 1
      dist/manage/assets/index-3959b2a1.css
  40. 0 0
      dist/manage/assets/index-3b14a928.js
  41. 0 0
      dist/manage/assets/index-5b8c26b5.js
  42. 0 0
      dist/manage/assets/index-604f1fed.js
  43. 0 0
      dist/manage/assets/index-66a06926.js
  44. 0 0
      dist/manage/assets/index-6d3f7cca.js
  45. 0 0
      dist/manage/assets/index-76d8514f.js
  46. 0 0
      dist/manage/assets/index-83d7b18d.css
  47. 0 0
      dist/manage/assets/index-89a6a03a.js
  48. 0 0
      dist/manage/assets/index-8dffedb2.js
  49. 0 0
      dist/manage/assets/index-94d7a208.js
  50. 0 0
      dist/manage/assets/index-9737f8dc.js
  51. 1 1
      dist/manage/assets/index-a0a46307.js
  52. 0 0
      dist/manage/assets/index-a69a8805.js
  53. 0 0
      dist/manage/assets/index-b0f0fca5.js
  54. 1 1
      dist/manage/assets/index-bcea4f49.js
  55. 0 0
      dist/manage/assets/index-d55a9733.js
  56. 0 0
      dist/manage/assets/index-df669d75.js
  57. 0 0
      dist/manage/assets/index-e40c1c9e.js
  58. 1 1
      dist/manage/assets/index-e8beee78.js
  59. 0 0
      dist/manage/assets/index-f362d20f.js
  60. 0 0
      dist/manage/assets/index-f3a7d2ab.js
  61. 0 0
      dist/manage/assets/index-f630eb5e.js
  62. 0 0
      dist/manage/assets/index-faab3236.js
  63. 1 1
      dist/manage/assets/login-9079096a.js
  64. 2 2
      dist/manage/index.html
  65. 15 15
      node_modules/.vite/deps/_metadata.json
  66. 0 0
      node_modules/.vite/deps/mathjs.js.map
  67. 0 0
      node_modules/.vite/deps/pinia.js.map
  68. 34 1
      src/operation/moduleNormal/areaManage/modules/selectArea.vue
  69. 133 0
      src/operation/moduleNormal/equipmentMag/detail/index.vue
  70. 51 0
      src/operation/moduleNormal/equipmentMag/index.vue
  71. 280 0
      src/operation/moduleNormal/equipmentMag/modules/Add.vue
  72. 269 0
      src/operation/moduleNormal/equipmentMag/modules/Edit.vue
  73. 2 2
      src/operation/moduleNormal/productManage/detail/modules/eventTab/modules/Add.vue
  74. 2 2
      src/operation/moduleNormal/productManage/detail/modules/eventTab/modules/Edit.vue
  75. 18 0
      src/router/modelNormal.js

+ 1 - 1
dist/assets/Htabs-08a84d6e.js → dist/assets/Htabs-26b89b48.js

@@ -1 +1 @@
-import{d as i,r}from"./index-d3661549.js";const u=i("routeTabs",{state:()=>({historyRoutes:[]}),getters:{},actions:{saveRoute(e){this.historyRoutes.some(o=>o.name==e.meta.name)||this.historyRoutes.push(e)},delRoute(e,s){if(r.options.routes[1].children.forEach(t=>{t.name==e&&(t.meta.keepAlive=!1,t.meta.name=t.name)}),this.historyRoutes=this.historyRoutes.filter(t=>{if(t.meta.name!==e)return t}),e===s&&(console.log(this.historyRoutes),this.historyRoutes[0]))return r.replace({name:this.historyRoutes[0].meta.name})}}});export{u};
+import{d as i,r}from"./index-235d5251.js";const u=i("routeTabs",{state:()=>({historyRoutes:[]}),getters:{},actions:{saveRoute(e){this.historyRoutes.some(o=>o.name==e.meta.name)||this.historyRoutes.push(e)},delRoute(e,s){if(r.options.routes[1].children.forEach(t=>{t.name==e&&(t.meta.keepAlive=!1,t.meta.name=t.name)}),this.historyRoutes=this.historyRoutes.filter(t=>{if(t.meta.name!==e)return t}),e===s&&(console.log(this.historyRoutes),this.historyRoutes[0]))return r.replace({name:this.historyRoutes[0].meta.name})}}});export{u};

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/assets/base-51282238.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/assets/index-036282e9.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/assets/index-09109871.js


+ 1 - 1
dist/assets/index-8080287a.js → dist/assets/index-09d0dbb4.js

@@ -1 +1 @@
-import{l as n}from"./index-ee26c9a7.js";import{a as e,o as s,V as p,W as i,j as c,X as l,u as a}from"./vue-9b2e4ac7.js";import"./vue-router-d1c3bcbb.js";/* empty css                                                              */import"./index-d3661549.js";import"./base-e40804c4.js";import"./_plugin-vue_export-helper-c27b6911.js";const g={__name:"index",setup(m){const t=e();let r=e([{label:"范围",key:"isnext",type:"select",dataSource:[{remarks:"今年",value:"0"},{remarks:"明年",value:"1"}]},{label:"时间范围",key:"dateRange",type:"datepickerRange",objKeys:["begindate","enddate"]}]),o=e({content:{pageNumber:1,pageSize:20,isnext:0,where:{condition:""}},id:20221215165504});return s(()=>{}),(u,d)=>(p(),i("div",null,[c(n,{ref_key:"list",ref:t,keyRouteName:"accountno",param:a(o),tableName:"vacationTable",searchType:a(r)},{operation:l(()=>[]),_:1},8,["param","searchType"])]))}};export{g as default};
+import{l as n}from"./index-c4002c66.js";import{a as e,o as s,V as p,W as i,j as c,X as l,u as a}from"./vue-9b2e4ac7.js";import"./vue-router-d1c3bcbb.js";/* empty css                                                              */import"./index-235d5251.js";import"./base-51282238.js";import"./_plugin-vue_export-helper-c27b6911.js";const g={__name:"index",setup(m){const t=e();let r=e([{label:"范围",key:"isnext",type:"select",dataSource:[{remarks:"今年",value:"0"},{remarks:"明年",value:"1"}]},{label:"时间范围",key:"dateRange",type:"datepickerRange",objKeys:["begindate","enddate"]}]),o=e({content:{pageNumber:1,pageSize:20,isnext:0,where:{condition:""}},id:20221215165504});return s(()=>{}),(u,d)=>(p(),i("div",null,[c(n,{ref_key:"list",ref:t,keyRouteName:"accountno",param:a(o),tableName:"vacationTable",searchType:a(r)},{operation:l(()=>[]),_:1},8,["param","searchType"])]))}};export{g as default};

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/assets/index-184a2a24.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/assets/index-235d5251.js


+ 1 - 0
dist/assets/index-25b8943f.js

@@ -0,0 +1 @@
+import{M as o,A as c,e as l}from"./index-235d5251.js";import{U as m,V as d,a3 as u,X as p,G as y,a4 as g,u as f}from"./vue-9b2e4ac7.js";const k={__name:"index",props:{type:String,btnName:String,message:String,idName:String,keyName:String,id:[String,Number],paramData:{type:Array,default(){return[]}},size:String,disabled:{type:Boolean,default(){return!1}}},emits:["onSuccess"],setup(e,{emit:i}){const t=e;let r=()=>{o.confirm({title:t.message||"确定操作当前数据吗?",async onOk(){let a={content:{}};a.id=t.idName,a.content[t.keyName]=t.id,t.paramData.forEach(n=>{a.content[n.key]=n.value});let s=await c.requested(a);l.message(s,"操作成功",()=>{i("onSuccess")})},onCancel(){}})};return(a,s)=>{const n=m("a-button");return d(),u(n,{type:e.type?e.type:"primary",onClick:f(r),size:e.size||"small",disabled:e.disabled},{default:p(()=>[y(g(e.btnName),1)]),_:1},8,["type","onClick","size","disabled"])}}};export{k as _};

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/assets/index-49fd23af.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/assets/index-4b84837d.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/assets/index-535d3ad3.js


+ 0 - 1
dist/assets/index-60168160.js

@@ -1 +0,0 @@
-import{M as o,A as c,e as m}from"./index-d3661549.js";import{U as l,V as u,a3 as p,X as y,G as d,a4 as g,u as S}from"./vue-9b2e4ac7.js";const N={__name:"index",props:{type:String,btnName:String,message:String,idName:String,keyName:String,id:[String,Number],paramData:{type:Array,default(){return[]}},size:String},emits:["onSuccess"],setup(e,{emit:r}){const t=e;let i=()=>{o.confirm({title:t.message||"确定操作当前数据吗?",async onOk(){let a={content:{}};a.id=t.idName,a.content[t.keyName]=t.id,t.paramData.forEach(n=>{a.content[n.key]=n.value});let s=await c.requested(a);m.message(s,"操作成功",()=>{r("onSuccess")})},onCancel(){}})};return(a,s)=>{const n=l("a-button");return u(),p(n,{type:e.type?e.type:"primary",onClick:S(i),size:e.size||"small"},{default:y(()=>[d(g(e.btnName),1)]),_:1},8,["type","onClick","size"])}}};export{N as _};

+ 1 - 1
dist/assets/index-a831f05c.js → dist/assets/index-75f236f4.js

@@ -1 +1 @@
-import{n as k}from"./index-4304fd3e.js";import{m as v}from"./index-d3661549.js";import{a as r,U as D,V as m,W as c,j as d,X as u,ab as R,R as f,F as p,G as _,a4 as x,u as l,H as y}from"./vue-9b2e4ac7.js";const B={__name:"index",props:{title:String,wdith:String},emits:["selectRowData","close"],setup(o,{expose:b,emit:n}){let s=r(),e=r(!1),g=()=>{if(!s.value.tableRecord.length)return v.warning("请选择数据");e.value=!1,n("selectRowData",s.value.tableRecord)},w=()=>{n("close")};return b({modeVisible:e}),(a,i)=>{const h=D("a-modal");return m(),c(p,null,[d(h,{visible:l(e),"onUpdate:visible":i[0]||(i[0]=t=>y(e)?e.value=t:e=t),class:"custom-class",title:o.title||"标题",placement:"right",width:o.wdith||"1000px",closable:!1,onClose:l(w),onOk:l(g)},{default:u(()=>[d(k,R(a.$attrs,{ref_key:"list",ref:s,size:"small",onListData:a.listData}),{tb_cell:u(({data:t})=>[t.column.dataIndex==="operation"?f(a.$slots,"handleBtn",{key:0}):(m(),c(p,{key:1},[_(x(t.record[t.column.dataIndex]),1)],64))]),_:3},16,["onListData"])]),_:3},8,["visible","title","width","onClose","onOk"]),f(a.$slots,"slot1")],64)}}};export{B as _};
+import{n as k}from"./index-ce320184.js";import{m as v}from"./index-235d5251.js";import{a as r,U as D,V as m,W as c,j as d,X as u,ab as R,R as f,F as p,G as _,a4 as x,u as l,H as y}from"./vue-9b2e4ac7.js";const B={__name:"index",props:{title:String,wdith:String},emits:["selectRowData","close"],setup(o,{expose:b,emit:n}){let s=r(),e=r(!1),g=()=>{if(!s.value.tableRecord.length)return v.warning("请选择数据");e.value=!1,n("selectRowData",s.value.tableRecord)},w=()=>{n("close")};return b({modeVisible:e}),(a,i)=>{const h=D("a-modal");return m(),c(p,null,[d(h,{visible:l(e),"onUpdate:visible":i[0]||(i[0]=t=>y(e)?e.value=t:e=t),class:"custom-class",title:o.title||"标题",placement:"right",width:o.wdith||"1000px",closable:!1,onClose:l(w),onOk:l(g)},{default:u(()=>[d(k,R(a.$attrs,{ref_key:"list",ref:s,size:"small",onListData:a.listData}),{tb_cell:u(({data:t})=>[t.column.dataIndex==="operation"?f(a.$slots,"handleBtn",{key:0}):(m(),c(p,{key:1},[_(x(t.record[t.column.dataIndex]),1)],64))]),_:3},16,["onListData"])]),_:3},8,["visible","title","width","onClose","onOk"]),f(a.$slots,"slot1")],64)}}};export{B as _};

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/assets/index-827e0fdd.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/assets/index-83ad3dbd.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/assets/index-83ce872b.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/assets/index-96ab54f4.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/assets/index-9b17b5a0.js


+ 1 - 1
dist/assets/index-9888ab72.js → dist/assets/index-9c0d670e.js

@@ -1 +1 @@
-import{l as d}from"./index-ee26c9a7.js";import{A as m}from"./index-d3661549.js";import{u}from"./vue-router-d1c3bcbb.js";import{_ as f}from"./_plugin-vue_export-helper-c27b6911.js";import{a as s,U as x,V as r,W as y,j as b,X as n,u as i,G as g,a3 as h,$ as k,a4 as w,a6 as B}from"./vue-9b2e4ac7.js";/* empty css                                                              */import"./base-e40804c4.js";const N={class:"y-container"},v=["onClick"],A={__name:"index",setup(S){u();let c=s([]);s([]);let p=s({content:{pageNumber:1,pageSize:20,systemappid:JSON.parse(sessionStorage.getItem("app")).systemappid},id:20221213094401});const l=()=>{let t=window.location.href,e=t.indexOf("/"),a=0;for(;e!=-1;)if(a++,e=t.indexOf("/",e+1),a++==3)return t.slice(0,e)},_=async t=>{console.log("http://60.204.153.188/");let e=await m.requested({id:20221213094501,content:{sys_reportid:t.sys_reportid,dataid:0}});window.open(l()+e.data)};return(t,e)=>{const a=x("a-button");return r(),y("div",N,[b(d,{columns:i(c),param:i(p),tableName:"reportcenterTable"},{operation:n(()=>[g(" 报表中心 ")]),tb_cell:n(({data:o})=>[o.column.dataIndex=="name"?(r(),h(a,{key:0,type:"link"},{default:n(()=>[k("span",{class:"btn-link",onClick:C=>_(o.record)},w(o.record.name),9,v)]),_:2},1024)):B("",!0)]),_:1},8,["columns","param"])])}}},U=f(A,[["__scopeId","data-v-103da97b"]]);export{U as default};
+import{l as d}from"./index-c4002c66.js";import{A as m}from"./index-235d5251.js";import{u}from"./vue-router-d1c3bcbb.js";import{_ as f}from"./_plugin-vue_export-helper-c27b6911.js";import{a as s,U as x,V as r,W as y,j as b,X as n,u as i,G as g,a3 as h,$ as k,a4 as w,a6 as B}from"./vue-9b2e4ac7.js";/* empty css                                                              */import"./base-51282238.js";const N={class:"y-container"},v=["onClick"],A={__name:"index",setup(S){u();let c=s([]);s([]);let p=s({content:{pageNumber:1,pageSize:20,systemappid:JSON.parse(sessionStorage.getItem("app")).systemappid},id:20221213094401});const l=()=>{let t=window.location.href,e=t.indexOf("/"),a=0;for(;e!=-1;)if(a++,e=t.indexOf("/",e+1),a++==3)return t.slice(0,e)},_=async t=>{console.log("http://60.204.153.188/");let e=await m.requested({id:20221213094501,content:{sys_reportid:t.sys_reportid,dataid:0}});window.open(l()+e.data)};return(t,e)=>{const a=x("a-button");return r(),y("div",N,[b(d,{columns:i(c),param:i(p),tableName:"reportcenterTable"},{operation:n(()=>[g(" 报表中心 ")]),tb_cell:n(({data:o})=>[o.column.dataIndex=="name"?(r(),h(a,{key:0,type:"link"},{default:n(()=>[k("span",{class:"btn-link",onClick:C=>_(o.record)},w(o.record.name),9,v)]),_:2},1024)):B("",!0)]),_:1},8,["columns","param"])])}}},U=f(A,[["__scopeId","data-v-103da97b"]]);export{U as default};

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/assets/index-abfcf175.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/assets/index-b0e29d80.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/assets/index-b4e5f0b8.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/assets/index-b606f960.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/assets/index-c1e7df3e.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/assets/index-c4002c66.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/assets/index-caca9bf7.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/assets/index-cd7b0dca.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/assets/index-ce320184.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/assets/index-ce80d93b.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/assets/index-d6f86dcb.js


+ 1 - 1
dist/assets/login-5d698eaf.js → dist/assets/login-ca154fd9.js

@@ -1,4 +1,4 @@
-import{u as useRouter}from"./vue-router-d1c3bcbb.js";import{c as commonjsGlobal,u as useAuthStore,s as storeToRefs,A as Api,m as message}from"./index-d3661549.js";import{u as useRouteTabsStore}from"./Htabs-08a84d6e.js";import{_ as _export_sfc}from"./_plugin-vue_export-helper-c27b6911.js";import{d as defineComponent,U as resolveComponent,V as openBlock,W as createElementBlock,$ as createBaseVNode,j as createVNode,X as withCtx,r as reactive,a as ref,G as createTextVNode,a0 as pushScopeId,a1 as popScopeId}from"./vue-9b2e4ac7.js";var md5Exports={},md5$1={get exports(){return md5Exports},set exports(e){md5Exports=e}};/**
+import{u as useRouter}from"./vue-router-d1c3bcbb.js";import{c as commonjsGlobal,u as useAuthStore,s as storeToRefs,A as Api,m as message}from"./index-235d5251.js";import{u as useRouteTabsStore}from"./Htabs-26b89b48.js";import{_ as _export_sfc}from"./_plugin-vue_export-helper-c27b6911.js";import{d as defineComponent,U as resolveComponent,V as openBlock,W as createElementBlock,$ as createBaseVNode,j as createVNode,X as withCtx,r as reactive,a as ref,G as createTextVNode,a0 as pushScopeId,a1 as popScopeId}from"./vue-9b2e4ac7.js";var md5Exports={},md5$1={get exports(){return md5Exports},set exports(e){md5Exports=e}};/**
  * [js-md5]{@link https://github.com/emn178/js-md5}
  *
  * @namespace md5

BIN
dist/dist.zip


+ 1 - 1
dist/index.html

@@ -5,7 +5,7 @@
     <link rel="icon" type="image/svg+xml" href="./vite.svg" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
     <title>班尼戈水务管理</title>
-    <script type="module" crossorigin src="./assets/index-d3661549.js"></script>
+    <script type="module" crossorigin src="./assets/index-235d5251.js"></script>
     <link rel="modulepreload" crossorigin href="./assets/vue-9b2e4ac7.js">
     <link rel="modulepreload" crossorigin href="./assets/vue-router-d1c3bcbb.js">
     <link rel="stylesheet" href="./assets/index-264534dd.css">

+ 1 - 1
dist/manage/assets/Htabs-ff84442c.js → dist/manage/assets/Htabs-90ec0543.js

@@ -1 +1 @@
-import{d as i,r}from"./index-9bda82f3.js";const u=i("routeTabs",{state:()=>({historyRoutes:[]}),getters:{},actions:{saveRoute(e){this.historyRoutes.some(o=>o.name==e.meta.name)||this.historyRoutes.push(e)},delRoute(e,s){if(r.options.routes[1].children.forEach(t=>{t.name==e&&(t.meta.keepAlive=!1,t.meta.name=t.name)}),this.historyRoutes=this.historyRoutes.filter(t=>{if(t.meta.name!==e)return t}),e===s&&(console.log(this.historyRoutes),this.historyRoutes[0]))return r.replace({name:this.historyRoutes[0].meta.name})}}});export{u};
+import{d as i,r}from"./index-a69a8805.js";const u=i("routeTabs",{state:()=>({historyRoutes:[]}),getters:{},actions:{saveRoute(e){this.historyRoutes.some(o=>o.name==e.meta.name)||this.historyRoutes.push(e)},delRoute(e,s){if(r.options.routes[1].children.forEach(t=>{t.name==e&&(t.meta.keepAlive=!1,t.meta.name=t.name)}),this.historyRoutes=this.historyRoutes.filter(t=>{if(t.meta.name!==e)return t}),e===s&&(console.log(this.historyRoutes),this.historyRoutes[0]))return r.replace({name:this.historyRoutes[0].meta.name})}}});export{u};

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/manage/assets/base-c4b19551.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/manage/assets/index-13aadfdd.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/manage/assets/index-1aa93194.js


+ 1 - 0
dist/manage/assets/index-30a40cc0.css

@@ -0,0 +1 @@
+.search-panel[data-v-eebce377]{width:300px;margin-bottom:10px}.ant-table-striped[data-v-eebce377] td{font-size:12px}

+ 1 - 1
dist/manage/assets/index-914d7a80.css → dist/manage/assets/index-3959b2a1.css

@@ -1 +1 @@
-.sw-header[data-v-f6230b97]{display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 32px 0 16px}.ant-dropdown-link[data-v-f6230b97]{color:#fff}.asides[data-v-0dc6a2d1]{position:relative;width:58px;transition:.1s ease-out all;box-shadow:-2px 0 6px 1px #000b15;z-index:999}.aside-item[data-v-0dc6a2d1]{cursor:pointer;color:#333;margin:10px 0 35px;transition:.1s linear;overflow:hidden}.logo-panel[data-v-0dc6a2d1]{padding:10px;margin-bottom:10px;border-bottom:1px solid #f1f2f3;background:#fff}.logo-panel h4[data-v-0dc6a2d1]{color:#333;margin:0 0 0 10px}.flex[data-v-0dc6a2d1]{display:flex;align-items:center;justify-content:space-between}.menu-icon[data-v-0dc6a2d1]{display:inline-block;height:30px;width:100%;font-size:14px;text-align:center;line-height:30px}.collapsed[data-v-0dc6a2d1]{display:block;padding:0 20px}.onSystem .uncollapsed[data-v-0dc6a2d1]{color:#333}.sw-tabs[data-v-110e5460]{background:#E4E7EB}.site-layout-content{min-height:280px;padding:24px;background:#fff}#components-layout-demo-top .logo{float:left;width:120px;height:31px;margin:16px 24px 16px 0;background:rgba(255,255,255,.3)}.ant-row-rtl #components-layout-demo-top .logo{float:right;margin:16px 0 16px 24px}[data-theme=dark] .site-layout-content{background:#fff}.content-height{flex:1;height:calc(100vh - 56px);overflow-y:scroll}.flex{display:flex}.scale-enter-active,.scale-leave-active{transition:all .5s ease}.scale-enter-from,.scale-leave-to{opacity:0;transform:scale(.9)}
+.sw-header[data-v-f6230b97]{display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 32px 0 16px}.ant-dropdown-link[data-v-f6230b97]{color:#fff}.asides[data-v-0158ca39]{position:relative;width:58px;transition:.1s ease-out all;box-shadow:-2px 0 6px 1px #000b15;z-index:999}.aside-item[data-v-0158ca39]{cursor:pointer;color:#333;margin:10px 0 35px;transition:.1s linear;overflow:hidden}.logo-panel[data-v-0158ca39]{padding:10px;margin-bottom:10px;border-bottom:1px solid #f1f2f3;background:#fff}.logo-panel h4[data-v-0158ca39]{color:#333;margin:0 0 0 10px}.flex[data-v-0158ca39]{display:flex;align-items:center;justify-content:space-between}.menu-icon[data-v-0158ca39]{display:inline-block;height:30px;width:100%;font-size:14px;text-align:center;line-height:30px}.collapsed[data-v-0158ca39]{display:block;padding:0 20px}.onSystem .uncollapsed[data-v-0158ca39]{color:#333}.sw-tabs[data-v-110e5460]{background:#E4E7EB}.site-layout-content{min-height:280px;padding:24px;background:#fff}#components-layout-demo-top .logo{float:left;width:120px;height:31px;margin:16px 24px 16px 0;background:rgba(255,255,255,.3)}.ant-row-rtl #components-layout-demo-top .logo{float:right;margin:16px 0 16px 24px}[data-theme=dark] .site-layout-content{background:#fff}.content-height{flex:1;height:calc(100vh - 56px);overflow-y:scroll}.flex{display:flex}.scale-enter-active,.scale-leave-active{transition:all .5s ease}.scale-enter-from,.scale-leave-to{opacity:0;transform:scale(.9)}

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/manage/assets/index-3b14a928.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/manage/assets/index-5b8c26b5.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/manage/assets/index-604f1fed.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/manage/assets/index-66a06926.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/manage/assets/index-6d3f7cca.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/manage/assets/index-76d8514f.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/manage/assets/index-83d7b18d.css


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/manage/assets/index-89a6a03a.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/manage/assets/index-8dffedb2.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/manage/assets/index-94d7a208.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/manage/assets/index-9737f8dc.js


+ 1 - 1
dist/manage/assets/index-0524e6f7.js → dist/manage/assets/index-a0a46307.js

@@ -1 +1 @@
-import{l as d}from"./index-34e15dc7.js";import{A as m}from"./index-9bda82f3.js";import{u}from"./vue-router-d1c3bcbb.js";import{_ as f}from"./_plugin-vue_export-helper-c27b6911.js";import{a as s,U as x,V as r,W as y,j as g,X as n,u as c,G as h,a3 as k,$ as b,a4 as w,a6 as B}from"./vue-9b2e4ac7.js";import"./base-cc9e8ed2.js";const N={class:"y-container"},v=["onClick"],A={__name:"index",setup(S){u();let i=s([]);s([]);let p=s({content:{pageNumber:1,pageSize:20,systemappid:JSON.parse(sessionStorage.getItem("app")).systemappid},id:20221213094401});const l=()=>{let t=window.location.href,e=t.indexOf("/"),a=0;for(;e!=-1;)if(a++,e=t.indexOf("/",e+1),a++==3)return t.slice(0,e)},_=async t=>{console.log("http://60.204.153.188/");let e=await m.requested({id:20221213094501,content:{sys_reportid:t.sys_reportid,dataid:0}});window.open(l()+e.data)};return(t,e)=>{const a=x("a-button");return r(),y("div",N,[g(d,{columns:c(i),param:c(p),tableName:"reportcenterTable"},{operation:n(()=>[h(" 报表中心 ")]),tb_cell:n(({data:o})=>[o.column.dataIndex=="name"?(r(),k(a,{key:0,type:"link"},{default:n(()=>[b("span",{class:"btn-link",onClick:C=>_(o.record)},w(o.record.name),9,v)]),_:2},1024)):B("",!0)]),_:1},8,["columns","param"])])}}},P=f(A,[["__scopeId","data-v-caca61d5"]]);export{P as default};
+import{l as d}from"./index-df669d75.js";import{A as m}from"./index-a69a8805.js";import{u}from"./vue-router-d1c3bcbb.js";import{_ as f}from"./_plugin-vue_export-helper-c27b6911.js";import{a as s,U as x,V as r,W as y,j as g,X as n,u as c,G as h,a3 as k,$ as b,a4 as w,a6 as B}from"./vue-9b2e4ac7.js";import"./base-c4b19551.js";const N={class:"y-container"},v=["onClick"],A={__name:"index",setup(S){u();let i=s([]);s([]);let p=s({content:{pageNumber:1,pageSize:20,systemappid:JSON.parse(sessionStorage.getItem("app")).systemappid},id:20221213094401});const l=()=>{let t=window.location.href,e=t.indexOf("/"),a=0;for(;e!=-1;)if(a++,e=t.indexOf("/",e+1),a++==3)return t.slice(0,e)},_=async t=>{console.log("http://60.204.153.188/");let e=await m.requested({id:20221213094501,content:{sys_reportid:t.sys_reportid,dataid:0}});window.open(l()+e.data)};return(t,e)=>{const a=x("a-button");return r(),y("div",N,[g(d,{columns:c(i),param:c(p),tableName:"reportcenterTable"},{operation:n(()=>[h(" 报表中心 ")]),tb_cell:n(({data:o})=>[o.column.dataIndex=="name"?(r(),k(a,{key:0,type:"link"},{default:n(()=>[b("span",{class:"btn-link",onClick:C=>_(o.record)},w(o.record.name),9,v)]),_:2},1024)):B("",!0)]),_:1},8,["columns","param"])])}}},P=f(A,[["__scopeId","data-v-caca61d5"]]);export{P as default};

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/manage/assets/index-a69a8805.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/manage/assets/index-b0f0fca5.js


+ 1 - 1
dist/manage/assets/index-59d8adf2.js → dist/manage/assets/index-bcea4f49.js

@@ -1 +1 @@
-import{n as k}from"./index-ecf2b3c5.js";import{m as v}from"./index-9bda82f3.js";import{a as r,U as D,V as m,W as c,j as d,X as u,ab as R,R as f,F as p,G as _,a4 as x,u as l,H as y}from"./vue-9b2e4ac7.js";const B={__name:"index",props:{title:String,wdith:String},emits:["selectRowData","close"],setup(o,{expose:b,emit:n}){let s=r(),e=r(!1),g=()=>{if(!s.value.tableRecord.length)return v.warning("请选择数据");e.value=!1,n("selectRowData",s.value.tableRecord)},w=()=>{n("close")};return b({modeVisible:e}),(a,i)=>{const h=D("a-modal");return m(),c(p,null,[d(h,{visible:l(e),"onUpdate:visible":i[0]||(i[0]=t=>y(e)?e.value=t:e=t),class:"custom-class",title:o.title||"标题",placement:"right",width:o.wdith||"1000px",closable:!1,onClose:l(w),onOk:l(g)},{default:u(()=>[d(k,R(a.$attrs,{ref_key:"list",ref:s,size:"small",onListData:a.listData}),{tb_cell:u(({data:t})=>[t.column.dataIndex==="operation"?f(a.$slots,"handleBtn",{key:0}):(m(),c(p,{key:1},[_(x(t.record[t.column.dataIndex]),1)],64))]),_:3},16,["onListData"])]),_:3},8,["visible","title","width","onClose","onOk"]),f(a.$slots,"slot1")],64)}}};export{B as _};
+import{n as k}from"./index-5b8c26b5.js";import{m as v}from"./index-a69a8805.js";import{a as r,U as D,V as m,W as c,j as d,X as u,ab as R,R as f,F as p,G as _,a4 as x,u as l,H as y}from"./vue-9b2e4ac7.js";const B={__name:"index",props:{title:String,wdith:String},emits:["selectRowData","close"],setup(o,{expose:b,emit:n}){let s=r(),e=r(!1),g=()=>{if(!s.value.tableRecord.length)return v.warning("请选择数据");e.value=!1,n("selectRowData",s.value.tableRecord)},w=()=>{n("close")};return b({modeVisible:e}),(a,i)=>{const h=D("a-modal");return m(),c(p,null,[d(h,{visible:l(e),"onUpdate:visible":i[0]||(i[0]=t=>y(e)?e.value=t:e=t),class:"custom-class",title:o.title||"标题",placement:"right",width:o.wdith||"1000px",closable:!1,onClose:l(w),onOk:l(g)},{default:u(()=>[d(k,R(a.$attrs,{ref_key:"list",ref:s,size:"small",onListData:a.listData}),{tb_cell:u(({data:t})=>[t.column.dataIndex==="operation"?f(a.$slots,"handleBtn",{key:0}):(m(),c(p,{key:1},[_(x(t.record[t.column.dataIndex]),1)],64))]),_:3},16,["onListData"])]),_:3},8,["visible","title","width","onClose","onOk"]),f(a.$slots,"slot1")],64)}}};export{B as _};

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/manage/assets/index-d55a9733.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/manage/assets/index-df669d75.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/manage/assets/index-e40c1c9e.js


+ 1 - 1
dist/manage/assets/index-51c68243.js → dist/manage/assets/index-e8beee78.js

@@ -1 +1 @@
-import{l as n}from"./index-34e15dc7.js";import{a as e,o as s,V as p,W as i,j as c,X as l,u as a}from"./vue-9b2e4ac7.js";import"./vue-router-d1c3bcbb.js";import"./index-9bda82f3.js";import"./base-cc9e8ed2.js";import"./_plugin-vue_export-helper-c27b6911.js";const g={__name:"index",setup(m){const t=e();let r=e([{label:"范围",key:"isnext",type:"select",dataSource:[{remarks:"今年",value:"0"},{remarks:"明年",value:"1"}]},{label:"时间范围",key:"dateRange",type:"datepickerRange",objKeys:["begindate","enddate"]}]),o=e({content:{pageNumber:1,pageSize:20,where:{condition:""}},id:20221215165504});return s(()=>{}),(u,d)=>(p(),i("div",null,[c(n,{ref_key:"list",ref:t,keyRouteName:"accountno",param:a(o),tableName:"vacationTable",searchType:a(r)},{operation:l(()=>[]),_:1},8,["param","searchType"])]))}};export{g as default};
+import{l as n}from"./index-df669d75.js";import{a as e,o as s,V as p,W as i,j as c,X as l,u as a}from"./vue-9b2e4ac7.js";import"./vue-router-d1c3bcbb.js";import"./index-a69a8805.js";import"./base-c4b19551.js";import"./_plugin-vue_export-helper-c27b6911.js";const g={__name:"index",setup(m){const t=e();let r=e([{label:"范围",key:"isnext",type:"select",dataSource:[{remarks:"今年",value:"0"},{remarks:"明年",value:"1"}]},{label:"时间范围",key:"dateRange",type:"datepickerRange",objKeys:["begindate","enddate"]}]),o=e({content:{pageNumber:1,pageSize:20,where:{condition:""}},id:20221215165504});return s(()=>{}),(u,d)=>(p(),i("div",null,[c(n,{ref_key:"list",ref:t,keyRouteName:"accountno",param:a(o),tableName:"vacationTable",searchType:a(r)},{operation:l(()=>[]),_:1},8,["param","searchType"])]))}};export{g as default};

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/manage/assets/index-f362d20f.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/manage/assets/index-f3a7d2ab.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/manage/assets/index-f630eb5e.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/manage/assets/index-faab3236.js


+ 1 - 1
dist/manage/assets/login-3df8f812.js → dist/manage/assets/login-9079096a.js

@@ -1,4 +1,4 @@
-import{u as useRouter}from"./vue-router-d1c3bcbb.js";import{c as commonjsGlobal,u as useAuthStore,s as storeToRefs,A as Api,m as message}from"./index-9bda82f3.js";import{u as useRouteTabsStore}from"./Htabs-ff84442c.js";import{_ as _export_sfc}from"./_plugin-vue_export-helper-c27b6911.js";import{d as defineComponent,U as resolveComponent,V as openBlock,W as createElementBlock,$ as createBaseVNode,j as createVNode,X as withCtx,r as reactive,a as ref,G as createTextVNode,a0 as pushScopeId,a1 as popScopeId}from"./vue-9b2e4ac7.js";var md5Exports={},md5$1={get exports(){return md5Exports},set exports(e){md5Exports=e}};/**
+import{u as useRouter}from"./vue-router-d1c3bcbb.js";import{c as commonjsGlobal,u as useAuthStore,s as storeToRefs,A as Api,m as message}from"./index-a69a8805.js";import{u as useRouteTabsStore}from"./Htabs-90ec0543.js";import{_ as _export_sfc}from"./_plugin-vue_export-helper-c27b6911.js";import{d as defineComponent,U as resolveComponent,V as openBlock,W as createElementBlock,$ as createBaseVNode,j as createVNode,X as withCtx,r as reactive,a as ref,G as createTextVNode,a0 as pushScopeId,a1 as popScopeId}from"./vue-9b2e4ac7.js";var md5Exports={},md5$1={get exports(){return md5Exports},set exports(e){md5Exports=e}};/**
  * [js-md5]{@link https://github.com/emn178/js-md5}
  *
  * @namespace md5

+ 2 - 2
dist/manage/index.html

@@ -5,10 +5,10 @@
     <link rel="icon" type="image/svg+xml" href="./vite.svg" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
     <title>班尼戈水务管理</title>
-    <script type="module" crossorigin src="./assets/index-9bda82f3.js"></script>
+    <script type="module" crossorigin src="./assets/index-a69a8805.js"></script>
     <link rel="modulepreload" crossorigin href="./assets/vue-9b2e4ac7.js">
     <link rel="modulepreload" crossorigin href="./assets/vue-router-d1c3bcbb.js">
-    <link rel="stylesheet" href="./assets/index-c1e373d7.css">
+    <link rel="stylesheet" href="./assets/index-83d7b18d.css">
   </head>
   <body>
     <div id="app"></div>

+ 15 - 15
node_modules/.vite/deps/_metadata.json

@@ -1,83 +1,83 @@
 {
-  "hash": "2eec75de",
-  "browserHash": "1dfef5b4",
+  "hash": "c3e30d73",
+  "browserHash": "5f108a1a",
   "optimized": {
     "@ant-design/icons-vue": {
       "src": "../../@ant-design/icons-vue/es/index.js",
       "file": "@ant-design_icons-vue.js",
-      "fileHash": "0bcad96c",
+      "fileHash": "de3b675f",
       "needsInterop": false
     },
     "ant-design-vue": {
       "src": "../../ant-design-vue/es/index.js",
       "file": "ant-design-vue.js",
-      "fileHash": "fc7a1c63",
+      "fileHash": "1f312b64",
       "needsInterop": false
     },
     "ant-design-vue/es/locale/zh_CN": {
       "src": "../../ant-design-vue/es/locale/zh_CN.js",
       "file": "ant-design-vue_es_locale_zh_CN.js",
-      "fileHash": "2f07cd51",
+      "fileHash": "3841b7a3",
       "needsInterop": false
     },
     "axios": {
       "src": "../../axios/index.js",
       "file": "axios.js",
-      "fileHash": "2ba4f436",
+      "fileHash": "6baac0e0",
       "needsInterop": false
     },
     "dayjs": {
       "src": "../../dayjs/dayjs.min.js",
       "file": "dayjs.js",
-      "fileHash": "c726793a",
+      "fileHash": "4449712b",
       "needsInterop": true
     },
     "dayjs/locale/zh-cn": {
       "src": "../../dayjs/locale/zh-cn.js",
       "file": "dayjs_locale_zh-cn.js",
-      "fileHash": "6559ba3d",
+      "fileHash": "f06d2a86",
       "needsInterop": true
     },
     "js-md5": {
       "src": "../../js-md5/src/md5.js",
       "file": "js-md5.js",
-      "fileHash": "9b76127f",
+      "fileHash": "8e926ac1",
       "needsInterop": true
     },
     "less": {
       "src": "../../less/dist/less.js",
       "file": "less.js",
-      "fileHash": "e6a62967",
+      "fileHash": "46f1c8e2",
       "needsInterop": true
     },
     "mathjs": {
       "src": "../../mathjs/lib/esm/index.js",
       "file": "mathjs.js",
-      "fileHash": "7e41c844",
+      "fileHash": "214db850",
       "needsInterop": false
     },
     "pinia": {
       "src": "../../pinia/dist/pinia.mjs",
       "file": "pinia.js",
-      "fileHash": "3250b3b9",
+      "fileHash": "09276c68",
       "needsInterop": false
     },
     "pinia-plugin-persist": {
       "src": "../../pinia-plugin-persist/dist/pinia-persist.es.js",
       "file": "pinia-plugin-persist.js",
-      "fileHash": "b1cbb1b2",
+      "fileHash": "65b2d741",
       "needsInterop": false
     },
     "vue": {
       "src": "../../vue/dist/vue.runtime.esm-bundler.js",
       "file": "vue.js",
-      "fileHash": "f1c2af1d",
+      "fileHash": "9835f24a",
       "needsInterop": false
     },
     "vue-router": {
       "src": "../../vue-router/dist/vue-router.mjs",
       "file": "vue-router.js",
-      "fileHash": "28156552",
+      "fileHash": "58c2c5f6",
       "needsInterop": false
     }
   },

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
node_modules/.vite/deps/mathjs.js.map


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
node_modules/.vite/deps/pinia.js.map


+ 34 - 1
src/operation/moduleNormal/areaManage/modules/selectArea.vue

@@ -33,7 +33,40 @@ let onSelect = (data) => {
   console.log(data);
   result.value = data
 }
-let handleList = (data) => {
+let handleList = (res) => {
+  res.data = createDeep(res.data)
+}
+
+let createDeep = (array) => {
+  let arr = []
+  function deepFun (node) {
+    console.log(node,'触发');
+    let elNode = {
+      areaname:node['areaname'],
+      areanum:node['areanum'],
+      isused:node['isused'],
+      parentid:node['parentid'],
+      parentname:node['parentname'],
+      remarks:node['remarks'],
+      sequence:node['sequence'],
+      w_areaid:node['w_areaid'],
+      children:[]
+    }
+    if (node.sub && node.sub.length > 0) {
+      // 如果存在子节点
+      for (var index = 0; index < node.sub.length; index++) {
+      // 遍历子节点, 把每个子节点看做一颗独立的树, 传入递归构造子树, 并把结果放回到新node的children中
+      elNode.children.push(deepFun(node.sub[index]));
+      }
+    }
+    if (!elNode.children.length) delete elNode.children
+    return elNode
+  }
+  array.forEach(item => {
+    console.log(item);
+    arr.push(deepFun(item))
+  })
+  return arr
 }
 defineExpose({
   modeVisible,

+ 133 - 0
src/operation/moduleNormal/equipmentMag/detail/index.vue

@@ -0,0 +1,133 @@
+<template>
+  <div>
+    <!-- :disable="utils.isDisabled(userData.status,['ACTIVE'])" -->
+    <detail-template 
+      :headData="mainAreaData" 
+      :title="`${userData.devicename}(${userData.serialnumber})`" 
+      :tabs="['详情信息','物模型','检查项']" 
+      ownertable="user" 
+      :delParam="{id:'20221031141202',content:{userids:[router.currentRoute.value.query.id]}}" 
+      >
+      <template #operation>
+        <!-- utils.isDisabled(userData.isedit,[0]) &&  -->
+        <Edit :disabled="utils.isDisabled(userData.isedit,[0]) && !utils.hasPermission('update')" :data="userData" @onSuccess="mianData"></Edit>
+        <customBtn
+          :btnName="userData.isused ? '禁用' : '启用'"
+          idName="20230615110102"
+          keyName="w_deviceid"
+          :id="userData.w_deviceid"
+          type="primary"
+          size="middle"
+          :paramData="[{key:'isused',value:userData.isused ? 0 : 1}]"
+          :message="userData.isused ? '确定禁用当前设备吗?' : '确定启用当起设备吗?'"
+          @onSuccess="mianData"
+        />
+      </template>
+      <template #tab0>
+        <p class="normal-title">基本信息</p>
+        <defaultInfo :data="defaultInfoData" style="margin-bottom: 16px;"></defaultInfo>
+        <p class="normal-title">系统信息</p>
+        <defaultInfo :data="systemInfoData"></defaultInfo>
+      </template>
+      <template #tab1>
+        
+      </template>
+    </detail-template>
+  </div>
+</template>
+
+<script setup>
+import Api from '@/api/api'
+import utils  from '@/utils/utils'
+
+import normalTable from '@/template/normalTable/index.vue'
+import detailTemplate from '@/components/detailTemplate/index.vue'
+import defaultInfo from '@/template/defaultInfo/index.vue'
+import customBtn from '@/components/customHandleBtn/index.vue'
+import Edit from '../modules/Edit.vue'
+
+
+import { message, Modal } from 'ant-design-vue'
+import { ExclamationCircleOutlined } from '@ant-design/icons-vue'
+import { useRouter } from "vue-router";
+import { onMounted,ref,createVNode } from "vue"
+const router = useRouter()
+const mainAreaData = ref([])
+
+let currentInfoModel = ref('attribute')
+const userData = ref({})
+let defaultInfoData = ref([])
+let systemInfoData = ref([])
+let serveTab = ref()
+
+const mianData = async ()=>{
+  const res = await Api.requested({
+    "id":20230615103902,
+    "content": {
+      "w_deviceid": router.currentRoute.value.query.id
+    }
+  })
+  userData.value = res.data
+  console.log(userData.value);
+  changeDataStructure(res.data)
+}
+const changeDataStructure = (data) => {
+  mainAreaData.value = [
+    {
+      label:'设备编码',
+      value:data.serialnumber
+    },
+    {
+      label:'设备名称',
+      value:data.devicename
+    },
+    {
+      label:'区域',
+      value:data.areaname
+    },
+    {
+      label:'状态',
+      value:data.isused ? '启用':'停用',
+      style:() => {
+        let style = {}
+        style.color = utils.statusAndColor(userData.value.isused ? '启用' : '禁用')
+        return style
+      }
+    },
+    {
+      label:'描述',
+      value:data.remarks
+    },
+  ]
+  defaultInfoData.value = [
+    {label:'产品编码',value:userData.value.prodnum},
+    {label:'产品名称',value:userData.value.prodname},
+    {label:'设备类型',value:userData.value.prodtype},
+    {label:'厂商',value:userData.value.enterprisename},
+    {label:'状态',value:userData.value.isused ? '启用' : '禁用',style:() => {
+      let style = {}
+      style.color = utils.statusAndColor(userData.value.isused ? '启用' : '禁用')
+      return style
+    }},
+    {label:'设备数量',value:userData.value.device_count},
+    {label:'描述',value:userData.value.remarks},
+  ]
+  systemInfoData.value = [
+    {label:'创建时间',value:userData.value.createdate},
+    {label:'创建人',value:userData.value.createby},
+    {label:'最近编辑时间',value:userData.value.changedate},
+    {label:'最近编辑人',value:userData.value.changeby},
+    {label:'描述',value:userData.value.remarks},
+  ]
+}
+
+let serveSuccess = () => {
+  serveTab.value.param.content.ownerid = router.currentRoute.value.query.id
+  serveTab.value.$refs.list.listData()
+}
+onMounted (()=>{
+  mianData()
+})
+</script>
+<style>
+</style>

+ 51 - 0
src/operation/moduleNormal/equipmentMag/index.vue

@@ -0,0 +1,51 @@
+<template>
+  <listTemp ref="list" :param="param" :tableName="'equipmentTable'" keyRouteName="devicename" :searchType="searchType" :detailPage="{name:'equipmentDetail',idname:'w_deviceid'}">
+    <template #operation>
+      <Add @onSuccess="$refs.list.tableData()" :disabled="!utils.hasPermission('insert')"></Add>
+    </template>
+    <template #tb_cell="{data}">
+      <template v-if="data.column.dataIndex === 'operation'">
+      </template>
+      <template v-if="data.column.dataIndex === 'isused'">
+        <span :style="{color:utils.statusAndColor(data.record.isused ? '启用' : '停用')}">{{ data.record.isused ? '启用' : '停用' }}</span>
+      </template>
+    </template>
+  </listTemp>
+</template>
+
+<script setup>
+import listTemp from '@/components/listTemplate/index.vue'
+import normalTable from '@/template/normalTable/index.vue'
+import customBtn from '@/components/customHandleBtn/index.vue'
+import Add from './modules/Add.vue'
+import {ref, defineProps, defineEmits, onMounted} from 'vue'
+import { useBaseStore } from '@/stores/modules/base'
+import Api from '@/api/api'
+import utils from '@/utils/utils'
+
+let base = useBaseStore()
+let emit = defineEmits([])
+let props = defineProps({})
+let searchType = ref([
+  {label:'搜索',key:'condition',type:'input'},
+])
+let param = ref({
+  "id": 20230615153202,
+  "content": {
+    "pageNumber": 1,
+    "pageSize": 25,
+    "where": {
+        "condition": "",
+        "status": ""
+    }
+  },
+})
+
+onMounted(async () => {
+ 
+})
+</script>
+
+<style scoped>
+
+</style>

+ 280 - 0
src/operation/moduleNormal/equipmentMag/modules/Add.vue

@@ -0,0 +1,280 @@
+<template>
+  <a-button type="primary" :disabled="disabled" @click="visible=true" style="margin-right:10px">新建</a-button>
+  <a-drawer
+    v-model:visible="visible"
+    class="custom-class"
+    title="新增设备"
+    placement="right"
+    width="500px"
+    :closable="false"
+    @close="visible = false"
+  >
+    <a-form ref="formRef" :model="form" size="small" layout="vertical" mode="multiple">
+      <a-row :gutter="16">
+        <a-col :span="24">
+          <a-form-item  label="设备编码" name="serialnumber" :rules="[{ required: true, message: '请输入设备编码' }]">
+            <a-input v-model:value="form.serialnumber" placeholder="请输入设备编码"></a-input>
+          </a-form-item>
+        </a-col>
+        <a-col :span="24">
+          <a-form-item  label="设备名称" name="devicename" :rules="[{ required: true, message: '请输入设备名称' }]">
+            <a-input v-model:value="form.devicename" placeholder="请输入设备名称"></a-input>
+          </a-form-item>
+        </a-col>
+        <a-col :span="24">
+          <a-form-item  label="所属产品" name="prodname" :rules="[{required:true,message:'请选择所属产品'}]">
+            <!-- @handleList="handleList" -->
+            <SelectModel 
+              ref="product" 
+              @selectRowData="selectProduct" 
+              rowKey="w_productid" 
+              :param="productParam" 
+              :filterMultiple="true" 
+              :columns="utils.TBLayout('productListTable')" title="选择所属产品"
+            >
+              <template v-slot:slot1>
+                <a-input-search
+                  v-model:value="form.prodname"
+                  enter-button="选择"
+                  readonly
+                  @search="$refs.product.modeVisible=true"
+                />
+              </template>
+            </SelectModel>
+          </a-form-item>
+        </a-col>
+        <a-col :span="24">
+          <a-form-item  label="所属区域" name="areaname" :rules="[{required:true,message:'请选择所属区域'}]">
+            <SelectModel 
+              ref="area" 
+              @selectRowData="selectArea" 
+              rowKey="w_areaid" 
+              :param="areaParam" 
+              :filterMultiple="true" 
+              :columns="utils.TBLayout('areaTable')" title="选择所属区域"
+              @handleList="handleList"
+            >
+              <template v-slot:slot1>
+                <a-input-search
+                  v-model:value="form.areaname"
+                  enter-button="选择"
+                  readonly
+                  @search="$refs.area.modeVisible=true"
+                />
+              </template>
+            </SelectModel>
+          </a-form-item>
+        </a-col>
+        <a-col :span="24">
+          <a-form-item  label="物联卡" name="iccid" :rules="[{required:true,message:'请选择物联卡'}]">
+            <SelectModel 
+              ref="card" 
+              @selectRowData="selectCard" 
+              rowKey="w_iotcardid" 
+              :param="cardParam" 
+              :filterMultiple="true" 
+              :columns="utils.TBLayout('cardTable')" title="选择物联卡"
+            >
+              <template v-slot:slot1>
+                <a-input-search
+                  v-model:value="form.iccid"
+                  enter-button="选择"
+                  readonly
+                  @search="$refs.card.modeVisible=true"
+                />
+              </template>
+            </SelectModel>
+          </a-form-item>
+        </a-col>
+        <a-col :span="24">
+          <a-form-item  label="消息协议" name="sys_msgprotocolid" :rules="[{required:true,message:'请选择消息协议'}]">
+            <a-select
+              v-model:value="form.sys_msgprotocolid"
+              placeholder="请选择消息协议"
+            >
+              <a-select-option v-for="item in msgprotocolList" :key="item.sys_msgprotocolid" :value="item.sys_msgprotocolid">{{ item.protocolname }}</a-select-option>
+            </a-select>
+          </a-form-item>
+        </a-col>
+        <a-col :span="24">
+          <a-form-item  label="省市县" name="province">
+            <a-cascader v-model:value="form.province" :options="province" placeholder="请选择" change-on-select />
+          </a-form-item>
+        </a-col>
+        <a-col :span="24">
+          <a-form-item  label="描述" name="remarks">
+            <a-textarea v-model:value="form.remarks" placeholder="请输入描述"></a-textarea>
+          </a-form-item>
+        </a-col>
+        <a-col :span="24">
+          <a-form-item  label="是否启用" name="isused">
+            <a-checkbox v-model:checked="form.isused"></a-checkbox>
+          </a-form-item>
+        </a-col>
+      </a-row>
+    </a-form>
+    <template #extra>
+      <a-space>
+        <a-button @click="visible=false">关闭</a-button>
+        <a-button type="primary" @click="onSubmit">保存</a-button>
+      </a-space>
+    </template>
+  </a-drawer>
+</template>
+
+<script setup>
+import {ref, defineProps, defineEmits, onMounted} from 'vue'
+import SelectModel from '@/components/selectModel/index.vue'
+import Api from '@/api/api'
+import utils from '@/utils/utils'
+import { useBaseStore } from '@/stores/modules/base'
+import { storeToRefs } from 'pinia'
+import { log } from 'mathjs'
+
+let base = useBaseStore()
+let emit = defineEmits(['onSuccess'])
+let props = defineProps(['disabled'])
+let searchType = ref([{label:'搜索',key:'condition',type:'input'}])
+let visible = ref(false)
+let form = ref({
+  "w_deviceid": 0,
+  "w_productid": 1,
+  "prodname":'',
+  "serialnumber": "",
+  "devicename": "",
+  "w_areaid": 1,
+  "areaname":'',
+  "longitude": "",
+  "latitude": "",
+  "province": "",
+  "city": "",
+  "county": "",
+  "address": "",
+  "isused": 1,
+  "remarks": "",
+  "sys_msgprotocolid": 1,//自定义
+  "w_iotcardid":'',
+  "iccid":''
+})
+let productParam = ref({
+  "id": 20230612103202,
+  "content": {
+      "pageNumber": 1,
+      "pageSize": 20,
+      "where": {
+          "condition": "",
+          "prodtype": "",
+          "enterprisename": "",
+          "isused": "" //0,1
+      }
+  },
+})
+let areaParam = ref({
+  "id": 20230615133302,
+  "content": {
+      "pageNumber": 1,
+      "pageSize": 20,
+      "where": {
+          "condition": ""
+      }
+  },
+})
+
+let cardParam = ref({
+  "id": 20230616142702,
+  "content": {
+      "pageNumber": 1,
+      "pageSize": 40,
+      "where": {
+          "condition": ""
+      }
+  },
+})
+let province = ref([])
+let formRef = ref()
+let msgprotocolList = ref([])
+let onSubmit = async () => {
+  let isCheck = await formRef.value.validateFields()
+  if (!isCheck) return
+  if (form.value.province) {
+    form.value.city = form.value.province[1]
+    form.value.county = form.value.province[2]
+    form.value.province = form.value.province[0]
+  }
+  form.value.isused = form.value.isused ? 1 : 0
+  let res = await Api.requested({
+    id:20230615091502,
+    content: form.value
+  })
+  utils.message(res,'操作成功',() => {
+    visible.value = false
+    emit('onSuccess')
+    formRef.value.resetFields()
+    console.log(res);
+  })
+}
+
+let selectProduct = (data) => {
+  form.value.w_productid = data[data.length - 1].w_productid
+  form.value.prodname = data[data.length - 1].prodname
+}
+
+let selectArea = (data) => {
+  form.value.w_areaid = data[data.length -1].w_areaid
+  form.value.areaname = data[data.length - 1].areaname
+}
+let selectCard = (data) => {
+  form.value.w_iotcardid = data[data.length -1].w_iotcardid
+  form.value.iccid = data[data.length - 1].iccid
+}
+
+
+let handleList = (res) => {
+  res.data = createDeep(res.data)
+}
+
+let createDeep = (array) => {
+  let arr = []
+  function deepFun (node) {
+    console.log(node,'触发');
+    let elNode = {
+      areaname:node['areaname'],
+      areanum:node['areanum'],
+      isused:node['isused'],
+      parentid:node['parentid'],
+      parentname:node['parentname'],
+      remarks:node['remarks'],
+      sequence:node['sequence'],
+      w_areaid:node['w_areaid'],
+      children:[]
+    }
+    if (node.sub && node.sub.length > 0) {
+      // 如果存在子节点
+      for (var index = 0; index < node.sub.length; index++) {
+      // 遍历子节点, 把每个子节点看做一颗独立的树, 传入递归构造子树, 并把结果放回到新node的children中
+      elNode.children.push(deepFun(node.sub[index]));
+      }
+    }
+    if (!elNode.children.length) delete elNode.children
+    return elNode
+  }
+  array.forEach(item => {
+    console.log(item);
+    arr.push(deepFun(item))
+  })
+  return arr
+}
+
+
+onMounted(async () => {
+  let res = await base.optiontypeselect('msgprotocol')
+  msgprotocolList.value = res.data
+  console.log(msgprotocolList.value,'消息协议');
+  province.value = await base.ProvincesData()
+})
+
+</script>
+
+<style scoped>
+
+</style>

+ 269 - 0
src/operation/moduleNormal/equipmentMag/modules/Edit.vue

@@ -0,0 +1,269 @@
+<template>
+  <a-button type="primary" :disabled="disabled" @click="editBtn">编辑</a-button>
+  <a-drawer
+    v-model:visible="visible"
+    class="custom-class"
+    title="编辑设备"
+    placement="right"
+    width="500px"
+    :closable="false"
+    @close="visible = false"
+  >
+    <a-form ref="formRef" :model="form" size="small" layout="vertical" mode="multiple">
+      <a-row :gutter="16">
+        <a-col :span="24">
+          <a-form-item  label="设备编码" name="serialnumber" :rules="[{ required: true, message: '请输入设备编码' }]">
+            <a-input v-model:value="form.serialnumber" placeholder="请输入设备编码"></a-input>
+          </a-form-item>
+        </a-col>
+        <a-col :span="24">
+          <a-form-item  label="设备名称" name="devicename" :rules="[{ required: true, message: '请输入设备名称' }]">
+            <a-input v-model:value="form.devicename" placeholder="请输入设备名称"></a-input>
+          </a-form-item>
+        </a-col>
+        <a-col :span="24">
+          <a-form-item  label="所属产品" name="prodname" :rules="[{required:true,message:'请选择所属产品'}]">
+            <!-- @handleList="handleList" -->
+            <SelectModel 
+              ref="product" 
+              @selectRowData="selectProduct" 
+              rowKey="w_productid" 
+              :param="productParam" 
+              :filterMultiple="true" 
+              :columns="utils.TBLayout('productListTable')" title="选择所属产品"
+            >
+              <template v-slot:slot1>
+                <a-input-search
+                  v-model:value="form.prodname"
+                  enter-button="选择"
+                  readonly
+                  @search="$refs.product.modeVisible=true"
+                />
+              </template>
+            </SelectModel>
+          </a-form-item>
+        </a-col>
+        <a-col :span="24">
+          <a-form-item  label="所属区域" name="areaname" :rules="[{required:true,message:'请选择所属区域'}]">
+            <SelectModel 
+              ref="area" 
+              @selectRowData="selectArea" 
+              rowKey="w_areaid" 
+              :param="areaParam" 
+              :filterMultiple="true" 
+              :columns="utils.TBLayout('areaTable')" title="选择所属区域"
+              @handleList="handleList"
+            >
+              <template v-slot:slot1>
+                <a-input-search
+                  v-model:value="form.areaname"
+                  enter-button="选择"
+                  readonly
+                  @search="$refs.area.modeVisible=true"
+                />
+              </template>
+            </SelectModel>
+          </a-form-item>
+        </a-col>
+        <a-col :span="24">
+          <a-form-item  label="物联卡" name="iccid" :rules="[{required:true,message:'请选择物联卡'}]">
+            <SelectModel 
+              ref="card" 
+              @selectRowData="selectCard" 
+              rowKey="w_iotcardid" 
+              :param="cardParam" 
+              :filterMultiple="true" 
+              :columns="utils.TBLayout('cardTable')" title="选择物联卡"
+            >
+              <template v-slot:slot1>
+                <a-input-search
+                  v-model:value="form.iccid"
+                  enter-button="选择"
+                  readonly
+                  @search="$refs.card.modeVisible=true"
+                />
+              </template>
+            </SelectModel>
+          </a-form-item>
+        </a-col>
+        <a-col :span="24">
+          <a-form-item  label="消息协议" name="sys_msgprotocolid" :rules="[{required:true,message:'请选择消息协议'}]">
+            <a-select
+              v-model:value="form.sys_msgprotocolid"
+              placeholder="请选择消息协议"
+            >
+              <a-select-option v-for="item in msgprotocolList" :key="item.sys_msgprotocolid" :value="item.sys_msgprotocolid">{{ item.protocolname }}</a-select-option>
+            </a-select>
+          </a-form-item>
+        </a-col>
+        <a-col :span="24">
+          <a-form-item  label="省市县" name="province">
+            <a-cascader v-model:value="form.province" :options="province" placeholder="请选择" change-on-select />
+          </a-form-item>
+        </a-col>
+        <a-col :span="24">
+          <a-form-item  label="描述" name="remarks">
+            <a-textarea v-model:value="form.remarks" placeholder="请输入描述"></a-textarea>
+          </a-form-item>
+        </a-col>
+        <a-col :span="24">
+          <a-form-item  label="是否启用" name="isused">
+            <a-checkbox v-model:checked="form.isused"></a-checkbox>
+          </a-form-item>
+        </a-col>
+      </a-row>
+    </a-form>
+    <template #extra>
+      <a-space>
+        <a-button @click="visible=false">关闭</a-button>
+        <a-button type="primary" @click="onSubmit">保存</a-button>
+      </a-space>
+    </template>
+  </a-drawer>
+</template>
+
+<script setup>
+import {ref, defineProps, defineEmits, onMounted} from 'vue'
+import SelectModel from '@/components/selectModel/index.vue'
+import Api from '@/api/api'
+import utils from '@/utils/utils'
+import { useBaseStore } from '@/stores/modules/base'
+import { storeToRefs } from 'pinia'
+import { log } from 'mathjs'
+
+let base = useBaseStore()
+let emit = defineEmits(['onSuccess'])
+let props = defineProps(['disabled','data'])
+let searchType = ref([{label:'搜索',key:'condition',type:'input'}])
+let visible = ref(false)
+let form = ref({
+  "w_deviceid": 0,
+  "w_productid": 1,
+  "prodname":'',
+  "serialnumber": "",
+  "devicename": "",
+  "w_areaid": 1,
+  "areaname":'',
+  "longitude": "",
+  "latitude": "",
+  "province": "",
+  "city": "",
+  "county": "",
+  "address": "",
+  "isused": 1,
+  "remarks": "",
+  "sys_msgprotocolid": 1,//自定义
+  "w_iotcardid":'',
+  "iccid":''
+})
+let productParam = ref({
+  "id": 20230612103202,
+  "content": {
+      "pageNumber": 1,
+      "pageSize": 20,
+      "where": {
+          "condition": "",
+          "prodtype": "",
+          "enterprisename": "",
+          "isused": "" //0,1
+      }
+  },
+})
+let areaParam = ref({
+  "id": 20230608152602,
+  "content": {
+
+  },
+})
+let province = ref([])
+let formRef = ref()
+let msgprotocolList = ref([])
+
+let editBtn = () => {
+  visible.value = true
+  form.value = Object.assign({},form.value,props.data)
+  if (form.value.province) form.value.province = [form.value.province,form.value.city,form.value.county]
+  console.log(props.data);
+}
+let onSubmit = async () => {
+  console.log(form.value);
+  let isCheck = await formRef.value.validateFields()
+  if (!isCheck) return
+  if (form.value.province) {
+    form.value.city = form.value.province[1]
+    form.value.county = form.value.province[2]
+    form.value.province = form.value.province[0]
+  }
+  form.value.isused = form.value.isused ? 1 : 0
+  let res = await Api.requested({
+    id:20230615091502,
+    content: form.value
+  })
+  utils.message(res,'操作成功',() => {
+    visible.value = false
+    emit('onSuccess')
+    formRef.value.resetFields()
+    console.log(res);
+  })
+}
+
+let selectProduct = (data) => {
+  console.log(data);
+  form.value.w_productid = data[data.length - 1].w_productid
+  form.value.prodname = data[data.length - 1].prodname
+}
+
+let selectArea = (data) => {
+  form.value.w_areaid = data[data.length -1].w_areaid
+  form.value.areaname = data[data.length - 1].areaname
+}
+
+let handleList = (res) => {
+  res.data = createDeep(res.data)
+}
+
+let createDeep = (array) => {
+  let arr = []
+  function deepFun (node) {
+    console.log(node,'触发');
+    let elNode = {
+      areaname:node['areaname'],
+      areanum:node['areanum'],
+      isused:node['isused'],
+      parentid:node['parentid'],
+      parentname:node['parentname'],
+      remarks:node['remarks'],
+      sequence:node['sequence'],
+      w_areaid:node['w_areaid'],
+      children:[]
+    }
+    if (node.sub && node.sub.length > 0) {
+      // 如果存在子节点
+      for (var index = 0; index < node.sub.length; index++) {
+      // 遍历子节点, 把每个子节点看做一颗独立的树, 传入递归构造子树, 并把结果放回到新node的children中
+      elNode.children.push(deepFun(node.sub[index]));
+      }
+    }
+    if (!elNode.children.length) delete elNode.children
+    return elNode
+  }
+  array.forEach(item => {
+    console.log(item);
+    arr.push(deepFun(item))
+  })
+  return arr
+}
+
+
+onMounted(async () => {
+  let res = await base.optiontypeselect('msgprotocol')
+  msgprotocolList.value = res.data
+  console.log(msgprotocolList.value,'消息协议');
+  province.value = await base.ProvincesData()
+})
+
+</script>
+
+<style scoped>
+
+</style>

+ 2 - 2
src/operation/moduleNormal/productManage/detail/modules/eventTab/modules/Add.vue

@@ -159,8 +159,8 @@ let onSubmit = async () => {
 
 let selectDataInfo = (data) => {
   console.log(data);
-  form.value.w_dataparamid = data[0].w_dataparamid
-  form.value.paramname = data[0].paramname
+  form.value.w_dataparamid = data[data.length - 1].w_dataparamid
+  form.value.paramname = data[data.length - 1].paramname
   Param.value.modeVisible = false
 }
 </script>

+ 2 - 2
src/operation/moduleNormal/productManage/detail/modules/eventTab/modules/Edit.vue

@@ -160,8 +160,8 @@ let onSubmit = async () => {
 
 let selectDataInfo = (data) => {
   console.log(data);
-  form.value.w_dataparamid = data[0].w_dataparamid
-  form.value.paramname = data[0].paramname
+  form.value.w_dataparamid = data[data.length - 1].w_dataparamid
+  form.value.paramname = data[data.length - 1].paramname
   Param.value.modeVisible = false
 }
 </script>

+ 18 - 0
src/router/modelNormal.js

@@ -154,6 +154,24 @@ const moduleNormal = [
       keepAlive:false
     },
     component: () => import(/* webpackChunkName: "about" */ '@/operation/moduleNormal/productManage/detail/index.vue')
+  },{
+    path: '/equipmentManage',
+    name: 'equipmentMag',
+    meta: {
+      title: '设备管理',
+      name: 'bs_equipmentmag',
+      keepAlive:false
+    },
+    component: () => import(/* webpackChunkName: "about" */ '@/operation/moduleNormal/equipmentMag/index.vue')
+  },{
+    path: '/equipmentDetail',
+    name: 'equipmentDetail',
+    meta: {
+      title: '设备管理详情',
+      name: 'bs_equipmentmag',
+      keepAlive:false
+    },
+    component: () => import(/* webpackChunkName: "about" */ '@/operation/moduleNormal/equipmentMag/detail/index.vue')
   },
   
 

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است