codeMan 2 years ago
parent
commit
6f73dd1199
56 changed files with 451 additions and 276 deletions
  1. 1 1
      dist/assets/404-f3b435fc.js
  2. 1 1
      dist/assets/Htabs-c4c74ec7.js
  3. 1 1
      dist/assets/PlusCircleOutlined-95653b0d.js
  4. 0 0
      dist/assets/base-ba4006ff.js
  5. 1 1
      dist/assets/index-03b67c02.js
  6. 0 0
      dist/assets/index-0ee738ec.js
  7. 0 0
      dist/assets/index-1bad680e.css
  8. 0 0
      dist/assets/index-246e9143.js
  9. 0 0
      dist/assets/index-24a9f163.js
  10. 0 0
      dist/assets/index-25ea7943.js
  11. 0 0
      dist/assets/index-2a3288c5.js
  12. 1 1
      dist/assets/index-300063d5.js
  13. 1 1
      dist/assets/index-36a8b390.js
  14. 0 0
      dist/assets/index-481267e0.js
  15. 0 0
      dist/assets/index-564298b5.js
  16. 0 0
      dist/assets/index-5c87ac96.js
  17. 0 0
      dist/assets/index-6497f099.js
  18. 0 0
      dist/assets/index-64c3c814.js
  19. 0 0
      dist/assets/index-6764a262.js
  20. 0 0
      dist/assets/index-724af02c.js
  21. 0 0
      dist/assets/index-8c45b5bc.js
  22. 0 0
      dist/assets/index-931be3b4.js
  23. 0 0
      dist/assets/index-96f692e4.js
  24. 0 0
      dist/assets/index-980f0772.js
  25. 0 0
      dist/assets/index-aad305c6.js
  26. 0 0
      dist/assets/index-abdd28e4.js
  27. 1 1
      dist/assets/index-ad54be59.js
  28. 0 0
      dist/assets/index-c4a06671.js
  29. 0 0
      dist/assets/index-c5691e96.css
  30. 0 0
      dist/assets/index-ce9205d5.js
  31. 0 0
      dist/assets/index-d39f3e0a.js
  32. 0 0
      dist/assets/index-d5249655.js
  33. 0 0
      dist/assets/index-d762e3b8.js
  34. 0 0
      dist/assets/index-eb6229fa.js
  35. 0 0
      dist/assets/index-f97abfaf.js
  36. 1 1
      dist/assets/index-f986f104.js
  37. 1 1
      dist/assets/login-62454110.js
  38. 0 0
      dist/assets/vue-7dec26f3.js
  39. 0 0
      dist/assets/vue-7fdfccaf.js
  40. 1 1
      dist/assets/vue-router-71aa91c4.js
  41. BIN
      dist/dist.zip
  42. 3 3
      dist/index.html
  43. 44 0
      src/assets/LOGO.svg
  44. BIN
      src/assets/bg.gif
  45. 0 49
      src/assets/资源 1.svg
  46. 1 1
      src/components/layout/modules/header.vue
  47. 19 17
      src/operation/moduleNormal/controlPanel/model/dianci/index.vue
  48. 209 140
      src/operation/moduleNormal/controlPanel/model/dianci/modules/controlPanel.vue
  49. 90 11
      src/operation/moduleNormal/controlPanel/model/dianci/modules/infoPanel.vue
  50. 10 14
      src/operation/moduleNormal/controlPanel/model/dianci/modules/timeControl.vue
  51. 26 5
      src/operation/moduleNormal/controlPanel/modules/customBtn.vue
  52. 4 4
      src/operation/moduleNormal/controlPanel/modules/dataBlock.vue
  53. 23 17
      src/operation/moduleNormal/controlPanel/modules/myInput.vue
  54. 1 2
      src/operation/moduleNormal/roleManage/detail/modules/addAuth.vue
  55. 8 0
      src/operation/moduleNormal/userManage/index.vue
  56. 3 3
      src/views/login/login.vue

+ 1 - 1
dist/assets/404-41b01356.js → dist/assets/404-f3b435fc.js

@@ -1 +1 @@
-import{_ as i}from"./_plugin-vue_export-helper-c27b6911.js";import{U as a,V as p,W as u,$ as r,j as t,X as o,G as _}from"./vue-7fdfccaf.js";const f=""+new URL("404-feaffb97.png",import.meta.url).href;const d={},m={class:"noPage_container"},v=r("img",{src:f,alt:""},null,-1);function k(n,e){const s=a("a-button"),c=a("a-space");return p(),u("div",null,[r("div",m,[v,t(c,null,{default:o(()=>[t(s,{onClick:e[0]||(e[0]=l=>n.$router.push({path:"/home"})),type:"info"},{default:o(()=>[_("首页")]),_:1}),t(s,{onClick:e[1]||(e[1]=l=>n.$router.back()),type:"info"},{default:o(()=>[_("返回上一页")]),_:1})]),_:1})])])}const g=i(d,[["render",k]]);export{g as default};
+import{_ as i}from"./_plugin-vue_export-helper-c27b6911.js";import{U as a,V as p,W as u,$ as r,j as t,X as o,G as _}from"./vue-7dec26f3.js";const f=""+new URL("404-feaffb97.png",import.meta.url).href;const d={},m={class:"noPage_container"},v=r("img",{src:f,alt:""},null,-1);function k(n,e){const s=a("a-button"),c=a("a-space");return p(),u("div",null,[r("div",m,[v,t(c,null,{default:o(()=>[t(s,{onClick:e[0]||(e[0]=l=>n.$router.push({path:"/home"})),type:"info"},{default:o(()=>[_("首页")]),_:1}),t(s,{onClick:e[1]||(e[1]=l=>n.$router.back()),type:"info"},{default:o(()=>[_("返回上一页")]),_:1})]),_:1})])])}const g=i(d,[["render",k]]);export{g as default};

+ 1 - 1
dist/assets/Htabs-204c7094.js → dist/assets/Htabs-c4c74ec7.js

@@ -1 +1 @@
-import{e as i,r}from"./index-be969926.js";const u=i("routeTabs",{state:()=>({historyRoutes:[],activeKey:0}),persist:{enabled:!0,strategies:[{storage:localStorage,paths:["historyRoutes","activeKey"]}]},getters:{},actions:{saveRoute(e){if(!this.historyRoutes.some(o=>o.name==e.name))return this.historyRoutes.push(e)},delRoute(e,s){if(r.options.routes[1].children.forEach(t=>{t.name==e&&(t.keepAlive=!1)}),this.historyRoutes=this.historyRoutes.filter(t=>{if(t.name!==e)return t}),e==s&&this.historyRoutes.length>0)return r.replace({name:this.historyRoutes[0].meta.name})}}});export{u};
+import{e as i,r}from"./index-6764a262.js";const u=i("routeTabs",{state:()=>({historyRoutes:[],activeKey:0}),persist:{enabled:!0,strategies:[{storage:localStorage,paths:["historyRoutes","activeKey"]}]},getters:{},actions:{saveRoute(e){if(!this.historyRoutes.some(o=>o.name==e.name))return this.historyRoutes.push(e)},delRoute(e,s){if(r.options.routes[1].children.forEach(t=>{t.name==e&&(t.keepAlive=!1)}),this.historyRoutes=this.historyRoutes.filter(t=>{if(t.name!==e)return t}),e==s&&this.historyRoutes.length>0)return r.replace({name:this.historyRoutes[0].meta.name})}}});export{u};

+ 1 - 1
dist/assets/PlusCircleOutlined-05be5085.js → dist/assets/PlusCircleOutlined-95653b0d.js

@@ -1 +1 @@
-import{a as i}from"./index-be969926.js";import{j as u}from"./vue-7fdfccaf.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 a(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=a({},t,e.attrs);return u(i,a({},n,{icon:o}),null)};l.displayName="PlusCircleOutlined";l.inheritAttrs=!1;const m=l;export{m as P};
+import{a as i}from"./index-6764a262.js";import{j as u}from"./vue-7dec26f3.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 a(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=a({},t,e.attrs);return u(i,a({},n,{icon:o}),null)};l.displayName="PlusCircleOutlined";l.inheritAttrs=!1;const m=l;export{m as P};

File diff suppressed because it is too large
+ 0 - 0
dist/assets/base-ba4006ff.js


+ 1 - 1
dist/assets/index-88363006.js → dist/assets/index-03b67c02.js

@@ -1 +1 @@
-import{U as s,V as e,a6 as t,X as n,W as c,F as i,a5 as _,$ as d,a0 as m,a3 as u}from"./vue-7fdfccaf.js";const g={__name:"index",props:["data"],setup(o){const l=o;return(x,y)=>{const r=s("a-descriptions-item"),p=s("a-descriptions");return e(),t(p,{column:4,labelStyle:{color:"#666",width:"150px"},contentStyle:{marginRight:"20px",marginBottom:"5px"},size:"small",bordered:""},{default:n(()=>[(e(!0),c(i,null,_(l.data,a=>(e(),t(r,{span:a.span?a.span:1,key:a.index,label:a.label},{default:n(()=>[d("span",{style:m(a.style?a.style():"")},u(a.value||"--"),5)]),_:2},1032,["span","label"]))),128))]),_:1})}}};export{g as _};
+import{U as s,V as e,a6 as t,X as n,W as c,F as i,a5 as _,$ as d,a0 as m,a3 as u}from"./vue-7dec26f3.js";const g={__name:"index",props:["data"],setup(o){const l=o;return(x,y)=>{const r=s("a-descriptions-item"),p=s("a-descriptions");return e(),t(p,{column:4,labelStyle:{color:"#666",width:"150px"},contentStyle:{marginRight:"20px",marginBottom:"5px"},size:"small",bordered:""},{default:n(()=>[(e(!0),c(i,null,_(l.data,a=>(e(),t(r,{span:a.span?a.span:1,key:a.index,label:a.label},{default:n(()=>[d("span",{style:m(a.style?a.style():"")},u(a.value||"--"),5)]),_:2},1032,["span","label"]))),128))]),_:1})}}};export{g as _};

File diff suppressed because it is too large
+ 0 - 0
dist/assets/index-0ee738ec.js


File diff suppressed because it is too large
+ 0 - 0
dist/assets/index-1bad680e.css


File diff suppressed because it is too large
+ 0 - 0
dist/assets/index-246e9143.js


File diff suppressed because it is too large
+ 0 - 0
dist/assets/index-24a9f163.js


File diff suppressed because it is too large
+ 0 - 0
dist/assets/index-25ea7943.js


File diff suppressed because it is too large
+ 0 - 0
dist/assets/index-2a3288c5.js


+ 1 - 1
dist/assets/index-a76ca402.js → dist/assets/index-300063d5.js

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

+ 1 - 1
dist/assets/index-ef08a222.js → dist/assets/index-36a8b390.js

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

File diff suppressed because it is too large
+ 0 - 0
dist/assets/index-481267e0.js


File diff suppressed because it is too large
+ 0 - 0
dist/assets/index-564298b5.js


File diff suppressed because it is too large
+ 0 - 0
dist/assets/index-5c87ac96.js


File diff suppressed because it is too large
+ 0 - 0
dist/assets/index-6497f099.js


File diff suppressed because it is too large
+ 0 - 0
dist/assets/index-64c3c814.js


File diff suppressed because it is too large
+ 0 - 0
dist/assets/index-6764a262.js


File diff suppressed because it is too large
+ 0 - 0
dist/assets/index-724af02c.js


File diff suppressed because it is too large
+ 0 - 0
dist/assets/index-8c45b5bc.js


File diff suppressed because it is too large
+ 0 - 0
dist/assets/index-931be3b4.js


File diff suppressed because it is too large
+ 0 - 0
dist/assets/index-96f692e4.js


File diff suppressed because it is too large
+ 0 - 0
dist/assets/index-980f0772.js


File diff suppressed because it is too large
+ 0 - 0
dist/assets/index-aad305c6.js


File diff suppressed because it is too large
+ 0 - 0
dist/assets/index-abdd28e4.js


+ 1 - 1
dist/assets/index-8b935c27.js → dist/assets/index-ad54be59.js

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

File diff suppressed because it is too large
+ 0 - 0
dist/assets/index-c4a06671.js


File diff suppressed because it is too large
+ 0 - 0
dist/assets/index-c5691e96.css


File diff suppressed because it is too large
+ 0 - 0
dist/assets/index-ce9205d5.js


File diff suppressed because it is too large
+ 0 - 0
dist/assets/index-d39f3e0a.js


File diff suppressed because it is too large
+ 0 - 0
dist/assets/index-d5249655.js


File diff suppressed because it is too large
+ 0 - 0
dist/assets/index-d762e3b8.js


File diff suppressed because it is too large
+ 0 - 0
dist/assets/index-eb6229fa.js


File diff suppressed because it is too large
+ 0 - 0
dist/assets/index-f97abfaf.js


+ 1 - 1
dist/assets/index-f47b6f28.js → dist/assets/index-f986f104.js

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

+ 1 - 1
dist/assets/login-60a6953f.js → dist/assets/login-62454110.js

@@ -1,4 +1,4 @@
-import{u as useRouter}from"./vue-router-109fda95.js";import{c as commonjsGlobal,u as useAuthStore,s as storeToRefs,A as Api,m as message}from"./index-be969926.js";import{u as useRouteTabsStore}from"./Htabs-204c7094.js";import{_ as _export_sfc}from"./_plugin-vue_export-helper-c27b6911.js";import{d as defineComponent,U as resolveComponent,V as openBlock,W as createElementBlock,$ as createBaseVNode,j as createVNode,X as withCtx,a as ref,r as reactive,a0 as normalizeStyle,G as createTextVNode,a1 as pushScopeId,a2 as popScopeId}from"./vue-7fdfccaf.js";var md5Exports={},md5$1={get exports(){return md5Exports},set exports(e){md5Exports=e}};/**
+import{u as useRouter}from"./vue-router-71aa91c4.js";import{c as commonjsGlobal,u as useAuthStore,s as storeToRefs,A as Api,m as message}from"./index-6764a262.js";import{u as useRouteTabsStore}from"./Htabs-c4c74ec7.js";import{_ as _export_sfc}from"./_plugin-vue_export-helper-c27b6911.js";import{d as defineComponent,U as resolveComponent,V as openBlock,W as createElementBlock,$ as createBaseVNode,j as createVNode,X as withCtx,a as ref,r as reactive,a0 as normalizeStyle,G as createTextVNode,a1 as pushScopeId,a2 as popScopeId}from"./vue-7dec26f3.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 suppressed because it is too large
+ 0 - 0
dist/assets/vue-7dec26f3.js


File diff suppressed because it is too large
+ 0 - 0
dist/assets/vue-7fdfccaf.js


+ 1 - 1
dist/assets/vue-router-109fda95.js → dist/assets/vue-router-71aa91c4.js

@@ -1,4 +1,4 @@
-import{s as tt,u as F,c as N,r as je,i as z,n as nt,d as Be,h as qe,p as ae,a as rt,w as st}from"./vue-7fdfccaf.js";/*!
+import{s as tt,u as F,c as N,r as je,i as z,n as nt,d as Be,h as qe,p as ae,a as rt,w as st}from"./vue-7dec26f3.js";/*!
   * vue-router v4.1.6
   * (c) 2022 Eduardo San Martin Morote
   * @license MIT

BIN
dist/dist.zip


+ 3 - 3
dist/index.html

@@ -5,9 +5,9 @@
     <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-be969926.js"></script>
-    <link rel="modulepreload" crossorigin href="./assets/vue-7fdfccaf.js">
-    <link rel="modulepreload" crossorigin href="./assets/vue-router-109fda95.js">
+    <script type="module" crossorigin src="./assets/index-6764a262.js"></script>
+    <link rel="modulepreload" crossorigin href="./assets/vue-7dec26f3.js">
+    <link rel="modulepreload" crossorigin href="./assets/vue-router-71aa91c4.js">
     <link rel="stylesheet" href="./assets/index-06454cca.css">
   </head>
   <body>

+ 44 - 0
src/assets/LOGO.svg

@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 26.4.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="_图层_2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 385.8 55.6" style="enable-background:new 0 0 385.8 55.6;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:#FFFFFF;}
+</style>
+<path class="st0" d="M172.3,43.3c-4.9,0-8.9-0.8-11.6-2.2V5.3c2.4-1.3,6.4-2.2,11.1-2.2c9.4,0,14.1,4.3,14.1,10.1
+	c0,5.3-4,8.1-7.3,8.9v0.1c3.6,0.8,8.6,4.2,8.6,9.9C187.3,39.9,181.3,43.3,172.3,43.3 M171.9,7.2c-1.7,0-3,0.2-4.3,0.7v12.7l2.2,0.1
+	c6.9,0.2,9.3-2.2,9.3-6.9C179,9.4,176.6,7.2,171.9,7.2L171.9,7.2z M169.8,24.1l-2.2,0.1v14c1.2,0.5,2.6,0.7,4.6,0.7
+	c4.7,0,7.9-1.9,7.9-6.9C180.1,26.6,177.2,23.9,169.8,24.1z"/>
+<path class="st0" d="M201.6,43.3c-8.4,0-12.5-3.4-12.5-9.3c0-8.1,7.8-10.4,17.1-11.3v-1.6c0-4-2.5-5.1-6.1-5.1c-3,0-5.8,1-7.7,1.9
+	l-1.6-4c2-1,5.7-2.3,10.5-2.3c6.3,0,11.3,2.7,11.3,10.6v19C210.2,42.4,206.4,43.3,201.6,43.3 M196.9,8.2c-1.8,0-3.2-1.3-3.2-2.9
+	s1.4-2.9,3.2-2.9s3.3,1.2,3.3,2.9S198.6,8.2,196.9,8.2z M206.2,26c-6.5,0.8-10.6,2.2-10.6,7.8c0,4,2.4,5.7,6.4,5.7
+	c1.6,0,3.1-0.3,4.1-0.8L206.2,26L206.2,26z M207.1,8.2c-1.8,0-3.2-1.3-3.2-2.9s1.4-2.9,3.2-2.9s3.2,1.2,3.2,2.9S208.9,8.2,207.1,8.2
+	z"/>
+<path class="st0" d="M234.4,42.8V21.1c0-2.5-1.1-5.1-5.5-5.1c-2.3,0-3.5,0.3-4.8,0.9v26h-6.9v-29c2.9-1.4,6.8-2.2,12-2.2
+	c9.1,0,12.2,4.4,12.2,9.4v21.8H234.4"/>
+<path class="st0" d="M263.1,42.8V21.1c0-2.5-1.1-5.1-5.5-5.1c-2.3,0-3.5,0.3-4.8,0.9v26h-6.9v-29c2.9-1.4,6.8-2.2,12-2.2
+	c9.1,0,12.2,4.4,12.2,9.4v21.8H263.1"/>
+<path class="st0" d="M278.3,6.9c-2.1,0-3.8-1.5-3.8-3.4s1.7-3.5,3.8-3.5s3.8,1.5,3.8,3.5S280.5,6.9,278.3,6.9 M274.8,42.8V12.2h6.9
+	v30.6L274.8,42.8L274.8,42.8z"/>
+<path class="st0" d="M303.8,42.8V21.1c0-2.5-1.1-5.1-5.5-5.1c-2.3,0-3.5,0.3-4.8,0.9v26h-6.9v-29c2.9-1.4,6.8-2.2,12-2.2
+	c9.1,0,12.2,4.4,12.2,9.4v21.8H303.8"/>
+<path class="st0" d="M326.3,55.6c-4.4,0-8.2-0.8-10.5-2.2l1.9-4.5c1.8,1,4.5,1.8,7.3,1.8c5.1,0,7-2.8,7-6.9v-1.9
+	c-1.2,0.7-3.1,1.1-5.7,1.1c-7.3,0-12.3-5.7-12.3-14.9c0-9.9,4.9-16.5,14.8-16.5c4.5,0,8,1,9.9,2.2v29.4
+	C338.9,51.4,333.9,55.6,326.3,55.6 M332.1,16.4c-0.9-0.5-2.1-0.7-3.6-0.7c-5.4,0-7.6,4.4-7.6,12.1s2.2,11.3,7.3,11.3
+	c1.6,0,3-0.4,3.9-1L332.1,16.4L332.1,16.4z"/>
+<path class="st0" d="M348.9,29.9c0.6,5.7,3.4,8.6,8.4,8.6c3.5,0,6.1-0.8,7.7-1.7l1.6,4.4c-2.2,1.1-5.5,2.2-10.1,2.2
+	c-8.7,0-14.2-5.6-14.2-16s5.1-15.8,13.1-15.8s12.3,5.3,12.3,14.8v0.9L348.9,29.9 M355.1,15.9c-4,0-6.8,3.3-6.6,10.6l12.7-1.9
+	C361.1,18.4,358.9,15.9,355.1,15.9L355.1,15.9z"/>
+<path class="st0" d="M384.4,16.7c-2.3-0.8-4.9-0.7-6.5,0.2v25.9H371v-29c3.2-1.5,7-2.4,14.8-2.2L384.4,16.7"/>
+<path class="st0" d="M15,43.5c-9.9,0-15-9.3-15-20.1S5.1,3.3,15.1,3.3c3.6,0,6.2,0.8,8.1,2.2l-1.6,4.3c-1.1-0.7-2.7-1.4-5.1-1.4
+	c-6.7,0-9,7.4-9,14.9s2.6,14.7,9,14.7c2.3,0,3.6-0.5,4.9-1.4l1.7,4.7C21.3,42.8,18.5,43.6,15,43.5"/>
+<path class="st0" d="M36.1,43.5c-8.6,0-12.7-6.8-12.7-15.9s4.1-15.9,12.7-15.9s12.7,6.8,12.7,15.9S44.7,43.5,36.1,43.5 M36.1,16.2
+	c-4.9,0-5.9,5.6-5.9,11.5s1.1,11.2,5.9,11.2S42,33.4,42,27.6S41.1,16.2,36.1,16.2z"/>
+<path class="st0" d="M69.5,43V21.3c0-2.5-1.1-5.1-5.5-5.1c-2.3,0-3.5,0.3-4.8,0.9v26h-6.9V14c2.9-1.4,6.8-2.2,12-2.2
+	c9.2,0,12.2,4.4,12.2,9.4V43H69.5"/>
+<path class="st0" d="M86.4,30.1c0.6,5.7,3.3,8.6,8.3,8.6c3.5,0,6.1-0.8,7.7-1.7l1.7,4.4c-2.2,1.1-5.5,2.2-10.1,2.2
+	c-8.7,0-14.2-5.6-14.2-16s5.1-15.8,13.1-15.8s12.3,5.3,12.3,14.8v0.9L86.4,30.1 M92.6,16c-4,0-6.8,3.3-6.6,10.6l12.7-1.9
+	C98.7,18.6,96.5,16,92.6,16z"/>
+<polyline class="st0" points="123.6,43 117.8,31.8 117.7,31.8 111.9,43 104.8,43 114.3,27.1 105.8,12.3 113.1,12.3 118.2,22.3 
+	118.3,22.3 123.7,12.3 130.3,12.3 121.6,26.7 131.2,43 123.6,43 "/>
+</svg>

BIN
src/assets/bg.gif


+ 0 - 49
src/assets/资源 1.svg

@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 26.4.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
-<svg version="1.1" id="_图层_2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 viewBox="0 0 385.8 55.6" style="enable-background:new 0 0 385.8 55.6;" xml:space="preserve">
-<style type="text/css">
-	.st0{fill:#004187;}
-	.st1{fill:#008E6A;}
-	.st2{fill:none;stroke:#004187;stroke-width:1.17;}
-</style>
-<g>
-	<path class="st0" d="M172.3,43.3c-4.9,0-8.9-0.8-11.6-2.2V5.3c2.4-1.3,6.4-2.2,11.1-2.2c9.4,0,14.1,4.3,14.1,10.1
-		c0,5.3-4,8.1-7.3,8.9v0.1c3.6,0.8,8.6,4.2,8.6,9.9C187.3,39.9,181.3,43.3,172.3,43.3 M171.9,7.2c-1.7,0-3,0.2-4.3,0.7v12.7l2.2,0.1
-		c6.9,0.2,9.3-2.2,9.3-6.9C179,9.4,176.6,7.2,171.9,7.2L171.9,7.2z M169.8,24.1l-2.2,0.1v14c1.2,0.5,2.6,0.7,4.6,0.7
-		c4.7,0,7.9-1.9,7.9-6.9C180.1,26.6,177.2,23.9,169.8,24.1z"/>
-	<path class="st0" d="M201.6,43.3c-8.4,0-12.5-3.4-12.5-9.3c0-8.1,7.8-10.4,17.1-11.3v-1.6c0-4-2.5-5.1-6.1-5.1c-3,0-5.8,1-7.7,1.9
-		l-1.6-4c2-1,5.7-2.3,10.5-2.3c6.3,0,11.3,2.7,11.3,10.6v19C210.2,42.4,206.4,43.3,201.6,43.3 M196.9,8.2c-1.8,0-3.2-1.3-3.2-2.9
-		s1.4-2.9,3.2-2.9s3.3,1.2,3.3,2.9S198.6,8.2,196.9,8.2z M206.2,26c-6.5,0.8-10.6,2.2-10.6,7.8c0,4,2.4,5.7,6.4,5.7
-		c1.6,0,3.1-0.3,4.1-0.8L206.2,26L206.2,26z M207.1,8.2c-1.8,0-3.2-1.3-3.2-2.9s1.4-2.9,3.2-2.9s3.2,1.2,3.2,2.9
-		S208.9,8.2,207.1,8.2z"/>
-	<path class="st0" d="M234.4,42.8V21.1c0-2.5-1.1-5.1-5.5-5.1c-2.3,0-3.5,0.3-4.8,0.9v26h-6.9v-29c2.9-1.4,6.8-2.2,12-2.2
-		c9.1,0,12.2,4.4,12.2,9.4v21.8H234.4"/>
-	<path class="st0" d="M263.1,42.8V21.1c0-2.5-1.1-5.1-5.5-5.1c-2.3,0-3.5,0.3-4.8,0.9v26h-6.9v-29c2.9-1.4,6.8-2.2,12-2.2
-		c9.1,0,12.2,4.4,12.2,9.4v21.8H263.1"/>
-	<path class="st0" d="M278.3,6.9c-2.1,0-3.8-1.5-3.8-3.4s1.7-3.5,3.8-3.5s3.8,1.5,3.8,3.5S280.5,6.9,278.3,6.9 M274.8,42.8V12.2h6.9
-		v30.6L274.8,42.8L274.8,42.8z"/>
-	<path class="st0" d="M303.8,42.8V21.1c0-2.5-1.1-5.1-5.5-5.1c-2.3,0-3.5,0.3-4.8,0.9v26h-6.9v-29c2.9-1.4,6.8-2.2,12-2.2
-		c9.1,0,12.2,4.4,12.2,9.4v21.8H303.8"/>
-	<path class="st0" d="M326.3,55.6c-4.4,0-8.2-0.8-10.5-2.2l1.9-4.5c1.8,1,4.5,1.8,7.3,1.8c5.1,0,7-2.8,7-6.9v-1.9
-		c-1.2,0.7-3.1,1.1-5.7,1.1c-7.3,0-12.3-5.7-12.3-14.9c0-9.9,4.9-16.5,14.8-16.5c4.5,0,8,1,9.9,2.2v29.4
-		C338.9,51.4,333.9,55.6,326.3,55.6 M332.1,16.4c-0.9-0.5-2.1-0.7-3.6-0.7c-5.4,0-7.6,4.4-7.6,12.1s2.2,11.3,7.3,11.3
-		c1.6,0,3-0.4,3.9-1L332.1,16.4L332.1,16.4z"/>
-	<path class="st0" d="M348.9,29.9c0.6,5.7,3.4,8.6,8.4,8.6c3.5,0,6.1-0.8,7.7-1.7l1.6,4.4c-2.2,1.1-5.5,2.2-10.1,2.2
-		c-8.7,0-14.2-5.6-14.2-16s5.1-15.8,13.1-15.8s12.3,5.3,12.3,14.8v0.9L348.9,29.9 M355.1,15.9c-4,0-6.8,3.3-6.6,10.6l12.7-1.9
-		C361.1,18.4,358.9,15.9,355.1,15.9L355.1,15.9z"/>
-	<path class="st0" d="M384.4,16.7c-2.3-0.8-4.9-0.7-6.5,0.2v25.9H371v-29c3.2-1.5,7-2.4,14.8-2.2L384.4,16.7"/>
-	<path class="st1" d="M15,43.5c-9.9,0-15-9.3-15-20.1S5.1,3.3,15.1,3.3c3.6,0,6.2,0.8,8.1,2.2l-1.6,4.3c-1.1-0.7-2.7-1.4-5.1-1.4
-		c-6.7,0-9,7.4-9,14.9s2.6,14.7,9,14.7c2.3,0,3.6-0.5,4.9-1.4l1.7,4.7C21.3,42.8,18.5,43.6,15,43.5"/>
-	<path class="st1" d="M36.1,43.5c-8.6,0-12.7-6.8-12.7-15.9s4.1-15.9,12.7-15.9s12.7,6.8,12.7,15.9S44.7,43.5,36.1,43.5 M36.1,16.2
-		c-4.9,0-5.9,5.6-5.9,11.5s1.1,11.2,5.9,11.2S42,33.4,42,27.6S41.1,16.2,36.1,16.2z"/>
-	<path class="st1" d="M69.5,43V21.3c0-2.5-1.1-5.1-5.5-5.1c-2.3,0-3.5,0.3-4.8,0.9v26h-6.9V14c2.9-1.4,6.8-2.2,12-2.2
-		c9.2,0,12.2,4.4,12.2,9.4V43H69.5"/>
-	<path class="st1" d="M86.4,30.1c0.6,5.7,3.3,8.6,8.3,8.6c3.5,0,6.1-0.8,7.7-1.7l1.7,4.4c-2.2,1.1-5.5,2.2-10.1,2.2
-		c-8.7,0-14.2-5.6-14.2-16s5.1-15.8,13.1-15.8s12.3,5.3,12.3,14.8v0.9L86.4,30.1 M92.6,16c-4,0-6.8,3.3-6.6,10.6l12.7-1.9
-		C98.7,18.6,96.5,16,92.6,16z"/>
-	<polyline class="st1" points="123.6,43 117.8,31.8 117.7,31.8 111.9,43 104.8,43 114.3,27.1 105.8,12.3 113.1,12.3 118.2,22.3 
-		118.3,22.3 123.7,12.3 130.3,12.3 121.6,26.7 131.2,43 123.6,43 	"/>
-	<line class="st2" x1="145.4" y1="3.1" x2="145.4" y2="43.4"/>
-</g>
-</svg>

+ 1 - 1
src/components/layout/modules/header.vue

@@ -2,7 +2,7 @@
   <div class="sw-header">
     <a-space>
       <div style="width:216px">
-        <img height="30" src="@/assets/logo_slices/logo@2x.png" alt="">
+        <img height="30" src="@/assets/LOGO.svg" alt="">
       </div>
       <weather/>
     </a-space>

+ 19 - 17
src/operation/moduleNormal/controlPanel/model/dianci/index.vue

@@ -20,32 +20,32 @@
         <dataBlock 
           v-if="detail.params.UpP"
           :title="detail.params.UpP.paramname" 
-          top="450" 
-          left="300" 
+          top="470" 
+          left="130" 
           :data="[{value:detail.params.UpP.lastvalue,unit:detail.params.UpP.unit}]"
         ></dataBlock>
         <dataBlock 
           v-if="detail.params.Batt4"
-          top="450"  
-          left="100" 
-          :data="[{title:detail.params.Batt4.paramname,value:detail.params.Batt4.lastvalue,unit:detail.params.Batt4.unit},{title:detail.params.Batt12.paramname,value,value:detail.params.Batt4.lastvalue,unit:detail.params.Batt4.unit},{title:detail.params.BatFlow.paramname,value:detail.params.Batt4.lastvalue,unit:detail.params.Batt4.unit}]"
+          top="45"  
+          left="580" 
+          :data="[{title:detail.params.Batt4.paramname,value:detail.params.Batt4.lastvalue,unit:detail.params.Batt4.unit},{title:detail.params.Batt12.paramname,value,value:detail.params.Batt12.lastvalue,unit:detail.params.Batt12.unit},{title:detail.params.BatFlow.paramname,value:detail.params.BatFlow.lastvalue,unit:detail.params.BatFlow.unit}]"
         ></dataBlock>
-        <dataBlock title="导阀模式" top="100" left="600" v-if="detail.params.DaoFa">
-          <div style="padding: 15px;">
-            <a-button type="default" size="small" style="margin:10px;" v-for="item in detail.params.DaoFa.options" @click="controlBtn(item)" :disabled="detail.params.DaoFa.lastvalue == item.value">{{ item.label }}</a-button>
+        <dataBlock title="导阀模式" top="250" left="550" v-if="detail.params.DaoFa">
+          <div style="padding: 0 5px;">
+            <a-button type="default" size="small" style="margin:5px;" v-for="item in detail.params.DaoFa.options" @click="controlBtn(item)" :disabled="detail.params.DaoFa.lastvalue == item.value">{{ item.label }}</a-button>
           </div>
         </dataBlock>
         <dataBlock 
-          v-if="detail.params.UpP"
-          :title="detail.params.UpP.paramname" 
-          top="450" 
-          left="600" 
+          v-if="detail.params.DownP"
+          :title="detail.params.DownP.paramname" 
+          top="470" 
+          left="550" 
           :data="[{value:detail.params.DownP.lastvalue,unit:detail.params.DownP.unit}]"
         ></dataBlock>
         <div class="stop">
-          <a-button :disabled="detail.params.Emer && detail.params.Emer.lastvalue" type="danger" size="small" @click="StopFun">{{ detail.function.cease.funcname }}</a-button>
+          <a-button :type="detail.params.Emer && +detail.params.Emer.lastvalue ?  'primary' : 'danger'" size="small" @click="StopFun">{{detail.params.Emer && +detail.params.Emer.lastvalue ?  '开启' : detail.function.cease && detail.function.cease.funcname }}</a-button>
         </div>
-        <img src="@/assets/deviced/控制器.png" alt="">
+        <img src="@/assets/deviced/电池.png" alt="">
       </div>
       <div class="chart">
         <customBtn :btnOptions="[{label:'压力历史曲线图'},{label:'流量历史曲线图'}]"></customBtn>
@@ -78,7 +78,7 @@ import Api from '@/api/api'
 import utils from '@/utils/utils'
 
 let router = useRouter()
-let emit = defineEmits([])
+let emit = defineEmits(['onSuccess'])
 let props = defineProps({})
 
 let refresh = ref(true)
@@ -98,7 +98,7 @@ let clickBtn = (tag) => {
 
 let StopFun = () => {
   Modal.confirm({
-    title:`确定${detail.function.cease.funcname}吗?`,
+    title:`确定${+detail.value.paramvalues.Emer ?'开启' : detail.value.function.cease.funcname}吗?`,
     async onOk () {
       let res = await Api.requested({
         "id": "20230627163701",
@@ -106,11 +106,12 @@ let StopFun = () => {
           "w_deviceid": router.currentRoute.value.query.id,
           "w_functionid": detail.value.function['cease'].w_functionid,
           "params": {
-            'Emer':detail.value.function['cease'].params.Emer == '0' ? '1' : 0
+            'Emer':detail.value.function['cease'].params.Emer == '0' ? '1' : '0'
           }
         }
       })
       utils.message(res,'操作成功', async () => {
+        detailFun()
       })
     }
   })
@@ -131,6 +132,7 @@ let controlBtn = async (data) => {
         }
       })
       utils.message(res,'操作成功', async () => {
+        detailFun()
       })
     }
    })

+ 209 - 140
src/operation/moduleNormal/controlPanel/model/dianci/modules/controlPanel.vue

@@ -2,160 +2,207 @@
   <div class="header">
     <span style="color:#ffffff">控制面板</span>
   </div>
+    <div>
+      <MyInput 
+          v-if="params.FlowAcc"
+          :form="form"
+          :scale="params.FlowAcc && params.FlowAcc.num_scale" 
+          v-model:value="form.FlowAcc" 
+          name="FlowAcc" 
+          :unit="params.FlowAcc && params.FlowAcc.unit" 
+          :title="params.FlowAcc && params.FlowAcc.paramname"
+          :isCheck="true" 
+          btnName="更新"
+          @upData="updateData('Flow control')"
+          :max="params.FlowAcc && params.FlowAcc.num_maxvalue"
+          :min="params.FlowAcc && params.FlowAcc.num_minvalue"
+          :step="params.FlowAcc && params.FlowAcc.num_step"
+        >
+      </MyInput>
 
-    <MyInput 
-        :form="form"
-        v-model:value="form.FlowAcc" 
-        name="FlowAcc" 
-        :unit="params.FlowAcc.unit" 
-        :title="params.FlowAcc.paramname"
-        :labelWidth="5"
-        :inputWidth="2"
-        :scale="2" 
-        :isCheck="true" 
-        btnName="更新"
-        @upData="updateData('Flow control')"
-        :max="params.FlowAcc.num_maxvalue"
-        :min="params.FlowAcc.num_minvalue"
-        :step="params.FlowAcc.num_step"
-      >
-    </MyInput>
+      <MyInput 
+          v-if="params.PresAcc"
+          type="int" 
+          :scale="params.PresAcc && params.PresAcc.num_scale" 
+          :isCheck="true" 
+          v-model:value="form.PresAcc" 
+          name="PresAcc" 
+          :unit="params.PresAcc && params.PresAcc.unit" 
+          :title="params.PresAcc && params.PresAcc.paramname"
+          btnName="更新"
+          :form="form"
+          @upData="updateData('pressure control')"
+          :max="params.PresAcc && params.PresAcc.num_maxvalue"
+          :min="params.PresAcc && params.PresAcc.num_minvalue"
+          :step="params.PresAcc && params.PresAcc.num_step"
+        >
+      </MyInput>
 
-    <MyInput 
-        type="int" 
-        :scale="params.PresAcc.num_scale" 
-        :isCheck="true" 
-        v-model:value="form.PresAcc" 
-        name="PresAcc" 
-        :unit="params.PresAcc.unit" 
-        :title="params.PresAcc.paramname"
-        :labelWidth="4"
-        :inputWidth="2"
-        btnName="更新"
-        :form="form"
-        @upData="updateData('pressure control')"
-        :max="params.PresAcc.num_maxvalue"
-        :min="params.PresAcc.num_minvalue"
-        :step="params.PresAcc.num_step"
-      >
-    </MyInput>
+      <MyInput 
+          v-if="params.SleepTime"
+          type="int" 
+          :scale="params.SleepTime && params.SleepTime.num_scale" 
+          :isCheck="true" 
+          v-model:value="form.SleepTime" 
+          name="SleepTime" 
+          :unit="params.SleepTime && params.SleepTime.unit" 
+          :title="params.SleepTime && params.SleepTime.paramname"
+          btnName="更新"
+          :form="form"
+          @upData="updateData('Sleep time')"
+          :max="params.SleepTime && params.SleepTime.num_maxvalue"
+          :min="params.SleepTime && params.SleepTime.num_minvalue"
+          :step="params.SleepTime && params.SleepTime.num_step"
+        >
+      </MyInput>
 
-    <MyInput 
-        type="int" 
-        :scale="params.SleepTime.num_scale" 
-        :isCheck="true" 
-        v-model:value="form.SleepTime" 
-        name="SleepTime" 
-        :unit="params.SleepTime.unit" 
-        :title="params.SleepTime.paramname"
-        :labelWidth="4"
-        :inputWidth="5"
-        btnName="更新"
-        :form="form"
-        @upData="updateData('Sleep time')"
-        :max="params.SleepTime.num_maxvalue"
-        :min="params.SleepTime.num_minvalue"
-        :step="params.SleepTime.num_step"
-      >
-    </MyInput>
-  
-  <customBtn :btnOptions="[{label:'上流恒压'},{label:'下游恒压'},{label:'恒流量控制'},{label:'最不利点'}]" :tab="true">
-    <template #slot0="{data}">
-      <div>
-        <p style="font-size: 12px;">{{params.UpP.paramname}}:<span style="font-size: 18px;">{{ form.UpP }}MPa</span></p>
-        <MyInput 
-            type="int" 
-            :scale="params.UpTar.num_scale" 
-            :isCheck="true" 
-            v-model:value="form.UpTar" 
-            :name="UpTar" 
-            :unit="params.UpTar.unit" 
-            :title="params.UpTar.paramname"
-            :labelWidth="4"
-            :inputWidth="5"
-            btnName="更新"
-            :form="form"
-            @upData="updateData('Upstream')"
-            :max="params.UpTar.num_maxvalue"
-            :min="params.UpTar.num_minvalue"
-            :step="params.UpTar.num_step"
-          >
-        </MyInput>
-      </div>
-    </template>
+      <MyInput 
+          v-if="params.FloMinP"
+          :form="form"
+          v-model:value="form.FloMinP" 
+          name="FloMinP" 
+          :unit="params.FloMinP && params.FloMinP.unit" 
+          :title="params.FloMinP && params.FloMinP.paramname"
+          :scale="params.FloMinP && params.FloMinP.num_scale" 
+          :isCheck="true" 
+          btnName="更新"
+          @upData="updateData('Minimum')"
+          :max="params.FloMinP && params.FloMinP.num_maxvalue"
+          :min="params.FloMinP && params.FloMinP.num_minvalue"
+          :step="params.FloMinP && params.FloMinP.num_step"
+        >
+      </MyInput>
 
-    <template #slot1="{data}">
-      <div>
-        <p style="font-size: 12px;">{{params.DownP.paramname}}:<span style="font-size: 18px;">{{ form.DownP }}MPa</span></p>
+      <MyInput 
+          v-if="params.FloMaxP"
+          :form="form"
+          v-model:value="form.FloMaxP" 
+          name="FloMaxP" 
+          :unit="params.FloMaxP && params.FloMaxP.unit" 
+          :title="params.FloMaxP && params.FloMaxP.paramname"
+          :scale="params.FloMaxP && params.FloMaxP.num_scale" 
+          :isCheck="true" 
+          btnName="更新"
+          @upData="updateData('MOP')"
+          :max="params.FloMaxP && params.FloMaxP.num_maxvalue"
+          :min="params.FloMaxP && params.FloMaxP.num_minvalue"
+          :step="params.FloMaxP && params.FloMaxP.num_step"
+        >
+      </MyInput>
+      <span v-if="params.ConMode">当前模式:</span>
+    <customBtn 
+      v-if="params.ConMode"
+      style="margin-top: 20px;"
+      ref="tab"
+      :select="true"
+      v-model:value="form.Control"
+      :btnOptions="params.ConMode.options" 
+      :tab="true" 
+      @selectChange="modelChange"
+      >
+      <template #slot0="{data}">
+        <div>
+          <p style="font-size: 12px;">{{params.UpP && params.UpP.paramname}}:<span style="font-size: 18px;">{{ form.UpP }}MPa</span></p>
           <MyInput 
+              v-if="params.UpTar"
               type="int" 
-              scale="2" 
+              :scale="params.UpTar && params.UpTar.num_scale" 
               :isCheck="true" 
-              v-model:value="form.DownTar" 
-              :name="DownTar" 
-              :unit="params.DownTar.unit" 
-              :title="params.DownTar.paramname"
+              v-model:value="form.UpTar" 
+              name="UpTar" 
+              :unit="params.UpTar && params.UpTar.unit" 
+              :title="params.UpTar && params.UpTar.paramname"
               :labelWidth="4"
               :inputWidth="5"
               btnName="更新"
               :form="form"
-              @upData="updateData('Downstream')"
-              :max="params.DownTar.num_maxvalue"
-              :min="params.DownTar.num_minvalue"
-              :step="params.DownTar.num_step"
+              @upData="updateData('Upstream')"
+              :max="params.UpTar && params.UpTar.num_maxvalue"
+              :min="params.UpTar && params.UpTar.num_minvalue"
+              :step="params.UpTar && params.UpTar.num_step"
             >
           </MyInput>
-      </div>
-    </template>
+        </div>
+      </template>
 
-    <template #slot2="{data}">
-      <div>
-        <p style="font-size: 12px;">{{params.NowFlow.paramname}}:<span style="font-size: 18px;">{{ form.NowFlow }}m³/h</span></p>
-          <MyInput 
-              type="int" 
-              scale="2" 
-              :isCheck="true" 
-              v-model:value="form.TatFlow" 
-              name="TatFlow" 
-              :unit="params.TatFlow.paramname" 
-              :title="params.TatFlow.paramname"
-              :labelWidth="4"
-              :inputWidth="5"
-              btnName="更新"
-              :form="form"
-              @upData="updateData('Constantflow')"
-              :max="params.TatFlow.num_maxvalue"
-              :min="params.TatFlow.num_minvalue"
-              :step="params.TatFlow.num_step"
-            >
-          </MyInput>
-      </div>
-    </template>
+      <template #slot1="{data}">
+        <div>
+          <p style="font-size: 12px;">{{params.DownP && params.DownP.paramname}}:<span style="font-size: 18px;">{{ form.DownP }}MPa</span></p>
+            <MyInput 
+                v-if="params.DownTar"
+                type="int" 
+                scale="2" 
+                :scale="params.DownTar && params.DownTar.num_scale" 
+                :isCheck="true" 
+                v-model:value="form.DownTar" 
+                name="DownTar" 
+                :unit="params.DownTar && params.DownTar.unit" 
+                :title="params.DownTar && params.DownTar.paramname"
+                :labelWidth="4"
+                :inputWidth="5"
+                btnName="更新"
+                :form="form"
+                @upData="updateData('Downstream')"
+                :max="params.DownTar && params.DownTar.num_maxvalue"
+                :min="params.DownTar && params.DownTar.num_minvalue"
+                :step="params.DownTar && params.DownTar.num_step"
+              >
+            </MyInput>
+        </div>
+      </template>
 
-    <template #slot3="{data}">
-      <div>
-        <p style="font-size: 12px;">{{params.MostBad.paramname}}:<span style="font-size: 18px;">{{ form.MostBad }}MPa</span></p>
-          <MyInput 
-              type="int" 
-              scale="2" 
-              :isCheck="true" 
-              v-model:value="form.TarBad" 
-              name="TarBad" 
-              :unit="params.TarBad.unit" 
-              :title="params.TarBad.paramname"
-              :labelWidth="4"
-              ::inputWidth="5"
-              btnName="更新"
-              :form="form"
-              @upData="updateData('unfavorable')"
-              :max="params.TarBad.num_maxvalue"
-              :min="params.TarBad.num_minvalue"
-              :step="params.TarBad.num_step"
-            >
-          </MyInput>
-      </div>
-    </template>
-  </customBtn>
+      <template #slot2="{data}">
+        <div>
+          <p style="font-size: 12px;">{{params.NowFlow && params.NowFlow.paramname}}:<span style="font-size: 18px;">{{ form.NowFlow }}m³/h</span></p>
+            <MyInput 
+                v-if="params.TatFlow"
+                type="int" 
+                :scale="params.TatFlow && params.TatFlow.num_scale" 
+                :isCheck="true" 
+                v-model:value="form.TatFlow" 
+                name="TatFlow" 
+                :unit="params.TatFlow && params.TatFlow.paramname" 
+                :title="params.TatFlow && params.TatFlow.paramname"
+                :labelWidth="4"
+                :inputWidth="5"
+                btnName="更新"
+                :form="form"
+                @upData="updateData('Constantflow')"
+                :max="params.TatFlow && params.TatFlow.num_maxvalue"
+                :min="params.TatFlow && params.TatFlow.num_minvalue"
+                :step="params.TatFlow && params.TatFlow.num_step"
+              >
+            </MyInput>
+        </div>
+      </template>
+
+      <template #slot3="{data}">
+        <div>
+          <p style="font-size: 12px;">{{params.MostBad && params.MostBad.paramname}}:<span style="font-size: 18px;">{{ form.MostBad }}MPa</span></p>
+            <MyInput 
+                v-if="params.TarBad"
+                type="int" 
+                :scale="params.TarBad && params.TarBad.num_scale" 
+                :isCheck="true" 
+                v-model:value="form.TarBad" 
+                name="TarBad" 
+                :unit="params.TarBad && params.TarBad.unit" 
+                :title="params.TarBad && params.TarBad.paramname"
+                :labelWidth="4"
+                ::inputWidth="5"
+                btnName="更新"
+                :form="form"
+                @upData="updateData('unfavorable')"
+                :max="params.TarBad && params.TarBad.num_maxvalue"
+                :min="params.TarBad && params.TarBad.num_minvalue"
+                :step="params.TarBad && params.TarBad.num_step"
+              >
+            </MyInput>
+        </div>
+      </template>
+    </customBtn>
+    </div>
+    
 </template>
 
 <script setup>
@@ -163,7 +210,7 @@ import customBtn from '../../../modules/customBtn.vue'
 import MyInput from '../../../modules/myInput.vue'
 import Lamp from '../../../modules/lamp.vue'
 import {Modal} from 'ant-design-vue'
-import {ref, defineProps, defineEmits, reactive, inject} from 'vue'
+import {ref, defineProps, defineEmits, reactive, inject, nextTick} from 'vue'
 import Api from '@/api/api'
 import utils from '@/utils/utils'
 import { log } from '@antv/g2plot/lib/utils'
@@ -175,9 +222,14 @@ let router = useRouter()
 let detailData = inject('detail')
 let params = ref(detailData.value.params)
 let form = ref(detailData.value.paramvalues)
+let tab = ref()
 console.log(params,'params');
 console.log(form.value,'formData');
 
+nextTick(() => {
+  tab.value.active = form.value.Control
+})
+
 let updateData = (funName) => {
    Modal.confirm({
     title:'确定更新数据吗?',
@@ -203,6 +255,23 @@ let updateData = (funName) => {
     }
    })
 }
+
+let modelChange = async (data) => {
+  let res = await Api.requested({
+    "id": "20230627163701",
+    "content": {
+      "w_deviceid": router.currentRoute.value.query.id,
+      "w_functionid": detailData.value.function.Ctrl.w_functionid,
+      "params": {
+        'Control':data
+      }
+    }
+  })
+  utils.message(res,'操作成功',() => {
+    emit('onSuccess')
+  })
+}
+
 </script>
 
 <style scoped>

+ 90 - 11
src/operation/moduleNormal/controlPanel/model/dianci/modules/infoPanel.vue

@@ -1,52 +1,121 @@
 <template>
   <div class="header">
     <span style="color:#ffffff">设备信息</span>
-    <span style="color:#ffffff;font-size: 12px;cursor: pointer;">设备信息></span>
+    <span class="right" @click="goDetail">设备详情></span>
   </div>
   <div class="info">
     <div class="info-item">
       <div class="name">设备名称</div>
-      <div class="value">{{ detailData.devicename }}</div>
+      <div class="value">
+        <a-tooltip>
+          <template #title>
+            {{ detailData.devicename }}
+          </template>
+          {{ detailData.devicename }}
+        </a-tooltip>
+      </div>
     </div>
     <div class="info-item">
       <div class="name">设备编号</div>
-      <div class="value">{{ detailData.serialnumber }}</div>
+      <div class="value">
+        <a-tooltip>
+          <template #title>
+            {{ detailData.serialnumber }}
+          </template>
+          {{ detailData.serialnumber }}
+        </a-tooltip>
+      </div>
     </div>
     <div class="info-item">
       <div class="name">状      态</div>
-      <div class="value">{{ detailData.status }}</div>
+      <div class="value">
+        <a-tooltip>
+          <template #title>
+            {{ detailData.status }}
+          </template>
+          {{ detailData.status }}
+        </a-tooltip>
+    </div>
     </div>
     <div class="info-item">
       <div class="name">站点</div>
-      <div class="value">{{ detailData.siteid }}</div>
+      <div class="value">
+        <a-tooltip>
+          <template #title>
+            {{ detailData.siteid }}
+          </template>
+          {{ detailData.siteid }}
+        </a-tooltip>
+      </div>
     </div>
     <div class="info-item">
       <div class="name">区      域</div>
-      <div class="value">{{ detailData.areaname }}</div>
+      <div class="value">
+        <a-tooltip>
+          <template #title>
+            {{ detailData.areaname }}
+          </template>
+          {{ detailData.areaname }}
+        </a-tooltip>
+      </div>
     </div>
     <div class="info-item">
       <div class="name">固件版本</div>
-      <div class="value">{{ detailData.version }}</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">{{ detailData.lastconnecttime }}</div>
+      <div class="value">
+        <a-tooltip>
+          <template #title>
+            {{ detailData.lastconnecttime }}
+          </template>
+          {{ detailData.lastconnecttime }}
+        </a-tooltip>
+      </div>
     </div>
     <div class="info-item" style="white-space: pre-wrap;">
       <div class="name">地      点</div>
-      <div class="value">{{ detailData.address }}</div>
+      <div class="value">
+        <a-tooltip>
+          <template #title>
+            {{detailData.province}}{{detailData.city}}{{detailData.county}}{{ detailData.address }}
+          </template>
+          {{ detailData.address }}
+        </a-tooltip>
+      </div>
     </div>
   </div>
 </template>
 
 <script setup>
 import {ref, defineProps, defineEmits, inject, onMounted} from 'vue'
+import { useRouter } from 'vue-router'
 import Api from '@/api/api'
 import utils from '@/utils/utils'
+
+let router = useRouter()
 let emit = defineEmits([])
 let props = defineProps({})
 
 let detailData = inject('detail')
+
+let goDetail = () => {
+  router.push({
+    path:'/equipmentDetail',
+    query: {
+      id:router.currentRoute.value.query.id
+    }
+  })
+}
+
 onMounted(() => {
   console.log(detailData.value);
 })
@@ -58,6 +127,14 @@ onMounted(() => {
   justify-content: space-between;
   margin-bottom: 10px;
 }
+.header .right {
+  color:#ffffff;
+  font-size: 12px;
+  cursor: pointer;
+}
+.header .right:hover {
+  color:#16FFF6;
+}
 .header:first-child {
   font-size: 14px;
 }
@@ -82,14 +159,16 @@ onMounted(() => {
   color: #ffffff;
   background: rgb(255, 225, 255,.25);
   padding: 0 10px;
-  flex: 1;
+  width: 100px;
 }
 .info .info-item .value {
   font-size: 12px;
   color:#16FFF6;
   background: rgb(255, 225, 255,.10);
   padding: 0 10px;
-  flex: 2.5;
+  flex: 100;
   text-align: right;
+  overflow: hidden;
 }
+
 </style>

+ 10 - 14
src/operation/moduleNormal/controlPanel/model/dianci/modules/timeControl.vue

@@ -1,25 +1,23 @@
 <template>
   <div class="header">
-    <span style="color:#ffffff">设备信息</span>
+    <span style="color:#ffffff">分时控制设置</span>
     <customBtn :btnOptions="[{label:'保存',value:'timeshared'}]" @clickBtn="updateData"></customBtn>
   </div>
-  <div>
-    <span style="color:#ffffff">{{ params.TimeCon.paramname }}:</span>
+  <div v-if="params.TimeCon">
+    <span style="color:#ffffff">{{ params.TimeCon && params.TimeCon.paramname }}:</span>
     <a-radio-group v-model:value="form.TimeCon" @change="modelChange">
       <a-radio :style="radioStyle" :value="item.value" v-for="item in params.TimeCon.options">{{ item.label }}</a-radio>
     </a-radio-group>
   </div>
   <div class="info">
     <div class="info-item" v-for="(i,index) in 12">
-      <div class="title">时间段{{ i }}</div>
-      <div class="info-item_item">
+      <div class="title" v-if="params[`T${i}_T`]">时间段{{ i }}</div>
+      <div class="info-item_item" v-if="params[`T${i}_T`]">
           <MyInput 
-            :scale="params[`T${i}_T`].num_scale" 
+            :scale="params[`T${i}_T`] && params[`T${i}_T`].num_scale" 
             v-model:value="form[`T${i}_T`]" 
             :name="`T${i}_T`" 
-            :title="params[`T${i}_T`].paramname"
-            :labelWidth="4"
-            :inputWidth="2"
+            :title="params[`T${i}_T`] && params[`T${i}_T`].paramname"
             type="h:m"
             :form="form"
             ref="Input"
@@ -27,14 +25,12 @@
           >
         </MyInput>
       </div>
-      <div class="info-item_item">
+      <div class="info-item_item" v-if="params[`T${i}_T`]">
           <MyInput 
-            :scale="params[`T${i}_P`].num_scale" 
+            :scale="params[`T${i}_P`] && params[`T${i}_P`].num_scale" 
             v-model:value="form[`T${i}_P`]" 
             :name="`T${i}_P`" 
-            :title="params[`T${i}_P`].paramname"
-            :labelWidth="4"
-            :inputWidth="2"
+            :title="params[`T${i}_P`] && params[`T${i}_P`].paramname"
             :form="form"
             ref="Input"
             :isCheck="true"

+ 26 - 5
src/operation/moduleNormal/controlPanel/modules/customBtn.vue

@@ -1,5 +1,15 @@
 <template>
-  <div class="btn-wrapper">
+  
+  <a-select
+    v-if="select"
+    ref="select"
+    v-bind="$attrs"
+    style="width: 120px"
+    @change="handleChange"
+  >
+    <a-select-option :value="item.label" v-for="(item,index) in btnOptions">{{ item.label }}</a-select-option>
+  </a-select>
+  <div class="btn-wrapper" v-else>
     <div class="btn-box">
       <div :class="['btn-item',active == item.label ? 'active' : '',{'active':btn}]" v-for="item in btnOptions" @click="itemClick(item)">{{ item.label }}</div>
     </div>
@@ -12,23 +22,29 @@
 </template>
 
 <script setup>
-import {ref, defineProps, defineEmits, computed} from 'vue'
+import {ref, defineProps, defineEmits, computed, nextTick} from 'vue'
 import Api from '@/api/api'
 import utils from '@/utils/utils'
-let emit = defineEmits(['clickBtn'])
+let emit = defineEmits(['clickBtn','selectChange'])
 let props = defineProps({
   btnOptions: Array,
   btn:false,
   tab: {
     type: Boolean,
     default:() => false
-  }
+  },
+  select: {
+    type:Boolean,
+    default:() => false
+  },
 })
 
+
 let active = ref(props.btnOptions[0].label)
 
 let isSlot = computed((data) => {
   return (data) => {
+    console.log(active.value);
     return data.label == active.value
   }
 })
@@ -38,6 +54,11 @@ let itemClick = (data) => {
   emit('clickBtn',data)
 }
 
+let handleChange = (data) => {
+  active.value = data
+  emit('selectChange',data)
+}
+
 defineExpose({
   active
 })
@@ -67,6 +88,6 @@ defineExpose({
   color: #16FFF6;
 }
 .content {
-  margin-top: 20px;
+  margin-top: 10px;
 }
 </style>

+ 4 - 4
src/operation/moduleNormal/controlPanel/modules/dataBlock.vue

@@ -41,10 +41,10 @@ let props = defineProps(['title','data','top','left'])
   .header {
   }
   .header .title {
-    background: rgba(255, 164, 6, 1);
-    display: inline-block;
-    padding: 10px;
+    background:linear-gradient(-60deg, transparent 25px, rgba(255, 164, 6));
+    padding: 10px 35px 10px 10px;
     margin-bottom: 10px;
+    position: relative;
   }
   .content {
     padding: 0 10px 10px 10px;
@@ -59,7 +59,7 @@ let props = defineProps(['title','data','top','left'])
     display: flex;
     justify-content: space-between;
     border-bottom: 1px solid rgba(255, 255, 255, .1);
-    padding: 10px;
+    padding: 4px;
     font-size: 20px;
   }
   .content .item:last-child {

+ 23 - 17
src/operation/moduleNormal/controlPanel/modules/myInput.vue

@@ -1,12 +1,19 @@
 <template>
-  <a-form ref="Form" :model="form" size="small" layout="vertical" mode="multiple" :validateTrigger="['blur']" v-if="isCheck">
+  <a-form ref="Form" style="width:100%" :model="form" size="small" layout="vertical" mode="multiple" :validateTrigger="['blur']" v-if="isCheck">
     <a-form-item :rules="returnCheck" :name="name">
       <div style="display: flex;align-items: center;flex-wrap: nowrap">
         <div class="my-input" style="flex:5">
-          <div class="label" :style="[{'flex':labelWidth}]">{{ title }}</div>
-          <div class="input" :style="[{'flex':inputWidth}]">
-            <a-input v-bind="$attrs" v-if="!max && !min"></a-input>
-            <a-input-number v-bind="$attrs" :min="min" :max="max" :step="step" size="small" v-else/>
+          <div class="label">
+            <a-tooltip>
+              <template #title>
+                {{ title }}
+              </template>
+              {{ title }}
+            </a-tooltip>
+          </div>
+          <div class="input">
+            <a-input style="width:100%" v-bind="$attrs" v-if="!max && !min && !step"></a-input>
+            <a-input-number style="width:100%" v-bind="$attrs" :min="min" :max="max" :step="step" size="small" v-else/>
             <span style="white-space: nowrap;">{{ unit }}</span>
           </div>
         </div>
@@ -18,10 +25,10 @@
   </a-form>
   <div style="display: flex;align-items: center;flex-wrap: nowrap" v-else>
     <div class="my-input" style="flex:5">
-      <div class="label" :style="[{'flex':labelWidth}]">{{ title }}</div>
-      <div class="input" :style="[{'flex':inputWidth}]">
-        <a-input v-bind="$attrs" v-if="!max && !min"></a-input>
-        <a-input-number v-bind="$attrs" :min="min" :max="max" :step="step" size="small" v-else/>
+      <div class="label">{{ title }}</div>
+      <div class="input">
+        <a-input style="width:100%" v-bind="$attrs" v-if="!max && !min && !step"></a-input>
+        <a-input-number style="width:100%" v-bind="$attrs" :min="min" :max="max" :step="step" size="small" v-else/>
         <span style="white-space: nowrap;">{{ unit }}</span>
       </div>
     </div>
@@ -52,14 +59,6 @@ let props = defineProps({
     type:[String, Number],
     default: () => ''
   },
-  labelWidth: {
-    type: [Number,String],
-    default:() => 1
-  },
-  inputWidth: {
-    type:[String,Number],
-    default:() => 2.5
-  },
   form: Boolean,
   btnName: String,
   max: [Number,String],
@@ -145,6 +144,9 @@ defineExpose({
   color: #ffffff;
   background: rgb(255, 225, 255,.25);
   padding: 0 10px;
+  overflow: hidden;
+  white-space: nowrap;
+  width: 120px !important;
 }
 .input {
   font-size: 12px;
@@ -153,6 +155,7 @@ defineExpose({
   padding: 0 10px;
   display: flex;
   align-items: center;
+  flex: 100;
 }
 /deep/ input {
   text-align: right;
@@ -162,12 +165,14 @@ defineExpose({
   background: none !important;
   border: none !important;
   padding: 0 !important;
+  width: 50px;
 }
 
 /deep/.ant-input-number  {
   background: none !important;
   border: none !important;
   padding: 0 !important;
+  width: 50px;
 }
 
 
@@ -175,4 +180,5 @@ defineExpose({
   text-align: left;
 }
 
+
 </style>

+ 1 - 2
src/operation/moduleNormal/roleManage/detail/modules/addAuth.vue

@@ -82,8 +82,7 @@
   }
   const addOptions = async ()=>{
     const res = await Api.requested({
-      classname:"manager.role.role",
-      method:"add_appauth",
+      id:20230608102702,
       content:{
         roleid:router.currentRoute.value.query.id,
         systemapps:[{systemappid: appParam.value.content.systemappid, optionids:optionSelect.value.map(e=>e.optionid), hiddenfields: []}]

+ 8 - 0
src/operation/moduleNormal/userManage/index.vue

@@ -1,6 +1,14 @@
 <template>
   <div>
     <listTemp ref="list" keyRouteName="accountno" :param="param" :tableName="'accountTable'" :searchType="searchType" :detailPage="{name:'accountManageDetail',idname:'userid'}">
+      <template #tb_cell="{data}">
+        <template v-if="data.column.dataIndex == 'status'">
+          {{ data.record.status == 'ACTIVE' ? '启用' : '停用' }}
+        </template>
+        <template v-if="data.column.dataIndex == 'userrole'">
+          <a-tag v-for="item in data.record.userrole">{{ item.rolename }}</a-tag>
+        </template>
+      </template>
       <template #operation>
         <add @onSuccess="onSuccess"></add>
       </template>

+ 3 - 3
src/views/login/login.vue

@@ -6,8 +6,7 @@
       <div style="text-align: center;">
         <div style="display: inline-block;">
           <p class="title">
-            <span style="font-weight: 600;font-size: 3rem;margin-right: 10px;">CB</span>
-            班尼戈
+            <img height="30" src="@/assets/LOGO.svg" alt="">
           </p>
         </div>
       </div>
@@ -179,8 +178,9 @@ export default defineComponent({
 
 
 .conatiner{
-  background: url('@/assets/wallhaven-0pq8gm.jpeg');
+  background-image: url('@/assets/bg.gif');
   background-size: cover;
+  animation-direction: reverse;
 }
 .title{
   height: 33px;

Some files were not shown because too many files changed in this diff