7398346e2ec10e28558699e739af2e730509bbaf.svn-base 95 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128
  1. <template>
  2. <div style="height:100%;width:100%" id="wenTiContainer_sk">
  3. <el-container>
  4. <el-aside
  5. width="318px"
  6. style="border-right:2px solid #d5d5ff;float:left;text-align: center;"
  7. :style="{'max-height':testHeight+'px','height':testHeight+'px'}">
  8. <el-button size="mini" :class="tabType==1 ? 'skactive' : 'sknormal'" @click="tabChange('1')">当前数据
  9. </el-button>
  10. <el-button size="mini" :class="tabType==2 ? 'skactive' : 'sknormal'" @click="tabChange('2')">历史数据
  11. </el-button>
  12. <el-button size="mini" :class="tabType==0 ? 'skactive' : 'sknormal'" @click="tabChange('0')">全部数据
  13. </el-button>
  14. <div class="tree" style="
  15. height: calc(100% - 50px);
  16. width: 100%;
  17. overflow: auto;
  18. display: inline-flex;">
  19. <el-tree
  20. :highlight-current="true"
  21. style="height:100%;"
  22. :data="treeData"
  23. node-key="id"
  24. show-checkbox
  25. @check-change="handleCheckChange"
  26. ref="jigou_tree"
  27. >
  28. <div class="custom-tree-node" slot-scope="{ node, data }">
  29. <span style="float:left;">{{ data.pnm}}</span>
  30. <div
  31. style="float:right;display: flex;justify-content: flex-end;align-items: center;width:50%;"
  32. >
  33. <span style="color:blue;width:80px;"></span>
  34. </div>
  35. </div>
  36. </el-tree>
  37. </div>
  38. </el-aside>
  39. <el-main style="margin:0px;padding:0px;" class="shuiku" v-loading="exportLoading">
  40. <div class="pages" :style="{'max-height':testHeight+'px'}">
  41. <div class="search">
  42. <el-row type="flex" justify="space-between">
  43. <el-col :span="24">
  44. <el-form :inline="true" size="mini" class="demo-form-inline"
  45. style="padding-left: 10px;">
  46. <el-form-item label="行政区划:">
  47. <el-input
  48. resize="none"
  49. type="input"
  50. :rows="3"
  51. placeholder="请输入行政区划名称"
  52. v-model.trim="findParams.adFullName"
  53. clearable
  54. ></el-input>
  55. </el-form-item>
  56. <el-form-item label="水闸名称:">
  57. <el-input
  58. resize="none"
  59. type="input"
  60. :rows="3"
  61. placeholder="请输入水闸名称"
  62. v-model.trim="findParams.nm"
  63. clearable
  64. ></el-input>
  65. </el-form-item>
  66. </el-form>
  67. </el-col>
  68. </el-row>
  69. <el-row type="flex" justify="space-bv-fortween" v-show="showExpandSearchPanel">
  70. <el-col :span="24">
  71. <el-form :inline="true" size="mini" class="demo-form-inline"
  72. style="padding-left: 10px;">
  73. <el-form-item label="问题类别:">
  74. <el-select v-model="findParams.inspPblmName" clearable placeholder="请选择">
  75. <el-option
  76. v-for="item in leibie"
  77. :key="item.name"
  78. :label="item.inspPblmsName"
  79. :value="item.inspPblmsName"
  80. ></el-option>
  81. </el-select>
  82. </el-form-item>
  83. <el-form-item label="是否典型:">
  84. <el-select v-model="findParams.ifCasePblm" clearable placeholder="请选择">
  85. <el-option
  86. v-for="item in supervision"
  87. :key="item.value"
  88. :label="item.label"
  89. :value="item.value"
  90. ></el-option>
  91. </el-select>
  92. </el-form-item>
  93. <el-form-item label="问题筛选:">
  94. <el-select v-model="pblscr" clearable placeholder="请选择">
  95. <el-option
  96. v-for="item in pblscrList"
  97. :key="item.value"
  98. :label="item.lable"
  99. :value="item.value"
  100. ></el-option>
  101. </el-select>
  102. </el-form-item>
  103. <el-form-item label="上报人员:">
  104. <el-input
  105. resize="none"
  106. type="input"
  107. :rows="3"
  108. placeholder="请输入名称"
  109. v-model.trim="findParams.persName"
  110. ></el-input>
  111. </el-form-item>
  112. <el-form-item label="严重程度:">
  113. <el-select v-model="findParams.inspPblmCate" clearable placeholder="请选择">
  114. <el-option
  115. v-for="item in supervisionState"
  116. :key="item.value"
  117. :label="item.label"
  118. :value="item.value"
  119. ></el-option>
  120. </el-select>
  121. </el-form-item>
  122. <el-form-item label="发现时间:">
  123. <el-date-picker
  124. v-model="value6"
  125. type="daterange"
  126. value-format="yyyy-MM-dd"
  127. style="width:240px"
  128. range-separator="至"
  129. start-placeholder="开始日期"
  130. end-placeholder="结束日期"
  131. ></el-date-picker>
  132. </el-form-item>
  133. <el-form-item label="所在组:">
  134. <el-input
  135. resize="none"
  136. type="input"
  137. :rows="3"
  138. placeholder="请输入所在组名称"
  139. v-model.trim="pblscrGroup"
  140. clearable
  141. ></el-input>
  142. </el-form-item>
  143. <el-form-item label="是否包含多媒体文件:">
  144. <el-select v-model="findParams.hasVedio" clearable placeholder="请选择">
  145. <el-option
  146. v-for="item in hasVedio1"
  147. :key="item.value"
  148. :label="item.label"
  149. :value="item.value"
  150. ></el-option>
  151. </el-select>
  152. </el-form-item>
  153. <el-form-item label="问题督查状态:">
  154. <el-select v-model="findParams.state" clearable placeholder="请选择">
  155. <el-option
  156. v-for="item in stateList"
  157. :key="item.value"
  158. :label="item.label"
  159. :value="item.value"
  160. ></el-option>
  161. </el-select>
  162. </el-form-item>
  163. </el-form>
  164. </el-col>
  165. </el-row>
  166. <el-row type="flex" justify="space-between" style="border-top:1px solid #0014ff2e;">
  167. <el-col style='padding-bottom:10px;' :span="12">
  168. <el-button style="float:right;margin-right:10px;border: 1px solid #0014ff2e;
  169. border-radius: 0px 0px 5px 5px;border-top: 0px;" type="info" plain
  170. size="mini"
  171. @click="showExpandSearchPanel = !showExpandSearchPanel"
  172. >
  173. {{showExpandSearchPanel?'收起':'更多条件'}}
  174. <i class="el-icon-arrow-down el-icon--right" v-show="!showExpandSearchPanel"/>
  175. <i class="el-icon-arrow-up el-icon--right" v-show="showExpandSearchPanel"/>
  176. </el-button>
  177. </el-col>
  178. <el-col :span="12">
  179. <el-button
  180. style="color:rgba(255,255,255,1);float:right;margin-right:10px;margin-top:5px;"
  181. type="success"
  182. @click="submitBtn"
  183. >问题提交
  184. </el-button>
  185. <el-button
  186. style="color:rgba(255,255,255,1);float:right;margin-right:10px;margin-top:5px;"
  187. type="primary"
  188. icon="el-icon-search"
  189. @click="search"
  190. >&nbsp;查&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;询&nbsp;
  191. </el-button>
  192. <!-- <el-button-->
  193. <!-- style="color:rgba(255,255,255,1);float:right;margin-right:10px;margin-top:5px;"-->
  194. <!-- type="success"-->
  195. <!-- icon="el-icon-download"-->
  196. <!-- @click="exportWord"-->
  197. <!-- >导出WORD-->
  198. <!-- </el-button>-->
  199. <el-button
  200. style="color:rgba(255,255,255,1);float:right;margin-right:10px;margin-top:5px;"
  201. type="success"
  202. icon="el-icon-download"
  203. @click="exportExcel"
  204. >导出EXCEL
  205. </el-button>
  206. <el-button
  207. v-if="isGd"
  208. style="color:rgba(255,255,255,1);float:right;margin-right:10px;margin-top:5px;"
  209. type="success"
  210. icon="el-icon-download"
  211. @click="toForm"
  212. >导出一表一单
  213. </el-button>
  214. </el-col>
  215. </el-row>
  216. </div>
  217. <!-- 查询展示 -->
  218. <div class="search" style="margin-top:10px;">
  219. <el-table
  220. v-loading="loading"
  221. border
  222. ref="multipleTable"
  223. :height="tableHeight"
  224. :data="searchResult"
  225. tooltip-effect="dark"
  226. style="width: 100%"
  227. @row-click="openDetails"
  228. @selection-change="handleSelectionChange"
  229. >
  230. <el-table-column
  231. type="selection"
  232. min-width="55">
  233. </el-table-column>
  234. <el-table-column align="center" type="index" label="序号" min-width="25">
  235. <template slot-scope="scope">{{ (currentPage - 1) * pageSize + (scope.$index + 1) }}
  236. </template>
  237. </el-table-column>
  238. <el-table-column
  239. header-align="center"
  240. align="center"
  241. min-width="100"
  242. prop="province"
  243. label="省" v-if="isXj"
  244. show-overflow-tooltip
  245. ></el-table-column>
  246. <el-table-column
  247. header-align="center"
  248. align="center"
  249. min-width="100"
  250. prop="city"
  251. :label="ownAdName"
  252. show-overflow-tooltip
  253. ></el-table-column>
  254. <el-table-column
  255. header-align="center"
  256. align="center"
  257. min-width="100"
  258. prop="country"
  259. label="县"
  260. v-if="isXj"
  261. show-overflow-tooltip
  262. ></el-table-column>
  263. <el-table-column
  264. header-align="center"
  265. align="center"
  266. min-width="110"
  267. prop="nm"
  268. label="督查水闸名称"
  269. show-overflow-tooltip
  270. ></el-table-column>
  271. <el-table-column
  272. header-align="center"
  273. align="center"
  274. min-width="140"
  275. prop="inspPblmName"
  276. label="督查水闸问题类别"
  277. show-overflow-tooltip
  278. ></el-table-column>
  279. <el-table-column
  280. header-align="center"
  281. align="center"
  282. min-width="140"
  283. prop="checkPoint"
  284. label="检查项目"
  285. show-overflow-tooltip
  286. ></el-table-column>
  287. <!-- <el-table-column
  288. header-align="center"
  289. align="center"
  290. min-width="230"
  291. prop="inspPblmDesc"
  292. label="问题描述"
  293. show-overflow-tooltip
  294. ></el-table-column> -->
  295. <el-table-column
  296. header-align="center"
  297. align="center"
  298. min-width="60"
  299. prop="ifCasePblm"
  300. label="典型"
  301. >
  302. <template slot-scope="scope">
  303. <p v-if="scope.row.ifCasePblm == 1">是</p>
  304. <p v-if="scope.row.ifCasePblm == 0">否</p>
  305. </template>
  306. </el-table-column>
  307. <el-table-column
  308. header-align="center"
  309. align="center"
  310. min-width="100"
  311. prop="inspPblmCate"
  312. label="程度"
  313. >
  314. <template slot-scope="scope">
  315. <p v-if="scope.row.inspPblmCate == 0"><span class="inspPblmCate"
  316. style="background: #27C19F;">一般</span>
  317. </p>
  318. <p v-if="scope.row.inspPblmCate == 1"><span class="inspPblmCate"
  319. style="background: #E6A23C;">较重</span>
  320. </p>
  321. <p v-if="scope.row.inspPblmCate == 2"><span class="inspPblmCate"
  322. style="background: #F56C6C;">严重</span>
  323. </p>
  324. <p v-if="scope.row.inspPblmCate == 3"><span class="inspPblmCate"
  325. style="background: #795548;">特别严重</span>
  326. </p>
  327. </template>
  328. </el-table-column>
  329. <el-table-column
  330. header-align="center"
  331. align="center"
  332. min-width="100"
  333. prop="state"
  334. label="问题督查状态">
  335. <template slot-scope="scope">
  336. <p v-if="Number(scope.row.state) === 0"><span class="inspPblmCate"
  337. style="background: #F56C6C;">未提交</span>
  338. </p>
  339. <p v-if="scope.row.state == 2"><span class="inspPblmCate"
  340. style="background: #409EFF;">已提交</span>
  341. </p>
  342. <p v-if="scope.row.state == 3"><span class="inspPblmCate"
  343. style="background: #67C23A;">已发布</span>
  344. </p>
  345. </template>
  346. </el-table-column>
  347. <el-table-column
  348. header-align="center"
  349. align="center"
  350. min-width="70"
  351. prop="attach"
  352. label="附件"
  353. show-overflow-tooltip>
  354. <template slot-scope="scope">
  355. <span>{{'附件' + scope.row.attach}}</span>
  356. </template>
  357. </el-table-column>
  358. <el-table-column
  359. header-align="center"
  360. align="center"
  361. min-width="80"
  362. prop="snNum"
  363. label="问题序号"
  364. show-overflow-tooltip
  365. ></el-table-column>
  366. <el-table-column
  367. header-align="center"
  368. align="center"
  369. min-width="70"
  370. prop="persName"
  371. label="上报人"
  372. ></el-table-column>
  373. <el-table-column
  374. header-align="center"
  375. align="center"
  376. min-width="80"
  377. show-overflow-tooltip
  378. prop="orgNm"
  379. label="所在组"
  380. ></el-table-column>
  381. <el-table-column
  382. prop="collTime"
  383. label="上报时间"
  384. sortable
  385. align="center"
  386. min-width="110"
  387. show-overflow-tooltip>
  388. <template slot-scope="scope">
  389. {{scope.row.collTime ? formatDateTime(scope.row.collTime) : ''}}
  390. </template>
  391. </el-table-column>
  392. <el-table-column
  393. header-align="center"
  394. align="center"
  395. min-width="150"
  396. prop="hasVedio"
  397. label="是否包含多媒体文件"
  398. >
  399. <template slot-scope="scope">
  400. <p v-if="scope.row.hasVedio == 1">是</p>
  401. <p v-if="scope.row.hasVedio == 0">否</p>
  402. </template>
  403. </el-table-column>
  404. <el-table-column
  405. align="center"
  406. prop
  407. min-width="100"
  408. label="操作"
  409. show-overflow-tooltip
  410. fixed="right"
  411. >
  412. <template slot-scope="scope">
  413. <el-button icon="el-icon-view" title="查看详情" type="text"
  414. @click.native.stop="showDetails(scope.row.pblmId)"></el-button>
  415. <el-button v-if="ownPriv('manage')" icon="el-icon-edit" type="text" title="修改问题"
  416. @click.native.stop="changeSup(scope.row.pblmId)"></el-button>
  417. <el-button v-if="ownPriv('manage')"
  418. icon="el-icon-delete"
  419. type="text"
  420. title="删除问题" @click.native.stop="removeSuperviseOne(scope.row.pblmId)"
  421. ></el-button>
  422. </template>
  423. </el-table-column>
  424. </el-table>
  425. <!-- 分页 -->
  426. <div class="paginationWarpper">
  427. <el-pagination
  428. class="paginationCenter"
  429. background
  430. @size-change="handleSizeChange"
  431. @current-change="search"
  432. :current-page.sync="currentPage"
  433. :page-sizes="[10, 20, 50, 100]"
  434. :page-size="pageSize"
  435. layout="total, sizes, prev, pager, next, jumper"
  436. :total="total"
  437. ></el-pagination>
  438. </div>
  439. </div>
  440. <!-- 详情弹框 -->
  441. <el-dialog
  442. class="outerDialog custom_dialog"
  443. title="问题详情"
  444. v-if="supervisionDetailsVisible"
  445. :visible.sync="supervisionDetailsVisible"
  446. >
  447. <supervision-details ref="xianqing" :problemId="currentProblemId"
  448. :objType="6"></supervision-details>
  449. <span slot="footer">
  450. <el-button style="margin-top:5px;" @click="supervisionDetailsVisible = false">返回</el-button>
  451. </span>
  452. </el-dialog>
  453. <!-- 删除的弹窗 -->
  454. <el-dialog class="deleteDialog" title="问题删除描述" :visible.sync="problemDeleteVisible">
  455. <Problem-delete
  456. ref="deleteMiaoShu"
  457. :deleteProblemId="deleteId"
  458. @deleteSuccess="deleteSuccess"
  459. ></Problem-delete>
  460. <span slot="footer">
  461. <el-button @click="problemDeleteVisible = false">返回</el-button>
  462. </span>
  463. </el-dialog>
  464. <!-- 修改弹框 -->
  465. <el-dialog
  466. width="60%"
  467. class="outerDialog custom_dialog"
  468. title="修改督查问题"
  469. :close-on-click-modal="false"
  470. :visible.sync="changeSupervisionVisible"
  471. >
  472. <div class="scroll300">
  473. <div
  474. style="width:49%;overflow-y:auto;max-height:48vh;float:left;border:1px solid #d5d5ff;margin-right:5px;"
  475. >
  476. <p style="font-weight:bolder;background-color:#d5d5ff;padding:3px;">基本信息</p>
  477. <el-form
  478. ref="changeSupFrom"
  479. :rules="rules1"
  480. :model="changeSupervision"
  481. label-width="120px"
  482. >
  483. <el-form-item label="水闸名称" prop="nm">
  484. <el-input v-model="changeSupervision.nm" clearable readonly></el-input>
  485. </el-form-item>
  486. <el-form-item label="问题类别" prop="inspPblmsName">
  487. <el-select v-model="t1" value-key="name" placeholder="请选择"
  488. @change="problemListChange">
  489. <el-option v-for="(item,index) in problemList" :key="index"
  490. :label="item.name" :value="item">
  491. </el-option>
  492. </el-select>
  493. </el-form-item>
  494. <el-form-item label="检查项目" prop="checkPoint">
  495. <el-select v-model="t2" placeholder="请选择" value-key="name"
  496. @change="currentCheckPointListChange">
  497. <el-option v-for="(item,index) in currentCheckPointList" :key="index"
  498. :label="item.name" :value="item">
  499. </el-option>
  500. </el-select>
  501. </el-form-item>
  502. <el-form-item label="问题描述" prop="pblmDesc">
  503. <el-select v-model="t3" placeholder="请选择" value-key="pblmDesc"
  504. @change="currentProblemDescListChange" style="max-width: 500px">
  505. <el-option v-for="(item,index) in currentProblemDescList" :key="index"
  506. :label="item.pblmDesc" :value="item" :title="item.pblmDesc"
  507. style="max-width: 500px">
  508. </el-option>
  509. </el-select>
  510. </el-form-item>
  511. <el-form-item label="详细描述" prop="inspPblmDesc">
  512. <el-input
  513. type="textarea"
  514. :rows="2"
  515. v-model="changeSupervision.inspPblmDesc"
  516. clearable
  517. ></el-input>
  518. </el-form-item>
  519. <el-form-item label="是否为典型问题:">
  520. <el-select v-model="changeSupervision.ifCasePblm" clearable placeholder="请选择">
  521. <el-option
  522. v-for="item in supervision"
  523. :key="item.value"
  524. :label="item.label"
  525. :value="item.value"
  526. ></el-option>
  527. </el-select>
  528. </el-form-item>
  529. <el-form-item label="严重程度:">
  530. <el-select v-model="changeSupervision.inspPblmCate" disabled placeholder="请选择">
  531. <el-option
  532. v-for="item in supervisionState"
  533. :key="item.value"
  534. :label="item.label"
  535. :value="item.value"
  536. ></el-option>
  537. </el-select>
  538. </el-form-item>
  539. <el-form-item label="备注" prop="note">
  540. <el-input
  541. type="textarea"
  542. :rows="2"
  543. v-model.trim="changeSupervision.note"
  544. clearable
  545. ></el-input>
  546. </el-form-item>
  547. <el-form-item label="上报人" prop="persName">
  548. <el-input
  549. resize="none"
  550. type="input"
  551. :rows="3"
  552. readonly
  553. placeholder="请输入"
  554. v-model.trim="changeSupervision.persName"
  555. ></el-input>
  556. </el-form-item>
  557. <el-form-item label="采集时间" prop="collTime">
  558. <el-date-picker v-model="changeSupervision.collTime" readonly
  559. type="date"></el-date-picker>
  560. </el-form-item>
  561. </el-form>
  562. </div>
  563. <div
  564. style="width: 49%;float: left;border: 1px solid rgb(213, 213, 255);margin-right: 5px;overflow-y: auto;max-height: 48vh;"
  565. >
  566. <p style="font-weight:bolder;background-color:#d5d5ff;padding:3px;">多媒体信息</p>
  567. <el-tabs style="margin:0px 5px">
  568. <el-tab-pane :label="picturetabName" style>
  569. <el-row style="text-align:right;">
  570. <el-button
  571. :v-if="!addPicPanel?addPicPanel:addPicPanel"
  572. size="mini"
  573. type="text"
  574. :icon="!addPicPanel?'el-icon-circle-plus-outline':'el-icon-circle-close-outline'"
  575. @click="addPic"
  576. >{{!addPicPanel?"添加":"取消"}}
  577. </el-button>
  578. </el-row>
  579. <el-row v-show="addPicPanel">
  580. <upload ref="uploadFile"
  581. :url="`/pdcApi/file/insert?bizId=`"
  582. @uploadOver="removeNewSupervision">
  583. </upload>
  584. </el-row>
  585. <el-row>
  586. <div
  587. style="overflow-y:auto;overflow-x:hidden;max-height:30vh;padding:10px;">
  588. <div class="upload-container">
  589. <div
  590. v-for="(item, index) in pictureArray"
  591. :key="item"
  592. class="image-preview image-app-preview"
  593. >
  594. <div class="image-preview-wrapper">
  595. <img :src="`${hostUrl}/${item.filePath}`">
  596. <div class="image-preview-action">
  597. <i @click="removeFile(item.id)"
  598. class="el-icon-delete"></i>
  599. </div>
  600. </div>
  601. </div>
  602. </div>
  603. </div>
  604. </el-row>
  605. </el-tab-pane>
  606. <el-tab-pane :label="audiotabName">
  607. <el-table border :data="audioArray" style="width: 100%;margin: 0 auto;">
  608. <el-table-column header-align="center" align="center" label="音频">
  609. <template slot-scope="scope">
  610. <elaudio
  611. style="margin-left:15%;width:100px;height:30px;"
  612. :theUrl="`${hostUrl}/${scope.row.filePath}`"
  613. ></elaudio>
  614. <!-- <span>{{scope.row.fileTitle}}</span> -->
  615. </template>
  616. </el-table-column>
  617. <el-table-column header-align="center" align="center" label="操作">
  618. <template slot-scope="scope">
  619. <el-button
  620. size="mini"
  621. @click="removeFile(scope.row.id,scope.$index)"
  622. type="danger"
  623. >删除
  624. </el-button>
  625. </template>
  626. </el-table-column>
  627. </el-table>
  628. </el-tab-pane>
  629. <el-tab-pane :label="videotabName">
  630. <el-table border :data="videoArray" style="width: 100%;margin: 0 auto;">
  631. <el-table-column header-align="center" align="center" label="视频">
  632. <template slot-scope="scope">
  633. <!-- <span>{{scope.row.fileTitle}}</span> -->
  634. <video-player
  635. class="vjs-custom-skin"
  636. ref="videoPlayer"
  637. :options="scope.row"
  638. :playsinline="true"
  639. ></video-player>
  640. </template>
  641. </el-table-column>
  642. <el-table-column header-align="center" align="center" label="操作">
  643. <template slot-scope="scope">
  644. <el-button
  645. size="mini"
  646. @click="removeFile(scope.row.id,scope.$index)"
  647. type="danger"
  648. >删除
  649. </el-button>
  650. </template>
  651. </el-table-column>
  652. </el-table>
  653. </el-tab-pane>
  654. <el-tab-pane :label="filetabName">
  655. <el-table border :data="fileArray" style="width: 100%;margin: 0 auto;">
  656. <el-table-column header-align="center" align="center" label="文档">
  657. <template slot-scope="scope">
  658. <p>
  659. <a :href="`${hostUrl}/${scope.row.filePath}`" target="_blank"
  660. rel="noopener noreferrer">
  661. {{scope.row.fileName}}
  662. </a>
  663. </p>
  664. </template>
  665. </el-table-column>
  666. <el-table-column header-align="center" align="center" label="操作">
  667. <template slot-scope="scope">
  668. <el-button
  669. size="mini"
  670. @click="removeFile(scope.row.id,scope.$index)"
  671. type="danger"
  672. >删除
  673. </el-button>
  674. </template>
  675. </el-table-column>
  676. </el-table>
  677. </el-tab-pane>
  678. <el-tab-pane label="问题确认单">
  679. <pblmConfirmShett :openType="true" :currentObjectId="changeSupervision.objId" :key="changeSupervision.objId"></pblmConfirmShett>
  680. </el-tab-pane>
  681. </el-tabs>
  682. </div>
  683. </div>
  684. <span slot="footer">
  685. <el-button
  686. type="primary"
  687. @click="changeSupervisionInfo"
  688. :loading="buttonLoading"
  689. >保存</el-button>
  690. <el-button @click="changeSupervisionVisiblefalse">取消</el-button>
  691. </span>
  692. </el-dialog>
  693. </div>
  694. </el-main>
  695. </el-container>
  696. <el-dialog
  697. class="outerDialog custom_dialog"
  698. title="类型"
  699. width="20%"
  700. :visible.sync="isToFormVisible">
  701. <span>
  702. <p style="display: flex;align-items: center;">
  703. 类型 <el-select v-model="oneForm" placeHolder="请选择一表一单类型" style="width:calc(100% - 60px)!important;padding-left: 10px;">
  704. <el-option label="问题(现场)确认单" value="wtxcqrd-1"></el-option>
  705. <el-option label="问题提交单(流域机构督查办)" value="wttjd-2"></el-option>
  706. </el-select>
  707. </p>
  708. </span>
  709. <span slot="footer">
  710. <el-button type="primary" @click="toFormOk">确定</el-button>
  711. </span>
  712. </el-dialog>
  713. </div>
  714. </template>
  715. <script>
  716. import axios from 'axios';
  717. import {
  718. deleteFileById,
  719. getSupervisdByID,
  720. getSzwtTable,
  721. pblmSubmit,
  722. showDetailsXq,
  723. submitUpload,
  724. updatelist
  725. } from "../../api/duChaAPI.js";
  726. import {formatDateTime2} from '@util/gw_date.js'
  727. import {exportModel} from "@util/gw_exportModel";
  728. import request from "../../utils/gw_ajax_request.js";
  729. import {hostUrl} from "@util/global_variable.js";
  730. import elaudio from "../../widgets/elAudioShort.vue";
  731. import inuptWithDuChaTreeNode from "../../widgets/inuptWithDuChaTreeNode.vue";
  732. import inputWidthDuChaNodes from "../../widgets/inputWithDuChaNodes.vue";
  733. import inputWidthDuChaShuiKu from "../../widgets/inputWith_sk.vue";
  734. import problemDialog from "./problemDialog.vue";
  735. export default {
  736. props: ["codeId"],
  737. components: {
  738. upload: resolve => {
  739. require(["../../widgets/uploadFile.vue"], resolve);
  740. },
  741. //详情页
  742. supervisionDetails: resolve => {
  743. require(["./supervisionDetails_shuiku.vue"], resolve);
  744. },
  745. // 删除描述页
  746. ProblemDelete: resolve => {
  747. require(["./problemDelete.vue"], resolve);
  748. },
  749. pblmConfirmShett: resolve => {
  750. require(["../duChaDuiXiang/pblmConfirmShett"], resolve);
  751. },
  752. // addPicDialog: resolve => {
  753. // require(["./addPicDialog.vue"], resolve);
  754. // },
  755. elaudio: elaudio,
  756. inuptWithDuChaTreeNode: inuptWithDuChaTreeNode,
  757. inputWidthDuChaNodes: inputWidthDuChaNodes,
  758. inputWidthDuChaShuiKu: inputWidthDuChaShuiKu,
  759. problemDialog: problemDialog
  760. },
  761. data() {
  762. var validatePass1 = (rules1, value, callback) => {
  763. if (this.newSupervision.startTime > this.newSupervision.endTime) {
  764. callback(new Error("结束时间不能早于开始时间"));
  765. } else {
  766. callback();
  767. }
  768. };
  769. var validatePass2 = (rules1, value, callback) => {
  770. let startTime = this.changeSupervision.startTime.slice(0, 10);
  771. if (startTime > this.changeSupervision.endTime) {
  772. callback(new Error("结束时间不能早于开始时间"));
  773. } else {
  774. callback();
  775. }
  776. };
  777. var divisionList = (rules1, value, callback) => {
  778. if (this.newGroup.divisionList.length) {
  779. callback();
  780. } else {
  781. callback(new Error("至少要添加一个地区"));
  782. }
  783. };
  784. return {
  785. oneForm:"wtxcqrd-1",
  786. isToFormVisible:false,
  787. ids:"",
  788. tabType: "0",//0全部数据,1当前数据,2历史数据
  789. showExpandSearchPanel: false,
  790. tableHeight: window.innerHeight - 290,
  791. dataAll: {},
  792. globoId: "",
  793. addPicPanel: false,
  794. currentDate: new Date(),
  795. deleteId: "",
  796. treeNodeArray: [],
  797. treeNodeSelectVisible: false,
  798. adNodeArray: [],
  799. adNodeSelectVisible: false,
  800. areaSelectVisible: false,
  801. rsvrNodeArray: [],
  802. rsvrNodeSelectVisible: false,
  803. skSelectVisible: false,
  804. currentProblemId: "",
  805. updateIdXiuGai: "",
  806. rules1: {
  807. inspPblmName: [
  808. {
  809. required: true,
  810. message: "请输入问题名称",
  811. trigger: "blur"
  812. },
  813. {
  814. min: 1,
  815. max: 999,
  816. message: "不超过100字符",
  817. trigger: "blur"
  818. }
  819. ],
  820. inspPblmDesc: [
  821. {
  822. required: true,
  823. message: "请输入问题描述",
  824. trigger: "blur"
  825. }
  826. ],
  827. recPers: [
  828. {
  829. required: true,
  830. message: "请输入记录人",
  831. trigger: "blur"
  832. },
  833. {
  834. min: 1,
  835. max: 999,
  836. message: "不超过100字符",
  837. trigger: "blur"
  838. }
  839. ],
  840. objType: [
  841. {
  842. required: true,
  843. message: "请选择督查对象类型",
  844. trigger: "change"
  845. }
  846. ],
  847. objId: [
  848. {
  849. required: true,
  850. message: "请选择督查对象类型",
  851. trigger: "change"
  852. }
  853. ],
  854. inspPblmType: [
  855. {
  856. required: true,
  857. message: "请选择督查问题类型",
  858. trigger: "change"
  859. }
  860. ],
  861. dataStat: [
  862. {
  863. required: true,
  864. message: "请选择数据状态",
  865. trigger: "change"
  866. }
  867. ],
  868. collTime: [
  869. {
  870. required: true,
  871. message: "请选择采集时间",
  872. trigger: "change"
  873. }
  874. ],
  875. ifCasePblm: [
  876. {
  877. required: true,
  878. message: "请选择是否典型",
  879. trigger: "change"
  880. }
  881. ],
  882. pblmStat: [
  883. {
  884. required: true,
  885. message: "请选择问题类型",
  886. trigger: "change"
  887. }
  888. ],
  889. inspPblmCate: [
  890. {
  891. required: true,
  892. message: "请选择问题程度",
  893. trigger: "change"
  894. },
  895. {
  896. trigger: "change"
  897. }
  898. ]
  899. },
  900. dxdcAsideHeight: window.innerHeight - 220,
  901. maxHeight: window.innerHeight - 300,
  902. testHeight: window.innerHeight - 80,
  903. supervisionStateList: [
  904. {
  905. value: "0",
  906. label: "暂存"
  907. },
  908. {
  909. value: "1",
  910. label: "上报"
  911. }
  912. ],
  913. supervisionState: [
  914. {
  915. value: "0",
  916. label: "一般"
  917. },
  918. {
  919. value: "1",
  920. label: "较重"
  921. },
  922. {
  923. value: "2",
  924. label: "严重"
  925. },
  926. {
  927. value: "3",
  928. label: "特别严重"
  929. }
  930. ],
  931. supervision: [
  932. {
  933. value: "1",
  934. label: "是"
  935. },
  936. {
  937. value: "0",
  938. label: "否"
  939. }
  940. ],
  941. hasVedio1: [
  942. {
  943. value: "1",
  944. label: "是"
  945. },
  946. {
  947. value: "0",
  948. label: "否"
  949. }
  950. ],
  951. findUseOrgArray: [],
  952. areaInputValue: {},
  953. memberInputValue: {},
  954. multipleSelection: [], // 已选
  955. selectionType: {
  956. remove: 0,
  957. befor: 0,
  958. now: 0,
  959. after: 0
  960. },
  961. // 根据客户点击的督查类型查找督查对象ID
  962. // 新增
  963. listobjId: [],
  964. userId: localStorage.getItem("userid"),
  965. treeData: [],
  966. // 修改督查
  967. pictureArray: [],
  968. audioArray: [],
  969. videoArray: [],
  970. fileArray: [],
  971. audiotabName: "",
  972. videotabName: "",
  973. picturetabName: "",
  974. filetabName: "",
  975. playerOptions: {
  976. height: "120",
  977. autoplay: true,
  978. muted: true,
  979. language: "en",
  980. playbackRates: [0.7, 1.0, 1.5, 2.0],
  981. sources: [
  982. {
  983. type: "video/mp4",
  984. // mp4
  985. src: "http://vjs.zencdn.net/v/oceans.mp4"
  986. // webm
  987. // src: "https://cdn.theguardian.tv/webM/2015/07/20/150716YesMen_synd_768k_vp8.webm"
  988. },
  989. {
  990. type: "video/mp4",
  991. // mp4
  992. src: "http://vjs.zencdn.net/v/oceans.mp4"
  993. // webm
  994. // src: "https://cdn.theguardian.tv/webM/2015/07/20/150716YesMen_synd_768k_vp8.webm"
  995. },
  996. {
  997. type: "video/mp4",
  998. // mp4
  999. src: "http://vjs.zencdn.net/v/oceans.mp4"
  1000. // webm
  1001. // src: "https://cdn.theguardian.tv/webM/2015/07/20/150716YesMen_synd_768k_vp8.webm"
  1002. },
  1003. {
  1004. type: "video/mp4",
  1005. // mp4
  1006. src: "http://vjs.zencdn.net/v/oceans.mp4"
  1007. // webm
  1008. // src: "https://cdn.theguardian.tv/webM/2015/07/20/150716YesMen_synd_768k_vp8.webm"
  1009. }
  1010. ]
  1011. },
  1012. changeSupervisionVisible: false,
  1013. changeSupervisionLoading: false,
  1014. changeSupervision: {
  1015. nm: "",
  1016. presId: localStorage.getItem("userid"),
  1017. endTime: "",
  1018. pblmId: "",
  1019. objId: "",
  1020. objType: "",
  1021. inspGroupId: "",
  1022. inspPblmName: "",
  1023. inspPblmDesc: "",
  1024. pblmLong: "",
  1025. pblmLat: "",
  1026. pblmStat: "",
  1027. ifCasePblm: "",
  1028. inspPblmOrgName: "",
  1029. pblmPersName: "",
  1030. inspPblmCate: "",
  1031. reviOpin: "",
  1032. reviConc: "",
  1033. reviOrgGuid: "",
  1034. collTime: "",
  1035. recPers: "",
  1036. gwComFiles: [
  1037. {
  1038. id: "",
  1039. filePath: "",
  1040. bizId: ""
  1041. }
  1042. ]
  1043. },
  1044. // 文件弹框
  1045. fileList: [], // 当前文件列表
  1046. flash: false,
  1047. // 督查类型
  1048. supervisionTypeList: [
  1049. {
  1050. value: "1",
  1051. label: "水闸"
  1052. }
  1053. ],
  1054. leibie: [],
  1055. // 查询
  1056. value6: [],
  1057. findParams: {
  1058. hasVedio: "",
  1059. adCode: "",
  1060. pblmStat: "",
  1061. inspPblmCate: "",
  1062. ifCasePblm: "",
  1063. nm: "",
  1064. rsName: "",
  1065. adFullName: "",
  1066. startTime: "",
  1067. endTime: "",
  1068. objType: 6,
  1069. inspPblmName: "",
  1070. state: '',
  1071. persId: localStorage.getItem("userid")
  1072. },
  1073. stateList: [
  1074. {
  1075. label: '未提交',
  1076. value: '0'
  1077. },
  1078. {
  1079. label: '已提交',
  1080. value: '2'
  1081. },
  1082. {
  1083. label: '已发布',
  1084. value: '3'
  1085. }
  1086. ],
  1087. currentPage: 1, // 页码
  1088. pageSize: 20, // 条数
  1089. loading: false,
  1090. total: 0, // 总数
  1091. searchResult: [], // 结果
  1092. crId: "", // 当前督查id
  1093. // 督查详情
  1094. userid: localStorage.getItem("userid"),
  1095. supervisionDetailsVisible: false,
  1096. problemDeleteVisible: false,
  1097. supervisionDetails: {},
  1098. pblmId: "",
  1099. gwComFiles: [],
  1100. pblscr: "",
  1101. pblscrList: [
  1102. {
  1103. lable: "我的问题",
  1104. value: localStorage.getItem("userid")
  1105. }
  1106. ],
  1107. pblscrGroup: "",
  1108. problemList: [],
  1109. currentCheckPointList: [],
  1110. currentProblemDescList: [],
  1111. t1: {},
  1112. t2: {},
  1113. t3: {},
  1114. xiangqingmiaoshu: '',
  1115. wenTiLeiBie: "",
  1116. jianChaXiangMu: "",
  1117. header: {
  1118. 'persId': localStorage.getItem('userid'),
  1119. 'orgId': localStorage.getItem('currentOrgId'),
  1120. 'accessToken': localStorage.getItem('accessToken')
  1121. },
  1122. fileListLength: 0,
  1123. exportLoading: false,
  1124. datas: {},
  1125. showTianBaoPl: false,
  1126. buttonLoading: false
  1127. };
  1128. },
  1129. computed: {
  1130. hostUrl() {
  1131. return hostUrl
  1132. },
  1133. formatDateTime() {
  1134. return formatDateTime2
  1135. },
  1136. isGd(){
  1137. if(localStorage.getItem('currentRlcode').substring(0,2)=="44"){
  1138. return true;
  1139. }else{
  1140. return false;
  1141. }
  1142. }
  1143. },
  1144. created() {
  1145. if (this.userId) {
  1146. console.log("已经登录");
  1147. this.search();
  1148. } else {
  1149. this.$router.push("/login");
  1150. }
  1151. this.getproblemSmallType();
  1152. this.getproblemSmallType1();
  1153. this.getLeftTreeData();
  1154. this.addPicPanel = false;
  1155. },
  1156. activated() {
  1157. // 监督司提的一个优化,来回切换页签的时候,能不能不主动刷新页面,这样他们不方便来回对比数据
  1158. // this.getLeftTreeData();
  1159. // this.search();
  1160. // this.findParams = {
  1161. // hasVedio: "",
  1162. // adCode: "",
  1163. // pblmStat: "",
  1164. // inspPblmCate: "",
  1165. // ifCasePblm: "",
  1166. // nm: "",
  1167. // rsName: "",
  1168. // adFullName: "",
  1169. // startTime: "",
  1170. // endTime: "",
  1171. // objType: 6,
  1172. // inspPblmName: "",
  1173. // persId: localStorage.getItem("userid")
  1174. // }
  1175. },
  1176. methods: {
  1177. openDetails(row) {
  1178. this.currentProblemId = row.pblmId;
  1179. this.supervisionDetailsVisible = true;
  1180. },
  1181. tabChange(tabType) {
  1182. this.tabType = tabType;
  1183. this.getLeftTreeData();
  1184. this.search();
  1185. },
  1186. handleCheckChange(data, checked, indeterminate) {
  1187. let cNarray = this.$refs["jigou_tree"].getCheckedNodes();
  1188. console.log(cNarray);
  1189. this.treeNodeArray = cNarray;
  1190. },
  1191. getLeftTreeData() {
  1192. var _self = this;
  1193. request
  1194. .get("/dc/organization/base/getAllNode", {
  1195. params: {
  1196. userId: this.userId,
  1197. orgType: "006",
  1198. tabType: this.tabType
  1199. }
  1200. })
  1201. .then(res => {
  1202. let data = res.data;
  1203. data.forEach(ele => {
  1204. if (ele.pid == null || ele.pid == "") {
  1205. ele.pid = "006";
  1206. }
  1207. });
  1208. data = _self.getTrees(data);
  1209. _self.treeData = data;
  1210. console.log(data);
  1211. // _self.duChaType = _self.treeData[0].id.substring(2,3);
  1212. });
  1213. },
  1214. //格式化树形数据
  1215. getTrees(list) {
  1216. //@wxcwater重写方法 适应多个树
  1217. let highLevelLength = 99;//预设最大节点id长度,目前最大应该为12,所以设置为99保证正常
  1218. let _self = this;
  1219. list.forEach((item, index) => {
  1220. item['pidLength'] = item.pid && item.pid != '' ? item.pid.length : 0;
  1221. if (highLevelLength > item.pidLength) {
  1222. highLevelLength = item.pidLength;
  1223. }
  1224. });
  1225. console.log(highLevelLength);
  1226. let heightLevelNode = [];
  1227. list.forEach((item, index) => {
  1228. if (highLevelLength >= item.pidLength) {
  1229. heightLevelNode.push(item);
  1230. }
  1231. });
  1232. list.forEach((item, index) => {
  1233. heightLevelNode.forEach((pItem) => {
  1234. _self.addTreeNode(pItem, item);
  1235. });
  1236. });
  1237. console.log(heightLevelNode);
  1238. return heightLevelNode;
  1239. },
  1240. addTreeNode: function (treeNode, leafNode) {
  1241. let _self = this;
  1242. if (!treeNode.hasOwnProperty('children')) {
  1243. treeNode['children'] = [];
  1244. }
  1245. if (leafNode.pid == treeNode.id) {
  1246. treeNode.children.push(leafNode);
  1247. return;
  1248. }
  1249. treeNode.children.forEach((item) => {
  1250. _self.addTreeNode(item, leafNode);
  1251. });
  1252. },
  1253. // 查询参数逻辑
  1254. insertTreeNode: function (params) {
  1255. this.treeNodeArray.push({
  1256. name: params.name,
  1257. code: params.code
  1258. });
  1259. this.treeNodeSelectVisible = false;
  1260. this.areaSelectVisible = false;
  1261. this.skSelectVisible = false;
  1262. },
  1263. deleteTreeNode: function (tag) {
  1264. let deleteIndex;
  1265. this.treeNodeArray.forEach((item, index) => {
  1266. if (item.code == tag.code) {
  1267. deleteIndex = index;
  1268. }
  1269. });
  1270. this.treeNodeArray.splice(deleteIndex, 1);
  1271. },
  1272. selectDuChaAreaNode(params) {
  1273. this.adNodeArray.push(params);
  1274. this.areaSelectVisible = false;
  1275. this.skSelectVisible = false;
  1276. },
  1277. deleteAreaNode(tag) {
  1278. let deleteIndex;
  1279. this.adNodeArray.forEach((item, index) => {
  1280. if (item.adCode == tag.adCode) {
  1281. deleteIndex = index;
  1282. return;
  1283. }
  1284. });
  1285. this.adNodeArray.splice(deleteIndex, 1);
  1286. },
  1287. selectSkNode(params) {
  1288. this.rsvrNodeArray.push(params);
  1289. this.skSelectVisible = false;
  1290. },
  1291. deleteSkNode(tag) {
  1292. let deleteIndex;
  1293. this.rsvrNodeArray.forEach((item, index) => {
  1294. if (item.rsCode == tag.rsCode) {
  1295. deleteIndex = index;
  1296. return;
  1297. }
  1298. });
  1299. this.rsvrNodeArray.splice(deleteIndex, 1);
  1300. },
  1301. // end
  1302. handleClose(tag) {
  1303. this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1);
  1304. },
  1305. showInput() {
  1306. this.inputVisible = true;
  1307. this.$nextTick(_ => {
  1308. this.$refs.saveTagInput.$refs.input.focus();
  1309. });
  1310. },
  1311. handleInputConfirm() {
  1312. // let inputValue = this.inputValue;
  1313. // if (inputValue) {
  1314. // this.dynamicTags.push(inputValue);
  1315. // }
  1316. // this.inputVisible = false;
  1317. // this.inputValue = '';
  1318. },
  1319. // 操作成功反馈
  1320. successInfo() {
  1321. this.$message({
  1322. type: "success",
  1323. message: "操作成功!"
  1324. });
  1325. },
  1326. // 操作失败反馈
  1327. failInfo(val) {
  1328. this.$message.error(val);
  1329. },
  1330. // 清空选择
  1331. toggleSelection(rows) {
  1332. this.$refs.multipleTable.clearSelection();
  1333. },
  1334. // 已选择项
  1335. handleSelectionChange(val) {
  1336. this.multipleSelection = val;
  1337. },
  1338. // 文件上传
  1339. submitUpload() {
  1340. this.$refs.upload.submit();
  1341. },
  1342. handleRemove(file, fileList) {
  1343. console.log(file, fileList);
  1344. },
  1345. handlePreview(file) {
  1346. console.log(file);
  1347. },
  1348. // 查询
  1349. search() {
  1350. this.loading = true;
  1351. let _self = this;
  1352. request
  1353. .get("/dc/organization/base/getAllNode", {
  1354. params: {
  1355. userId: this.userId,
  1356. orgType: "006",
  1357. tabType: this.tabType
  1358. }
  1359. })
  1360. .then(res => {
  1361. let orgAllNode = res.data;
  1362. _self.loading = true;
  1363. let data = _self.findParams;
  1364. data.startTime = _self.value6 && _self.value6.length > 0 ? _self.value6[0] : '';
  1365. data.endTime = _self.value6 && _self.value6.length > 0 ? _self.value6[1] : '';
  1366. data.pageNum = _self.currentPage;
  1367. data.recPers = _self.pblscr;
  1368. data.orgNm = _self.pblscrGroup;
  1369. data.pageSize = _self.pageSize;
  1370. data.villType = "7";
  1371. _self.findUseOrgArray = [];
  1372. _self.treeNodeArray.forEach(item => {
  1373. if (item.id.length < 12) {
  1374. orgAllNode.forEach(orgItem => {
  1375. if (orgItem.id.startsWith(item.code)) {
  1376. _self.findUseOrgArray.push(orgItem.id);
  1377. }
  1378. });
  1379. }
  1380. _self.findUseOrgArray.push(item.id);
  1381. });
  1382. if (_self.findUseOrgArray.length > 0) {
  1383. data["orgIds"] = _self.findUseOrgArray.join(",");
  1384. } else {
  1385. data["orgIds"] = "";
  1386. }
  1387. this.dataAll = data;
  1388. data.tabType = this.tabType;
  1389. getSzwtTable(data).then(res => {
  1390. _self.loading = false;
  1391. _self.multipleSelection = [];
  1392. if (res.success) {
  1393. _self.searchResult = res.data.list;
  1394. _self.total = res.data.total;
  1395. } else {
  1396. _self.failInfo();
  1397. }
  1398. });
  1399. });
  1400. },
  1401. async submitBtn() {
  1402. if (this.multipleSelection.length === 0) {
  1403. this.$message.warning('请至少选择一条问题');
  1404. return;
  1405. }
  1406. let newArray = this.multipleSelection.map((item) => {
  1407. return {
  1408. "objId": item.objId,
  1409. "objType": item.objType,
  1410. "state": "3"
  1411. }
  1412. });
  1413. const {success, message} = await pblmSubmit(newArray);
  1414. if (success) {
  1415. this.$message.success('问题发布成功');
  1416. this.search();
  1417. } else {
  1418. this.$message.warning(message);
  1419. }
  1420. },
  1421. toForm(){
  1422. var idArr = [];
  1423. if(this.multipleSelection && this.multipleSelection.length==0){
  1424. this.$message.warning("请选择数据");
  1425. return false;
  1426. }else{
  1427. this.multipleSelection.forEach((item)=>{
  1428. idArr.push(item.pblmId);
  1429. })
  1430. }
  1431. this.ids = idArr.join(",");
  1432. this.isToFormVisible = true;
  1433. },
  1434. toFormOk(){
  1435. let host = hostUrl;
  1436. let nginx = '/pageofficePath/';
  1437. var params = {
  1438. ids:this.ids
  1439. }
  1440. axios.post('/pageofficePath/pageoffice/pblm/list/sendIds',params).then((res)=> {
  1441. if(res.status==200){
  1442. let href = 'pageoffice://|' + host + nginx + '/pageoffice/pblm/list/word?filename='+this.oneForm+'|width=1100px;height=800px;ismodal=false;||91A4EE66EC1921F376873E85D6C74FFA|A890649B44577C32CE1930797E1299F9';
  1443. let a = document.createElement('a'); // 创建a标签
  1444. a.setAttribute('href', href);// href链接
  1445. a.click();// 自执行点击事件
  1446. }
  1447. })
  1448. },
  1449. async exportExcel() {
  1450. let _self = this;
  1451. await request.get("/dc/organization/base/getAllNode", {
  1452. params: {
  1453. userId: this.userId,
  1454. orgType: "006"
  1455. }
  1456. }).then(res => {
  1457. let orgAllNode = res.data;
  1458. let data = _self.findParams;
  1459. data.pageNum = _self.currentPage;
  1460. data.pageSize = _self.pageSize;
  1461. data.villType = "0";
  1462. this.datas = JSON.stringify(data);
  1463. _self.treeNodeArray.forEach(item => {
  1464. console.log(item);
  1465. if (item.id.length < 12) {
  1466. orgAllNode.forEach(orgItem => {
  1467. if (orgItem.id.startsWith(item.id)) {
  1468. _self.findUseOrgArray.push(orgItem.id);
  1469. }
  1470. });
  1471. } else {
  1472. _self.findUseOrgArray.push(item.id);
  1473. }
  1474. });
  1475. });
  1476. let url = "/pdcApi/dc/insp/pblm/page/waga/export";
  1477. let type = "post";
  1478. let exportName = "水闸问题列表.xls"
  1479. let result = await exportModel(type, url, exportName, this.datas);
  1480. _self.exportLoading = result;
  1481. },
  1482. async exportWord() {
  1483. let _self = this;
  1484. _self.exportLoading = true;
  1485. await request.get("/dc/organization/base/getAllNode", {
  1486. params: {
  1487. userId: this.userId,
  1488. orgType: "006"
  1489. }
  1490. }).then(res => {
  1491. let orgAllNode = res.data;
  1492. let data = _self.findParams;
  1493. data.pageNum = _self.currentPage;
  1494. data.pageSize = _self.pageSize;
  1495. data.villType = "0";
  1496. _self.treeNodeArray.forEach(item => {
  1497. if (item.id.length < 12) {
  1498. orgAllNode.forEach(orgItem => {
  1499. if (orgItem.id.startsWith(item.id)) {
  1500. _self.findUseOrgArray.push(orgItem.id);
  1501. }
  1502. });
  1503. } else {
  1504. _self.findUseOrgArray.push(item.id);
  1505. }
  1506. });
  1507. });
  1508. await request.post("/waga/doc", _self.dataAll).then(res => {
  1509. if (res.success) {
  1510. _self.exportLoading = false;
  1511. console.log(this.response);
  1512. var a = document.createElement("a");
  1513. a.href = `${this.hostUrl}${res.data.downloadPath}`;
  1514. //设置文件名称
  1515. a.download = "水闸问题详情.doc";
  1516. a.click();
  1517. // window.open(`${this.hostUrl}${res.data.downloadPath}`)
  1518. } else {
  1519. _self.$mesage.error(res.message);
  1520. }
  1521. })
  1522. .catch(res => {
  1523. _self.$mesage.error(res.message);
  1524. });
  1525. },
  1526. downFile(blob, fileName) {
  1527. // 非IE下载
  1528. if ("download" in document.createElement("a")) {
  1529. let link = document.createElement("a");
  1530. link.href = window.URL.createObjectURL(blob); // 创建下载的链接
  1531. link.download = fileName; // 下载后文件名
  1532. link.style.display = "none";
  1533. document.body.appendChild(link);
  1534. link.click(); // 点击下载
  1535. window.URL.revokeObjectURL(link.href); // 释放掉blob对象
  1536. document.body.removeChild(link); // 下载完成移除元素
  1537. } else {
  1538. // IE10+下载
  1539. window.navigator.msSaveBlob(blob, fileName);
  1540. }
  1541. },
  1542. handleSizeChange(pageSize) {
  1543. this.pageSize = pageSize;
  1544. this.search();
  1545. },
  1546. // 新增
  1547. getDuChaId() {
  1548. //新增中 获取督查对象id
  1549. getSupervisdByID(this.userid, 1).then(res => {
  1550. if (res.success) {
  1551. // alert(1)
  1552. this.listobjId = res.data;
  1553. } else {
  1554. this.failInfo();
  1555. }
  1556. });
  1557. },
  1558. // 取消
  1559. removeNewSupervision(arg) {
  1560. this.gwComFiles = [];
  1561. if (arg) {
  1562. this.gwComFiles = arg;
  1563. this.$refs.uploadFile.init();
  1564. }
  1565. },
  1566. // 详情弹框
  1567. showDetails(id) {
  1568. this.currentProblemId = id;
  1569. this.supervisionDetailsVisible = true;
  1570. },
  1571. // 删除弹窗
  1572. removeSuperviseOne(id) {
  1573. this.deleteId = id;
  1574. this.problemDeleteVisible = true;
  1575. },
  1576. deleteSuccess() {
  1577. this.problemDeleteVisible = false;
  1578. this.search();
  1579. this.$emit("problemCount");
  1580. },
  1581. // 修改弹窗显示
  1582. changeSup(id) {
  1583. this.currentProblemId = '';
  1584. let _this = this
  1585. this.pictureArray = [];
  1586. this.audioArray = [];
  1587. this.videoArray = [];
  1588. this.fileArray = [];
  1589. this.updateIdXiuGai = id;
  1590. showDetailsXq(this.updateIdXiuGai).then(res => {
  1591. this.changeSupervision = res.data;
  1592. this.fileList = this.changeSupervision.gwComFiles;
  1593. this.t1['name'] = this.changeSupervision.inspPblmsName
  1594. this.problemList.forEach(ele => {
  1595. if (ele.name == _this.t1.name) {
  1596. _this.problemListChange(ele)
  1597. }
  1598. })
  1599. this.t2['name'] = this.changeSupervision.checkPoint
  1600. this.currentCheckPointList.forEach(ele => {
  1601. if (ele.name == _this.t2.name) {
  1602. _this.currentCheckPointListChange(ele)
  1603. }
  1604. })
  1605. this.t3['pblmDesc'] = this.changeSupervision.pblmDesc
  1606. this.changeSupervisionVisible = true;
  1607. res.data.gwComFiles.forEach(item => {
  1608. if (
  1609. item.fileExt == "mp3" ||
  1610. item.fileExt == "MP3" ||
  1611. item.fileExt == "m4a"
  1612. ) {
  1613. this.audioArray.push(item);
  1614. } else if (
  1615. item.fileExt == "jpg" ||
  1616. item.fileExt == "JPG" ||
  1617. item.fileExt == "png" ||
  1618. item.fileExt == "PNG" ||
  1619. item.fileExt == "JPEG" ||
  1620. item.fileExt == "jpeg"
  1621. ) {
  1622. this.pictureArray.push(item);
  1623. } else if (item.fileExt == "mp4" || item.fileExt == "MP4") {
  1624. this.videoArray.push({
  1625. id: item.id,
  1626. bizId: item.bizId,
  1627. width: "130",
  1628. height: "130",
  1629. autoplay: false,
  1630. muted: true,
  1631. language: "en",
  1632. playbackRates: [0.7, 1.0, 1.5, 2.0],
  1633. sources: [
  1634. {
  1635. type: "video/mp4",
  1636. // mp4
  1637. src: this.hostUrl + item.filePath
  1638. // webm
  1639. // src: "https://cdn.theguardian.tv/webM/2015/07/20/150716YesMen_synd_768k_vp8.webm"
  1640. }
  1641. ]
  1642. });
  1643. } else {
  1644. this.fileArray.push(item);
  1645. }
  1646. });
  1647. this.picturetabName = "图片资料(" + this.pictureArray.length + ")";
  1648. this.audiotabName = "音频资料(" + this.audioArray.length + ")";
  1649. this.videotabName = "视频资料(" + this.videoArray.length + ")";
  1650. this.filetabName = "其它资料(" + this.fileArray.length + ")";
  1651. });
  1652. },
  1653. // 提交修改信息
  1654. changeSupervisionInfo() {
  1655. this.$refs.changeSupFrom.validate(valid => {
  1656. if (valid) {
  1657. this.$nextTick(() => {
  1658. this.changeSupervisionVisible = true;
  1659. this.buttonLoading = true;
  1660. if (this.$refs.uploadFile.submitUpload(this.changeSupervision.pblmId)) {
  1661. this.removeNewSupervision();
  1662. }
  1663. setTimeout(() => {
  1664. this.changeSupervisionLoading = true;
  1665. this.changeSupervision.inspPblmsName = this.wenTiLeiBie
  1666. this.changeSupervision.checkPoint = this.jianChaXiangMu
  1667. this.changeSupervision.inspPblmName = this.xiangqingmiaoshu
  1668. this.changeSupervision.pblmsTypeId = this.t3.guid;
  1669. this.changeSupervision.gwComFiles = this.gwComFiles;
  1670. let data = this.changeSupervision;
  1671. updatelist(data).then(res => {
  1672. this.pblmId = res.data.pblmId;
  1673. this.gwComFiles = res.data.gwComFiles;
  1674. if (res.success) {
  1675. this.buttonLoading = false;
  1676. this.search();
  1677. this.changeSupervisionVisible = false;
  1678. this.addPicPanel = false;
  1679. } else {
  1680. this.failInfo();
  1681. }
  1682. });
  1683. }, 1000)
  1684. })
  1685. }
  1686. });
  1687. },
  1688. // 删除图片文件
  1689. removeFile(id, index) {
  1690. // this.updateIdXiuGai = this.updateIdXiuGai;
  1691. var _self = this;
  1692. this.$confirm("此操作将永久删除该文件, 是否继续?", "提示", {
  1693. confirmButtonText: "确定",
  1694. cancelButtonText: "返回",
  1695. type: "warning"
  1696. }).then(
  1697. res => {
  1698. if (res === "confirm") {
  1699. deleteFileById(id, this.userId).then(res => {
  1700. if (res.success) {
  1701. this.fileListLength = 0;
  1702. this.fileList.forEach(item => {
  1703. if (
  1704. item.fileExt == "mp3" ||
  1705. item.fileExt == "MP3" ||
  1706. item.fileExt == "m4a"
  1707. ) {
  1708. this.audioArray.splice(index, 1);
  1709. } else if (
  1710. item.fileExt == "jpg" ||
  1711. item.fileExt == "JPG" ||
  1712. item.fileExt == "png" ||
  1713. item.fileExt == "PNG" ||
  1714. item.fileExt == "JPEG" ||
  1715. item.fileExt == "jpeg"
  1716. ) {
  1717. this.pictureArray.splice(index, 1);
  1718. } else if (item.fileExt == "mp4" || item.fileExt == "MP4") {
  1719. this.videoArray.splice(index, 1);
  1720. }
  1721. });
  1722. _self.changeSup(this.updateIdXiuGai);
  1723. } else {
  1724. this.failInfo();
  1725. }
  1726. });
  1727. }
  1728. },
  1729. res => {
  1730. console.log("返回");
  1731. }
  1732. );
  1733. },
  1734. changeSupervisionVisiblefalse() {
  1735. this.$nextTick(() => {
  1736. if (this.flash) {
  1737. this.flash = false;
  1738. this.search();
  1739. }
  1740. });
  1741. this.changeSupervisionVisible = false;
  1742. this.changeSupervision = {
  1743. dataStat: "",
  1744. nm: "",
  1745. endTime: "",
  1746. pblmId: "",
  1747. objId: "",
  1748. objType: "",
  1749. inspGroupId: "",
  1750. inspPblmCate: "",
  1751. inspPblmName: "",
  1752. inspPblmDesc: "",
  1753. pblmLong: "",
  1754. pblmLat: "",
  1755. pblmStat: "",
  1756. ifCasePblm: "",
  1757. inspPblmOrgName: "",
  1758. pblmPersName: "",
  1759. reviOpin: "",
  1760. reviConc: "",
  1761. reviOrgGuid: "",
  1762. collTime: "",
  1763. recPers: "",
  1764. note: "",
  1765. gwComFiles: [
  1766. {
  1767. id: "",
  1768. filePath: "",
  1769. bizId: ""
  1770. }
  1771. ]
  1772. };
  1773. this.$refs.uploadFile.init();
  1774. this.addPicPanel = false;
  1775. },
  1776. addPic() {
  1777. this.addPicPanel = !this.addPicPanel;
  1778. },
  1779. getproblemSmallType1() {
  1780. let result = [];
  1781. request.get('/dc/insp/pblms/getPblmType', {
  1782. params: {
  1783. type: 6
  1784. }
  1785. }).then(res => {
  1786. if (res.success) {
  1787. res.data.forEach((ele) => {
  1788. let haveinspPblmsName = false;
  1789. result.forEach((inspPblm) => {
  1790. if (inspPblm['inspPblmsName'] == ele.inspPblmsName) {
  1791. //
  1792. let havechekPoint = false;
  1793. inspPblm['checkPoints'].forEach((chekPoint) => {
  1794. if (chekPoint['checkPointName'] == ele.checkPoint) {
  1795. //
  1796. chekPoint['pblmDescs'].push({
  1797. pblmDesc: ele.pblmDesc,
  1798. sn: ele.sn,
  1799. guid: ele.guid,
  1800. });
  1801. havechekPoint = true;
  1802. }
  1803. });
  1804. if (!havechekPoint) {
  1805. let newCheckPoint = {};
  1806. newCheckPoint['checkPointName'] = ele.checkPoint;
  1807. newCheckPoint['sort2'] = ele.sort2;
  1808. newCheckPoint['pblmDescs'] = [{
  1809. pblmDesc: ele.pblmDesc,
  1810. sn: ele.sn,
  1811. guid: ele.guid,
  1812. }]
  1813. inspPblm['checkPoints'].push(newCheckPoint);
  1814. }
  1815. haveinspPblmsName = true;
  1816. }
  1817. });
  1818. if (!haveinspPblmsName) {
  1819. let haveinspPblmsObj = {};
  1820. haveinspPblmsObj['inspPblmsName'] = ele.inspPblmsName;
  1821. haveinspPblmsObj['sort1'] = ele.sort1;
  1822. haveinspPblmsObj['checkPoints'] = [{
  1823. checkPointName: ele.checkPoint,
  1824. sort2: ele.sort2,
  1825. pblmDescs: [{
  1826. pblmDesc: ele.pblmDesc,
  1827. sn: ele.sn,
  1828. guid: ele.guid,
  1829. }]
  1830. }];
  1831. result.push(haveinspPblmsObj);
  1832. }
  1833. })
  1834. this.leibie = result;
  1835. console.log(this.problemList);
  1836. }
  1837. })
  1838. },
  1839. getproblemSmallType() {
  1840. var _self = this;
  1841. request.get("/dc/insp/pblms/getAllPblmsByType/6").then(res => {
  1842. if (res.success) {
  1843. this.problemList = res.data;
  1844. // this.t1 = this.problemList[0]
  1845. // this.currentCheckPointList = this.problemList[0].items
  1846. // this.t2 = this.currentCheckPointList[0]
  1847. // this.currentProblemDescList = this.problemList[0].items[0].items
  1848. // this.t3 = this.currentProblemDescList[0]
  1849. // this.problemForm['pblmsTypeId'] = this.currentProblemDescList[0].guid;
  1850. }
  1851. })
  1852. },
  1853. getYanZhongChengDu() {
  1854. this.changeSupervision.inspPblmCate = this.t3.inspPblmCate;
  1855. },
  1856. problemListChange(item) {
  1857. this.wenTiLeiBie = item.name;
  1858. this.currentCheckPointList = item.items;
  1859. },
  1860. currentCheckPointListChange(item) {
  1861. this.jianChaXiangMu = item.name;
  1862. this.currentProblemDescList = item.items;
  1863. },
  1864. currentProblemDescListChange(item) {
  1865. this.xiangqingmiaoshu = item.pblmDesc;
  1866. },
  1867. onChangeDialog() {
  1868. },
  1869. showPlDialog() {
  1870. this.showTianBaoPl = true
  1871. },
  1872. closePlDialog(val) {
  1873. this.showTianBaoPl = false
  1874. this.search();
  1875. },
  1876. },
  1877. watch: {
  1878. codeId: function () {
  1879. this.search();
  1880. },
  1881. 't1': {
  1882. handler: function (val, oldVal) {
  1883. this.getYanZhongChengDu()
  1884. },
  1885. deep: true
  1886. },
  1887. 't2': {
  1888. handler: function (val, oldVal) {
  1889. this.getYanZhongChengDu()
  1890. },
  1891. deep: true
  1892. },
  1893. 't3': {
  1894. handler: function (val, oldVal) {
  1895. this.getYanZhongChengDu()
  1896. },
  1897. deep: true
  1898. },
  1899. showExpandSearchPanel: function (val) {
  1900. if (val) {
  1901. this.tableHeight = window.innerHeight - 389;
  1902. } else {
  1903. this.tableHeight = window.innerHeight - 290;
  1904. }
  1905. }
  1906. }
  1907. };
  1908. </script>
  1909. <style rel="stylesheet/scss" lang="scss" scoped>
  1910. @import "./base.css";
  1911. @import url("/src/assets/iconfont/iconfont.css");
  1912. @import url("/src/assets/css/mixin.scss");
  1913. .upload-container {
  1914. width: 100%;
  1915. position: relative;
  1916. .image-uploader {
  1917. width: 35%;
  1918. float: left;
  1919. }
  1920. .image-preview {
  1921. width: 200px;
  1922. height: 200px;
  1923. position: relative;
  1924. border: 1px dashed #d9d9d9;
  1925. float: left;
  1926. // margin-left: 50px;
  1927. .image-preview-wrapper {
  1928. position: relative;
  1929. width: 100%;
  1930. height: 100%;
  1931. img {
  1932. width: 100%;
  1933. height: 100%;
  1934. }
  1935. }
  1936. .image-preview-action {
  1937. position: absolute;
  1938. width: 100%;
  1939. height: 100%;
  1940. left: 0;
  1941. top: 0;
  1942. cursor: default;
  1943. text-align: center;
  1944. color: #fff;
  1945. opacity: 0;
  1946. font-size: 20px;
  1947. background-color: rgba(0, 0, 0, 0.5);
  1948. transition: opacity 0.3s;
  1949. cursor: pointer;
  1950. text-align: center;
  1951. line-height: 200px;
  1952. .el-icon-delete {
  1953. font-size: 36px;
  1954. }
  1955. }
  1956. &:hover {
  1957. .image-preview-action {
  1958. opacity: 1;
  1959. }
  1960. }
  1961. }
  1962. .image-app-preview {
  1963. margin-bottom: 10px;
  1964. width: 40vh;
  1965. height: 180px;
  1966. position: relative;
  1967. border: 1px dashed #d9d9d9;
  1968. float: left;
  1969. // margin-left: 50px;
  1970. .app-fake-conver {
  1971. height: 44px;
  1972. position: absolute;
  1973. width: 100%; // background: rgba(0, 0, 0, .1);
  1974. text-align: center;
  1975. line-height: 64px;
  1976. color: #fff;
  1977. }
  1978. }
  1979. }
  1980. .bottom {
  1981. margin-top: 13px;
  1982. line-height: 12px;
  1983. }
  1984. .button {
  1985. padding: 0;
  1986. float: right;
  1987. }
  1988. .image {
  1989. width: 100%;
  1990. display: block;
  1991. }
  1992. .clearfix:before,
  1993. .clearfix:after {
  1994. display: table;
  1995. content: "";
  1996. }
  1997. .clearfix:after {
  1998. clear: both;
  1999. }
  2000. #wenTiContainer_sk .el-tree-node {
  2001. /* overflow: auto; */
  2002. }
  2003. #wenTiContainer_sk .el-tree-node > .el-tree-node__children {
  2004. overflow: auto;
  2005. }
  2006. .shuiku .el-date-editor.el-input {
  2007. min-width: 180px !important;
  2008. }
  2009. .shuiku .header {
  2010. padding: 0px 10px;
  2011. }
  2012. .shuiku .el-row {
  2013. margin-bottom: 5px;
  2014. }
  2015. .shuiku .content {
  2016. margin: 10px;
  2017. }
  2018. /* .search .el-table>>>.el-tooltip {
  2019. white-space: pre-wrap !important;
  2020. line-height: 30px;
  2021. font-size: 0;
  2022. } */
  2023. .shuiku .search > > > .el-table .el-button:nth-child(odd) {
  2024. margin-left: 0 !important;
  2025. }
  2026. .custom_dialog .el-dialog {
  2027. width: 60% !important;
  2028. }
  2029. .custom_dialog .scroll300 {
  2030. max-height: 60vh !important;
  2031. }
  2032. .shuiku .el-tag + .el-tag {
  2033. margin-left: 10px;
  2034. }
  2035. .shuiku .button-new-tag {
  2036. margin-left: 10px;
  2037. height: 28px;
  2038. line-height: 28px;
  2039. padding-top: 0;
  2040. padding-bottom: 0;
  2041. }
  2042. .shuiku .input-new-tag {
  2043. width: 90px;
  2044. margin-left: 10px;
  2045. vertical-align: bottom;
  2046. }
  2047. .inspPblmCate {
  2048. padding: 2px 10px;
  2049. border-radius: 10px;
  2050. color: #ffffff;
  2051. -webkit-border-radius: 10px;
  2052. -moz-border-radius: 10px;
  2053. border-radius: 10px;
  2054. }
  2055. .skactive {
  2056. background: #3f8eff !important;
  2057. color: white !important;
  2058. margin-top: 5px;
  2059. margin-bottom: 5px;
  2060. }
  2061. .sknormal {
  2062. background: white;
  2063. margin-top: 5px;
  2064. margin-bottom: 5px;
  2065. }
  2066. </style>