53b6d3c8deab3e8e15736238ffe6675ba4d0be22.svn-base 99 KB

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