瀏覽代碼

2023-8-21

codeMan 1 年之前
父節點
當前提交
8bafa8ab06
共有 75 個文件被更改,包括 234 次插入42 次删除
  1. 1 0
      dist/assets/Edit-59db15f9.css
  2. 0 1
      dist/assets/Edit-8769aedf.css
  3. 1 1
      dist/assets/PlusCircleOutlined-cefdb68b.js
  4. 0 0
      dist/assets/base-4e75754a.js
  5. 1 1
      dist/assets/customBtn-44f1a778.js
  6. 0 0
      dist/assets/dataBlock-c500cfb7.js
  7. 0 0
      dist/assets/index-003d24a4.js
  8. 0 0
      dist/assets/index-00b61474.js
  9. 0 0
      dist/assets/index-070ea772.js
  10. 0 0
      dist/assets/index-075d2501.js
  11. 0 0
      dist/assets/index-08eac17e.js
  12. 0 0
      dist/assets/index-09a6e925.js
  13. 0 0
      dist/assets/index-0e42df21.js
  14. 0 0
      dist/assets/index-108149ae.js
  15. 0 0
      dist/assets/index-12c2f30c.js
  16. 1 1
      dist/assets/index-1e222d95.js
  17. 0 0
      dist/assets/index-295c8454.js
  18. 0 1
      dist/assets/index-2ae735d7.css
  19. 0 0
      dist/assets/index-2d4c8a80.js
  20. 0 0
      dist/assets/index-2d7f6e75.js
  21. 0 0
      dist/assets/index-31e3a924.js
  22. 1 1
      dist/assets/index-34222c8d.js
  23. 0 0
      dist/assets/index-3d5990f6.js
  24. 0 0
      dist/assets/index-3d93c562.js
  25. 0 0
      dist/assets/index-4a8d9d3e.js
  26. 0 0
      dist/assets/index-664cb882.js
  27. 0 0
      dist/assets/index-68ce5174.js
  28. 1 0
      dist/assets/index-6fe9a737.css
  29. 0 0
      dist/assets/index-72dc65b5.js
  30. 0 0
      dist/assets/index-74de86aa.js
  31. 0 0
      dist/assets/index-7f8a2cf5.js
  32. 0 0
      dist/assets/index-8118450a.js
  33. 0 0
      dist/assets/index-87651984.js
  34. 0 0
      dist/assets/index-8a7ded27.js
  35. 1 1
      dist/assets/index-8a8f68fe.js
  36. 0 0
      dist/assets/index-8d1f09ba.js
  37. 0 0
      dist/assets/index-8dead4df.js
  38. 0 0
      dist/assets/index-9b974c94.js
  39. 0 0
      dist/assets/index-9e5a8eae.js
  40. 0 0
      dist/assets/index-a737c434.js
  41. 0 0
      dist/assets/index-a8abc5a7.js
  42. 0 0
      dist/assets/index-ab9f546a.js
  43. 0 0
      dist/assets/index-abc10e43.js
  44. 0 0
      dist/assets/index-b04078bd.js
  45. 0 0
      dist/assets/index-bc8de363.js
  46. 0 0
      dist/assets/index-bcf12d18.js
  47. 0 0
      dist/assets/index-c10e6f51.js
  48. 0 0
      dist/assets/index-cc12b11c.js
  49. 1 1
      dist/assets/index-d106f646.js
  50. 0 0
      dist/assets/index-d1e5bf4f.js
  51. 0 0
      dist/assets/index-d3debd98.js
  52. 0 0
      dist/assets/index-d5d9e6f9.js
  53. 0 0
      dist/assets/index-d7afe53c.js
  54. 0 0
      dist/assets/index-dd6b17b1.js
  55. 0 0
      dist/assets/index-de407126.js
  56. 0 0
      dist/assets/index-e4109750.js
  57. 0 0
      dist/assets/index-f79102b8.js
  58. 0 0
      dist/assets/index-fd53b51f.js
  59. 1 1
      dist/assets/index.vue_vue_type_style_index_0_scoped_f6f545f0_lang-dc16872f.js
  60. 0 0
      dist/assets/index2-fbf95f39.js
  61. 1 1
      dist/assets/login-5fdf7738.js
  62. 0 0
      dist/assets/map-2be11129.js
  63. 1 1
      dist/index.html
  64. 1 1
      src/components/selectModel/index.vue
  65. 2 2
      src/system/IOT/IoTdashboard/index.vue
  66. 2 5
      src/system/IOT/controlPanel/model/06/index.vue
  67. 2 2
      src/system/IOT/equipmentMag/detail/index.vue
  68. 1 2
      src/system/IOT/gatewayManage/index.vue
  69. 7 1
      src/system/IOT/iotcard/modules/add.vue
  70. 1 1
      src/system/IOT/productManage/detail/index.vue
  71. 1 1
      src/system/IOT/valve/index.vue
  72. 1 1
      src/system/IOT/valveAssets/index.vue
  73. 50 2
      src/system/IOT/warningHistory/index.vue
  74. 78 7
      src/system/IOT/warningSet/modules/Add.vue
  75. 77 6
      src/system/IOT/warningSet/modules/Edit.vue

+ 1 - 0
dist/assets/Edit-59db15f9.css

@@ -0,0 +1 @@
+[data-v-907f6625] .ant-divider-with-text{margin-top:0!important}.warning-set[data-v-907f6625]{display:flex;width:100%}.warning-set .warning-set__left[data-v-907f6625]{width:100%}.warning-set .warning-set__left .ant-btn[data-v-907f6625]{margin-bottom:10px}[data-v-907f6625] .warning-set .ant-form-item{margin-bottom:0!important}[data-v-907f6625] .ant-tabs-nav-add{display:none}

+ 0 - 1
dist/assets/Edit-8769aedf.css

@@ -1 +0,0 @@
-[data-v-6d75b766] .ant-divider-with-text{margin-top:0!important}.warning-set[data-v-6d75b766]{display:flex;width:100%}.warning-set .warning-set__left[data-v-6d75b766]{width:100%}.warning-set .warning-set__left .ant-btn[data-v-6d75b766]{margin-bottom:10px}[data-v-6d75b766] .warning-set .ant-form-item{margin-bottom:0!important}[data-v-6d75b766] .ant-tabs-nav-add{display:none}

+ 1 - 1
dist/assets/PlusCircleOutlined-90e647de.js → dist/assets/PlusCircleOutlined-cefdb68b.js

@@ -1 +1 @@
-import{b as a}from"./index-e15321ab.js";import{j as u}from"./vue-676ffbd1.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-4a8d9d3e.js";import{j as u}from"./vue-676ffbd1.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};

文件差異過大導致無法顯示
+ 0 - 0
dist/assets/base-4e75754a.js


+ 1 - 1
dist/assets/customBtn-1da51e69.js → dist/assets/customBtn-44f1a778.js

@@ -1 +1 @@
-import"./index-e15321ab.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 c,a1 as k,a0 as g,u as r,a7 as x,R as h}from"./vue-676ffbd1.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:m,emit:v}){const i=e;let o=_(i.activeNormal?i.btnOptions[0].label:""),y=C(n=>s=>(console.log(s.value),s.label==o.value)),p=n=>{o.value=n.label,v("clickBtn",n)};return m({active:o}),(n,s)=>(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",r(o)==l.label?"active":"",{active:e.btn}]),onClick:u=>r(p)(l)},x(l.label),11,F))),256))]),e.icon1?(t(),a("div",N)):c("",!0)],4),e.tab?(t(),a("div",O,[(t(!0),a(b,null,f(e.btnOptions,(l,u)=>(t(),a("div",null,[r(y)(l)?h(n.$slots,`slot${u}`,{key:0,data:l},void 0,!0):c("",!0)]))),256))])):c("",!0)]))}},w=B($,[["__scopeId","data-v-5a886c5a"]]);export{w as c};
+import"./index-4a8d9d3e.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 c,a1 as k,a0 as g,u as r,a7 as x,R as h}from"./vue-676ffbd1.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:m,emit:v}){const i=e;let o=_(i.activeNormal?i.btnOptions[0].label:""),y=C(n=>s=>(console.log(s.value),s.label==o.value)),p=n=>{o.value=n.label,v("clickBtn",n)};return m({active:o}),(n,s)=>(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",r(o)==l.label?"active":"",{active:e.btn}]),onClick:u=>r(p)(l)},x(l.label),11,F))),256))]),e.icon1?(t(),a("div",N)):c("",!0)],4),e.tab?(t(),a("div",O,[(t(!0),a(b,null,f(e.btnOptions,(l,u)=>(t(),a("div",null,[r(y)(l)?h(n.$slots,`slot${u}`,{key:0,data:l},void 0,!0):c("",!0)]))),256))])):c("",!0)]))}},w=B($,[["__scopeId","data-v-5a886c5a"]]);export{w as c};

文件差異過大導致無法顯示
+ 0 - 0
dist/assets/dataBlock-c500cfb7.js


文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-003d24a4.js


文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-00b61474.js


文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-070ea772.js


文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-075d2501.js


文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-08eac17e.js


文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-09a6e925.js


文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-0e42df21.js


文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-108149ae.js


文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-12c2f30c.js


+ 1 - 1
dist/assets/index-8947851c.js → dist/assets/index-1e222d95.js

@@ -1 +1 @@
-import{n as g}from"./index-fc87f2b0.js";import{m as k}from"./index-e15321ab.js";import{a as d,w as y,U as D,V as l,W as o,j as u,X as f,ac as _,R as r,F as p,G as R,a7 as S,u as c,H as C}from"./vue-676ffbd1.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:b,emit:m}){let s=d(),e=d(!1),v=()=>{if(!s.value.tableRecord.length)return k.warning("请选择数据");e.value=!1,m("selectRowData",s.value.tableRecord)};y(()=>e.value,(t,n)=>{t||s.value.reloadSelect()});let h=()=>{m("close")};return b({modeVisible:e,refreshTable:()=>{s.value.listData()},list:s}),(t,n)=>{const w=D("a-modal");return l(),o(p,null,[u(w,{visible:c(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:c(h),onOk:c(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(p,{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-3d93c562.js";import{m as k}from"./index-4a8d9d3e.js";import{a as d,w as y,U as D,V as l,W as o,j as u,X as f,ac as _,R as r,F as p,G as R,a7 as S,u as c,H as C}from"./vue-676ffbd1.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:b,emit:m}){let s=d(),e=d(!1),v=()=>{if(!s.value.tableRecord.length)return k.warning("请选择数据");e.value=!1,m("selectRowData",s.value.tableRecord)};y(()=>e.value,(t,n)=>{t||s.value.reloadSelect()});let h=()=>{m("close")};return b({modeVisible:e,refreshTable:()=>{s.value.listData()},list:s}),(t,n)=>{const w=D("a-modal");return l(),o(p,null,[u(w,{visible:c(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:c(h),onOk:c(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(p,{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 _};

文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-295c8454.js


+ 0 - 1
dist/assets/index-2ae735d7.css

@@ -1 +0,0 @@
-[data-v-3e2b2706] .ant-divider-with-text{margin-top:0!important}.warning-set[data-v-3e2b2706]{display:flex;width:100%}.warning-set .warning-set__left[data-v-3e2b2706]{width:100%}.warning-set .warning-set__left .ant-btn[data-v-3e2b2706]{margin-bottom:10px}[data-v-3e2b2706] .warning-set .ant-form-item{margin-bottom:0!important}[data-v-3e2b2706] .ant-tabs-nav-add{display:none}

文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-2d4c8a80.js


文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-2d7f6e75.js


文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-31e3a924.js


+ 1 - 1
dist/assets/index-739a7d5c.js → dist/assets/index-34222c8d.js

@@ -1 +1 @@
-import{l as n}from"./index-6f50c540.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-676ffbd1.js";import"./vue-router-dd0356f0.js";import"./index.vue_vue_type_style_index_0_scoped_f6f545f0_lang-f3323519.js";import"./index-e15321ab.js";import"./_plugin-vue_export-helper-c27b6911.js";import"./base-3ae9c83b.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-8118450a.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-676ffbd1.js";import"./vue-router-dd0356f0.js";import"./index.vue_vue_type_style_index_0_scoped_f6f545f0_lang-dc16872f.js";import"./index-4a8d9d3e.js";import"./_plugin-vue_export-helper-c27b6911.js";import"./base-4e75754a.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};

文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-3d5990f6.js


文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-3d93c562.js


文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-4a8d9d3e.js


文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-664cb882.js


文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-68ce5174.js


+ 1 - 0
dist/assets/index-6fe9a737.css

@@ -0,0 +1 @@
+[data-v-4d3951f1] .ant-divider-with-text{margin-top:0!important}.warning-set[data-v-4d3951f1]{display:flex;width:100%}.warning-set .warning-set__left[data-v-4d3951f1]{width:100%}.warning-set .warning-set__left .ant-btn[data-v-4d3951f1]{margin-bottom:10px}[data-v-4d3951f1] .warning-set .ant-form-item{margin-bottom:0!important}[data-v-4d3951f1] .ant-tabs-nav-add{display:none}

文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-72dc65b5.js


文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-74de86aa.js


文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-7f8a2cf5.js


文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-8118450a.js


文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-87651984.js


文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-8a7ded27.js


+ 1 - 1
dist/assets/index-7f8e473f.js → dist/assets/index-8a8f68fe.js

@@ -1 +1 @@
-import{l as d}from"./index-6f50c540.js";import{a as u,A as f}from"./index-e15321ab.js";import{u as x}from"./vue-router-dd0356f0.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-676ffbd1.js";import"./index.vue_vue_type_style_index_0_scoped_f6f545f0_lang-f3323519.js";import"./base-3ae9c83b.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-8118450a.js";import{a as u,A as f}from"./index-4a8d9d3e.js";import{u as x}from"./vue-router-dd0356f0.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-676ffbd1.js";import"./index.vue_vue_type_style_index_0_scoped_f6f545f0_lang-dc16872f.js";import"./base-4e75754a.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};

文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-8d1f09ba.js


文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-8dead4df.js


文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-9b974c94.js


文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-9e5a8eae.js


文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-a737c434.js


文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-a8abc5a7.js


文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-ab9f546a.js


文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-abc10e43.js


文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-b04078bd.js


文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-bc8de363.js


文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-bcf12d18.js


文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-c10e6f51.js


文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-cc12b11c.js


+ 1 - 1
dist/assets/index-b76c48d0.js → dist/assets/index-d106f646.js

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

文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-d1e5bf4f.js


文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-d3debd98.js


文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-d5d9e6f9.js


文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-d7afe53c.js


文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-dd6b17b1.js


文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-de407126.js


文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-e4109750.js


文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-f79102b8.js


文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index-fd53b51f.js


+ 1 - 1
dist/assets/index.vue_vue_type_style_index_0_scoped_f6f545f0_lang-f3323519.js → dist/assets/index.vue_vue_type_style_index_0_scoped_f6f545f0_lang-dc16872f.js

@@ -1 +1 @@
-import{a as i,s as r,j as m,e as u,A as p}from"./index-e15321ab.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);console.log(l);let 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,j as m,e as u,A as p}from"./index-4a8d9d3e.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);console.log(l);let 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};

文件差異過大導致無法顯示
+ 0 - 0
dist/assets/index2-fbf95f39.js


+ 1 - 1
dist/assets/login-8cf2ecf8.js → dist/assets/login-5fdf7738.js

@@ -1,4 +1,4 @@
-import{u as useRouter}from"./vue-router-dd0356f0.js";import{c as commonjsGlobal,u as useRouteTabsStore,a as useAuthStore,s as storeToRefs,A as Api,m as message}from"./index-e15321ab.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-676ffbd1.js";var md5Exports={},md5$1={get exports(){return md5Exports},set exports(e){md5Exports=e}};/**
+import{u as useRouter}from"./vue-router-dd0356f0.js";import{c as commonjsGlobal,u as useRouteTabsStore,a as useAuthStore,s as storeToRefs,A as Api,m as message}from"./index-4a8d9d3e.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-676ffbd1.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

文件差異過大導致無法顯示
+ 0 - 0
dist/assets/map-2be11129.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-e15321ab.js"></script>
+    <script type="module" crossorigin src="./assets/index-4a8d9d3e.js"></script>
     <link rel="modulepreload" crossorigin href="./assets/vue-676ffbd1.js">
     <link rel="modulepreload" crossorigin href="./assets/vue-router-dd0356f0.js">
     <link rel="stylesheet" href="./assets/index-8790befc.css">

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

@@ -40,7 +40,7 @@ let props = defineProps({
   title:String,
   wdith:String,
   custom: {
-    type:Object,
+    type:Boolean,
     default:() => false
   },
 })

+ 2 - 2
src/system/IOT/IoTdashboard/index.vue

@@ -49,7 +49,7 @@
               <span>设备信息</span>
             </div>
             <div class="right">
-              <customBtn :btn="true" :btn-options="[{'label':'控制面板'}]" @clickBtn="router.push({path:infoPanel.baseInfo.dashboardpath,query:{id:infoPanel.baseInfo.w_deviceid}})"></customBtn>
+              <customBtn :btn="true" :btn-options="[{'label':'控制面板'}]" @clickBtn="router.push({path:'/' + infoPanel.baseInfo.prodnum,query:{id:infoPanel.baseInfo.w_deviceid}})"></customBtn>
             </div>
           </div>
           <div class="map-deviced-info">
@@ -105,7 +105,7 @@
           <normalTable rowKey="w_deviceid" ref="list2" size="small" :param="param2" :columns="utils.TBLayout('equipmentTable')">
             <template #tb_cell="{data}">
               <div v-if="data.column.dataIndex == 'operation'">
-                <a-button type="link" @click="router.push({path:data.record.dashboardpath,query:{id:data.record.w_deviceid}})">控制界面</a-button>
+                <a-button type="link" @click="router.push({path:'/' + data.record.prodnum,query:{id:data.record.w_deviceid}})">控制界面</a-button>
               </div>
               <div v-else-if="data.column.dataIndex == 'rwtype'">
                 {{ data.record.rwtype == 0 ? '读' : data.record.rwtype == 1 ? '写' : '上报' }}

+ 2 - 5
src/system/IOT/controlPanel/model/06/index.vue

@@ -50,9 +50,9 @@
             :data="[{value:detail.params.DownP.lastvalue,unit:detail.params.DownP.unit}]"
           ></dataBlock>
           <div class="stop" v-if="detail.function['cease']">
-            <a-button :type="detail.params.Emer && +detail.params.Emer.lastvalue ?  'primary' : 'danger'" size="small">{{detail.params.Emer && +detail.params.Emer.lastvalue ?  '开启' : detail.function.cease && detail.function.cease.funcname }}</a-button>
+            <a-button :type="detail.params.Emer && +detail.params.Emer.lastvalue ?  'danger' : 'primary'" size="small">{{detail.params.Emer && +detail.params.Emer.lastvalue ?  '紧急关阀中' : '正常工作中' }}</a-button>
             <updataBtn :icon1="detail.paramcmdvalues.Emer && detail.isfeedback ? true : false" v-if="detail.isSite">
-              <a-button :type="detail.params.Emer && +detail.paramcmdvalues.Emer ?  'primary' : 'danger'" size="small" @click="StopFun">{{detail.params.Emer && +detail.paramcmdvalues.Emer ?  '开启' : detail.function.cease && detail.function.cease.funcname }}</a-button>
+              <a-button :type="detail.params.Emer && +detail.paramcmdvalues.Emer ?  'danger' : 'primary'" size="small" @click="StopFun">{{detail.params.Emer && +detail.paramcmdvalues.Emer ? detail.function.cease.funcname : '开启'  }}</a-button>
             </updataBtn>
           </div>
           <img src="@/assets/deviced/电池.png" alt="">
@@ -295,9 +295,6 @@ onUnmounted(() => {
   align-items: center;
 }
 /deep/ .stop .ant-btn {
-  border-radius: 50%;
-  width: 60px;
-  height: 60px;
   font-size: 12px;
 }
 </style>

+ 2 - 2
src/system/IOT/equipmentMag/detail/index.vue

@@ -21,7 +21,7 @@
           :message="userData.isused ? '确定禁用当前设备吗?' : '确定启用当起设备吗?'"
           @onSuccess="mianData"
         />
-        <a-button :disabled="!userData.dashboardpath" @click="goControl" type="primary">设备控制</a-button>
+        <a-button @click="goControl" type="primary">设备控制</a-button>
       </template>
       <template #tab0>
         <p class="normal-title">基本信息</p>
@@ -33,7 +33,7 @@
         <a-radio-group v-model:value="currentInfoModel" :style="{ marginBottom: '8px' }" style="margin-bottom:10px">
           <a-radio-button value="attribute">属性定义</a-radio-button>
           <a-radio-button value="server">功能定义</a-radio-button>
-          <a-radio-button value="event">事件定义</a-radio-button>
+          <!-- <a-radio-button value="event">事件定义</a-radio-button> -->
         </a-radio-group>
         <AttributeTab :disabled="isDisabled" :data="userData" ref="attributeTab" v-if="currentInfoModel == 'attribute'">
         </AttributeTab>

+ 1 - 2
src/system/IOT/gatewayManage/index.vue

@@ -12,9 +12,8 @@
         <a-tag>{{ data.record.sitename }}</a-tag>
       </template>
       <template v-if="data.column.dataIndex == 'operation'">
-        <Edit class="inline-16" :data="data.record" @onSuccess="onSuccess" :disabled="!utils.hasPermission('update')"></Edit>
+        <Edit :data="data.record" @onSuccess="onSuccess" :disabled="!utils.hasPermission('update')"></Edit>
         <customBtn
-          class="inline-16"
           btnName="删 除"
           idName="20230802135402"
           keyName="eam_assetid"

+ 7 - 1
src/system/IOT/iotcard/modules/add.vue

@@ -21,7 +21,8 @@
             <a-select
                 ref="select"
                 v-model:value="form.w_iotcard_paramid"
-                placeholder="请选择运营商"
+                placeholder="请选择平台账号"
+                @change="accountChange"
             >
               <a-select-option v-for="item in operate" :key="item.w_iotcard_paramid" :vlue="item.w_iotcard_paramid">{{item.name}}</a-select-option>
             </a-select>
@@ -45,6 +46,7 @@
   const emit = defineEmits(['onSuccess'])
   let form = ref({
     w_iotcardid:0,
+    "telecomoperator":"",
     w_iotcard_paramid:undefined
   })
   let rules = ref({})
@@ -87,6 +89,10 @@
       console.log('Failed:', e);
     }
   }
+  let accountChange = (id) => {
+    let result = operate.value.filter(item => item.w_iotcard_paramid == id)
+    form.value.telecomoperator = result[0].telecomoperator
+  }
   const showDrawer = ()=>{
     visible.value = true
   }

+ 1 - 1
src/system/IOT/productManage/detail/index.vue

@@ -31,7 +31,7 @@
         <a-radio-group v-model:value="currentInfoModel" :style="{ marginBottom: '8px' }" style="margin-bottom:10px">
           <a-radio-button value="attribute">属性定义</a-radio-button>
           <a-radio-button value="server">功能定义</a-radio-button>
-          <a-radio-button value="event">事件定义</a-radio-button>
+          <!-- <a-radio-button value="event">事件定义</a-radio-button> -->
         </a-radio-group>
         <AttributeTab :disabled="!utils.hasPermission('modelTab') || isDisabled" :data="userData" ref="attributeTab" v-if="currentInfoModel == 'attribute'">
         </AttributeTab>

+ 1 - 1
src/system/IOT/valve/index.vue

@@ -1,5 +1,5 @@
 <template>
-  <listTemp ref="list" :param="param" tableName="valveTable" keyRouteName="itemname" :searchType="searchType" :detailPage="{name:'valveDetail',idname:'itemid'}" @emitRes="listData">
+  <listTemp ref="list" :param="param" tableName="valveTable" keyRouteName="itemname" :searchType="searchType" :detailPage="{name:'valveDetail',idname:'itemid'}">
     <template #operation>
       <Add @onSuccess="$refs.list.tableData()" :disabled="!utils.hasPermission('insert')"></Add>
       <ProductClass></ProductClass>

+ 1 - 1
src/system/IOT/valveAssets/index.vue

@@ -1,5 +1,5 @@
 <template>
-  <listTemp ref="list" :param="param" tableName="valveTable" keyRouteName="itemname" :searchType="searchType" :detailPage="{name:'valveAssetsDetail',idname:'eam_assetid'}" @emitRes="listData">
+  <listTemp ref="list" :param="param" tableName="valveTable" keyRouteName="itemname" :searchType="searchType" :detailPage="{name:'valveAssetsDetail',idname:'eam_assetid'}">
     <template #operation>
       <Add @onSuccess="$refs.list.tableData()" :disabled="!utils.hasPermission('insert')"></Add>
     </template>

+ 50 - 2
src/system/IOT/warningHistory/index.vue

@@ -12,8 +12,11 @@
       <template v-else-if="data.column.dataIndex === 'buildtype'">
         {{ buildTypeList.filter(item => item.value == data.record.buildtype)[0] ? buildTypeList.filter(item => item.value == data.record.buildtype)[0].remarks : '' }}
       </template>
+      <!-- <template v-else-if="data.column.dataIndex === 'lasteventlevel'">
+        <span :style="tabColor(data.record.lasteventlevel)">{{ data.record.lasteventlevel }}</span>
+      </template> -->
       <template v-else-if="data.column.dataIndex === 'lasteventlevel'">
-        {{ eventlevelList.filter(item => item.value == data.record.lasteventlevel)[0] ? eventlevelList.filter(item => item.value == data.record.lasteventlevel)[0].remarks : '' }}
+        <span style="padding: 2px 5px;border-radius: 3px;" :style="tabColor(eventlevelList.filter(item => item.value == data.record.lasteventlevel)[0] ? eventlevelList.filter(item => item.value == data.record.lasteventlevel)[0].remarks : '')">{{ eventlevelList.filter(item => item.value == data.record.lasteventlevel)[0] ? eventlevelList.filter(item => item.value == data.record.lasteventlevel)[0].remarks : '' }}</span>
       </template>
     </template>
   </listTemp>
@@ -22,7 +25,7 @@
 <script setup>
 import listTemp from '@/components/listTemplate/index.vue'
 import History from './modules/History.vue'
-import {ref, defineProps, defineEmits, onMounted, provide} from 'vue'
+import {ref, defineProps, defineEmits, onMounted, provide,computed} from 'vue'
 import { useBaseStore } from '@/stores/modules/base'
 import Api from '@/api/api'
 import utils from '@/utils/utils'
@@ -56,6 +59,51 @@ let param = ref({
   },
 })
 
+//tab文字颜色
+let tabColor = computed(() => {
+  return (name) => {
+    let style
+    switch (name) {
+      case '紧急':
+        style = {
+          background:'#FFE3E6',
+          color:'#EA162D',
+          border:'1px solid #FF8B97'
+        }
+        break;
+      case '重要':
+        style = {
+          background:'#FFE4D3',
+          color:'#E55800',
+          border:'1px solid #FFA972'
+        }
+        break;  
+      case '一般':
+        style = {
+          background:'#E8FFE2',
+          color:'#27AD00',
+          border:'1px solid #87D96F'
+        }
+        break;
+      case '提醒':
+        style = {
+          background:'#e6f7ff',
+          color:'#096dd9',
+          border:'1px solid #91d5ff'
+        }
+        break;
+      case '其它':
+        style = {
+          background:'#F5F5F5',
+          color:'#777777',
+          border:'1px solid #CCCCCC'
+        }
+        break;
+    }
+    return style
+  }
+})
+
 let buildTypeFun = async () => {
   const res = await Api.optionstype('eventbuildtype')
   buildTypeList.value = res.data

+ 78 - 7
src/system/IOT/warningSet/modules/Add.vue

@@ -9,7 +9,7 @@
     :closable="false"
     @close="visible = false"
   >
-    <a-form ref="formRef1" :model="form" size="small" layout="vertical" mode="multiple">
+    <a-form ref="formRef" :model="form" size="small" layout="vertical" mode="multiple">
       <a-row :gutter="16">
         <a-col :span="12">
           <a-form-item  label="告警主题" name="eventname" :rules="[{ required: true, message: '请输入告警主题' }]">
@@ -84,7 +84,10 @@
               type="editable-card"
               @edit="objChange"
             >
-              <a-tab-pane v-for="(item,i) in form.rules" :key="item.key" :tab="item.name" :forceRender="true">
+              <a-tab-pane v-for="(item,i) in form.rules" :key="item.key" :forceRender="true">
+                <template #tab>
+                  <span style="padding:2px 5px;border-radius: 3px;" :style="tabColor(item.levelname)">{{ item.levelname }}</span>
+                </template>
                   <a-table 
                     :row-class-name="(_record, index) => (index % 2 === 1 ? 'table-striped' : null)" 
                     :dataSource="item.rulemxs" 
@@ -157,7 +160,7 @@
 </template>
 
 <script setup>
-import {ref, defineProps, defineEmits, onMounted, inject, nextTick, getCurrentInstance} from 'vue'
+import {ref, defineProps, defineEmits, onMounted, inject, nextTick, computed} from 'vue'
 import SelectModel from '@/components/selectModel/index.vue'
 import { CloseCircleOutlined, PlusCircleOutlined } from '@ant-design/icons-vue'
 import Api from '@/api/api'
@@ -215,6 +218,7 @@ let columns = [
   {title:'判断符',dataIndex:'symbol'},
   {title:'值',dataIndex:'value'},
 ]
+let formRef = ref()
 let formRef1 = ref()
 let selectTable = ref()
 let selectShow = ref(true)
@@ -233,6 +237,52 @@ let checkNumber = async (rule,value) => {
   } 
 }
 
+//tab文字颜色
+//tab文字颜色
+let tabColor = computed(() => {
+  return (name) => {
+    let style
+    switch (name) {
+      case '紧急':
+        style = {
+          background:'#FFE3E6',
+          color:'#EA162D',
+          border:'1px solid #FF8B97'
+        }
+        break;
+      case '重要':
+        style = {
+          background:'#FFE4D3',
+          color:'#E55800',
+          border:'1px solid #FFA972'
+        }
+        break;  
+      case '一般':
+        style = {
+          background:'#E8FFE2',
+          color:'#27AD00',
+          border:'1px solid #87D96F'
+        }
+        break;
+      case '提醒':
+        style = {
+          background:'#e6f7ff',
+          color:'#096dd9',
+          border:'1px solid #91d5ff'
+        }
+        break;
+      case '其它':
+        style = {
+          background:'#F5F5F5',
+          color:'#777777',
+          border:'1px solid #CCCCCC'
+        }
+        break;
+    }
+    return style
+  }
+})
+
 let addRule = (data) => {
   form.value.rules.push({
     "w_event_ruleid": 0,
@@ -297,7 +347,28 @@ let checkSubmit = () => {
     form.value.rules.forEach(item => {
       item.rulemxs.forEach(mx => {
         let arr = item.rulemxs.filter(i => i != mx)
-        if (mx.symbol != '' && arr.some(j => j.symbol == mx.symbol)) {
+        //是否相同条件
+        let isSame = arr.some(j => {
+          return j.symbol == mx.symbol && j.w_dataparamid  == mx.w_dataparamid
+        })
+        //互斥条件
+        let isExclude
+        if (mx.symbol == '=') {
+          isExclude = arr.some(j => {
+            return j.w_dataparamid  == mx.w_dataparamid && j.symbol
+          })
+        } else if (mx.symbol == '>') {
+          isExclude = arr.some(j => {
+            console.log(j.value,mx.value);
+            return j.w_dataparamid  == mx.w_dataparamid && j.symbol == '<' && j.value < mx.value
+          })
+        } else if (mx.symbol == '<') {
+          isExclude = arr.some(j => {
+            return j.w_dataparamid  == mx.w_dataparamid && j.symbol == '>' && j.value > mx.value
+          })
+        }
+
+        if (mx.symbol != '' && isSame || isExclude) {
           throw true
         }
       })
@@ -305,17 +376,17 @@ let checkSubmit = () => {
   } catch (error) {
     return true
   }
-  
 }
 
 let onSubmit = async () => {
   let isCheck
+  isCheck = await formRef.value.validateFields()
+
   if (Array.isArray(formRef1.value)) {
     for (var el of formRef1.value) {
+      console.log(formRef1.value);
       isCheck = await el.validateFields()
     }
-  } else {
-    isCheck = await formRef1.value.validateFields()
   }
 
   if(checkSubmit()) {

+ 77 - 6
src/system/IOT/warningSet/modules/Edit.vue

@@ -9,7 +9,7 @@
     :closable="false"
     @close="visible = false"
   >
-    <a-form ref="formRef1" :model="form" size="small" layout="vertical" mode="multiple" :validateTrigger="['onChange']">
+    <a-form ref="formRef" :model="form" size="small" layout="vertical" mode="multiple" :validateTrigger="['onChange']">
       <a-row :gutter="16">
         <a-col :span="12">
           <a-form-item  label="告警主题" name="eventname" :rules="[{ required: true, message: '请输入告警主题' }]">
@@ -84,7 +84,10 @@
               type="editable-card"
               @edit="objChange"
             >
-              <a-tab-pane v-for="(item,index) in form.rules" :key="item.key" :tab="item.levelname" :forceRender="true">
+              <a-tab-pane v-for="(item,index) in form.rules" :key="item.key" :forceRender="true">
+                <template #tab>
+                  <span style="padding:2px 5px;border-radius: 3px;" :style="tabColor(item.levelname)">{{ item.levelname }}</span>
+                </template>
                   <a-table 
                     :row-class-name="(_record, index) => (index % 2 === 1 ? 'table-striped' : null)" 
                     :dataSource="item.rulemxs" 
@@ -157,7 +160,7 @@
 </template>
 
 <script setup>
-import {ref, defineProps, defineEmits, onMounted, inject, nextTick, getCurrentInstance} from 'vue'
+import {ref, defineProps, defineEmits, onMounted, inject, nextTick, getCurrentInstance, computed} from 'vue'
 import SelectModel from '@/components/selectModel/index.vue'
 import { CloseCircleOutlined, PlusCircleOutlined } from '@ant-design/icons-vue'
 import Api from '@/api/api'
@@ -216,6 +219,7 @@ let columns = [
   {title:'值',dataIndex:'value'},
 ]
 let formRef1 = ref()
+let formRef = ref()
 let selectTable = ref()
 let selectShow = ref(true)
 let loading = ref(false)
@@ -233,6 +237,52 @@ let checkNumber = async (rule,value) => {
   } 
 }
 
+//tab文字颜色
+//tab文字颜色
+let tabColor = computed(() => {
+  return (name) => {
+    let style
+    switch (name) {
+      case '紧急':
+        style = {
+          background:'#FFE3E6',
+          color:'#EA162D',
+          border:'1px solid #FF8B97'
+        }
+        break;
+      case '重要':
+        style = {
+          background:'#FFE4D3',
+          color:'#E55800',
+          border:'1px solid #FFA972'
+        }
+        break;  
+      case '一般':
+        style = {
+          background:'#E8FFE2',
+          color:'#27AD00',
+          border:'1px solid #87D96F'
+        }
+        break;
+      case '提醒':
+        style = {
+          background:'#e6f7ff',
+          color:'#096dd9',
+          border:'1px solid #91d5ff'
+        }
+        break;
+      case '其它':
+        style = {
+          background:'#F5F5F5',
+          color:'#777777',
+          border:'1px solid #CCCCCC'
+        }
+        break;
+    }
+    return style
+  }
+})
+
 let editBtn = () => {
   visible.value = true
   form.value = Object.assign({},form.value,props.data)
@@ -324,7 +374,28 @@ let checkSubmit = () => {
     form.value.rules.forEach(item => {
       item.rulemxs.forEach(mx => {
         let arr = item.rulemxs.filter(i => i != mx)
-        if (mx.symbol != '' && arr.some(j => j.symbol == mx.symbol)) {
+        //是否相同条件
+        let isSame = arr.some(j => {
+          return j.symbol == mx.symbol && j.w_dataparamid  == mx.w_dataparamid
+        })
+        //互斥条件
+        let isExclude
+        if (mx.symbol == '=') {
+          isExclude = arr.some(j => {
+            return j.w_dataparamid  == mx.w_dataparamid && j.symbol
+          })
+        } else if (mx.symbol == '>') {
+          isExclude = arr.some(j => {
+            console.log(j.value,mx.value);
+            return j.w_dataparamid  == mx.w_dataparamid && j.symbol == '<' && j.value < mx.value
+          })
+        } else if (mx.symbol == '<') {
+          isExclude = arr.some(j => {
+            return j.w_dataparamid  == mx.w_dataparamid && j.symbol == '>' && j.value > mx.value
+          })
+        }
+
+        if (mx.symbol != '' && isSame || isExclude) {
           throw true
         }
       })
@@ -336,12 +407,12 @@ let checkSubmit = () => {
 
 let onSubmit = async () => {
   let isCheck
+  isCheck = await formRef.value.validateFields()
+
   if (Array.isArray(formRef1.value)) {
     for (var el of formRef1.value) {
       isCheck = await el.validateFields()
     }
-  } else {
-    isCheck = await formRef1.value.validateFields()
   }
 
   if(checkSubmit()) {

部分文件因文件數量過多而無法顯示