Jelajahi Sumber

Merge branch 'xiaoqin'

codeMan 2 tahun lalu
induk
melakukan
666a4ce57a
66 mengubah file dengan 235 tambahan dan 133 penghapusan
  1. 1 1
      dist/assets/PlusCircleOutlined-579d718a.js
  2. 0 0
      dist/assets/base-c429fa62.js
  3. 1 1
      dist/assets/customBtn-d4e872d7.js
  4. 0 0
      dist/assets/dataBlock-35dbd738.js
  5. 0 0
      dist/assets/index-02f150de.js
  6. 0 0
      dist/assets/index-057205f2.js
  7. 0 0
      dist/assets/index-07b17fee.js
  8. 0 0
      dist/assets/index-1a660b74.js
  9. 0 0
      dist/assets/index-1ff8ba66.js
  10. 0 0
      dist/assets/index-26cc42d2.js
  11. 0 0
      dist/assets/index-27651646.js
  12. 0 0
      dist/assets/index-3f4d5c10.js
  13. 0 0
      dist/assets/index-42fc5122.js
  14. 0 0
      dist/assets/index-4ed7c6ca.js
  15. 0 0
      dist/assets/index-59a121b1.js
  16. 0 0
      dist/assets/index-5fefed7d.js
  17. 1 1
      dist/assets/index-646767bf.js
  18. 0 0
      dist/assets/index-65192c2d.js
  19. 0 0
      dist/assets/index-74b3d740.js
  20. 0 0
      dist/assets/index-7db3d923.js
  21. 0 0
      dist/assets/index-7dd33046.js
  22. 0 0
      dist/assets/index-8130000a.js
  23. 0 0
      dist/assets/index-8268a423.js
  24. 0 0
      dist/assets/index-83756981.js
  25. 0 0
      dist/assets/index-88c431a9.js
  26. 0 0
      dist/assets/index-89a9db66.css
  27. 0 0
      dist/assets/index-8cd69d8f.js
  28. 1 1
      dist/assets/index-8d4acbe9.js
  29. 0 0
      dist/assets/index-8f41d626.js
  30. 0 0
      dist/assets/index-9ce9f7d0.js
  31. 0 0
      dist/assets/index-a2d0cebc.js
  32. 1 1
      dist/assets/index-a5b2198c.js
  33. 0 0
      dist/assets/index-a99dd59a.js
  34. 0 0
      dist/assets/index-af8b8cc0.js
  35. 0 0
      dist/assets/index-b0f81e81.js
  36. 0 0
      dist/assets/index-b76a2430.js
  37. 0 0
      dist/assets/index-b8af400e.js
  38. 0 0
      dist/assets/index-c49ac90a.js
  39. 0 0
      dist/assets/index-c9dc9cc2.js
  40. 0 0
      dist/assets/index-d634a4ef.js
  41. 0 0
      dist/assets/index-df70a991.js
  42. 0 0
      dist/assets/index-e258962c.js
  43. 1 1
      dist/assets/index-eaff948a.js
  44. 0 0
      dist/assets/index-efd849a5.js
  45. 0 0
      dist/assets/index-fb0d57b5.js
  46. 0 0
      dist/assets/index-fec1bf44.js
  47. 1 1
      dist/assets/index.vue_vue_type_style_index_0_scoped_f6f545f0_lang-044b34a2.js
  48. 0 0
      dist/assets/index2-b709ef4b.js
  49. 1 1
      dist/assets/login-cefb7e17.js
  50. 0 0
      dist/assets/map-1e1b5009.js
  51. 1 1
      dist/index.html
  52. 2 1
      src/components/selectModel/index.vue
  53. 22 22
      src/system/IOT/controlPanel/model/shidianxing/modules/controlPanel.vue
  54. 0 11
      src/system/IOT/controlPanel/model/shidianxing/modules/infoPanel.vue
  55. 4 0
      src/system/IOT/controlPanel/modules/myInput.vue
  56. 1 1
      src/system/IOT/equipmentMag/modules/Add.vue
  57. 1 1
      src/system/IOT/equipmentMag/modules/Edit.vue
  58. 69 27
      src/system/IOT/valve/modules/Add.vue
  59. 65 39
      src/system/IOT/valve/modules/Edit.vue
  60. 8 7
      src/system/IOT/valve/modules/productClass/modules/Add.vue
  61. 7 6
      src/system/IOT/valve/modules/productClass/modules/Edit.vue
  62. 2 2
      src/system/moduleNormal/enterpriseArchives/detail/modules/edit.vue
  63. 37 6
      src/system/moduleNormal/systemRemind/modules/Edit.vue
  64. 3 0
      src/system/moduleNormal/systemRemind/modules/selectPeople.vue
  65. 3 0
      src/system/moduleNormal/systemRemind/modules/selectRole.vue
  66. 2 1
      src/template/normalTable/index.vue

+ 1 - 1
dist/assets/PlusCircleOutlined-065367df.js → dist/assets/PlusCircleOutlined-579d718a.js

@@ -1 +1 @@
-import{b as a}from"./index-3c07eb55.js";import{j as u}from"./vue-b109b72f.js";var s={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M696 480H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z"}},{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},name:"plus-circle",theme:"outlined"};const o=s;function i(r){for(var t=1;t<arguments.length;t++){var e=arguments[t]!=null?Object(arguments[t]):{},n=Object.keys(e);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(e).filter(function(c){return Object.getOwnPropertyDescriptor(e,c).enumerable}))),n.forEach(function(c){f(r,c,e[c])})}return r}function f(r,t,e){return t in r?Object.defineProperty(r,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):r[t]=e,r}var l=function(t,e){var n=i({},t,e.attrs);return u(a,i({},n,{icon:o}),null)};l.displayName="PlusCircleOutlined";l.inheritAttrs=!1;const m=l;export{m as P};
+import{b as a}from"./index-7db3d923.js";import{j as u}from"./vue-b109b72f.js";var s={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M696 480H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z"}},{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},name:"plus-circle",theme:"outlined"};const o=s;function i(r){for(var t=1;t<arguments.length;t++){var e=arguments[t]!=null?Object(arguments[t]):{},n=Object.keys(e);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(e).filter(function(c){return Object.getOwnPropertyDescriptor(e,c).enumerable}))),n.forEach(function(c){f(r,c,e[c])})}return r}function f(r,t,e){return t in r?Object.defineProperty(r,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):r[t]=e,r}var l=function(t,e){var n=i({},t,e.attrs);return u(a,i({},n,{icon:o}),null)};l.displayName="PlusCircleOutlined";l.inheritAttrs=!1;const m=l;export{m as P};

File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/base-c429fa62.js


+ 1 - 1
dist/assets/customBtn-88dbf3d0.js → dist/assets/customBtn-d4e872d7.js

@@ -1 +1 @@
-import"./index-3c07eb55.js";import{_ as B}from"./_plugin-vue_export-helper-c27b6911.js";import{a as _,c as C,V as t,W as a,a4 as d,F as b,a2 as f,$ as s,a1 as k,a0 as g,u as c,a7 as x,R as h}from"./vue-b109b72f.js";const S={class:"btn-box"},F=["onClick"],N={key:0,class:"icon1"},O={key:0,class:"content"},$={__name:"customBtn",props:{btnOptions:Array,btn:!1,tab:{type:Boolean,default:()=>!1},select:{type:Boolean,default:()=>!1},activeNormal:{type:Boolean,default:()=>!0},selectDisabled:{type:Boolean,default:()=>!1},btnColor:{type:String,default:()=>"rgb(22,255,246,.30)"},textColor:{type:String,default:()=>"#16FFF6"},icon1:{type:Boolean,default:()=>!1}},emits:["clickBtn","selectChange"],setup(e,{expose:v,emit:m}){const r=e;let n=_(r.activeNormal?r.btnOptions[0].label:""),y=C(o=>i=>(console.log(n.value),i.value==n.value)),p=o=>{n.value=o.label,m("clickBtn",o)};return v({active:n}),(o,i)=>(t(),a("div",null,[d("div",{class:"btn-wrapper",style:k([{"--btnColor":e.btnColor},{"--textColor":e.textColor}])},[d("div",S,[(t(!0),a(b,null,f(e.btnOptions,l=>(t(),a("div",{class:g(["btn-item",c(n)==l.label?"active":"",{active:e.btn}]),onClick:u=>c(p)(l)},x(l.label),11,F))),256))]),e.icon1?(t(),a("div",N)):s("",!0)],4),e.tab?(t(),a("div",O,[(t(!0),a(b,null,f(e.btnOptions,(l,u)=>(t(),a("div",null,[c(y)(l)?h(o.$slots,`slot${u}`,{key:0,data:l},void 0,!0):s("",!0)]))),256))])):s("",!0)]))}},w=B($,[["__scopeId","data-v-277be93f"]]);export{w as c};
+import"./index-7db3d923.js";import{_ as B}from"./_plugin-vue_export-helper-c27b6911.js";import{a as _,c as C,V as t,W as a,a4 as d,F as b,a2 as f,$ as s,a1 as k,a0 as g,u as c,a7 as x,R as h}from"./vue-b109b72f.js";const S={class:"btn-box"},F=["onClick"],N={key:0,class:"icon1"},O={key:0,class:"content"},$={__name:"customBtn",props:{btnOptions:Array,btn:!1,tab:{type:Boolean,default:()=>!1},select:{type:Boolean,default:()=>!1},activeNormal:{type:Boolean,default:()=>!0},selectDisabled:{type:Boolean,default:()=>!1},btnColor:{type:String,default:()=>"rgb(22,255,246,.30)"},textColor:{type:String,default:()=>"#16FFF6"},icon1:{type:Boolean,default:()=>!1}},emits:["clickBtn","selectChange"],setup(e,{expose:v,emit:m}){const r=e;let n=_(r.activeNormal?r.btnOptions[0].label:""),y=C(o=>i=>(console.log(n.value),i.value==n.value)),p=o=>{n.value=o.label,m("clickBtn",o)};return v({active:n}),(o,i)=>(t(),a("div",null,[d("div",{class:"btn-wrapper",style:k([{"--btnColor":e.btnColor},{"--textColor":e.textColor}])},[d("div",S,[(t(!0),a(b,null,f(e.btnOptions,l=>(t(),a("div",{class:g(["btn-item",c(n)==l.label?"active":"",{active:e.btn}]),onClick:u=>c(p)(l)},x(l.label),11,F))),256))]),e.icon1?(t(),a("div",N)):s("",!0)],4),e.tab?(t(),a("div",O,[(t(!0),a(b,null,f(e.btnOptions,(l,u)=>(t(),a("div",null,[c(y)(l)?h(o.$slots,`slot${u}`,{key:0,data:l},void 0,!0):s("",!0)]))),256))])):s("",!0)]))}},w=B($,[["__scopeId","data-v-277be93f"]]);export{w as c};

File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/dataBlock-35dbd738.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index-02f150de.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index-057205f2.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index-07b17fee.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index-1a660b74.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index-1ff8ba66.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index-26cc42d2.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index-27651646.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index-3f4d5c10.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index-42fc5122.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index-4ed7c6ca.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index-59a121b1.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index-5fefed7d.js


+ 1 - 1
dist/assets/index-d3ff470a.js → dist/assets/index-646767bf.js

@@ -1 +1 @@
-import{l as n}from"./index-8b7a4090.js";import{a as e,o as p,V as s,W as i,j as c,X as l,u as a}from"./vue-b109b72f.js";import"./vue-router-e4a270fb.js";import"./index.vue_vue_type_style_index_0_scoped_f6f545f0_lang-96d73577.js";import"./index-3c07eb55.js";import"./_plugin-vue_export-helper-c27b6911.js";import"./base-6ea749e4.js";const x={__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 p(()=>{}),(u,d)=>(s(),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{x as default};
+import{l as n}from"./index-83756981.js";import{a as e,o as p,V as s,W as i,j as c,X as l,u as a}from"./vue-b109b72f.js";import"./vue-router-e4a270fb.js";import"./index.vue_vue_type_style_index_0_scoped_f6f545f0_lang-044b34a2.js";import"./index-7db3d923.js";import"./_plugin-vue_export-helper-c27b6911.js";import"./base-c429fa62.js";const x={__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 p(()=>{}),(u,d)=>(s(),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{x as default};

File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index-65192c2d.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index-74b3d740.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index-7db3d923.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index-7dd33046.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index-8130000a.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index-8268a423.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index-83756981.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index-88c431a9.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index-89a9db66.css


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index-8cd69d8f.js


+ 1 - 1
dist/assets/index-31943733.js → dist/assets/index-8d4acbe9.js

@@ -1 +1 @@
-import{l as d}from"./index-8b7a4090.js";import{a as u,A as f}from"./index-3c07eb55.js";import{u as x}from"./vue-router-e4a270fb.js";import{_ as y}from"./_plugin-vue_export-helper-c27b6911.js";import{a as s,U as h,V as r,W as b,j as k,X as n,G as g,a3 as w,a4 as A,a7 as B,$ as v,u as i}from"./vue-b109b72f.js";import"./index.vue_vue_type_style_index_0_scoped_f6f545f0_lang-96d73577.js";import"./base-6ea749e4.js";const N={class:"y-container"},S=["onClick"],C={__name:"index",setup(V){x();let c=s([]);s([]);let l=u(),p=s({content:{pageNumber:1,pageSize:20,systemappid:l.app.systemappid},id:20221213094401});const _=()=>{let t=window.location.href,e=t.indexOf("/"),o=0;for(;e!=-1;)if(o++,e=t.indexOf("/",e+1),o++==3)return t.slice(0,e)},m=async t=>{console.log("http://60.204.153.188/");let e=await f.requested({id:20221213094501,content:{sys_reportid:t.sys_reportid,dataid:0}});window.open(_()+e.data)};return(t,e)=>{const o=h("a-button");return r(),b("div",N,[k(d,{columns:i(c),param:i(p),tableName:"reportcenterTable"},{operation:n(()=>[g(" 报表中心 ")]),tb_cell:n(({data:a})=>[a.column.dataIndex=="name"?(r(),w(o,{key:0,type:"link"},{default:n(()=>[A("span",{class:"btn-link",onClick:I=>m(a.record)},B(a.record.name),9,S)]),_:2},1024)):v("",!0)]),_:1},8,["columns","param"])])}}},j=y(C,[["__scopeId","data-v-b9e552e1"]]);export{j as default};
+import{l as d}from"./index-83756981.js";import{a as u,A as f}from"./index-7db3d923.js";import{u as x}from"./vue-router-e4a270fb.js";import{_ as y}from"./_plugin-vue_export-helper-c27b6911.js";import{a as s,U as h,V as r,W as b,j as k,X as n,G as g,a3 as w,a4 as A,a7 as B,$ as v,u as i}from"./vue-b109b72f.js";import"./index.vue_vue_type_style_index_0_scoped_f6f545f0_lang-044b34a2.js";import"./base-c429fa62.js";const N={class:"y-container"},S=["onClick"],C={__name:"index",setup(V){x();let c=s([]);s([]);let l=u(),p=s({content:{pageNumber:1,pageSize:20,systemappid:l.app.systemappid},id:20221213094401});const _=()=>{let t=window.location.href,e=t.indexOf("/"),o=0;for(;e!=-1;)if(o++,e=t.indexOf("/",e+1),o++==3)return t.slice(0,e)},m=async t=>{console.log("http://60.204.153.188/");let e=await f.requested({id:20221213094501,content:{sys_reportid:t.sys_reportid,dataid:0}});window.open(_()+e.data)};return(t,e)=>{const o=h("a-button");return r(),b("div",N,[k(d,{columns:i(c),param:i(p),tableName:"reportcenterTable"},{operation:n(()=>[g(" 报表中心 ")]),tb_cell:n(({data:a})=>[a.column.dataIndex=="name"?(r(),w(o,{key:0,type:"link"},{default:n(()=>[A("span",{class:"btn-link",onClick:I=>m(a.record)},B(a.record.name),9,S)]),_:2},1024)):v("",!0)]),_:1},8,["columns","param"])])}}},j=y(C,[["__scopeId","data-v-b9e552e1"]]);export{j as default};

File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index-8f41d626.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index-9ce9f7d0.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index-a2d0cebc.js


+ 1 - 1
dist/assets/index-5d5753d5.js → dist/assets/index-a5b2198c.js

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

File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index-a99dd59a.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index-af8b8cc0.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index-b0f81e81.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index-b76a2430.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index-b8af400e.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index-c49ac90a.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index-c9dc9cc2.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index-d634a4ef.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index-df70a991.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index-e258962c.js


+ 1 - 1
dist/assets/index-b19e8f93.js → dist/assets/index-eaff948a.js

@@ -1 +1 @@
-import{M as o,A as c,e as m}from"./index-3c07eb55.js";import{U as l,V as u,a3 as p,X as y,G as d,a7 as g,u as S}from"./vue-b109b72f.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 _};
+import{M as o,A as c,e as m}from"./index-7db3d923.js";import{U as l,V as u,a3 as p,X as y,G as d,a7 as g,u as S}from"./vue-b109b72f.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 _};

File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index-efd849a5.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index-fb0d57b5.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index-fec1bf44.js


+ 1 - 1
dist/assets/index.vue_vue_type_style_index_0_scoped_f6f545f0_lang-96d73577.js → dist/assets/index.vue_vue_type_style_index_0_scoped_f6f545f0_lang-044b34a2.js

@@ -1 +1 @@
-import{a as i,s as r,k as m,e as u,A as p}from"./index-3c07eb55.js";const h=i();let{tableConfigs:c,app:d}=r(h);const v=m("columnStore",{state:()=>({colIndex:[],checkedColumns:[],columnsIndex:[],selectedColumns:0,cacheData:{},time:null}),persist:{enabled:!0,strategies:[{storage:localStorage,paths:[]}]},getters:{},actions:{userSetting(e){this.selectedColumns=new Date,c.value[`${d.value.systemappid}${e}`]={},c.value[`${d.value.systemappid}${e}`].columnsIndex=this.columnsIndex,c.value[`${d.value.systemappid}${e}`].checkedColumns=this.checkedColumns,this.saveConfig(c.value)},getUserSetting(e){console.log(d.value);let l=[],a=new Map,o=u.TBLayout(e),n=c.value[`${d.value.systemappid}${e}`];return n&&o.length==n.columnsIndex.length?(u.TBLayout(e).map(s=>({value:s.dataIndex,label:s.title})).forEach(s=>{a.set(s.value,s.label)}),this.checkedColumns=n.checkedColumns,n.columnsIndex=this.columnsIndex=n.columnsIndex.length==0?u.TBLayout(e).map(s=>s.dataIndex):n.columnsIndex,n.columnsIndex.forEach(s=>{l.push({value:s,label:a.get(s)})}),l):(this.checkedColumns=this.columnsIndex=u.TBLayout(e).map(t=>t.dataIndex),l=u.TBLayout(e).map(t=>({value:t.dataIndex,label:t.title})),l)},loadTableConfig(e){let l=u.TBLayout(e),a=c.value[`${d.value.systemappid}${e}`],o=[],n=new Map;try{return a&&l.length==a.columnsIndex.length?(l.forEach(t=>{n.set(t.dataIndex,t)}),a.columnsIndex.forEach(t=>{o.push(n.get(t))}),o=o.filter(t=>{if(a.checkedColumns.some(s=>s===t.dataIndex))return t}),o):l}catch{}},async saveConfig(e){await p.requested({classname:"sysmanage.develop.users.users",method:"updateClientConfig",content:{config:JSON.stringify(e)}})}}});export{v as u};
+import{a as i,s as r,k as m,e as u,A as p}from"./index-7db3d923.js";const h=i();let{tableConfigs:c,app:d}=r(h);const v=m("columnStore",{state:()=>({colIndex:[],checkedColumns:[],columnsIndex:[],selectedColumns:0,cacheData:{},time:null}),persist:{enabled:!0,strategies:[{storage:localStorage,paths:[]}]},getters:{},actions:{userSetting(e){this.selectedColumns=new Date,c.value[`${d.value.systemappid}${e}`]={},c.value[`${d.value.systemappid}${e}`].columnsIndex=this.columnsIndex,c.value[`${d.value.systemappid}${e}`].checkedColumns=this.checkedColumns,this.saveConfig(c.value)},getUserSetting(e){console.log(d.value);let l=[],a=new Map,o=u.TBLayout(e),n=c.value[`${d.value.systemappid}${e}`];return n&&o.length==n.columnsIndex.length?(u.TBLayout(e).map(s=>({value:s.dataIndex,label:s.title})).forEach(s=>{a.set(s.value,s.label)}),this.checkedColumns=n.checkedColumns,n.columnsIndex=this.columnsIndex=n.columnsIndex.length==0?u.TBLayout(e).map(s=>s.dataIndex):n.columnsIndex,n.columnsIndex.forEach(s=>{l.push({value:s,label:a.get(s)})}),l):(this.checkedColumns=this.columnsIndex=u.TBLayout(e).map(t=>t.dataIndex),l=u.TBLayout(e).map(t=>({value:t.dataIndex,label:t.title})),l)},loadTableConfig(e){let l=u.TBLayout(e),a=c.value[`${d.value.systemappid}${e}`],o=[],n=new Map;try{return a&&l.length==a.columnsIndex.length?(l.forEach(t=>{n.set(t.dataIndex,t)}),a.columnsIndex.forEach(t=>{o.push(n.get(t))}),o=o.filter(t=>{if(a.checkedColumns.some(s=>s===t.dataIndex))return t}),o):l}catch{}},async saveConfig(e){await p.requested({classname:"sysmanage.develop.users.users",method:"updateClientConfig",content:{config:JSON.stringify(e)}})}}});export{v as u};

File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/index2-b709ef4b.js


+ 1 - 1
dist/assets/login-a875940c.js → dist/assets/login-cefb7e17.js

@@ -1,4 +1,4 @@
-import{u as useRouter}from"./vue-router-e4a270fb.js";import{c as commonjsGlobal,u as useRouteTabsStore,a as useAuthStore,s as storeToRefs,A as Api,m as message}from"./index-3c07eb55.js";import{_ as _imports_0}from"./LOGO-5fe40572.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,a4 as createBaseVNode,j as createVNode,X as withCtx,a1 as normalizeStyle,G as createTextVNode,a as ref,r as reactive,a5 as pushScopeId,a6 as popScopeId}from"./vue-b109b72f.js";var md5Exports={},md5$1={get exports(){return md5Exports},set exports(e){md5Exports=e}};/**
+import{u as useRouter}from"./vue-router-e4a270fb.js";import{c as commonjsGlobal,u as useRouteTabsStore,a as useAuthStore,s as storeToRefs,A as Api,m as message}from"./index-7db3d923.js";import{_ as _imports_0}from"./LOGO-5fe40572.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,a4 as createBaseVNode,j as createVNode,X as withCtx,a1 as normalizeStyle,G as createTextVNode,a as ref,r as reactive,a5 as pushScopeId,a6 as popScopeId}from"./vue-b109b72f.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

File diff ditekan karena terlalu besar
+ 0 - 0
dist/assets/map-1e1b5009.js


+ 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-3c07eb55.js"></script>
+    <script type="module" crossorigin src="./assets/index-7db3d923.js"></script>
     <link rel="modulepreload" crossorigin href="./assets/vue-b109b72f.js">
     <link rel="modulepreload" crossorigin href="./assets/vue-router-e4a270fb.js">
     <link rel="stylesheet" href="./assets/index-8790befc.css">

+ 2 - 1
src/components/selectModel/index.vue

@@ -66,7 +66,8 @@ let refreshTable = () => {
 
 defineExpose({
   modeVisible,
-  refreshTable
+  refreshTable,
+  list
 })
 </script>
 

+ 22 - 22
src/system/IOT/controlPanel/model/shidianxing/modules/controlPanel.vue

@@ -5,44 +5,44 @@
   <div style="height: calc(100% - 25px);overflow-y: scroll;scrollbar-width: none;">
 
     <MyInput 
-        v-if="params.瞬时流量"
-        v-model:value="detailData.paramvalues.瞬时流量" 
-        name="瞬时流量" 
-        :unit="params.瞬时流量 && params.瞬时流量.unit" 
-        :title="params.瞬时流量 && params.瞬时流量.paramname"
+        v-if="params.最不利点压力"
+        v-model:value="detailData.paramvalues.最不利点压力" 
+        name="最不利点压力" 
+        :unit="params.最不利点压力 && params.最不利点压力.unit" 
+        :title="params.最不利点压力 && params.最不利点压力.paramname"
         btnName=""
         :disabled="true"
       >
     </MyInput>
 
     <MyInput 
-        v-if="params.累计流量"
-        v-model:value="detailData.paramvalues.累计流量" 
-        name="累计流量" 
-        :unit="params.累计流量 && params.累计流量.unit" 
-        :title="params.累计流量 && params.累计流量.paramname"
+        v-if="params.阀门开度"
+        v-model:value="detailData.paramvalues.阀门开度" 
+        name="阀门开度" 
+        :unit="params.阀门开度 && params.阀门开度.unit" 
+        :title="params.阀门开度 && params.阀门开度.paramname"
         btnName=""
         :disabled="true"
       >
     </MyInput>
 
     <MyInput 
-        v-if="params.最不利点压力"
-        v-model:value="detailData.paramvalues.最不利点压力" 
-        name="最不利点压力" 
-        :unit="params.最不利点压力 && params.最不利点压力.unit" 
-        :title="params.最不利点压力 && params.最不利点压力.paramname"
+        v-if="params.瞬时流量"
+        v-model:value="detailData.paramvalues.瞬时流量" 
+        name="瞬时流量" 
+        :unit="params.瞬时流量 && params.瞬时流量.unit" 
+        :title="params.瞬时流量 && params.瞬时流量.paramname"
         btnName=""
         :disabled="true"
       >
     </MyInput>
 
     <MyInput 
-        v-if="params.阀门开度"
-        v-model:value="detailData.paramvalues.阀门开度" 
-        name="阀门开度" 
-        :unit="params.阀门开度 && params.阀门开度.unit" 
-        :title="params.阀门开度 && params.阀门开度.paramname"
+        v-if="params.累计流量"
+        v-model:value="detailData.paramvalues.累计流量" 
+        name="累计流量" 
+        :unit="params.累计流量 && params.累计流量.unit" 
+        :title="params.累计流量 && params.累计流量.paramname"
         btnName=""
         :disabled="true"
       >
@@ -75,7 +75,7 @@
 
     <!--最不利点-->
     <div v-if="detailData.paramvalues.控制模式 == '远程不利点模式'">
-      <p style="font-size: 12px;color: #ffffff;">{{params.不利点压力 && params.不利点压力.paramname}}:<span style="font-size: 18px;">{{ form.不利点压力 }}MPa</span></p>
+      <p v-if="params.不利点压力" style="font-size: 12px;color: #ffffff;">{{params.不利点压力 && params.不利点压力.paramname}}:<span style="font-size: 18px;">{{ form.不利点压力 }}MPa</span></p>
       <MyInput 
           v-if="detailData.function['不利点压力设定'] && params.不利点压力设定"
           v-model:value="detailData.paramvalues.不利点压力设定" 
@@ -127,7 +127,7 @@
 
 
     <!--恒压控制-->
-    <div v-else-if="detailData.paramvalues.控制模式 == '恒压控制'">
+    <div v-else-if="detailData.paramvalues.控制模式 == '恒压控制启动'">
       <MyInput 
           v-if="detailData.function['恒压控制'] && params.恒压控制启动"
           :form="detailData.paramvalues"

+ 0 - 11
src/system/IOT/controlPanel/model/shidianxing/modules/infoPanel.vue

@@ -60,17 +60,6 @@
         </a-tooltip>
       </div>
     </div>
-    <div class="info-item">
-      <div class="name">固件版本</div>
-      <div class="value">
-        <a-tooltip>
-          <template #title>
-            {{ detailData.version }}
-          </template>
-          {{ detailData.version }}
-        </a-tooltip>
-      </div>
-    </div>
     <div class="info-item">
       <div class="name">最近上线时间</div>
       <div class="value">

+ 4 - 0
src/system/IOT/controlPanel/modules/myInput.vue

@@ -236,5 +236,9 @@ defineExpose({
   padding-right: 25px;
 }
 
+/deep/.ant-input-number-handler-wrap {
+  opacity: 1 !important;
+}
+
 
 </style>

+ 1 - 1
src/system/IOT/equipmentMag/modules/Add.vue

@@ -75,7 +75,7 @@
           </a-form-item>
         </a-col> -->
         <a-col :span="24">
-          <a-form-item  label="物联卡" name="iccid" :rules="[{required:true,message:'请选择物联卡',validateTrigger:'onChange'}]">
+          <a-form-item  label="物联卡" name="iccid">
             <SelectModel 
               ref="card" 
               @selectRowData="selectCard" 

+ 1 - 1
src/system/IOT/equipmentMag/modules/Edit.vue

@@ -75,7 +75,7 @@
           </a-form-item>
         </a-col> -->
         <a-col :span="24">
-          <a-form-item  label="物联卡" name="iccid" :rules="[{required:true,message:'请选择物联卡',validateTrigger:'onChange'}]">
+          <a-form-item  label="物联卡" name="iccid">
             <SelectModel 
               ref="card" 
               @selectRowData="selectCard" 

+ 69 - 27
src/system/IOT/valve/modules/Add.vue

@@ -22,17 +22,33 @@
           </a-form-item>
         </a-col>
         <a-col :span="12">
-          <a-form-item  label="产品分类" name="itemclassid" :rules="[{ required: true, message: '请选择阀门分类' }]">
+          <a-form-item  label="所属站点" name="sitename">
             <a-select
               ref="select"
-              v-model:value="form.itemclassid"
-              placeholder="请选择产品分类"
-              @select="classChange"
+              v-model:value="form.sitename"
+              placeholder="请选择所属站点"
+              @change="siteChange"
+              allowClear
             >
-              <a-select-option :value="item.itemclassid" v-for="item in classList" :key="item.itemclassid">{{ item.itemclassname }}</a-select-option>
+              <a-select-option :value="item.sitename" v-for="item in siteList" :key="item.siteid">{{ item.sitename }}</a-select-option>
             </a-select>
           </a-form-item>
         </a-col>
+        <a-col :span="12">
+          <a-form-item  label="产品分类" name="itemclassname" :rules="[{ required: true, message: '请选择产品分类' }]">
+            <a-input v-model:value="form.itemclassname" placeholder="选择产品分类" @click="classClick"></a-input>
+            <SelectModel 
+              ref="productclass" 
+              @selectRowData="selectClass" 
+              rowKey="itemclassid" 
+              :param="calssParam" 
+              :filterMultiple="true" 
+              @handleList="handleList"
+              :columns="utils.TBLayout('productClassTable').splice(0,utils.TBLayout('productClassTable').length - 1)" title="选择产品分类"
+            >
+            </SelectModel>
+          </a-form-item>
+        </a-col>
         <a-col :span="12">
           <a-form-item  label="阀门类型" name="assettype" :rules="[{ required: true, message: '请选择阀门类型' }]">
             <a-input :disabled="true" v-model:value="form.assettype" placeholder="请选择阀门类型"></a-input>
@@ -94,19 +110,6 @@
           </div>
         </a-form-item>
         </a-col>
-        <a-col :span="12">
-          <a-form-item  label="所属站点" name="sitename">
-            <a-select
-              ref="select"
-              v-model:value="form.sitename"
-              placeholder="请选择所属站点"
-              @change="siteChange"
-              allowClear
-            >
-              <a-select-option :value="item.sitename" v-for="item in siteList" :key="item.siteid">{{ item.sitename }}</a-select-option>
-            </a-select>
-          </a-form-item>
-        </a-col>
         <a-col :span="24">
           <a-form-item  label="图片" name="attinfos" :rules="[{required:true,message:'请选择图片',validateTrigger:'onChange'}]">
             <Upload2 accept="image/png, image/jpeg" :bindData="bindData" ref="upload" v-model:value="form.attinfos"></Upload2>
@@ -124,7 +127,7 @@
 </template>
 
 <script setup>
-import {ref, defineProps, defineEmits, onMounted, inject} from 'vue'
+import {ref, defineProps, defineEmits, onMounted, inject,nextTick} from 'vue'
 import { CloseCircleOutlined, PlusCircleOutlined } from '@ant-design/icons-vue'
 import SelectModel from '@/components/selectModel/index.vue'
 import Upload2 from '@/components/upload2/index2.vue'
@@ -146,6 +149,7 @@ let form = ref({
   "itemno": "",
   "itemname": "",
   "itemclassid": undefined,
+  "itemclassname":'',
   "assettype": undefined,
   "model": "",
   "spec": "",
@@ -180,6 +184,7 @@ let bindData = ref({})
 let upload = ref()
 let formRef = ref()
 let loading = ref(false)
+let productclass = ref()
 
 let checkNumber = async (rule,value) => {
   if (isNaN(+value)) {
@@ -229,17 +234,54 @@ let siteChange = (name) => {
   }
   form.value.assettype = undefined
   form.value.itemclassid = undefined
-  getClassList()
+  form.value.itemclassname = ''
+  productclass.value.list.listData()
 }
-let getClassList = async () => {
-  let res = await Api.requested(calssParam.value)
-  classList.value = res.data
-  console.log(res.data,'阀门分类数据');
+
+let selectClass = (data) => {
+  form.value.itemclassname = data[data.length-1].itemclassname
+  form.value.itemclassid = data[data.length-1].itemclassid
+  form.value.assettype = data[data.length-1].assettype
+
+}
+let classClick = () => {
+  productclass.value.modeVisible = true
+  nextTick(() => {
+    productclass.value.refreshTable()
+  })
+}
+let handleList = (res) => {
+  res.data = createDeep(res.data)
 }
 
-onMounted(() => {
-  getClassList()
-})
+let createDeep = (array) => {
+  let arr = []
+  function deepFun (node) {
+    let elNode = {
+      assettype:node['assettype'],
+      itemclassname:node['itemclassname'],
+      itemclassnum:node['itemclassnum'],
+      siteid:node['siteid'],
+      sitename:node['sitename'],
+      itemclassid:node['itemclassid'],
+      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
+}
 
 </script>
 

+ 65 - 39
src/system/IOT/valve/modules/Edit.vue

@@ -22,17 +22,34 @@
           </a-form-item>
         </a-col>
         <a-col :span="12">
-          <a-form-item  label="产品分类" name="itemclassid" :rules="[{ required: true, message: '请选择阀门分类' }]">
+          <a-form-item  label="所属站点" name="sitename">
             <a-select
               ref="select"
-              v-model:value="form.itemclassid"
-              placeholder="请选择产品分类"
-              @select="classChange"
+              v-model:value="form.sitename"
+              placeholder="请选择所属站点"
+              @change="siteChange"
+              allowClear
+              disabled
             >
-              <a-select-option :value="item.itemclassid" v-for="item in classList" :key="item.itemclassid">{{ item.itemclassname }}</a-select-option>
+              <a-select-option :value="item.sitename" v-for="item in siteList" :key="item.siteid">{{ item.sitename }}</a-select-option>
             </a-select>
           </a-form-item>
         </a-col>
+        <a-col :span="12">
+          <a-form-item  label="产品分类" name="itemclassname" :rules="[{ required: true, message: '请选择产品分类' }]">
+            <a-input v-model:value="form.itemclassname" placeholder="选择产品分类" @click="classClick"></a-input>
+            <SelectModel 
+              ref="productclass" 
+              @selectRowData="selectClass" 
+              rowKey="itemclassid" 
+              :param="calssParam" 
+              :filterMultiple="true" 
+              @handleList="handleList"
+              :columns="utils.TBLayout('productClassTable').splice(0,utils.TBLayout('productClassTable').length - 1)" title="选择产品分类"
+            >
+            </SelectModel>
+          </a-form-item>
+        </a-col>
         <a-col :span="12">
           <a-form-item  label="阀门类型" name="assettype" :rules="[{ required: true, message: '请选择阀门类型' }]">
             <a-input :disabled="true" v-model:value="form.assettype" placeholder="请选择阀门类型"></a-input>
@@ -94,19 +111,6 @@
           </div>
         </a-form-item>
         </a-col>
-        <a-col :span="12">
-          <a-form-item  label="所属站点" name="sitename">
-            <a-select
-              ref="select"
-              v-model:value="form.sitename"
-              placeholder="请选择所属站点"
-              @change="siteChange"
-              allowClear
-            >
-              <a-select-option :value="item.sitename" v-for="item in siteList" :key="item.siteid">{{ item.sitename }}</a-select-option>
-            </a-select>
-          </a-form-item>
-        </a-col>
         <a-col :span="24">
           <a-form-item  label="图片" name="attinfos" :rules="[{required:true,message:'请选择图片',validateTrigger:'onChange'}]">
             <Upload2 accept="image/png, image/jpeg" :bindData="bindData" ref="upload" v-model:value="form.attinfos"></Upload2>
@@ -124,6 +128,7 @@
 </template>
 
 <script setup>
+import SelectModel from '@/components/selectModel/index.vue'
 import {ref, defineProps, defineEmits, onMounted,nextTick,inject } from 'vue'
 import Upload2 from '@/components/upload2/index2.vue'
 import Api from '@/api/api'
@@ -160,6 +165,7 @@ let upload = ref()
 let formRef = ref()
 let loading = ref(false)
 let siteList = inject('siteList')
+let productclass = ref()
 
 let calssParam = ref({
   "id": 20230731145202,
@@ -193,7 +199,6 @@ let classChange = (id) => {
   let result = classList.value.filter(item => item.itemclassid == id)[0]
   form.value.assettype = result.assettype
 }
-
 let siteChange = (name) => {
   if (name) {
     let result = siteList.value.filter(item => item.sitename == name)[0]
@@ -204,35 +209,56 @@ let siteChange = (name) => {
   }
   form.value.assettype = undefined
   form.value.itemclassid = undefined
-  getClassList()
+  form.value.itemclassname = ''
+  productclass.value.list.listData()
 }
 
+let selectClass = (data) => {
+  form.value.itemclassname = data[data.length-1].itemclassname
+  form.value.itemclassid = data[data.length-1].itemclassid
+  form.value.assettype = data[data.length-1].assettype
 
-let onSubmit = async () => {
-  form.value.attinfos = upload.value.fileList.length ? '1' : '' 
-  let isCheck = await formRef.value.validateFields()
-  if (!isCheck) return
-  loading.value = true
-  let res = await Api.requested({
-    id:20230731155302,
-    content: form.value
-  })
-  utils.message(res,'操作成功',() => {
-    loading.value = false
-    emit('onSuccess')
-    visible.value = false
-    formRef.value.resetFields()
+}
+let classClick = () => {
+  productclass.value.modeVisible = true
+  nextTick(() => {
+    productclass.value.refreshTable()
   })
 }
+let handleList = (res) => {
+  res.data = createDeep(res.data)
+}
 
-let getClassList = async () => {
-  let res = await Api.requested(calssParam.value)
-  classList.value = res.data
-  console.log(res.data,'阀门分类数据');
+let createDeep = (array) => {
+  let arr = []
+  function deepFun (node) {
+    let elNode = {
+      assettype:node['assettype'],
+      itemclassname:node['itemclassname'],
+      itemclassnum:node['itemclassnum'],
+      siteid:node['siteid'],
+      sitename:node['sitename'],
+      itemclassid:node['itemclassid'],
+      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(() => {
-  getClassList()
 })
 
 </script>

+ 8 - 7
src/system/IOT/valve/modules/productClass/modules/Add.vue

@@ -35,8 +35,8 @@
           </a-form-item>
         </a-col>
         <a-col :span="24">
-          <a-form-item  label="上级区域" name="parentname">
-            <a-input v-model:value="form.parentname" placeholder="请选择上级区域" @click="parentClick"></a-input>
+          <a-form-item  label="上级分类" name="parentname">
+            <a-input v-model:value="form.parentname" placeholder="选择产品分类" @click="parentClick"></a-input>
             <SelectModel 
               ref="productclass" 
               @selectRowData="selectClass" 
@@ -44,20 +44,21 @@
               :param="param" 
               :filterMultiple="true" 
               @handleList="handleList"
-              :columns="utils.TBLayout('productClassTable').splice(0,utils.TBLayout('productClassTable').length - 1)" title="选择上级区域"
+              :columns="utils.TBLayout('productClassTable').splice(0,utils.TBLayout('productClassTable').length - 1)" title="选择产品分类"
             >
             </SelectModel>
           </a-form-item>
         </a-col>
         <a-col :span="24">
-          <a-form-item  label="阀门类型" name="assettype" :rules="[{ required: true, message: '请输入阀门类型' }]">
-            <a-select
+          <a-form-item  label="资产类型" name="assettype" :rules="[{ required: true, message: '请输入资产类型' }]">
+            <a-input v-model:value="form.assettype" disabled placeholder="请输入资产类型"></a-input>
+            <!-- <a-select
               ref="select"
               v-model:value="form.assettype"
               placeholder="请选择阀门类型"
             >
               <a-select-option :value="item.value" v-for="item in classList" :key="item.value">{{ item.value }}</a-select-option>
-            </a-select>
+            </a-select> -->
           </a-form-item>
         </a-col>
 
@@ -83,7 +84,7 @@ let visible = ref(false)
 let form = ref({
   "ownersiteid": "", //归属站点
   "itemclassid": 0,
-  "assettype": undefined, //不支持更新
+  "assettype": '阀门', //不支持更新
   "parentid": '', //不支持更新
   "itemclassnum": "", //不支持更新
   "itemclassname": "", //可更新

+ 7 - 6
src/system/IOT/valve/modules/productClass/modules/Edit.vue

@@ -36,8 +36,8 @@
           </a-form-item>
         </a-col>
         <a-col :span="24">
-          <a-form-item  label="上级区域" name="itemclassfullname">
-            <a-input v-model:value="form.parentname" placeholder="请选择上级区域" @click="parentClick"></a-input>
+          <a-form-item  label="上级分类" name="itemclassfullname">
+            <a-input v-model:value="form.parentname" placeholder="选择产品分类" @click="parentClick"></a-input>
             <SelectModel 
               ref="productclass" 
               @selectRowData="selectClass" 
@@ -45,20 +45,21 @@
               :param="param" 
               :filterMultiple="true" 
               @handleList="handleList"
-              :columns="utils.TBLayout('productClassTable').splice(0,utils.TBLayout('productClassTable').length - 1)" title="选择上级区域"
+              :columns="utils.TBLayout('productClassTable').splice(0,utils.TBLayout('productClassTable').length - 1)" title="选择产品分类"
             >
             </SelectModel>
           </a-form-item>
         </a-col>
         <a-col :span="24">
-          <a-form-item  label="阀门类型" name="assettype" :rules="[{ required: true, message: '请输入阀门类型' }]">
-            <a-select
+          <a-form-item  label="资产类型" name="assettype" :rules="[{ required: true, message: '请输入资产类型' }]">
+            <a-input v-model:value="form.assettype" disabled placeholder="请输入资产类型"></a-input>
+            <!-- <a-select
               ref="select"
               v-model:value="form.assettype"
               placeholder="请选择阀门类型"
             >
               <a-select-option :value="item.value" v-for="item in classList" :key="item.value">{{ item.value }}</a-select-option>
-            </a-select>
+            </a-select> -->
           </a-form-item>
         </a-col>
       </a-row>

+ 2 - 2
src/system/moduleNormal/enterpriseArchives/detail/modules/edit.vue

@@ -16,9 +16,9 @@
             <a-form-item label="企业名称" name="enterprisename" :rules="[{ required: true, message: '请输入企业名称' }]">
               <a-input  v-model:value="form.enterprisename"
                 placeholder="输入企业名称">
-                <template #addonAfter>
+                <!-- <template #addonAfter>
                    <business-info :value="form.enterprisename" @onSelect="onSelect"></business-info>
-                </template>
+                </template> -->
               </a-input>
             </a-form-item>
           </a-col>

+ 37 - 6
src/system/moduleNormal/systemRemind/modules/Edit.vue

@@ -56,7 +56,7 @@
                   v-model:value="form.rolename"
                   enter-button="添加"
                   readonly
-                  @search="$refs.Role.modeVisible=true"
+                  @search="roleClick"
                 />
               </template>
             </selectRole>
@@ -69,16 +69,16 @@
         </a-col>
         <a-col :span="24" v-if="form.isuser">
           <a-form-item  label="人员选择" name="username">
-            <SelectModel ref="People" @selectRowData="selectPeoples" rowKey="userid" :param="peopleParam" :columns="utils.TBLayout('staffTable')" title="选择人员">
-              <template v-slot:slot1>
+            <selectPeople ref="People" @selectPeople="selectPeoples">
+              <template v-slot:input>
                 <a-input-search
                   v-model:value="form.username"
                   enter-button="添加"
                   readonly
-                  @search="$refs.People.modeVisible=true"
+                  @search="peopleClick"
                 />
               </template>
-            </SelectModel>
+            </selectPeople>
           </a-form-item>
         </a-col>
       </a-row>
@@ -97,7 +97,7 @@
 import selectRole from './selectRole.vue'
 import selectPeople from './selectPeople.vue'
 import SelectModel from '@/components/selectModel/index.vue'
-import {ref,defineProps,defineEmits} from 'vue'
+import {ref,defineProps,defineEmits, nextTick} from 'vue'
 import Api from '@/api/api'
 import utils from '@/utils/utils'
 let props = defineProps({
@@ -130,6 +130,34 @@ let form = ref({
   sqlstr:''
 })
 let formRef = ref()
+let Role = ref()
+let People = ref()
+
+let roleClick = () => {
+  Role.value.modeVisible=true
+  nextTick(() => {
+    Role.value.list.selectedRowKeys = form.value.roleids
+    Role.value.result = form.value.roleids.map(item => {
+      return {
+          roleid: item,
+          rolename: form.value.rolemsg[item]
+        }
+    })
+  })
+}
+
+let peopleClick = () => {
+  People.value.modeVisible=true
+  nextTick(() => {
+    People.value.list.selectedRowKeys = form.value.userids
+    People.value.result = form.value.userids.map(item => {
+      return {
+          userid: item,
+          username: form.value.usermsg[item]
+        }
+    })
+  })
+}
 
 let editBtn = () => {
   visible.value = true
@@ -141,12 +169,15 @@ let editBtn = () => {
 let selectRoles = (data) => {
   form.value.rolename = data.map(item => item.rolename).join(',')
   form.value.roleids = data.map(item => item.roleid)
+  Role.value.list.selectedRowKeys = form.value.roleids
   console.log('触发',form.value);
 }
 
 let selectPeoples = (data) => {
+  console.log(data);
   form.value.username = data.map(item => item.name).join(',')
   form.value.userids = data.map(item => item.userid)
+  People.value.list.selectedRowKeys = form.value.userid
 }
 
 let onSubmit = async () => {

+ 3 - 0
src/system/moduleNormal/systemRemind/modules/selectPeople.vue

@@ -32,6 +32,7 @@ let param = ref({
     }
   }
 })
+let list = ref()
 let emit = defineEmits(['selectPeople'])
 let result = ref('')
 let submit = () => {
@@ -44,6 +45,8 @@ let onSelect = (data) => {
 }
 defineExpose({
   modeVisible,
+  list,
+  result
 })
 
 </script>

+ 3 - 0
src/system/moduleNormal/systemRemind/modules/selectRole.vue

@@ -32,6 +32,7 @@ let param = ref({
     }
   }
 })
+let list = ref()
 let emit = defineEmits(['selectRoles'])
 let result = ref('')
 let submit = () => {
@@ -44,6 +45,8 @@ let onSelect = (data) => {
 }
 defineExpose({
   modeVisible,
+  list,
+  result
 })
 
 </script>

+ 2 - 1
src/template/normalTable/index.vue

@@ -179,7 +179,8 @@ let customRow = (record, index) => {
   defineExpose({
     listData,
     reloadSelect,
-    tableRecord
+    tableRecord,
+    selectedRowKeys
   })
 </script>
 <style>

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini