index.vue 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782
  1. <!--
  2. *@description: 顶管工程
  3. *@author: yh Fu
  4. *@date: 2024-01-04 09:24:57
  5. *@version: V1.0.5
  6. -->
  7. <template>
  8. <div class="app-container">
  9. <el-form :model="queryParams1" ref="queryForm1" size="small" :inline="true" v-show="showSearch" label-width="110px">
  10. <el-form-item label="工程名称" prop="enginName">
  11. <el-input v-model="queryParams1.enginName" placeholder="请输入工程名称"></el-input>
  12. </el-form-item>
  13. <el-form-item>
  14. <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
  15. <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
  16. </el-form-item>
  17. </el-form>
  18. <el-row :gutter="10" class="mb8">
  19. <el-col :span="1.5">
  20. <el-button
  21. type="success"
  22. plain
  23. icon="el-icon-edit"
  24. size="mini"
  25. :disabled="single"
  26. @click="handleUpdate"
  27. v-hasPermi="['zdsz:engineeringPipeJacking:edit']"
  28. >修改</el-button>
  29. </el-col>
  30. <el-col :span="1.5">
  31. <el-button
  32. type="danger"
  33. plain
  34. icon="el-icon-delete"
  35. size="mini"
  36. :disabled="multiple"
  37. @click="handleDelete"
  38. v-hasPermi="['zdsz:engineeringPipeJacking:remove']"
  39. >删除</el-button>
  40. </el-col>
  41. <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
  42. </el-row>
  43. <el-table v-loading="loading" :data="comprehensiveList" @selection-change="handleSelectionChange">
  44. <el-table-column type="selection" width="55" align="center" />
  45. <!-- <el-table-column label="工程id" align="center" prop="enginId" />-->
  46. <el-table-column label="工程名称" align="center" prop="enginName" />
  47. <el-table-column label="工程编码" align="center" prop="enginCode" />
  48. <el-table-column label="施工单位" align="center" prop="constructUnit" />
  49. <el-table-column label="工程规模" align="center" prop="enginScale" />
  50. <el-table-column label="施工质量" align="center" prop="constructQuality" />
  51. <el-table-column label="施工进度" align="center" prop="constructSchedule" />
  52. <el-table-column label="备注" align="center" prop="remark" show-overflow-tooltip/>
  53. <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="300">
  54. <template slot-scope="scope">
  55. <!-- <el-button
  56. type="text"
  57. icon="el-icon-edit"
  58. size="mini"
  59. @click="viewSource(scope.row)"
  60. >历史</el-button> -->
  61. <!-- <el-button
  62. size="mini"
  63. type="text"
  64. icon="el-icon-circle-check"
  65. @click="viewSource(scope.row,'check')"
  66. v-hasPermi="['zdsz:engineeringCivil:remove']"
  67. >审核
  68. </el-button> -->
  69. <el-button
  70. size="mini"
  71. type="text"
  72. icon="el-icon-time"
  73. @click="viewSource(scope.row)"
  74. v-hasPermi="['zdsz:engineeringPipeJacking:query']"
  75. >历史用料
  76. </el-button>
  77. <el-button
  78. size="mini"
  79. type="text"
  80. icon="el-icon-edit"
  81. @click="handleUpdate(scope.row)"
  82. v-hasPermi="['zdsz:engineeringPipeJacking:edit']"
  83. >修改工程信息</el-button>
  84. <el-button
  85. size="mini"
  86. type="text"
  87. icon="el-icon-edit"
  88. @click="addNodeInfo(scope.row)"
  89. v-hasPermi="['zdsz:engineeringPipeJacking:add']"
  90. >填写节点信息
  91. </el-button>
  92. <el-button
  93. size="mini"
  94. type="text"
  95. icon="el-icon-edit"
  96. v-hasPermi="['zdsz:engineeringPipeJacking:add']"
  97. @click="addMaterial(scope.row)"
  98. >添加用料
  99. </el-button>
  100. <el-button
  101. size="mini"
  102. type="text"
  103. icon="el-icon-delete"
  104. @click="handleDelete(scope.row)"
  105. v-hasPermi="['zdsz:engineeringPipeJacking:remove']"
  106. >删除</el-button>
  107. </template>
  108. </el-table-column>
  109. </el-table>
  110. <pagination
  111. v-show="total>0"
  112. :total="total"
  113. :page.sync="queryParams1.pageNum"
  114. :limit.sync="queryParams1.pageSize"
  115. @pagination="getList"
  116. />
  117. <!-- 添加或修改开栓|安检|维修对话框 -->
  118. <el-dialog :title="title" :visible.sync="open" append-to-body customClass="appendElDialog">
  119. <el-form ref="form" :model="queryParams" :rules="rules" label-width="110px">
  120. <el-form-item label="外建工程" prop="type">
  121. <el-select v-model="queryParams.type" placeholder="请选择类型">
  122. <el-option
  123. v-for="e in dict.type.engin_type"
  124. :key="e.value"
  125. :label="e.label"
  126. :value="e.value"
  127. ></el-option>
  128. </el-select>
  129. </el-form-item>
  130. <el-form-item label="工程名称" prop="enginName">
  131. <el-input v-model="queryParams.enginName" placeholder="请填写外建工程"></el-input>
  132. </el-form-item>
  133. <el-form-item label="工程地址" prop="enginAddre">
  134. <el-input v-model="queryParams.enginAddre" placeholder="请填写工程地址"></el-input>
  135. </el-form-item>
  136. <el-form-item label="工程编码" prop="enginCode">
  137. <el-input v-model="queryParams.enginCode" placeholder="请填写工程编码"></el-input>
  138. </el-form-item>
  139. <el-form-item label="施工单位" prop="type">
  140. <el-input v-model="queryParams.type" placeholder="请填写施工单位"></el-input>
  141. </el-form-item>
  142. <el-form-item label="工程规模" prop="enginScale">
  143. <el-input v-model="queryParams.enginScale" placeholder="请填写联系方式"></el-input>
  144. </el-form-item>
  145. <el-form-item label="施工质量" prop="constructQuality">
  146. <el-input v-model="queryParams.constructQuality" placeholder="请填写联系方式"></el-input>
  147. </el-form-item>
  148. <el-form-item label="工程类型" prop="type">
  149. <el-select v-model="queryParams.type" placeholder="请选择类型">
  150. <el-option
  151. v-for="e in dict.type.engin_type"
  152. :key="e.value"
  153. :label="e.label"
  154. :value="e.value"
  155. ></el-option>
  156. </el-select>
  157. </el-form-item>
  158. <el-form-item label="施工进度" prop="constructSchedule">
  159. <el-input v-model="queryParams.constructSchedule" placeholder="请填写施工进度"/>
  160. </el-form-item>
  161. <el-form-item label="备注" prop="remark" style="width: 23.3%;">
  162. <el-input
  163. v-model="queryParams.remark"
  164. type="textarea"
  165. placeholder="请输入内容"
  166. class="remark_input"
  167. />
  168. </el-form-item>
  169. </el-form>
  170. <div slot="footer" class="dialog-footer">
  171. <!-- <el-button :loading="buttonLoading" type="primary" @click="submitForm">确定</el-button> -->
  172. <el-button :loading="buttonLoading" type="primary" @click="toNodeDetail">填写节点信息</el-button>
  173. <el-button @click="cancel">取 消</el-button>
  174. </div>
  175. </el-dialog>
  176. <!-- 新增主表与节点 -->
  177. <el-dialog :visible="nodeDetailVisible" :rules="nodeRules" title="节点信息" append-to-body customClass="appendElNodeDialog">
  178. <el-form ref="nodeForm" :model="zEngineeringInfoBo" :rules="nodeRules" label-width="110px">
  179. <el-form-item label="节点类型" prop="type">
  180. <el-input v-model="nodeType" placeholder="顶1管" disabled></el-input>
  181. </el-form-item>
  182. <el-form-item label="施工地址" prop="constructAddre">
  183. <el-input v-model="zEngineeringInfoBo.constructAddre" placeholder="请填写施工地址"></el-input>
  184. </el-form-item>
  185. <el-form-item label="施工人电话" prop="constructPhone">
  186. <el-input v-model="zEngineeringInfoBo.constructPhone" placeholder="请填写施工人电话"></el-input>
  187. </el-form-item>
  188. <el-form-item label="施工人" prop="constructUser">
  189. <el-input v-model="zEngineeringInfoBo.constructUser" placeholder="请填写施工人"></el-input>
  190. </el-form-item>
  191. <el-form-item label="负责人" prop="headName">
  192. <el-input v-model="zEngineeringInfoBo.headName" placeholder="请填写负责人"></el-input>
  193. </el-form-item>
  194. <el-form-item label="负责人电话" prop="headPhone">
  195. <el-input v-model="zEngineeringInfoBo.headPhone" placeholder="请填写负责人电话"></el-input>
  196. </el-form-item>
  197. <el-form-item label="回填时间" prop="backfillTime">
  198. <el-date-picker
  199. v-model="zEngineeringInfoBo.backfillTime"
  200. value-format="yyyy-MM-dd hh:mm:ss"
  201. type="datetime"
  202. placeholder="请选择回填日期">
  203. </el-date-picker>
  204. </el-form-item>
  205. <el-form-item label="施工时间" prop="constructTime">
  206. <el-date-picker
  207. v-model="zEngineeringInfoBo.constructTime"
  208. value-format="yyyy-MM-dd hh:mm:ss"
  209. type="datetime"
  210. placeholder="请选择施工时间">
  211. </el-date-picker>
  212. </el-form-item>
  213. <el-form-item label="是否按图纸施工" prop="constructAccordingDrawings">
  214. <el-select v-model="zEngineeringInfoBo.constructAccordingDrawings">
  215. <el-option
  216. v-for="e in constructAccordingDrawingsOption"
  217. :key="e.value"
  218. :label="e.label"
  219. :value="e.value"
  220. ></el-option>
  221. </el-select>
  222. </el-form-item>
  223. <el-form-item label="分段打压" prop="segmentedCompressionQualified">
  224. <el-select v-model="zEngineeringInfoBo.segmentedCompressionQualified">
  225. <el-option
  226. v-for="e in segmentedCompressionQualifiedOption"
  227. :key="e.value"
  228. :label="e.label"
  229. :value="e.value"
  230. ></el-option>
  231. </el-select>
  232. </el-form-item>
  233. <el-form-item label="自闭阀类型" prop="selfClosingValveType">
  234. <el-select v-model="zEngineeringInfoBo.selfClosingValveType">
  235. <el-option
  236. v-for="e in dict.type.self_closing_valve_type"
  237. :key="e.value"
  238. :label="e.label"
  239. :value="e.value"
  240. ></el-option>
  241. </el-select>
  242. </el-form-item>
  243. <el-form-item label="上门类型" prop="visitType">
  244. <el-select v-model="zEngineeringInfoBo.visitType">
  245. <el-option
  246. v-for="e in dict.type.visit_type"
  247. :key="e.value"
  248. :label="e.label"
  249. :value="e.value"
  250. ></el-option>
  251. </el-select>
  252. </el-form-item>
  253. <el-form-item label="照片" prop="zEngiineeringPhotoBoList" style="width: 100%;">
  254. <FileUpload ref="obsImageUpload" :limit="9999" :value="zEngineeringInfoBo.zEngiineeringPhotoBoList"
  255. @input="getUrl"></FileUpload>
  256. </el-form-item>
  257. <el-button :loading="buttonLoading" type="primary" @click="submitForm">提交</el-button>
  258. <el-button @click="nodeCancel">取 消</el-button>
  259. </el-form>
  260. </el-dialog>
  261. <!-- 顶管工程修改 -->
  262. <EngineePipe ref="enginPipe"/>
  263. <!-- 查看历史 -->
  264. <ConstructionDetails
  265. ref="ConstructionDetails"
  266. :currentCollapses="currentCollapses"
  267. @checkWorking="checkWorking"
  268. @updateNodeOption="updateNodeOption"
  269. :status="status"
  270. enginType="顶管工程"
  271. />
  272. </div>
  273. </template>
  274. <script>
  275. import EngineePipe from "@/components/EngineePipe"
  276. import ConstructionDetails from "@/components/ConstructionDetails" // 查看历史
  277. import {
  278. addEnginee, // 新增工程
  279. getPipeJackingList, // 顶管工程列表
  280. viewEngineeringPipeJacking, // 顶管工程查看详情
  281. deleteEngineeringPipeJacking, // 删除工程查看详情
  282. detailEngineeringPipeJacking, // 历史
  283. getDictList,
  284. engineeringCivilReview,
  285. putEngineeringPipeJacking
  286. } from "@/api/zdsz/enginee"
  287. import {getDicts} from "@/api/system/dict/data";
  288. export default {
  289. name: "openrepair",
  290. components:{
  291. EngineePipe,
  292. ConstructionDetails
  293. },
  294. dicts:['pass_check','is_repair','engin_type','self_closing_valve_type','visit_type','pipe_jack'],
  295. data() {
  296. return {
  297. currentCollapses:[], // 当前节点历史数据
  298. // 按钮loading
  299. buttonLoading: false,
  300. // 遮罩层
  301. loading: true,
  302. // 选中数组
  303. ids: [],
  304. // 非单个禁用
  305. single: true,
  306. // 非多个禁用
  307. multiple: true,
  308. // 显示搜索条件
  309. showSearch: true,
  310. // 总条数
  311. total: 0,
  312. // 开栓|安检|维修表格数据
  313. comprehensiveList: [],
  314. // 弹出层标题
  315. title: "",
  316. // 是否显示弹出层
  317. open: false,
  318. enginTypeOption:[
  319. {
  320. value:'0',
  321. label:'民用工程'
  322. },
  323. {
  324. value:'2',
  325. label:'工业工程'
  326. },
  327. {
  328. value:'1',
  329. label:'市政工程'
  330. },
  331. {
  332. value:'3',
  333. label:'顶管工程'
  334. },
  335. {
  336. value:'4',
  337. label:'危险作业工程'
  338. },
  339. {
  340. value:'5',
  341. label:'基建工程'
  342. },
  343. ],
  344. nodeType:'1', // 节点类型
  345. // 查询参数
  346. queryParams1: {
  347. enginName:'',
  348. pageNum:1,
  349. pageSize:10
  350. },
  351. queryParams: {
  352. enginName:'', // 工程名称
  353. enginAddre:'', // 工程地址
  354. enginScale:'', // 工程名称联系方式
  355. enginCode:'', // 工程编码
  356. constructQuality:'', // 施工质量
  357. type:null, // 工程类型
  358. constructSchedule:"", // 施工进度
  359. enginType:'', // 工程类型 民用工程 0 ,市政工程 1,工业工程 2 ,顶管工程 3,危险作业工程 4,基建工程 5
  360. remark:'', // 备注
  361. zEngineeringNodeBo:{
  362. type:null,
  363. zEngineeringInfoBo:{}, //节点信息
  364. }
  365. },
  366. zEngineeringInfoBo:{
  367. constructAddre:'', // 施工地址
  368. constructPhone:'', // 施工人电话
  369. constructUser:'', // 施工人
  370. headName:'', // 负责人
  371. headPhone:'', // 负责人电话
  372. constructAccordingDrawings:'', // 是否按图纸施工
  373. segmentedCompressionQualified:'', // 分段打压是否合格
  374. selfClosingValveType:'', // 自闭阀类型
  375. visitType:'', // 上门类型
  376. backfillTime:'', // 回填时间
  377. constructTime:'', // 施工时间
  378. zEngiineeringPhotoBoList:[], // 图片列表
  379. zEngineeringMaterialBo:[],// 用料对象
  380. }, // 节点信息
  381. constructAccordingDrawingsOption:[
  382. {
  383. value:'1',
  384. label:'是'
  385. },
  386. {
  387. value:'0',
  388. label:'否'
  389. }
  390. ],
  391. segmentedCompressionQualifiedOption:[
  392. {
  393. value:'1',
  394. label:'是'
  395. },
  396. {
  397. value:'0',
  398. label:'否'
  399. }
  400. ],
  401. nodeDetailVisible:false,
  402. // 表单参数
  403. form: {},
  404. // 表单校验
  405. rules: {
  406. areaId: [
  407. { required: true, message: "小区不能为空", trigger: "change" }
  408. ],
  409. constructSchedule: [
  410. { required: true, message: "施工进度不能为空" ,trigger: 'blur'}
  411. ],
  412. enginType: [
  413. { required: true, message: "外建工程不能为空" ,trigger: 'blur'}
  414. ],
  415. constructQuality: [
  416. { required: true, message: "建立联系电话不能为空" ,trigger: 'blur'}
  417. ],
  418. enginName: [
  419. { required: true, message: "工程名称不能为空" ,trigger: 'blur'}
  420. ],
  421. enginAddre: [
  422. { required: true, message: "工程地址不能为空" ,trigger: 'blur'}
  423. ],
  424. enginScale: [
  425. { required: true, message: "联系方式不能为空" ,trigger: 'blur'}
  426. ],
  427. enginCode: [
  428. { required: true, message: "工程编码不能为空" ,trigger: 'blur'}
  429. ],
  430. buildingId: [
  431. { required: true, message: "楼栋不能为空", trigger: "change" }
  432. ],
  433. unitId: [
  434. { required: true, message: "单元不能为空", trigger: "change" }
  435. ],
  436. houseId: [
  437. { required: true, message: "房间不能为空", trigger: "change" }
  438. ],
  439. type: [
  440. { required: false, message: "类型不能为空", trigger: "change" }
  441. ],
  442. isQualified: [
  443. { required: true, message: "安检是否合格不能为空", trigger: "blur" }
  444. ],
  445. remark: [
  446. { required: false, message: "备注不能为空", trigger: "blur" }
  447. ],
  448. },
  449. // 节点规则校验
  450. nodeRules:{
  451. type: [
  452. { required: true, message: "施工地址不能为空" ,trigger: 'blur'}
  453. ],
  454. constructAddre: [
  455. { required: true, message: "施工地址不能为空" ,trigger: 'blur'}
  456. ],
  457. constructPhone: [
  458. { required: true, message: "施工人电话不能为空" ,trigger: 'blur'}
  459. ],
  460. constructUser: [
  461. { required: true, message: "施工人不能为空" ,trigger: 'blur'}
  462. ],
  463. headName: [
  464. { required: true, message: "负责人不能为空" ,trigger: 'blur'}
  465. ],
  466. headPhone: [
  467. { required: true, message: "负责人电话不能为空" ,trigger: 'blur'}
  468. ],
  469. },
  470. currentType:null,
  471. nodeList:[],
  472. checkList:[],
  473. currentCheckList:[],
  474. enginNodeStatus:null,
  475. status:null,
  476. createTime:'',
  477. enginId:null,
  478. updateParams:{}
  479. };
  480. },
  481. created() {
  482. this.getList();
  483. },
  484. methods: {
  485. // 填写节点信息
  486. updateNodeOption(zEngineeringInfoBoList){
  487. delete this.updateParams.zEngineeringNodeBoList
  488. this.updateParams.zEngineeringNodeBo.zEngineeringInfoBoList = zEngineeringInfoBoList
  489. putEngineeringPipeJacking(this.updateParams).then(res => {
  490. console.log(res)
  491. if(res.code == 200){
  492. this.$message({
  493. message: '修改成功',
  494. type: 'success'
  495. });
  496. this.$refs.ConstructionDetails.dialogVisible = false
  497. this.updateParams = {}
  498. }
  499. })
  500. },
  501. // 节点单项审核
  502. checkWorking(checkingInfo){
  503. let params = checkingInfo
  504. params.createTime = this.createTime
  505. params.engInfoId = this.currentId
  506. engineeringCivilReview(params).then(res => {
  507. if(res.code == 200){
  508. this.$message({
  509. message: '审核成功',
  510. type: 'success'
  511. });
  512. }
  513. })
  514. },
  515. async addNodeInfo(e){
  516. this.nodeDetailType = '修改'
  517. this.currentId = e.id
  518. this.enginId = e.id
  519. this.status = 'put'
  520. let val = e.enginType + "_" + e.enginClassification
  521. const res = await getDicts('pipe_jack');
  522. const r = res.data!=null?res.data.map(o=>{return {label:o.dictLabel,value:o.dictValue}}):[];
  523. this.$refs.ConstructionDetails.open(r)
  524. return
  525. getDicts(val).then(res => {
  526. let dict = []
  527. for (let i = 0; i < res.data.length; i++) {
  528. dict.push({
  529. "label": res.data[i].dictLabel,
  530. "value": res.data[i].dictValue,
  531. })
  532. }
  533. })
  534. },
  535. // 新增物料
  536. addMaterial(data) {
  537. this.title = "添加用料";
  538. this.enginNodeStatus = '添加用料'
  539. this.loading = true;
  540. this.reset();
  541. const id = data.id || this.ids
  542. viewEngineeringPipeJacking(id).then(res => {
  543. this.loading = false;
  544. let newData = res.data
  545. // let val = newData.enginType + "_" + newData.enginClassification
  546. this.currentCheckList = []
  547. // getDicts(val).then(res => {
  548. // this.checkList = res.data
  549. // })
  550. this.queryParams = newData
  551. console.log(this.queryParams.areaId)
  552. // console.log('选中节点集合',this.currentCheckList)
  553. // this.enginClassification = zEngineeringNodeBo.type
  554. // newData.zEngineeringNodeBo = zEngineeringNodeBo
  555. this.currentType = 'addMaterial'
  556. console.log('顶管工程详情',res.data)
  557. this.$refs.enginPipe.openDialog({
  558. id: data.id,
  559. type: '顶管工程'
  560. }, 'addMaterial',res.data)
  561. // this.open = true
  562. })
  563. },
  564. // 查看历史
  565. async viewSource(e,type = null){
  566. const res = await getDicts('pipe_jack');
  567. const r = res.data!=null?res.data.map(o=>{return {label:o.dictLabel,value:o.dictValue}}):[];
  568. this.currentId = e.id
  569. this.status = 'read-only'
  570. console.log('__________',r)
  571. this.$refs.ConstructionDetails.open(r,_,type)
  572. },
  573. viewNodeSource(e){
  574. console.log('查看历史传值',e,this.currentId)
  575. detailEngineeringPipeJacking({
  576. id:this.currentId,
  577. type:e
  578. }).then(res => {
  579. console.log(res)
  580. this.createTime = res.data.createTime
  581. try {
  582. this.updateParams = res.data
  583. this.currentCollapses = res.data.zEngineeringNodeBo.zEngineeringInfoBoList
  584. } catch (error) {
  585. this.currentCollapses = [];
  586. }
  587. console.log(this.currentCollapses)
  588. })
  589. },
  590. nodeCancel(){
  591. this.nodeDetailVisible = false
  592. },
  593. toNodeDetail(){
  594. getDictList({enginType:['pipe_jack']}).then(res => {
  595. this.nodeList = res.data
  596. })
  597. this.nodeDetailVisible = true
  598. return
  599. this.$refs['form'].validate(e => {
  600. if(e){
  601. this.nodeDetailVisible = true
  602. }
  603. })
  604. },
  605. getUrl(url) {
  606. this.zEngineeringInfoBo.zEngiineeringPhotoBoList = this.$refs.obsImageUpload.fileList?this.$refs.obsImageUpload.fileList.map(e=>e.url):[];
  607. },
  608. /** 查询开栓|安检|维修列表 */
  609. getList() {
  610. this.loading = true;
  611. getPipeJackingList(this.queryParams1).then(res => {
  612. this.comprehensiveList = res.rows;
  613. this.total = res.total;
  614. this.loading = false;
  615. });
  616. },
  617. // 取消按钮
  618. cancel() {
  619. this.open = false;
  620. this.reset();
  621. },
  622. // 表单重置
  623. reset() {
  624. this.$nextTick(() => {
  625. this.$refs['form'].resetFields()
  626. this.$refs['nodeForm'].resetFields()
  627. })
  628. this.resetForm("form");
  629. this.resetForm("nodeForm");
  630. },
  631. /** 搜索按钮操作 */
  632. handleQuery() {
  633. this.queryParams1.pageNum = 1;
  634. this.getList();
  635. },
  636. /** 重置按钮操作 */
  637. resetQuery() {
  638. this.queryParams1.enginName=''
  639. this.handleQuery();
  640. },
  641. // 多选框选中数据
  642. handleSelectionChange(selection) {
  643. this.ids = selection.map(item => item.id)
  644. this.single = selection.length!==1
  645. this.multiple = !selection.length
  646. },
  647. /** 新增按钮操作 */
  648. handleAdd() {
  649. this.reset();
  650. this.open = true;
  651. this.title = "新增工程";
  652. },
  653. /** 修改按钮操作 */
  654. handleUpdate(row) {
  655. this.title = "修改顶管工程";
  656. // const id = row.id || this.ids;
  657. // viewEngineeringPipeJacking(id).then(res => {
  658. // console.log(res)
  659. // let newData = res.data
  660. // console.log(newData)
  661. // console.log(res.data.zEngineeringNodeBoList[0].type)
  662. // let zEngineeringNodeBo = {
  663. // type:res.data.zEngineeringNodeBoList[0].type,
  664. // zEngineeringInfoBo:res.data.zEngineeringNodeBoList[0].zEngineeringInfoBo
  665. // }
  666. // newData.zEngineeringNodeBo = zEngineeringNodeBo
  667. // this.currentType = 'put'
  668. // this.queryParams = newData
  669. // console.log(this.queryParams)
  670. // this.zEngineeringInfoBo = newData.zEngineeringNodeBo.zEngineeringInfoBo
  671. // this.open = true
  672. // })
  673. // return
  674. const id = row.id || this.ids;
  675. viewEngineeringPipeJacking(id).then(res => {
  676. this.$refs.enginPipe.putEnginPipe(res.data,'put')
  677. })
  678. },
  679. /** 提交按钮 */
  680. submitForm() {
  681. // this.$refs["nodeForm"].validate(valid => {
  682. // if (valid) {
  683. this.queryParams.zEngineeringNodeBo.zEngineeringInfoBo = this.zEngineeringInfoBo
  684. addEnginee(this.queryParams).then(res => {
  685. })
  686. // }
  687. // });
  688. },
  689. /** 删除按钮操作 */
  690. handleDelete(row) {
  691. const ids = row.id || this.ids;
  692. this.$modal.confirm('是否确认删除选择数据项?').then(() => {
  693. this.loading = true;
  694. return deleteEngineeringPipeJacking(ids);
  695. }).then(() => {
  696. this.loading = false;
  697. this.getList();
  698. this.$modal.msgSuccess("删除成功");
  699. }).catch(() => {
  700. }).finally(() => {
  701. this.loading = false;
  702. });
  703. },
  704. /** 导出按钮操作 */
  705. handleExport() {
  706. this.download('zdsz/engineeringPipeJacking/export', {
  707. ...this.queryParams
  708. }, `comprehensive_${new Date().getTime()}.xlsx`)
  709. }
  710. }
  711. };
  712. </script>
  713. <style lang="scss" scoped>
  714. ::v-deep .appendElDialog{
  715. width: 70%;
  716. height: 80%;
  717. .el-dialog__body{
  718. height: 85%;
  719. }
  720. .el-form-item{
  721. margin-bottom: 22px;
  722. width: 44%;
  723. display: inline-block;
  724. }
  725. .el-form-item:nth-child(2n+2){
  726. margin-left: 5%;
  727. }
  728. .el-form-item:not(:nth-child(1):nth-child(2)){
  729. margin-top: 0.5%;
  730. }
  731. .remark_input{
  732. .el-textarea__inner{
  733. width: 238%;
  734. height: 190px;
  735. }
  736. }
  737. }
  738. ::v-deep .appendElNodeDialog{
  739. // width: 70%;
  740. height: 80%;
  741. .el-dialog__body{
  742. height: 85%;
  743. }
  744. .el-form-item{
  745. margin-bottom: 22px;
  746. width: 44%;
  747. display: inline-block;
  748. }
  749. .el-form-item:nth-child(2n+2){
  750. margin-left: 5%;
  751. }
  752. .el-form-item:not(:nth-child(1):nth-child(2)){
  753. margin-top: 0.5%;
  754. }
  755. }
  756. </style>