index.vue 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. <!--
  2. *@description: 工程历史详情
  3. *@author: yh Fu
  4. *@date: 2024-1-8 10:04:23
  5. *@version: V1.0.5
  6. -->
  7. <template>
  8. <el-dialog
  9. :visible.sync="dialogVisible"
  10. title=""
  11. width="60%"
  12. append-to-body
  13. custom-class="ConstructionDetailsDialog">
  14. <el-tabs v-model="activeName" type="card" @tab-click="viewSource" class="projectTabs">
  15. <el-tab-pane
  16. :label="e.label"
  17. :name="e.value"
  18. v-for="(e,idx) in currentDicts"
  19. :key="idx"
  20. >
  21. <el-collapse
  22. class="rmOldPie"
  23. v-for="(e,idx) in currentCollapses"
  24. :key="idx"
  25. >
  26. <el-collapse-item :name="idx">
  27. <template slot="title">
  28. <div style="display: flex;width: 100%;height: 100%;">
  29. <div style="width: 3%;height: 29px;margin: auto 0;border-radius: 73%;background-color: rgb(0, 157, 217);box-shadow: 1px 1px #BFBFBF;">
  30. </div>
  31. <h2 style="margin-left: 1%;font-weight: 700;">{{ e.updateTime }}</h2>
  32. </div>
  33. </template>
  34. <!-- 人员信息 -->
  35. <div>
  36. 负责人:{{ e.headName || '未知'}} &nbsp;&nbsp;
  37. 施工人:{{ e.constructUser || '未知'}} &nbsp;&nbsp;
  38. 负责人电话:{{ e.headPhone || '未知'}} &nbsp;&nbsp;
  39. 施工人电话:{{ e.constructPhone || '未知'}}
  40. </div>
  41. <hr>
  42. <!-- 用料明细 -->
  43. <div
  44. v-for="(i,idx) in e.zEngineeringMaterialBo"
  45. :key="idx"
  46. >
  47. 品牌:{{ i.brand || '未知'}}
  48. 材质:{{ i.corrosionLevel || '未知'}}
  49. 上门类型:{{ i.visitType || '未知'}}
  50. </div>
  51. <hr>
  52. <!-- 照片墙 -->
  53. <!-- <div style="width: 100%;height: 100%;">
  54. <img :src=require(v) v-for="v in e.zEngiineeringPhotoBoList" :key="v">
  55. </div> -->
  56. <ObsImageUpload
  57. ref="obsImageUpload"
  58. :limit="9999"
  59. :fileType="['png', 'jpg', 'jpeg']"
  60. disabled
  61. :value="e.zEngiineeringPhotoBoList"
  62. ></ObsImageUpload>
  63. </el-collapse-item>
  64. </el-collapse>
  65. </el-tab-pane>
  66. <el-button class="check" @click="checkWorking">审核</el-button>
  67. </el-tabs>
  68. </el-dialog>
  69. </template>
  70. <script>
  71. export default {
  72. name:'ConstructionDetails',
  73. props:['currentCollapses'],
  74. data(){
  75. return {
  76. currentDicts:[], // 当前类型工程节点项
  77. dialogVisible:false,
  78. activeNames: ['0'],
  79. }
  80. },
  81. methods:{
  82. // 查看单节点历史
  83. viewSource(e){
  84. console.log(this.$parent)
  85. this.$parent.viewNodeSource(e.name)
  86. },
  87. // 单项审核
  88. checkWorking(){
  89. },
  90. // 查看历史
  91. open(dicts,type = null){
  92. if(type == '1' || type == '2'){
  93. // 工业 市政
  94. this.$parent.viewNodeSource()
  95. this.currentDicts = [
  96. {
  97. value:"历史数据",
  98. label:"历史数据"
  99. }
  100. ]
  101. } else if (type === '危险作业工程') {
  102. this.$parent.viewNodeSource()
  103. this.currentDicts = [
  104. {
  105. value: "历史数据",
  106. label: "历史数据"
  107. }
  108. ]
  109. }else{
  110. console.log(dicts)
  111. this.dialogVisible = true
  112. this.currentDicts = dicts
  113. }
  114. this.dialogVisible = true
  115. }
  116. }
  117. }
  118. </script>
  119. <style lang="scss" scoped>
  120. ::v-deep .el-dialog{
  121. height: 85%;
  122. .el-dialog__body{
  123. overflow: hidden;
  124. height: 94%;
  125. }
  126. }
  127. ::v-deep .el-upload--picture-card{
  128. display: none;
  129. }
  130. .ConstructionDetailsDialog{
  131. position: absolute;
  132. .projectTabs{
  133. height: 100%;
  134. overflow: hidden;
  135. overflow-y: scroll;
  136. margin-top: 4%;
  137. ::v-deep .el-tabs__content{
  138. margin-top: 1%;
  139. }
  140. ::v-deep .el-tabs__nav{
  141. border: none;
  142. overflow: hidden;
  143. overflow-x: scroll;
  144. }
  145. ::v-deep .el-tabs__item{
  146. // width: 47%;
  147. border: 1px solid #797979;
  148. border-radius: 5px;
  149. }
  150. ::v-deep .el-tabs__item.is-active{
  151. background-color: #169BD5;
  152. color: #fff;
  153. }
  154. ::v-deep .el-tabs__header{
  155. position: fixed;
  156. width: 53%;
  157. border: none;
  158. top: 13%;
  159. }
  160. ::v-deep .el-collapse-item__wrap{
  161. padding: 0 4%;
  162. }
  163. .check{
  164. position: fixed;
  165. right: 22.1%;
  166. top: 13.1%;
  167. height: 4.6%;
  168. background-color: #CC9900;
  169. color: #fff;
  170. }
  171. }
  172. .projectTabs::-webkit-scrollbar{
  173. display: none;
  174. }
  175. ::v-deep .rmOldPie{
  176. .el-collapse-item{
  177. border: none;
  178. }
  179. }
  180. }
  181. </style>