PressureRegulatingBox.vue 48 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447
  1. <template>
  2. <view>
  3. <image src="https://cczdsz.cn/app/images/background.png" class="background"></image>
  4. <view class="project-content">
  5. <u-form :model="form" ref="form">
  6. <view class="top">
  7. <u-icon class="top-icon" name="map-fill"></u-icon>
  8. <u-form-item label=" " borderBottom ref="item1" placeholder=" " labelWidth="20" label-align="left">
  9. <u-input v-model="communityName" disabled placeholder=" " disabled trim="false"></u-input>
  10. </u-form-item>
  11. <u-icon class="top-icon" name="calendar"></u-icon>
  12. <u-form-item label=" " borderBottom ref="item1" placeholder=" " labelWidth="20">
  13. <u-input v-model="time" disabled style="font-size: 2rpx" length='30px' trim="true"
  14. placeholder=" "></u-input>
  15. </u-form-item>
  16. </view>
  17. <view style="flex-flow: row;display: flex; justify-content: flex-end;">
  18. <view class="small-title">调压箱部分 </view>
  19. <view class="small-title" style="margin-left: auto;" @click="BoxDetails()">详情<u-icon name="arrow-right"></u-icon></view>
  20. </view>
  21. <u-row gutter="12">
  22. <u-col>
  23. <u-form-item label="管理所" borderBottom ref="item1" labelWidth="140">
  24. <u-input v-model="AdministrativeOfficeLabel" placeholder="请输入管理所名称"
  25. disabled borderBottom @click="showadministrativeOffice= true "></u-input>
  26. <!-- <u-select v-model="showadministrativeOffice" :list="AdministrativeOfficeList" label-name="name"
  27. value-name="value" @confirm="AdministrativeOffice()" disabled> </u-select>
  28. <u-icon slot="right" name="arrow-right"></u-icon> -->
  29. </u-form-item>
  30. </u-col>
  31. <u-col>
  32. <u-form-item label="编号" borderBottom ref="item1" labelWidth="140">
  33. <u-input v-model="form.number" placeholder="请输入编号" disabled></u-input>
  34. </u-form-item>
  35. </u-col>
  36. <u-col>
  37. <u-form-item label="商服" borderBottom ref="item1" placeholder="请输入编号" labelWidth="140">
  38. <u-radio-group v-model="form.businessService" >
  39. <u-radio @change="businessService" v-for="(item, index) in typelist.business_service" :key="index"
  40. :name="item.dictValue">
  41. {{item.dictLabel}}
  42. </u-radio>
  43. </u-radio-group>
  44. </u-form-item>
  45. </u-col>
  46. <u-col>
  47. <u-form-item label="外观" borderBottom ref="item1" placeholder="请输入编号" labelWidth="140">
  48. <u-radio-group v-model="form.appearance" >
  49. <u-radio @change="appearance" v-for="(item, index) in typelist.appearance" :key="index"
  50. :name="item.dictValue">
  51. {{item.dictLabel}}
  52. </u-radio>
  53. </u-radio-group>
  54. </u-form-item>
  55. </u-col>
  56. <u-col>
  57. <u-form-item label="方砖" borderBottom ref="item1" placeholder="请输入编号" labelWidth="140">
  58. <u-radio-group v-model="form.squareBrick" >
  59. <u-radio @change="squareBrick" v-for="(item, index) in typelist.square_brick"
  60. :key="index" :name="item.dictValue">
  61. {{item.dictLabel}}
  62. </u-radio>
  63. </u-radio-group>
  64. </u-form-item>
  65. </u-col>
  66. <u-col>
  67. <u-form-item label="护栏" borderBottom ref="item1" placeholder="请输入编号" labelWidth="140">
  68. <u-radio-group v-model="form.guardrail" >
  69. <u-radio @change="guardrail" v-for="(item, index) in typelist.guardrail" :key="index"
  70. :name="item.dictValue">
  71. {{item.dictLabel}}
  72. </u-radio>
  73. </u-radio-group>
  74. </u-form-item>
  75. </u-col>
  76. <u-col>
  77. <u-form-item label="基础" borderBottom ref="item1" placeholder="请输入编号" labelWidth="140">
  78. <u-radio-group v-model="form.foundation" >
  79. <u-radio @change="foundation" v-for="(item, index) in typelist.foundation" :key="index"
  80. :name="item.dictValue">
  81. {{item.dictLabel}}
  82. </u-radio>
  83. </u-radio-group>
  84. </u-form-item>
  85. </u-col>
  86. <u-col>
  87. <u-form-item label="压力表" borderBottom ref="item1" placeholder="请输入编号" labelWidth="140">
  88. <u-radio-group v-model="form.pressureGage" >
  89. <u-radio @change="pressureGage" v-for="(item, index) in typelist.pressure_gage"
  90. :key="index" :name="item.dictValue">
  91. {{item.dictLabel}}
  92. </u-radio>
  93. </u-radio-group>
  94. </u-form-item>
  95. </u-col>
  96. <u-col>
  97. <u-form-item label="阀门" borderBottom ref="item1" placeholder="请输入编号" labelWidth="140">
  98. <u-radio-group v-model="form.valve" >
  99. <u-radio @change="valve" v-for="(item, index) in typelist.valve" :key="index"
  100. :name="item.dictValue">
  101. {{item.dictLabel}}
  102. </u-radio>
  103. </u-radio-group>
  104. </u-form-item>
  105. </u-col>
  106. <u-col>
  107. <u-form-item label="是否泄露" borderBottom ref="item1" placeholder="请输入编号" labelWidth="140">
  108. <u-radio-group v-model="form.isThereALeak" >
  109. <u-radio @change="isThereALeak" v-for="(item, index) in typelist.yes_and_no"
  110. :key="index" :name="item.dictValue">
  111. {{item.dictLabel}}
  112. </u-radio>
  113. </u-radio-group>
  114. </u-form-item>
  115. </u-col>
  116. <u-col>
  117. <u-form-item label="调压器" borderBottom ref="item1" placeholder="请输入编号" labelWidth="140">
  118. <u-radio-group v-model="form.voltageRegulator" >
  119. <u-radio @change="voltageRegulator" v-for="(item, index) in typelist.voltage_regulator"
  120. :key="index" :name="item.dictValue">
  121. {{item.dictLabel}}
  122. </u-radio>
  123. </u-radio-group>
  124. </u-form-item>
  125. </u-col>
  126. <u-col>
  127. <u-form-item label="过滤器" borderBottom ref="item1" placeholder="请输入编号" labelWidth="120">
  128. <u-radio-group v-model="form.filter" >
  129. <u-radio @change="filter" v-for="(item, index) in typelist.filter" :key="index"
  130. :name="item.dictValue">
  131. {{item.dictLabel}}
  132. </u-radio>
  133. </u-radio-group>
  134. </u-form-item>
  135. </u-col>
  136. </u-row>
  137. <u-row class="un-row" gutter="12" style="text-align:left;">
  138. <u-col span="10">
  139. <u-form-item label="入口压力" borderBottom ref="item1" placeholder="请输入入口压力" labelWidth="140">
  140. <u-input v-model="form.inletPressure" length='20px' placeholder="请输入入口压力"
  141. type="digit" :clearable="false" @input="checkinletPressure"></u-input>
  142. </u-form-item>
  143. </u-col>
  144. <u-col span="2">
  145. <viwe class="danwei">Mpa</viwe>
  146. </u-col>
  147. </u-row>
  148. <u-row gutter="12">
  149. <u-col span="5">
  150. <u-form-item label="出口压力 主路" borderBottom ref="item1" placeholder=" " labelWidth="200">
  151. <u-input v-model="form.exportPressureMain" placeholder="请输入" :disabled="type==1" type="digit" :clearable="false" @input="checkexportPressureMain"></u-input>
  152. </u-form-item>
  153. </u-col>
  154. <u-col span="2">
  155. <viwe class="danwei">KPa</viwe>
  156. </u-col>
  157. <u-col span="3">
  158. <u-form-item label="副路" borderBottom ref="item1" placeholder=" " labelWidth="80">
  159. <u-input v-model="form.exportPressureAccessory" length='20px' trim="false" aceholder="" placeholder="请输入"
  160. :disabled="type==1" type="digit" :clearable="false" @input="checkexportPressureAccessory"></u-input>
  161. </u-form-item>
  162. </u-col>
  163. <u-col span="1">
  164. <viwe class="danwei">KPa</viwe>
  165. </u-col>
  166. </u-row>
  167. <u-row gutter="12">
  168. <u-col span="5">
  169. <u-form-item label="关闭压力 主路" borderBottom ref="item1" placeholder=" " labelWidth="200">
  170. <u-input v-model="form.closingPressureMain" trim="false" placeholder="请输入"
  171. :disabled="type==1" type="digit" :clearable="false" @input="checkclosingPressureMain"></u-input>
  172. </u-form-item>
  173. </u-col>
  174. <u-col span="2">
  175. <viwe class="danwei">KPa</viwe>
  176. </u-col>
  177. <u-col span="3">
  178. <u-form-item label="副路" borderBottom ref="item1" placeholder=" " labelWidth="80">
  179. <u-input v-model="form.closingPressureAccessory" length='20px' trim="false" placeholder="请输入"
  180. :disabled="type==1" type="digit" :clearable="false" @input="checkclosingPressureAccessory"></u-input>
  181. </u-form-item>
  182. </u-col>
  183. <u-col span="1">
  184. <viwe class="danwei">KPa</viwe>
  185. </u-col>
  186. </u-row>
  187. <u-row>
  188. <u-col>
  189. <u-form-item label="是否开启伴热带" labelWidth="140" borderBottom ref="item1">
  190. <u-radio-group v-model="form.isNotXtv" :disabled="type==1">
  191. <u-radio @change="isNotXtv"
  192. v-for="(item, index) in typelist.on_off" :key="index"
  193. :name="item.dictValue">
  194. {{item.dictLabel}}
  195. </u-radio>
  196. </u-radio-group>
  197. </u-form-item>
  198. </u-col>
  199. <u-col>
  200. <u-form-item label="伴热带" labelWidth="140" borderBottom ref="item1">
  201. <u-radio-group v-model="form.xtv" >
  202. <u-radio @change="xtv"
  203. v-for="(item, index) in typelist.xtv" :key="index"
  204. :name="item.dictValue">
  205. {{item.dictLabel}}
  206. </u-radio>
  207. </u-radio-group>
  208. </u-form-item>
  209. </u-col>
  210. <u-col>
  211. <u-form-item label="有无温控器" borderBottom ref="item1" placeholder="" labelWidth="180">
  212. <u-radio-group v-model="form.thermostat" >
  213. <u-radio @change="thermostat"
  214. v-for="(item, index) in typelist.yes_or_no" :key="index"
  215. :name="item.dictValue">
  216. {{item.dictLabel}}
  217. </u-radio>
  218. </u-radio-group>
  219. </u-form-item>
  220. </u-col>
  221. <u-col>
  222. <u-form-item label="有无防爆开关" borderBottom ref="item1" placeholder="" labelWidth="180">
  223. <u-radio-group v-model="form.explosionProofSwitch" >
  224. <u-radio @change="explosionProofSwitch"
  225. v-for="(item, index) in typelist.yes_or_no" :key="index"
  226. :name="item.dictValue">
  227. {{item.dictLabel}}
  228. </u-radio>
  229. </u-radio-group>
  230. </u-form-item>
  231. </u-col>
  232. </u-row>
  233. <view class="small-title">切断器测试部分</view>
  234. <u-row>
  235. <u-col>
  236. <u-form-item label="切断器测试" borderBottom ref="item1" placeholder="" labelWidth="200">
  237. <u-radio-group v-model="form.cutterTested" >
  238. <u-radio @change="cutterTested"
  239. v-for="(item, index) in typelist.cutoff_test_certification" :key="index"
  240. :name="item.dictValue">
  241. {{item.dictLabel}}
  242. </u-radio>
  243. </u-radio-group>
  244. </u-form-item>
  245. </u-col>
  246. <u-col>
  247. <u-form-item label="切断器(放散阀)测试情况" borderBottom ref="item1" placeholder="" labelWidth="320" v-if="form.cutterTested==1">
  248. <u-radio-group v-model="form.disconnectorTestStatus" >
  249. <u-radio @change="disconnectorTestStatus"
  250. v-for="(item, index) in typelist.disconnector_test_status" :key="index"
  251. :name="item.dictValue">
  252. {{item.dictLabel}}
  253. </u-radio>
  254. </u-radio-group>
  255. </u-form-item>
  256. </u-col>
  257. </u-row>
  258. <u-row gutter="12">
  259. <u-col span="5">
  260. <u-form-item label="切断压力 主路" borderBottom ref="item1" placeholder=" " labelWidth="200" v-if="form.cutterTested==1">
  261. <u-input v-model="form.cutOffPressureMain" placeholder=" " type="digit" :clearable="false" @input="checkcutOffPressureMain"></u-input>
  262. </u-form-item>
  263. </u-col>
  264. <u-col span="2" v-if="form.cutterTested==1">
  265. <viwe class="danwei" >KPa</viwe>
  266. </u-col>
  267. <u-col span="3">
  268. <u-form-item label="副路" borderBottom ref="item1" placeholder="" labelWidth="80" v-if="form.cutterTested==1">
  269. <u-input v-model="form.cutOffPressureAccessory" length='20px' placeholder="请输入副路"
  270. type="digit" :clearable="false" @input="checkcutOffPressureAccessory"></u-input>
  271. </u-form-item>
  272. </u-col>
  273. <u-col span="1" v-if="form.cutterTested==1">
  274. <viwe class="danwei">KPa</viwe>
  275. </u-col>
  276. </u-row>
  277. <u-row gutter="12" style="text-align: center;">
  278. <u-col span="10">
  279. <u-form-item label="放散压力" borderBottom ref="item1" placeholder="请输入放散压力" labelWidth="140" v-if="form.cutterTested==1">
  280. <u-input v-model="form.releasePressure" length='20px' placeholder="请输入放散压力"
  281. type="digit" :clearable="false" @input="checkreleasePressure"></u-input>
  282. </u-form-item>
  283. </u-col>
  284. <u-col span="2" v-if="form.cutterTested==1">
  285. <viwe class="danwei" >Kpa</viwe>
  286. </u-col>
  287. </u-row>
  288. <view class="small-title">主副路交替部分</view>
  289. <u-row>
  290. <u-col>
  291. <u-form-item label="是否交替" borderBottom ref="item1" placeholder="请输入编号" labelWidth="200">
  292. <u-radio-group v-model="form.manOfAccessoryAlternating" >
  293. <u-radio @change="manOfAccessoryAlternating" v-for="(item, index) in typelist.secondary_roads" :key="index"
  294. :name="item.dictValue">
  295. {{item.dictLabel}}
  296. </u-radio>
  297. </u-radio-group>
  298. </u-form-item>
  299. </u-col>
  300. </u-row>
  301. <u-row gutter="12" style="text-align: center;" v-if="form.manOfAccessoryAlternating==1">
  302. <u-col span="12">
  303. <u-form-item label="操作结果主副路已交替完毕,现" borderBottom ref="item1" placeholder="请输入编号"
  304. labelWidth="420">
  305. <u-input v-model="form.mainRoad" length='20px' placeholder="请输入"
  306. ></u-input>
  307. </u-form-item>
  308. </u-col>
  309. <u-col span="12">
  310. <viwe class="danwei">路为主路</viwe>
  311. </u-col>
  312. </u-row>
  313. <view class="small-title">特殊情况说明</view>
  314. <u-row>
  315. <u-col>
  316. <u-form-item label="调压设施特例" borderBottom ref="item1" placeholder="请输入编号" labelWidth="200">
  317. <u-radio-group v-model="form.specialCaseOfPressureRegulatingFacilities" >
  318. <u-radio @change="specialCaseOfPressureRegulatingFacilities"
  319. v-for="(item, index) in typelist.special_case_of_pressure_regulating_facilities"
  320. :key="index" :name="item.dictValue">
  321. {{item.dictLabel}}
  322. </u-radio>
  323. </u-radio-group>
  324. </u-form-item>
  325. </u-col>
  326. <u-col>
  327. <u-form-item label="超期巡检天数" borderBottom ref="item1" placeholder="请输入编号" labelWidth="200">
  328. <u-radio-group v-model="form.overdueInspectionDays" >
  329. <u-radio @change="overdueInspectionDays"
  330. v-for="(item, index) in typelist.overdue_inspection_days" :key="index"
  331. :name="item.dictValue">
  332. {{item.dictLabel}}
  333. </u-radio>
  334. </u-radio-group>
  335. </u-form-item>
  336. </u-col>
  337. <!-- <u-col>
  338. <u-form-item label="超期巡检原因" borderBottom ref="item1" placeholder="请输入编号" labelWidth="200">
  339. <u-radio-group v-model="form.reasonForOverdueInspection" >
  340. <u-radio @change="reasonForOverdueInspection"
  341. v-for="(item, index) in typelist.reason_for_overdue_inspection" :key="index"
  342. :name="item.dictValue">
  343. {{item.dictLabel}}
  344. </u-radio>
  345. </u-radio-group>
  346. </u-form-item>
  347. </u-col> -->
  348. <u-col>
  349. <u-form-item label="超期巡检原因" borderBottom ref="item1" labelWidth="200" v-if="form.overdueInspectionDays!=undefined&&form.overdueInspectionDays!=3">
  350. <u-input v-model="form.reasonForOverdueInspection" placeholder="请输入超期巡检原因"
  351. ></u-input>
  352. </u-form-item>
  353. </u-col>
  354. </u-row>
  355. <!-- <view class="small-title">阀井测试部分</view>
  356. <u-row>
  357. <u-col>
  358. <u-form-item label="未测试" borderBottom ref="item1" placeholder="请输入编号" labelWidth="120">
  359. <u-switch v-model="form.valveWellTesting" ></u-switch>
  360. </u-form-item>
  361. </u-col>
  362. <u-col>
  363. <u-form-item label="阀井情况" labelWidth="140" borderBottom ref="item1">
  364. <u-input v-model="valveWellConditioLabel" disabled
  365. @click=" showvalveWellCondition= true&& type!=1" borderBottom
  366. placeholder="请选择阀井情况"></u-input>
  367. <u-select v-model="showvalveWellCondition" :list="typelist.valve_well_condition"
  368. @confirm="valveWellCondition()" label-name="dictLabel" value-name="dictValue">
  369. </u-select>
  370. <u-icon slot="right" name="arrow-right"></u-icon>
  371. </u-form-item>
  372. </u-col>
  373. </u-row> -->
  374. <view class="small-title">备注信息</view>
  375. <u-row>
  376. <u-col>
  377. <u-form-item label=" " labelWidth="0" borderBottom ref="item1">
  378. <u-input v-model="form.remarks" type="textarea" borderBottom placeholder="请填写备注信息内容"
  379. ></u-input>
  380. </u-form-item>
  381. </u-col>
  382. <u-col>
  383. <u-form-item label=" " labelWidth="0" borderBottom ref="item1">
  384. <u-input v-model="form.WarningColumnInformation" disabled placeholder="请上传巡检照片"></u-input>
  385. <view class="" style="display: flex; flex-wrap: wrap; margin: 0 55rpx;">
  386. <image src="https://cczdsz.cn/app/images/chooseimg.png" mode=""
  387. style="width: 190rpx; height: 190rpx; margin: 0 12rpx; " @click="choose()"
  388. ></image>
  389. <view v-for="(item,index) in imgymxs" :key="index" style="position: relative;">
  390. <view v-if="item.type == 'image'">
  391. <image :src="item.url" mode=""
  392. style="width: 190rpx; height: 190rpx; margin: 0 20rpx;"
  393. @click="showPhoto(index)">
  394. </image>
  395. </view>
  396. <view v-else>
  397. <video :src="item"
  398. style="width: 190rpx; height: 190rpx; margin: 0 20rpx;"></video>
  399. </view>
  400. <view @click="remove(index)"
  401. style="position: absolute; top: 0; right: 14rpx; border-radius: 50%; background-color: #FF0000;">
  402. <u-icon name="close" color="#FFFFFF" size="35" ></u-icon>
  403. </view>
  404. </view>
  405. </view>
  406. </u-form-item>
  407. </u-col>
  408. </u-row>
  409. </u-form>
  410. <u-button class="from-but" style="margin: 40rpx 0;" @click="save() " v-if="type!=1"
  411. type='primary'>确认上传</u-button>
  412. <u-button class="from-but" style="margin: 40rpx 0;" @click="update()"
  413. type='primary' v-else>确认修改</u-button>
  414. </view>
  415. </u-form>
  416. <view>
  417. <u-popup v-model="showBoxDetails" height= "400px" border-radius="14" mode=bottom closeable=true close-icon-color="#000000">
  418. <image src="https://cczdsz.cn/app/images/background.png" class="background"></image>
  419. <view>
  420. <u-form :model="boxform" ref="boxform">
  421. <view style="text-align:center; font-size: 40rpx;">调压箱详情</view>
  422. <view class="project-content" style="margin-top: 20px;">
  423. <u-form-item label="管理所" borderBottom ref="item1" placeholder=" " labelWidth="200" >
  424. <u-input v-model="AdministrativeOfficeLabel" disabled></u-input>
  425. </u-form-item>
  426. <u-form-item label="编号" borderBottom ref="item1" placeholder=" " labelWidth="200" >
  427. <u-input v-model="boxform.number" placeholder=" " disabled></u-input>
  428. </u-form-item>
  429. <u-form-item label="名称" borderBottom ref="item1" placeholder=" " labelWidth="200" >
  430. <u-input v-model="boxform.name" placeholder=" " disabled></u-input>
  431. </u-form-item>
  432. <u-form-item label="性质" borderBottom ref="item1" placeholder=" " labelWidth="200" >
  433. <u-input v-model="boxform.nature" placeholder=" " disabled></u-input>
  434. </u-form-item>
  435. <u-form-item label="类型" borderBottom ref="item1" placeholder=" " labelWidth="200" >
  436. <u-input v-model="boxform.type" placeholder=" " disabled></u-input>
  437. </u-form-item>
  438. <u-form-item label="路数" borderBottom ref="item1" placeholder=" " labelWidth="200" >
  439. <u-input v-model="boxform.numberOfRoutes" placeholder=" " disabled></u-input>
  440. </u-form-item>
  441. <u-form-item label="性质" borderBottom ref="item1" placeholder=" " labelWidth="200" >
  442. <u-input v-model="boxform.nature" placeholder=" " disabled></u-input>
  443. </u-form-item>
  444. <u-form-item label="总户数" borderBottom ref="item1" placeholder=" " labelWidth="200" >
  445. <u-input v-model="pressureRegulatingBoxDetailsBo.totalNumberOfHousehold" placeholder=" " disabled></u-input>
  446. </u-form-item>
  447. <u-form-item label="调压箱位置" borderBottom ref="item1" placeholder=" " labelWidth="200" >
  448. <u-input v-model="pressureRegulatingBoxDetailsBo.positionOfPressureRegulatingBox" placeholder=" " disabled></u-input>
  449. </u-form-item>
  450. <u-form-item label="控制范围" borderBottom ref="item1" placeholder=" " labelWidth="200" >
  451. <u-input v-model="pressureRegulatingBoxDetailsBo.controlRange" placeholder=" " disabled></u-input>
  452. </u-form-item>
  453. <u-form-item label="接收时间" borderBottom ref="item1" placeholder=" " labelWidth="200" >
  454. <u-input v-model="pressureRegulatingBoxDetailsBo.receivingTime" placeholder=" " disabled></u-input>
  455. </u-form-item>
  456. <u-form-item label="阀井位置" borderBottom ref="item1" placeholder=" " labelWidth="200" >
  457. <u-input v-model="pressureRegulatingBoxDetailsBo.valveWellPosition" placeholder=" " disabled></u-input>
  458. </u-form-item>
  459. <u-form-item label="阀井钥匙形状" borderBottom ref="item1" placeholder=" " labelWidth="200" >
  460. <u-input v-model="pressureRegulatingBoxDetailsBo.valveWellKeyShape" placeholder=" " disabled></u-input>
  461. </u-form-item>
  462. <u-form-item label="厂家" borderBottom ref="item1" placeholder=" " labelWidth="200" >
  463. <u-input v-model="pressureRegulatingBoxDetailsBo.manufacturer" placeholder=" " disabled></u-input>
  464. </u-form-item>
  465. <u-form-item label="流量" borderBottom ref="item1" placeholder=" " labelWidth="200" >
  466. <u-input v-model="pressureRegulatingBoxDetailsBo.flow" placeholder=" " disabled></u-input>
  467. </u-form-item>
  468. <u-form-item label="进口管径" borderBottom ref="item1" placeholder=" " labelWidth="200" >
  469. <u-input v-model="pressureRegulatingBoxDetailsBo.importPipeDiameter" placeholder=" " disabled></u-input>
  470. </u-form-item>
  471. <u-form-item label="出口管径" borderBottom ref="item1" placeholder=" " labelWidth="200" >
  472. <u-input v-model="pressureRegulatingBoxDetailsBo.outletPipeDiameter" placeholder=" " disabled></u-input>
  473. </u-form-item>
  474. <u-form-item label="旁通管径" borderBottom ref="item1" placeholder=" " labelWidth="200" >
  475. <u-input v-model="pressureRegulatingBoxDetailsBo.bypassPipeDiameter" placeholder=" " disabled></u-input>
  476. </u-form-item>
  477. <u-form-item label="调压器" borderBottom ref="item1" placeholder=" " labelWidth="200" >
  478. <u-input v-model="pressureRegulatingBoxDetailsBo.voltageRegulator" placeholder=" " disabled></u-input>
  479. </u-form-item>
  480. <u-form-item label="设施规格型号" borderBottom ref="item1" placeholder=" " labelWidth="200" >
  481. <u-input v-model="pressureRegulatingBoxDetailsBo.facilitySpecificationsAndModels" placeholder=" " disabled></u-input>
  482. </u-form-item>
  483. <u-form-item label="入口压力" borderBottom ref="item1" placeholder=" " labelWidth="200" >
  484. <u-input v-model="pressureRegulatingBoxDetailsBo.inletPressure" placeholder=" " disabled></u-input>
  485. </u-form-item>
  486. <u-form-item label="出口压力" borderBottom ref="item1" placeholder=" " labelWidth="200" >
  487. <u-input v-model="pressureRegulatingBoxDetailsBo.outletPressure" placeholder=" " disabled></u-input>
  488. </u-form-item>
  489. <u-form-item label="切断压力" borderBottom ref="item1" placeholder=" " labelWidth="200" >
  490. <u-input v-model="pressureRegulatingBoxDetailsBo.cutOffPressure" placeholder=" " disabled></u-input>
  491. </u-form-item>
  492. <u-form-item label="放散压力" borderBottom ref="item1" placeholder=" " labelWidth="200" >
  493. <u-input v-model="pressureRegulatingBoxDetailsBo.releasePressure" placeholder=" " disabled></u-input>
  494. </u-form-item>
  495. <u-form-item label="出厂编号" borderBottom ref="item1" placeholder=" " labelWidth="200" >
  496. <u-input v-model="pressureRegulatingBoxDetailsBo.factoryNumber" placeholder=" " disabled></u-input>
  497. </u-form-item>
  498. <u-form-item label="出厂日期" borderBottom ref="item1" placeholder=" " labelWidth="200" >
  499. <u-input v-model="pressureRegulatingBoxDetailsBo.factoryDate" placeholder=" " disabled></u-input>
  500. </u-form-item>
  501. <u-form-item label="主电源位置" borderBottom ref="item1" placeholder=" " labelWidth="200" >
  502. <u-input v-model="pressureRegulatingBoxDetailsBo.mainPowerSupplyPosition" placeholder=" " disabled></u-input>
  503. </u-form-item>
  504. <u-form-item label="备注" borderBottom ref="item1" placeholder=" " labelWidth="200" >
  505. <u-input v-model="inspectionFrequency" placeholder=" " disabled></u-input>
  506. </u-form-item>
  507. <u-form-item label=" " labelWidth="0" borderBottom ref="item1">
  508. <u-input v-model="boxform.remark" type="textarea" borderBottom placeholder="请填写备注信息内容"
  509. ></u-input>
  510. </u-form-item>
  511. </view>
  512. </u-form>
  513. </view>
  514. </u-popup>
  515. </view>
  516. </view>
  517. </view>
  518. </template>
  519. <script>
  520. import service from '@/api/index.js'
  521. export default {
  522. data() {
  523. return {
  524. action: this.$HTTP.webUrl + `/obs`,
  525. headers: {
  526. MAuthorization: "wxBearer " + uni.getStorageSync('token')
  527. },
  528. url: [],
  529. showadministrativeOffice:false,
  530. uploading: false,
  531. imgArr: [],
  532. PhotoList: [],
  533. community: '',
  534. building: '',
  535. unit: '',
  536. imgymxs: [],
  537. progress: 0, //图片或视频上传百分比
  538. showxtv: false,
  539. showvalveWellCondition: false,
  540. form: {
  541. businessService:0,
  542. administrativeOffice:0,
  543. businessService:0,
  544. isNotXtv:null,
  545. appearance:0,
  546. squareBrick:0,
  547. foundation:0,
  548. pressureGage:0,
  549. valve:0,
  550. isThereALeak:0,
  551. voltageRegulator:0,
  552. xtv:0,
  553. thermostat:0,
  554. explosionProofSwitch:0,
  555. cutterTested:0,
  556. manOfAccessoryAlternating:0,
  557. filter:0,
  558. specialCaseOfPressureRegulatingFacilities:0,
  559. overdueInspectionDays:3,
  560. valveWellTesting:true,
  561. guardrail:0
  562. },
  563. xtvLabel: null,
  564. valveWellConditioLabel: null,
  565. // 表单校验
  566. rules: {
  567. areaId: [{
  568. required: true,
  569. message: "所属小区不能为空",
  570. trigger: "blur"
  571. }],
  572. buildingId: [{
  573. required: true,
  574. message: "所属楼宇不能为空",
  575. trigger: "blur"
  576. }],
  577. unitId: [{
  578. required: true,
  579. message: "单元id不能为空",
  580. trigger: "change"
  581. }],
  582. number: [{
  583. required: true,
  584. message: "编号不能为空",
  585. trigger: "blur"
  586. }],
  587. businessService: [{
  588. required: true,
  589. message: "商服不能为空",
  590. trigger: "blur"
  591. }],
  592. appearance: [{
  593. required: true,
  594. message: "外观不能为空",
  595. trigger: "change"
  596. }],
  597. squareBrick: [{
  598. required: true,
  599. message: "方砖不能为空",
  600. trigger: "change"
  601. }],
  602. guardrail: [{
  603. required: true,
  604. message: "护栏不能为空",
  605. trigger: "change"
  606. }],
  607. foundation: [{
  608. required: true,
  609. message: "基础不能为空",
  610. trigger: "change"
  611. }],
  612. pressureGage: [{
  613. required: true,
  614. message: "压力表不能为空",
  615. trigger: "change"
  616. }],
  617. mainRoad: [{
  618. required: true,
  619. message: "当前主路不能为空",
  620. trigger: "change"
  621. }],
  622. valve: [{
  623. required: true,
  624. message: "阀门不能为空",
  625. trigger: "change"
  626. }],
  627. isThereALeak: [{
  628. required: true,
  629. message: "是否泄露不能为空",
  630. trigger: "blur"
  631. }],
  632. voltageRegulator: [{
  633. required: true,
  634. message: "调压器不能为空",
  635. trigger: "change"
  636. }],
  637. inletPressure: [{
  638. required: true,
  639. message: "入口压力不能为空",
  640. trigger: "blur"
  641. }],
  642. exportPressureMain: [{
  643. required: true,
  644. message: "出口压力(主路)不能为空",
  645. trigger: "blur"
  646. }],
  647. exportPressureAccessory: [{
  648. required: true,
  649. message: "出口压力(副路)不能为空",
  650. trigger: "blur"
  651. }],
  652. closingPressureMain: [{
  653. required: true,
  654. message: "关闭压力(主路)不能为空",
  655. trigger: "blur"
  656. }],
  657. closingPressureAccessory: [{
  658. required: true,
  659. message: "关闭压力(副路)不能为空",
  660. trigger: "blur"
  661. }],
  662. xtv: [{
  663. required: true,
  664. message: "伴热带不能为空",
  665. trigger: "change"
  666. }],
  667. isNotXtv: [{
  668. required: true,
  669. message: "是否开启伴热带不能为空",
  670. trigger: "change"
  671. }],
  672. thermostat: [{
  673. required: true,
  674. message: "有无控温器不能为空",
  675. trigger: "blur"
  676. }],
  677. explosionProofSwitch: [{
  678. required: true,
  679. message: "有无防爆开关不能为空",
  680. trigger: "blur"
  681. }],
  682. cutterTested: [{
  683. required: true,
  684. message: "切断器测试不能为空",
  685. trigger: "blur"
  686. }],
  687. disconnectorTestStatus: [{
  688. required: true,
  689. message: "切断器(放散阀)测试情况不能为空",
  690. trigger: "change"
  691. }],
  692. cutOffPressureMain: [{
  693. required: true,
  694. message: "切断压力(主路)不能为空",
  695. trigger: "blur"
  696. }],
  697. cutOffPressureAccessory: [{
  698. required: true,
  699. message: "切断压力(副路)不能为空",
  700. trigger: "blur"
  701. }],
  702. releasePressure: [{
  703. required: true,
  704. message: "放散压力不能为空",
  705. trigger: "blur"
  706. }],
  707. manOfAccessoryAlternating: [{
  708. required: true,
  709. message: "主副路交替不能为空",
  710. trigger: "blur"
  711. }],
  712. filter: [{
  713. required: true,
  714. message: "过滤器不能为空",
  715. trigger: "change"
  716. }],
  717. specialCaseOfPressureRegulatingFacilities: [{
  718. required: true,
  719. message: "调压设施特例不能为空",
  720. trigger: "change"
  721. }],
  722. overdueInspectionDays: [{
  723. required: true,
  724. message: "超期巡检天数不能为空",
  725. trigger: "change"
  726. }],
  727. reasonForOverdueInspection: [{
  728. required: true,
  729. message: "超期巡检原因不能为空",
  730. trigger: "change"
  731. }],
  732. otherReasonsForOverdueInspection: [{
  733. required: true,
  734. message: "超期巡检其他原因不能为空",
  735. trigger: "blur"
  736. }],
  737. valveWellTesting: [{
  738. required: true,
  739. message: "阀井测试不能为空",
  740. trigger: "blur"
  741. }],
  742. valveWellCondition: [{
  743. required: true,
  744. message: "阀井情况不能为空",
  745. trigger: "change"
  746. }]
  747. },
  748. communityName: '',
  749. communityId:'',
  750. time: '',
  751. showrepairType: false,
  752. showrepairType: null,
  753. checked: true,
  754. typelist: {},
  755. dictlist: ['appearance', 'square_brick', 'guardrail', 'foundation', 'pressure_gage', 'valve',
  756. 'voltage_regulator', 'xtv', 'disconnector_test_status', 'filter','cutoff_test_certification','secondary_roads',
  757. 'special_case_of_pressure_regulating_facilities', 'overdue_inspection_days',
  758. 'reason_for_overdue_inspection', 'valve_well_condition', 'find_problem', 'on_off','administrative_office','yes_and_no','business_service','yes_or_no'
  759. ],
  760. type: 2,
  761. id: null,
  762. AdministrativeOfficeList:[],
  763. AdministrativeOfficeLabel:null,
  764. userId:null,createBy:null,
  765. administrativeOffice:null,
  766. code:null,
  767. name:null,
  768. showBoxDetails:false,
  769. managementOfficeId:null,
  770. boxform:{},
  771. pressureRegulatingBoxDetailsBo:{}
  772. }
  773. },
  774. // onReady() {
  775. // uni.setNavigationBarTitle({
  776. // title: '调压箱表单'
  777. // });
  778. // },
  779. showPhoto(index) {
  780. uni.previewImage({
  781. current: index,
  782. urls: this.imgArr,
  783. })
  784. },
  785. showPhotos(index) {
  786. uni.previewImage({
  787. current: index,
  788. urls: this.photo,
  789. })
  790. },
  791. onLoad(e) {
  792. uni.setNavigationBarTitle({
  793. title: '调压箱表单'
  794. });
  795. uni.setNavigationBarColor({
  796. frontColor: '#ffffff',
  797. backgroundColor: '#2d95f4',
  798. })
  799. let time1 = new Date()
  800. console.log(time1.toLocaleString())
  801. var year = time1.getFullYear(); //得到年份
  802. var month = time1.getMonth() + 1; //得到月份
  803. var date = time1.getDate(); //得到日期
  804. var hours = time1.getHours(); //获取系统时
  805. var Min = time1.getMinutes(); //分
  806. this.type = e.type
  807. this.id = e.id
  808. this.managementOfficeId=e.managementOfficeId
  809. this.time = year + "/" + month + "/" + date + "-" + hours + ":" + Min
  810. this.getdictsysinfo()
  811. this.getUserName()
  812. this.form.areaId = e.id
  813. this.communityId=e.id
  814. this.communityName = e.name
  815. this.form.number=e.number
  816. this.administrativeOffice=e.managementOffice
  817. this.form.administrativeOffice=e.managementOffice
  818. this.form.name=e.name
  819. this.name=e.name
  820. this.code=e.number
  821. //this.getAdministrativeOffice(this.userId)
  822. },
  823. methods: {
  824. BoxDetails()
  825. {
  826. service.getpressureRegulatingBox(this.managementOfficeId).then(res=>{
  827. this.boxform=res
  828. this.pressureRegulatingBoxDetailsBo = res.pressureRegulatingBoxDetailsVo[0];
  829. this.showBoxDetails=true
  830. })
  831. },
  832. checkinletPressure(e) {
  833. console.log(e)
  834. //正则表达试
  835. e = (e.match(/^\d*(\.?\d{0,2})/g)[0]) || null
  836. //重新赋值给input
  837. this.$nextTick(() => {
  838. this.form.inletPressure= e
  839. })
  840. },
  841. checkexportPressureMain(e) {
  842. console.log(e)
  843. //正则表达试
  844. e = (e.match(/^\d*(\.?\d{0,2})/g)[0]) || null
  845. //重新赋值给input
  846. this.$nextTick(() => {
  847. this.form.exportPressureMain= e
  848. })
  849. },
  850. checkclosingPressureAccessory(e) {
  851. console.log(e)
  852. //正则表达试
  853. e = (e.match(/^\d*(\.?\d{0,2})/g)[0]) || null
  854. //重新赋值给input
  855. this.$nextTick(() => {
  856. this.form.closingPressureAccessory= e
  857. })
  858. },
  859. checkexportPressureAccessory(e) {
  860. console.log(e)
  861. //正则表达试
  862. e = (e.match(/^\d*(\.?\d{0,2})/g)[0]) || null
  863. //重新赋值给input
  864. this.$nextTick(() => {
  865. this.form.exportPressureAccessory= e
  866. })
  867. },
  868. checkclosingPressureMain(e) {
  869. console.log(e)
  870. //正则表达试
  871. e = (e.match(/^\d*(\.?\d{0,2})/g)[0]) || null
  872. //重新赋值给input
  873. this.$nextTick(() => {
  874. this.form.closingPressureMain= e
  875. })
  876. },
  877. checkcutOffPressureMain(e) {
  878. console.log(e)
  879. //正则表达试
  880. e = (e.match(/^\d*(\.?\d{0,2})/g)[0]) || null
  881. //重新赋值给input
  882. this.$nextTick(() => {
  883. this.form.cutOffPressureMain= e
  884. })
  885. },
  886. checkcutOffPressureAccessory(e) {
  887. console.log(e)
  888. //正则表达试
  889. e = (e.match(/^\d*(\.?\d{0,2})/g)[0]) || null
  890. //重新赋值给input
  891. this.$nextTick(() => {
  892. this.form.cutOffPressureAccessory= e
  893. })
  894. },
  895. checkreleasePressure(e) {
  896. console.log(e)
  897. //正则表达试
  898. e = (e.match(/^\d*(\.?\d{0,2})/g)[0]) || null
  899. //重新赋值给input
  900. this.$nextTick(() => {
  901. this.form.releasePressure= e
  902. })
  903. },
  904. getUserName(){
  905. service.getUserName().then(res=>{
  906. this.userId=res.id
  907. this.createBy=res.name
  908. this.getAdministrativeOffice(res.id)
  909. console.log(this.communityName)
  910. })
  911. },
  912. getAdministrativeOffice(userId){
  913. service.getAdministrativeOffice({userId:userId}).then(res=>{
  914. this.AdministrativeOfficeList=res
  915. if(this.type!=1)
  916. {
  917. this.AdministrativeOfficeLabel=this.AdministrativeOfficeList.filter(item=>item.value==this.administrativeOffice)[0].name
  918. }
  919. })
  920. },
  921. getdictsysinfo() {
  922. let _this = this
  923. service.getDictInfoList({
  924. type: this.dictlist
  925. }).then(res => {
  926. _this.typelist = res
  927. if (this.type == 1) {
  928. service.getregulatorBox2(this.id).then(res => {
  929. this.communityName = res.name
  930. this.time = res.createTime
  931. if (null != res.photoList) {
  932. res.photoList.forEach(item => {
  933. let url = {}
  934. url.url = item
  935. url.type = 'image'
  936. this.imgymxs.push(url)
  937. this.imgArr.push(item)
  938. })
  939. }
  940. let list = []
  941. list = _this.typelist.xtv
  942. list.forEach((item) => {
  943. if (item.dictValue == res.xtv) {
  944. _this.xtvLabel = item.dictLabel
  945. }
  946. })
  947. let list2 = []
  948. list2 = _this.typelist.valve_well_condition
  949. list2.forEach((item) => {
  950. if (item.dictValue == res.valveWellCondition) {
  951. _this.valveWellConditioLabel = item.dictLabel
  952. }
  953. })
  954. let list3 = []
  955. list3 = _this.typelist.administrative_office
  956. list3.forEach((item) => {
  957. if (item.dictValue == res.administrativeOffice) {
  958. _this.AdministrativeOfficeLabel = item.dictLabel
  959. }
  960. })
  961. this.form = res
  962. this.managementOfficeId=this.form.parentId
  963. })
  964. console.log(res)
  965. }
  966. })
  967. },
  968. //外观
  969. appearance(e) {
  970. this.$refs.form.appearance = e
  971. console.log(e)
  972. },
  973. explosionProofSwitch(e)
  974. {
  975. this.$refs.form.explosionProofSwitch = e
  976. console.log(e)
  977. },
  978. thermostat(e)
  979. {
  980. this.$refs.form.thermostat = e
  981. console.log(e)
  982. },
  983. businessService(e)
  984. {
  985. this.$refs.form.businessService = e
  986. console.log(e)
  987. },
  988. //方砖
  989. squareBrick(e) {
  990. this.$refs.form.squareBrick = e
  991. console.log(e)
  992. },
  993. //护栏
  994. guardrail(e) {
  995. this.$refs.form.guardrail = e
  996. console.log(e)
  997. },
  998. //基础
  999. foundation(e) {
  1000. this.$refs.form.foundation = e
  1001. console.log(e)
  1002. },
  1003. //压力表
  1004. pressureGage(e) {
  1005. this.$refs.form.pressureGage = e
  1006. console.log(e)
  1007. },
  1008. //阀门
  1009. valve(e) {
  1010. this.$refs.form.valve = e
  1011. console.log(e)
  1012. },
  1013. //调压器
  1014. voltageRegulator(e) {
  1015. this.$refs.form.voltageRegulator = e
  1016. console.log(e)
  1017. },
  1018. isThereALeak(e)
  1019. {
  1020. this.$refs.form.isThereALeak = e
  1021. console.log(e)
  1022. },
  1023. //切断器(放散阀)测试情况
  1024. disconnectorTestStatus(e) {
  1025. this.$refs.form.disconnectorTestStatus = e
  1026. console.log(e)
  1027. },
  1028. cutterTested(e)
  1029. {
  1030. this.$refs.form.cutterTested = e
  1031. console.log(e)
  1032. },
  1033. //过滤器
  1034. filter(e) {
  1035. this.$refs.form.filter = e
  1036. console.log(e)
  1037. },
  1038. manOfAccessoryAlternating(e)
  1039. {
  1040. this.$refs.form.manOfAccessoryAlternating = e
  1041. console.log(e)
  1042. },
  1043. specialCaseOfPressureRegulatingFacilities(e) {
  1044. this.$refs.form.specialCaseOfPressureRegulatingFacilities = e
  1045. console.log(e)
  1046. },
  1047. overdueInspectionDays(e) {
  1048. this.$refs.form.overdueInspectionDays = e
  1049. console.log(e)
  1050. },
  1051. reasonForOverdueInspection(e) {
  1052. this.$refs.form.reasonForOverdueInspection = e
  1053. console.log(e)
  1054. },
  1055. isNotXtv(e) {
  1056. this.$refs.form.isNotXtv = e
  1057. },
  1058. xtv(e) {
  1059. this.$refs.form.xtv = e
  1060. },
  1061. AdministrativeOffice(e)
  1062. {
  1063. this.form.administrativeOffice=e[0].value
  1064. this.AdministrativeOfficeLabel = e[0].label
  1065. console.log('11111',e)
  1066. },
  1067. valveWellCondition(e) {
  1068. this.form.valveWellCondition = e[0].value
  1069. this.valveWellConditioLabel = e[0].label
  1070. console.log(this.$refs.form.valveWellCondition)
  1071. },
  1072. update()
  1073. {
  1074. let _this = this
  1075. if(this.imgArr.length==0)
  1076. {
  1077. this.$UTILS.showPrompt('请上传照片或视频!')
  1078. return
  1079. }
  1080. this.form.pressureStatus = null
  1081. this.form.photoList = this.imgArr
  1082. this.form.unitId = this.unit
  1083. this.form.areaId = this.id
  1084. this.form.userId=this.userId
  1085. this.form.createBy=this.userId
  1086. this.form.name=this.name
  1087. // this.form.administrativeOffice=this.administrativeOffice
  1088. // this.form.code=this.code
  1089. // this.form.name=this.name
  1090. // this.form.number=this.code
  1091. service.updateregulatorBox(this.form).then(res => {
  1092. console.log(res)
  1093. _this.$UTILS.showPrompt('修改成功!')
  1094. // setTimeout(() => {
  1095. // console.log('跳')
  1096. // uni.switchTab({
  1097. // url: '/pages/index/index'
  1098. // })
  1099. // }, 2000)
  1100. // this.form={businessService:0,
  1101. // administrativeOffice:0,
  1102. // businessService:0,
  1103. // isNotXtv:0,
  1104. // appearance:0,
  1105. // squareBrick:0,
  1106. // foundation:0,
  1107. // pressureGage:0,
  1108. // valve:0,
  1109. // isThereALeak:0,
  1110. // voltageRegulator:0,
  1111. // xtv:0,
  1112. // thermostat:0,
  1113. // explosionProofSwitch:0,
  1114. // cutterTested:0,
  1115. // manOfAccessoryAlternating:0,
  1116. // filter:0,
  1117. // specialCaseOfPressureRegulatingFacilities:0,
  1118. // overdueInspectionDays:3,
  1119. // valveWellTesting:true,
  1120. // guardrail:0}
  1121. // this.AdministrativeOfficeLabel=this.AdministrativeOfficeList.filter(item=>item.value==this.administrativeOffice)[0].name
  1122. // this.valveWellConditioLabel=''
  1123. // this.xtvLabel=''
  1124. // this.valveWellConditioLabel=''
  1125. // //this.AdministrativeOfficeLabel=''
  1126. // this.form.administrativeOffice=this.administrativeOffice
  1127. // this.form.number=this.code
  1128. // this.imgArr=[]
  1129. // this.imgymxs=[]
  1130. })
  1131. },
  1132. save() {
  1133. let _this = this
  1134. if(this.imgArr.length==0){
  1135. this.$UTILS.showPrompt('请上传照片或视频!')
  1136. return
  1137. }
  1138. if(this.form.isNotXtv==null){
  1139. this.$UTILS.showPrompt('请选择是否开启伴热带!')
  1140. return
  1141. }
  1142. if(this.form.inletPressure==null){
  1143. this.$UTILS.showPrompt('请输入入口压力!')
  1144. return
  1145. }
  1146. if(this.form.exportPressureMain==null){
  1147. this.$UTILS.showPrompt('请输入出口压力主路!')
  1148. return
  1149. }
  1150. if(this.form.exportPressureAccessory==null){
  1151. this.$UTILS.showPrompt('请输入出口压力副路!')
  1152. return
  1153. }
  1154. if(this.form.closingPressureMain==null){
  1155. this.$UTILS.showPrompt('请输入关闭压力主路!')
  1156. return
  1157. }
  1158. if(this.form.closingPressureAccessory==null){
  1159. this.$UTILS.showPrompt('请输入管理压力副路!')
  1160. return
  1161. }
  1162. this.form.photoList = this.imgArr
  1163. this.form.unitId = this.unit
  1164. this.form.areaId = this.id
  1165. this.form.userId=this.userId
  1166. this.form.createBy=this.userId
  1167. this.form.parentId=this.managementOfficeId
  1168. this.form.name=this.name
  1169. // this.form.administrativeOffice=this.administrativeOffice
  1170. // this.form.code=this.code
  1171. // this.form.name=this.name
  1172. // this.form.number=this.code
  1173. service.setregulatorBox(this.form).then(res => {
  1174. console.log(res)
  1175. _this.$UTILS.showPrompt('上报成功!')
  1176. // setTimeout(() => {
  1177. // console.log('跳')
  1178. // uni.switchTab({
  1179. // url: '/pages/index/index'
  1180. // })
  1181. // }, 2000)
  1182. this.form={businessService:0,
  1183. administrativeOffice:0,
  1184. businessService:0,
  1185. isNotXtv:null,
  1186. appearance:0,
  1187. squareBrick:0,
  1188. foundation:0,
  1189. pressureGage:0,
  1190. valve:0,
  1191. isThereALeak:0,
  1192. voltageRegulator:0,
  1193. xtv:0,
  1194. thermostat:0,
  1195. explosionProofSwitch:0,
  1196. cutterTested:0,
  1197. manOfAccessoryAlternating:0,
  1198. filter:0,
  1199. specialCaseOfPressureRegulatingFacilities:0,
  1200. overdueInspectionDays:3,
  1201. valveWellTesting:true,
  1202. guardrail:0}
  1203. this.AdministrativeOfficeLabel=this.AdministrativeOfficeList.filter(item=>item.value==this.administrativeOffice)[0].name
  1204. this.valveWellConditioLabel=''
  1205. this.xtvLabel=''
  1206. this.valveWellConditioLabel=''
  1207. //this.AdministrativeOfficeLabel=''
  1208. this.form.administrativeOffice=this.administrativeOffice
  1209. this.form.parentId=this.managementOfficeId
  1210. this.form.number=this.code
  1211. this.imgArr=[]
  1212. this.imgymxs=[]
  1213. })
  1214. },
  1215. choose() {
  1216. let _this = this;
  1217. uni.showActionSheet({
  1218. title: '上传',
  1219. itemList: ['图片', '视频'],
  1220. success: (res) => {
  1221. // console.log(res)
  1222. if (res.tapIndex == 0) {
  1223. this.chooseimage()
  1224. } else {
  1225. this.choosevideo()
  1226. }
  1227. }
  1228. })
  1229. },
  1230. chooseimage() {
  1231. console.log('图片')
  1232. let _this = this;
  1233. uni.chooseImage({
  1234. sourceType: ['camera'],
  1235. success(resp) {
  1236. console.log('res--uni.chooseMedia', resp);
  1237. resp.tempFiles.forEach((item, index) => {
  1238. const task = uni.uploadFile({
  1239. url: _this.$HTTP.webUrl + `/obs`,
  1240. filePath: item.path,
  1241. name: 'file',
  1242. formData: {},
  1243. header: _this.headers,
  1244. success: res => {
  1245. // 判断是否json字符串,将其转为json格式
  1246. let data = _this.$u.test.jsonString(res.data) ? JSON.parse(
  1247. res.data) : res.data;
  1248. if (![200, 201, 204].includes(res.statusCode)) {
  1249. // this.uploadError(index, data);
  1250. _this.$UTILS.showPrompt('选取失败!')
  1251. } else {
  1252. // 上传成功
  1253. // this.lists[index].response = data;
  1254. // this.lists[index].progress = 100;
  1255. // this.lists[index].error = false;
  1256. // this.$emit('on-success', data, index, this.lists, this
  1257. // .index);
  1258. if (_this.progress === 100) {
  1259. // console.log('_this.progress', _this.progress)
  1260. // console.log('data----', data)
  1261. // console.log('res--', res)
  1262. _this.imgymxs.push({
  1263. url: data.data.url,
  1264. type: 'image'
  1265. })
  1266. _this.imgArr.push(data.data.url)
  1267. // console.log('imgArr', _this.imgArr)
  1268. _this.$UTILS.showPrompt('选取成功!')
  1269. }
  1270. }
  1271. },
  1272. fail: e => {
  1273. _this.$UTILS.showPrompt('选取失败!')
  1274. this.uploadError(index, e);
  1275. },
  1276. complete: res => {
  1277. _this.uploading = false;
  1278. // _this.uploadFile(index + 1);
  1279. // this.$emit('on-change', res, index, this.lists, this
  1280. // .index);
  1281. }
  1282. });
  1283. task.onProgressUpdate(res => {
  1284. // if (res.progress > 0) {
  1285. // this.lists[index].progress = res.progress;
  1286. // this.$emit('on-progress', res, index, this.lists, this.index);
  1287. // }
  1288. _this.progress = res.progress;
  1289. console.log('onProgressUpdate', res)
  1290. uni.showLoading({
  1291. title: '选取中'
  1292. })
  1293. });
  1294. })
  1295. },
  1296. })
  1297. },
  1298. choosevideo() {
  1299. let _this = this;
  1300. console.log('视频')
  1301. uni.chooseVideo({
  1302. sourceType: ['camera'],
  1303. maxDuration: 30,
  1304. success(resp) {
  1305. const task = uni.uploadFile({
  1306. url: _this.$HTTP.webUrl + `/obs`,
  1307. filePath: resp.tempFilePath,
  1308. name: 'file',
  1309. formData: {},
  1310. header: _this.headers,
  1311. success: res => {
  1312. // 判断是否json字符串,将其转为json格式
  1313. let data = _this.$u.test.jsonString(res.data) ? JSON.parse(res.data) :
  1314. res.data;
  1315. if (![200, 201, 204].includes(res.statusCode)) {
  1316. this.uploadError(index, data);
  1317. } else {
  1318. // 上传成功
  1319. // this.lists[index].response = data;
  1320. // this.lists[index].progress = 100;
  1321. // this.lists[index].error = false;
  1322. // this.$emit('on-success', data, index, this.lists, this
  1323. // .index);
  1324. if (_this.progress === 100) {
  1325. console.log('_this.progress', _this.progress)
  1326. console.log('data----', data)
  1327. console.log('res--', res)
  1328. // _this.imgArr.push(data.data.url)
  1329. _this.imgymxs.push({
  1330. url: data.data.url,
  1331. type: 'video'
  1332. })
  1333. _this.imgArr.push(data.data.url)
  1334. console.log('imgArr', _this.imgArr)
  1335. _this.$UTILS.showPrompt('选取成功!')
  1336. }
  1337. }
  1338. },
  1339. fail: e => {
  1340. _this.$UTILS.showPrompt('选取失败!')
  1341. this.uploadError(index, e);
  1342. },
  1343. complete: res => {
  1344. uni.hideLoading();
  1345. _this.uploading = false;
  1346. // _this.uploadFile(index + 1);
  1347. // this.$emit('on-change', res, index, this.lists, this
  1348. // .index);
  1349. }
  1350. });
  1351. task.onProgressUpdate(res => {
  1352. // if (res.progress > 0) {
  1353. // this.lists[index].progress = res.progress;
  1354. // this.$emit('on-progress', res, index, this.lists, this.index);
  1355. // }
  1356. _this.progress = res.progress;
  1357. console.log('onProgressUpdate', res)
  1358. uni.showLoading({
  1359. title: '选取中'
  1360. })
  1361. });
  1362. },
  1363. })
  1364. },
  1365. remove(index) {
  1366. uni.showModal({
  1367. title: '提示',
  1368. content: '是否删除该图片或视频?',
  1369. success: (res) => {
  1370. if (res.confirm) {
  1371. this.imgArr.splice(index, 1);
  1372. this.imgymxs.splice(index, 1);
  1373. console.log('this.imgArr', this.imgArr)
  1374. }
  1375. }
  1376. })
  1377. },
  1378. }
  1379. }
  1380. </script>
  1381. <style>
  1382. .project-content {
  1383. padding: 0rpx 20rpx;
  1384. border-radius: 20rpx;
  1385. width: 90%;
  1386. margin: 0 auto;
  1387. background: #fff;
  1388. }
  1389. .background {
  1390. z-index: -1;
  1391. position: fixed;
  1392. width: 100%;
  1393. height: 100%;
  1394. background-size: 100% 100%;
  1395. }
  1396. .top-left {
  1397. display: flex;
  1398. align-items: center;
  1399. }
  1400. .small-title {
  1401. font-size: 38rpx;
  1402. color: #2d95f4;
  1403. margin: 20rpx 0;
  1404. }
  1405. .form-item {
  1406. display: flex;
  1407. align-items: center;
  1408. font-size: 32rpx;
  1409. border: none;
  1410. }
  1411. .danwei {
  1412. text-align: center;
  1413. line-height: 110rpx;
  1414. }
  1415. .un-row {
  1416. text-align: left;
  1417. }
  1418. .top {
  1419. display: flex;
  1420. align-items: center;
  1421. justify-content: space-between;
  1422. }
  1423. .top-icon {
  1424. font-size: 40rpx;
  1425. color: #2d95f4;
  1426. }
  1427. </style>