74a4eda8f83464ad05987a4ca4eb3576c0a657ee.svn-base 68 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624
  1. <template>
  2. <div style="height:100%;width:100%" id="wenTiContainer_sk" class="wt_wrapper">
  3. <el-container>
  4. <el-aside
  5. width="318px"
  6. style="float:left"
  7. :style="{'max-height':testHeight+'px','height':testHeight+'px'}"
  8. >
  9. <wt-left-tree orgType="026" :isAll="!hasPriv" @treeNodeClickHandler="treeNodeClickHandler" @changeYear="changeYear"
  10. @organList="getAllTreeData"></wt-left-tree>
  11. </el-aside>
  12. <!-- 主要窗口 -->
  13. <el-main class="shuiku" v-loading="exportLoading">
  14. <!-- <el-card> -->
  15. <div class="pages" :style="{'max-height':testHeight+'px'}">
  16. <div style="padding: 12px 0 0 0" class="wt_search_wrapper">
  17. <el-row type="flex" justify="space-between">
  18. <el-col :span="24">
  19. <el-form :inline="true" size="mini" class="demo-form-inline"
  20. style="padding-left: 10px;">
  21. <el-form-item label="行政区划:">
  22. <el-input
  23. resize="none"
  24. type="input"
  25. :rows="3"
  26. placeholder="请输入行政区划名称"
  27. v-model.trim="findParams.adFullName"
  28. clearable
  29. ></el-input>
  30. </el-form-item>
  31. <el-form-item label="水库名称:">
  32. <el-input
  33. resize="none"
  34. type="input"
  35. :rows="3"
  36. placeholder="请输入水库名称"
  37. v-model.trim="findParams.nm"
  38. clearable
  39. ></el-input>
  40. </el-form-item>
  41. <el-form-item label="问题类别:">
  42. <el-select v-model="findParams.inspPblmName" clearable placeholder="请选择">
  43. <el-option
  44. v-for="item in problemList"
  45. :key="item.guid"
  46. :label="item.inspPblmsName"
  47. :value="item.inspPblmsName"
  48. ></el-option>
  49. </el-select>
  50. </el-form-item>
  51. <el-form-item label="严重程度:">
  52. <el-select v-model="findParams.inspPblmCate" clearable placeholder="请选择">
  53. <el-option
  54. v-for="item in supervisionState"
  55. :key="item.value"
  56. :label="item.label"
  57. :value="item.value"
  58. ></el-option>
  59. </el-select>
  60. </el-form-item>
  61. <el-form-item label="是否典型:">
  62. <el-select v-model="findParams.ifCasePblm" clearable placeholder="请选择">
  63. <el-option
  64. v-for="item in supervision"
  65. :key="item.value"
  66. :label="item.label"
  67. :value="item.value"
  68. ></el-option>
  69. </el-select>
  70. </el-form-item>
  71. <el-form-item label="问题筛选:">
  72. <el-select v-model="pblscr" clearable placeholder="请选择">
  73. <el-option
  74. v-for="item in pblscrList"
  75. :key="item.value"
  76. :label="item.lable"
  77. :value="item.value"
  78. ></el-option>
  79. </el-select>
  80. </el-form-item>
  81. <el-form-item label="发现时间:">
  82. <el-date-picker
  83. v-model="value6"
  84. type="daterange"
  85. value-format="yyyy-MM-dd"
  86. range-separator="至"
  87. start-placeholder="开始日期"
  88. end-placeholder="结束日期"
  89. ></el-date-picker>
  90. </el-form-item>
  91. </el-form>
  92. </el-col>
  93. </el-row>
  94. <el-row type="flex" justify="space-between" v-show="showExpandSearchPanel">
  95. <el-col :span="24">
  96. <el-form :inline="true" size="mini" class="demo-form-inline"
  97. style="padding-left: 10px;">
  98. <el-form-item label="上报人员:">
  99. <el-input
  100. resize="none"
  101. type="input"
  102. :rows="3"
  103. placeholder="请输入名称"
  104. v-model.trim="findParams.persName"
  105. ></el-input>
  106. </el-form-item>
  107. <el-form-item label="所在组:">
  108. <el-input
  109. resize="none"
  110. type="input"
  111. :rows="3"
  112. placeholder="请输入所在组名称"
  113. v-model.trim="pblscrGroup"
  114. clearable
  115. ></el-input>
  116. </el-form-item>
  117. <el-form-item label="多媒体:">
  118. <el-select v-model="findParams.hasVedio" clearable placeholder="请选择">
  119. <el-option
  120. v-for="item in hasVedio1"
  121. :key="item.value"
  122. :label="item.label"
  123. :value="item.value"
  124. ></el-option>
  125. </el-select>
  126. </el-form-item>
  127. </el-form>
  128. </el-col>
  129. </el-row>
  130. <el-row type="flex" justify="space-between" style="border-top:1px solid rgba(0, 20, 255, 0.12);">
  131. <el-col style='padding-bottom:10px;' :offset="11" :span="2">
  132. <el-button style="float:right;margin-right:10px;border: 1px solid #0014ff2e;
  133. border-radius: 0px 0px 5px 5px;border-top: 0px;" type="info" plain
  134. size="mini"
  135. @click="showExpandSearchPanel = !showExpandSearchPanel"
  136. >
  137. {{showExpandSearchPanel?'收起':'更多条件'}}
  138. <i class="el-icon-arrow-down el-icon--right" v-show="!showExpandSearchPanel"/>
  139. <i class="el-icon-arrow-up el-icon--right" v-show="showExpandSearchPanel"/>
  140. </el-button>
  141. </el-col>
  142. <el-col :offset="2" :span="9">
  143. <tongYongWentiPl v-if="showShuiKuTianBaoPl"
  144. :showShuiKuTianBaoPl="showShuiKuTianBaoPl"
  145. titleName="水库防洪"
  146. @closePlDialog="closePlDialog">
  147. </tongYongWentiPl>
  148. </el-col>
  149. </el-row>
  150. <div class="wt_search_btn">
  151. <el-button type="primary" @click="search">查询</el-button>
  152. </div>
  153. </div>
  154. <!-- 查询展示 -->
  155. <div class="search table_wrapper">
  156. <!-- <div class="table_operate">-->
  157. <!-- <el-button-->
  158. <!-- style="color:rgba(255,255,255,1);float:right;margin-right:10px;margin-top:5px;"-->
  159. <!-- type="success"-->
  160. <!-- icon="el-icon-upload2"-->
  161. <!-- @click="showPlDialog"-->
  162. <!-- :disabled="uploadDisabled"-->
  163. <!-- > 批 量 填 报-->
  164. <!-- </el-button>-->
  165. <!-- <el-button-->
  166. <!-- style="color:rgba(255,255,255,1);float:right;margin-right:10px;margin-top:5px;"-->
  167. <!-- type="success"-->
  168. <!-- icon="el-icon-download"-->
  169. <!-- @click="exportWord"-->
  170. <!-- :loading="exportLoading"-->
  171. <!-- >导出WORD-->
  172. <!-- </el-button>-->
  173. <!-- <el-button-->
  174. <!-- style="color:rgba(255,255,255,1);float:right;margin-top:5px;"-->
  175. <!-- type="success"-->
  176. <!-- @click="downloadTemplate"-->
  177. <!-- :loading="buttonLoading"-->
  178. <!-- >导出EXCEL-->
  179. <!-- </el-button>-->
  180. <!-- </div>-->
  181. <el-table
  182. v-loading="loading"
  183. border
  184. stripe
  185. ref="multipleTable"
  186. :height="tableHeight"
  187. :data="searchResult"
  188. tooltip-effect="dark"
  189. style="width: 100%"
  190. @selection-change="handleSelectionChange"
  191. >
  192. <el-table-column align="center" type="index" label="序号" width="50">
  193. <template slot-scope="scope">{{ (currentPage - 1) * pageSize + (scope.$index + 1) }}
  194. </template>
  195. </el-table-column>
  196. <el-table-column
  197. header-align="center"
  198. align="center"
  199. min-width="60"
  200. prop="province"
  201. label="省"
  202. show-overflow-tooltip
  203. ></el-table-column>
  204. <el-table-column
  205. header-align="center"
  206. align="center"
  207. min-width="60"
  208. prop="city"
  209. label="市"
  210. show-overflow-tooltip
  211. ></el-table-column>
  212. <el-table-column
  213. header-align="center"
  214. align="center"
  215. min-width="60"
  216. prop="country"
  217. label="县"
  218. show-overflow-tooltip
  219. ></el-table-column>
  220. <el-table-column
  221. header-align="center"
  222. align="center"
  223. min-width="110"
  224. prop="nm"
  225. label="水库名称"
  226. show-overflow-tooltip
  227. ></el-table-column>
  228. <el-table-column
  229. header-align="center"
  230. align="center"
  231. min-width="140"
  232. prop="inspPblmsName"
  233. label="问题类别"
  234. show-overflow-tooltip
  235. ></el-table-column>
  236. <el-table-column
  237. header-align="center"
  238. align="center"
  239. min-width="140"
  240. prop="checkPoint"
  241. label="检查项目"
  242. show-overflow-tooltip
  243. ></el-table-column>
  244. <el-table-column
  245. header-align="center"
  246. align="center"
  247. min-width="160"
  248. prop="inspPblmDesc"
  249. label="问题描述"
  250. show-overflow-tooltip
  251. ></el-table-column>
  252. <el-table-column
  253. header-align="center"
  254. align="center"
  255. min-width="100"
  256. prop="inspPblmCate"
  257. label="程度">
  258. <template slot-scope="scope">
  259. <p v-if="scope.row.inspPblmCate == 0"><span class="inspPblmCate"
  260. style="color: #00BE6D;">一般</span>
  261. </p>
  262. <p v-if="scope.row.inspPblmCate == 1"><span class="inspPblmCate"
  263. style="color: #F88D2E;">较重</span>
  264. </p>
  265. <p v-if="scope.row.inspPblmCate == 2"><span class="inspPblmCate"
  266. style="color: #ED2B2F;">严重</span>
  267. </p>
  268. <p v-if="scope.row.inspPblmCate == 3"><span class="inspPblmCate"
  269. style="color: #795548;">特别严重</span>
  270. </p>
  271. </template>
  272. </el-table-column>
  273. <el-table-column
  274. header-align="center"
  275. align="center"
  276. min-width="60"
  277. prop="attach"
  278. label="附件"
  279. show-overflow-tooltip>
  280. <template slot-scope="scope">
  281. <span>{{'附件' + scope.row.attach}}</span>
  282. </template>
  283. </el-table-column>
  284. <el-table-column
  285. header-align="center"
  286. align="center"
  287. min-width="80"
  288. prop="snNum"
  289. label="问题序号"
  290. show-overflow-tooltip
  291. ></el-table-column>
  292. <el-table-column
  293. header-align="center"
  294. align="center"
  295. min-width="70"
  296. prop="persName"
  297. label="上报人"
  298. ></el-table-column>
  299. <el-table-column
  300. header-align="center"
  301. align="center"
  302. min-width="80"
  303. show-overflow-tooltip
  304. prop="orgNm"
  305. label="所在组"
  306. ></el-table-column>
  307. <el-table-column
  308. prop="collTime"
  309. label="上报时间"
  310. sortable
  311. align="center"
  312. min-width="110"
  313. show-overflow-tooltip>
  314. <template slot-scope="scope">
  315. {{scope.row.collTime ? formatDateTime(scope.row.collTime) : ''}}
  316. </template>
  317. </el-table-column>
  318. <el-table-column
  319. header-align="center"
  320. align="center"
  321. min-width="70"
  322. prop="hasVedio"
  323. label="多媒体"
  324. >
  325. <template slot-scope="scope">
  326. <p v-if="scope.row.hasVedio == 1">是</p>
  327. <p v-if="scope.row.hasVedio == 0">否</p>
  328. </template>
  329. </el-table-column>
  330. <el-table-column
  331. align="center"
  332. prop
  333. min-width="300"
  334. label="操作"
  335. show-overflow-tooltip
  336. fixed="right"
  337. >
  338. <template slot-scope="scope">
  339. <el-button size="mini" type="primary"
  340. @click="showDetails(scope.row.pblmId)"><i class="el-icon-document"></i> 详情</el-button>
  341. <el-button size="mini" type="warning" @click="changeSup(scope.row.pblmId)"
  342. v-if="hasPriv"><i class="el-icon-edit"></i> 编辑</el-button>
  343. <el-button
  344. size="mini" type="danger"
  345. v-if="hasPriv"
  346. @click="removeSuperviseOne(scope.row.pblmId)"
  347. ><i class="el-icon-delete"></i> 删除</el-button>
  348. </template>
  349. </el-table-column>
  350. </el-table>
  351. <!-- 分页 -->
  352. <div style="text-align: center">
  353. <el-pagination
  354. background
  355. @size-change="handleSizeChange"
  356. @current-change="search"
  357. :current-page.sync="currentPage"
  358. :page-sizes="[10, 20, 50, 100]"
  359. :page-size="pageSize"
  360. layout="total, sizes, prev, pager, next, jumper"
  361. :total="total"
  362. ></el-pagination>
  363. </div>
  364. </div>
  365. <!-- 详情弹框 -->
  366. <el-dialog
  367. class="outerDialog custom_dialog"
  368. title="问题详情"
  369. width="60%"
  370. :visible.sync="supervisionDetailsVisible"
  371. >
  372. <supervision-details ref="xianqing" :problemId="currentProblemId"
  373. :objType="26"></supervision-details>
  374. <span slot="footer">
  375. <el-button style="margin-top:5px;" @click="supervisionDetailsVisible = false">返回</el-button>
  376. </span>
  377. </el-dialog>
  378. <!-- 删除的弹窗 -->
  379. <el-dialog class="deleteDialog" title="问题删除描述" :visible.sync="problemDeleteVisible">
  380. <Problem-delete
  381. ref="deleteMiaoShu"
  382. :deleteProblemId="deleteId"
  383. @deleteSuccess="deleteSuccess"
  384. ></Problem-delete>
  385. <span slot="footer">
  386. <el-button @click="problemDeleteVisible = false">返回</el-button>
  387. </span>
  388. </el-dialog>
  389. <!-- 修改弹框 -->
  390. <problem-edit :editId="updateIdXiuGai" @closeEditDialog="closeEditDialog"
  391. v-if="changeSupervisionVisible"></problem-edit>
  392. </div>
  393. </el-main>
  394. </el-container>
  395. </div>
  396. </template>
  397. <script>
  398. import {
  399. findPageInfoShuiKu,
  400. getShuiKuWenTi,
  401. getXSKProblemNewExport,
  402. findPageInfo,
  403. removeSupervise,
  404. showDetailsXq,
  405. submitUpload,
  406. creatSupervise,
  407. getSupervisdByID,
  408. deleteFileById,
  409. updatelist,
  410. getEngId,
  411. findProblemPageInfo
  412. } from "@api/duChaAPI.js";
  413. import {formatDateTime2} from '@util/gw_date.js'
  414. import {exportModel} from "@util/gw_exportModel";
  415. import request from "@util/gw_ajax_request.js";
  416. import {hostUrl} from "@util/global_variable.js";
  417. import elaudio from "@widget/elAudioShort.vue";
  418. import inuptWithDuChaTreeNode from "@widget/inuptWithDuChaTreeNode.vue";
  419. import inputWidthDuChaNodes from "@widget/inputWithDuChaNodes.vue";
  420. import inputWidthDuChaShuiKu from "@widget/inputWith_sk.vue";
  421. import problemDialog from "./problemDialog.vue";
  422. import tongYongWentiPl from "./problemBatchImp/tongYongWenti_piliang.vue"
  423. import wtLeftTree from "./wtcz_lefttree.vue"
  424. export default {
  425. props: ["codeId"],
  426. components: {
  427. upload: resolve => {
  428. require(["../../widgets/uploadFile.vue"], resolve);
  429. },
  430. //详情页
  431. supervisionDetails: resolve => {
  432. require(["./supervisionDetails_fanghong.vue"], resolve);
  433. },
  434. // 删除描述页
  435. ProblemDelete: resolve => {
  436. require(["./problemDelete.vue"], resolve);
  437. },
  438. // 修改问题
  439. problemEdit: resolve => {
  440. require(["./problemModify/fanghongProblemModifyNew.vue"], resolve);
  441. },
  442. elaudio: elaudio,
  443. inuptWithDuChaTreeNode: inuptWithDuChaTreeNode,
  444. inputWidthDuChaNodes: inputWidthDuChaNodes,
  445. inputWidthDuChaShuiKu: inputWidthDuChaShuiKu,
  446. problemDialog: problemDialog,
  447. tongYongWentiPl: tongYongWentiPl,
  448. wtLeftTree: wtLeftTree
  449. },
  450. data() {
  451. var validatePass1 = (rules1, value, callback) => {
  452. if (this.newSupervision.startTime > this.newSupervision.endTime) {
  453. callback(new Error("结束时间不能早于开始时间"));
  454. } else {
  455. callback();
  456. }
  457. };
  458. var validatePass2 = (rules1, value, callback) => {
  459. let startTime = this.changeSupervision.startTime.slice(0, 10);
  460. if (startTime > this.changeSupervision.endTime) {
  461. callback(new Error("结束时间不能早于开始时间"));
  462. } else {
  463. callback();
  464. }
  465. };
  466. var divisionList = (rules1, value, callback) => {
  467. if (this.newGroup.divisionList.length) {
  468. callback();
  469. } else {
  470. callback(new Error("至少要添加一个地区"));
  471. }
  472. };
  473. return {
  474. showExpandSearchPanel: false,
  475. tableHeight: window.innerHeight - 326,
  476. globoId: "",
  477. addPicPanel: false,
  478. currentDate: new Date(),
  479. deleteId: "",
  480. treeNodeArray: [],
  481. treeNodeSelectVisible: false,
  482. adNodeArray: [],
  483. adNodeSelectVisible: false,
  484. areaSelectVisible: false,
  485. rsvrNodeArray: [],
  486. rsvrNodeSelectVisible: false,
  487. skSelectVisible: false,
  488. currentProblemId: "",
  489. updateIdXiuGai: "",
  490. rules1: {
  491. inspPblmName: [
  492. {
  493. required: true,
  494. message: "请输入问题名称",
  495. trigger: "blur"
  496. },
  497. {
  498. min: 1,
  499. max: 999,
  500. message: "不超过100字符",
  501. trigger: "blur"
  502. }
  503. ],
  504. inspPblmDesc: [
  505. {
  506. required: true,
  507. message: "请输入问题描述",
  508. trigger: "blur"
  509. }
  510. ],
  511. recPers: [
  512. {
  513. required: true,
  514. message: "请输入记录人",
  515. trigger: "blur"
  516. },
  517. {
  518. min: 1,
  519. max: 999,
  520. message: "不超过100字符",
  521. trigger: "blur"
  522. }
  523. ],
  524. objType: [
  525. {
  526. required: true,
  527. message: "请选择督查对象类型",
  528. trigger: "change"
  529. }
  530. ],
  531. objId: [
  532. {
  533. required: true,
  534. message: "请选择督查对象类型",
  535. trigger: "change"
  536. }
  537. ],
  538. inspPblmType: [
  539. {
  540. required: true,
  541. message: "请选择督查问题类型",
  542. trigger: "change"
  543. }
  544. ],
  545. dataStat: [
  546. {
  547. required: true,
  548. message: "请选择数据状态",
  549. trigger: "change"
  550. }
  551. ],
  552. collTime: [
  553. {
  554. required: true,
  555. message: "请选择采集时间",
  556. trigger: "change"
  557. }
  558. ],
  559. ifCasePblm: [
  560. {
  561. required: true,
  562. message: "请选择是否典型",
  563. trigger: "change"
  564. }
  565. ],
  566. pblmStat: [
  567. {
  568. required: true,
  569. message: "请选择问题类型",
  570. trigger: "change"
  571. }
  572. ],
  573. inspPblmCate: [
  574. {
  575. required: true,
  576. message: "请选择问题程度",
  577. trigger: "change"
  578. },
  579. {
  580. trigger: "change"
  581. }
  582. ]
  583. },
  584. dxdcAsideHeight: window.innerHeight - 220,
  585. maxHeight: window.innerHeight - 300,
  586. testHeight: window.innerHeight - 88,
  587. supervisionStateList: [
  588. {
  589. value: "0",
  590. label: "暂存"
  591. },
  592. {
  593. value: "1",
  594. label: "上报"
  595. }
  596. ],
  597. supervisionState: [
  598. {
  599. value: "0",
  600. label: "一般"
  601. },
  602. {
  603. value: "1",
  604. label: "较重"
  605. },
  606. {
  607. value: "2",
  608. label: "严重"
  609. },
  610. {
  611. value: "3",
  612. label: "特别严重"
  613. }
  614. ],
  615. supervision: [
  616. {
  617. value: "1",
  618. label: "是"
  619. },
  620. {
  621. value: "0",
  622. label: "否"
  623. }
  624. ],
  625. hasVedio1: [
  626. {
  627. value: "1",
  628. label: "是"
  629. },
  630. {
  631. value: "0",
  632. label: "否"
  633. }
  634. ],
  635. findUseOrgArray: [],
  636. areaInputValue: {},
  637. memberInputValue: {},
  638. multipleSelection: [], // 已选
  639. selectionType: {
  640. remove: 0,
  641. befor: 0,
  642. now: 0,
  643. after: 0
  644. },
  645. // 根据客户点击的督查类型查找督查对象ID
  646. // 新增
  647. listobjId: [],
  648. userId: localStorage.getItem("userid"),
  649. treeData: [],
  650. // 修改督查
  651. pictureArray: [],
  652. audioArray: [],
  653. videoArray: [],
  654. fileArray: [],
  655. audiotabName: "",
  656. videotabName: "",
  657. picturetabName: "",
  658. filetabName: "",
  659. playerOptions: {
  660. height: "120",
  661. autoplay: true,
  662. muted: true,
  663. language: "en",
  664. playbackRates: [0.7, 1.0, 1.5, 2.0],
  665. sources: [
  666. {
  667. type: "video/mp4",
  668. // mp4
  669. src: "http://vjs.zencdn.net/v/oceans.mp4"
  670. // webm
  671. // src: "https://cdn.theguardian.tv/webM/2015/07/20/150716YesMen_synd_768k_vp8.webm"
  672. },
  673. {
  674. type: "video/mp4",
  675. // mp4
  676. src: "http://vjs.zencdn.net/v/oceans.mp4"
  677. // webm
  678. // src: "https://cdn.theguardian.tv/webM/2015/07/20/150716YesMen_synd_768k_vp8.webm"
  679. },
  680. {
  681. type: "video/mp4",
  682. // mp4
  683. src: "http://vjs.zencdn.net/v/oceans.mp4"
  684. // webm
  685. // src: "https://cdn.theguardian.tv/webM/2015/07/20/150716YesMen_synd_768k_vp8.webm"
  686. },
  687. {
  688. type: "video/mp4",
  689. // mp4
  690. src: "http://vjs.zencdn.net/v/oceans.mp4"
  691. // webm
  692. // src: "https://cdn.theguardian.tv/webM/2015/07/20/150716YesMen_synd_768k_vp8.webm"
  693. }
  694. ]
  695. },
  696. changeSupervisionVisible: false,
  697. changeSupervisionLoading: false,
  698. changeSupervision: {
  699. nm: "",
  700. presId: localStorage.getItem("userid"),
  701. endTime: "",
  702. pblmId: "",
  703. objId: "",
  704. pType: "",
  705. inspGroupId: "",
  706. inspPblmName: "",
  707. inspPblmDesc: "",
  708. pblmLong: "",
  709. pblmLat: "",
  710. // pblmStat: "",
  711. ifCasePblm: "",
  712. inspPblmOrgName: "",
  713. pblmPersName: "",
  714. inspPblmCate: "",
  715. reviOpin: "",
  716. reviConc: "",
  717. reviOrgGuid: "",
  718. collTime: "",
  719. recPers: "",
  720. gwComFiles: [
  721. {
  722. id: "",
  723. filePath: "",
  724. bizId: ""
  725. }
  726. ]
  727. },
  728. flash: false,
  729. // 督查类型
  730. supervisionTypeList: [
  731. {
  732. value: "1",
  733. label: "小水库"
  734. }
  735. ],
  736. // 查询
  737. value6: [],
  738. findParams: {
  739. hasVedio: "",
  740. adCode: "",
  741. // pblmStat: "",
  742. inspPblmCate: "",
  743. ifCasePblm: "",
  744. nm: "",
  745. adFullName: "",
  746. startTime: "",
  747. endTime: "",
  748. pType: 26,
  749. inspPblmName: "",
  750. persId: localStorage.getItem("userid")
  751. },
  752. currentPage: 1, // 页码
  753. pageSize: 20, // 条数
  754. loading: false,
  755. total: 0, // 总数
  756. searchResult: [], // 结果
  757. crId: "", // 当前督查id
  758. // 督查详情
  759. userid: localStorage.getItem("userid"),
  760. supervisionDetailsVisible: false,
  761. problemDeleteVisible: false,
  762. supervisionDetails: {},
  763. pblmId: "",
  764. gwComFiles: [],
  765. pblscr: "",
  766. pblscrList: [
  767. {
  768. lable: "我的问题",
  769. value: localStorage.getItem("userid")
  770. }
  771. ],
  772. pblscrGroup: "",
  773. t1: {},
  774. t2: {},
  775. t3: {},
  776. problemList: [],
  777. currentCheckPointList: [],
  778. currentProblemDescList: [],
  779. xiangqingmiaoshu: '',
  780. wenTiLeiBie: "",
  781. jianChaXiangMu: "",
  782. actionUrl: "",
  783. fileList: [],
  784. header: {
  785. 'persId': localStorage.getItem('userid'),
  786. 'orgId': localStorage.getItem('currentOrgId')
  787. },
  788. fileListLength: 0,
  789. showShuiKuTianBaoPl: false,
  790. uploadDisabled: true,
  791. exportLoading: false,
  792. datas: {},
  793. buttonLoading: false,
  794. orgIds: '',
  795. newYear: ""
  796. };
  797. },
  798. computed: {
  799. hostUrl() {
  800. return hostUrl
  801. },
  802. formatDateTime() {
  803. return formatDateTime2
  804. },
  805. hasPriv(){
  806. return this.ownPriv('manage')
  807. }
  808. },
  809. created() {
  810. if (this.userId) {
  811. console.log("已经登录");
  812. this.search();
  813. } else {
  814. this.$router.push("/login");
  815. }
  816. this.getproblemSmallType();
  817. this.addPicPanel = false;
  818. },
  819. activated() {
  820. },
  821. methods: {
  822. handleCheckChange(data, checked, indeterminate) {
  823. let cNarray = this.$refs["jigou_tree"].getCheckedNodes();
  824. console.log(cNarray);
  825. this.treeNodeArray = cNarray;
  826. },
  827. // 查询参数逻辑
  828. insertTreeNode: function (params) {
  829. this.treeNodeArray.push({
  830. name: params.name,
  831. code: params.code
  832. });
  833. this.treeNodeSelectVisible = false;
  834. this.areaSelectVisible = false;
  835. this.skSelectVisible = false;
  836. },
  837. deleteTreeNode: function (tag) {
  838. let deleteIndex;
  839. this.treeNodeArray.forEach((item, index) => {
  840. if (item.code == tag.code) {
  841. deleteIndex = index;
  842. }
  843. });
  844. this.treeNodeArray.splice(deleteIndex, 1);
  845. },
  846. selectDuChaAreaNode(params) {
  847. this.adNodeArray.push(params);
  848. this.areaSelectVisible = false;
  849. this.skSelectVisible = false;
  850. },
  851. deleteAreaNode(tag) {
  852. let deleteIndex;
  853. this.adNodeArray.forEach((item, index) => {
  854. if (item.adCode == tag.adCode) {
  855. deleteIndex = index;
  856. return;
  857. }
  858. });
  859. this.adNodeArray.splice(deleteIndex, 1);
  860. },
  861. selectSkNode(params) {
  862. this.rsvrNodeArray.push(params);
  863. this.skSelectVisible = false;
  864. },
  865. deleteSkNode(tag) {
  866. let deleteIndex;
  867. this.rsvrNodeArray.forEach((item, index) => {
  868. if (item.rsCode == tag.rsCode) {
  869. deleteIndex = index;
  870. return;
  871. }
  872. });
  873. this.rsvrNodeArray.splice(deleteIndex, 1);
  874. },
  875. // end
  876. handleClose(tag) {
  877. this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1);
  878. },
  879. showInput() {
  880. this.inputVisible = true;
  881. this.$nextTick(_ => {
  882. this.$refs.saveTagInput.$refs.input.focus();
  883. });
  884. },
  885. // 操作成功反馈
  886. successInfo() {
  887. this.$message({
  888. type: "success",
  889. message: "操作成功!"
  890. });
  891. },
  892. // 操作失败反馈
  893. failInfo(val) {
  894. this.$message.error(val);
  895. },
  896. // 清空选择
  897. toggleSelection(rows) {
  898. this.$refs.multipleTable.clearSelection();
  899. },
  900. // 已选择项
  901. handleSelectionChange(val) {
  902. this.multipleSelection = val;
  903. },
  904. // 文件上传
  905. submitUpload() {
  906. },
  907. handleRemove(file, fileList) {
  908. console.log(file, fileList);
  909. },
  910. handlePreview(file) {
  911. console.log(file);
  912. },
  913. // 查询
  914. async search() {
  915. this.loading = true;
  916. let _self = this;
  917. let params = {
  918. userId: this.userId,
  919. orgType: "026",
  920. year: this.newYear
  921. }
  922. if(!this.hasPriv) params['isAll'] = 1 //只浏览的时候增加isAll参数 左侧树和问题列表展示所有机构
  923. await request
  924. .get("/dc/organization/base/getAllNode", {
  925. params: params
  926. })
  927. .then(res => {
  928. let orgAllNode = res.data;
  929. _self.loading = true;
  930. let data = _self.findParams;
  931. data.startTime = _self.value6 && _self.value6.length > 0 ? _self.value6[0] : '';
  932. data.endTime = _self.value6 && _self.value6.length > 0 ? _self.value6[1] : '';
  933. data.pageNum = _self.currentPage;
  934. data.recPers = _self.pblscr;
  935. data.orgNm = _self.pblscrGroup;
  936. data.pageSize = _self.pageSize;
  937. // data.type = "0";
  938. _self.findUseOrgArray = [];
  939. _self.treeNodeArray.forEach(item => {
  940. if (item.id.length < 12) {
  941. orgAllNode.forEach(orgItem => {
  942. if (orgItem.id.startsWith(item.code)) {
  943. _self.findUseOrgArray.push(orgItem.id);
  944. }
  945. });
  946. }
  947. _self.findUseOrgArray.push(item.id);
  948. });
  949. if (_self.findUseOrgArray.length > 0) {
  950. data["orgIds"] = _self.findUseOrgArray.join(",");
  951. this.orgIds = _self.findUseOrgArray.join(",");
  952. } else {
  953. data["orgIds"] = "";
  954. this.orgIds = "";
  955. }
  956. console.log(this.orgIds);
  957. data["year"] = this.newYear;
  958. if(!this.hasPriv) data['isAll'] = 1 //只浏览的时候增加isAll参数 左侧树和问题列表展示所有机构
  959. findProblemPageInfo(data).then(res => {
  960. _self.loading = false;
  961. _self.multipleSelection = [];
  962. if (res.success) {
  963. _self.searchResult = res.data.list;
  964. // console.log( "绝对是"+searchResult)
  965. _self.total = res.data.total;
  966. } else {
  967. _self.failInfo();
  968. }
  969. });
  970. });
  971. },
  972. async exportExcel() {
  973. this.exportLoading = true;
  974. let _self = this;
  975. await request.get("/dc/organization/base/getAllNode", {
  976. params: {
  977. userId: this.userId,
  978. orgType: "026"
  979. }
  980. }).then(res => {
  981. let orgAllNode = res.data;
  982. let data = _self.findParams;
  983. data.pageNum = _self.currentPage;
  984. data.pageSize = _self.pageSize;
  985. // data.type = "0";
  986. _self.datas = JSON.stringify(data);
  987. _self.treeNodeArray.forEach(item => {
  988. console.log(item);
  989. if (item.id.length < 12) {
  990. orgAllNode.forEach(orgItem => {
  991. if (orgItem.id.startsWith(item.id)) {
  992. _self.findUseOrgArray.push(orgItem.id);
  993. }
  994. });
  995. } else {
  996. _self.findUseOrgArray.push(item.id);
  997. }
  998. });
  999. });
  1000. let url = "/pdcApi/dc/insp/pblm/page/rever/export";
  1001. let type = "post";
  1002. let exportName = "小水库问题列表.xls"
  1003. let result = await exportModel(type, url, exportName, this.datas);
  1004. _self.exportLoading = result;
  1005. },
  1006. async exportWord() {
  1007. let _self = this;
  1008. _self.exportLoading = true;
  1009. let orgAllNode = this.treeData;
  1010. let data = _self.findParams;
  1011. data.pageNum = _self.currentPage;
  1012. data.pageSize = _self.pageSize;
  1013. data.villType = "0";
  1014. _self.treeNodeArray.forEach(item => {
  1015. if (item.id.length < 12) {
  1016. orgAllNode.forEach(orgItem => {
  1017. if (orgItem.id.startsWith(item.id)) {
  1018. _self.findUseOrgArray.push(orgItem.id);
  1019. }
  1020. });
  1021. } else {
  1022. _self.findUseOrgArray.push(item.id);
  1023. }
  1024. });
  1025. if (_self.findUseOrgArray.length > 0) {
  1026. data["orgIds"] = _self.findUseOrgArray.join(",");
  1027. this.orgIds = _self.findUseOrgArray.join(",");
  1028. } else {
  1029. data["orgIds"] = "";
  1030. this.orgIds = "";
  1031. }
  1032. this.datas = data;
  1033. //下载word文档2
  1034. await request.post('/pblm/doc', this.datas).then(res => {
  1035. if (res.success) {
  1036. console.log(this.response)
  1037. var a = document.createElement('a');
  1038. a.href = `${this.hostUrl}${res.data.downloadPath}`;
  1039. //设置文件名称
  1040. a.download = '水库防洪问题详情.doc';
  1041. a.click();
  1042. // window.open(`${this.hostUrl}${res.data.downloadPath}`)
  1043. _self.exportLoading = false;
  1044. } else {
  1045. _self.$message.error(res.message)
  1046. }
  1047. }).catch(res => {
  1048. _self.$message.error(res.message)
  1049. })
  1050. },
  1051. downFile(blob, fileName) {
  1052. // 非IE下载
  1053. if ("download" in document.createElement("a")) {
  1054. let link = document.createElement("a");
  1055. link.href = window.URL.createObjectURL(blob); // 创建下载的链接
  1056. link.download = fileName; // 下载后文件名
  1057. link.style.display = "none";
  1058. document.body.appendChild(link);
  1059. link.click(); // 点击下载
  1060. window.URL.revokeObjectURL(link.href); // 释放掉blob对象
  1061. document.body.removeChild(link); // 下载完成移除元素
  1062. } else {
  1063. // IE10+下载
  1064. window.navigator.msSaveBlob(blob, fileName);
  1065. }
  1066. },
  1067. // 下载模板
  1068. downloadTemplate() {
  1069. this.buttonLoading = true;
  1070. this.search().then(res => {
  1071. this.downloadTemplateSet();
  1072. })
  1073. },
  1074. downloadTemplateSet() {
  1075. let datas = JSON.stringify(this.findParams);
  1076. let url = '/pdcApi/dc/imp/pblm/download?userId=' + this.userid + '&orgType=026&orgIds=' + this.orgIds + '&datas=' + datas;
  1077. let downloadName = "水库防洪问题.xls";
  1078. let type = "get";
  1079. exportModel(type, url, downloadName);
  1080. this.buttonLoading = false;
  1081. this.uploadDisabled = false;
  1082. },
  1083. showPlDialog() {
  1084. this.showShuiKuTianBaoPl = true
  1085. },
  1086. closePlDialog(val) {
  1087. this.showShuiKuTianBaoPl = false
  1088. this.search();
  1089. },
  1090. handleSizeChange(pageSize) {
  1091. this.pageSize = pageSize;
  1092. this.search();
  1093. },
  1094. // 新增
  1095. getDuChaId() {
  1096. //新增中 获取督查对象id
  1097. getSupervisdByID(this.userid, 26).then(res => {
  1098. if (res.success) {
  1099. // alert(1)
  1100. this.listobjId = res.data;
  1101. } else {
  1102. this.failInfo();
  1103. }
  1104. });
  1105. },
  1106. // 取消
  1107. removeNewSupervision(arg) {
  1108. this.gwComFiles = [];
  1109. if (arg) {
  1110. this.gwComFiles = arg;
  1111. this.$refs.uploadFile.init();
  1112. }
  1113. },
  1114. // 详情弹框
  1115. showDetails(id) {
  1116. this.currentProblemId = id;
  1117. this.supervisionDetailsVisible = true;
  1118. },
  1119. // 删除弹窗
  1120. removeSuperviseOne(id) {
  1121. this.deleteId = id;
  1122. this.problemDeleteVisible = true;
  1123. },
  1124. deleteSuccess() {
  1125. this.problemDeleteVisible = false;
  1126. this.search();
  1127. this.$emit("problemCount");
  1128. },
  1129. // 修改弹窗显示
  1130. changeSup(id) {
  1131. this.currentProblemId = '';
  1132. this.pictureArray = [];
  1133. this.audioArray = [];
  1134. this.videoArray = [];
  1135. this.fileArray = [];
  1136. this.updateIdXiuGai = id;
  1137. showDetailsXq(this.updateIdXiuGai).then(res => {
  1138. this.changeSupervision = res.data;
  1139. this.fileList = this.changeSupervision.gwComFiles;
  1140. this.t1['inspPblmsName'] = this.changeSupervision.inspPblmsName
  1141. this.problemList.forEach(ele => {
  1142. if (ele.inspPblmsName == this.t1.inspPblmsName) {
  1143. this.problemListChange(ele)
  1144. }
  1145. })
  1146. this.t2['checkPointName'] = this.changeSupervision.checkPoint
  1147. this.currentCheckPointList.forEach(ele => {
  1148. if (ele.checkPointName == this.t2.checkPointName) {
  1149. this.currentCheckPointListChange(ele)
  1150. }
  1151. })
  1152. this.t3['pblmDesc'] = this.changeSupervision.pblmDesc
  1153. this.changeSupervisionVisible = true;
  1154. res.data.gwComFiles.forEach(item => {
  1155. if (
  1156. item.fileExt == "mp3" ||
  1157. item.fileExt == "MP3" ||
  1158. item.fileExt == "m4a"
  1159. ) {
  1160. this.audioArray.push(item);
  1161. } else if (
  1162. item.fileExt == "jpg" ||
  1163. item.fileExt == "JPG" ||
  1164. item.fileExt == "png" ||
  1165. item.fileExt == "PNG" ||
  1166. item.fileExt == "JPEG" ||
  1167. item.fileExt == "jpeg"
  1168. ) {
  1169. this.pictureArray.push(item);
  1170. } else if (item.fileExt == "mp4" || item.fileExt == "MP4") {
  1171. this.videoArray.push({
  1172. id: item.id,
  1173. bizId: item.bizId,
  1174. width: "130",
  1175. height: "130",
  1176. autoplay: false,
  1177. muted: true,
  1178. language: "en",
  1179. playbackRates: [0.7, 1.0, 1.5, 2.0],
  1180. sources: [
  1181. {
  1182. type: "video/mp4",
  1183. // mp4
  1184. src: this.hostUrl + item.filePath
  1185. // webm
  1186. // src: "https://cdn.theguardian.tv/webM/2015/07/20/150716YesMen_synd_768k_vp8.webm"
  1187. }
  1188. ]
  1189. });
  1190. } else {
  1191. this.fileArray.push(item);
  1192. }
  1193. });
  1194. this.picturetabName = "图片资料(" + this.pictureArray.length + ")";
  1195. this.audiotabName = "音频资料(" + this.audioArray.length + ")";
  1196. this.videotabName = "视频资料(" + this.videoArray.length + ")";
  1197. this.filetabName = "其它资料(" + this.fileArray.length + ")";
  1198. });
  1199. },
  1200. // 删除图片文件
  1201. removeFile(id, index) {
  1202. var _self = this;
  1203. this.$confirm("此操作将永久删除该文件, 是否继续?", "提示", {
  1204. confirmButtonText: "确定",
  1205. cancelButtonText: "返回",
  1206. type: "warning"
  1207. }).then(
  1208. res => {
  1209. if (res === "confirm") {
  1210. deleteFileById(id, this.userId).then(res => {
  1211. if (res.success) {
  1212. this.fileListLength = 0;
  1213. this.fileList.forEach(item => {
  1214. if (
  1215. item.fileExt == "mp3" ||
  1216. item.fileExt == "MP3" ||
  1217. item.fileExt == "m4a"
  1218. ) {
  1219. this.audioArray.splice(index, 1);
  1220. } else if (
  1221. item.fileExt == "jpg" ||
  1222. item.fileExt == "JPG" ||
  1223. item.fileExt == "png" ||
  1224. item.fileExt == "PNG" ||
  1225. item.fileExt == "JPEG" ||
  1226. item.fileExt == "jpeg"
  1227. ) {
  1228. this.pictureArray.splice(index, 1);
  1229. } else if (item.fileExt == "mp4" || item.fileExt == "MP4") {
  1230. this.videoArray.splice(index, 1);
  1231. }
  1232. });
  1233. _self.changeSup(this.updateIdXiuGai);
  1234. } else {
  1235. this.failInfo();
  1236. }
  1237. });
  1238. }
  1239. },
  1240. res => {
  1241. console.log("返回");
  1242. }
  1243. );
  1244. },
  1245. changeSupervisionVisiblefalse() {
  1246. this.$nextTick(() => {
  1247. if (this.flash) {
  1248. this.flash = false;
  1249. this.search();
  1250. }
  1251. });
  1252. this.changeSupervisionVisible = false;
  1253. this.changeSupervision = {
  1254. dataStat: "",
  1255. nm: "",
  1256. endTime: "",
  1257. pblmId: "",
  1258. objId: "",
  1259. pType: "",
  1260. inspGroupId: "",
  1261. inspPblmCate: "",
  1262. inspPblmName: "",
  1263. inspPblmDesc: "",
  1264. pblmLong: "",
  1265. pblmLat: "",
  1266. // pblmStat: "",
  1267. ifCasePblm: "",
  1268. inspPblmOrgName: "",
  1269. pblmPersName: "",
  1270. reviOpin: "",
  1271. reviConc: "",
  1272. reviOrgGuid: "",
  1273. collTime: "",
  1274. recPers: "",
  1275. note: "",
  1276. gwComFiles: [
  1277. {
  1278. id: "",
  1279. filePath: "",
  1280. bizId: ""
  1281. }
  1282. ]
  1283. };
  1284. // this.$refs.uploadFile.init();
  1285. this.addPicPanel = false;
  1286. },
  1287. addPic() {
  1288. this.addPicPanel = !this.addPicPanel;
  1289. },
  1290. getproblemSmallType() {
  1291. let result = [];
  1292. request.get('/dc/insp/pblms/getPblmType', {
  1293. params: {
  1294. type: 26,
  1295. pguid: '26000000000000000000000000000000'
  1296. }
  1297. }).then(res => {
  1298. if (res.success) {
  1299. res.data.forEach((ele) => {
  1300. let haveinspPblmsName = false;
  1301. result.forEach((inspPblm) => {
  1302. if (inspPblm['inspPblmsName'] == ele.inspPblmsName) {
  1303. //
  1304. let havechekPoint = false;
  1305. inspPblm['checkPoints'].forEach((chekPoint) => {
  1306. if (chekPoint['checkPointName'] == ele.checkPoint) {
  1307. //
  1308. chekPoint['pblmDescs'].push({
  1309. pblmDesc: ele.pblmDesc,
  1310. sn: ele.sn,
  1311. guid: ele.guid,
  1312. });
  1313. havechekPoint = true;
  1314. }
  1315. });
  1316. if (!havechekPoint) {
  1317. let newCheckPoint = {};
  1318. newCheckPoint['checkPointName'] = ele.checkPoint;
  1319. newCheckPoint['sort2'] = ele.sort2;
  1320. newCheckPoint['pblmDescs'] = [{
  1321. pblmDesc: ele.pblmDesc,
  1322. sn: ele.sn,
  1323. guid: ele.guid,
  1324. }]
  1325. inspPblm['checkPoints'].push(newCheckPoint);
  1326. }
  1327. haveinspPblmsName = true;
  1328. }
  1329. });
  1330. if (!haveinspPblmsName) {
  1331. let haveinspPblmsObj = {};
  1332. haveinspPblmsObj['inspPblmsName'] = ele.inspPblmsName;
  1333. haveinspPblmsObj['sort1'] = ele.sort1;
  1334. haveinspPblmsObj['checkPoints'] = [{
  1335. checkPointName: ele.checkPoint,
  1336. sort2: ele.sort2,
  1337. pblmDescs: [{
  1338. pblmDesc: ele.pblmDesc,
  1339. sn: ele.sn,
  1340. guid: ele.guid,
  1341. }]
  1342. }];
  1343. result.push(haveinspPblmsObj);
  1344. }
  1345. })
  1346. this.problemList = result;
  1347. console.log(this.problemList);
  1348. }
  1349. })
  1350. },
  1351. getYanZhongChengDu() {
  1352. request.post('/dc/insp/pblms/getByPblms', {
  1353. inspPblmsName: this.wenTiLeiBie,
  1354. checkPoint: this.jianChaXiangMu,
  1355. pblmDesc: this.xiangqingmiaoshu
  1356. }).then(res => {
  1357. if (res.success) {
  1358. console.log("验证" + res);
  1359. this.changeSupervision.inspPblmCate = res.data.inspPblmCate;
  1360. }
  1361. })
  1362. },
  1363. problemListChange: function (item) {
  1364. this.wenTiLeiBie = item.inspPblmsName;
  1365. this.currentCheckPointList = item.checkPoints;
  1366. },
  1367. currentCheckPointListChange: function (item) {
  1368. this.jianChaXiangMu = item.checkPointName;
  1369. this.currentProblemDescList = item.pblmDescs;
  1370. },
  1371. currentProblemDescListChange: function (item) {
  1372. this.xiangqingmiaoshu = item.pblmDesc;
  1373. console.log(item);
  1374. },
  1375. closeEditDialog() {
  1376. this.changeSupervisionVisible = false
  1377. setTimeout(() => {
  1378. this.search()
  1379. }, 800)
  1380. },
  1381. treeNodeClickHandler(data) {
  1382. this.treeNodeArray = data;
  1383. },
  1384. changeYear(val) {
  1385. this.newYear = val;
  1386. this.search();
  1387. },
  1388. getAllTreeData(data) {
  1389. this.treeAllData = data;
  1390. }
  1391. },
  1392. watch: {
  1393. codeId: function () {
  1394. this.search();
  1395. },
  1396. 't1': {
  1397. handler: function (val, oldVal) {
  1398. this.getYanZhongChengDu()
  1399. },
  1400. deep: true
  1401. },
  1402. 't2': {
  1403. handler: function (val, oldVal) {
  1404. this.getYanZhongChengDu()
  1405. },
  1406. deep: true
  1407. },
  1408. 't3': {
  1409. handler: function (val, oldVal) {
  1410. this.getYanZhongChengDu()
  1411. },
  1412. deep: true
  1413. },
  1414. showExpandSearchPanel: function (val) {
  1415. if (val) {
  1416. this.tableHeight = window.innerHeight - 372;
  1417. } else {
  1418. this.tableHeight = window.innerHeight - 326;
  1419. }
  1420. }
  1421. },
  1422. };
  1423. </script>
  1424. <style rel="stylesheet/scss" lang="scss">
  1425. @import "../../assets/sass/tbPublicCss.scss";
  1426. </style>
  1427. <style rel="stylesheet/scss" lang="scss" scoped>
  1428. @import "./base.css";
  1429. @import url("/src/assets/iconfont/iconfont.css");
  1430. @import url("/src/assets/css/mixin.scss");
  1431. .upload-container {
  1432. width: 100%;
  1433. position: relative;
  1434. .image-uploader {
  1435. width: 35%;
  1436. float: left;
  1437. }
  1438. .image-preview {
  1439. width: 200px;
  1440. height: 200px;
  1441. position: relative;
  1442. border: 1px dashed #d9d9d9;
  1443. float: left;
  1444. // margin-left: 50px;
  1445. .image-preview-wrapper {
  1446. position: relative;
  1447. width: 100%;
  1448. height: 100%;
  1449. img {
  1450. width: 100%;
  1451. height: 100%;
  1452. }
  1453. }
  1454. .image-preview-action {
  1455. position: absolute;
  1456. width: 100%;
  1457. height: 100%;
  1458. left: 0;
  1459. top: 0;
  1460. cursor: default;
  1461. text-align: center;
  1462. color: #fff;
  1463. opacity: 0;
  1464. font-size: 20px;
  1465. background-color: rgba(0, 0, 0, 0.5);
  1466. transition: opacity 0.3s;
  1467. cursor: pointer;
  1468. text-align: center;
  1469. line-height: 200px;
  1470. .el-icon-delete {
  1471. font-size: 36px;
  1472. }
  1473. }
  1474. &:hover {
  1475. .image-preview-action {
  1476. opacity: 1;
  1477. }
  1478. }
  1479. }
  1480. .image-app-preview {
  1481. margin-bottom: 10px;
  1482. width: 40vh;
  1483. height: 180px;
  1484. position: relative;
  1485. border: 1px dashed #d9d9d9;
  1486. float: left;
  1487. // margin-left: 50px;
  1488. .app-fake-conver {
  1489. height: 44px;
  1490. position: absolute;
  1491. width: 100%; // background: rgba(0, 0, 0, .1);
  1492. text-align: center;
  1493. line-height: 64px;
  1494. color: #fff;
  1495. }
  1496. }
  1497. }
  1498. .bottom {
  1499. margin-top: 13px;
  1500. line-height: 12px;
  1501. }
  1502. .button {
  1503. padding: 0;
  1504. float: right;
  1505. }
  1506. .image {
  1507. width: 100%;
  1508. display: block;
  1509. }
  1510. .clearfix:before,
  1511. .clearfix:after {
  1512. display: table;
  1513. content: "";
  1514. }
  1515. .clearfix:after {
  1516. clear: both;
  1517. }
  1518. #wenTiContainer_sk .el-tree-node {
  1519. /* overflow: auto; */
  1520. }
  1521. #wenTiContainer_sk .el-tree-node > .el-tree-node__children {
  1522. overflow: auto;
  1523. }
  1524. .shuiku .el-date-editor.el-input {
  1525. min-width: 180px !important;
  1526. }
  1527. .shuiku .header {
  1528. padding: 0px 10px;
  1529. }
  1530. .shuiku .el-row {
  1531. margin-bottom: 5px;
  1532. }
  1533. .shuiku .content {
  1534. margin: 10px;
  1535. }
  1536. /* .search .el-table>>>.el-tooltip {
  1537. white-space: pre-wrap !important;
  1538. line-height: 30px;
  1539. font-size: 0;
  1540. } */
  1541. .custom_dialog .el-dialog {
  1542. width: 60% !important;
  1543. }
  1544. .custom_dialog .scroll300 {
  1545. max-height: 60vh !important;
  1546. }
  1547. .scroll300 .el-form {
  1548. padding-top: 5px;
  1549. padding-right: 5px;
  1550. }
  1551. .shuiku .el-tag + .el-tag {
  1552. margin-left: 10px;
  1553. }
  1554. .shuiku .button-new-tag {
  1555. margin-left: 10px;
  1556. height: 28px;
  1557. line-height: 28px;
  1558. padding-top: 0;
  1559. padding-bottom: 0;
  1560. }
  1561. .shuiku .input-new-tag {
  1562. width: 90px;
  1563. margin-left: 10px;
  1564. vertical-align: bottom;
  1565. }
  1566. .inspPblmCate {
  1567. padding: 2px 10px;
  1568. border-radius: 10px;
  1569. color: #ffffff;
  1570. -webkit-border-radius: 10px;
  1571. -moz-border-radius: 10px;
  1572. border-radius: 10px;
  1573. }
  1574. </style>