b482782df7d687b9d8d12f11254b2a4ed96ecfbf.svn-base 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693
  1. <template>
  2. <el-dialog
  3. class="custom_dialog"
  4. title="问题整改复查情况"
  5. width="60%"
  6. append-to-body
  7. :visible.sync="supervisionDetailsVisible"
  8. @close="cancelHandler">
  9. <div class="wtzgfc_view_pblm" style="padding: 3px;" :style="{'height':testHeight+'px',}">
  10. <div :style="{'height':testHeight+'px',}"
  11. style="width:46%;float:left;border:1px solid #d5d5ff;margin-right:5px;">
  12. <p style="font-weight:bolder;background-color:#d5d5ff;padding:3px;">基本信息</p>
  13. <el-form label-position="right" label-width="140px" :style="{'max-height':testHeight-30+'px',}"
  14. style="overflow-y: auto;height:100%;margin:5px;" :model="problemDetail">
  15. <p class="p_title">问题整改情况</p>
  16. <el-form-item label="问题类别:">
  17. <p style="font-weight: bold;border-bottom:1px dashed rgb(198, 226, 255);">
  18. {{problemDetail.pblmType}}</p>
  19. </el-form-item>
  20. <el-form-item label="检查项目:">
  21. <p style="font-weight: bold;border-bottom:1px dashed rgb(198, 226, 255);">
  22. {{problemDetail.pblmOption}}</p>
  23. </el-form-item>
  24. <el-form-item label="问题描述:">
  25. <p style="font-weight: bold;border-bottom:1px dashed rgb(198, 226, 255);">
  26. {{problemDetail.pblmDesc}}</p>
  27. </el-form-item>
  28. <el-form-item label="问题等级:">
  29. <p style="font-weight: bold;border-bottom:1px dashed rgb(198, 226, 255);">{{problemDetail.pblmLevl == 0 ?
  30. "一般" : problemDetail.pblmLevl
  31. == 1 ? "较重" : problemDetail.pblmLevl == 2 ? "严重" : problemDetail.pblmLevl == 3 ?
  32. "特别严重" :
  33. ""}}</p>
  34. </el-form-item>
  35. <el-form-item label="整改状态:">
  36. <p style="font-weight: bold;border-bottom:1px dashed rgb(198, 226, 255);">{{problemDetail.rectConc
  37. == 0 ? "未填写" : problemDetail.rectConc
  38. == 1 ? "未整改" : problemDetail.rectConc == 2 ? "正在整改" : problemDetail.rectConc == 3 ?
  39. "已整改" :
  40. ""}}</p>
  41. </el-form-item>
  42. <el-form-item label="整改措施:">
  43. <p style="font-weight: bold;border-bottom:1px dashed rgb(198, 226, 255);;">
  44. {{problemDetail.rectMsrs}}</p>
  45. </el-form-item>
  46. <el-form-item label="审核状态:">
  47. <p style="font-weight: bold;border-bottom:1px dashed rgb(198, 226, 255);">{{problemDetail.auditConc
  48. == 1 ? "审核已整改" : problemDetail.auditConc == 2 ? "审核未整改" : problemDetail.auditConc == 3 ?
  49. "未审核" : problemDetail.auditConc
  50. == 4 ? "审核正在整改" : ""}}</p>
  51. </el-form-item>
  52. <!--<el-form-item label="上报人:">-->
  53. <!--<p style="font-weight: bold;border-bottom:1px dashed rgb(198, 226, 255);;">-->
  54. <!--{{problemDetail.persName}}</p>-->
  55. <!--</el-form-item>-->
  56. <!--<el-form-item label="上报时间:">-->
  57. <!--<p style="font-weight: bold;border-bottom:1px dashed rgb(198, 226, 255);;">-->
  58. <!--{{problemDetail.persName}}</p>-->
  59. <!--</el-form-item>-->
  60. <p class="p_title">复核情况</p>
  61. <el-form-item label="整改状态:" style="text-align:left">
  62. <el-radio-group v-model="problemDetail.revwRectConc">
  63. <el-radio label="1">未整改</el-radio>
  64. <el-radio label="2">正在整改</el-radio>
  65. <el-radio label="3">整改完成</el-radio>
  66. <br/>
  67. <br/>
  68. <el-radio label="4">整改不到位</el-radio>
  69. <el-radio label="5">上报整改情况与实际不符</el-radio>
  70. </el-radio-group>
  71. </el-form-item>
  72. <el-form-item :label="problemForm.revwRectConc == 3 ? '实际整改完成时间' : problemForm.revwRectConc == 2 ? '计划整改完成时间': ''"
  73. style="text-align:left"
  74. v-if="(Number(problemForm.revwRectConc) === 2 || Number(problemForm.revwRectConc) === 3) && problemForm.revwRectConc">
  75. <el-date-picker v-model="problemForm.realPlanDt" type="date" value-format="yyyy-MM-dd"
  76. placeholder="选择日期" class="w30"
  77. v-if="(Number(problemForm.revwRectConc) === 2 || Number(problemForm.revwRectConc) === 3) && problemForm.revwRectConc"></el-date-picker>
  78. </el-form-item>
  79. <div>
  80. <el-form-item label="备注" v-if="problemForm.revwRectConc != 3">
  81. <el-input
  82. type="textarea"
  83. :rows="4"
  84. placeholder="请输入"
  85. v-model="problemForm.revwRectPblm"
  86. class="w30">
  87. </el-input>
  88. </el-form-item>
  89. <el-form-item label="备注" prop="revwRectPblm" v-else key="revwRectPblm">
  90. <el-input
  91. type="textarea"
  92. :rows="4"
  93. placeholder="请输入"
  94. v-model="problemForm.revwRectPblm"
  95. class="w30">
  96. </el-input>
  97. </el-form-item>
  98. </div>
  99. </el-form>
  100. </div>
  101. <!--<div :style="{'height':testHeight+'px',}" style="width:50%;float:left;border:1px solid #d5d5ff;">-->
  102. <!--<p style="font-weight:bolder;background-color:#d5d5ff;padding:3px;">多媒体信息</p>-->
  103. <!--<el-tabs style="overflow-y: auto;margin:5px;" :style="{'max-height':testHeight-40 +'px',}">-->
  104. <!--<el-tab-pane :label="filetabName">-->
  105. <!--<el-table border :data="fileArray" style="width: 100%;margin: 0 auto;">-->
  106. <!--<el-table-column header-align="center" align="center" label="文档">-->
  107. <!--<template slot-scope="scope">-->
  108. <!--<p>-->
  109. <!--<a :href="`${hostUrl}/${scope.row.filePath}`" target="_blank"-->
  110. <!--rel="noopener noreferrer">-->
  111. <!--{{scope.row.fileName}}-->
  112. <!--</a>-->
  113. <!--</p>-->
  114. <!--</template>-->
  115. <!--</el-table-column>-->
  116. <!--</el-table>-->
  117. <!--</el-tab-pane>-->
  118. <!--<el-tab-pane :label="picturetabName" style="height: 350px;">-->
  119. <!--<el-carousel :interval="4000" height="350px">-->
  120. <!--<el-carousel-item v-for="(item,index) in pictureArray" :key="index">-->
  121. <!--<a :href="`${hostUrl}/${item.filePath}`" target="_blank">-->
  122. <!--<img style="height:100%;" :src="`${hostUrl}/${item.filePath}`" alt>-->
  123. <!--</a>-->
  124. <!--</el-carousel-item>-->
  125. <!--<el-carousel-item v-if="pictureArray.length==0">-->
  126. <!--<p>暂无图片信息</p>-->
  127. <!--</el-carousel-item>-->
  128. <!--</el-carousel>-->
  129. <!--</el-tab-pane>-->
  130. <!--<el-tab-pane :label="audiotabName">-->
  131. <!--<elaudio v-for="(audio,index) in audioArray" :key="index" style="margin-left:15%"-->
  132. <!--:theUrl="`${hostUrl}/${audio.filePath}`"></elaudio>-->
  133. <!--<p v-if="audioArray.length==0">暂无音频信息</p>-->
  134. <!--</el-tab-pane>-->
  135. <!--<el-tab-pane :label="videotabName">-->
  136. <!--<el-carousel :interval="4000" height="350px">-->
  137. <!--<el-carousel-item v-for="(item,index) in videoArray" :key="index">-->
  138. <!--<video-player class="vjs-custom-skin"-->
  139. <!--ref="videoPlayer"-->
  140. <!--:options="item"-->
  141. <!--:playsinline="true"-->
  142. <!--&gt;-->
  143. <!--</video-player>-->
  144. <!--</el-carousel-item>-->
  145. <!--<el-carousel-item v-if="videoArray.length==0">-->
  146. <!--<p>暂无视频信息</p>-->
  147. <!--</el-carousel-item>-->
  148. <!--</el-carousel>-->
  149. <!--</el-tab-pane>-->
  150. <!--</el-tabs>-->
  151. <!--</div>-->
  152. <div
  153. style="width: 49%;float: left;border: 1px solid rgb(213, 213, 255);margin-right: 5px;overflow-y: auto;max-height: 58vh;">
  154. <p style="font-weight:bolder;background-color:#d5d5ff;padding:3px;">多媒体信息</p>
  155. <el-tabs style="margin:0px 5px">
  156. <el-tab-pane :label="picturetabName">
  157. <el-row style="text-align:right;">
  158. <el-button
  159. :v-if="!addPicPanel?addPicPanel:addPicPanel"
  160. size="mini"
  161. type="text"
  162. :icon="!addPicPanel?'el-icon-circle-plus-outline':'el-icon-circle-close-outline'"
  163. @click="addPic"
  164. >{{!addPicPanel?"添加":"取消"}}
  165. </el-button>
  166. </el-row>
  167. <!-- 该上传组件之前用v-if="addPicPanel 控制显示隐藏,发现在点击编辑问题时,如果不上传图片,之间点击确认时会报错 add by lch -->
  168. <el-row v-show="addPicPanel"> <!-- v-if="addPicPanel" -->
  169. <upload
  170. ref="uploadFile"
  171. :url="`/pdcApi/file/insert?bizType=MEND_EXTRA&bizId=`"
  172. @uploadOver="removeNewSupervision"
  173. ></upload>
  174. </el-row>
  175. <el-row>
  176. <div style="overflow-y:auto;overflow-x:hidden;max-height:30vh;padding:10px;">
  177. <div class="upload-container" id="imgView">
  178. <div
  179. v-for="(item, index) in pictureArray"
  180. :key="index"
  181. class="image-preview image-app-preview"
  182. >
  183. <div class="image-preview-wrapper">
  184. <img :src="`${hostUrl}/${item.filePath}`">
  185. <div class="image-preview-action">
  186. <i @click="removeFile(item.id)" class="el-icon-delete"></i>
  187. </div>
  188. </div>
  189. </div>
  190. </div>
  191. </div>
  192. </el-row>
  193. </el-tab-pane>
  194. <el-tab-pane :label="audiotabName">
  195. <el-table border :data="audioArray" style="width: 100%;margin: 0 auto;">
  196. <el-table-column header-align="center" align="center" label="音频">
  197. <template slot-scope="scope">
  198. <elaudio
  199. style="margin-left:15%;width:100px;height:30px;"
  200. :theUrl="`${hostUrl}/${scope.row.filePath}`"
  201. ></elaudio>
  202. </template>
  203. </el-table-column>
  204. <el-table-column header-align="center" align="center" label="操作">
  205. <template slot-scope="scope">
  206. <el-button
  207. size="mini"
  208. @click="removeFile(scope.row.id,scope.$index)"
  209. type="danger"
  210. >删除
  211. </el-button>
  212. </template>
  213. </el-table-column>
  214. </el-table>
  215. </el-tab-pane>
  216. <el-tab-pane :label="videotabName">
  217. <el-table border :data="videoArray" style="width: 100%;margin: 0 auto;">
  218. <el-table-column header-align="center" align="center" label="视频">
  219. <template slot-scope="scope">
  220. <video-player
  221. class="vjs-custom-skin"
  222. ref="videoPlayer"
  223. :options="scope.row"
  224. :playsinline="true"
  225. ></video-player>
  226. </template>
  227. </el-table-column>
  228. <el-table-column header-align="center" align="center" label="操作">
  229. <template slot-scope="scope">
  230. <el-button
  231. size="mini"
  232. @click="removeFile(scope.row.id,scope.$index)"
  233. type="danger"
  234. >删除
  235. </el-button>
  236. </template>
  237. </el-table-column>
  238. </el-table>
  239. </el-tab-pane>
  240. <el-tab-pane :label="filetabName">
  241. <el-table border :data="fileArray" style="width: 100%;margin: 0 auto;">
  242. <el-table-column header-align="center" align="center" label="文档">
  243. <template slot-scope="scope">
  244. <p>
  245. <a :href="`${hostUrl}/${scope.row.filePath}`" target="_blank" rel="noopener noreferrer">
  246. {{scope.row.fileName}}
  247. </a>
  248. </p>
  249. </template>
  250. </el-table-column>
  251. <el-table-column header-align="center" align="center" label="操作">
  252. <template slot-scope="scope">
  253. <el-button
  254. size="mini"
  255. @click="removeFile(scope.row.id,scope.$index)"
  256. type="danger"
  257. >删除
  258. </el-button>
  259. </template>
  260. </el-table-column>
  261. </el-table>
  262. </el-tab-pane>
  263. </el-tabs>
  264. </div>
  265. </div>
  266. <span slot="footer">
  267. <el-button type="primary" @click="problemDetailInfo" :loading="buttonLoading">保存</el-button>
  268. <el-button @click="cancelHandler">取消</el-button>
  269. </span>
  270. </el-dialog>
  271. </template>
  272. <script>
  273. // import {getsuperviseinspect,} from "@api/duChaAPI.js";
  274. import {dateFormat} from "../../../utils/gw_date.js"
  275. import request from '@util/gw_ajax_request'
  276. import {deleteFileById} from "@api/duChaAPI.js";
  277. import Viewer from 'viewerjs';
  278. import 'viewerjs/dist/viewer.css';
  279. export default {
  280. props: ["details", 'problemId', 'objType'],
  281. components: {
  282. upload: resolve => {
  283. require(["@widget/uploadFile.vue"], resolve);
  284. },
  285. elaudio: resolve => {
  286. require(["../../../widgets/elAudio.vue"], resolve);
  287. },
  288. },
  289. data() {
  290. return {
  291. testHeight: window.innerHeight * 0.6,
  292. activeName: "0",
  293. superviseinspect: {},
  294. fileList: [],
  295. groupingList: [],
  296. fileListloading: false,
  297. groupListloading: false,
  298. problemDetail: {
  299. pblmDesc: '',//问题描述 ,
  300. pblmLevl: '',//问题等级 ,
  301. pblmOption: '',//检查项目 ,
  302. pblmSn: '',//问题序号 ,
  303. pblmType: '',//问题类别 ,
  304. proName: '',//省 ,
  305. realPlanDt: '',//实际/计划整改完成时间 ,
  306. rectConc: '',//整改状态(1:未整改;2:正在整改;3:已整改) ,
  307. rectMsrs: '',//整改措施 ,
  308. revwInfo: '',//复核情况 ,
  309. revwRectConc: '',//复核整改状态(1:未整改;2:正在整改;3:整改完成;4:整改不到位;5:上报整改情况与实际不符) ,
  310. revwRectPblm: '',//复核整改问题 ,
  311. revwState: '',//复核填报状态(0:未填报;1:填报中;2:已填报) ,
  312. rgstrId: '',//登记表ID ,
  313. rsCode: '',//水库编码 ,
  314. rsName: '',//水库名称 ,
  315. safeComment: '',//工况总体评价 ,
  316. unit: '',//管理单位 ,
  317. uptm: '',//修改时间 ,
  318. year: '',//年度
  319. gwComFiles: []
  320. },
  321. pictureArray: [],
  322. audioArray: [],
  323. videoArray: [],
  324. fileArray: [],
  325. audiotabName: "",
  326. videotabName: "",
  327. picturetabName: "",
  328. filetabName: "",
  329. playerOptions: {
  330. height: '120',
  331. autoplay: true,
  332. muted: true,
  333. language: 'en',
  334. playbackRates: [0.7, 1.0, 1.5, 2.0],
  335. labelName: '',
  336. sources: [{
  337. type: "video/mp4",
  338. // mp4
  339. src: "http://vjs.zencdn.net/v/oceans.mp4",
  340. // webm
  341. // src: "https://cdn.theguardian.tv/webM/2015/07/20/150716YesMen_synd_768k_vp8.webm"
  342. },
  343. {
  344. type: "video/mp4",
  345. // mp4
  346. src: "http://vjs.zencdn.net/v/oceans.mp4",
  347. // webm
  348. // src: "https://cdn.theguardian.tv/webM/2015/07/20/150716YesMen_synd_768k_vp8.webm"
  349. },
  350. {
  351. type: "video/mp4",
  352. // mp4
  353. src: "http://vjs.zencdn.net/v/oceans.mp4",
  354. // webm
  355. // src: "https://cdn.theguardian.tv/webM/2015/07/20/150716YesMen_synd_768k_vp8.webm"
  356. },
  357. {
  358. type: "video/mp4",
  359. // mp4
  360. src: "http://vjs.zencdn.net/v/oceans.mp4",
  361. // webm
  362. // src: "https://cdn.theguardian.tv/webM/2015/07/20/150716YesMen_synd_768k_vp8.webm"
  363. }],
  364. },
  365. buttonLoading: false,
  366. supervisionDetailsVisible: true,
  367. addPicPanel: false,
  368. gwComFiles: []
  369. };
  370. },
  371. computed: {
  372. hostUrl() {
  373. return window.location.href.indexOf('localhost') > -1 || window.location.href.indexOf('10.1.102.136') > -1 ? 'http://10.1.102.136:8100' : `${window.location.protocol}//${window.location.hostname}`
  374. },
  375. },
  376. mounted: function () {
  377. this.problemDetail = {};
  378. this.pictureArray = [];
  379. this.audioArray = [];
  380. this.videoArray = [];
  381. this.fileArray = [];
  382. this.showDetails();
  383. },
  384. watch: {
  385. problemId: function () {
  386. this.problemDetail = {};
  387. this.pictureArray = [];
  388. this.audioArray = [];
  389. this.videoArray = [];
  390. this.fileArray = [];
  391. this.showDetails();
  392. }
  393. },
  394. methods: {
  395. init() {
  396. this.activeName = "0";
  397. },
  398. showDetails() {
  399. // showDetailsXq(this.problemId).then(res => {
  400. let obj = {id: this.problemId, bizId: this.problemId}
  401. var _this = this;
  402. request.post(`bis/insp/rsvr/pblm/mend/getWithExtras`, obj).then(res => {
  403. this.problemDetail = res.data;
  404. this.problemDetail.realPlanDt = res.data.realPlanDt ? dateFormat(res.data.realPlanDt, 'yyyy-MM-dd') : '';
  405. this.gwComFiles = this.problemDetail.gwComFiles;
  406. console.log(this.hostUrl);
  407. if (res.data.gwComFiles) {
  408. res.data.gwComFiles.forEach(
  409. (item) => {
  410. if (item.fileExt == 'mp3' || item.fileExt == 'MP3' || item.fileExt == 'm4a') {
  411. this.audioArray.push(item);
  412. } else if (item.fileExt == 'jpg' || item.fileExt == 'JPEG' || item.fileExt == 'jpeg' || item.fileExt == 'JPG' || item.fileExt == 'png' || item.fileExt == 'PNG') {
  413. this.pictureArray.push(item);
  414. } else if (item.fileExt == 'mp4' || item.fileExt == 'MP4') {
  415. this.videoArray.push(
  416. {
  417. height: '350',
  418. autoplay: false,
  419. muted: true,
  420. language: 'en',
  421. playbackRates: [0.7, 1.0, 1.5, 2.0],
  422. sources: [{
  423. type: "video/mp4",
  424. // mp4
  425. src: `${this.hostUrl}/${item.filePath}`
  426. }],
  427. },
  428. );
  429. } else {
  430. this.fileArray.push(item);
  431. }
  432. }
  433. );
  434. }
  435. _this.$nextTick(function(){
  436. var ViewerDom = document.getElementById('imgView');
  437. var viewer = new Viewer(ViewerDom, {})
  438. });
  439. this.filetabName = this.fileArray.length ? "佐证材料(" + this.fileArray.length + ")" : "佐证材料";
  440. this.picturetabName = this.pictureArray.length ? "图片资料(" + this.pictureArray.length + ")" : "图片资料";
  441. this.audiotabName = this.pictureArray.length ? "音频资料(" + this.audioArray.length + ")" : "音频资料";
  442. this.videotabName = this.videoArray.length ? "视频资料(" + this.videoArray.length + ")" : "视频资料";
  443. });
  444. },
  445. // 提交修改信息
  446. problemDetailInfo() {
  447. this.buttonLoading = true;
  448. this.$nextTick(() => {
  449. if (this.$refs.uploadFile.submitUpload(this.problemDetail.id)) {
  450. this.removeNewSupervision();
  451. }
  452. setTimeout(() => {
  453. this.problemDetail.gwComFiles = this.gwComFiles;
  454. request.post(`bis/insp/rsvr/pblm/mend/2021/update`, this.problemDetail)
  455. .then(res => {
  456. if (res.success) {
  457. this.$message.success('保存成功');
  458. this.buttonLoading = false;
  459. this.$emit('cancelHandler', true);
  460. } else {
  461. this.buttonLoading = false;
  462. this.$message.warning(res.message);
  463. }
  464. })
  465. .catch(err => {
  466. this.buttonLoading = false;
  467. console.log(err);
  468. })
  469. }, 1000)
  470. })
  471. },
  472. cancelHandler() {
  473. this.$emit('cancelHandler');
  474. this.$refs.uploadFile.init();
  475. this.addPicPanel = false;
  476. },
  477. timestampToTime(detail) {
  478. if (detail) {
  479. var date = new Date(detail);
  480. var Y = date.getFullYear() + "-";
  481. var M =
  482. (date.getMonth() + 1 < 10 ?
  483. "0" + (date.getMonth() + 1) :
  484. date.getMonth() + 1) + "-";
  485. var D =
  486. (date.getDate() < 10 ? "0" + date.getDate() : date.getDate()) + " ";
  487. var h =
  488. (date.getHours() < 10 ? "0" + date.getHours() : date.getHours()) + ":";
  489. var m =
  490. date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();
  491. return Y + M + D + h + m;
  492. } else {
  493. return "";
  494. }
  495. },
  496. removeNewSupervision(arg) {
  497. if (arg) {
  498. var args = this.gwComFiles.concat(arg);
  499. this.gwComFiles = args;
  500. return;
  501. }
  502. // this.gwComFiles = [];
  503. },
  504. addPic() {
  505. this.addPicPanel = !this.addPicPanel;
  506. },
  507. // 删除图片文件
  508. removeFile(id, index) {
  509. var _self = this;
  510. this.$confirm("此操作将永久删除该文件, 是否继续?", "提示", {
  511. confirmButtonText: "确定",
  512. cancelButtonText: "返回",
  513. type: "warning"
  514. }).then(
  515. res => {
  516. if (res === "confirm") {
  517. deleteFileById(id, this.persId).then(res => {
  518. if (res.success) {
  519. this.problemDetail.gwComFiles.forEach(item => {
  520. if (
  521. item.fileExt == "mp3" ||
  522. item.fileExt == "MP3" ||
  523. item.fileExt == "m4a"
  524. ) {
  525. this.audiotabName.splice(index, 1);
  526. } else if (
  527. item.fileExt == "jpg" ||
  528. item.fileExt == "JPG" ||
  529. item.fileExt == "png" ||
  530. item.fileExt == "PNG" ||
  531. item.fileExt == "JPEG" ||
  532. item.fileExt == "jpeg"
  533. ) {
  534. this.pictureArray.splice(index, 1);
  535. } else if (item.fileExt == "mp4" || item.fileExt == "MP4") {
  536. this.videoArray.splice(index, 1);
  537. } else {
  538. this.fileArray.splice(index, 1);
  539. }
  540. });
  541. _self.showDetails();
  542. } else {
  543. this.$message.error(res.message);
  544. }
  545. });
  546. }
  547. },
  548. res => {
  549. console.log("返回");
  550. }
  551. )
  552. },
  553. },
  554. filters: {
  555. zgqk(val) {
  556. switch (val) {
  557. case '0':
  558. return '未整改';
  559. case '1':
  560. return '整改中';
  561. case '2':
  562. return '已整改';
  563. }
  564. },
  565. inspPblmCate(val) {
  566. if (!val || val == '') {
  567. return ''
  568. }
  569. if (val == '0') {
  570. return '一般'
  571. } else if (val == '1') {
  572. return '较重'
  573. } else if (val == '2') {
  574. return '严重'
  575. } else {
  576. return val
  577. }
  578. },
  579. }
  580. };
  581. </script>
  582. <style lang="scss" scoped>
  583. .wtzgfc_view_pblm {
  584. .el-form-item {
  585. width: 100%;
  586. margin-bottom: 0;
  587. }
  588. p.p_title {
  589. text-align: left;
  590. font-weight: bold;
  591. }
  592. .el-radio {
  593. margin-bottom: 15px;
  594. }
  595. }
  596. .upload-container {
  597. width: 100%;
  598. position: relative;
  599. .image-uploader {
  600. width: 35%;
  601. float: left;
  602. }
  603. .image-preview {
  604. width: 200px;
  605. height: 200px;
  606. position: relative;
  607. border: 1px dashed #d9d9d9;
  608. float: left;
  609. // margin-left: 50px;
  610. .image-preview-wrapper {
  611. position: relative;
  612. width: 100%;
  613. height: 100%;
  614. img {
  615. width: 100%;
  616. height: 100%;
  617. }
  618. }
  619. .image-preview-action {
  620. position: absolute;
  621. width: 100%;
  622. height: 30px;
  623. left: 0;
  624. bottom: 0;
  625. cursor: default;
  626. text-align: center;
  627. color: #fff;
  628. opacity: 0;
  629. font-size: 20px;
  630. background-color: rgba(0, 0, 0, 0.5);
  631. transition: opacity 0.3s;
  632. cursor: pointer;
  633. text-align: center;
  634. line-height: 30px;
  635. .el-icon-delete {
  636. font-size: 25px;
  637. }
  638. .el-icon-edit-outline {
  639. font-size: 25px;
  640. }
  641. }
  642. &:hover {
  643. .image-preview-action {
  644. opacity: 1;
  645. }
  646. }
  647. }
  648. .image-app-preview {
  649. margin-bottom: 10px;
  650. width: 40vh;
  651. height: 180px;
  652. position: relative;
  653. border: 1px dashed #d9d9d9;
  654. float: left;
  655. // margin-left: 50px;
  656. .app-fake-conver {
  657. height: 44px;
  658. position: absolute;
  659. width: 100%; // background: rgba(0, 0, 0, .1);
  660. text-align: center;
  661. line-height: 64px;
  662. color: #fff;
  663. }
  664. }
  665. }
  666. </style>