da3e4f554902fd8a533c169db506b8f74b9ad602.svn-base 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850
  1. <template>
  2. <!-- 修改弹框 -->
  3. <el-dialog
  4. width="60%"
  5. class="outerDialog custom_dialog"
  6. title="修改督查问题"
  7. @close="closeModal"
  8. :append-to-body=true
  9. :visible.sync="changeSupervisionVisible"
  10. >
  11. <div class="scroll_wrapper">
  12. <div style="width:49%;overflow-y:auto;max-height:58vh;float:left;border:1px solid #d5d5ff;margin-right:5px;">
  13. <p style="font-weight:bolder;background-color:#d5d5ff;padding:3px;">基本信息</p>
  14. <el-form
  15. ref="changeSupFrom"
  16. :rules="rules1"
  17. :model="changeSupervision"
  18. label-width="120px"
  19. >
  20. <el-form-item
  21. label="督查对象名称"
  22. prop="nm"
  23. >
  24. <el-input
  25. v-model="changeSupervision.nm"
  26. clearable
  27. :readonly="true"
  28. ></el-input>
  29. </el-form-item>
  30. <el-form-item
  31. label="问题类别"
  32. prop="inspPblmsName"
  33. >
  34. <el-select
  35. v-model="t1"
  36. value-key="inspPblmsName"
  37. placeholder="请选择"
  38. @change="problemListChange"
  39. >
  40. <el-option
  41. v-for="(item,index) in problemList"
  42. :key="index"
  43. :label="item.inspPblmsName"
  44. :value="item"
  45. >
  46. </el-option>
  47. </el-select>
  48. </el-form-item>
  49. <!--<el-form-item label="检查项目" prop="checkPoint" style="text-align:left">-->
  50. <!--<el-select v-model="t2" placeholder="请选择" value-key="checkPointName" @change="currentCheckPointListChange">-->
  51. <!--<el-option v-for="(item,index) in currentCheckPointList" :key="index" :label="item.checkPointName" :value="item">-->
  52. <!--</el-option>-->
  53. <!--</el-select>-->
  54. <!--</el-form-item>-->
  55. <el-form-item
  56. label="检查事项"
  57. prop="pblmDesc"
  58. style="text-align:left"
  59. >
  60. <el-select
  61. v-model="t3"
  62. placeholder="请选择"
  63. value-key="pblmDesc"
  64. @change="currentProblemDescListChange"
  65. style="max-width: 500px"
  66. >
  67. <el-option
  68. v-for="(item,index) in currentProblemDescList"
  69. :key="index"
  70. :label="item.pblmDesc"
  71. :value="item"
  72. :title="item.pblmDesc"
  73. style="max-width: 500px"
  74. >
  75. </el-option>
  76. </el-select>
  77. </el-form-item>
  78. <el-form-item
  79. label="详细描述"
  80. prop="inspPblmDesc"
  81. >
  82. <el-input
  83. type="textarea"
  84. :rows="2"
  85. v-model="changeSupervision.inspPblmDesc"
  86. clearable
  87. ></el-input>
  88. </el-form-item>
  89. <!-- <el-form-item label="是否为典型问题:">-->
  90. <!-- <el-select-->
  91. <!-- v-model="changeSupervision.ifCasePblm"-->
  92. <!-- clearable-->
  93. <!-- placeholder="请选择"-->
  94. <!-- >-->
  95. <!-- <el-option-->
  96. <!-- v-for="item in supervision"-->
  97. <!-- :key="item.value"-->
  98. <!-- :label="item.label"-->
  99. <!-- :value="item.value"-->
  100. <!-- ></el-option>-->
  101. <!-- </el-select>-->
  102. <!-- </el-form-item>-->
  103. <!--<el-form-item label="严重程度:">-->
  104. <!--<el-select-->
  105. <!--v-model="changeSupervision.inspPblmCate"-->
  106. <!--disabled-->
  107. <!--clearable-->
  108. <!--disable-->
  109. <!--placeholder="请选择"-->
  110. <!--&gt;-->
  111. <!--<el-option-->
  112. <!--v-for="item in supervisionState"-->
  113. <!--:key="item.value"-->
  114. <!--:label="item.label"-->
  115. <!--:value="item.value"-->
  116. <!--&gt;</el-option>-->
  117. <!--</el-select>-->
  118. <!--</el-form-item>-->
  119. <el-form-item
  120. label="备注"
  121. prop="note"
  122. >
  123. <el-input
  124. type="textarea"
  125. :rows="2"
  126. v-model.trim="changeSupervision.note"
  127. clearable
  128. ></el-input>
  129. </el-form-item>
  130. <el-form-item
  131. label="上报人"
  132. prop="persName"
  133. >
  134. <el-input
  135. resize="none"
  136. type="input"
  137. :rows="3"
  138. readonly
  139. placeholder="请输入"
  140. v-model.trim="changeSupervision.persName"
  141. ></el-input>
  142. </el-form-item>
  143. <el-form-item
  144. label="上报时间"
  145. prop="collTime"
  146. >
  147. <el-date-picker
  148. v-model="changeSupervision.collTime"
  149. readonly
  150. type="date"
  151. ></el-date-picker>
  152. </el-form-item>
  153. </el-form>
  154. </div>
  155. <div style="width: 49%;float: left;border: 1px solid rgb(213, 213, 255);margin-right: 5px;overflow-y: auto;max-height: 58vh;">
  156. <p style="font-weight:bolder;background-color:#d5d5ff;padding:3px;">多媒体信息</p>
  157. <el-tabs style="margin:0px 5px">
  158. <el-tab-pane :label="picturetabName">
  159. <el-row style="text-align:right;">
  160. <el-button
  161. :v-if="!addPicPanel?addPicPanel:addPicPanel"
  162. size="mini"
  163. type="text"
  164. :icon="!addPicPanel?'el-icon-circle-plus-outline':'el-icon-circle-close-outline'"
  165. @click="addPic"
  166. >{{!addPicPanel?"添加":"取消"}}</el-button>
  167. </el-row>
  168. <el-row v-if="addPicPanel">
  169. <el-upload
  170. class="upload-demo"
  171. ref="uploadFile"
  172. drag
  173. :auto-upload="false"
  174. :action="UploadUrl()"
  175. :headers="header"
  176. multiple
  177. :on-change="addFile"
  178. :on-success="fileSuccess"
  179. :on-error="fileUpErr"
  180. fileSuccess
  181. >
  182. <i class="el-icon-upload"></i>
  183. <div class="el-upload__text">
  184. 将文件拖到此处,或
  185. <em>点击添加</em>
  186. </div>
  187. </el-upload>
  188. </el-row>
  189. <el-row>
  190. <div style="overflow-y:auto;overflow-x:hidden;max-height:30vh;padding:10px;">
  191. <div class="upload-container" id="imgView">
  192. <div
  193. v-for="(item, index) in pictureArray"
  194. :key="index"
  195. class="image-preview image-app-preview"
  196. >
  197. <div class="image-preview-wrapper">
  198. <img :src="`${hostUrl}/${item.filePath}`">
  199. <div class="image-preview-action">
  200. <i
  201. @click="removeFile(item.id)"
  202. class="el-icon-delete"
  203. ></i>
  204. </div>
  205. </div>
  206. </div>
  207. </div>
  208. </div>
  209. </el-row>
  210. </el-tab-pane>
  211. <el-tab-pane :label="audiotabName">
  212. <el-table
  213. border
  214. :data="audioArray"
  215. style="width: 100%;margin: 0 auto;"
  216. >
  217. <el-table-column
  218. header-align="center"
  219. align="center"
  220. label="音频"
  221. >
  222. <template slot-scope="scope">
  223. <elaudio
  224. style="margin-left:15%;width:100px;height:30px;"
  225. :theUrl="`${hostUrl}/${scope.row.filePath}`"
  226. ></elaudio>
  227. </template>
  228. </el-table-column>
  229. <el-table-column
  230. header-align="center"
  231. align="center"
  232. label="操作"
  233. >
  234. <template slot-scope="scope">
  235. <el-button
  236. size="mini"
  237. @click="removeFile(scope.row.id,scope.$index)"
  238. type="danger"
  239. >删除</el-button>
  240. </template>
  241. </el-table-column>
  242. </el-table>
  243. </el-tab-pane>
  244. <el-tab-pane :label="videotabName">
  245. <el-table
  246. border
  247. :data="videoArray"
  248. style="width: 100%;margin: 0 auto;"
  249. >
  250. <el-table-column
  251. header-align="center"
  252. align="center"
  253. label="视频"
  254. >
  255. <template slot-scope="scope">
  256. <video-player
  257. class="vjs-custom-skin"
  258. ref="videoPlayer"
  259. :options="scope.row"
  260. :playsinline="true"
  261. ></video-player>
  262. </template>
  263. </el-table-column>
  264. <el-table-column
  265. header-align="center"
  266. align="center"
  267. label="操作"
  268. >
  269. <template slot-scope="scope">
  270. <el-button
  271. size="mini"
  272. @click="removeFile(scope.row.id,scope.$index)"
  273. type="danger"
  274. >删除</el-button>
  275. </template>
  276. </el-table-column>
  277. </el-table>
  278. </el-tab-pane>
  279. </el-tabs>
  280. </div>
  281. </div>
  282. <span slot="footer">
  283. <el-button
  284. type="primary"
  285. @click="changeSupervisionInfo"
  286. >保存</el-button>
  287. <el-button @click="changeSupervisionVisiblefalse">取消</el-button>
  288. </span>
  289. </el-dialog>
  290. </template>
  291. <script>
  292. import { showDetailsXq, updatelist, deleteFileById } from "../../api/duChaAPI.js";
  293. import request from "../../utils/gw_ajax_request.js";
  294. import { hostUrl } from "@util/global_variable.js";
  295. import Viewer from 'viewerjs';
  296. import 'viewerjs/dist/viewer.css';
  297. export default {
  298. props: ['editId'],
  299. data () {
  300. return {
  301. changeSupervisionVisible: true,
  302. changeSupervisionLoading: false,
  303. changeSupervision: {},
  304. rules1: {
  305. inspPblmName: [
  306. {
  307. required: true,
  308. message: "请输入问题名称",
  309. trigger: "blur"
  310. },
  311. {
  312. min: 1,
  313. max: 999,
  314. message: "不超过100字符",
  315. trigger: "blur"
  316. }
  317. ],
  318. inspPblmDesc: [
  319. {
  320. required: true,
  321. message: "请输入详细描述",
  322. trigger: "blur"
  323. }
  324. ],
  325. recPers: [
  326. {
  327. required: true,
  328. message: "请输入记录人",
  329. trigger: "blur"
  330. },
  331. {
  332. min: 1,
  333. max: 999,
  334. message: "不超过100字符",
  335. trigger: "blur"
  336. }
  337. ],
  338. objType: [
  339. {
  340. required: true,
  341. message: "请选择督查对象类型",
  342. trigger: "change"
  343. }
  344. ],
  345. objId: [
  346. {
  347. required: true,
  348. message: "请选择督查对象类型",
  349. trigger: "change"
  350. }
  351. ],
  352. inspPblmType: [
  353. {
  354. required: true,
  355. message: "请选择督查问题类型",
  356. trigger: "change"
  357. }
  358. ],
  359. dataStat: [
  360. {
  361. required: true,
  362. message: "请选择数据状态",
  363. trigger: "change"
  364. }
  365. ],
  366. collTime: [
  367. {
  368. required: true,
  369. message: "请选择采集时间",
  370. trigger: "change"
  371. }
  372. ],
  373. // ifCasePblm: [
  374. // {
  375. // required: true,
  376. // message: "请选择是否典型",
  377. // trigger: "change"
  378. // }
  379. // ],
  380. pblmStat: [
  381. {
  382. required: true,
  383. message: "请选择问题类型",
  384. trigger: "change"
  385. }
  386. ],
  387. inspPblmCate: [
  388. {
  389. required: true,
  390. message: "请选择问题程度",
  391. trigger: "change"
  392. },
  393. {
  394. trigger: "change"
  395. }
  396. ]
  397. },
  398. supervisionState: [
  399. {
  400. value: "0",
  401. label: "一般"
  402. },
  403. {
  404. value: "1",
  405. label: "较重"
  406. },
  407. {
  408. value: "2",
  409. label: "严重"
  410. },
  411. // {
  412. // value: "3",
  413. // label: "特别严重"
  414. // }
  415. ],
  416. supervision: [
  417. {
  418. value: "1",
  419. label: "是"
  420. },
  421. {
  422. value: "0",
  423. label: "否"
  424. }
  425. ],
  426. addPicPanel: false,
  427. gwComFiles: [],
  428. picturetabName: "",
  429. audiotabName: "",
  430. videotabName: "",
  431. pictureArray: [],
  432. audioArray: [],
  433. videoArray: [],
  434. updateIdXiuGai: "",
  435. pblmId: "",
  436. t1: {},
  437. t2: {},
  438. t3: {},
  439. problemList: [],
  440. currentCheckPointList: [],
  441. currentProblemDescList: [],
  442. xiangqingmiaoshu: '',
  443. wenTiLeiBie: "",
  444. jianChaXiangMu: "",
  445. fileList: [],
  446. fileListLength: 0,
  447. actionUrl: "",
  448. }
  449. },
  450. components: {
  451. upload: resolve => {
  452. require(["../../widgets/uploadFile.vue"], resolve);
  453. },
  454. },
  455. computed: {
  456. hostUrl () {
  457. return hostUrl
  458. },
  459. persId () {
  460. return localStorage.getItem("userid") ? localStorage.getItem("userid") : "1098101939614724096";
  461. }
  462. },
  463. mounted () {
  464. this.getproblemSmallType();
  465. },
  466. methods: {
  467. // 修改弹窗显示
  468. changeSup (id) {
  469. this.pictureArray = [];
  470. this.audioArray = [];
  471. this.videoArray = [];
  472. this.updateIdXiuGai = id;
  473. let _this = this
  474. showDetailsXq(this.updateIdXiuGai).then(res => {
  475. this.changeSupervision = res.data;
  476. this.fileList = this.changeSupervision.gwComFiles;
  477. this.t1['inspPblmsName'] = this.changeSupervision.inspPblmsName
  478. this.problemList.forEach(ele => {
  479. if (ele.inspPblmsName == _this.t1.inspPblmsName) {
  480. _this.problemListChange(ele)
  481. }
  482. })
  483. this.t2['checkPointName'] = this.changeSupervision.checkPoint
  484. this.currentCheckPointList.forEach(ele => {
  485. if (ele.checkPointName == _this.t2.checkPointName) {
  486. _this.currentCheckPointListChange(ele)
  487. }
  488. })
  489. this.t3['pblmDesc'] = this.changeSupervision.pblmDesc
  490. res.data.gwComFiles.forEach(item => {
  491. if (
  492. item.fileExt == "mp3" ||
  493. item.fileExt == "MP3" ||
  494. item.fileExt == "m4a"
  495. ) {
  496. this.audioArray.push(item);
  497. } else if (
  498. item.fileExt == "jpg" ||
  499. item.fileExt == "JPG" ||
  500. item.fileExt == "png" ||
  501. item.fileExt == "PNG" ||
  502. item.fileExt == "JPEG" ||
  503. item.fileExt == "jpeg"
  504. ) {
  505. this.pictureArray.push(item);
  506. } else if (item.fileExt == "mp4" || item.fileExt == "MP4") {
  507. this.videoArray.push({
  508. id: item.id,
  509. bizId: item.bizId,
  510. width: "130",
  511. height: "130",
  512. autoplay: false,
  513. muted: true,
  514. language: "en",
  515. playbackRates: [0.7, 1.0, 1.5, 2.0],
  516. sources: [
  517. {
  518. type: "video/mp4",
  519. src: this.hostUrl + item.filePath
  520. }
  521. ]
  522. });
  523. }
  524. });
  525. _this.$nextTick(function(){
  526. var ViewerDom = document.getElementById('imgView');
  527. var viewer = new Viewer(ViewerDom, {})
  528. });
  529. this.picturetabName = "图片资料(" + this.pictureArray.length + ")";
  530. this.audiotabName = "音频资料(" + this.audioArray.length + ")";
  531. this.videotabName = "视频资料(" + this.videoArray.length + ")";
  532. });
  533. },
  534. // 提交修改信息
  535. changeSupervisionInfo () {
  536. if (this.fileListLength) {
  537. this.$nextTick(function () {
  538. this.$refs.uploadFile.submit();
  539. setTimeout(() => {
  540. if (this.fileList.length == 0) {
  541. return false;
  542. } else {
  543. this.onChangeDialog();
  544. }
  545. }, 500)
  546. })
  547. } else {
  548. this.onChangeDialog();
  549. }
  550. },
  551. onChangeDialog () {
  552. this.$refs.changeSupFrom.validate(valid => {
  553. if (valid) {
  554. this.changeSupervisionLoading = true;
  555. this.changeSupervision.inspPblmsName = this.wenTiLeiBie
  556. this.changeSupervision.checkPoint = this.jianChaXiangMu
  557. this.changeSupervision.inspPblmName = this.xiangqingmiaoshu
  558. this.changeSupervision.inspPlbmType = this.t2.sort2;
  559. this.changeSupervision.inspPblmCode = this.t3.sn;
  560. this.changeSupervision.pblmsTypeId = this.t3.guid;
  561. let data = this.changeSupervision;
  562. console.log(data);
  563. updatelist(data).then(res => {
  564. this.pblmId = res.data.pblmId;
  565. this.gwComFiles = res.data.gwComFiles;
  566. if (res.success) {
  567. // this.removeNewSupervision();
  568. this.successInfo();
  569. this.addPicPanel = false;
  570. this.changeSupervisionLoading = false;
  571. this.$emit('closeEditDialog');
  572. } else {
  573. this.failInfo();
  574. // this.$emit('closeEditDialog')
  575. }
  576. });
  577. }
  578. });
  579. },
  580. // removeNewSupervision(arg) {
  581. // if (arg) {
  582. // var args = this.gwComFiles.concat(arg);
  583. // }
  584. // this.changeSup(this.editId)
  585. // this.gwComFiles = [];
  586. // },
  587. changeSupervisionVisiblefalse () {
  588. this.$emit('closeEditDialog')
  589. this.$refs.uploadFile.init();
  590. this.addPicPanel = false;
  591. },
  592. addPic () {
  593. this.addPicPanel = !this.addPicPanel;
  594. },
  595. // 删除图片文件
  596. removeFile (id, index) {
  597. // this.updateIdXiuGai = this.updateIdXiuGai;
  598. var _self = this;
  599. this.$confirm("此操作将永久删除该文件, 是否继续?", "提示", {
  600. confirmButtonText: "确定",
  601. cancelButtonText: "返回",
  602. type: "warning"
  603. }).then(
  604. res => {
  605. if (res === "confirm") {
  606. deleteFileById(id, this.persId).then(res => {
  607. if (res.success) {
  608. this.changeSupervision.gwComFiles.forEach(item => {
  609. if (
  610. item.fileExt == "mp3" ||
  611. item.fileExt == "MP3" ||
  612. item.fileExt == "m4a"
  613. ) {
  614. this.audiotabName.splice(index, 1);
  615. } else if (
  616. item.fileExt == "jpg" ||
  617. item.fileExt == "JPG" ||
  618. item.fileExt == "png" ||
  619. item.fileExt == "PNG" ||
  620. item.fileExt == "JPEG" ||
  621. item.fileExt == "jpeg"
  622. ) {
  623. this.pictureArray.splice(index, 1);
  624. } else if (item.fileExt == "mp4" || item.fileExt == "MP4") {
  625. this.videoArray.splice(index, 1);
  626. }
  627. });
  628. _self.changeSup(this.updateIdXiuGai);
  629. } else {
  630. this.failInfo();
  631. }
  632. });
  633. }
  634. },
  635. res => {
  636. console.log("返回");
  637. }
  638. )
  639. },
  640. // 操作成功反馈
  641. successInfo () {
  642. this.$message({
  643. type: "success",
  644. message: "操作成功!"
  645. });
  646. this.$emit('closeEditDialog')
  647. },
  648. // 操作失败反馈
  649. failInfo (val) {
  650. this.$message.error(val);
  651. },
  652. fileUpErr (err, file, fileList) {
  653. this.$message.error("上传出错,请修改文件!");
  654. this.fileList = [];
  655. },
  656. fileSuccess (item) {
  657. this.fileList.push(item.data);
  658. console.log(this.fileList);
  659. },
  660. closeModal () {
  661. this.$emit('closeEditDialog')
  662. },
  663. getproblemSmallType () {
  664. let result = [];
  665. request.get('/dc/insp/pblms/getPblmType', {
  666. params: {
  667. type: '101',
  668. pguid: '10100000000000000000000000000000'
  669. }
  670. }).then(res => {
  671. if (res.success) {
  672. res.data.forEach((ele) => {
  673. let haveinspPblmsName = false;
  674. result.forEach((inspPblm) => {
  675. if (inspPblm['inspPblmsName'] == ele.inspPblmsName) {
  676. //
  677. let havechekPoint = false;
  678. inspPblm['checkPoints'].forEach((chekPoint) => {
  679. if (chekPoint['checkPointName'] == ele.checkPoint) {
  680. //
  681. chekPoint['pblmDescs'].push({
  682. pblmDesc: ele.pblmDesc,
  683. sn: ele.sn,
  684. guid: ele.guid,
  685. });
  686. havechekPoint = true;
  687. }
  688. });
  689. if (!havechekPoint) {
  690. let newCheckPoint = {};
  691. newCheckPoint['checkPointName'] = ele.checkPoint;
  692. newCheckPoint['sort2'] = ele.sort2;
  693. newCheckPoint['pblmDescs'] = [{
  694. pblmDesc: ele.pblmDesc,
  695. sn: ele.sn,
  696. guid: ele.guid,
  697. }]
  698. inspPblm['checkPoints'].push(newCheckPoint);
  699. }
  700. haveinspPblmsName = true;
  701. }
  702. });
  703. if (!haveinspPblmsName) {
  704. let haveinspPblmsObj = {};
  705. haveinspPblmsObj['inspPblmsName'] = ele.inspPblmsName;
  706. haveinspPblmsObj['sort1'] = ele.sort1;
  707. haveinspPblmsObj['checkPoints'] = [{
  708. checkPointName: ele.checkPoint,
  709. sort2: ele.sort2,
  710. pblmDescs: [{
  711. pblmDesc: ele.pblmDesc,
  712. sn: ele.sn,
  713. guid: ele.guid,
  714. }]
  715. }];
  716. result.push(haveinspPblmsObj);
  717. }
  718. })
  719. this.problemList = result;
  720. this.changeSup(this.editId)
  721. }
  722. })
  723. },
  724. getYanZhongChengDu () {
  725. request.post('/dc/insp/pblms/getByPblms', {
  726. inspPblmsName: this.wenTiLeiBie,
  727. checkPoint: this.jianChaXiangMu,
  728. pblmDesc: this.xiangqingmiaoshu
  729. }).then(res => {
  730. if (res.success) {
  731. this.changeSupervision.inspPblmCate = res.data.inspPblmCate;
  732. }
  733. })
  734. },
  735. problemListChange: function (item) {
  736. this.t1 = item
  737. this.wenTiLeiBie = item.inspPblmsName;
  738. this.currentCheckPointList = item.checkPoints;
  739. this.currentProblemDescList = item.checkPoints[0].pblmDescs;
  740. },
  741. currentCheckPointListChange: function (item) {
  742. this.jianChaXiangMu = item.checkPointName;
  743. this.currentProblemDescList = item.pblmDescs;
  744. },
  745. currentProblemDescListChange: function (item) {
  746. this.xiangqingmiaoshu = item.pblmDesc;
  747. console.log(item);
  748. },
  749. UploadUrl: function () {
  750. return `/pdcApi/file/insert?bizId=${this.changeSupervision.pblmId}`
  751. },
  752. addFile (file, fileList) {
  753. this.fileListLength = fileList.length;
  754. }
  755. },
  756. watch: {
  757. editId (val) {
  758. this.changeSup(val)
  759. },
  760. 't3': {
  761. handler: function (val, oldVal) {
  762. this.getYanZhongChengDu()
  763. },
  764. deep: true
  765. },
  766. }
  767. }
  768. </script>
  769. <style scoped lang="scss">
  770. .scroll_wrapper {
  771. overflow: hidden;
  772. }
  773. .scroll_wrapper .el-form {
  774. padding-top: 5px;
  775. padding-right: 5px;
  776. }
  777. .upload-container {
  778. width: 100%;
  779. position: relative;
  780. .image-uploader {
  781. width: 35%;
  782. float: left;
  783. }
  784. .image-preview {
  785. width: 200px;
  786. height: 200px;
  787. position: relative;
  788. border: 1px dashed #d9d9d9;
  789. float: left;
  790. // margin-left: 50px;
  791. .image-preview-wrapper {
  792. position: relative;
  793. width: 100%;
  794. height: 100%;
  795. img {
  796. width: 100%;
  797. height: 100%;
  798. }
  799. }
  800. .image-preview-action {
  801. position: absolute;
  802. width: 100%;
  803. height: 30px;
  804. left: 0;
  805. bottom: 0;
  806. color: #fff;
  807. opacity: 0;
  808. font-size: 20px;
  809. background-color: rgba(0, 0, 0, 0.5);
  810. transition: opacity 0.3s;
  811. cursor: pointer;
  812. text-align: center;
  813. line-height: 30px;
  814. .el-icon-delete {
  815. font-size: 25px;
  816. }
  817. }
  818. &:hover {
  819. .image-preview-action {
  820. opacity: 1;
  821. }
  822. }
  823. }
  824. .image-app-preview {
  825. margin-bottom: 10px;
  826. width: 40vh;
  827. height: 180px;
  828. position: relative;
  829. border: 1px dashed #d9d9d9;
  830. float: left;
  831. // margin-left: 50px;
  832. .app-fake-conver {
  833. height: 44px;
  834. position: absolute;
  835. width: 100%; // background: rgba(0, 0, 0, .1);
  836. text-align: center;
  837. line-height: 64px;
  838. color: #fff;
  839. }
  840. }
  841. }
  842. </style>