index.vue 72 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670
  1. <!--
  2. *@description: 工程历史详情
  3. *@author: yh Fu
  4. *@date: 2024-1-8 10:04:23
  5. *@version: V1.0.5
  6. -->
  7. <template>
  8. <div style="width: 100%;height: 100%;">
  9. <el-dialog
  10. :visible.sync="dialogVisible"
  11. :title="titleName"
  12. width="60%"
  13. append-to-body
  14. custom-class="ConstructionDetailsDialog">
  15. <el-tabs type="card" v-model="activeNames" @tab-click="viewSource" class="projectTabs">
  16. <el-tab-pane
  17. :label="e.label"
  18. :name="e.value"
  19. v-for="(e,idx) in currentDicts"
  20. :key="idx"
  21. >
  22. <el-checkbox-group v-model="checkList" >
  23. <el-collapse
  24. class="rmOldPie"
  25. v-for="(e,idx) in currentCollapses"
  26. :key="idx"
  27. >
  28. <el-collapse-item :name="idx">
  29. <template slot="title">
  30. <div style="display: flex;width: 100%;height: 100%;">
  31. <!-- <div-->
  32. <!-- style="width: 15px;height: 15px;margin: auto 10px;border-radius: 73%;background-color: #a3d3ff;box-shadow: 1px 1px rgb(131 131 131 / 62%);">-->
  33. <!-- </div>-->
  34. <el-checkbox :label="e.id" @change="handleCheckedCitiesChange" :disabled="currentDicts.some(item=>item.label==='底腿')&&(e.onTheDitch.length==0||e.beforeBottom.length==0||e.inferiorSulcus.length==0||e.legBackfilling.length==0)">
  35. <h2 style="margin-left: 1%;font-weight: 700;">{{ e.updateTime }}</h2>
  36. </el-checkbox>
  37. <h2 :style="'margin-left: 20%;font-weight: 700;'+ (e.state == '1'? 'color: #1ab394':'') "> {{e.state=='0'?"该施工信息审核未通过":e.state=='1'?"该施工信息审核通过":""}}</h2>
  38. </div>
  39. </template>
  40. <div class="personInfo">
  41. <!-- <span>负责人:{{ e.headName }} </span>-->
  42. <!-- <span>负责人电话:{{-->
  43. <!-- e.headPhone === undefined || e.headPhone === null || e.headPhone === '' ? '无' : e.headPhone-->
  44. <!-- }}</span>-->
  45. <span>施工人:{{ userNames[idx].nickName }}</span>
  46. <span>施工人电话:{{ userNames[idx].phonenumber }}</span>
  47. </div>
  48. <hr>
  49. <!--带气封堵施工 start-->
  50. <div style="display: flex;width: 100%;height: 100%;" v-if="engineType==='pe' || engineType==='iron_air' || enginClassification == 'pressure_regulating'">
  51. <el-form :model="nodeInfo" class="nodeForm materialForm">
  52. <el-row style="width: 100%;"
  53. v-show="enginClassification != 'pressure_regulating'"
  54. >
  55. <el-col :span="17">
  56. <el-form-item
  57. :class="'labelWidth'"
  58. label="工程名称"
  59. label-width="95px"
  60. >
  61. <div class="block" style="display: inline-block; margin-right: 20px;">
  62. <!--{{ kind }}-->
  63. <!--<h4 style="width: 995px;font-weight: 600;text-align: left;text-indent: 25px;">工程名称:{{ kind }}</h4>-->
  64. <!--<h4 style="width: 995px;font-weight: 600;text-align: left;text-indent: 25px;">工程名称:{{ kind }}</h4>-->
  65. <el-input v-model="kind" placeholder="请输入工程名称" style="width: 100%" :disabled="true"> </el-input>
  66. </div>
  67. </el-form-item>
  68. </el-col>
  69. </el-row>
  70. <el-row style="width: 100%;"
  71. v-show="enginClassification != 'pressure_regulating'"
  72. >
  73. <el-col :span="17">
  74. <el-form-item
  75. :class="'labelWidth'"
  76. label="工程地点"
  77. label-width="95px"
  78. >
  79. <div class="block" style="display: inline-block; margin-right: 20px;">
  80. <el-input v-model="e.constructAddre" placeholder="请输入工程地点" style="width: 100%" :disabled="status == 'read-only'"> </el-input>
  81. </div>
  82. </el-form-item>
  83. </el-col>
  84. </el-row>
  85. <el-form-item
  86. style="width: 100%;"
  87. v-show="enginClassification != 'pressure_regulating'"
  88. :class="'labelWidth'"
  89. label="作业方式"
  90. label-width="95px"
  91. >
  92. <div class="block" style="display: inline-block; margin-right: 20px;">
  93. <el-input v-model="e.segmentedCompressionQualified" placeholder="请输入作业方式" style="width: 100%" :disabled="status == 'read-only'"> </el-input>
  94. </div>
  95. </el-form-item>
  96. <el-form-item
  97. v-show="enginClassification != 'pressure_regulating'"
  98. style="width: 100%;"
  99. :class="'labelWidth'"
  100. label="管道压力"
  101. label-width="95px"
  102. >
  103. <div class="block" style="display: inline-block; margin-right: 20px;">
  104. <el-input v-model="e.constructAccordingDrawings" placeholder="请输入管道压力" style="width: 100%" :disabled="status == 'read-only'"> </el-input>
  105. </div>
  106. </el-form-item>
  107. <el-form-item
  108. :class="'labelWidth'"
  109. label="施工内容"
  110. label-width="95px"
  111. v-if="enginClassification == 'pressure_regulating'"
  112. >
  113. <div class="block" style="display: inline-block; margin-right: 20px;">
  114. <el-input type="textarea" :rows="3" v-model="e.remark" placeholder="请输入施工内容" style="width: 100%" :disabled="status == 'read-only'"> </el-input>
  115. </div>
  116. </el-form-item>
  117. </el-form>
  118. <!--<h4 style="width: 995px;font-weight: 600;text-align: left;text-indent: 25px;">工程名称:{{ kind }}</h4>-->
  119. <!--<h4 style="width: 995px;font-weight: 600;text-align: left;text-indent: 25px;">地点:{{ e.constructAddre }}</h4>-->
  120. <!--<h4 style="width: 995px;font-weight: 600;text-align: left;text-indent: 25px;">作业方式:{{ e.segmentedCompressionQualified }}</h4>-->
  121. <!--<h4 style="width: 995px;font-weight: 600;text-align: left;text-indent: 25px;">施工内容:{{ e.remark }}</h4>-->
  122. <!--<h4 style="width: 995px;font-weight: 600;text-align: left;text-indent: 25px;">管道压力:{{ e.constructAccordingDrawings }}</h4>-->
  123. <!--<el-form class="nodeForm materialForm">-->
  124. <!--<el-form-item-->
  125. <!--:prop="e.headName + ''"-->
  126. <!--:class="'labelWidth'"-->
  127. <!--label="工程名称"-->
  128. <!--label-width="95px"-->
  129. <!--&gt;-->
  130. <!--<div class="block" style="display: inline-block; margin-right: 20px;">-->
  131. <!--<el-input v-model="e.headName" placeholder="请输入工程名称" style="width: 100%" oninput="value=value.match(/\d+(\.\d{0,1})?/) ? value.match(/\d+(\.\d{0,1})?/)[0] : ''" max="999999999" :disabled="status == 'read-only'"> </el-input>-->
  132. <!--</div>-->
  133. <!--</el-form-item>-->
  134. <!--</el-form>-->
  135. </div>
  136. <!--带气封堵施工 end-->
  137. <!-- 用料明细 -->
  138. <div
  139. v-for="(i,index) in e.zEngineeringMaterialBo || [] "
  140. :key="index"
  141. >
  142. <el-form :model="nodeInfo" class="nodeForm materialForm">
  143. <el-form-item
  144. :prop="i.materialQuality"
  145. :class="enginType != '基建工程' && enginType != '民用工程' ? 'labelWidth' : '' "
  146. :label="activeNames == '阀管' ? '灶具管厂家': '材质'"
  147. v-show="i.materialQuality != null || (enginClassification != null && !enginClassification.includes('pressure_regulating')) && node !== '阀井'&& node !== '调压柜'&& node !== '管道施工记录'"
  148. label-width="95px"
  149. >
  150. <el-select v-model="i.materialQuality" placeholder="请选择材质" style="width: 100%" @change="getEnginSpecificationsList(i, index,idx)" :disabled="status == 'read-only' ">
  151. <el-option
  152. v-for="e in (activeNames == '阀管' ?materialQualityList_zjg:materialQualityList)"
  153. :key="e.id"
  154. :label="e.name"
  155. :value="e.id"
  156. ></el-option>
  157. </el-select>
  158. </el-form-item>
  159. <el-form-item
  160. :prop="i.specifications"
  161. :class="enginType != '基建工程' && enginType != '民用工程' ? 'labelWidth' : '' "
  162. label="规格"
  163. v-show="i.materialQuality != null || (enginClassification != null && !enginClassification.includes('pressure_regulating')) && node !== '阀井'&& node !== '调压柜'&& node !== '管道施工记录'"
  164. label-width="95px"
  165. >
  166. <el-select v-model="i.specifications" placeholder="请选择规格" style="width: 100%" :disabled="status == 'read-only' ">
  167. <!-- <el-option
  168. v-for="e in specificationsList"
  169. :key="e.id"
  170. :label="e.name"
  171. :value="e.id"
  172. ></el-option> -->
  173. <el-option
  174. v-for="e in corrosionLevelListAll.filter(e => e.materId == i.materialQuality)"
  175. :key="e.id"
  176. :label="e.name"
  177. :value="e.id"
  178. ></el-option>
  179. </el-select>
  180. </el-form-item>
  181. <el-form-item
  182. v-if="currentDicts.some(item=>item.label==='底腿')||(enginClassification != null && !enginClassification.includes('pressure_regulating'))"
  183. :prop="i.remark + ''"
  184. :class="enginType != '基建工程' && enginType != '民用工程' ? 'labelWidth' : '' "
  185. label="施工内容"
  186. v-show="currentDicts.some(item=>item.label==='底腿')||node==='调压柜安装'||(enginClassification != null && enginClassification.includes('pressure_regulating'))"
  187. label-width="95px"
  188. >
  189. <div class="block" style="display: inline-block; margin-right: 20px;">
  190. <el-input v-model="i.remark" placeholder="请输入施工内容" style="width: 100%" maxlength="100" type="textarea" :disabled="status == 'read-only'"></el-input>
  191. </div>
  192. </el-form-item>
  193. <el-form-item
  194. v-if="currentDicts.some(item=>item.label==='底腿')"
  195. :prop="e.constructAddre + ''"
  196. :class="enginType != '基建工程' && enginType != '民用工程' ? 'labelWidth' : '' "
  197. label="位置"
  198. v-show="currentDicts.some(item=>item.label==='底腿')"
  199. label-width="95px"
  200. >
  201. <div class="block" style="display: inline-block; margin-right: 20px;">
  202. <el-select v-model="e.constructAddre" style="width: 100%;" :disabled="status == 'read-only'">
  203. <el-option
  204. v-for="e in dict.type.construct_addre"
  205. :key="e.value"
  206. :label="e.label"
  207. :value="e.value"
  208. ></el-option>
  209. </el-select>
  210. </div>
  211. </el-form-item>
  212. <el-form-item
  213. v-if="currentDicts.some(item=>item.label==='底腿')"
  214. :prop="e.zEngineeringMaterialBo[0].number + ''"
  215. :class="enginType != '基建工程' && enginType != '民用工程' ? 'labelWidth' : '' "
  216. label="第"
  217. v-show="e.zEngineeringMaterialBo[0].number != null"
  218. label-width="95px"
  219. >
  220. <div class="block" style="display: inline-block; margin-right: 20px;">
  221. <el-input v-model="e.zEngineeringMaterialBo[0].number" placeholder="请输入具体位置" style="width: 90%;" maxlength="255" type="number" :disabled="status == 'read-only'"/><span style="font-weight:bold;">根</span>
  222. </div>
  223. </el-form-item>
  224. <el-form-item
  225. v-if="!currentDicts.some(item=>item.label==='底腿') && node !== '阀井' && node !== '管道施工记录'&& node !== '调压柜'"
  226. :prop="i.number + ''"
  227. :class="enginType != '基建工程' && enginType != '民用工程' ? 'labelWidth' : '' "
  228. label="数量"
  229. v-show="i.number != null || (enginClassification != null && !enginClassification.includes('pressure_regulating'))"
  230. label-width="95px"
  231. >
  232. <div class="block" style="display: inline-block; margin-right: 20px;">
  233. <el-input v-model="i.number" placeholder="请输入数量" style="width: 100%" oninput="value=value.match(/\d+(\.\d{0,1})?/) ? value.match(/\d+(\.\d{0,1})?/)[0] : ''" max="999999999" :disabled="status == 'read-only'"> </el-input>
  234. </div>
  235. </el-form-item>
  236. <el-form-item
  237. :prop="e.remark + ''"
  238. :class="enginType != '基建工程' && enginType != '民用工程' ? 'labelWidth' : '' "
  239. label="描述"
  240. v-show="((e.remark != null||!currentDicts.some(item=>item.label==='底腿')) && (enginClassification!='pressure_regulating'))"
  241. >
  242. <div class="block" style="display: inline-block; margin-right: 20px;">
  243. <el-input v-model="e.remark" placeholder="请输入描述" style="width: 100%" maxlength="100" :disabled="status == 'read-only'"></el-input>
  244. </div>
  245. </el-form-item>
  246. <el-form-item
  247. :prop="i.corrosionLevel"
  248. label="腐蚀等级"
  249. v-show="i.corrosionLevel != null"
  250. label-width="95px"
  251. >
  252. <!-- :rules="{required: true, message: '请输入材质', trigger: 'blur'}"-->
  253. <!-- <el-input v-model="item.materialQuality" placeholder="请输入材质" style="width: 100%"/>-->
  254. <el-select v-model="i.corrosionLevel" placeholder="请选择腐蚀等级" style="width: 100%" :disabled="status == 'read-only' ">
  255. <el-option
  256. v-for="e in materialQualityList"
  257. :key="e.id"
  258. :label="e.name"
  259. :value="e.id"
  260. ></el-option>
  261. </el-select>
  262. </el-form-item>
  263. <el-form-item
  264. :prop="i.visitType"
  265. label="上门类型"
  266. v-show="i.visitType != null"
  267. label-width="95px"
  268. >
  269. <!-- :rules="{required: true, message: '请输入材质', trigger: 'blur'}"-->
  270. <!-- <el-input v-model="item.materialQuality" placeholder="请输入材质" style="width: 100%"/>-->
  271. <el-select v-model="i.visitType" placeholder="请选择上门类型" style="width: 100%" :disabled="status == 'read-only' ">
  272. <el-option
  273. v-for="e in dict.type.visit_type"
  274. :key="e.value"
  275. :label="e.label"
  276. :value="e.value"
  277. ></el-option>
  278. </el-select>
  279. </el-form-item>
  280. <el-form-item
  281. :prop="i.selfClosingValveType"
  282. label="自闭阀类型"
  283. v-show="i.selfClosingValveType != null"
  284. label-width="95px"
  285. >
  286. <!-- :rules="{required: true, message: '请输入材质', trigger: 'blur'}"-->
  287. <!-- <el-input v-model="item.materialQuality" placeholder="请输入材质" style="width: 100%"/>-->
  288. <el-select v-model="i.selfClosingValveType" placeholder="请选择自闭阀类型" style="width: 100%" :disabled="status == 'read-only' ">
  289. <el-option
  290. v-for="e in materialQualityList_zbf"
  291. :key="e.id"
  292. :label="e.name"
  293. :value="e.id"
  294. ></el-option>
  295. </el-select>
  296. </el-form-item>
  297. <el-form-item
  298. :prop="i.brand"
  299. label="品牌"
  300. v-show="i.brand != null"
  301. label-width="95px"
  302. >
  303. <!-- :rules="{required: true, message: '请输入材质', trigger: 'blur'}"-->
  304. <!-- <el-input v-model="item.materialQuality" placeholder="请输入材质" style="width: 100%"/>-->
  305. <el-select v-model="i.brand" placeholder="请选择品牌" style="width: 100%" :disabled="status == 'read-only' ">
  306. <el-option
  307. v-for="e in materialQualityList"
  308. :key="e.id"
  309. :label="e.name"
  310. :value="e.id"
  311. ></el-option>
  312. </el-select>
  313. </el-form-item>
  314. </el-form>
  315. <!-- <el-input size="mini" v-if="i.brand" style="width: 80%" v-model="i.brand" placeholder="请输入品牌">
  316. <template slot="prepend">品牌</template>
  317. </el-input>
  318. <el-input v-if="i.visitType" size="mini" v-model="i.visitType" placeholder="请输入品牌">
  319. <template slot="prepend">上门类型</template>
  320. </el-input>
  321. <el-input size="mini" v-if="i.corrosionLevel" v-model="i.corrosionLevel" placeholder="请输入品牌">
  322. <template slot="prepend">腐蚀等级</template>
  323. </el-input>
  324. <el-input size="mini" v-if="i.selfClosingValveType" v-model="i.selfClosingValveType"
  325. placeholder="请输入品牌">
  326. <template slot="prepend">自闭阀类型</template>
  327. </el-input> -->
  328. </div>
  329. <!-- <el-form-item label="照片" prop="zEngiineeringPhotoBoList" class="obsImage"> -->
  330. <div style="display: flex;width: 100%;height: 100%;" v-if="
  331. !(currentDicts.some(item=>item.label==='底腿'))&&
  332. !(node==='下沟')&&
  333. !(node==='iron_air')&&
  334. !(node==='pe')&&
  335. !(node=='回填')&&
  336. !(node=='阀井')&&
  337. !(node=='调压柜')&&
  338. !(node=='trench_construction')&&
  339. !(node=='underditch_construction')
  340. "
  341. >
  342. <h3 style="width: 95px;font-weight: 600;text-align: left;text-indent: 25px;">图片</h3>
  343. <ObsImageUpload
  344. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  345. ref="obsImageUpload"
  346. :limit="11"
  347. :fileType="['png', 'jpg', 'jpeg']"
  348. @input="getUrl(arguments,idx)"
  349. :value="e.zEngiineeringPhotoBoList"
  350. :disabled="status == 'read-only' "
  351. ></ObsImageUpload>
  352. </div>
  353. <div style="display: flex;width: 100%;height: 100%;" v-if="node==='trench_construction'">
  354. <h3 style="width: 95px;font-weight: 600;text-align: left;text-indent: 25px;">焊接照片</h3>
  355. <ObsImageUpload
  356. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  357. ref="obsImageUpload"
  358. :limit="11"
  359. :fileType="['png', 'jpg', 'jpeg']"
  360. @input="getwelding(arguments,idx)"
  361. :value="e.welding"
  362. :disabled="status == 'read-only' "
  363. ></ObsImageUpload>
  364. </div>
  365. <div style="display: flex;width: 100%;height: 100%;" v-if="node==='trench_construction'">
  366. <h3 style="width: 95px;font-weight: 600;text-align: left;text-indent: 25px;">防腐照片</h3>
  367. <ObsImageUpload
  368. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  369. ref="obsImageUpload"
  370. :limit="11"
  371. :fileType="['png', 'jpg', 'jpeg']"
  372. @input="getaczoiling(arguments,idx)"
  373. :value="e.aczoiling"
  374. :disabled="status == 'read-only' "
  375. ></ObsImageUpload>
  376. </div>
  377. <div style="display: flex;width: 100%;height: 100%;" v-if="node==='underditch_construction'">
  378. <h3 style="width: 95px;font-weight: 600;text-align: left;text-indent: 25px;">管道下沟</h3>
  379. <ObsImageUpload
  380. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  381. ref="obsImageUpload"
  382. :limit="11"
  383. :fileType="['png', 'jpg', 'jpeg']"
  384. @input="getpiping(arguments,idx)"
  385. :value="e.piping"
  386. :disabled="status == 'read-only' "
  387. ></ObsImageUpload>
  388. </div>
  389. <div style="display: flex;width: 100%;height: 100%;" v-if="node==='underditch_construction'">
  390. <h3 style="width: 95px;font-weight: 600;text-align: left;text-indent: 25px;">警示铺设</h3>
  391. <ObsImageUpload
  392. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  393. ref="obsImageUpload"
  394. :limit="11"
  395. :fileType="['png', 'jpg', 'jpeg']"
  396. @input="getwarning(arguments,idx)"
  397. :value="e.warning"
  398. :disabled="status == 'read-only' "
  399. ></ObsImageUpload>
  400. </div>
  401. <div style="display: flex;width: 100%;height: 100%;" v-if="node==='underditch_construction'">
  402. <h3 style="width: 95px;font-weight: 600;text-align: left;text-indent: 25px;">回填照片</h3>
  403. <ObsImageUpload
  404. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  405. ref="obsImageUpload"
  406. :limit="11"
  407. :fileType="['png', 'jpg', 'jpeg']"
  408. @input="getbackfilling(arguments,idx)"
  409. :value="e.backfilling"
  410. :disabled="status == 'read-only' "
  411. ></ObsImageUpload>
  412. </div>
  413. <div style="display: flex;width: 100%;height: 100%;" v-if="engineType==='pe'">
  414. <h3 style="width: 95px;font-weight: 600;text-align: left;text-indent: 25px;">鞍型焊接</h3>
  415. <ObsImageUpload
  416. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  417. ref="obsImageUpload"
  418. :limit="11"
  419. :fileType="['png', 'jpg', 'jpeg']"
  420. @input="getpeSaddleWelding(arguments,idx)"
  421. :value="e.peSaddleWelding"
  422. :disabled="status == 'read-only' "
  423. ></ObsImageUpload>
  424. </div>
  425. <div style="display: flex;width: 100%;height: 100%;" v-if="engineType==='pe'">
  426. <h3 style="width: 95px;font-weight: 600;text-align: left;text-indent: 25px;">气密实验</h3>
  427. <ObsImageUpload
  428. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  429. ref="obsImageUpload"
  430. :limit="11"
  431. :fileType="['png', 'jpg', 'jpeg']"
  432. @input="getpeAirtightTest(arguments,idx)"
  433. :value="e.peAirtightTest"
  434. :disabled="status == 'read-only' "
  435. ></ObsImageUpload>
  436. </div>
  437. <div style="display: flex;width: 100%;height: 100%;" v-if="engineType==='pe'">
  438. <h3 style="width: 95px;font-weight: 600;text-align: left;text-indent: 25px;">开孔</h3>
  439. <ObsImageUpload
  440. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  441. ref="obsImageUpload"
  442. :limit="11"
  443. :fileType="['png', 'jpg', 'jpeg']"
  444. @input="getpeHolesOpening(arguments,idx)"
  445. :value="e.peHolesOpening"
  446. :disabled="status == 'read-only' "
  447. ></ObsImageUpload>
  448. </div>
  449. <div style="display: flex;width: 100%;height: 100%;" v-if="engineType==='pe'">
  450. <h3 style="width: 95px;font-weight: 600;text-align: left;text-indent: 25px;">清扫</h3>
  451. <ObsImageUpload
  452. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  453. ref="obsImageUpload"
  454. :limit="11"
  455. :fileType="['png', 'jpg', 'jpeg']"
  456. @input="getpeCleaning(arguments,idx)"
  457. :value="e.peCleaning"
  458. :disabled="status == 'read-only' "
  459. ></ObsImageUpload>
  460. </div>
  461. <div style="display: flex;width: 100%;height: 100%;" v-if="engineType==='pe'">
  462. <h3 style="width: 95px;font-weight: 600;text-align: left;text-indent: 25px;">封堵</h3>
  463. <ObsImageUpload
  464. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  465. ref="obsImageUpload"
  466. :limit="11"
  467. :fileType="['png', 'jpg', 'jpeg']"
  468. @input="getpePlugging(arguments,idx)"
  469. :value="e.pePlugging"
  470. :disabled="status == 'read-only' "
  471. ></ObsImageUpload>
  472. </div>
  473. <div style="display: flex;width: 100%;height: 100%;" v-if="engineType==='pe'">
  474. <h3 style="width: 95px;font-weight: 600;text-align: left;text-indent: 25px;">碰口作业</h3>
  475. <ObsImageUpload
  476. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  477. ref="obsImageUpload"
  478. :limit="11"
  479. :fileType="['png', 'jpg', 'jpeg']"
  480. @input="getpeCollisionOperating(arguments,idx)"
  481. :value="e.peCollisionOperating"
  482. :disabled="status == 'read-only' "
  483. ></ObsImageUpload>
  484. </div>
  485. <div style="display: flex;width: 100%;height: 100%;" v-if="engineType==='pe'">
  486. <h3 style="width: 95px;font-weight: 600;text-align: left;text-indent: 25px;">通气捡漏</h3>
  487. <ObsImageUpload
  488. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  489. ref="obsImageUpload"
  490. :limit="11"
  491. :fileType="['png', 'jpg', 'jpeg']"
  492. @input="getpeAirrecovering(arguments,idx)"
  493. :value="e.peAirrecovering"
  494. :disabled="status == 'read-only' "
  495. ></ObsImageUpload>
  496. </div>
  497. <div style="display: flex;width: 100%;height: 100%;" v-if="engineType==='pe'">
  498. <h3 style="width: 95px;font-weight: 600;text-align: left;text-indent: 25px;">作业完成</h3>
  499. <ObsImageUpload
  500. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  501. ref="obsImageUpload"
  502. :limit="11"
  503. :fileType="['png', 'jpg', 'jpeg']"
  504. @input="getpeHomeworkDone(arguments,idx)"
  505. :value="e.peHomeworkDone"
  506. :disabled="status == 'read-only' "
  507. ></ObsImageUpload>
  508. </div>
  509. <div style="display: flex;width: 100%;height: 100%;" v-if="engineType==='iron_air'">
  510. <h3 style="width: 95px;font-weight: 600;text-align: left;text-indent: 25px;">管道壁厚</h3>
  511. <ObsImageUpload
  512. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  513. ref="obsImageUpload"
  514. :limit="11"
  515. :fileType="['png', 'jpg', 'jpeg']"
  516. @input="getironPipelineThickness(arguments,idx)"
  517. :value="e.ironPipelineThickness"
  518. :disabled="status == 'read-only'"
  519. ></ObsImageUpload>
  520. </div>
  521. <div style="display: flex;width: 100%;height: 100%;" v-if="engineType==='iron_air'">
  522. <h3 style="width: 95px;font-weight: 600;text-align: left;text-indent: 25px;">焊接四通</h3>
  523. <ObsImageUpload
  524. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  525. ref="obsImageUpload"
  526. :limit="11"
  527. :fileType="['png', 'jpg', 'jpeg']"
  528. @input="getiron4Welding(arguments,idx)"
  529. :value="e.iron4Welding"
  530. :disabled="status == 'read-only'"
  531. ></ObsImageUpload>
  532. </div>
  533. <div style="display: flex;width: 100%;height: 100%;" v-if="engineType==='iron_air'">
  534. <h3 style="width: 95px;font-weight: 600;text-align: left;text-indent: 25px;">焊接旁通</h3>
  535. <ObsImageUpload
  536. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  537. ref="obsImageUpload"
  538. :limit="11"
  539. :fileType="['png', 'jpg', 'jpeg']"
  540. @input="getironBypassWelding(arguments,idx)"
  541. :value="e.ironBypassWelding"
  542. :disabled="status == 'read-only'"
  543. ></ObsImageUpload>
  544. </div>
  545. <div style="display: flex;width: 100%;height: 100%;" v-if="engineType==='iron_air'">
  546. <h3 style="width: 95px;font-weight: 600;text-align: left;text-indent: 25px;">开孔</h3>
  547. <ObsImageUpload
  548. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  549. ref="obsImageUpload"
  550. :limit="11"
  551. :fileType="['png', 'jpg', 'jpeg']"
  552. @input="getironHolesOpening(arguments,idx)"
  553. :value="e.ironHolesOpening"
  554. :disabled="status == 'read-only'"
  555. ></ObsImageUpload>
  556. </div>
  557. <div style="display: flex;width: 100%;height: 100%;" v-if="engineType==='iron_air'">
  558. <h3 style="width: 95px;font-weight: 600;text-align: left;text-indent: 25px;">封堵</h3>
  559. <ObsImageUpload
  560. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  561. ref="obsImageUpload"
  562. :limit="11"
  563. :fileType="['png', 'jpg', 'jpeg']"
  564. @input="getironCleaning(arguments,idx)"
  565. :value="e.ironCleaning"
  566. :disabled="status == 'read-only'"
  567. ></ObsImageUpload>
  568. </div>
  569. <div style="display: flex;width: 100%;height: 100%;" v-if="engineType==='iron_air'">
  570. <h3 style="width: 95px;font-weight: 600;text-align: left;text-indent: 25px;">氮气吹扫</h3>
  571. <ObsImageUpload
  572. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  573. ref="obsImageUpload"
  574. :limit="11"
  575. :fileType="['png', 'jpg', 'jpeg']"
  576. @input="getironNitrogenPurging(arguments,idx)"
  577. :value="e.ironNitrogenPurging"
  578. :disabled="status == 'read-only'"
  579. ></ObsImageUpload>
  580. </div>
  581. <div style="display: flex;width: 100%;height: 100%;" v-if="engineType==='iron_air'">
  582. <h3 style="width: 95px;font-weight: 600;text-align: left;text-indent: 25px;">管道置换</h3>
  583. <ObsImageUpload
  584. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  585. ref="obsImageUpload"
  586. :limit="11"
  587. :fileType="['png', 'jpg', 'jpeg']"
  588. @input="getironPipelineReplacing(arguments,idx)"
  589. :value="e.ironPipelineReplacing"
  590. :disabled="status == 'read-only'"
  591. ></ObsImageUpload>
  592. </div>
  593. <div style="display: flex;width: 100%;height: 100%;" v-if="engineType==='iron_air'">
  594. <h3 style="width: 95px;font-weight: 600;text-align: left;text-indent: 25px;">下堵</h3>
  595. <ObsImageUpload
  596. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  597. ref="obsImageUpload"
  598. :limit="11"
  599. :fileType="['png', 'jpg', 'jpeg']"
  600. @input="getironLowerEndCap(arguments,idx)"
  601. :value="e.ironLowerEndCap"
  602. :disabled="status == 'read-only'"
  603. ></ObsImageUpload>
  604. </div>
  605. <div style="display: flex;width: 100%;height: 100%;" v-if="engineType==='iron_air'">
  606. <h3 style="width: 95px;font-weight: 600;text-align: left;text-indent: 25px;">四通防腐</h3>
  607. <ObsImageUpload
  608. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  609. ref="obsImageUpload"
  610. :limit="11"
  611. :fileType="['png', 'jpg', 'jpeg']"
  612. @input="getiron4Aczoiling(arguments,idx)"
  613. :value="e.iron4Aczoiling"
  614. :disabled="status == 'read-only'"
  615. ></ObsImageUpload>
  616. </div>
  617. <div style="display: flex;width: 100%;height: 100%;" v-if="engineType==='iron_air'">
  618. <h3 style="width: 95px;font-weight: 600;text-align: left;text-indent: 25px;">作业完成</h3>
  619. <ObsImageUpload
  620. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  621. ref="obsImageUpload"
  622. :limit="11"
  623. :fileType="['png', 'jpg', 'jpeg']"
  624. @input="getironHomeworkDone(arguments,idx)"
  625. :value="e.ironHomeworkDone"
  626. :disabled="status == 'read-only'"
  627. ></ObsImageUpload>
  628. </div>
  629. <div style="display: flex;width: 100%;height: 100%;" v-if="node==='下沟'">
  630. <h3 style="width: 95px;font-weight: 600;text-align: left;text-indent: 25px;">管上皮深度测量照片</h3>
  631. <ObsImageUpload
  632. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  633. ref="obsImageUpload"
  634. :limit="11"
  635. :fileType="['png', 'jpg', 'jpeg']"
  636. @input="getductalEpitheliumUrl(arguments,idx)"
  637. :value="e.ductalEpithelium"
  638. :disabled="status == 'read-only' "
  639. ></ObsImageUpload>
  640. </div>
  641. <div style="display: flex;width: 100%;height: 100%;" v-if="node==='阀井'">
  642. <h3 style="width: 95px;font-weight: 600;text-align: left;text-indent: 25px;">套管</h3>
  643. <ObsImageUpload
  644. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  645. ref="obsImageUpload"
  646. :limit="11"
  647. :fileType="['png', 'jpg', 'jpeg']"
  648. @input="getCannulaUrl(arguments,idx)"
  649. :value="e.cannula"
  650. :disabled="status == 'read-only' "
  651. ></ObsImageUpload>
  652. </div>
  653. <div style="display: flex;width: 100%;height: 100%;" v-if="node==='阀井'">
  654. <h3 style="width: 95px;font-weight: 600;text-align: left;text-indent: 25px;">内壁抹灰</h3>
  655. <ObsImageUpload
  656. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  657. ref="obsImageUpload"
  658. :limit="11"
  659. :fileType="['png', 'jpg', 'jpeg']"
  660. @input="getWallPlasterUrl(arguments,idx)"
  661. :value="e.wallPlaster"
  662. :disabled="status == 'read-only' "
  663. ></ObsImageUpload>
  664. </div>
  665. <div style="display: flex;width: 100%;height: 100%;" v-if="node==='阀井'">
  666. <h3 style="width: 95px;font-weight: 600;text-align: left;text-indent: 25px;">防护网</h3>
  667. <ObsImageUpload
  668. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  669. ref="obsImageUpload"
  670. :limit="11"
  671. :fileType="['png', 'jpg', 'jpeg']"
  672. @input="getProtectiveNetUrl(arguments,idx)"
  673. :value="e.protectiveNet"
  674. :disabled="status == 'read-only' "
  675. ></ObsImageUpload>
  676. </div>
  677. <div style="display: flex;width: 100%;height: 100%;" v-if="node==='阀井'">
  678. <h3 style="width: 95px;font-weight: 600;text-align: left;text-indent: 25px;">八角</h3>
  679. <ObsImageUpload
  680. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  681. ref="obsImageUpload"
  682. :limit="11"
  683. :fileType="['png', 'jpg', 'jpeg']"
  684. @input="getStarAniseUrl(arguments,idx)"
  685. :value="e.starAnise"
  686. :disabled="status == 'read-only' "
  687. ></ObsImageUpload>
  688. </div>
  689. <div style="display: flex;width: 100%;height: 100%;" v-if="node==='下沟'">
  690. <h3 style="width: 95px;font-weight: 600;text-align: center;text-indent: 25px;">管沟远景照片</h3>
  691. <ObsImageUpload
  692. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  693. ref="obsImageUpload"
  694. :limit="11"
  695. :fileType="['png', 'jpg', 'jpeg']"
  696. @input="gettrenchProspectUrl(arguments,idx)"
  697. :value="e.trenchProspect"
  698. :disabled="status == 'read-only' "
  699. ></ObsImageUpload>
  700. </div>
  701. <div style="display: flex;width: 100%;height: 100%;" v-if="node==='下沟'">
  702. <h3 style="width: 95px;font-weight: 600;text-align: center;text-indent: 25px;">视频</h3>
  703. <ObsVideoUpload
  704. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  705. ref="obsImageUpload"
  706. :limit="11"
  707. :fileType="['mp4']"
  708. @input="getVideoUrl(arguments,idx)"
  709. :value="e.video"
  710. :disabled="status == 'read-only' "
  711. ></ObsVideoUpload>
  712. </div>
  713. <!-- <div style="display: flex;width: 100%;height: 100%;" v-if="node==='下沟'">-->
  714. <!-- <h3 style="width: 95px;font-weight: 600;text-align: center;text-indent: 25px;">管道施工记录</h3>-->
  715. <!-- <ObsImageUpload-->
  716. <!-- :class=" status == 'read-only' ? 'obsImageUploads' : '' "-->
  717. <!-- ref="obsImageUpload"-->
  718. <!-- :limit="11"-->
  719. <!-- :fileType="['png', 'jpg', 'jpeg']"-->
  720. <!-- @input="getconstructionRecordsUrl(arguments,idx)"-->
  721. <!-- :value="e.constructionRecords"-->
  722. <!-- :disabled="status == 'read-only' "-->
  723. <!-- ></ObsImageUpload>-->
  724. <!-- </div>-->
  725. <div style="display: flex;width: 100%;height: 100%;" v-if="node==='回填'||node==='调压柜安装'||node==='调压柜'||(enginClassification != null && enginClassification.includes('调压柜'))">
  726. <h3 style="width: 95px;font-weight: 600;text-align: center;text-indent: 25px;">石粉回填照片</h3>
  727. <ObsImageUpload
  728. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  729. ref="obsImageUpload"
  730. :limit="11"
  731. :fileType="['png', 'jpg', 'jpeg']"
  732. @input="getstonePowderUrl(arguments,idx)"
  733. :value="e.stonePowder"
  734. :disabled="status == 'read-only' "
  735. ></ObsImageUpload>
  736. </div>
  737. <div style="display: flex;width: 100%;height: 100%;" v-if="node==='回填'">
  738. <h3 style="width: 95px;font-weight: 600;text-align: center;text-indent: 25px;">警示带铺设</h3>
  739. <ObsImageUpload
  740. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  741. ref="obsImageUpload"
  742. :limit="11"
  743. :fileType="['png', 'jpg', 'jpeg']"
  744. @input="getwarningtTapeUrl(arguments,idx)"
  745. :value="e.warningtTape"
  746. :disabled="status == 'read-only' "
  747. ></ObsImageUpload>
  748. </div>
  749. <div style="display: flex;width: 100%;height: 100%;" v-if="node==='回填'">
  750. <h3 style="width: 95px;font-weight: 600;text-align: center;text-indent: 25px;">回填后</h3>
  751. <ObsImageUpload
  752. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  753. ref="obsImageUpload"
  754. :limit="11"
  755. :fileType="['png', 'jpg', 'jpeg']"
  756. @input="getphotosAfterUrl(arguments,idx)"
  757. :value="e.photosAfter"
  758. :disabled="status == 'read-only' "
  759. ></ObsImageUpload>
  760. </div>
  761. <div style="display: flex;width: 100%;height: 100%;" v-if="currentDicts.some(item=>item.label==='底腿')">
  762. <h3 style="width: 95px;font-weight: 600;text-align: center;text-indent: 30px;">沟上部分</h3>
  763. <ObsImageUpload
  764. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  765. ref="obsImageUpload"
  766. :limit="11"
  767. :fileType="['png', 'jpg', 'jpeg']"
  768. @input="getonTheDitchUrl(arguments,idx)"
  769. :value="e.onTheDitch"
  770. :disabled="status == 'read-only' "
  771. ></ObsImageUpload>
  772. </div>
  773. <div style="display: flex;width: 100%;height: 100%;" v-if="currentDicts.some(item=>item.label==='底腿')">
  774. <h3 style="width: 95px;font-weight: 600;text-align: center;text-indent: 25px;">开挖前</h3>
  775. <ObsImageUpload
  776. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  777. ref="obsImageUpload"
  778. :limit="11"
  779. :fileType="['png', 'jpg', 'jpeg']"
  780. @input="getbeforeBottomUrl(arguments,idx)"
  781. :value="e.beforeBottom"
  782. :disabled="status == 'read-only' "
  783. ></ObsImageUpload>
  784. </div>
  785. <div style="display: flex;width: 100%;height: 100%;" v-if="currentDicts.some(item=>item.label==='底腿')">
  786. <h3 style="width: 95px;font-weight: 600;text-align: center;text-indent: 25px;">回填</h3>
  787. <ObsImageUpload
  788. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  789. ref="obsImageUpload"
  790. :limit="11"
  791. :fileType="['png', 'jpg', 'jpeg']"
  792. @input="getinferiorSulcusUrl(arguments,idx)"
  793. :value="e.inferiorSulcus"
  794. :disabled="status == 'read-only' "
  795. ></ObsImageUpload>
  796. </div>
  797. <div style="display: flex;width: 100%;height: 100%;" v-if="currentDicts.some(item=>item.label==='底腿')">
  798. <h3 style="width: 95px;font-weight: 600;text-align: center;text-indent: 25px;">下沟</h3>
  799. <ObsImageUpload
  800. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  801. ref="obsImageUpload"
  802. :limit="11"
  803. :fileType="['png', 'jpg', 'jpeg']"
  804. @input="getlegBackfillingUrl(arguments,idx)"
  805. :value="e.legBackfilling"
  806. :disabled="status == 'read-only' "
  807. ></ObsImageUpload>
  808. </div>
  809. <div style="display: flex;width: 100%;height: 100%;" v-if="node==='调压柜安装'||node==='调压柜'||(enginClassification != null && enginClassification.includes('调压柜'))">
  810. <h3 style="width: 95px;font-weight: 600;text-align: center;text-indent: 25px;">调压柜铭牌</h3>
  811. <ObsImageUpload
  812. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  813. ref="obsImageUpload"
  814. :limit="11"
  815. :fileType="['png', 'jpg', 'jpeg']"
  816. @input="getboxBrandUrl(arguments,idx)"
  817. :value="e.boxBrand"
  818. :disabled="status == 'read-only' "
  819. ></ObsImageUpload>
  820. </div>
  821. <div style="display: flex;width: 100%;height: 100%;" v-if="node==='调压柜安装'||node==='调压柜'||(enginClassification != null && enginClassification.includes('调压柜'))">
  822. <h3 style="width: 95px;font-weight: 600;text-align: center;text-indent: 25px;">调压箱防雷接地</h3>
  823. <ObsImageUpload
  824. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  825. ref="obsImageUpload"
  826. :limit="11"
  827. :fileType="['png', 'jpg', 'jpeg']"
  828. @input="getLightningUrl(arguments,idx)"
  829. :value="e.lightning"
  830. :disabled="status == 'read-only' "
  831. ></ObsImageUpload>
  832. </div>
  833. <div style="display: flex;width: 100%;height: 100%;" v-if="node==='调压柜安装'||node==='调压柜'||(enginClassification != null && enginClassification.includes('调压柜'))">
  834. <h3 style="width: 95px;font-weight: 600;text-align: center;text-indent: 25px;">调压箱底腿连接</h3>
  835. <ObsImageUpload
  836. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  837. ref="obsImageUpload"
  838. :limit="11"
  839. :fileType="['png', 'jpg', 'jpeg']"
  840. @input="getBottomLegUrl(arguments,idx)"
  841. :value="e.bottomLeg"
  842. :disabled="status == 'read-only' "
  843. ></ObsImageUpload>
  844. </div>
  845. <div style="display: flex;width: 100%;height: 100%;" v-if="node==='调压柜安装'||(enginClassification != null && enginClassification.includes('调压柜'))">
  846. <h3 style="width: 95px;font-weight: 600;text-align: center;text-indent: 25px;">调压箱护栏及地面硬化(远景)</h3>
  847. <ObsImageUpload
  848. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  849. ref="obsImageUpload"
  850. :limit="11"
  851. :fileType="['png', 'jpg', 'jpeg']"
  852. @input="getGroundHardeningUrl(arguments,idx)"
  853. :value="e.groundHardening"
  854. :disabled="status == 'read-only' "
  855. ></ObsImageUpload>
  856. </div>
  857. <div style="display: flex;width: 100%;height: 100%;" v-if="node==='调压柜'||(enginClassification != null && enginClassification.includes('调压柜'))">
  858. <h3 style="width: 95px;font-weight: 600;text-align: center;text-indent: 25px;">地面硬化</h3>
  859. <ObsImageUpload
  860. :class=" status == 'read-only' ? 'obsImageUploads' : '' "
  861. ref="obsImageUpload"
  862. :limit="11"
  863. :fileType="['png', 'jpg', 'jpeg']"
  864. @input="getGroundHardeningUrl(arguments,idx)"
  865. :value="e.groundHardening"
  866. :disabled="status == 'read-only' "
  867. ></ObsImageUpload>
  868. </div>
  869. <!-- </el-form-item> -->
  870. <div style="display: flex; justify-content: flex-end; width: 100%;height: 100%;">
  871. <el-button plain type="danger" @click=" handleDelete(e)" v-hasPermi="['zdsz:engineeringCivilNode:remove']" style="width: 94px;">删除</el-button>
  872. <!-- <hr>-->
  873. </div>
  874. </el-collapse-item>
  875. </el-collapse>
  876. </el-checkbox-group>
  877. </el-tab-pane>
  878. <el-button class="check" plain type="danger" @click="checkWorking" v-show="currentStatus == 'check' && isChecking " style="width: 80px;" :disabled="currentCollapses.length == 0">审核</el-button>
  879. <el-button class="check" plain type="danger" @click="updateNodeOption" style="width: 94px;cursor: pointer;" v-if="currentStatus != 'check' && status != 'read-only' ">修改</el-button>
  880. </el-tabs>
  881. </el-dialog>
  882. <!-- 审核 -->
  883. <el-dialog
  884. title="审核"
  885. :visible.sync="checkingVisible"
  886. :title="titleName"
  887. width="30%"
  888. class="checkingDialog"
  889. :before-close="handleChecking">
  890. <el-form :model="checkingInfo" ref="checking" :rules="checkingRule" class="nodeForm">
  891. <el-form-item
  892. label-width="85px"
  893. label="审核状态"
  894. prop="reviewStatus"
  895. >
  896. <el-select v-model="checkingInfo.reviewStatus" placeholder="请选择审核状态" style="width: 100%" label="审核状态" @change="validateCHanged">
  897. <el-option
  898. v-for="e in reviewStatusList"
  899. :key="e.label"
  900. :label="e.label"
  901. :value="e.value"
  902. ></el-option>
  903. </el-select>
  904. </el-form-item>
  905. <el-form-item
  906. label-width="85px"
  907. label="审核内容"
  908. prop="reviewContent"
  909. >
  910. <div class="block" style="display: inline-block; margin-right: 20px;">
  911. <el-input
  912. v-model="checkingInfo.reviewContent"
  913. placeholder="请输入审核内容"
  914. type="textarea"
  915. style="width: 97%"/>
  916. </div>
  917. </el-form-item>
  918. </el-form>
  919. <span slot="footer" class="dialog-footer">
  920. <el-button @click="handleChecking">取 消</el-button>
  921. <el-button type="primary" @click=checkingSubmit>确 定</el-button>
  922. </span>
  923. </el-dialog>
  924. </div>
  925. </template>
  926. <script>
  927. import {
  928. getEnginMaterialQualityList, // 材质
  929. getEnginSpecificationsList, // 规格
  930. getDictType, deleteinfoById, // 腐蚀程度
  931. deleteBySZGY,
  932. } from '@/api/zdsz/enginee'
  933. import {selectUserByUserName} from '@/api/system/user'
  934. import ObsVideoUpload from "@/components/ObsVideoUpload/index.vue";
  935. import {delEngineeringCivil} from "@/api/zdsz/engineeringCivil";
  936. export default {
  937. name: 'ConstructionDetails',
  938. dicts:[
  939. 'visit_type',
  940. 'self_closing_valve_type',
  941. 'brand',
  942. 'construct_addre'
  943. ],
  944. components:{ObsVideoUpload},
  945. props: ['currentCollapses','nodeDetailType','enginType','status','zEngineeringNodeBo'],
  946. data() {
  947. return {
  948. kind:null,
  949. userNames:[],
  950. enginSort:'',
  951. checkList:[],
  952. enginNode:'',
  953. currentDicts: [], // 当前类型工程节点项
  954. dialogVisible: false,
  955. activeNames: '',
  956. titleName: '',
  957. reviewStatusList:[
  958. {
  959. value:'1',
  960. label:'通过'
  961. },
  962. {
  963. value:'0',
  964. label:'不通过'
  965. }
  966. ],
  967. nodesource:'',// 审核状态option
  968. materialQualityList_zbf:[], // 自闭阀option
  969. materialQualityList_zjg:[], // 灶具管option
  970. materialQualityList:[], // 材质
  971. specificationsList:[], // 规格
  972. materialComponList:[],
  973. // The data property "enginType" is already declared as a prop.
  974. // enginType:null, // Use prop default value instead.
  975. engineType:null,
  976. enginClassification:null,
  977. nodeInfo:{
  978. backfillTime:'', // 回填时间
  979. constructTime:'',
  980. constructAccordingDrawings:'',
  981. segmentedCompressionQualified:'',
  982. zEngiineeringPhotoBoList:[], // 照片集合
  983. zEngineeringMaterialBo:[], // 用料集合
  984. remark:'',
  985. constructAddre:''
  986. },
  987. checkingInfo:{
  988. reviewStatus:'', // 审核状态
  989. reviewContent:'', // 审核内容
  990. engInfoId:'', // 节点Id
  991. createTime:'', // 工程创建时间
  992. },
  993. currentStatus:null,
  994. checkingVisible:null,
  995. isChecking:true,
  996. currentEnginId:null,
  997. reviewStatus:null,
  998. corrosionLevelListAll:[],
  999. infoIdList:[],
  1000. delinfoidList:[],
  1001. checkingRule:{
  1002. reviewStatus: [
  1003. {required: true, message: "审核状态不能为空", trigger: "blur"}
  1004. ],
  1005. reviewContent: [
  1006. {required: true, message: "审核内容不能为空", trigger: "change"}
  1007. ],
  1008. },node:null
  1009. }
  1010. },
  1011. created(){
  1012. // 获取材质
  1013. // alert(this.enginType)
  1014. let enginStep = this.enginType == '民用工程' ? this.activeNames:null;
  1015. getEnginMaterialQualityList({enginType:this.enginType,enginStep:enginStep}).then(res => {
  1016. console.log('材质',res)
  1017. this.materialQualityList = res.data
  1018. })
  1019. getEnginSpecificationsList().then(res => {
  1020. console.log('规格',res.data)
  1021. this.corrosionLevelListAll = res.data
  1022. })
  1023. },
  1024. mounted() {
  1025. },
  1026. computed:{
  1027. },
  1028. watch: {
  1029. // 此处监听variable变量,当期有变化时执行
  1030. currentDicts(item1, item2) {
  1031. // item1为新值,item2为旧值
  1032. console.log('item1为新值,item2为旧值 item1=', item1)
  1033. console.log('item1为新值,item2为旧值 item1[0].value=', item1[0].value)
  1034. this.activeNames = item1[0].value
  1035. this.$parent.viewNodeSource(item1[0].value)
  1036. // alert(item1[0].value)
  1037. },
  1038. currentCollapses(){
  1039. this.userNames = [];
  1040. for(let i in this.currentCollapses){
  1041. selectUserByUserName(this.currentCollapses[i].createBy).then(res => {
  1042. this.userNames.push(res);
  1043. })
  1044. }
  1045. try {
  1046. console.log(1)
  1047. this.currentCollapses[0].zEngineeringReviewBo.reviewStatus != 1 ? this.isChecking = true : false
  1048. } catch (error) {
  1049. this.isChecking = true
  1050. }
  1051. console.log('isChecking',this.isChecking)
  1052. console.log('isChecking',this.isChecking)
  1053. let materialQuality = []
  1054. try {
  1055. console.log(2)
  1056. materialQuality = this.currentCollapses[0].zEngineeringMaterialBo[0].materialQuality
  1057. } catch (error) {
  1058. materialQuality = []
  1059. }
  1060. try {
  1061. console.log(3)
  1062. this.reviewStatus = this.currentCollapses[0].zEngineeringReviewBo.reviewStatus != '1' ? true : false
  1063. } catch (error) {
  1064. this.reviewStatus = true
  1065. }
  1066. if(materialQuality){
  1067. console.log(4)
  1068. getEnginSpecificationsList({materId:materialQuality}).then(res => {
  1069. console.log('规格',res.data)
  1070. this.specificationsList = res.data
  1071. })
  1072. }
  1073. }
  1074. },
  1075. methods: {
  1076. handleCheckedCitiesChange(e)
  1077. {
  1078. this.infoIdList=this.currentCollapses.filter(item=>this.checkList.indexOf(item.id)>-1)
  1079. console.log(this.infoIdList)
  1080. this.delinfoidList=this.currentCollapses.map(item=>item.id).filter(item=>this.checkList.indexOf(item)==-1)
  1081. },
  1082. validateCHanged(e){
  1083. this.reviewStatusList[e].label == '通过' ? this.checkingRule.reviewContent[0].required = true : this.checkingRule.reviewContent[0].required = false
  1084. },
  1085. handleChecking(){
  1086. this.checkingVisible = false
  1087. this.checkingInfo = {
  1088. reviewStatus:'', // 审核状态
  1089. reviewContent:'', // 审核内容
  1090. engInfoId:'', // 节点Id
  1091. createTime:'', // 工程创建时间
  1092. },
  1093. this.$refs.checking.resetFields()
  1094. },
  1095. getSpecificationsList(id){
  1096. getEnginSpecificationsList({materId:id}).then(res => {
  1097. console.log('________a',res.data)
  1098. return res.data
  1099. })
  1100. },
  1101. // 保存节点Id
  1102. setEngineId(e){
  1103. this.currentEnginId = e
  1104. },
  1105. // 提交审核
  1106. checkingSubmit(){
  1107. this.$confirm('此操作将删除其他施工信息, 是否继续?', '提示', {
  1108. confirmButtonText: '确定',
  1109. cancelButtonText: '取消',
  1110. type: 'warning'
  1111. }).then(() => {
  1112. this.shenhe()
  1113. }).catch(() => {
  1114. // this.$message({
  1115. // type: 'info',
  1116. // message: '已取消删除'
  1117. // });
  1118. });
  1119. },
  1120. shenhe()
  1121. {
  1122. this.$refs.checking.validate(valid => {
  1123. if(valid){
  1124. try {
  1125. this.infoIdList.nodeName = this.activeNames
  1126. this.checkingInfo.engInfoId = this.currentEnginId
  1127. if(this.currentDicts[0].value == '底腿'){
  1128. this.checkingInfo.delInfoIdList = [];
  1129. }else{
  1130. this.checkingInfo.delInfoIdList=this.delinfoidList
  1131. }
  1132. this.checkingInfo.infoIdList= this.infoIdList
  1133. console.log('checkWorking',this.checkingInfo)
  1134. this.$emit('checkWorking',this.checkingInfo)
  1135. this.checkList=[]
  1136. } catch (error) {
  1137. this.checkingInfo.engInfoId = null
  1138. }
  1139. // this.dialogVisible = false
  1140. this.checkingVisible = false
  1141. this.checkingInfo = {
  1142. reviewStatus:'', // 审核状态
  1143. reviewContent:'', // 审核内容
  1144. engInfoId:'', // 节点Id
  1145. createTime:'', // 工程创建时间
  1146. }
  1147. } else {
  1148. this.$message({
  1149. message: '请完善信息',
  1150. type: 'error'
  1151. });
  1152. throw 'valid Failed'
  1153. }
  1154. })
  1155. },
  1156. // 查看单节点历史
  1157. viewSource(e) {
  1158. console.log('节点123',e)
  1159. console.log('节点',e)
  1160. this.node=e.name
  1161. // alert(this.node)
  1162. this.nodesource=e
  1163. let data = {enginType:this.enginType}
  1164. if(this.enginType=='民用工程'){
  1165. data.enginSort = this.enginSort
  1166. data.enginStep = this.node
  1167. data.enginNode = this.enginClassification
  1168. }
  1169. if(this.node == '阀管'){
  1170. data.nameType = "自闭阀厂家";
  1171. getEnginMaterialQualityList(data).then(res => {
  1172. this.materialQualityList_zbf = res.data
  1173. })
  1174. data.nameType = "灶具管厂家";
  1175. getEnginMaterialQualityList(data).then(res => {
  1176. this.materialQualityList_zjg = res.data
  1177. })
  1178. }
  1179. getEnginMaterialQualityList(data).then(res => {
  1180. this.materialQualityList = res.data
  1181. })
  1182. this.$parent.viewNodeSource(e.name)
  1183. },
  1184. // 单项审核
  1185. checkWorking() {
  1186. if (this.checkList.length==0)
  1187. {
  1188. this.$message.warning("请选择需要审核通过的施工信息")
  1189. return
  1190. }
  1191. if(this.currentStatus == 'check'){
  1192. this.checkingVisible = true
  1193. }
  1194. },
  1195. updateNodeOption(){
  1196. console.log('currentCollapses')
  1197. console.log(this.currentCollapses)
  1198. console.log('checkList')
  1199. console.log(this.checkList)
  1200. if (this.checkList.length==0){
  1201. this.$message.warning("请选择需要修改的施工信息")
  1202. return
  1203. }
  1204. const intersection = this.currentCollapses.filter(value => this.checkList.includes(value.id));
  1205. this.$emit('updateNodeOption',intersection)
  1206. },
  1207. deleteById(e)
  1208. {
  1209. console.log(e)
  1210. deleteinfoById(e).then(res=>{
  1211. this.viewSource(this.nodesource)
  1212. })
  1213. },
  1214. deleteByIdqita(e) {
  1215. deleteBySZGY(e).then(res => {
  1216. this.viewSource(this.nodesource)
  1217. })
  1218. },
  1219. handleDelete(row) {
  1220. this.$modal.confirm('是否确认删除所选数据项?').then(() => {
  1221. this.loading = true;
  1222. if(this.kind == '民用'){
  1223. return this.deleteById(row)
  1224. }else{
  1225. return this.deleteByIdqita(row);
  1226. }
  1227. }).then(() => {
  1228. this.loading = false;
  1229. this.getList();
  1230. this.$modal.msgSuccess("删除成功");
  1231. }).catch(() => {
  1232. }).finally(() => {
  1233. this.loading = false;
  1234. });
  1235. },
  1236. /**
  1237. * 查看历史
  1238. * @param dicts 节点集合
  1239. * @param type 字典type
  1240. * @param currentStatus 审核状态
  1241. * @param kind 工程类型(基建工程用)
  1242. * @param title 标题
  1243. * @param enginClassification 工程类型(民用工程用)
  1244. * @param enginSort 工程分类
  1245. * @param enginType 工程大类名称
  1246. */
  1247. open(dicts, type = null,currentStatus = null,kind = null,title= null,enginClassification,enginSort,enginType) {
  1248. this.kind = kind
  1249. if(dicts && dicts[0]){
  1250. this.node = dicts[0].value
  1251. }
  1252. this.engineType=enginType
  1253. this.enginSort=enginSort
  1254. this.enginClassification=enginClassification
  1255. let data = {enginType:enginType}
  1256. if(this.enginType =='民用工程'){
  1257. data.enginSort = enginSort
  1258. data.enginNode = enginClassification
  1259. data.enginStep = Array.isArray(dicts) ? dicts[0].value: null;
  1260. }
  1261. getEnginMaterialQualityList(data).then(res => {
  1262. this.materialQualityList = res.data
  1263. })
  1264. if(this.node == '阀管'){
  1265. data.nameType = "自闭阀厂家";
  1266. getEnginMaterialQualityList(data).then(res => {
  1267. this.materialQualityList_zbf = res.data
  1268. })
  1269. data.nameType = "灶具管厂家";
  1270. getEnginMaterialQualityList(data).then(res => {
  1271. this.materialQualityList_zjg = res.data
  1272. })
  1273. }
  1274. // }
  1275. this.currentStatus = currentStatus
  1276. this.titleName = title
  1277. this.checkingVisible = false
  1278. console.log(this.reviewStatus,this.currentStatus,this.isChecking)
  1279. if (type == '1') {
  1280. // 工业
  1281. // alert('工业='+dicts)
  1282. this.currentDicts = [
  1283. {
  1284. value: "历史数据",
  1285. label: "历史数据"
  1286. }
  1287. ]
  1288. this.$parent.viewNodeSource()
  1289. }if (type == '2') {
  1290. // alert('市政='+dicts)
  1291. // 市政
  1292. // this.currentDicts = [
  1293. // {
  1294. // value: "历史数据",
  1295. // label: "历史数据"
  1296. // }
  1297. // ]
  1298. this.currentDicts = dicts
  1299. this.$parent.viewNodeSource()
  1300. } else if (type === '危险作业工程') {
  1301. this.$parent.viewNodeSource()
  1302. this.currentDicts = [
  1303. {
  1304. value: "历史数据",
  1305. label: "历史数据"
  1306. }
  1307. ]
  1308. } else {
  1309. console.log(4)
  1310. console.log(dicts)
  1311. this.dialogVisible = true
  1312. // if (kind=='基建'){
  1313. // dicts=dicts.filter(item=>['水电施工','防水'].includes(item.value))
  1314. // }
  1315. this.currentDicts = dicts
  1316. }
  1317. // alert(enginType)
  1318. if(enginType == 'pe'){
  1319. this.currentDicts = dicts
  1320. this.node = dicts[0].value
  1321. }else if(enginType == 'iron_air'){
  1322. this.currentDicts = dicts
  1323. this.node = dicts[0].value
  1324. }
  1325. // alert(this.currentDicts)
  1326. //this.currentDicts = dicts
  1327. console.log("this.currentDicts",this.currentDicts)
  1328. this.dialogVisible = true
  1329. this.$forceUpdate()
  1330. },
  1331. // 获取材质规格
  1332. getEnginSpecificationsList(e,idx,parentIndex){
  1333. // 重置规格
  1334. this.currentCollapses[parentIndex].zEngineeringMaterialBo[idx].specifications = ''
  1335. getEnginSpecificationsList({materId:e.materialQuality}).then(res => {
  1336. console.log('规格',res.data)
  1337. this.specificationsList = res.data
  1338. })
  1339. },
  1340. getUrl(_,idx) {
  1341. this.currentCollapses[idx].zEngiineeringPhotoBoList = [...arguments][0][0].map(e=>e.url) || [];
  1342. },
  1343. getductalEpitheliumUrl(_,idx) {
  1344. this.currentCollapses[idx].ductalEpithelium = [...arguments][0][0].map(e=>e.url) || [];
  1345. },
  1346. gettrenchProspectUrl(_,idx) {
  1347. this.currentCollapses[idx].trenchProspect = [...arguments][0][0].map(e=>e.url) || [];
  1348. },
  1349. getCannulaUrl(_,idx) {
  1350. console.log("this.currentCollapses",this.currentCollapses)
  1351. this.currentCollapses[idx].cannula = [...arguments][0][0].map(e=>e.url) || [];
  1352. },
  1353. getWallPlasterUrl(_,idx) {
  1354. this.currentCollapses[idx].wallPlaster = [...arguments][0][0].map(e=>e.url) || [];
  1355. },
  1356. getProtectiveNetUrl(_,idx) {
  1357. this.currentCollapses[idx].protectiveNet = [...arguments][0][0].map(e=>e.url) || [];
  1358. },
  1359. getStarAniseUrl(_,idx) {
  1360. this.currentCollapses[idx].starAnise = [...arguments][0][0].map(e=>e.url) || [];
  1361. },
  1362. getstonePowderUrl(_,idx) {
  1363. this.currentCollapses[idx].stonePowder = [...arguments][0][0].map(e=>e.url) || [];
  1364. },
  1365. getwarningtTapeUrl(_,idx) {
  1366. this.currentCollapses[idx].warningtTape = [...arguments][0][0].map(e=>e.url) || [];
  1367. },
  1368. getbeforeBottomUrl(_,idx) {
  1369. this.currentCollapses[idx].beforeBottom = [...arguments][0][0].map(e=>e.url) || [];
  1370. },
  1371. getlegBackfillingUrl(_,idx) {
  1372. this.currentCollapses[idx].legBackfilling = [...arguments][0][0].map(e=>e.url) || [];
  1373. },
  1374. getboxBrandUrl(_,idx) {
  1375. this.currentCollapses[idx].boxBrand = [...arguments][0][0].map(e=>e.url) || [];
  1376. },
  1377. getLightningUrl(_,idx) {
  1378. this.currentCollapses[idx].lightning = [...arguments][0][0].map(e=>e.url) || [];
  1379. },
  1380. getBottomLegUrl(_,idx) {
  1381. this.currentCollapses[idx].bottomLeg = [...arguments][0][0].map(e=>e.url) || [];
  1382. },
  1383. getGroundHardeningUrl(_,idx) {
  1384. this.currentCollapses[idx].groundHardening = [...arguments][0][0].map(e=>e.url) || [];
  1385. },
  1386. getinferiorSulcusUrl(_,idx) {
  1387. this.currentCollapses[idx].inferiorSulcus = [...arguments][0][0].map(e=>e.url) || [];
  1388. },
  1389. getphotosAfterUrl(_,idx) {
  1390. this.currentCollapses[idx].photosAfter = [...arguments][0][0].map(e=>e.url) || [];
  1391. },
  1392. getVideoUrl(_,idx) {
  1393. this.currentCollapses[idx].video = [...arguments][0][0].map(e=>e.url) || [];
  1394. console.log(this.currentCollapses[idx].video)
  1395. },
  1396. getconstructionRecordsUrl(_,idx)
  1397. {
  1398. this.currentCollapses[idx].constructionRecords = [...arguments][0][0].map(e=>e.url) || [];
  1399. console.log(this.currentCollapses[idx].constructionRecords)
  1400. },
  1401. getonTheDitchUrl(_,idx)
  1402. {
  1403. this.currentCollapses[idx].onTheDitch = [...arguments][0][0].map(e=>e.url) || [];
  1404. console.log(this.currentCollapses[idx].onTheDitch)
  1405. },
  1406. getwelding(_,idx)
  1407. {
  1408. this.currentCollapses[idx].welding = [...arguments][0][0].map(e=>e.url) || [];
  1409. console.log("焊接照片===",this.currentCollapses[idx].welding)
  1410. },
  1411. getaczoiling(_,idx)
  1412. {
  1413. this.currentCollapses[idx].aczoiling = [...arguments][0][0].map(e=>e.url) || [];
  1414. console.log("防腐照片===",this.currentCollapses[idx].aczoiling)
  1415. },
  1416. getpiping(_,idx)
  1417. {
  1418. this.currentCollapses[idx].piping = [...arguments][0][0].map(e=>e.url) || [];
  1419. console.log(this.currentCollapses[idx].piping)
  1420. },
  1421. getwarning(_,idx)
  1422. {
  1423. this.currentCollapses[idx].warning = [...arguments][0][0].map(e=>e.url) || [];
  1424. console.log(this.currentCollapses[idx].warning)
  1425. },
  1426. getbackfilling(_,idx)
  1427. {
  1428. this.currentCollapses[idx].backfilling = [...arguments][0][0].map(e=>e.url) || [];
  1429. console.log(this.currentCollapses[idx].backfilling)
  1430. },
  1431. getpeAirrecovering(_,idx)
  1432. {
  1433. this.currentCollapses[idx].peAirrecovering = [...arguments][0][0].map(e=>e.url) || [];
  1434. console.log(this.currentCollapses[idx].peAirrecovering)
  1435. },
  1436. getpeAirtightTest(_,idx)
  1437. {
  1438. this.currentCollapses[idx].peAirtightTest = [...arguments][0][0].map(e=>e.url) || [];
  1439. console.log(this.currentCollapses[idx].peAirtightTest)
  1440. },
  1441. getpeCleaning(_,idx)
  1442. {
  1443. this.currentCollapses[idx].peCleaning = [...arguments][0][0].map(e=>e.url) || [];
  1444. console.log(this.currentCollapses[idx].peCleaning)
  1445. },
  1446. getpeCollisionOperating(_,idx)
  1447. {
  1448. this.currentCollapses[idx].peCollisionOperating = [...arguments][0][0].map(e=>e.url) || [];
  1449. console.log(this.currentCollapses[idx].peCollisionOperating)
  1450. },
  1451. getpeHolesOpening(_,idx)
  1452. {
  1453. this.currentCollapses[idx].peHolesOpening = [...arguments][0][0].map(e=>e.url) || [];
  1454. console.log(this.currentCollapses[idx].peHolesOpening)
  1455. },
  1456. getpeHomeworkDone(_,idx)
  1457. {
  1458. this.currentCollapses[idx].peHomeworkDone = [...arguments][0][0].map(e=>e.url) || [];
  1459. console.log(this.currentCollapses[idx].peHomeworkDone)
  1460. },
  1461. getpePlugging(_,idx)
  1462. {
  1463. this.currentCollapses[idx].pePlugging = [...arguments][0][0].map(e=>e.url) || [];
  1464. console.log(this.currentCollapses[idx].pePlugging)
  1465. },
  1466. getpeSaddleWelding(_,idx)
  1467. {
  1468. this.currentCollapses[idx].peSaddleWelding = [...arguments][0][0].map(e=>e.url) || [];
  1469. console.log(this.currentCollapses[idx].peSaddleWelding)
  1470. },
  1471. getiron4Aczoiling(_,idx)
  1472. {
  1473. this.currentCollapses[idx].iron4Aczoiling = [...arguments][0][0].map(e=>e.url) || [];
  1474. console.log(this.currentCollapses[idx].iron4Aczoiling)
  1475. },
  1476. getiron4Welding(_,idx)
  1477. {
  1478. this.currentCollapses[idx].iron4Welding = [...arguments][0][0].map(e=>e.url) || [];
  1479. console.log(this.currentCollapses[idx].iron4Welding)
  1480. },
  1481. getironBypassWelding(_,idx)
  1482. {
  1483. this.currentCollapses[idx].ironBypassWelding = [...arguments][0][0].map(e=>e.url) || [];
  1484. console.log(this.currentCollapses[idx].ironBypassWelding)
  1485. },
  1486. getironCleaning(_,idx)
  1487. {
  1488. this.currentCollapses[idx].ironCleaning = [...arguments][0][0].map(e=>e.url) || [];
  1489. console.log(this.currentCollapses[idx].ironCleaning)
  1490. },
  1491. getironHolesOpening(_,idx)
  1492. {
  1493. this.currentCollapses[idx].ironHolesOpening = [...arguments][0][0].map(e=>e.url) || [];
  1494. console.log(this.currentCollapses[idx].ironHolesOpening)
  1495. },
  1496. getironHomeworkDone(_,idx)
  1497. {
  1498. this.currentCollapses[idx].ironHomeworkDone = [...arguments][0][0].map(e=>e.url) || [];
  1499. console.log(this.currentCollapses[idx].ironHomeworkDone)
  1500. },
  1501. getironLowerEndCap(_,idx)
  1502. {
  1503. this.currentCollapses[idx].ironLowerEndCap = [...arguments][0][0].map(e=>e.url) || [];
  1504. console.log(this.currentCollapses[idx].ironLowerEndCap)
  1505. },
  1506. getironNitrogenPurging(_,idx)
  1507. {
  1508. this.currentCollapses[idx].ironNitrogenPurging = [...arguments][0][0].map(e=>e.url) || [];
  1509. console.log(this.currentCollapses[idx].ironNitrogenPurging)
  1510. },
  1511. getironPipelineReplacing(_,idx)
  1512. {
  1513. this.currentCollapses[idx].ironPipelineReplacing = [...arguments][0][0].map(e=>e.url) || [];
  1514. console.log(this.currentCollapses[idx].ironPipelineReplacing)
  1515. },
  1516. getironPipelineThickness(_,idx)
  1517. {
  1518. this.currentCollapses[idx].ironPipelineThickness = [...arguments][0][0].map(e=>e.url) || [];
  1519. console.log(this.currentCollapses[idx].ironPipelineThickness)
  1520. },
  1521. }
  1522. }
  1523. </script>
  1524. <style lang="scss" scoped>
  1525. ::v-deep .nodeForm{
  1526. .el-form-item__content{
  1527. display: flex;
  1528. }
  1529. }
  1530. ::v-deep .materialForm{
  1531. display: flex !important;
  1532. flex-wrap: wrap;
  1533. .el-form-item{
  1534. width: 320px;
  1535. }
  1536. }
  1537. ::v-deep .obsImageUpload{
  1538. .el-upload--picture-card{
  1539. display: block !important;
  1540. }
  1541. }
  1542. ::v-deep .obsImageUpload >div{
  1543. display: flex;
  1544. }
  1545. ::v-deep .el-dialog {
  1546. height: 85%;
  1547. .el-dialog__body {
  1548. overflow: hidden;
  1549. height: 91%;
  1550. }
  1551. }
  1552. ::v-deep .el-upload-notShow{
  1553. .el-upload--picture-card {
  1554. display: none;
  1555. }
  1556. }
  1557. ::v-deep .labelWidth{
  1558. .el-form-item__label{
  1559. width: 100px;
  1560. }
  1561. }
  1562. ::v-deep .obsImageUploads{
  1563. .el-upload--picture-card{
  1564. display: none;
  1565. }
  1566. }
  1567. .ConstructionDetailsDialog {
  1568. position: absolute;
  1569. .projectTabs {
  1570. height: 100%;
  1571. overflow: hidden;
  1572. overflow-y: scroll;
  1573. margin-top: 4%;
  1574. ::v-deep .el-tabs__content {
  1575. margin-top: 1%;
  1576. }
  1577. ::v-deep .el-tabs__nav {
  1578. border: none;
  1579. overflow: hidden;
  1580. overflow-x: scroll;
  1581. }
  1582. ::v-deep .el-tabs__item {
  1583. // width: 47%;
  1584. border: 1px solid #a3d3ff;
  1585. border-radius: 5px;
  1586. }
  1587. ::v-deep .el-tabs__item.is-active {
  1588. background-color: #e8f4ff;
  1589. color: #1890ff;
  1590. }
  1591. ::v-deep .el-tabs__header {
  1592. position: fixed;
  1593. width: 53%;
  1594. border: none;
  1595. top: 13%;
  1596. }
  1597. ::v-deep .el-collapse-item__wrap {
  1598. padding: 0 4%;
  1599. }
  1600. .check {
  1601. position: fixed;
  1602. right: 22.1%;
  1603. top: 13.1%;
  1604. height: 4.6%;
  1605. //background-color: #CC9900;
  1606. //color: #fff;
  1607. }
  1608. }
  1609. .projectTabs::-webkit-scrollbar {
  1610. display: none;
  1611. }
  1612. ::v-deep .rmOldPie {
  1613. .el-collapse-item {
  1614. border: none;
  1615. }
  1616. }
  1617. }
  1618. .personInfo >span:not(:nth-child(1)){
  1619. margin-left: 50px;
  1620. }
  1621. ::v-deep .checkingDialog{
  1622. height: 50%;
  1623. margin-top: 6%;
  1624. .el-dialog__body{
  1625. height: 72%;
  1626. }
  1627. .el-textarea__inner{
  1628. width: 246%;
  1629. height: 140px;
  1630. }
  1631. }
  1632. </style>