e3940c97049595e86bf6df4d5fbd391da1685412.svn-base 46 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481
  1. <template>
  2. <el-dialog
  3. :title="titleType + '必查清单'"
  4. @close="closeDialog"
  5. :visible.sync="dialogFormVisible"
  6. append-to-body
  7. class="add_problem_dialog"
  8. width="90%"
  9. height="90%"
  10. >
  11. <div class="scroll_wrapper">
  12. <div
  13. style="
  14. width: 49%;
  15. overflow-y: auto;
  16. max-height: 70vh;
  17. float: left;
  18. border: 1px solid #d5d5ff;
  19. margin-right: 5px;
  20. "
  21. >
  22. <p style="font-weight: bolder; background-color: #d5d5ff; padding: 3px">
  23. 基本信息
  24. </p>
  25. <el-form :model="form" :rules="rules" ref="form" label-width="130px">
  26. <el-form-item label="具体检查项目" prop="chkItem">
  27. <el-input
  28. v-model="form.chkItem"
  29. autocomplete="off"
  30. :readonly="true"
  31. :autosize="{ minRows: 5 }"
  32. disabled
  33. ></el-input>
  34. </el-form-item>
  35. <el-form-item label="检查资料或部位" prop="chkFrp">
  36. <el-input
  37. v-model="form.chkFrp"
  38. autocomplete="off"
  39. :readonly="true"
  40. :autosize="{ minRows: 5 }"
  41. disabled
  42. ></el-input>
  43. </el-form-item>
  44. <el-form-item label="问题掌握标准" prop="pblmMasteryLevel">
  45. <el-input
  46. v-model="form.pblmMasteryLevel"
  47. autocomplete="off"
  48. :readonly="true"
  49. :autosize="{ minRows: 4 }"
  50. type="textarea"
  51. :rows="5"
  52. disabled
  53. ></el-input>
  54. </el-form-item>
  55. <el-form-item label="检查依据(法规及规范相应条款)" prop="chkGist">
  56. <el-input
  57. v-model="form.chkGist"
  58. autocomplete="off"
  59. :readonly="true"
  60. :autosize="{ minRows: 4 }"
  61. type="textarea"
  62. :rows="5"
  63. disabled
  64. ></el-input>
  65. </el-form-item>
  66. <p class="item_title">
  67. <i class="el-icon-caret-right"></i>
  68. <span>检查结果</span>
  69. </p>
  70. <el-form-item label="检查结果" prop="isPblm">
  71. <el-select v-model="form.isPblm" placeholder="请选择检查结果" clearable style="width: 100%;">
  72. <el-option
  73. v-for="(item, index) in ynList"
  74. :key="index"
  75. :label="item.label"
  76. :value="item.value"
  77. >
  78. </el-option>
  79. </el-select>
  80. </el-form-item>
  81. <el-form-item label="选择问题" prop="pblmstdId"
  82. v-if="form.isPblm === '1'">
  83. <el-select
  84. v-model="form.pblmstdId"
  85. filterable
  86. popper-class="problem_select"
  87. placeholder="请选择"
  88. @change="changeSelect"
  89. style="width: 85%"
  90. >
  91. <el-option
  92. v-for="item in problemList"
  93. :key="item.id"
  94. :label="item.pblmsDesc"
  95. :value="item.id"
  96. >
  97. </el-option>
  98. </el-select>
  99. <span class="add_new_problem" @click="addNewProblem" v-if="!isFujian">添加其它问题</span>
  100. </el-form-item>
  101. <el-form-item
  102. label="问题描述"
  103. prop="pblmsDesc"
  104. v-if="form.isPblm === '1'"
  105. >
  106. <el-input
  107. v-model="form.pblmsDesc"
  108. autocomplete="off"
  109. type="textarea"
  110. :rows="5"
  111. ></el-input>
  112. </el-form-item>
  113. <el-form-item label="责任单位" v-if="form.isPblm === '1'" prop="subjectId">
  114. <span
  115. class="el-icon-circle-plus"
  116. title="添加单位"
  117. @click="addUnit"
  118. ></span>
  119. <div v-for="(unit, index) in unitArray" :key="index">
  120. <el-form-item label="单位性质" style="display: inline-block">
  121. <el-select
  122. v-model="unit.subId"
  123. placeholder="请选择"
  124. @change="natureChange(val, index)"
  125. clearable
  126. >
  127. <el-option
  128. v-for="item in objSubjectList"
  129. :key="item.id"
  130. :label="item.subName"
  131. :value="item.id"
  132. >
  133. </el-option>
  134. </el-select>
  135. <span
  136. class="el-icon-remove"
  137. title="删除单位"
  138. v-if="index != 0"
  139. @click="removeUnit(index)"
  140. ></span>
  141. </el-form-item>
  142. <el-form-item label="单位名称" style="display: inline-block">
  143. <el-select
  144. v-model="unit.unitNm"
  145. popper-class="problem_select"
  146. @change="unitSelect"
  147. placeholder="请选择"
  148. clearable
  149. >
  150. <el-option
  151. v-for="item in unitNameList"
  152. :key="item.id"
  153. :label="
  154. item.sctnName
  155. ? `${item.sysNm}(${item.sctnName})`
  156. : item.sysNm
  157. "
  158. :value="item.sysNm"
  159. >
  160. </el-option>
  161. </el-select>
  162. </el-form-item>
  163. </div>
  164. </el-form-item>
  165. <el-form-item
  166. label="问题定性"
  167. prop="pblmPasi"
  168. v-if="form.isPblm === '1'"
  169. >
  170. <el-select v-if="selectShow && !isGd && !isSc && !isSd" v-model="form.pblmPasi" placeholder="请选择" style="width: 100%;">
  171. <el-option v-for="item in cateObjList" :key="item.cate" :label="item.desc"
  172. :value="item.cate">
  173. </el-option>
  174. </el-select>
  175. <el-select v-if="isGd || isSc || isSd" v-model="form.pblmPasi" placeholder="请选择问题定性">
  176. <el-option label="一般" value="0"></el-option>
  177. <el-option label="较重" value="1"></el-option>
  178. <el-option label="严重" value="2"></el-option>
  179. </el-select>
  180. <span v-if="inputShow && !isGd && !isSc && !isSd">{{inputText}}</span>
  181. </el-form-item>
  182. <el-form-item
  183. label="有关情况说明"
  184. prop="nt"
  185. v-if="
  186. pageName === 'inspectionView' ||
  187. (pageName === 'inspectionIndex' && form.isPblm === '1')
  188. "
  189. >
  190. <el-input
  191. v-model="form.nt"
  192. autocomplete="off"
  193. type="textarea"
  194. :rows="5"
  195. ></el-input>
  196. </el-form-item>
  197. </el-form>
  198. </div>
  199. <div
  200. style="
  201. width: 49%;
  202. float: right;
  203. border: 1px solid rgb(213, 213, 255);
  204. margin-right: 5px;
  205. overflow-y: auto;
  206. max-height: 70vh;
  207. "
  208. >
  209. <p style="font-weight: bolder; background-color: #d5d5ff; padding: 3px">
  210. 多媒体信息
  211. </p>
  212. <div
  213. style="
  214. width: 99%;
  215. float: left;
  216. border: 1px solid rgb(213, 213, 255);
  217. margin-right: 5px;
  218. overflow-y: auto;
  219. max-height: 30vh;
  220. "
  221. >
  222. <el-row style="text-align: right">
  223. <el-col :span="24">
  224. <el-button
  225. :v-if="!addPicPanel ? addPicPanel : addPicPanel"
  226. size="mini"
  227. type="text"
  228. :icon="
  229. !addPicPanel
  230. ? 'el-icon-circle-plus-outline'
  231. : 'el-icon-circle-close-outline'
  232. "
  233. @click="addPic('')"
  234. >{{ !addPicPanel ? "参考范本添加" : "参考范本取消" }}
  235. </el-button>
  236. </el-col>
  237. </el-row>
  238. <el-row v-show="addPicPanel">
  239. <span style="display: block; text-align: center; color: red"
  240. >佐证照片建议上传2至6的偶数张</span
  241. >
  242. <upload
  243. ref="uploadFile"
  244. :type="'1'"
  245. :url="`/pdcApi/file/insert?bizId=`"
  246. @uploadOver="removeNewSupervision"
  247. ></upload>
  248. </el-row>
  249. <el-row style="text-align: right">
  250. <el-col :span="24">
  251. <el-button
  252. :v-if="!addPicPanel1 ? addPicPanel1 : addPicPanel1"
  253. size="mini"
  254. type="text"
  255. :icon="
  256. !addPicPanel1
  257. ? 'el-icon-circle-plus-outline'
  258. : 'el-icon-circle-close-outline'
  259. "
  260. @click="addPic('1')"
  261. >{{ !addPicPanel1 ? "佐证资料添加" : "佐证资料取消" }}
  262. </el-button>
  263. </el-col>
  264. </el-row>
  265. <el-row v-show="addPicPanel1">
  266. <span style="display: block; text-align: center; color: red"
  267. >佐证照片建议上传2至6的偶数张</span
  268. >
  269. <upload
  270. ref="uploadFile1"
  271. :type="'2'"
  272. :url="`/pdcApi/file/insert?bizId=`"
  273. @uploadOver="removeNewSupervision"
  274. ></upload>
  275. </el-row>
  276. </div>
  277. <p class="item_title">
  278. <i class="el-icon-caret-right"></i>
  279. <span>参考范本</span>
  280. </p>
  281. <div
  282. style="
  283. width: 99%;
  284. float: left;
  285. border: 1px solid rgb(213, 213, 255);
  286. margin-right: 5px;
  287. overflow-y: auto;
  288. max-height: 30vh;
  289. "
  290. >
  291. <el-tabs style="margin: 0px 5px">
  292. <el-tab-pane :label="picturetabName">
  293. <el-row>
  294. <div
  295. style="
  296. overflow-y: auto;
  297. overflow-x: hidden;
  298. max-height: 42vh;
  299. padding: 10px;
  300. "
  301. >
  302. <div class="upload-container">
  303. <viewer :images="pictureArray">
  304. <draggable
  305. v-model="pictureArray"
  306. :options="{ group: 'image' }"
  307. @change="dragChange"
  308. >
  309. <div
  310. v-if="editPicRefresh"
  311. v-for="(item, index) in pictureArray"
  312. :key="index"
  313. class="image-preview image-app-preview"
  314. >
  315. <div class="image-preview-wrapper">
  316. <img
  317. :src="`${hostUrl}/${
  318. item.filePath
  319. }?d=${new Date().getTime()}`"
  320. />
  321. <div class="image-preview-action">
  322. <i
  323. @click="removeFile(item.id)"
  324. class="el-icon-delete"
  325. ></i>
  326. <i
  327. @click="editPicEvent(item)"
  328. class="el-icon-edit-outline"
  329. ></i>
  330. </div>
  331. </div>
  332. </div>
  333. </draggable>
  334. </viewer>
  335. </div>
  336. </div>
  337. </el-row>
  338. </el-tab-pane>
  339. <el-tab-pane :label="audiotabName">
  340. <el-table
  341. border
  342. :data="audioArray"
  343. style="width: 100%; margin: 0 auto"
  344. >
  345. <el-table-column
  346. header-align="center"
  347. align="center"
  348. label="音频"
  349. >
  350. <template slot-scope="scope">
  351. <elaudio
  352. style="margin-left: 15%; width: 100px; height: 30px"
  353. :theUrl="`${hostUrl}/${scope.row.filePath}`"
  354. ></elaudio>
  355. </template>
  356. </el-table-column>
  357. <el-table-column
  358. header-align="center"
  359. align="center"
  360. label="操作"
  361. >
  362. <template slot-scope="scope">
  363. <el-button
  364. size="mini"
  365. @click="removeFile(scope.row.id, scope.$index)"
  366. type="danger"
  367. >删除</el-button
  368. >
  369. </template>
  370. </el-table-column>
  371. </el-table>
  372. </el-tab-pane>
  373. <el-tab-pane :label="videotabName">
  374. <el-table
  375. border
  376. :data="videoArray"
  377. style="width: 100%; margin: 0 auto"
  378. >
  379. <el-table-column
  380. header-align="center"
  381. align="center"
  382. label="视频"
  383. >
  384. <template slot-scope="scope">
  385. <video-player
  386. class="vjs-custom-skin"
  387. ref="videoPlayer"
  388. :options="scope.row"
  389. :playsinline="true"
  390. ></video-player>
  391. </template>
  392. </el-table-column>
  393. <el-table-column
  394. header-align="center"
  395. align="center"
  396. label="操作"
  397. >
  398. <template slot-scope="scope">
  399. <el-button
  400. size="mini"
  401. @click="removeFile(scope.row.id, scope.$index)"
  402. type="danger"
  403. >删除</el-button
  404. >
  405. </template>
  406. </el-table-column>
  407. </el-table>
  408. </el-tab-pane>
  409. <el-tab-pane :label="filetabName">
  410. <el-table
  411. border
  412. :data="fileArray"
  413. style="width: 100%; margin: 0 auto"
  414. >
  415. <el-table-column
  416. header-align="center"
  417. align="center"
  418. label="文档"
  419. >
  420. <template slot-scope="scope">
  421. <p>
  422. <a
  423. :href="`${hostUrl}/${scope.row.filePath}`"
  424. target="_blank"
  425. rel="noopener noreferrer"
  426. >
  427. {{ scope.row.fileName }}
  428. </a>
  429. </p>
  430. </template>
  431. </el-table-column>
  432. <el-table-column
  433. header-align="center"
  434. align="center"
  435. label="操作"
  436. >
  437. <template slot-scope="scope">
  438. <el-button
  439. size="mini"
  440. @click="removeFile(scope.row.id, scope.$index)"
  441. type="danger"
  442. >删除</el-button
  443. >
  444. </template>
  445. </el-table-column>
  446. </el-table>
  447. </el-tab-pane>
  448. </el-tabs>
  449. </div>
  450. <p class="item_title">
  451. <i class="el-icon-caret-right"></i>
  452. <span>佐证资料</span>
  453. </p>
  454. <div
  455. style="
  456. width: 99%;
  457. float: left;
  458. border: 1px solid rgb(213, 213, 255);
  459. margin-right: 5px;
  460. overflow-y: auto;
  461. max-height: 30vh;
  462. "
  463. >
  464. <el-tabs style="margin: 0px 5px">
  465. <el-tab-pane :label="picturetabName2">
  466. <el-row>
  467. <div
  468. style="
  469. overflow-y: auto;
  470. overflow-x: hidden;
  471. max-height: 42vh;
  472. padding: 10px;
  473. "
  474. >
  475. <div class="upload-container">
  476. <viewer :images="pictureArray2">
  477. <draggable
  478. v-model="pictureArray2"
  479. :options="{ group: 'image' }"
  480. @change="dragChange"
  481. >
  482. <div
  483. v-if="editPicRefresh"
  484. v-for="(item, index) in pictureArray2"
  485. :key="index"
  486. class="image-preview image-app-preview"
  487. >
  488. <div class="image-preview-wrapper">
  489. <img
  490. :src="`${hostUrl}/${
  491. item.filePath
  492. }?d=${new Date().getTime()}`"
  493. />
  494. <div class="image-preview-action">
  495. <!-- <i @click="previewFile(item.filePath)" class="el-icon-zoom-in"></i> -->
  496. <i
  497. @click="removeFile(item.id)"
  498. class="el-icon-delete"
  499. ></i>
  500. <i
  501. @click="editPicEvent(item)"
  502. class="el-icon-edit-outline"
  503. ></i>
  504. </div>
  505. </div>
  506. </div>
  507. </draggable>
  508. </viewer>
  509. </div>
  510. </div>
  511. </el-row>
  512. </el-tab-pane>
  513. <el-tab-pane :label="audiotabName2">
  514. <el-table
  515. border
  516. :data="audioArray2"
  517. style="width: 100%; margin: 0 auto"
  518. >
  519. <el-table-column
  520. header-align="center"
  521. align="center"
  522. label="音频"
  523. >
  524. <template slot-scope="scope">
  525. <elaudio
  526. style="margin-left: 15%; width: 100px; height: 30px"
  527. :theUrl="`${hostUrl}/${scope.row.filePath}`"
  528. ></elaudio>
  529. </template>
  530. </el-table-column>
  531. <el-table-column
  532. header-align="center"
  533. align="center"
  534. label="操作"
  535. >
  536. <template slot-scope="scope">
  537. <el-button
  538. size="mini"
  539. @click="removeFile(scope.row.id, scope.$index)"
  540. type="danger"
  541. >删除</el-button
  542. >
  543. </template>
  544. </el-table-column>
  545. </el-table>
  546. </el-tab-pane>
  547. <el-tab-pane :label="videotabName2">
  548. <el-table
  549. border
  550. :data="videoArray2"
  551. style="width: 100%; margin: 0 auto"
  552. >
  553. <el-table-column
  554. header-align="center"
  555. align="center"
  556. label="视频"
  557. >
  558. <template slot-scope="scope">
  559. <video-player
  560. class="vjs-custom-skin"
  561. ref="videoPlayer"
  562. :options="scope.row"
  563. :playsinline="true"
  564. ></video-player>
  565. </template>
  566. </el-table-column>
  567. <el-table-column
  568. header-align="center"
  569. align="center"
  570. label="操作"
  571. >
  572. <template slot-scope="scope">
  573. <el-button
  574. size="mini"
  575. @click="removeFile(scope.row.id, scope.$index)"
  576. type="danger"
  577. >删除</el-button
  578. >
  579. </template>
  580. </el-table-column>
  581. </el-table>
  582. </el-tab-pane>
  583. <el-tab-pane :label="filetabName2">
  584. <el-table
  585. border
  586. :data="fileArray2"
  587. style="width: 100%; margin: 0 auto"
  588. >
  589. <el-table-column
  590. header-align="center"
  591. align="center"
  592. label="文档"
  593. >
  594. <template slot-scope="scope">
  595. <p>
  596. <a
  597. :href="`${hostUrl}/${scope.row.filePath}`"
  598. target="_blank"
  599. rel="noopener noreferrer"
  600. >
  601. {{ scope.row.fileName }}
  602. </a>
  603. </p>
  604. </template>
  605. </el-table-column>
  606. <el-table-column
  607. header-align="center"
  608. align="center"
  609. label="操作"
  610. >
  611. <template slot-scope="scope">
  612. <el-button
  613. size="mini"
  614. @click="removeFile(scope.row.id, scope.$index)"
  615. type="danger"
  616. >删除</el-button
  617. >
  618. </template>
  619. </el-table-column>
  620. </el-table>
  621. </el-tab-pane>
  622. </el-tabs>
  623. </div>
  624. </div>
  625. </div>
  626. <div slot="footer">
  627. <el-button @click="closeDialog">取 消</el-button>
  628. <el-button type="primary" @click="submitProblem">保 存</el-button>
  629. </div>
  630. <add-new-problem-com
  631. v-if="innerVisible"
  632. :titleType="'添加'"
  633. :listType="listType"
  634. @dialogClose="closeInnerDialog"
  635. ></add-new-problem-com>
  636. </el-dialog>
  637. </template>
  638. <script>
  639. // import request from '@util/gw_ajax_request.js'
  640. // import {formatDateTime2} from '@util/gw_date.js'
  641. // import {} from '@api/InspectionReport.js'
  642. import {
  643. getSelectProblemList,
  644. getProblemNatureApi,
  645. getUnitNameListApi,
  646. TacObiPblmHbUpdate,
  647. // submitInsetMustProblemApi,
  648. TacObiPblmHbShow,
  649. submitProblemApi,
  650. } from "@api/InspectionReport.js";
  651. import { updatelist, deleteFileById } from "@api/duChaAPI.js";
  652. import addNewProblemCom from "./addInspectionProblem.vue";
  653. import upload from "@widget/uploadFileWithType";
  654. import { hostUrl } from "@util/global_variable.js";
  655. export default {
  656. props: ["titleType", "rowData", "listType", "pageName", "objId","currentNodeId"],
  657. components: {
  658. addNewProblemCom,
  659. upload,
  660. },
  661. data() {
  662. var subjectIdValidator = (rule, value, callback) => {
  663. let unitNames = [];
  664. let subIds = [];
  665. this.uniArr(this.unitArray).forEach((ele) => {
  666. unitNames.push(ele.unitNm);
  667. subIds.push(ele.subId);
  668. });
  669. unitNames = unitNames.filter(function (s) {
  670. return s && s.trim();
  671. });
  672. subIds = subIds.filter(function (s) {
  673. return s && s.trim();
  674. });
  675. if ( unitNames.length === 0 && subIds.length === 0 ) {
  676. callback(new Error('对应的单位性质或单位名称其中一个不能为空'));
  677. }else{
  678. callback();
  679. }
  680. };
  681. return {
  682. form: {
  683. chkItem: "",
  684. chkFrp: "",
  685. pblmMasteryLevel: "",
  686. chkGist: "",
  687. isPblm: "", // 是否有问题 1
  688. pblmstdId: "", // 问题Id
  689. pblmsDesc: "", // 问题描述1
  690. subjectNames: [], // 责任单位1 单位名称集合
  691. subjectId:'', // 责任单位1 用来判断非空的
  692. subjectIds: [], // 责任单位1 单位性质集合
  693. pblmPasi: "", // 问题定性1
  694. nt: "", // 说明1
  695. objType: "8", // !!
  696. objId: '',
  697. listType: '', //六个专业的类型123456
  698. },
  699. dialogFormVisible: true,
  700. rules: {
  701. isPblm:[{ required: true, message: "请选择检查结果", trigger: "change" }],
  702. pblmstdId: [{ required: true, message: "请选择问题", trigger: "change" }],
  703. pblmsDesc: [{ required: true, message: "请输入问题描述", trigger: "change" }],
  704. subjectId: [{ required: true, validator: subjectIdValidator, trigger: "change" }],
  705. pblmPasi: [{ required: true, message: "请选择问题定性", trigger: "change" },],
  706. nt: [{ required: true, message: "请输入有关情况说明", trigger: "change" },],
  707. },
  708. professionList: [
  709. { label: "前期与设计", value: "1" },
  710. { label: "建设管理", value: "2" },
  711. { label: "计划下达与执行", value: "3" },
  712. { label: "资金使用与管理", value: "4" },
  713. { label: "质量行为", value: "5" },
  714. { label: "质量实体", value: "6" },
  715. { label: "工程安全", value: "7" },
  716. ],
  717. ynList: [
  718. { label: "有问题", value: "1" },
  719. { label: "无问题", value: "0" },
  720. ],
  721. preUrl: "",
  722. // listType: "", //六个专业的类型123456
  723. picturetabName: "",
  724. audiotabName: "",
  725. videotabName: "",
  726. filetabName: "",
  727. pictureArray: [],
  728. audioArray: [],
  729. videoArray: [],
  730. fileArray: [],
  731. picturetabName2: "",
  732. audiotabName2: "",
  733. videotabName2: "",
  734. filetabName2: "",
  735. pictureArray2: [],
  736. audioArray2: [],
  737. videoArray2: [],
  738. fileArray2: [],
  739. editPicRefresh: true,
  740. picUrl: "",
  741. picId: "",
  742. pblmId: "", // 数据id
  743. addPicPanel: false,
  744. addPicPanel1: false,
  745. unitArray: [
  746. {
  747. unitNm: "",
  748. subId: "",
  749. },
  750. ],
  751. bizType: "1", // 文件上传序号
  752. // problemDxList: "", // 问题分类列表
  753. gwComFileList: [],
  754. problemList: [], // 问题列表
  755. objSubjectList: [], //单位性质列表
  756. unitNameList: [], //单位名称列表
  757. innerVisible: false, // 添加问题弹框
  758. cateObjList: [],//严重程度列表
  759. selectShow: true,
  760. inputShow: false,
  761. inputText: '',
  762. problemInfo: {},
  763. changeSupervision:{},// 回显查询结果
  764. };
  765. },
  766. computed: {
  767. hostUrl() {
  768. // return window.location.href.indexOf('localhost') > -1 || window.location.href.indexOf("10.1.102.64") > -1 ? 'http://10.1.102.240:8200' : `${window.location.protocol}//${window.location.hostname}`
  769. return hostUrl;
  770. },
  771. isFujian() {
  772. if (localStorage.getItem("currentRlcode").substring(0, 2) == "35") {
  773. return true;
  774. } else {
  775. return false;
  776. }
  777. },
  778. persId() {
  779. return localStorage.getItem("userid") ? localStorage.getItem("userid") : "1098101939614724096";
  780. },
  781. isGd(){
  782. if(localStorage.getItem('currentRlcode').substring(0,2)=="44"){
  783. return true;
  784. }else{
  785. return false;
  786. }
  787. },
  788. isSc(){
  789. if(localStorage.getItem('currentRlcode').substring(0,2)=="51"){
  790. return true;
  791. }else{
  792. return false;
  793. }
  794. },
  795. isSd(){
  796. if(localStorage.getItem('currentRlcode').substring(0,2)=="37"){
  797. return true;
  798. }else{
  799. return false;
  800. }
  801. },
  802. isHb(){
  803. if(localStorage.getItem('currentRlcode').substring(0,2)=="42"){
  804. return true;
  805. }else{
  806. return false;
  807. }
  808. }
  809. },
  810. mounted() {
  811. this.getProblemList();
  812. if (this.titleType == "编辑") {
  813. this.pblmId = this.rowData.id;
  814. this.changeSup();
  815. }
  816. this.$nextTick(()=>{
  817. this.$refs["form"].clearValidate()
  818. })
  819. },
  820. methods: {
  821. changeSup() {
  822. this.pictureArray = [];
  823. this.audioArray = [];
  824. this.videoArray = [];
  825. this.fileArray = [];
  826. this.pictureArray2 = [];
  827. this.audioArray2 = [];
  828. this.videoArray2 = [];
  829. this.fileArray2 = [];
  830. TacObiPblmHbShow(this.pblmId)
  831. .then((res) => {
  832. if (res.success) {
  833. this.form = res.data;
  834. this.changeSupervision = res.data;
  835. if(this.changeSupervision.tacObjPblmstb){
  836. this.form.pblmstdId = this.changeSupervision.tacObjPblmstb.id
  837. }
  838. if(this.changeSupervision.pblmSubjectList){
  839. this.unitArray = this.changeSupervision.pblmSubjectList
  840. }
  841. if(this.changeSupervision.tacObjPblmstb){
  842. this.objSubjectList = this.changeSupervision.tacObjPblmstb.objSubjectList
  843. this.cateObjList = this.changeSupervision.tacObjPblmstb.cateObjList
  844. this.form.pblmsDesc = this.changeSupervision.tacObjPblmstb.pblmsDesc
  845. }
  846. if(this.unitArray.length){
  847. this.unitArray.forEach((ele,index)=>{
  848. this.getUnitNameList(index)
  849. })
  850. }
  851. res.data.fileList.forEach((item) => {
  852. if (item.bizType === "1") {
  853. if (
  854. item.fileExt == "mp3" ||
  855. item.fileExt == "MP3" ||
  856. item.fileExt == "m4a"
  857. ) {
  858. this.audioArray.push(item);
  859. } else if (
  860. item.fileExt == "jpg" ||
  861. item.fileExt == "JPG" ||
  862. item.fileExt == "png" ||
  863. item.fileExt == "PNG" ||
  864. item.fileExt == "JPEG" ||
  865. item.fileExt == "jpeg"
  866. ) {
  867. this.pictureArray.push(item);
  868. } else if (item.fileExt == "mp4" || item.fileExt == "MP4") {
  869. this.videoArray.push({
  870. width: "130",
  871. height: "130",
  872. autoplay: false,
  873. muted: true,
  874. language: "en",
  875. playbackRates: [0.7, 1.0, 1.5, 2.0],
  876. sources: [
  877. {
  878. type: "video/mp4",
  879. src: this.hostUrl + item.filePath,
  880. },
  881. ],
  882. id: item.id,
  883. });
  884. } else {
  885. this.fileArray.push(item);
  886. }
  887. } else if (item.bizType === "2") {
  888. if (
  889. item.fileExt == "mp3" ||
  890. item.fileExt == "MP3" ||
  891. item.fileExt == "m4a"
  892. ) {
  893. this.audioArray2.push(item);
  894. } else if (
  895. item.fileExt == "jpg" ||
  896. item.fileExt == "JPG" ||
  897. item.fileExt == "png" ||
  898. item.fileExt == "PNG" ||
  899. item.fileExt == "JPEG" ||
  900. item.fileExt == "jpeg"
  901. ) {
  902. this.pictureArray2.push(item);
  903. } else if (item.fileExt == "mp4" || item.fileExt == "MP4") {
  904. this.videoArray2.push({
  905. width: "130",
  906. height: "130",
  907. autoplay: false,
  908. muted: true,
  909. language: "en",
  910. playbackRates: [0.7, 1.0, 1.5, 2.0],
  911. sources: [
  912. {
  913. type: "video/mp4",
  914. src: this.hostUrl + item.filePath,
  915. },
  916. ],
  917. id: item.id,
  918. });
  919. } else {
  920. this.fileArray2.push(item);
  921. }
  922. }
  923. });
  924. this.picturetabName = "图片资料(" + this.pictureArray.length + ")";
  925. this.audiotabName = "音频资料(" + this.audioArray.length + ")";
  926. this.videotabName = "视频资料(" + this.videoArray.length + ")";
  927. this.filetabName = "其它资料(" + this.fileArray.length + ")";
  928. this.picturetabName2 = "图片资料(" + this.pictureArray2.length + ")";
  929. this.audiotabName2 = "音频资料(" + this.audioArray2.length + ")";
  930. this.videotabName2 = "视频资料(" + this.videoArray2.length + ")";
  931. this.filetabName2 = "其它资料(" + this.fileArray2.length + ")";
  932. } else {
  933. this.$message.error(res.message);
  934. }
  935. this.loading = false;
  936. })
  937. .catch((err) => {
  938. this.$message.error(err);
  939. });
  940. },
  941. // 获取问题
  942. getProblemList() {
  943. getSelectProblemList(this.form.pblmstdId, this.listType)
  944. .then((res) => {
  945. if (res.success) {
  946. this.problemList = res.data.list;
  947. } else {
  948. this.$message.error(res.message);
  949. }
  950. this.loading = false;
  951. })
  952. .catch((err) => {
  953. this.$message.error(err);
  954. });
  955. },
  956. // 问题改变
  957. changeSelect(val) {
  958. getProblemNatureApi(val)
  959. .then((res) => {
  960. if (res.success) {
  961. this.problemInfo = res.data
  962. this.form.pblmsDesc = this.problemInfo.pblmsDesc
  963. this.objSubjectList = this.problemInfo.objSubjectList
  964. this.cateObjList = this.problemInfo.cateObjList // 严重程度
  965. if (this.cateObjList.length == 1) {
  966. this.inputShow = true;
  967. this.selectShow = false;
  968. this.form.pblmPasi = this.cateObjList[0].cate;
  969. this.inputText = this.cateObjList[0].desc;
  970. // 切换问题标准时问题严重性赋值问题
  971. this.cateObjList.forEach(ele => {
  972. if (this.form.pblmPasi && this.form.pblmPasi != ele.cate) {
  973. this.form.pblmPasi = ''
  974. }
  975. })
  976. } else {
  977. this.inputShow = false;
  978. this.selectShow = true;
  979. }
  980. } else {
  981. this.$message.error(res.message);
  982. }
  983. })
  984. .catch((err) => {
  985. this.$message.error(err);
  986. });
  987. },
  988. // 单位性质改变
  989. natureChange(val, index) {
  990. this.getUnitNameList(index);
  991. let _this = this;
  992. this.unitArray.forEach((ele, index) => {
  993. _this.objSubjectList.forEach((element) => {
  994. if (ele.subId == element.id) {
  995. this.unitArray[index].subName = element.subName;
  996. }
  997. });
  998. });
  999. },
  1000. // 单位名称改变
  1001. unitSelect() {
  1002. let _this = this;
  1003. this.unitArray.forEach((ele, index) => {
  1004. _this.unitNameList.forEach((element) => {
  1005. if (ele.unitNm == element.sysNm) {
  1006. this.unitArray[index].unitId = element.id;
  1007. }
  1008. });
  1009. });
  1010. },
  1011. // 获取单位名称
  1012. getUnitNameList(index) {
  1013. let paramsObj = {
  1014. rgstrId: this.currentNodeId,
  1015. sysType: this.unitArray[index].subId,
  1016. };
  1017. this.unitArray[index].unitNm = ""; //单位性质切换的时候清空单位名称
  1018. getUnitNameListApi(paramsObj).then(res => {
  1019. if (res.success) {
  1020. this.unitNameList = res.data
  1021. } else {
  1022. this.$message.error(res.message)
  1023. }
  1024. }).catch(err => {
  1025. this.$message.error(err)
  1026. })
  1027. },
  1028. addUnit() {
  1029. this.unitArray.push({ unitNm: "", unitId: "", subId: "", subName: "" });
  1030. },
  1031. removeUnit(index) {
  1032. this.unitArray.splice(index, 1);
  1033. },
  1034. uniArr(tempArr) {
  1035. var newTempArr = [];
  1036. if (tempArr && tempArr.length > 0) {
  1037. tempArr.forEach((item, index) => {
  1038. if (item.unitNm || item.subId) {
  1039. newTempArr.push(item);
  1040. }
  1041. });
  1042. for (let i = 0; i < newTempArr.length; i++) {
  1043. for (let j = i + 1; j < newTempArr.length; j++) {
  1044. if (
  1045. newTempArr[i].unitNm == newTempArr[j].unitNm &&
  1046. newTempArr[i].subId == newTempArr[j].subId
  1047. ) {
  1048. newTempArr.splice(j, 1);
  1049. j--;
  1050. }
  1051. }
  1052. }
  1053. return newTempArr;
  1054. } else {
  1055. return [];
  1056. }
  1057. },
  1058. // 添加问题
  1059. addNewProblem() {
  1060. this.innerVisible = true;
  1061. },
  1062. //监听内容dialog关闭时执行
  1063. closeInnerDialog() {
  1064. this.innerVisible = false;
  1065. this.getProblemList();
  1066. },
  1067. submitProblem() {
  1068. this.$refs["form"].validate((valid) => {
  1069. if (valid) {
  1070. let unitNames = [];
  1071. let subIds = [];
  1072. this.unitArray = this.uniArr(this.unitArray);
  1073. this.unitArray.forEach((ele) => {
  1074. unitNames.push(ele.unitNm);
  1075. subIds.push(ele.subId);
  1076. });
  1077. unitNames = unitNames.filter(function (s) {
  1078. return s && s.trim();
  1079. });
  1080. subIds = subIds.filter(function (s) {
  1081. return s && s.trim();
  1082. });
  1083. this.form.subjectNames = unitNames.join(",");
  1084. this.form.subjectIds = subIds.join(",");
  1085. this.form.pblmSubjectList = this.unitArray
  1086. this.form.objId = this.objId
  1087. this.form.listType = this.listType
  1088. this.form.rgstrId = this.currentNodeId
  1089. this.form.persId = this.persId
  1090. if (this.titleType == "编辑") {
  1091. if (this.form.isPblm === "1") {
  1092. let form1 = {
  1093. chkFrp:this.form.chkFrp,
  1094. pblmMasteryLevel:this.form.pblmMasteryLevel,
  1095. chkGist:this.form.chkGist,
  1096. chkItem:this.form.chkItem,
  1097. dataStat:this.form.dataStat,
  1098. fileList:this.form.fileList,
  1099. focPblm:this.form.focPblm,
  1100. genus:this.form.genus,
  1101. groupId:this.form.groupId,
  1102. intm:this.form.intm,
  1103. isPblm:this.form.isPblm,
  1104. listType:this.form.listType,
  1105. nt:this.form.nt,
  1106. objId:this.form.objId,
  1107. orgId:this.form.orgId,
  1108. pblmId:this.form.pblmId,
  1109. pblmNt:this.form.pblmNt,
  1110. pblmPasi:this.form.pblmPasi,
  1111. pblmSubjectList:this.form.pblmSubjectList,
  1112. pblmsDesc:this.form.pblmsDesc,
  1113. pblmstbHbId:this.form.pblmstbHbId,
  1114. pblmstdId:this.form.pblmstdId,
  1115. persId:this.form.persId,
  1116. province:this.form.province,
  1117. rgstrId:this.form.rgstrId,
  1118. sn:this.form.sn,
  1119. spfsnlType:this.form.spfsnlType,
  1120. state:this.form.state,
  1121. subjectIds:this.form.subjectIds,
  1122. subjectNames:this.form.subjectNames,
  1123. uptm:this.form.uptm,
  1124. }
  1125. submitProblemApi(form1)
  1126. .then((res) => {
  1127. if (res.success) {
  1128. this.form.pblmId = res.data.id
  1129. TacObiPblmHbUpdate(this.form)
  1130. .then((res) => {
  1131. if (res.success) {
  1132. this.$refs.uploadFile.submitUpload(this.pblmId);
  1133. this.$refs.uploadFile1.submitUpload(this.pblmId);
  1134. this.$message.success("修改成功");
  1135. this.$nextTick(() => {
  1136. this.$emit("dialogClose");
  1137. });
  1138. } else {
  1139. this.$message.error(res.message);
  1140. }
  1141. })
  1142. .catch((err) => {
  1143. this.$message.error(err);
  1144. });
  1145. } else {
  1146. this.$message.error(res.message);
  1147. }
  1148. })
  1149. .catch((err) => {
  1150. this.$message.error(err);
  1151. });
  1152. }else{
  1153. TacObiPblmHbUpdate(this.form)
  1154. .then((res) => {
  1155. if (res.success) {
  1156. this.$refs.uploadFile.submitUpload(this.pblmId);
  1157. this.$refs.uploadFile1.submitUpload(this.pblmId);
  1158. this.$message.success("修改成功");
  1159. this.$nextTick(() => {
  1160. this.$emit("dialogClose");
  1161. });
  1162. } else {
  1163. this.$message.error(res.message);
  1164. }
  1165. })
  1166. .catch((err) => {
  1167. this.$message.error(err);
  1168. });
  1169. }
  1170. }
  1171. } else {
  1172. return false;
  1173. }
  1174. });
  1175. },
  1176. closeDialog() {
  1177. this.$emit("dialogClose");
  1178. },
  1179. removeNewSupervision(arg) {
  1180. if (arg) {
  1181. var args = this.gwComFileList.concat(arg);
  1182. }
  1183. this.changeSup();
  1184. this.$emit("dialogClose");
  1185. this.gwComFileList = [];
  1186. },
  1187. addPic(val) {
  1188. if(val === '1'){
  1189. this.addPicPanel1 = !this.addPicPanel1;
  1190. }else{
  1191. this.addPicPanel = !this.addPicPanel;
  1192. }
  1193. },
  1194. // 删除图片文件
  1195. removeFile(id, index) {
  1196. var _self = this;
  1197. this.$confirm("此操作将永久删除该文件, 是否继续?", "提示", {
  1198. confirmButtonText: "确定",
  1199. cancelButtonText: "返回",
  1200. type: "warning",
  1201. }).then(
  1202. (res) => {
  1203. if (res === "confirm") {
  1204. deleteFileById(id, this.persId).then((res) => {
  1205. if (res.success) {
  1206. _self.changeSup();
  1207. } else {
  1208. this.failInfo(res.message);
  1209. }
  1210. });
  1211. }
  1212. },
  1213. (res) => {
  1214. console.log("返回");
  1215. }
  1216. );
  1217. },
  1218. editPicEvent(item) {
  1219. this.picUrl =
  1220. this.hostUrl + "/" + item.filePath + "?d=" + new Date().getTime();
  1221. this.editPicDialog = true;
  1222. this.editPicRefresh = false;
  1223. this.picId = item.id;
  1224. },
  1225. cancelHandler() {
  1226. this.editPicDialog = false;
  1227. this.editPicRefresh = true;
  1228. },
  1229. editPicDataEvent(item) {
  1230. request
  1231. .post(`/file/updateFile?bizId=${this.pblmId}&id=${this.picId}`, item, {
  1232. headers: { "Content-Type": "multipart/form-data" },
  1233. })
  1234. .then((res) => {
  1235. if (res.success) {
  1236. this.pictureArray = [];
  1237. this.pictureArray2 = [];
  1238. this.changeSup();
  1239. this.editPicDialog = false;
  1240. this.editPicRefresh = true;
  1241. this.$message.success("修改成功");
  1242. } else {
  1243. this.$message.warning("修改失败");
  1244. }
  1245. });
  1246. },
  1247. // 操作成功反馈
  1248. successInfo() {
  1249. this.$message({
  1250. type: "success",
  1251. message: "操作成功!",
  1252. });
  1253. },
  1254. // 操作失败反馈
  1255. failInfo(val) {
  1256. this.$message.error(val);
  1257. },
  1258. closeModal() {
  1259. this.$emit("dialogClose");
  1260. },
  1261. dragChange(val) {
  1262. console.log(val);
  1263. console.log(this.pictureArray);
  1264. let gwComFileList = [];
  1265. gwComFileList = gwComFileList
  1266. .concat(this.pictureArray)
  1267. .concat(this.audioArray)
  1268. .concat(this.videoArray)
  1269. .concat(this.fileArray);
  1270. this.form.gwComFileList = gwComFileList;
  1271. console.log(this.form.gwComFileList);
  1272. },
  1273. },
  1274. watch: {},
  1275. };
  1276. </script>
  1277. <style lang="scss" scoped>
  1278. .add_problem_dialog {
  1279. .el-dialog {
  1280. margin-top: 6vh !important;
  1281. margin-bottom: 20px;
  1282. }
  1283. .el-dialog__body {
  1284. font-size: 16px;
  1285. color: #333;
  1286. }
  1287. .problem_form {
  1288. display: flex;
  1289. // flex-direction: row;
  1290. width: 98%;
  1291. margin: 0 auto;
  1292. padding: 16px;
  1293. height: calc(100vh - 270px);
  1294. overflow: auto;
  1295. .item_title {
  1296. margin-top: 10px;
  1297. margin-bottom: 20px;
  1298. span:nth-of-type(1) {
  1299. width: 120px;
  1300. padding-left: 5px;
  1301. }
  1302. }
  1303. .hrs {
  1304. display: inline-block;
  1305. width: calc(100% - 40px);
  1306. margin-left: 10px;
  1307. height: 1px;
  1308. vertical-align: middle;
  1309. background-color: #ddd;
  1310. }
  1311. .el-icon-circle-plus,
  1312. .el-icon-remove {
  1313. margin-left: 10px;
  1314. color: #009fff;
  1315. cursor: pointer;
  1316. }
  1317. .el-icon-remove {
  1318. color: red;
  1319. }
  1320. .box-card {
  1321. margin-bottom: 6px;
  1322. }
  1323. .el-form-item__label {
  1324. font-size: 16px;
  1325. color: #333;
  1326. }
  1327. }
  1328. .el-button--mini {
  1329. font-size: 14px;
  1330. }
  1331. .el-input--mini {
  1332. font-size: 14px;
  1333. }
  1334. .el-textarea.is-disabled .el-textarea__inner {
  1335. color: #666;
  1336. }
  1337. }
  1338. .problem_select .el-select-dropdown__item {
  1339. width: 800px;
  1340. }
  1341. .add_new_problem {
  1342. color: #009fff;
  1343. cursor: pointer;
  1344. }
  1345. .scroll_wrapper {
  1346. overflow: hidden;
  1347. }
  1348. .scroll_wrapper .el-form {
  1349. padding-top: 5px;
  1350. padding-right: 5px;
  1351. }
  1352. .upload-container {
  1353. width: 100%;
  1354. position: relative;
  1355. .image-uploader {
  1356. width: 35%;
  1357. float: left;
  1358. }
  1359. .image-preview {
  1360. width: 200px;
  1361. height: 200px;
  1362. position: relative;
  1363. border: 1px dashed #d9d9d9;
  1364. float: left;
  1365. // margin-left: 50px;
  1366. .image-preview-wrapper {
  1367. position: relative;
  1368. width: 100%;
  1369. height: 100%;
  1370. img {
  1371. width: 100%;
  1372. height: 100%;
  1373. }
  1374. }
  1375. .image-preview-action {
  1376. position: absolute;
  1377. width: 100%;
  1378. height: 40px;
  1379. left: 0;
  1380. bottom: 0;
  1381. color: #fff;
  1382. opacity: 0;
  1383. font-size: 20px;
  1384. background-color: rgba(0, 0, 0, 0.5);
  1385. transition: opacity 0.3s;
  1386. cursor: pointer;
  1387. text-align: center;
  1388. line-height: 40px;
  1389. .el-icon-delete,
  1390. .el-icon-zoom-in {
  1391. font-size: 22px;
  1392. margin: 0 5px;
  1393. }
  1394. }
  1395. &:hover {
  1396. .image-preview-action {
  1397. opacity: 1;
  1398. }
  1399. }
  1400. }
  1401. .image-app-preview {
  1402. margin-bottom: 10px;
  1403. margin-right: 6px;
  1404. width: 40vh;
  1405. height: 180px;
  1406. position: relative;
  1407. border: 1px dashed #d9d9d9;
  1408. float: left;
  1409. // margin-left: 50px;
  1410. .app-fake-conver {
  1411. height: 44px;
  1412. position: absolute;
  1413. width: 100%; // background: rgba(0, 0, 0, .1);
  1414. text-align: center;
  1415. line-height: 64px;
  1416. color: #fff;
  1417. }
  1418. }
  1419. }
  1420. .problem_select .el-select-dropdown__item {
  1421. width: 500px;
  1422. }
  1423. .modify_problem_dialog {
  1424. .el-dialog__body {
  1425. font-size: 15px;
  1426. }
  1427. .el-form-item__label {
  1428. font-size: 15px;
  1429. color: #333;
  1430. }
  1431. .el-input--mini {
  1432. font-size: 13px;
  1433. }
  1434. .el-button--mini {
  1435. font-size: 14px;
  1436. }
  1437. .el-icon-circle-plus,
  1438. .el-icon-remove {
  1439. margin-left: 10px;
  1440. color: #009fff;
  1441. cursor: pointer;
  1442. }
  1443. .el-icon-remove {
  1444. color: red;
  1445. }
  1446. }
  1447. .el-icon-refresh-right {
  1448. font-size: 36px;
  1449. cursor: pointer;
  1450. }
  1451. .pic_dialog .el-dialog {
  1452. margin-top: 10vh !important;
  1453. }
  1454. .viewer-container {
  1455. z-index: 9999 !important;
  1456. }
  1457. </style>