SetPipe.vue 8.6 KB

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