ed5b5b528b2dd06d2a78c361edf411a6a15ea30b.svn-base 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795
  1. <template>
  2. <div :style="{'height':testHeight+'px','overflow':'auto'}">
  3. <el-form ref="problemForm" :rules="rules" label-width="100px" class="wtzgfc_add_pblm">
  4. <el-steps direction="vertical" :active="2">
  5. <el-step :title="`发现问题(检查资料)-(时间:${problData.pblmTm?formatDateTime(problData.pblmTm):''})`">
  6. <template slot="description" >
  7. <div style="width: 100%;">
  8. <el-card>
  9. <el-form-item label="注册登记号:" style="text-align:left">
  10. <p style="color:#606266;">{{problData.damRegCode}}</p>
  11. </el-form-item>
  12. <el-form-item label="问题类别:" style="text-align:left">
  13. <p style="color:#606266;">{{problData.pblmNameBz}}</p>
  14. </el-form-item>
  15. <el-form-item label="检查项目:" style="text-align:left">
  16. <p style="color:#606266;">{{problData.checkPointBz}}</p>
  17. </el-form-item>
  18. <el-form-item label="问题描述:" style="text-align:left">
  19. <p style="color:#606266;">{{problData.pblmDescBz}}</p>
  20. </el-form-item>
  21. <el-form-item label="严重程度:" style="text-align:left">
  22. <p style="color:#606266;">{{problData.inspPblmCate == 0 ? "一般" : problData.inspPblmCate == 1 ? "较重" : problData.inspPblmCate == 2 ? "严重" : problData.inspPblmCate == 3 ? "特别严重" : ""}}</p>
  23. </el-form-item>
  24. </el-card>
  25. <el-tabs type="border-card">
  26. <el-tab-pane :label="picturetabName2">
  27. <el-row>
  28. <el-carousel :interval="4000" style="height:100%;" id="imgView2">
  29. <el-carousel-item v-for="(item,index) in pictureArray2" :key="index" >
  30. <img style="width:100%;height:100%;" :src="`${hostUrl}/${item.filePath}`" alt>
  31. </el-carousel-item>
  32. <el-carousel-item v-if="pictureArray2.length==0" style="display: flex;justify-content: center;align-items: center">
  33. <p>暂无图片信息</p>
  34. </el-carousel-item>
  35. </el-carousel>
  36. </el-row>
  37. </el-tab-pane>
  38. <el-tab-pane :label="audiotabName2">
  39. <el-table border :data="audioArray2" style="width: 100%;margin: 0 auto;">
  40. <el-table-column header-align="center" align="center" label="音频" show-overflow-tooltip>
  41. <template slot-scope="scope">
  42. <elaudio
  43. style="margin-left:15%;width:100px;height:30px;"
  44. :theUrl="`${hostUrl}/${scope.row.filePath}`"
  45. ></elaudio>
  46. </template>
  47. </el-table-column>
  48. </el-table>
  49. </el-tab-pane>
  50. <el-tab-pane :label="videotabName2">
  51. <el-table border :data="videoArray2" style="width: 100%;margin: 0 auto;">
  52. <el-table-column header-align="center" align="center" label="视频" show-overflow-tooltip>
  53. <template slot-scope="scope">
  54. <video-player
  55. class="vjs-custom-skin"
  56. ref="videoPlayer"
  57. :options="scope.row"
  58. :playsinline="true"
  59. ></video-player>
  60. </template>
  61. </el-table-column>
  62. </el-table>
  63. </el-tab-pane>
  64. <el-tab-pane :label="filetabName2">
  65. <el-table border :data="fileArray2" style="width: 100%;margin: 0 auto;">
  66. <el-table-column header-align="center" align="center" label="文档" show-overflow-tooltip>
  67. <template slot-scope="scope">
  68. <p>
  69. <a :href="`${hostUrl}/${scope.row.filePath}`" target="_blank"
  70. rel="noopener noreferrer">
  71. {{scope.row.fileName}}
  72. </a>
  73. </p>
  74. </template>
  75. </el-table-column>
  76. </el-table>
  77. </el-tab-pane>
  78. </el-tabs>
  79. </div>
  80. </template>
  81. </el-step>
  82. <el-step :title="`反馈问题(整改资料)-(时间:${problData.pblmCrtm?formatDateTime(problData.pblmCrtm):''})`">
  83. <template slot="description" >
  84. <div style="width: 100%;">
  85. <el-card>
  86. <el-form-item label="市县反馈整改状态:" style="text-align:left" label-width="150px">
  87. <p style="color:#606266;">{{(!problData.crtState || problData.crtState=='0')?"未整改":problData.crtState=='1'?"整改中":problData.crtState=='2'?'整改完成':problData.crtState=='3'?'不具备整改条件':''}}</p>
  88. </el-form-item>
  89. <el-form-item label="市县反馈整改备注:" style="text-align:left" label-width="150px">
  90. <p style="color:#606266;">{{problData.crtNote}}</p>
  91. </el-form-item>
  92. </el-card>
  93. <el-tabs type="border-card">
  94. <el-tab-pane :label="picturetabName1">
  95. <el-row>
  96. <el-carousel :interval="4000" style="height:100%;" id="imgView1">
  97. <el-carousel-item v-for="(item,index) in pictureArray1" :key="index" >
  98. <img style="width:100%;height:100%;" :src="`${hostUrl}/${item.filePath}`" alt>
  99. </el-carousel-item>
  100. <el-carousel-item v-if="pictureArray1.length==0" style="display: flex;justify-content: center;align-items: center">
  101. <p>暂无图片信息</p>
  102. </el-carousel-item>
  103. </el-carousel>
  104. </el-row>
  105. </el-tab-pane>
  106. <el-tab-pane :label="audiotabName1">
  107. <el-table border :data="audioArray1" style="width: 100%;margin: 0 auto;">
  108. <el-table-column header-align="center" align="center" label="音频" show-overflow-tooltip>
  109. <template slot-scope="scope">
  110. <elaudio
  111. style="margin-left:15%;width:100px;height:30px;"
  112. :theUrl="`${hostUrl}/${scope.row.filePath}`"
  113. ></elaudio>
  114. </template>
  115. </el-table-column>
  116. </el-table>
  117. </el-tab-pane>
  118. <el-tab-pane :label="videotabName1">
  119. <el-table border :data="videoArray1" style="width: 100%;margin: 0 auto;">
  120. <el-table-column header-align="center" align="center" label="视频" show-overflow-tooltip>
  121. <template slot-scope="scope">
  122. <video-player
  123. class="vjs-custom-skin"
  124. ref="videoPlayer"
  125. :options="scope.row"
  126. :playsinline="true"
  127. ></video-player>
  128. </template>
  129. </el-table-column>
  130. </el-table>
  131. </el-tab-pane>
  132. <el-tab-pane :label="filetabName1">
  133. <el-table border :data="fileArray1" style="width: 100%;margin: 0 auto;">
  134. <el-table-column header-align="center" align="center" label="文档" show-overflow-tooltip>
  135. <template slot-scope="scope">
  136. <p>
  137. <a :href="`${hostUrl}/${scope.row.filePath}`" target="_blank"
  138. rel="noopener noreferrer">
  139. {{scope.row.fileName}}
  140. </a>
  141. </p>
  142. </template>
  143. </el-table-column>
  144. </el-table>
  145. </el-tab-pane>
  146. </el-tabs>
  147. </div>
  148. </template>
  149. </el-step>
  150. <el-step :title="`复核问题(复核资料)-待复核`">
  151. <template slot="description" >
  152. <div style="width: 100%;position: relative;">
  153. <el-card>
  154. <el-form-item label="复核结果:" style="text-align:left">
  155. <el-radio-group v-model="problData.reviewResult" style="width: 100%;">
  156. <el-radio label="1">未整改</el-radio>
  157. <el-radio label="2">正在整改</el-radio>
  158. <el-radio label="3">整改完成</el-radio>
  159. <el-radio label="4">整改不到位</el-radio>
  160. <el-radio label="5">上报整改情况与实际不符</el-radio>
  161. </el-radio-group>
  162. </el-form-item>
  163. <el-form-item label="复核说明" style="text-align:left">
  164. <el-input
  165. type="textarea"
  166. :rows="4"
  167. style="width: 100%;"
  168. placeholder="请输入复核说明"
  169. v-model="problData.reviewNote"
  170. class="w30">
  171. </el-input>
  172. </el-form-item>
  173. </el-card>
  174. <el-card style="margin-top: 10px;">
  175. <p class="p_title">多媒体</p>
  176. <upload ref="uploadFile" :url="`/pdcApi/file/insert?bizType=MEND_CHECK_SC&bizId=`"
  177. @uploadOver="removeNewSupervision"></upload>
  178. </el-card>
  179. <!-- <el-tabs type="border-card">-->
  180. <!-- <el-tab-pane :label="picturetabName">-->
  181. <!-- <el-row>-->
  182. <!-- <el-carousel :interval="4000" style="height:100%;" id="imgView">-->
  183. <!-- <el-carousel-item v-for="(item,index) in pictureArray" :key="index" >-->
  184. <!-- <img style="width:100%;height:100%;" :src="`${hostUrl}/${item.filePath}`" alt>-->
  185. <!-- </el-carousel-item>-->
  186. <!-- <el-carousel-item v-if="pictureArray.length==0" style="display: flex;justify-content: center;align-items: center">-->
  187. <!-- <p>暂无图片信息</p>-->
  188. <!-- </el-carousel-item>-->
  189. <!-- </el-carousel>-->
  190. <!-- </el-row>-->
  191. <!-- </el-tab-pane>-->
  192. <!-- <el-tab-pane :label="audiotabName">-->
  193. <!-- <el-table border :data="audioArray" style="width: 100%;margin: 0 auto;">-->
  194. <!-- <el-table-column header-align="center" align="center" label="音频" show-overflow-tooltip>-->
  195. <!-- <template slot-scope="scope">-->
  196. <!-- <elaudio-->
  197. <!-- style="margin-left:15%;width:100px;height:30px;"-->
  198. <!-- :theUrl="`${hostUrl}/${scope.row.filePath}`"-->
  199. <!-- ></elaudio>-->
  200. <!-- </template>-->
  201. <!-- </el-table-column>-->
  202. <!-- </el-table>-->
  203. <!-- </el-tab-pane>-->
  204. <!-- <el-tab-pane :label="videotabName">-->
  205. <!-- <el-table border :data="videoArray" style="width: 100%;margin: 0 auto;">-->
  206. <!-- <el-table-column header-align="center" align="center" label="视频" show-overflow-tooltip>-->
  207. <!-- <template slot-scope="scope">-->
  208. <!-- <video-player-->
  209. <!-- class="vjs-custom-skin"-->
  210. <!-- ref="videoPlayer"-->
  211. <!-- :options="scope.row"-->
  212. <!-- :playsinline="true"-->
  213. <!-- ></video-player>-->
  214. <!-- </template>-->
  215. <!-- </el-table-column>-->
  216. <!-- </el-table>-->
  217. <!-- </el-tab-pane>-->
  218. <!-- <el-tab-pane :label="filetabName">-->
  219. <!-- <el-table border :data="fileArray" style="width: 100%;margin: 0 auto;">-->
  220. <!-- <el-table-column header-align="center" align="center" label="文档" show-overflow-tooltip>-->
  221. <!-- <template slot-scope="scope">-->
  222. <!-- <p>-->
  223. <!-- <a :href="`${hostUrl}/${scope.row.filePath}`" target="_blank"-->
  224. <!-- rel="noopener noreferrer">-->
  225. <!-- {{scope.row.fileName}}-->
  226. <!-- </a>-->
  227. <!-- </p>-->
  228. <!-- </template>-->
  229. <!-- </el-table-column>-->
  230. <!-- </el-table>-->
  231. <!-- </el-tab-pane>-->
  232. <!-- </el-tabs>-->
  233. </div>
  234. </template>
  235. </el-step>
  236. </el-steps>
  237. </el-form>
  238. <div style="margin-top: 10px;text-align: center" label-width="0px">
  239. <el-button type="primary" @click="onSubmit('problemForm')" style="width: 100px;margin-bottom: 10px"
  240. :loading="saveLoading">保存
  241. </el-button>
  242. </div>
  243. </div>
  244. </template>
  245. <script>
  246. import {formatDateTime2,formatDateTime2New} from '../../../utils/gw_date.js'
  247. import request from '@util/gw_ajax_request.js'
  248. import {hostUrl} from '@util/global_variable'
  249. import pblmMendFile from "../shuiku/shuiku2021/pblmMendFile";
  250. import Viewer from 'viewerjs';
  251. import 'viewerjs/dist/viewer.css';
  252. export default {
  253. props: ['objId', 'objName', 'villType', 'objType', 'problemMiddleType', 'problemSmallType', 'engId', 'currentObjectRgstrId', 'problData', 'currentProblemId', 'currentResCode', 'currentAdCode', 'currentRsvrNm'],
  254. data() {
  255. return {
  256. testHeight: window.innerHeight - 200,
  257. pictureArray: [],
  258. audioArray: [],
  259. videoArray: [],
  260. fileArray: [],
  261. audiotabName: "",
  262. videotabName: "",
  263. picturetabName: "",
  264. filetabName: "",
  265. pictureArray2: [],
  266. audioArray2: [],
  267. videoArray2: [],
  268. fileArray2: [],
  269. audiotabName2: "",
  270. videotabName2: "",
  271. picturetabName2: "",
  272. filetabName2: "",
  273. pictureArray1: [],
  274. audioArray1: [],
  275. videoArray1: [],
  276. fileArray1: [],
  277. audiotabName1: "",
  278. videotabName1: "",
  279. picturetabName1: "",
  280. filetabName1: "",
  281. dialogTableVisible:true,
  282. taskInstId:"",
  283. bizType:"",
  284. jqmmDialogShow:false,
  285. problemForm: {
  286. pblmDesc: '',//问题描述 ,
  287. pblmLevl: '',//问题等级 ,
  288. pblmOption: '',//检查项目 ,
  289. pblmSn: '',//问题序号 ,
  290. pblmType: '',//问题类别 ,
  291. proName: '',//省 ,
  292. realPlanDt: '',//实际/计划整改完成时间 ,
  293. rectConc: '',//整改状态(1:未整改;2:正在整改;3:已整改) ,
  294. rectMsrs: '',//整改措施 ,
  295. revwInfo: '',//复核情况 ,
  296. revwRectConc: '',//复核整改状态(1:未整改;2:正在整改;3:整改完成;4:整改不到位;5:上报整改情况与实际不符) ,
  297. revwRectPblm: '',//复核整改问题 ,
  298. revwState: '',//复核填报状态(0:未填报;1:填报中;2:已填报) ,
  299. rgstrId: '',//登记表ID ,
  300. rsCode: '',//水库编码 ,
  301. rsName: '',//水库名称 ,
  302. safeComment: '',//工况总体评价 ,
  303. unit: '',//管理单位 ,
  304. uptm: '',//修改时间 ,
  305. year: '',//年度
  306. gwComFiles: [],
  307. zcOtherIsMakeFiles: [],
  308. auditConc: ''//审核状态
  309. },
  310. supervisionState: [
  311. {
  312. value: "0",
  313. label: "一般"
  314. },
  315. {
  316. value: "1",
  317. label: "较重"
  318. },
  319. {
  320. value: "2",
  321. label: "严重"
  322. },
  323. {
  324. value: "3",
  325. label: "特别严重"
  326. }
  327. ],
  328. abarbeitungStatusList: [
  329. {
  330. label: "未填写",
  331. value: "0"
  332. },
  333. {
  334. label: "未整改",
  335. value: "1"
  336. },
  337. {
  338. label: "正在整改",
  339. value: "2"
  340. },
  341. {
  342. label: "已整改",
  343. value: "3"
  344. }
  345. ],
  346. expertReviewList: [
  347. {
  348. 'label': '审核已整改',
  349. 'value': '1'
  350. },
  351. {
  352. 'label': '审核未整改',
  353. 'value': '2'
  354. },
  355. {
  356. 'label': '未审核',
  357. 'value': '3'
  358. },
  359. {
  360. 'label': '审核正在整改',
  361. 'value': '4'
  362. }
  363. ],
  364. inspPblmCate: "",
  365. imgList: [],
  366. videoList: [],
  367. audioList: [],
  368. pblmStat: '',
  369. gwComFiles: [],
  370. problemList: [],
  371. currentCheckPointList: [
  372. {
  373. value: "1",
  374. label: "质量安全"
  375. },
  376. {
  377. value: "2",
  378. label: "合同"
  379. },
  380. {
  381. value: "3",
  382. label: "资金"
  383. }
  384. ],
  385. currentProblemDescList: [
  386. {
  387. value: "1",
  388. label: "项目法人(建设单位)"
  389. },
  390. {
  391. value: "2",
  392. label: "勘察设计单位"
  393. },
  394. {
  395. value: "3",
  396. label: "监理单位"
  397. },
  398. {
  399. value: "4",
  400. label: "施工单位"
  401. },
  402. {
  403. value: "5",
  404. label: "金属结构及机电设备安装单位"
  405. },
  406. {
  407. value: "6",
  408. label: "安全监测单位"
  409. },
  410. {
  411. value: "7",
  412. label: "质量检测单位"
  413. }
  414. ],
  415. t1: '',
  416. t2: '',
  417. t3: '',
  418. xiangqingmiaoshu: '',
  419. wenTiLeiBie: "",
  420. jianChaXiangMu: "",
  421. rules: {
  422. revwRectPblm: [{
  423. required: true,
  424. message: '请填写备注',
  425. trigger: 'blur'
  426. }],
  427. },
  428. saveLoading: false
  429. }
  430. },
  431. components: {
  432. upload: resolve => {
  433. require(["@widget/uploadFile.vue"], resolve);
  434. },
  435. uploadZz: resolve => {
  436. require(["@widget/uploadPdf.vue"], resolve);
  437. },
  438. pblmMendFile:pblmMendFile
  439. },
  440. computed: {
  441. recPers() {
  442. return localStorage.getItem('userid') ? localStorage.getItem('userid') : '';
  443. },
  444. hostUrl() {
  445. return hostUrl
  446. },
  447. formatDateTime(){
  448. return formatDateTime2New
  449. }
  450. },
  451. mounted: function () {
  452. // this.getPicArray();
  453. this.getPicArray_1();
  454. this.getPicArray_2();
  455. },
  456. methods: {
  457. getPicArray() {
  458. var params = {
  459. bizId:this.problData.id,
  460. bizType:"MEND_CHECK_SC"
  461. }
  462. this.pictureArray = [];
  463. this.audioArray = [];
  464. this.videoArray = [];
  465. this.fileArray = [];
  466. this.filetabName = this.fileArray.length ? "其他资料(" + this.fileArray.length + ")" : "其他资料";
  467. this.picturetabName = this.pictureArray.length ? "图片资料(" + this.pictureArray.length + ")" : "图片资料";
  468. this.audiotabName = this.audioArray.length ? "音频资料(" + this.audioArray.length + ")" : "音频资料";
  469. this.videotabName = this.videoArray.length ? "视频资料(" + this.videoArray.length + ")" : "视频资料";
  470. if(!this.problData.id){
  471. return false;
  472. }
  473. var _this = this;
  474. request.post(`/file/findAllFile`,params).then(res => {
  475. if (res.success) {
  476. res.data.forEach(item => {
  477. if (
  478. item.fileExt == "jpg" ||
  479. item.fileExt == "JPG" ||
  480. item.fileExt == "png" ||
  481. item.fileExt == "PNG" ||
  482. item.fileExt == "JPEG" ||
  483. item.fileExt == "jpeg"
  484. ) {
  485. this.pictureArray.push(item);
  486. } else if (item.fileExt == "mp4" || item.fileExt == "MP4") {
  487. this.videoArray.push({
  488. height: "320",
  489. width: "500",
  490. id: item.id,
  491. bizId: item.bizId,
  492. autoplay: false,
  493. muted: true,
  494. language: "en",
  495. playbackRates: [0.7, 1.0, 1.5, 2.0],
  496. sources: [
  497. {
  498. type: "video/mp4",
  499. src: this.hostUrl + item.filePath
  500. }
  501. ]
  502. });
  503. }else if (
  504. item.fileExt == "mp3" ||
  505. item.fileExt == "MP3" ||
  506. item.fileExt == "m4a"
  507. ) {
  508. this.audioArray.push(item);
  509. }else{
  510. this.fileArray.push(item);
  511. }
  512. });
  513. _this.$nextTick(function(){
  514. var ViewerDom = document.getElementById('imgView');
  515. var viewer = new Viewer(ViewerDom, {})
  516. });
  517. this.filetabName = this.fileArray.length ? "其他资料(" + this.fileArray.length + ")" : "其他资料";
  518. this.picturetabName = this.pictureArray.length ? "图片资料(" + this.pictureArray.length + ")" : "图片资料";
  519. this.audiotabName = this.audioArray.length ? "音频资料(" + this.audioArray.length + ")" : "音频资料";
  520. this.videotabName = this.videoArray.length ? "视频资料(" + this.videoArray.length + ")" : "视频资料";
  521. }
  522. })
  523. },
  524. getPicArray_1() {
  525. var params = {
  526. bizId:this.problData.id,
  527. bizType:"rectification"
  528. }
  529. this.pictureArray1 = [];
  530. this.audioArray1 = [];
  531. this.videoArray1 = [];
  532. this.fileArray1 = [];
  533. this.filetabName1 = this.fileArray1.length ? "其他资料(" + this.fileArray1.length + ")" : "其他资料";
  534. this.picturetabName1 = this.pictureArray1.length ? "图片资料(" + this.pictureArray1.length + ")" : "图片资料";
  535. this.audiotabName1 = this.audioArray1.length ? "音频资料(" + this.audioArray1.length + ")" : "音频资料";
  536. this.videotabName1 = this.videoArray1.length ? "视频资料(" + this.videoArray1.length + ")" : "视频资料";
  537. if(!this.problData.id){
  538. return false;
  539. }
  540. var _this = this;
  541. request.post(`/file/findAllFile`,params).then(res => {
  542. if (res.success) {
  543. res.data.forEach(item => {
  544. if (
  545. item.fileExt == "jpg" ||
  546. item.fileExt == "JPG" ||
  547. item.fileExt == "png" ||
  548. item.fileExt == "PNG" ||
  549. item.fileExt == "JPEG" ||
  550. item.fileExt == "jpeg"
  551. ) {
  552. this.pictureArray1.push(item);
  553. } else if (item.fileExt == "mp4" || item.fileExt == "MP4") {
  554. this.videoArray1.push({
  555. height: "320",
  556. width: "500",
  557. id: item.id,
  558. bizId: item.bizId,
  559. autoplay: false,
  560. muted: true,
  561. language: "en",
  562. playbackRates: [0.7, 1.0, 1.5, 2.0],
  563. sources: [
  564. {
  565. type: "video/mp4",
  566. src: this.hostUrl + item.filePath
  567. }
  568. ]
  569. });
  570. }else if (
  571. item.fileExt == "mp3" ||
  572. item.fileExt == "MP3" ||
  573. item.fileExt == "m4a"
  574. ) {
  575. this.audioArray1.push(item);
  576. }else{
  577. this.fileArray1.push(item);
  578. }
  579. });
  580. _this.$nextTick(function(){
  581. var ViewerDom = document.getElementById('imgView1');
  582. var viewer = new Viewer(ViewerDom, {})
  583. });
  584. this.filetabName1 = this.fileArray1.length ? "其他资料(" + this.fileArray1.length + ")" : "其他资料";
  585. this.picturetabName1 = this.pictureArray1.length ? "图片资料(" + this.pictureArray1.length + ")" : "图片资料";
  586. this.audiotabName1 = this.audioArray1.length ? "音频资料(" + this.audioArray1.length + ")" : "音频资料";
  587. this.videotabName1 = this.videoArray1.length ? "视频资料(" + this.videoArray1.length + ")" : "视频资料";
  588. }
  589. })
  590. },
  591. getPicArray_2() {
  592. var params = {
  593. bizId:this.problData.pblmId
  594. }
  595. this.pictureArray2 = [];
  596. this.audioArray2 = [];
  597. this.videoArray2 = [];
  598. this.fileArray2 = [];
  599. this.filetabName2 = this.fileArray2.length ? "其他资料(" + this.fileArray2.length + ")" : "其他资料";
  600. this.picturetabName2 = this.pictureArray2.length ? "图片资料(" + this.pictureArray2.length + ")" : "图片资料";
  601. this.audiotabName2 = this.audioArray2.length ? "音频资料(" + this.audioArray2.length + ")" : "音频资料";
  602. this.videotabName2 = this.videoArray2.length ? "视频资料(" + this.videoArray2.length + ")" : "视频资料";
  603. if(!this.problData.pblmId){
  604. return false;
  605. }
  606. var _this = this;
  607. request.post(`/file/findAllFile`,params).then(res => {
  608. if (res.success) {
  609. res.data.forEach(item => {
  610. if (
  611. item.fileExt == "jpg" ||
  612. item.fileExt == "JPG" ||
  613. item.fileExt == "png" ||
  614. item.fileExt == "PNG" ||
  615. item.fileExt == "JPEG" ||
  616. item.fileExt == "jpeg"
  617. ) {
  618. this.pictureArray2.push(item);
  619. } else if (item.fileExt == "mp4" || item.fileExt == "MP4") {
  620. this.videoArray2.push({
  621. height: "320",
  622. width: "500",
  623. id: item.id,
  624. bizId: item.bizId,
  625. autoplay: false,
  626. muted: true,
  627. language: "en",
  628. playbackRates: [0.7, 1.0, 1.5, 2.0],
  629. sources: [
  630. {
  631. type: "video/mp4",
  632. src: this.hostUrl + item.filePath
  633. }
  634. ]
  635. });
  636. }else if (
  637. item.fileExt == "mp3" ||
  638. item.fileExt == "MP3" ||
  639. item.fileExt == "m4a"
  640. ) {
  641. this.audioArray2.push(item);
  642. }else{
  643. this.fileArray2.push(item);
  644. }
  645. });
  646. _this.$nextTick(function(){
  647. var ViewerDom = document.getElementById('imgView2');
  648. var viewer = new Viewer(ViewerDom, {})
  649. });
  650. this.filetabName2 = this.fileArray2.length ? "其他资料(" + this.fileArray2.length + ")" : "其他资料";
  651. this.picturetabName2 = this.pictureArray2.length ? "图片资料(" + this.pictureArray2.length + ")" : "图片资料";
  652. this.audiotabName2 = this.audioArray2.length ? "音频资料(" + this.audioArray2.length + ")" : "音频资料";
  653. this.videotabName2 = this.videoArray2.length ? "视频资料(" + this.videoArray2.length + ")" : "视频资料";
  654. }
  655. })
  656. },
  657. dialogClose() {
  658. this.$emit('closeDialog')
  659. },
  660. jqmmDialogClose() {
  661. this.jqmmDialogShow = false;
  662. },
  663. showFile(type){
  664. this.jqmmDialogShow = true;
  665. this.bizType = type;
  666. },
  667. async onSubmit(problemForm) {
  668. if(!this.problData.reviewResult){
  669. this.$message.warning("请选择复核结果");
  670. return false;
  671. }
  672. if(!this.problData.reviewNote){
  673. this.$message.warning("请选择复核说明");
  674. return false;
  675. }
  676. this.$nextTick(() => {
  677. if (this.$refs.uploadFile.submitUpload(this.problData.id)) {
  678. this.removeNewSupervision();
  679. }
  680. })
  681. },
  682. // 文件上传
  683. submitUpload() {
  684. this.$refs.upload.submit();
  685. },
  686. removeNewSupervision(arg) {
  687. if (!this.saveLoading) {
  688. this.saveLoading = true;
  689. let obj = {
  690. id:this.problData.id,
  691. reviewResult:this.problData.reviewResult,
  692. reviewNote:this.problData.reviewNote
  693. }
  694. let _self = this;
  695. request.post(`/bis/insp/pblm/plist/review`, obj).then(res => {
  696. if (res.success) {
  697. _self.$message.success('保存成功');
  698. _self.$emit('closeDialog');
  699. _self.$refs.uploadFile.init();
  700. }
  701. this.saveLoading = false;
  702. }).catch(err => {
  703. this.saveLoading = false;
  704. });
  705. }
  706. }
  707. }
  708. }
  709. </script>
  710. <style lang="scss" scoped>
  711. .el-steps{
  712. margin-left: 10px;
  713. margin-top: 10px;
  714. width: calc(100% - 10px);
  715. height: calc(100% - 10px);
  716. }
  717. .el-steps /deep/ .is-vertical{
  718. height:33.33%;
  719. }
  720. .el-steps /deep/ .el-step__main{
  721. width:calc(100% - 35px);
  722. }
  723. .el-steps /deep/ .el-step__description{
  724. height:calc(100% - 32px);
  725. padding-right:0px !important;
  726. }
  727. .el-tabs{
  728. height: 200px;
  729. }
  730. .el-tabs /deep/.el-tabs__header{
  731. margin: 0!important;
  732. }
  733. .el-tabs /deep/.el-tabs__content{
  734. height:calc(100% - 42px);
  735. overflow: auto;
  736. padding: 0 !important;
  737. }
  738. .el-tabs /deep/ .el-tab-pane{
  739. height:100%;
  740. }
  741. .el-tabs /deep/ .el-row{
  742. height:100%;
  743. }
  744. .el-carousel /deep/.el-carousel__container{
  745. height:100% !important;
  746. }
  747. .wtzgfc_add_pblm /deep/.el-form-item{
  748. margin-bottom: 5px !important;
  749. }
  750. .el-card /deep/.el-card__body{
  751. padding: 15px !important;
  752. }
  753. .wtzgfc_add_pblm {
  754. display: flex;
  755. .w30 {
  756. width: 50%;
  757. /deep/.el-form-item{
  758. margin-bottom: 5px !important;
  759. }
  760. }
  761. .el-textarea {
  762. display: block !important;
  763. }
  764. p.p_title {
  765. text-align: left;
  766. font-weight: bold;
  767. }
  768. .el-radio {
  769. margin-bottom: 15px;
  770. }
  771. .zzcl_fj > div {
  772. margin: 0 !important;
  773. }
  774. .zzcl_fj > div > div {
  775. margin: 0 !important;
  776. display: inline-block;
  777. width: 80px !important;
  778. }
  779. .w300 {
  780. width: 180px;
  781. text-align: left;
  782. }
  783. }
  784. </style>