f63b413d8bf915cf280c5dd01b4aec0600a402ec.svn-base 50 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187
  1. <template>
  2. <div style="height:100%;">
  3. <el-card class="box-card" style="height:100%;">
  4. <div class="search_wrapper">
  5. <el-form :inline="true" :model="problemSearch" class="demo-form-inline">
  6. <el-form-item label="问题类别">
  7. <!-- <el-select v-model="problemSearch.inspPblmName" clearable style="width: 100px">-->
  8. <!-- <el-option :label="item.pblmType" :value="item.pblmType" v-for="(item,index) in problemType" :key="index"></el-option>-->
  9. <!-- </el-select>-->
  10. <el-input v-model="problemSearch.inspPblmName" style="width: 100px"></el-input>
  11. </el-form-item>
  12. <el-form-item label="严重程度">
  13. <el-select v-model="problemSearch.inspPblmCate" clearable style="width: 100px">
  14. <el-option :label="item.name" :value="item.value" v-for="(item,index) in severity" :key="index"></el-option>
  15. </el-select>
  16. </el-form-item>
  17. <el-form-item label="发现时间">
  18. <el-date-picker
  19. v-model="findTime"
  20. type="daterange"
  21. value-format="yyyy-MM-dd"
  22. range-separator="至"
  23. start-placeholder="开始日期"
  24. end-placeholder="结束日期">
  25. </el-date-picker>
  26. </el-form-item>
  27. </el-form>
  28. <div>
  29. <el-button type="primary" @click="search">查询</el-button>
  30. <el-button type="primary" @click="toAddProblem" v-if="ownPriv('manage') && showAddBtn">新增问题</el-button>
  31. </div>
  32. <!-- 工程批量导入弹窗 -->
  33. <wen-ti-tian-bao-pl v-if="showWenTiTianBaoPl" @closePlDialog="closePlDialog"
  34. :objId="problemForm.objId"
  35. :regId="problemSearch.regId"
  36. ></wen-ti-tian-bao-pl>
  37. </div>
  38. <el-table
  39. @select="handleSelectionChange"
  40. :data="tableData"
  41. border
  42. :height="tableHeight"
  43. v-loading="loading"
  44. style="width: 100%">
  45. <el-table-column
  46. type="selection"
  47. width="40">
  48. </el-table-column>
  49. <el-table-column
  50. prop="nm"
  51. show-overflow-tooltip
  52. label="工程名称"
  53. width="180">
  54. </el-table-column>
  55. <el-table-column
  56. v-if="!unitLevel"
  57. prop="unitNm"
  58. label="责任单位"
  59. show-overflow-tooltip
  60. width="180">
  61. </el-table-column>
  62. <el-table-column
  63. prop="inspPblmName"
  64. show-overflow-tooltip
  65. label="问题类别"
  66. width="180">
  67. </el-table-column>
  68. <el-table-column
  69. show-overflow-tooltip
  70. prop="inspPblmDesc"
  71. label="质量问题信息"
  72. width="150">
  73. </el-table-column>
  74. <el-table-column
  75. prop="inspPblmCate"
  76. label="严重程度"
  77. width="90">
  78. <template slot-scope="scope">
  79. {{scope.row.inspPblmCate | inspPblmCate}}
  80. </template>
  81. </el-table-column>
  82. <el-table-column
  83. prop="ifCasePblm"
  84. label="是否典型"
  85. width="90">
  86. <template slot-scope="scope">
  87. {{scope.row.ifCasePblm == '1' ? '典型' : scope.row.ifCasePblm == '0' ? '非典型' : ''}}
  88. </template>
  89. </el-table-column>
  90. <el-table-column
  91. prop="collTime"
  92. label="发现时间"
  93. width="150">
  94. <template slot-scope="scope">
  95. {{scope.row.collTime ? formatDateTime(scope.row.collTime) : ''}}
  96. </template>
  97. </el-table-column>
  98. <el-table-column
  99. prop="hasVedio"
  100. label="有无多媒体"
  101. width="100">
  102. <template slot-scope="scope">
  103. <p v-if="scope.row.hasVedio == 1">是</p>
  104. <p v-if="scope.row.hasVedio == 0">否</p>
  105. </template>
  106. </el-table-column>
  107. <el-table-column
  108. v-if="!canEdit"
  109. fixed="right"
  110. label="操作"
  111. min-width="130">
  112. <template slot-scope="scope">
  113. <el-button type="text" size="small" v-if="ownPriv('manage') && isDateRange" @click="toEditProblem(scope.row)">编辑</el-button>
  114. <el-button type="text" size="small" @click="toShowDetail(scope.row)">详情</el-button>
  115. <el-button type="text" size="small" title="删除问题" @click="deteleProblem(scope.row)" v-if="ownPriv('manage') && isDateRange">删除</el-button>
  116. </template>
  117. </el-table-column>
  118. </el-table>
  119. <el-pagination :pager-count="5" :current-page="pageIndex"
  120. :page-size="pageSize" layout="total, prev, pager, next" :total="total"
  121. @current-change="pageIndexChange" @size-change="handleSizeChange"
  122. ></el-pagination>
  123. </el-card>
  124. <addPblmForm v-if="add_dialogVisible_sxzzgbm" :pType="this.objType" :objId="currentRow.objId" :objName="unitProblemInfo.nm" :currentObjectRgstrId="unitProblemInfo.id" @closeDialog="closeDialog"></addPblmForm>
  125. <el-dialog
  126. :title="dialogType + '问题'"
  127. width="60%"
  128. :visible.sync="add_dialogVisible" @close="closeAddPblm">
  129. <el-form ref="form" :model="problemForm" label-width="120px">
  130. <el-form-item label="问题类别">
  131. <el-select v-model="problemForm.problemType" @change="problemTypeChange" clearable>
  132. <el-option :label="item.pblmType" :value="item.pblmType" v-for="(item,index) in problemType" :key="index"></el-option>
  133. </el-select>
  134. </el-form-item>
  135. <el-form-item label="问题描述" required>
  136. <el-input type="textarea" clearable v-model="problemForm.inspPblmDesc"></el-input>
  137. </el-form-item>
  138. <p class="slide-line"></p>
  139. <p style="margin-top: 10px; margin-bottom: 10px;color:#999"><i class="el-icon-caret-right"></i><span style="width: 120px; padding-left: 6px;">对应标准</span><span class="hrs"></span></p>
  140. <el-form-item :label="weigui.pblmPoint" v-show="weigui.pblmRelDics.length">
  141. <el-select v-model="problemForm.weigui" @change="selectWeiguiChange(weigui,problemForm.weigui,'违规')">
  142. <el-option :label="attach.pblmAttachName" :value="attach.pblmAttach" v-for="(attach,index) in weigui.pblmRelDics" :key="index"></el-option>
  143. </el-select>
  144. <div style="width: 380px;float:right">
  145. <span>问题序号</span>
  146. <el-input type="text" style="width: 100px;" @focus="showPblmList(weigui,problemForm.weigui,'违规')" v-model="weigui.pblmSn"></el-input>
  147. <!-- <my-cascader :pblmDescList="pblmDescList" v-if="chooseWeiguiProblem" @sendPblmsTypeIdWeigui="sendPblmsTypeIdWeigui"></my-cascader> -->
  148. <my-cascader v-if="add_flage" :pblmDescList="pblmDescList" @sendPblmsTypeIdWeigui="sendPblmsTypeIdWeigui"></my-cascader>
  149. </div>
  150. </el-form-item>
  151. <!-- -->
  152. <el-form-item :label="hetong.pblmPoint" v-show="hetong.pblmRelDics.length">
  153. <el-select v-model="problemForm.hetong" @change="selectHetongChange(hetong,problemForm.hetong,'合同')">
  154. <el-option :label="attach.pblmAttachName" :value="attach.pblmAttach" v-for="(attach,index) in hetong.pblmRelDics" :key="index"></el-option>
  155. </el-select>
  156. <div style="width: 380px;float:right">
  157. <span>问题序号</span>
  158. <el-input type="text" style="width: 100px;" readonly @focus="showPblmList(hetong,problemForm.hetong,'合同')" v-model="hetong.pblmSn"></el-input>
  159. <!-- <my-cascader-hetong :pblmDescList="pblmDescListHetong" v-if="chooseHeTongProblem" @sendPblmsTypeIdHetong="sendPblmsTypeIdHetong"></my-cascader-hetong> -->
  160. <my-cascader-hetong v-if="add_flage" :pblmDescList="pblmDescListHetong" @sendPblmsTypeIdHetong="sendPblmsTypeIdHetong"></my-cascader-hetong>
  161. </div>
  162. </el-form-item>
  163. <!-- -->
  164. <!-- -->
  165. <el-form-item :label="gongdi.pblmPoint" v-show="gongdi.pblmRelDics.length">
  166. <el-select v-model="problemForm.gongdi" @change="selectGongdiChange(gongdi,problemForm.gongdi,'工地')">
  167. <el-option :label="attach.pblmAttachName" :value="attach.pblmAttach" v-for="(attach,index) in gongdi.pblmRelDics" :key="index"></el-option>
  168. </el-select>
  169. <div style="width: 380px;float:right">
  170. <span>问题序号</span>
  171. <el-input type="text" style="width: 100px;" readonly @focus="showPblmList(gongdi,problemForm.gongdi,'工地')" v-model="gongdi.pblmSn"></el-input>
  172. <!-- <my-cascader-gongdi :pblmDescList="pblmDescListGongdi" v-if="chooseGongdiProblem" @sendPblmsTypeIdGongdi="sendPblmsTypeIdGongdi"></my-cascader-gongdi> -->
  173. <my-cascader-gongdi v-if="add_flage" :pblmDescList="pblmDescListGongdi" @sendPblmsTypeIdGongdi="sendPblmsTypeIdGongdi"></my-cascader-gongdi>
  174. </div>
  175. </el-form-item>
  176. <!-- -->
  177. <el-form-item :label="quanlity.pblmPoint" v-show="quanlity.pblmRelDics.length">
  178. <el-select v-model="problemForm.quanlity" @change="selectQuanlityChange(quanlity,problemForm.quanlity,'质量')">
  179. <el-option :label="attach.pblmAttachName" :value="attach.pblmAttach" v-for="(attach,index) in quanlity.pblmRelDics" :key="index"></el-option>
  180. </el-select>
  181. <div style="width: 380px;float:right">
  182. <span>问题序号</span>
  183. <el-input type="text" style="width: 100px;" readonly @focus="showPblmList(quanlity,problemForm.quanlity,'质量')" v-model="quanlity.pblmSn"></el-input>
  184. <!-- <my-cascader :pblmDescList="pblmDescList" v-if="chooseQuanlityProblem" @sendPblmsTypeIdQuanlity="sendPblmsTypeIdQuanlity"></my-cascader> -->
  185. <my-cascader v-if="add_flage" :pblmDescList="pblmDescList" @sendPblmsTypeIdQuanlity="sendPblmsTypeIdQuanlity"></my-cascader>
  186. </div>
  187. </el-form-item>
  188. <!-- -->
  189. <el-form-item :label="gongcheng.pblmPoint" v-show="gongcheng.pblmRelDics.length">
  190. <el-select v-model="problemForm.gongcheng" @change="selectGongchengChange(gongcheng,problemForm.gongcheng,'工程')">
  191. <el-option :label="attach.pblmAttachName" :value="attach.pblmAttach" v-for="(attach,index) in gongcheng.pblmRelDics" :key="index"></el-option>
  192. </el-select>
  193. <div style="width: 380px;float:right">
  194. <span>问题序号</span>
  195. <el-input type="text" style="width: 100px;" readonly @focus="showPblmList(gongcheng,problemForm.gongcheng,'工程')" v-model="gongcheng.pblmSn"></el-input>
  196. <!-- <span style="color:blue;cursor:pointer;font-size:12px;" v-if="!chooseGongchengProblem" @click="chooseGongchengProblem = true"> 选择</span> -->
  197. <!-- <my-cascader :pblmDescList="pblmDescList" :showThreeLevel="true" v-if="chooseGongchengProblem" @sendPblmsTypeIdGongcheng="sendPblmsTypeIdGongcheng"></my-cascader> -->
  198. <my-cascader v-if="add_flage" :pblmDescList="pblmDescList" :showThreeLevel="true" @sendPblmsTypeIdGongcheng="sendPblmsTypeIdGongcheng"></my-cascader>
  199. </div>
  200. </el-form-item>
  201. <p class="slide-line"></p>
  202. <el-form-item label="严重性">
  203. <span>{{cater}}</span>
  204. </el-form-item>
  205. <el-form-item label="列为典型问题" style="text-align:left">
  206. <el-checkbox v-model="checked"></el-checkbox>
  207. </el-form-item>
  208. <el-form-item label="相关文件">
  209. <upload ref="uploadFile" :url="`/pdcApi/file/insert?bizId=`" @uploadOver="removeNewSupervision"></upload>
  210. </el-form-item>
  211. <el-form-item style="margin-top: 50px">
  212. <el-button type="primary" @click="onSubmit" style="width: 100px;float:right">保存</el-button>
  213. </el-form-item>
  214. </el-form>
  215. </el-dialog>
  216. <el-dialog
  217. :title="'整改情况'"
  218. width="50%"
  219. :visible.sync="recheck_dialogVisible">
  220. <el-form ref="form" :model="rectifyForm" label-width="120px">
  221. <el-form-item label="整改情况">
  222. <el-select v-model="rectifyForm.rectConc">
  223. <el-option :label="item.name" :value="item.value" v-for="(item,index) in rectifyStatus" :key="index"></el-option>
  224. </el-select>
  225. </el-form-item>
  226. <el-form-item label="整改时间">
  227. <el-date-picker
  228. v-model="rectifyForm.collTime"
  229. type="date"
  230. value-format="yyyy-MM-dd">
  231. </el-date-picker>
  232. </el-form-item>
  233. <el-form-item label="整改详细情况">
  234. <el-input type="textarea" v-model="rectifyForm.rectMeas"></el-input>
  235. </el-form-item>
  236. <el-form-item label="相关文件">
  237. <upload ref="uploadFile" :url="`/pdcApi/file/insert?bizId=`" @uploadOver="removeNewSupervision"></upload>
  238. </el-form-item>
  239. <el-form-item style="margin-top: 50px">
  240. <el-button type="primary" @click="rectifySubmit" style="width: 100px;float:right">保存</el-button>
  241. </el-form-item>
  242. </el-form>
  243. </el-dialog>
  244. <el-dialog class="outerDialog custom_dialog detail_dialog" width="60%" @close="closePblmDetail" title="" :visible.sync="supervisionDetailsVisible" v-if="supervisionDetailsVisible">
  245. <el-tabs v-model="activeName" @tab-click="handleDetailClick">
  246. <el-tab-pane label="问题详情" name="problem-detail" v-if="isNature!='8'">
  247. <problem-detail :problemId="problemId" :projectType="projectType"></problem-detail>
  248. </el-tab-pane>
  249. <el-tab-pane label="问题详情" name="problem-detail" v-if="isNature=='8'">
  250. <problem-detail1 :problemId="problemId" :projectType="projectType"></problem-detail1>
  251. </el-tab-pane>
  252. </el-tabs>
  253. <span slot="footer">
  254. <el-button style="margin-top:5px;" @click="supervisionDetailsVisible = false">返回</el-button>
  255. </span>
  256. </el-dialog>
  257. <problem-modify :problemId="problemId" :projectType="projectType" :villType="objType" :unitProblemInfo="problemInfo" :unitLevel="unitLevel" v-if="edit_dialogVisible" @closeEditDialog="closeEditDialog"></problem-modify>
  258. <problem-modify1 :editId="problemId" :projectType="projectType" :pType="objType" :unitProblemInfo="problemInfo" :unitLevel="unitLevel" v-if="edit_dialogVisible1" @closeEditDialog="closeEditDialog"></problem-modify1>
  259. <rectify-modify :problemId="problemId" :projectType="projectType" :villType="objType" :rectifyProblemInfo="rectifyProblemInfo" v-if="recheck_edit_dialogVisible" @closeEditDialog="closeRectifyEditDialog"></rectify-modify>
  260. </div>
  261. </template>
  262. <script>
  263. import {formatDateTime2} from '../../../utils/gw_date.js'
  264. import request from '../../../utils/gw_ajax_request.js'
  265. import myCascader from './problemList1.vue'
  266. import myCascaderHetong from './problemList1.vue'
  267. import myCascaderGongdi from './problemList1.vue'
  268. import problemDetail from './problemDetailsNew.vue'
  269. import problemDetail1 from './supervisionDetails.vue'
  270. import rectifyDetail from './rectifyDetails.vue'
  271. import problemModify from './problemModifyNew.vue'
  272. import problemModify1 from './problemModify2.vue'
  273. import rectifyModify from './rectifyModify.vue'
  274. import WenTiTianBaoPl from '../../duChaDuiXiang/reportTb/gongchengwenti-tianbao-piliang.vue'
  275. import addPblmForm from './addPblmForm'
  276. export default {
  277. props: ['unitProblemInfo','currentRow','objType','unitLevel','showAddBtn','canEdit','canReview','tabType','isDateRange'],
  278. data(){
  279. return{
  280. tableHeight: window.innerHeight - 280,
  281. tableData:[
  282. {
  283. date: '',
  284. name: '',
  285. province: '',
  286. city: '',
  287. address: '',
  288. zip: ''
  289. }
  290. ],
  291. add_flage: false,
  292. problemSearch:{
  293. inspPblmName: '',
  294. inspPblmCate: '',
  295. regid: '',
  296. regId: '',
  297. pType: '',
  298. pageSize: '10',
  299. pageNum: 1
  300. },
  301. problemForm:{
  302. objId: '',
  303. objType: '',
  304. problemType: '',
  305. inspPblmDesc: '',
  306. gongdiBzId: '',
  307. pblmsTypeId: '',
  308. qualityTypeId: '',
  309. pblmsId: '',
  310. defectTypeId: '',
  311. ifCasePblm: '',
  312. inspPblmCate: '',
  313. weigui: '',
  314. hetong: '',
  315. gongdi: '',
  316. quanlity: '',
  317. gongcheng: '',
  318. gwComFiles: []
  319. },
  320. rectifyForm: {
  321. rectConc: '',
  322. rectMeas: '',
  323. collTime: '',
  324. gwComFiles: [{
  325. id: "",
  326. filePath: "",
  327. bizId: ""
  328. }]
  329. },
  330. weigui: {
  331. pblmRelDics: [],
  332. pblmSn: ''
  333. },
  334. gongdi: {
  335. pblmRelDics: [],
  336. pblmSn: ''
  337. },
  338. hetong: {
  339. pblmRelDics: [],
  340. pblmSn: ''
  341. },
  342. quanlity: {
  343. pblmRelDics: [],
  344. pblmSn: ''
  345. },
  346. gongcheng: {
  347. pblmRelDics: [],
  348. pblmSn: ''
  349. },
  350. pblmPointNum: '',
  351. pblmDescList: '',
  352. pblmDescListHetong: '',
  353. pblmDescListGongdi: '',
  354. pblmAttach: [],
  355. pblmsTypeId: '',
  356. pblmId: '',
  357. imgList: [],
  358. videoList:[],
  359. audioList: [],
  360. pblmStat: '',
  361. gwComFiles: [],
  362. problemType: [
  363. {name: '违规行为',value:'1'},
  364. {name: '质量缺陷',value:'2'},
  365. {name: '合同问题',value:'3'}
  366. ],
  367. problemStatus: [
  368. {name: '已复查',value:'2'},
  369. {name: '未复查',value:'1'},
  370. {name: '新问题',value:'0'}
  371. ],
  372. rectifyStatus: [
  373. {name: '未整改',value:'0'},
  374. {name: '整改中',value:'1'},
  375. {name: '已整改',value:'2'}
  376. ],
  377. severity:[
  378. {name: '一般',value:'0'},
  379. {name: '较重',value:'1'},
  380. {name: '严重',value:'2'},
  381. {name: '非常严重',value:'3'}
  382. ],
  383. dialogType: '添加',
  384. dialogVisible: true,
  385. add_dialogVisible: false,
  386. add_dialogVisible_sxzzgbm: false,
  387. recheck_dialogVisible: false,
  388. chooseWeiguiProblem: false,
  389. chooseHeTongProblem: false,
  390. chooseGongdiProblem: false,
  391. chooseQuanlityProblem: false,
  392. chooseGongchengProblem: false,
  393. checked: false,
  394. problemId: '',
  395. isNature:'',
  396. supervisionDetailsVisible:false,
  397. projectType: '',
  398. reviConc: '',
  399. findTime: [],
  400. rectifyRow: {},
  401. isRectify: false,
  402. rectifyId: '',
  403. activeName: 'problem-detail',
  404. pageIndex: 1,
  405. pageSize: 20,
  406. total: 0,
  407. loading: false,
  408. showWenTiTianBaoPl: false,
  409. //问题修改弹窗
  410. problemInfo: null,
  411. rectifyProblemInfo: null,
  412. edit_dialogVisible: false,
  413. edit_dialogVisible1: false,
  414. recheck_edit_dialogVisible: false,
  415. multipleSelection: [],
  416. qusListsSelet: [],
  417. maxNumber: {
  418. strictA: '',
  419. strictB: '',
  420. strictC: '',
  421. strictD: '',
  422. strictE: ''
  423. },
  424. cater: ''
  425. }
  426. },
  427. computed: {
  428. persId() {
  429. return localStorage.getItem("userid")
  430. ? localStorage.getItem("userid")
  431. : "1098101939614724096";
  432. },
  433. formatDateTime(){
  434. return formatDateTime2
  435. },
  436. },
  437. components: {
  438. upload: resolve => {
  439. require(["../../../widgets/uploadFile.vue"], resolve);
  440. },
  441. myCascader: myCascader,
  442. myCascaderHetong: myCascaderHetong,
  443. myCascaderGongdi: myCascaderGongdi,
  444. problemDetail: problemDetail,
  445. rectifyDetail: rectifyDetail,
  446. problemModify: problemModify,
  447. rectifyModify: rectifyModify,
  448. WenTiTianBaoPl: WenTiTianBaoPl,
  449. addPblmForm:addPblmForm,
  450. problemDetail1:problemDetail1,
  451. problemModify1:problemModify1
  452. },
  453. mounted(){
  454. this.search()
  455. this.listPblmType()
  456. },
  457. activated(){
  458. this.search()
  459. },
  460. methods:{
  461. closeAddPblm(){
  462. this.add_dialogVisible = false;
  463. this.maxNumber = {
  464. strictA: '',
  465. strictB: '',
  466. strictC: '',
  467. strictD: '',
  468. strictE: ''
  469. };
  470. this.cater = "";
  471. },
  472. closePblmDetail(){
  473. this.supervisionDetailsVisible = false;
  474. },
  475. closeDialog(){
  476. this.add_dialogVisible_sxzzgbm = false;
  477. this.searchList();
  478. },
  479. handleSelectionChange(selection,row) {
  480. var _self = this;
  481. this.canEdit = true;
  482. _self.multipleSelection.push({
  483. "ifCasePblm": row.ifCasePblm,
  484. "pblmId": row.pblmId,
  485. "pblmNm": row.nm,
  486. "pblmPasi": row.inspPblmCate
  487. })
  488. },
  489. search(){
  490. this.searchList()
  491. },
  492. searchList(){
  493. this.loading = false
  494. this.problemSearch.persId = this.persId
  495. this.problemSearch.pType = this.objType
  496. this.problemSearch['objId'] = this.unitProblemInfo.codes //工程code过滤
  497. this.problemSearch['secId'] = this.unitProblemInfo.secId //标段code过滤
  498. this.problemSearch.regid = this.unitProblemInfo.id //管理单位唯一标识
  499. this.problemSearch.regId = this.unitProblemInfo.id //管理单位唯一标识
  500. this.problemSearch.pageSize = this.pageSize
  501. this.problemSearch.pageNum = this.pageIndex
  502. this.problemSearch.tabType = this.tabType;
  503. console.log(this.findTime)
  504. if(this.findTime && this.findTime.length){
  505. this.problemSearch['startTime'] = this.findTime[0]
  506. this.problemSearch['endTime'] = this.findTime[1]
  507. }else{
  508. this.problemSearch['startTime'] = ''
  509. this.problemSearch['endTime'] = ''
  510. }
  511. request.post(`/dc/insp/pblm/page/keyReg`, this.problemSearch).then(res => {
  512. if (res.success) {
  513. this.tableData = res.data.list;
  514. this.total = res.data.total;
  515. }
  516. this.loading = false
  517. });
  518. },
  519. listPblmType(){
  520. let paramObj = {}
  521. if(this.unitProblemInfo.nature){
  522. if(this.unitProblemInfo.nature=="8"){
  523. return;
  524. }
  525. paramObj = {
  526. orgType: this.unitProblemInfo.nature,
  527. proType: this.objType
  528. }
  529. }
  530. request.post(`/obj/key/pblm/listPblmType`, paramObj).then(res => {
  531. if (res.success) {
  532. this.problemType = res.data;
  533. this.problemForm.problemType = this.problemType[0].pblmType
  534. }
  535. });
  536. },
  537. // 标准 附件 序号
  538. convertGroup(){
  539. let paramObj = {
  540. orgType: this.unitProblemInfo.nature,
  541. proType: this.objType,
  542. pblmType: this.problemForm.problemType
  543. }
  544. this.hetong.pblmRelDics = []
  545. this.weigui.pblmRelDics = []
  546. this.gongdi.pblmRelDics = []
  547. this.quanlity.pblmRelDics = []
  548. this.gongcheng.pblmRelDics = []
  549. request.post(`/obj/key/pblm/convertGroup`, paramObj).then(res => {
  550. if (res.success) {
  551. this.pblmPointNum = res.data;
  552. this.pblmPointNum.forEach(ele=>{
  553. ele.pblmAttach = ele.pblmAttach.split(',')
  554. if(ele.pblmPoint.indexOf('合同') > -1){
  555. this.hetong = ele
  556. }
  557. if(ele.pblmPoint.indexOf('违规') > -1){
  558. this.weigui = ele
  559. }
  560. if(ele.pblmPoint.indexOf('工地') > -1){
  561. this.gongdi = ele
  562. }
  563. if(ele.pblmPoint.indexOf('质量') > -1){
  564. this.quanlity = ele
  565. }
  566. if(ele.pblmPoint.indexOf('工程') > -1){
  567. this.gongcheng = ele
  568. }
  569. })
  570. if(this.dialogType == '添加'){
  571. this.weigui.pblmSn = ''
  572. this.gongdi.pblmSn = ''
  573. this.hetong.pblmSn = ''
  574. this.quanlity.pblmSn = ''
  575. this.gongcheng.pblmSn = ''
  576. }else{
  577. if(this.weigui.pblmRelDics.length){
  578. this.weigui.pblmRelDics.forEach(ele=>{
  579. if(ele.pblmAttach == this.problemForm.weigui){
  580. this.weigui.pblmSn = ele.pblmSn
  581. }
  582. })
  583. }
  584. if(this.gongdi.pblmRelDics.length){
  585. this.gongdi.pblmRelDics.forEach(ele=>{
  586. if(ele.pblmAttach == this.problemForm.gongdi){
  587. this.gongdi.pblmSn = ele.pblmSn
  588. }
  589. })
  590. }
  591. if(this.hetong.pblmRelDics.length){
  592. this.hetong.pblmRelDics.forEach(ele=>{
  593. if(ele.pblmAttach == this.problemForm.hetong){
  594. this.hetong.pblmSn = ele.pblmSn
  595. }
  596. })
  597. }
  598. if(this.quanlity.pblmRelDics.length){
  599. this.quanlity.pblmRelDics.forEach(ele=>{
  600. if(ele.pblmAttach == this.problemForm.quanlity){
  601. this.quanlity.pblmSn = ele.pblmSn
  602. }
  603. })
  604. }
  605. if(this.gongcheng.pblmRelDics.length){
  606. this.gongcheng.pblmRelDics.forEach(ele=>{
  607. if(ele.pblmAttach == this.problemForm.gongcheng){
  608. this.gongcheng.pblmSn = ele.pblmSn
  609. }
  610. })
  611. }
  612. }
  613. }
  614. });
  615. },
  616. //具体问题描述列表
  617. showPblmList(obj,attach,type){
  618. type == '违规' ? this.chooseWeiguiProblem = true : type == '合同' ? this.chooseHeTongProblem = true : type == '工地' ? this.chooseGongdiProblem = true : type == '工程' ? this.chooseGongchengProblem = true : this.chooseQuanlityProblem = true
  619. let paramObj = {}
  620. if(this.unitProblemInfo.nature){
  621. paramObj = {
  622. pblmType: obj.pblmPoint,
  623. sheetName: obj.pblmPoint,
  624. attachType: obj.proType,
  625. attach: attach,
  626. sn: obj.pblmSn
  627. }
  628. }else{
  629. paramObj = {
  630. pblmType: obj.pblmPoint,
  631. sheetName: obj.pblmPoint,
  632. attachType: obj.proType,
  633. attach: attach,
  634. sn: obj.pblmSn,
  635. version: ''
  636. }
  637. if(obj.pblmPoint == '工程缺陷'){
  638. paramObj.version = "v3"
  639. }
  640. }
  641. request.post(`/obj/key/pblm/pblmsList`, paramObj).then(res => {
  642. if (res.success) {
  643. if(type == '合同'){
  644. this.pblmDescListHetong = res.data;
  645. }else if(type == '工地'){
  646. this.pblmDescListGongdi = res.data;
  647. }else{
  648. this.pblmDescList = res.data;
  649. }
  650. }
  651. });
  652. },
  653. sendPblmsTypeIdWeigui(val){
  654. this.problemForm.pblmsTypeId = val.id
  655. this.problemForm.inspPblmCate = val.inspPblmCate
  656. this.maxNumber['strictA'] = val.inspPblmCate
  657. },
  658. sendPblmsTypeIdHetong(val){
  659. this.problemForm.pblmsId = val.id
  660. this.problemForm.inspPblmCate = val.inspPblmCate
  661. this.maxNumber['strictB'] = val.inspPblmCate
  662. },
  663. sendPblmsTypeIdGongdi(val){
  664. this.problemForm.gongdiBzId = val.id
  665. this.problemForm.inspPblmCate = val.inspPblmCate
  666. this.maxNumber['strictC'] = val.inspPblmCate
  667. },
  668. sendPblmsTypeIdQuanlity(val){
  669. this.problemForm.qualityTypeId = val.id
  670. this.problemForm.inspPblmCate = val.inspPblmCate
  671. this.maxNumber['strictD'] = val.inspPblmCate
  672. },
  673. sendPblmsTypeIdGongcheng(val){
  674. this.problemForm.defectTypeId = val.id
  675. this.problemForm.inspPblmCate = val.inspPblmCate
  676. this.maxNumber['strictE'] = val.inspPblmCate
  677. },
  678. toAddProblem(){
  679. this.dialogType = '添加'
  680. this.problemForm = {
  681. objId: '',
  682. objType: '',
  683. problemType: '',
  684. inspPblmDesc: '',
  685. pblmsTypeId: '',
  686. qualityTypeId: '',
  687. pblmsId: '',
  688. gongdiBzId: '',
  689. defectTypeId: '',
  690. ifCasePblm: '',
  691. inspPblmCate: '',
  692. weigui: '',
  693. gongdi: '',
  694. hetong: '',
  695. quanlity: '',
  696. gongcheng: '',
  697. gwComFiles: []
  698. },
  699. this.problemForm.problemType = this.problemType[0].pblmType
  700. this.chooseQuanlityProblem = false
  701. this.chooseHeTongProblem = false
  702. this.chooseGongdiProblem = false
  703. this.chooseWeiguiProblem = false
  704. this.chooseGongchengProblem = false
  705. this.add_flage = true
  706. this.cater = ''
  707. if(this.unitProblemInfo.nature=="8"){
  708. this.add_dialogVisible_sxzzgbm = true
  709. }else{
  710. this.add_dialogVisible = true
  711. }
  712. },
  713. toEditProblem(row){
  714. this.dialogType = '修改'
  715. this.problemId = row.pblmId
  716. this.problemInfo = row
  717. this.projectType = row.villType
  718. if(row.nature=="8"){
  719. this.edit_dialogVisible1 = true
  720. }else{
  721. this.edit_dialogVisible = true
  722. }
  723. },
  724. formatCate(val){
  725. if(val == '一般'){
  726. return "0";
  727. }else if(val == '较重'){
  728. return "1";
  729. }else if(val == '严重'){
  730. return "2";
  731. }else if(val == '非常严重'){
  732. return "3";
  733. }else{
  734. return "";
  735. }
  736. },
  737. onSubmit(){
  738. if(!this.problemForm.inspPblmDesc){
  739. this.$message.warning("请输入问题描述")
  740. return;
  741. }
  742. this.isRectify = false
  743. this.problemForm.ifCasePblm = this.checked ? '1' : '0'
  744. this.problemForm.inspPblmName = this.problemForm.problemType
  745. this.problemForm.inspPblmCate = this.formatCate(this.cater)
  746. this.problemForm.recPers = this.persId
  747. if((this.gongdi.pblmRelDics.length && !this.problemForm.gongdiBzId) && (this.weigui.pblmRelDics.length && !this.problemForm.pblmsTypeId)){
  748. this.$message.warning('违规附件对应问题及工地标准化附件对应问题必须选一个')
  749. return
  750. }else if(!this.gongdi.pblmRelDics.length){
  751. this.problemForm.gongdiBzId = ''
  752. }else if(!this.weigui.pblmRelDics.length){
  753. this.problemForm.pblmsTypeId = ''
  754. }
  755. // if(this.weigui.pblmRelDics.length && !this.problemForm.pblmsTypeId){
  756. // this.$message.warning('请选择违规附件对应问题')
  757. // return
  758. // }else if(!this.weigui.pblmRelDics.length){
  759. // this.problemForm.pblmsTypeId = ''
  760. // }
  761. if(this.hetong.pblmRelDics.length && !this.problemForm.pblmsId && !this.weigui.pblmRelDics.length){
  762. this.$message.warning('请选择合同管理附件对应问题')
  763. return
  764. }else if(!this.hetong.pblmRelDics.length){
  765. this.problemForm.pblmsId = ''
  766. }
  767. if(this.quanlity.pblmRelDics.length && !this.problemForm.qualityTypeId){
  768. this.$message.warning('请选择质量缺陷附件对应问题')
  769. return
  770. }else if(!this.quanlity.pblmRelDics.length){
  771. this.problemForm.qualityTypeId = ''
  772. }
  773. if(this.gongcheng.pblmRelDics.length && !this.problemForm.defectTypeId){
  774. this.$message.warning('请选择工程缺陷附件对应问题')
  775. return
  776. }else if(!this.gongcheng.pblmRelDics.length){
  777. this.problemForm.defectTypeId = ''
  778. }
  779. if(this.dialogType == '添加'){
  780. this.problemForm.regid = this.unitProblemInfo.id //管理单位唯一标识
  781. this.problemForm.regId = this.unitProblemInfo.id //管理单位唯一标识
  782. this.problemForm.objId = this.currentRow.objId;
  783. this.problemForm.objType = this.objType
  784. this.problemForm.villType = this.objType
  785. this.problemForm.pblmStat = "0";
  786. delete this.problemForm.weigui
  787. delete this.problemForm.hetong
  788. delete this.problemForm.quanlity
  789. delete this.problemForm.gongcheng
  790. request.post('/dc/insp/pblm',this.problemForm).then(res=>{
  791. if (res.success) {
  792. this.pblmId = res.data.pblmId;
  793. this.gwComFiles = [];
  794. this.pblmStat = res.data.pblmStat;
  795. this.add_flage = false
  796. this.add_dialogVisible = false
  797. this.searchList()
  798. if (this.$refs.uploadFile.submitUpload(res.data.pblmId)) {
  799. this.removeNewSupervision();
  800. }
  801. }
  802. })
  803. }else{
  804. request.post('/dc/insp/pblm/update',this.problemForm).then(res=>{
  805. if (res.success) {
  806. this.pblmId = res.data.pblmId;
  807. this.gwComFiles = [];
  808. this.pblmStat = res.data.pblmStat;
  809. this.add_flage = false
  810. this.add_dialogVisible = false
  811. this.searchList()
  812. if (this.$refs.uploadFile.submitUpload(res.data.pblmId)) {
  813. this.removeNewSupervision();
  814. }
  815. }
  816. })
  817. }
  818. },
  819. // 复查
  820. toRecheckProblem(row){
  821. this.dialogType = row.reviConc == '1' ? '添加' : row.reviConc == '2' ? '修改' : '添加'
  822. this.rectifyForm.rectConc = row.rectConc
  823. this.rectifyForm.rectMeas = row.rectMeas
  824. Object.assign(this.rectifyRow,row)
  825. if(this.dialogType == '添加'){
  826. this.rectifyForm.collTime = ''
  827. this.recheck_dialogVisible = true
  828. }else{
  829. this.rectifyProblemInfo = row
  830. this.problemId = row.pblmId
  831. this.projectType = row.villType
  832. this.rectifyForm.collTime = this.formatDateTime(row.collTime)
  833. this.recheck_edit_dialogVisible = true
  834. }
  835. },
  836. rectifySubmit(){
  837. this.isRectify = true
  838. this.rectifyForm['recPers'] = this.persId
  839. if(this.dialogType == '添加'){
  840. this.rectifyForm['pblmId'] = this.rectifyRow.pblmId
  841. this.rectifyForm['orgGuid'] = this.rectifyRow.regid
  842. request.post('/dc/insp/rectFdbk',this.rectifyForm).then(res=>{
  843. if (res.success) {
  844. // this.pblmId = res.data.pblmId;
  845. this.pblmId = this.rectifyRow.pblmId
  846. this.gwComFiles = [];
  847. this.pblmStat = res.data.pblmStat;
  848. this.recheck_dialogVisible = false
  849. this.searchList()
  850. if (this.$refs.uploadFile.submitUpload(res.data.guid)) {
  851. this.removeNewSupervision();
  852. }
  853. }
  854. })
  855. }else{
  856. // this.rectifyForm['guid'] = this.rectifyRow.guid
  857. this.rectifyForm['pblmId'] = this.rectifyRow.pblmId
  858. this.rectifyForm['orgGuid'] = this.rectifyRow.regid
  859. this.rectifyForm['id'] = this.rectifyRow.guid
  860. delete this.rectifyForm.collTime
  861. request.post('/dc/insp/rectFdbk',this.rectifyForm).then(res=>{
  862. if (res.success) {
  863. this.pblmId = res.data.guid;
  864. // this.pblmId = this.rectifyRow.pblmId
  865. this.gwComFiles = [];
  866. this.pblmStat = res.data.pblmStat;
  867. this.recheck_dialogVisible = false
  868. this.searchList()
  869. if (this.$refs.uploadFile.submitUpload(res.data.guid)) {
  870. this.removeNewSupervision();
  871. }
  872. }
  873. })
  874. }
  875. },
  876. // 查看详情
  877. toShowDetail(row){
  878. this.problemId = row.pblmId
  879. this.rectifyId = row.guid
  880. this.projectType = row.villType
  881. this.supervisionDetailsVisible = true
  882. this.isNature = row.nature;
  883. },
  884. deteleProblem(row){
  885. this.$confirm('确认删除当前问题吗?', '提示', {
  886. confirmButtonText: '确定',
  887. cancelButtonText: '取消',
  888. type: 'warning'
  889. }).then(() => {
  890. request.get(`/dc/insp/pblm/delete/${row.pblmId}/${this.persId}`).then(res=>{
  891. if(res.success){
  892. this.$message.success('删除成功')
  893. this.searchList()
  894. }else{
  895. this.$message.error(res.message)
  896. }
  897. })
  898. }).catch(() => {
  899. });
  900. },
  901. // 文件上传
  902. submitUpload() {
  903. this.$refs.upload.submit();
  904. },
  905. updatefilelist(arg) {
  906. if(this.isRectify){
  907. request.post('/dc/insp/rectFdbk',{
  908. id: this.pblmId,
  909. gwComFiles: arg
  910. }).then(res => {
  911. this.removeNewSupervision()
  912. });
  913. }else{
  914. if(this.dialogType == '修改'){
  915. this.problemForm.gwComFiles = this.problemForm.gwComFiles.concat(arg)
  916. }else{
  917. this.problemForm.gwComFiles = arg
  918. }
  919. request.post('/dc/insp/pblm/update',{
  920. pblmId: this.pblmId,
  921. gwComFiles: this.problemForm.gwComFiles,
  922. pblmStat: this.pblmStat
  923. }).then(res => {
  924. this.searchList()
  925. this.removeNewSupervision()
  926. });
  927. }
  928. },
  929. removeNewSupervision(arg){
  930. if (arg) {
  931. console.log(arg);
  932. var args = this.gwComFiles.concat(arg);
  933. this.updatefilelist(args);
  934. }
  935. this.$message.success('保存成功')
  936. this.$emit('closeDialog')
  937. this.gwComFiles = [];
  938. this.$refs.uploadFile.init();
  939. },
  940. handleClose(){
  941. this.$emit('dialogClose')
  942. },
  943. selectHetongChange(obj,val,type){
  944. this.$forceUpdate()
  945. let _this = this
  946. this.chooseHeTongProblem = false
  947. this.hetong.pblmRelDics.forEach(ele=>{
  948. if(ele.pblmAttach == val){
  949. _this.hetong.pblmSn = ele.pblmSn
  950. }
  951. })
  952. this.showPblmList(obj,val,type)
  953. },
  954. selectGongdiChange(obj,val,type){
  955. this.$forceUpdate()
  956. let _this = this
  957. this.chooseGongdiProblem = false
  958. this.gongdi.pblmRelDics.forEach(ele=>{
  959. if(ele.pblmAttach == val){
  960. _this.gongdi.pblmSn = ele.pblmSn
  961. }
  962. })
  963. this.showPblmList(obj,val,type)
  964. },
  965. selectWeiguiChange(obj,val,type){
  966. this.$forceUpdate()
  967. let _this = this
  968. this.chooseWeiguiProblem = false
  969. this.weigui.pblmRelDics.forEach(ele=>{
  970. if(ele.pblmAttach == val){
  971. _this.weigui.pblmSn = ele.pblmSn
  972. }
  973. })
  974. this.showPblmList(obj,val,type)
  975. },
  976. selectQuanlityChange(obj,val,type){
  977. this.$forceUpdate()
  978. let _this = this
  979. this.chooseQuanlityProblem = false
  980. this.quanlity.pblmRelDics.forEach(ele=>{
  981. if(ele.pblmAttach == val){
  982. _this.quanlity.pblmSn = ele.pblmSn
  983. }
  984. })
  985. this.showPblmList(obj,val,type)
  986. },
  987. selectGongchengChange(obj,val,type){
  988. this.$forceUpdate()
  989. let _this = this
  990. this.chooseGongchengProblem = false
  991. this.gongcheng.pblmRelDics.forEach(ele=>{
  992. if(ele.pblmAttach == val){
  993. _this.gongcheng.pblmSn = ele.pblmSn
  994. }
  995. })
  996. this.showPblmList(obj,val,type)
  997. },
  998. handleDetailClick(tab, event) {
  999. console.log(tab, event);
  1000. },
  1001. problemTypeChange(val){
  1002. // alert(val)
  1003. this.weigui.pblmSn = ''
  1004. this.hetong.pblmSn = ''
  1005. this.quanlity.pblmSn = ''
  1006. this.gongcheng.pblmSn = ''
  1007. this.gongdi.pblmSn = ''
  1008. this.problemForm.weigui = ''
  1009. this.problemForm.hetong = ''
  1010. this.problemForm.gongdi = ''
  1011. this.problemForm.quanlity = ''
  1012. this.problemForm.gongcheng = ''
  1013. this.chooseHeTongProblem = false
  1014. this.chooseGongdiProblem = false
  1015. this.chooseWeiguiProblem = false
  1016. this.chooseQuanlityProblem = false
  1017. this.chooseGongchengProblem = false
  1018. },
  1019. pageIndexChange(val) {
  1020. this.pageIndex = val;
  1021. this.searchList();
  1022. },
  1023. handleSizeChange(val) {
  1024. this.pageSize = val;
  1025. this.searchList();
  1026. },
  1027. showPlDialog() {
  1028. this.showWenTiTianBaoPl = true;
  1029. },
  1030. closePlDialog(val) {
  1031. this.showWenTiTianBaoPl = false;
  1032. },
  1033. // 控制修改弹窗
  1034. closeEditDialog(){
  1035. this.edit_dialogVisible = false
  1036. this.edit_dialogVisible1 = false
  1037. this.searchList()
  1038. },
  1039. closeRectifyEditDialog(){
  1040. this.recheck_edit_dialogVisible = false
  1041. this.searchList()
  1042. },
  1043. },
  1044. watch:{
  1045. tabType(val){
  1046. if(val){
  1047. this.searchList();
  1048. }
  1049. },
  1050. 'maxNumber':{
  1051. deep: true,
  1052. handler(newVal,oldVal){
  1053. let arr = [];
  1054. if(this.maxNumber['strictA']){
  1055. arr.push(parseInt(this.maxNumber['strictA']))
  1056. }
  1057. if(this.maxNumber['strictB']){
  1058. arr.push(parseInt(this.maxNumber['strictB']))
  1059. }
  1060. if(this.maxNumber['strictC']){
  1061. arr.push(parseInt(this.maxNumber['strictC']))
  1062. }
  1063. if(this.maxNumber['strictD']){
  1064. arr.push(parseInt(this.maxNumber['strictD']))
  1065. }
  1066. if(this.maxNumber['strictE']){
  1067. arr.push(parseInt(this.maxNumber['strictE']))
  1068. }
  1069. let value = Math.max(...arr);
  1070. if(value == '0'){
  1071. this.cater = '一般';
  1072. }else if(value == '1'){
  1073. this.cater = '较重'
  1074. }else if(value == '2'){
  1075. this.cater = '严重'
  1076. }else if(value == '3'){
  1077. this.cater = '非常严重'
  1078. }else{
  1079. this.cater = ''
  1080. }
  1081. }
  1082. },
  1083. 'problemForm.problemType':{
  1084. deep: true,
  1085. handler(newVal,oldVal){
  1086. this.convertGroup()
  1087. }
  1088. },
  1089. 'unitProblemInfo.id':{
  1090. deep: true,
  1091. handler(newVal,oldVal){
  1092. this.searchList()
  1093. this.listPblmType()
  1094. }
  1095. },
  1096. 'unitProblemInfo.codes':{
  1097. deep: true,
  1098. handler(newVal,oldVal){
  1099. this.searchList()
  1100. }
  1101. },
  1102. 'unitProblemInfo.secId':{
  1103. deep: true,
  1104. handler(newVal,oldVal){
  1105. this.searchList()
  1106. }
  1107. },
  1108. 'add_dialogVisible':{
  1109. deep: true,
  1110. handler(newVal,oldVal){
  1111. if(!newVal){
  1112. this.add_flage = false
  1113. }
  1114. }
  1115. }
  1116. // 'weigui.pblmSn':{
  1117. // deep: true,
  1118. // handler(val){
  1119. // this.showPblmList(this.weigui,this.problemForm.weigui,'违规')
  1120. // }
  1121. // },
  1122. // 'hetong.pblmSn':{
  1123. // deep: true,
  1124. // handler(val){
  1125. // this.showPblmList(this.hetong,this.problemForm.hetong,'合同')
  1126. // }
  1127. // },
  1128. // 'quanlity.pblmSn':{
  1129. // deep: true,
  1130. // handler(val){
  1131. // this.showPblmList(this.quanlity,this.problemForm.quanlity,'质量')
  1132. // }
  1133. // },
  1134. // 'gongcheng.pblmSn':{
  1135. // deep: true,
  1136. // handler(val){
  1137. // this.showPblmList(this.gongcheng,this.problemForm.gongcheng,'工程')
  1138. // }
  1139. // }
  1140. },
  1141. filters:{
  1142. inspPblmCate(value){
  1143. if(!value || value == ''){
  1144. return ''
  1145. }
  1146. if(value == '0'){
  1147. return '一般'
  1148. }else if(value == '1'){
  1149. return '较重'
  1150. }else if(value == '2'){
  1151. return '严重'
  1152. }else if(value == '3'){
  1153. return '非常严重'
  1154. }else{
  1155. return value
  1156. }
  1157. },
  1158. }
  1159. }
  1160. </script>
  1161. <style lang="scss">
  1162. .search_wrapper{
  1163. display: flex;
  1164. justify-content: space-between;
  1165. div:last-child{
  1166. min-width: 152px !important;
  1167. }
  1168. }
  1169. .slide-line{
  1170. width: 96%;
  1171. margin-left: 3%;
  1172. height: 1px;
  1173. margin-bottom: 10px;
  1174. border-bottom: dashed 1px #DCDFE6;
  1175. }
  1176. .detail_dialog .el-dialog__body{
  1177. padding: 0 20px 30px;
  1178. }
  1179. </style>