borderTemplate.vue 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. <template>
  2. <div class="border-box-style box-content-style" :style="borderBox">
  3. <div class="justify-style">
  4. <div class="justify-style-left">
  5. <div class="icon"></div>
  6. <div class="title inline-left">{{$t(title)}}</div>
  7. <slot name="operation"></slot>
  8. </div>
  9. <div class="justify-style-right">
  10. <el-button type="text" class="detail-title" @click="detailClick">{{$t(detailTitle)}}
  11. <i class="el-icon-arrow-right el-icon--right"></i>
  12. </el-button>
  13. </div>
  14. <!-- <div style="margin-left: 0.260vw"> > </div>-->
  15. </div>
  16. <slot name="content"></slot>
  17. </div>
  18. </template>
  19. <script>
  20. import {Message} from "element-ui";
  21. export default {
  22. name: "borderTemplate",
  23. props:["borderBox","title","detailTitle","systemappid","push_path"],
  24. data(){
  25. return {
  26. /*是否拥有跳转权限*/
  27. param:{
  28. "id": 20241029155004,
  29. "content": {
  30. "systemappid":"",
  31. "userid":JSON.parse(sessionStorage.getItem('active_account')).userid
  32. }
  33. },
  34. dialogVisible:false
  35. }
  36. },
  37. methods:{
  38. async detailClick(){
  39. this.param.content.systemappid = this.systemappid
  40. const res = await this.$api.requested(this.param)
  41. console.log(res.data,'权限结果')
  42. if (res.data){
  43. this.$router.push(this.push_path)
  44. }else {
  45. this.$emit('dialog')
  46. }
  47. }
  48. },
  49. mounted() {
  50. }
  51. }
  52. </script>
  53. <style scoped>
  54. .border-box-style{
  55. background: linear-gradient( 180deg, #00244D 0%, #001E41 100%);
  56. box-shadow: 0.000vw 0.104vw 0.208vw 0.052vw rgba(0,0,0,0.15);
  57. border-radius: 0.208vw 0.208vw 0.208vw 0.208vw;
  58. border: 0.104vw solid #3D73BA;
  59. opacity: 0.8;
  60. box-sizing: border-box;
  61. }
  62. .justify-style-left{
  63. display: flex;
  64. justify-content: left;
  65. }
  66. .justify-style-right{
  67. display: flex;
  68. justify-content: right;
  69. margin-top: -0.421vw;
  70. }
  71. .justify-style{
  72. display: flex;
  73. justify-content: space-between;
  74. }
  75. .inline-left{
  76. margin-left: 1.042vw;
  77. }
  78. .box-content-style{
  79. padding: 1.042vw;
  80. }
  81. .box-content-style .icon {
  82. width: 0.313vw;
  83. height: 0.938vw;
  84. background: #E6F4FF;
  85. border-radius: 0.104vw 0.104vw 0.104vw 0.104vw;
  86. }
  87. .box-content-style .title{
  88. /*width: 7.350vw;*/
  89. height: 1.615vw;
  90. font-family: Microsoft YaHei, Microsoft YaHei;
  91. font-weight: bold;
  92. font-size: 1.250vw;
  93. color: #E6F4FF;
  94. text-align: left;
  95. line-height: 0.9vw;
  96. vertical-align: middle;
  97. }
  98. .box-content-style .detail-title{
  99. /*width: 8.333vw;*/
  100. height: 1.094vw;
  101. font-family: Microsoft YaHei, Microsoft YaHei;
  102. font-weight: 400;
  103. font-size: 0.833vw;
  104. color: #CFDCE5;
  105. line-height: 0.9vw;
  106. text-align: left;
  107. font-style: normal;
  108. text-transform: none;
  109. }
  110. </style>