SetPipe.vue 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356
  1. <template>
  2. <div>
  3. <el-dialog
  4. width="300px"
  5. v-model="dialoglog"
  6. :modal="false"
  7. :close-on-click-modal="false"
  8. draggable
  9. :fullscreen="false"
  10. :modal-append-to-body="false"
  11. modal-class="summary-dlg"
  12. class="right log_class bgcolor tianjia asideg asidegbg leftbgimg"
  13. >
  14. <template #header="{ titleId, titleClass }">
  15. <div class="my-header">
  16. <el-image :src="icon" fit="contain"></el-image>
  17. <h4 :id="titleId" :class="titleClass">{{ texttitle }}</h4>
  18. </div>
  19. </template>
  20. <div>{{ msg }}</div>
  21. <div class="dialog-footer footer_div l_btn">
  22. <div class="footerbtn flex1">
  23. <div class="borderimg">
  24. <el-button @click="dialoglog = false">取消</el-button>
  25. </div>
  26. </div>
  27. <div class="footerbtn flex1">
  28. <div class="borderimg">
  29. <el-button @click="textclick(); dialoglog = false"> 确定 </el-button>
  30. </div>
  31. </div>
  32. </div>
  33. </el-dialog>
  34. </div>
  35. </template>
  36. <script setup>
  37. import { ref, onMounted, onBeforeUnmount,reactive,onUnmounted } from "vue";
  38. import { RouterView, RouterLink } from "vue-router";
  39. import { request, uploadFile } from "@/utils/request";
  40. import { ElMessage, ElButton, ElDialog, ElSelect } from "element-plus";
  41. import icon from "@/assets/img/icon.png";
  42. import { vtkmodel } from "@/control/vtkModel.js";
  43. let emit = defineEmits(['Dtext',])
  44. let dialoglog = ref(false);
  45. let texttitle = ref("管道信息");
  46. let msg = ref("内容");
  47. defineExpose({ dialoglog });
  48. let timing = ref(null);
  49. //管道节点选择对象
  50. let selectObj = ref(null);
  51. const textclick=()=>{
  52. emit('Dtext',selectObj.value);
  53. }
  54. onBeforeUnmount(() => {
  55. clearInterval(timing.value);
  56. });
  57. onMounted(() => {
  58. jgSelect();
  59. });
  60. onUnmounted(() => {
  61. clearInterval(timing.value);
  62. })
  63. //选择结果定时器
  64. function jgSelect(){
  65. timing.value = setInterval(() => {//定时器
  66. selectObj.value=vtkmodel.selectObj;
  67. msg.value=selectObj.value;
  68. }, 200);
  69. }
  70. </script>
  71. <style lang="scss" scoped>
  72. .vtk {
  73. position: absolute;
  74. z-index: 150;
  75. top: 70px;
  76. }
  77. .jc_padding .el-table tr {
  78. height: 30px !important;
  79. background: rgba(104, 173, 255, 0.3);
  80. box-shadow: inset 0px 0px 17px 5px rgba(12, 97, 197, 0.2);
  81. border-radius: 0px 0px 0px 0px;
  82. border: 1px solid;
  83. border-image: linear-gradient(180deg, rgba(31, 107, 255, 1), rgba(31, 107, 255, 0.48)) 1
  84. 1;
  85. }
  86. .flex_a {
  87. flex: 1;
  88. padding: 0 19px;
  89. }
  90. .btns {
  91. width: 72px;
  92. height: 30px;
  93. background-image: url(../../assets/img/Rectangle399.png);
  94. background-repeat: no-repeat;
  95. line-height: 30px;
  96. overflow: hidden;
  97. margin: 10px 0;
  98. .spantext {
  99. font-weight: bold;
  100. font-size: 12px;
  101. color: #ffffff;
  102. text-align: left;
  103. font-style: normal;
  104. text-transform: none;
  105. }
  106. }
  107. .header_z {
  108. box-shadow: none !important;
  109. padding: 10px 20px !important;
  110. }
  111. .header_l {
  112. line-height: 10px;
  113. text-align: left;
  114. padding: 0 20px;
  115. border-image: linear-gradient(180deg, rgba(31, 107, 255, 1), rgba(31, 107, 255, 0.48)) 1
  116. 1;
  117. box-shadow: inset 0px 0px 17px 5px rgba(12, 97, 197, 0.2);
  118. border-radius: 0px 0px 0px 0px;
  119. .el-image {
  120. padding: 10px 10px 0 0;
  121. }
  122. h4 {
  123. font-weight: bold;
  124. font-size: 12px;
  125. color: #68adff;
  126. line-height: 14px;
  127. text-align: left;
  128. font-style: normal;
  129. text-transform: none;
  130. }
  131. }
  132. .jc_padding {
  133. padding: 18px 10px;
  134. }
  135. .line {
  136. border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  137. box-sizing: border-box;
  138. }
  139. .L_aside {
  140. .iconimg {
  141. width: 37px;
  142. height: 36px;
  143. margin: 0 7px 0 24px;
  144. }
  145. }
  146. .ddd {
  147. margin-top: 20px;
  148. .ddd_div {
  149. padding: 20px 0;
  150. position: relative;
  151. }
  152. .class_btn {
  153. position: absolute;
  154. right: 0;
  155. top: 21px;
  156. }
  157. .header_l {
  158. line-height: 10px;
  159. text-align: left;
  160. padding: 0 20px;
  161. border-image: linear-gradient(180deg, rgba(31, 107, 255, 1), rgba(31, 107, 255, 0.48))
  162. 1 1;
  163. box-shadow: inset 0px 0px 17px 5px rgba(12, 97, 197, 0.2);
  164. border-radius: 0px 0px 0px 0px;
  165. .el-image {
  166. padding: 10px 10px 0 0;
  167. }
  168. h4 {
  169. font-weight: bold;
  170. font-size: 12px;
  171. color: #68adff;
  172. line-height: 14px;
  173. text-align: left;
  174. font-style: normal;
  175. text-transform: none;
  176. }
  177. }
  178. }
  179. .el-dialog__title {
  180. display: inline-block;
  181. }
  182. .bgcolor {
  183. box-shadow: inset 0px 0px 17px 5px rgba(12, 97, 197, 0.2);
  184. border-radius: 0px 0px 0px 0px;
  185. border: 1px solid;
  186. border-image: linear-gradient(180deg, rgba(31, 107, 255, 1), rgba(31, 107, 255, 0.48)) 1
  187. 1;
  188. }
  189. .log_class {
  190. .my-header {
  191. line-height: 10px;
  192. height: 40px;
  193. text-align: left;
  194. padding: 0 20px;
  195. border-bottom: 1px solid;
  196. border-image: linear-gradient(180deg, rgba(31, 107, 255, 1), rgba(31, 107, 255, 0.48))
  197. 1 1;
  198. box-shadow: inset 0px 0px 17px 5px rgba(12, 97, 197, 0.2);
  199. border-radius: 0px 0px 0px 0px;
  200. .el-image {
  201. padding: 10px 10px 0 0;
  202. }
  203. h4 {
  204. font-weight: bold;
  205. font-size: 12px;
  206. color: #68adff;
  207. line-height: 14px;
  208. text-align: left;
  209. font-style: normal;
  210. text-transform: none;
  211. }
  212. }
  213. .my_content {
  214. width: 100%;
  215. height: 90px;
  216. box-shadow: inset 0px 0px 17px 5px rgba(12, 97, 197, 0.2);
  217. border-radius: 0px 0px 0px 0px;
  218. position: relative;
  219. .radio-group {
  220. display: flex;
  221. justify-content: center;
  222. .el-radio {
  223. flex: 1;
  224. justify-content: center;
  225. font-weight: bold;
  226. font-size: 12px;
  227. color: #ffffff;
  228. line-height: 14px;
  229. }
  230. }
  231. }
  232. .el-dialog__footer {
  233. position: absolute;
  234. bottom: 17px;
  235. display: flex;
  236. .footerbtn {
  237. flex: 1;
  238. text-align: center;
  239. }
  240. }
  241. }
  242. .my_content1 {
  243. .el-table .cell {
  244. font-weight: 400;
  245. font-size: 12px;
  246. color: #ffffff !important;
  247. line-height: 14px;
  248. text-align: left;
  249. font-style: normal;
  250. text-transform: none;
  251. }
  252. }
  253. .l_btn .borderimg {
  254. width: 70px;
  255. height: 30px;
  256. font-size: 12px;
  257. background: rgba(104, 173, 255, 0.3);
  258. box-shadow: inset 0px 0px 17px 5px rgba(12, 97, 197, 0.2);
  259. /* border: 1px solid rgba(31, 107, 255, 1); */
  260. border-image: linear-gradient(180deg, rgba(31, 107, 255, 1), rgba(31, 107, 255, 0.48)) 1
  261. 1;
  262. font-weight: bold;
  263. border-radius: 4px;
  264. display: flex;
  265. display: inline-block;
  266. box-sizing: border-box;
  267. }
  268. .borderimg {
  269. width: 109px;
  270. height: 30px;
  271. background: rgba(104, 173, 255, 0.3);
  272. box-shadow: inset 0px 0px 17px 5px rgba(12, 97, 197, 0.2);
  273. /* border: 1px solid rgba(31, 107, 255, 1); */
  274. -o-border-image: linear-gradient(
  275. 180deg,
  276. rgba(31, 107, 255, 1),
  277. rgba(31, 107, 255, 0.48)
  278. )
  279. 1 1;
  280. border-image: linear-gradient(180deg, rgba(31, 107, 255, 1), rgba(31, 107, 255, 0.48)) 1
  281. 1;
  282. border-radius: 4px;
  283. display: flex;
  284. display: inline-block;
  285. box-sizing: border-box;
  286. }
  287. .el-table,
  288. .el-table thead th {
  289. background-color: rgba(13, 22, 57, 0.96) !important;
  290. }
  291. .L_aside {
  292. height: calc(100vh - 70px);
  293. position: absolute;
  294. top: 70px;
  295. overflow: hidden;
  296. }
  297. .el-form-item__label {
  298. color: #ffffff !important;
  299. }
  300. .jiancedian {
  301. width: 380px;
  302. position: absolute;
  303. right: 0;
  304. top: 70px;
  305. box-shadow: inset 0px 0px 17px 5px rgba(12, 97, 197, 0.2);
  306. border-radius: 4px 4px 4px 4px;
  307. border: 1px solid;
  308. border-image: linear-gradient(180deg, rgba(31, 107, 255, 1), rgba(31, 107, 255, 0.48)) 1
  309. 1;
  310. }
  311. </style>
  312. <style>
  313. .log_class {
  314. background-color: rgba(13, 22, 57, 0.96) !important;
  315. }
  316. .right {
  317. right: 0px;
  318. position: absolute;
  319. top: -7vh;
  320. }
  321. </style>