c000f972059091ba6ae751cbe17bf5ccbf553a2d.svn-base 80 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127
  1. <template>
  2. <el-container class="sddc_sendnotice">
  3. <el-main>
  4. <el-card class="box-card" :style="{'height': cardHeight + 'px','overflow-y':'auto'}">
  5. <el-row :gutter="20" type="flex" justify="start" class="notice_title">
  6. <el-col :span="24">
  7. <el-form :inline="true" size="mini" class="demo-form-inline" label-width="75px">
  8. <el-form-item label="选择年度">
  9. <el-select v-model="search.year" @change="changeYear1" style="width: 150px;" clearable>
  10. <el-option :label="item.pnm" :value="item.id" :key="index"
  11. v-for="(item,index) in yearList1"></el-option>
  12. </el-select>
  13. </el-form-item>
  14. <el-form-item label="选择批次">
  15. <el-select v-model="search.batch" @change="changeBatch1" style="width: 150px;" clearable>
  16. <el-option :label="item.pnm" :value="item.id" :key="index" v-for="(item,index) in pcList1"></el-option>
  17. </el-select>
  18. </el-form-item>
  19. <el-form-item label="督查组">
  20. <el-select v-model="search.groupId" @change="changeGroup1" style="width: 150px;" clearable>
  21. <el-option :label="item.pnm" :value="item.id" :key="index"
  22. v-for="(item,index) in groupList1"></el-option>
  23. </el-select>
  24. </el-form-item>
  25. <el-form-item label="区/县">
  26. <el-select v-model="search.area" @change="changeArea1" clearable style="width: 150px;" clearable>
  27. <el-option :label="item.pnm" :value="item.adCode" :key="index"
  28. v-for="(item,index) in areaList1"></el-option>
  29. </el-select>
  30. </el-form-item>
  31. <el-form-item label="项目名称">
  32. <el-select v-model="search.rgstrId" @change="$forceUpdate()" clearable placeholder="请选择" style="width: 150px;">
  33. <el-option
  34. v-for="item in projectList1"
  35. :key="item.id"
  36. :label="item.pnm"
  37. :value="item.id">
  38. </el-option>
  39. </el-select>
  40. </el-form-item>
  41. <el-form-item label="专业">
  42. <el-select v-model="search.listType" placeholder="请选择" clearable style="width: 150px;">
  43. <el-option
  44. v-for="item in professionList"
  45. :key="item.value"
  46. :label="item.label"
  47. :value="item.value">
  48. </el-option>
  49. </el-select>
  50. </el-form-item>
  51. <el-form-item label="问题名称">
  52. <el-input v-model="search.pblmNm" clearable autocomplete="off" style="width: 150px;"></el-input>
  53. </el-form-item>
  54. <el-form-item label="责任单位">
  55. <el-input v-model="search.subjectNames" clearable autocomplete="off" style="width: 150px;"></el-input>
  56. </el-form-item>
  57. <el-form-item label="严重程度">
  58. <el-select v-model="search.pblmPasi" clearable placeholder="请选择" style="width: 150px;">
  59. <el-option
  60. v-for="item in problemType"
  61. :key="item.value"
  62. :label="item.label"
  63. :value="item.value">
  64. </el-option>
  65. </el-select>
  66. </el-form-item>
  67. <!-- <el-form-item label="是否典型">-->
  68. <!-- <el-select v-model="search.ifCasePblm" clearable placeholder="请选择" style="width: 150px;">-->
  69. <!-- <el-option label="是" value="1"></el-option>-->
  70. <!-- <el-option label="否" value="0"></el-option>-->
  71. <!-- </el-select>-->
  72. <!-- </el-form-item>-->
  73. <el-form-item label="整改状态">
  74. <el-select v-model="search.crtState" style="width: 140px" clearable>
  75. <el-option
  76. v-for="item in crtStateList"
  77. :key="item.value"
  78. :label="item.name"
  79. :value="item.value">
  80. </el-option>
  81. </el-select>
  82. </el-form-item>
  83. <el-form-item label="是否启动">
  84. <el-select v-model="search.isStart" style="width: 140px" clearable>
  85. <el-option label="是" value="1"></el-option>
  86. <el-option label="否" value="0"></el-option>
  87. </el-select>
  88. </el-form-item>
  89. <el-form-item label="是否销号">
  90. <el-select v-model="search.pblmOut" style="width: 140px" clearable>
  91. <el-option label="是" value="1"></el-option>
  92. <el-option label="否" value="0"></el-option>
  93. </el-select>
  94. </el-form-item>
  95. <el-form-item label="印发文号">
  96. <el-input
  97. style="width: 160px"
  98. placeholder="印发文号(编号)"
  99. v-model="search.pblmNub"
  100. clearable>
  101. </el-input>
  102. </el-form-item>
  103. <!-- <el-form-item>-->
  104. <!-- <uploadPblmExcel></uploadPblmExcel>-->
  105. <!-- </el-form-item>-->
  106. </el-form>
  107. </el-col>
  108. </el-row>
  109. <el-row>
  110. <el-col :span="24" style="text-align: left;display: flex;">
  111. <el-button type="primary" size="mini" @click="searchBtn">查询</el-button>
  112. <el-button type="primary" size="mini" @click="showPlbmList" >添加问题</el-button>
  113. <el-button type="primary" size="mini" @click="batchStartShow" v-if="ownPriv('manage')">批量启动</el-button>
  114. <el-button type="primary" size="mini" @click="allStart" v-if="ownPriv('manage')">一键下发整改</el-button>
  115. <el-button type="primary" size="mini" @click="downloadZip">导出整改结果</el-button>
  116. <el-button type="success" size="mini" @click="settingName" v-if="ownPriv('manage')">批量设置印发文号(编号)</el-button>
  117. <el-button type="success" size="mini" @click="settingDate" v-if="ownPriv('manage') && isNotSc">批量设置整改时限</el-button>
  118. <el-button type="danger" size="mini" icon="el-icon-delete" @click="batchDelete" v-if="ownPriv('manage')">批量删除(已启动的问题不会删除)</el-button>
  119. <el-button type="success" size="mini" @click="updateFile" v-if="ownPriv('manage')">批量上传整改下发附件(最大50MB)</el-button>
  120. <el-button type="success" size="mini" @click="updateAddvcd" v-if="ownPriv('manage')">批量调整反馈单位(已启动的问题不会更改)</el-button>
  121. <el-button type="primary" size="mini" @click="setJMlj('九龙江流域')" v-if="ownPriv('manage') && isFj">九龙江流域</el-button>
  122. <el-button type="primary" size="mini" @click="setJMlj('闽江流域')" v-if="ownPriv('manage') && isFj">闽江流域</el-button>
  123. <PblmMendUploadAutoMulId
  124. v-show="false"
  125. ref="uploadFile"
  126. :limit=10
  127. :url="`/pdcApi/file/insertMulId?bizId=${this.bizId}&bizType=issueNotice`"
  128. @uploadOver="uploadOver"
  129. :accept="accept"
  130. style="margin:auto;"
  131. comment=".xls格式,不超过50MB(自动上传)"
  132. fileDesc="批量导入"
  133. ></PblmMendUploadAutoMulId>
  134. </el-col>
  135. </el-row>
  136. <div>
  137. <span style="float:right;color:red;font-size:12px;" v-if="isNotSc">(<i class="el-icon-warning"></i>提示:黄色行代表当前日期已经超过整改时限)</span>
  138. <el-table
  139. border
  140. ref="zgTable"
  141. :height="tableHeight"
  142. :data="tableData"
  143. v-loading="loading"
  144. tooltip-effect="dark"
  145. style="width: 100%"
  146. :row-style="rowClass"
  147. @selection-change="handleSelectionSend"
  148. >
  149. <el-table-column
  150. type="selection"
  151. width="55">
  152. </el-table-column>
  153. <el-table-column
  154. header-align="center"
  155. align="center"
  156. min-width="100"
  157. prop="bsnm"
  158. label="流域"
  159. v-if="isFj"
  160. show-overflow-tooltip
  161. ></el-table-column>
  162. <el-table-column
  163. header-align="center"
  164. align="center"
  165. min-width="80"
  166. prop="province"
  167. label="省" v-if="isXj"
  168. show-overflow-tooltip
  169. ></el-table-column>
  170. <el-table-column
  171. header-align="center"
  172. align="center"
  173. min-width="80"
  174. prop="city"
  175. :label="ownAdName"
  176. show-overflow-tooltip
  177. ></el-table-column>
  178. <el-table-column
  179. header-align="center"
  180. align="center"
  181. min-width="80"
  182. prop="county"
  183. label="县"
  184. v-if="isXj"
  185. show-overflow-tooltip
  186. ></el-table-column>
  187. <el-table-column
  188. header-align="center"
  189. align="center"
  190. min-width="200"
  191. prop="pblmNub"
  192. label="印发文号(编号)"
  193. show-overflow-tooltip
  194. ></el-table-column>
  195. <el-table-column
  196. header-align="center"
  197. align="center"
  198. min-width="160"
  199. prop="pblmNubName"
  200. label="印发文号(编号)文件名"
  201. show-overflow-tooltip
  202. ></el-table-column>
  203. <el-table-column
  204. prop="prjName"
  205. label="工程名称"
  206. show-overflow-tooltip
  207. min-width="120">
  208. </el-table-column>
  209. <el-table-column
  210. prop="subjectNames"
  211. label="责任单位"
  212. show-overflow-tooltip
  213. min-width="120">
  214. </el-table-column>
  215. <el-table-column
  216. prop="pblmNm"
  217. label="问题名称"
  218. show-overflow-tooltip
  219. min-width="120">
  220. </el-table-column>
  221. <el-table-column
  222. prop="pblmDesc"
  223. label="问题阐述"
  224. show-overflow-tooltip
  225. min-width="180">
  226. </el-table-column>
  227. <el-table-column
  228. prop="pblmTypeDesc"
  229. label="问题定性描述"
  230. show-overflow-tooltip
  231. min-width="180">
  232. </el-table-column>
  233. <el-table-column
  234. prop="isStart"
  235. show-overflow-tooltip
  236. min-width="100"
  237. align="center"
  238. label="是否已启动">
  239. <template slot-scope="scope">
  240. <span v-if="scope.row.isStart == 0 || !scope.row.isStart" style="padding: 10px;background:#40aae7;color:white">否</span>
  241. <span v-if="scope.row.isStart == 1" style="padding: 10px;background: orangered;color:white">是</span>
  242. </template>
  243. </el-table-column>
  244. <el-table-column
  245. prop="pblmPasi"
  246. show-overflow-tooltip
  247. min-width="100"
  248. align="center"
  249. label="严重程度">
  250. <template slot-scope="scope">
  251. <p v-if="scope.row.pblmPasi == 0"><span class="inspPblmCate" style="background: #27C19F;">一般</span></p>
  252. <p v-if="scope.row.pblmPasi == 1"><span class="inspPblmCate" style="background: #E6A23C;">较重</span></p>
  253. <p v-if="scope.row.pblmPasi == 2"><span class="inspPblmCate" style="background: #F56C6C;">严重</span></p>
  254. </template>
  255. </el-table-column>
  256. <el-table-column
  257. prop="ifCasePblm"
  258. show-overflow-tooltip
  259. min-width="100"
  260. align="center"
  261. label="是否典型">
  262. <template slot-scope="scope">
  263. <p v-if="scope.row.ifCasePblm == 0"><span style="padding: 10px;background:#40aae7;color:white">否</span></p>
  264. <p v-if="scope.row.ifCasePblm == 1"><span style="padding: 10px;background: orangered;color:white">是</span></p>
  265. </template>
  266. </el-table-column>
  267. <el-table-column
  268. header-align="center"
  269. align="center"
  270. min-width="120"
  271. prop="crtState"
  272. label="问题整改状态"
  273. show-overflow-tooltip
  274. >
  275. <template slot-scope="scope">
  276. <span v-if="scope.row.crtState=='0'">未整改</span>
  277. <span v-if="scope.row.crtState=='1'">整改中</span>
  278. <span v-if="scope.row.crtState=='2'">整改完成</span>
  279. <span v-if="scope.row.crtState=='3'">不具备整改条件</span>
  280. </template>
  281. </el-table-column>
  282. <el-table-column
  283. header-align="center"
  284. align="center"
  285. min-width="300"
  286. prop="pblmCrtm"
  287. v-if="isNotSc"
  288. label="整改时限"
  289. show-overflow-tooltip>
  290. <template slot-scope="scope">
  291. <el-button v-if="(scope.row.pblmCrtm && new Date(scope.row.pblmCrtm).getTime()<new Date().getTime())" type="danger" size="mini">已过时{{formatDateMend(scope.row.pblmCrtm)}}</el-button>
  292. <el-button v-if="(scope.row.pblmCrtm && new Date(scope.row.pblmCrtm).getTime()>new Date().getTime())" type="primary" size="mini">{{formatDateMend(scope.row.pblmCrtm)}}</el-button>
  293. </template>
  294. </el-table-column>
  295. <el-table-column
  296. header-align="center"
  297. align="center"
  298. min-width="100"
  299. prop="pblmReason"
  300. label="整改建议"
  301. show-overflow-tooltip
  302. ></el-table-column>
  303. <el-table-column
  304. header-align="center"
  305. align="center"
  306. min-width="100"
  307. prop="isRect"
  308. label="是否反馈"
  309. show-overflow-tooltip
  310. >
  311. <template slot-scope="scope">
  312. <span v-if="scope.row.isRect=='0'">否</span>
  313. <span v-if="scope.row.isRect=='1'">是</span>
  314. </template>
  315. </el-table-column>
  316. <!-- <el-table-column-->
  317. <!-- header-align="center"-->
  318. <!-- align="center"-->
  319. <!-- min-width="120"-->
  320. <!-- prop="pblmPltm"-->
  321. <!-- label="预计完成时间"-->
  322. <!-- :formatter="formatDate"-->
  323. <!-- show-overflow-tooltip-->
  324. <!-- ></el-table-column>-->
  325. <!-- <el-table-column-->
  326. <!-- header-align="center"-->
  327. <!-- align="center"-->
  328. <!-- min-width="150"-->
  329. <!-- prop="pblmActm"-->
  330. <!-- :formatter="formatDate"-->
  331. <!-- label="实际完成整改日期"-->
  332. <!-- show-overflow-tooltip-->
  333. <!-- ></el-table-column>-->
  334. <el-table-column
  335. header-align="center"
  336. align="center"
  337. min-width="150"
  338. prop="crtInfo"
  339. label="整改措施"
  340. show-overflow-tooltip
  341. ></el-table-column>
  342. <el-table-column
  343. header-align="center"
  344. align="center"
  345. min-width="80"
  346. prop="pblmOut"
  347. label="是否销号"
  348. show-overflow-tooltip
  349. >
  350. <template slot-scope="scope">
  351. <span v-if="scope.row.pblmOut=='0'">否</span>
  352. <span v-if="scope.row.pblmOut=='1'">是</span>
  353. </template>
  354. </el-table-column>
  355. <el-table-column
  356. align="center"
  357. min-width="400"
  358. label="操作"
  359. fixed="right"
  360. >
  361. <template slot-scope="scope">
  362. <span>
  363. <el-button type="primary" size="mini" @click="editorRow(scope.row)" v-if="ownPriv('manage')">编辑</el-button>
  364. <el-button type="primary" size="mini" @click="submitRow(scope.row)" :disabled="scope.row.isStart=='1'" v-if="ownPriv('manage')">启动</el-button>
  365. <el-button type="primary" size="mini" @click="showMendDetail(scope.row)" :disabled="scope.row.isStart!='1'">查看</el-button>
  366. <el-button type="primary" size="mini" @click="deleteRow(scope.row.id)" v-if="ownPriv('manage')" :disabled="scope.row.isStart=='1'">删除</el-button>
  367. <el-button type="primary" size="mini" @click="showProvImgList(scope.row)">佐证材料</el-button>
  368. </span>
  369. </template>
  370. </el-table-column>
  371. </el-table>
  372. <el-row>
  373. <el-col :span="12">
  374. <el-pagination
  375. background
  376. :pager-count="3"
  377. :current-page="search.pageNum"
  378. :page-size="search.pageSize"
  379. :page-sizes="[10, 20, 30, 40, 50, 100]"
  380. layout="sizes, total, prev, pager, next"
  381. :total="total"
  382. @current-change="handleCurrentChange"
  383. @size-change="handleSizeChange"
  384. ></el-pagination>
  385. </el-col>
  386. </el-row>
  387. </div>
  388. </el-card>
  389. </el-main>
  390. <taskHandle v-if="isMendVisible" :taskInstId="taskInstId" :procInstId="procInstId" :procTypeName="procTypeName" :isShow="isShow" @closeDialog="closeMendDialog" :isOp="false"></taskHandle>
  391. <el-dialog title="编辑整改问题项" :visible.sync="dialogZgPlbmVisible" :close-on-click-modal="false" width="60%" @close="closeZgDialog">
  392. <el-form size="mini" label-width="150px">
  393. <el-row>
  394. <el-col :span="12">
  395. <el-form-item label="印发文号(编号)">
  396. <el-input
  397. placeholder="印发文号(编号)"
  398. v-model="updateObj.pblmNub"
  399. clearable>
  400. </el-input>
  401. </el-form-item>
  402. </el-col>
  403. <el-col :span="12">
  404. <el-form-item label="印发文号(编号)文件名">
  405. <el-input
  406. placeholder="印发文号(编号)文件名"
  407. v-model="updateObj.pblmNubName"
  408. clearable>
  409. </el-input>
  410. </el-form-item>
  411. </el-col>
  412. </el-row>
  413. <el-row>
  414. <el-col :span="12">
  415. <el-form-item label="工程名称">
  416. <el-input
  417. readonly="readonly"
  418. placeholder="工程名称"
  419. v-model="updateObj.prjName"
  420. :title="updateObj.prjName"
  421. clearable>
  422. </el-input>
  423. </el-form-item>
  424. </el-col>
  425. <el-col :span="12">
  426. <el-form-item label="责任单位">
  427. <el-input
  428. readonly="readonly"
  429. placeholder="责任单位"
  430. :title="updateObj.subjectNames"
  431. v-model="updateObj.subjectNames"
  432. clearable>
  433. </el-input>
  434. </el-form-item>
  435. </el-col>
  436. </el-row>
  437. <el-row>
  438. <el-col :span="12">
  439. <el-form-item label="问题名称">
  440. <el-input
  441. readonly="readonly"
  442. placeholder="问题名称"
  443. :title="updateObj.pblmNm"
  444. v-model="updateObj.pblmNm"
  445. clearable>
  446. </el-input>
  447. </el-form-item>
  448. </el-col>
  449. <el-col :span="12">
  450. <el-form-item label="问题描述">
  451. <el-input
  452. readonly="readonly"
  453. placeholder="问题描述"
  454. :title="updateObj.pblmDesc"
  455. v-model="updateObj.pblmDesc"
  456. clearable>
  457. </el-input>
  458. </el-form-item>
  459. </el-col>
  460. </el-row>
  461. <el-row>
  462. <el-col :span="isNotSc?12:24">
  463. <el-form-item label="问题定性描述">
  464. <el-input
  465. readonly="readonly"
  466. placeholder="问题定性描述"
  467. :title="updateObj.pblmTypeDesc"
  468. v-model="updateObj.pblmTypeDesc"
  469. clearable>
  470. </el-input>
  471. </el-form-item>
  472. </el-col>
  473. <el-col :span="12" v-if="isNotSc">
  474. <el-form-item label="请选择整改时限">
  475. <el-date-picker
  476. style="width: 100%;"
  477. v-model="updateObj.pblmCrtm"
  478. type="date"
  479. format="yyyy-MM-dd"
  480. value-format="yyyy-MM-dd"
  481. placeholder="请选择整改时限">
  482. </el-date-picker>
  483. </el-form-item>
  484. </el-col>
  485. </el-row>
  486. <el-row>
  487. <el-col :span="12">
  488. <el-form-item label="严重程度">
  489. <el-select v-model="updateObj.pblmPasi" disabled placeholder="请选择严重程度" clearable style="width: 100%;">
  490. <el-option
  491. readonly="readonly"
  492. v-for="item in inspPblmCateList"
  493. :label="item.name"
  494. :value="item.value">
  495. </el-option>
  496. </el-select>
  497. </el-form-item>
  498. </el-col>
  499. <el-col :span="12">
  500. <el-form-item label="是否典型">
  501. <el-select v-model="updateObj.ifCasePblm" disabled clearable placeholder="请选择" style="width: 100%;">
  502. <el-option label="是" value="1"></el-option>
  503. <el-option label="否" value="0"></el-option>
  504. </el-select>
  505. </el-form-item>
  506. </el-col>
  507. </el-row>
  508. <el-row>
  509. <el-col :span="12">
  510. <el-form-item label="整改状态">
  511. <el-select v-model="updateObj.crtState" placeholder="请选择整改状态" clearable style="width: 100%;">
  512. <el-option
  513. v-for="item in crtStateList"
  514. :label="item.name"
  515. :value="item.value">
  516. </el-option>
  517. </el-select>
  518. </el-form-item>
  519. </el-col>
  520. <el-col :span="12">
  521. <el-form-item label="是否反馈">
  522. <el-select v-model="updateObj.isRect" placeholder="请选择是否反馈" clearable style="width: 100%;">
  523. <el-option
  524. v-for="item in isRectList"
  525. :label="item.name"
  526. :value="item.value">
  527. </el-option>
  528. </el-select>
  529. </el-form-item>
  530. </el-col>
  531. </el-row>
  532. <el-row>
  533. <el-col :span="12">
  534. <el-form-item label="预计完成时间">
  535. <el-date-picker
  536. style="width: 100%;"
  537. v-model="updateObj.pblmPltm"
  538. type="date"
  539. format="yyyy-MM-dd"
  540. value-format="yyyy-MM-dd"
  541. placeholder="请选择预计完成时间">
  542. </el-date-picker>
  543. </el-form-item>
  544. </el-col>
  545. <el-col :span="12">
  546. <el-form-item label="实际完成时间">
  547. <el-date-picker
  548. style="width: 100%;"
  549. v-model="updateObj.pblmActm"
  550. type="date"
  551. format="yyyy-MM-dd"
  552. value-format="yyyy-MM-dd"
  553. placeholder="实际完成时间">
  554. </el-date-picker>
  555. </el-form-item>
  556. </el-col>
  557. </el-row>
  558. <el-row>
  559. <el-col :span="12">
  560. <el-form-item label="整改建议">
  561. <el-input type="textarea" :title="updateObj.pblmReason" v-model="updateObj.pblmReason" placeholder="请输入整改建议"></el-input>
  562. </el-form-item>
  563. </el-col>
  564. <el-col :span="12">
  565. <el-form-item label="整改措施">
  566. <el-input type="textarea" :title="updateObj.crtInfo" v-model="updateObj.crtInfo"></el-input>
  567. </el-form-item>
  568. </el-col>
  569. </el-row>
  570. <div style="width: 100%;display: flex;align-items: center;padding-top: 10px;justify-content: center">
  571. <el-button type="primary" @click="submitEdit" style="margin-bottom: 10px;" v-if="hasPriv('manage')">保存基本信息</el-button>
  572. </div>
  573. </el-form>
  574. </el-dialog>
  575. <el-dialog title="选取问题" :visible.sync="dialogSelectPlbm" :close-on-click-modal="false" width="80%" @close="closeDialog">
  576. <el-form :inline="true" size="mini" class="demo-form-inline" label-width="80px">
  577. <el-form-item label="选择年度">
  578. <el-select v-model="search1.year" @change="changeYear" style="width: 150px;" clearable>
  579. <el-option :label="item.pnm" :value="item.id" :key="index"
  580. v-for="(item,index) in yearList"></el-option>
  581. </el-select>
  582. </el-form-item>
  583. <el-form-item label="选择批次">
  584. <el-select v-model="search1.batch" @change="changeBatch" style="width: 150px;" clearable>
  585. <el-option :label="item.pnm" :value="item.id" :key="index" v-for="(item,index) in pcList"></el-option>
  586. </el-select>
  587. </el-form-item>
  588. <el-form-item label="督查组">
  589. <el-select v-model="search1.groupId" @change="changeGroup" style="width: 150px;" clearable>
  590. <el-option :label="item.pnm" :value="item.id" :key="index"
  591. v-for="(item,index) in groupList"></el-option>
  592. </el-select>
  593. </el-form-item>
  594. <el-form-item label="区/县">
  595. <el-select v-model="search1.area" @change="changeArea" clearable style="width: 150px;" clearable>
  596. <el-option :label="item.pnm" :value="item.adCode" :key="index"
  597. v-for="(item,index) in areaList"></el-option>
  598. </el-select>
  599. </el-form-item>
  600. <el-form-item label="项目名称">
  601. <el-select v-model="search1.rgstrId" clearable placeholder="请选择" style="width: 150px;" @change="$forceUpdate()">
  602. <el-option
  603. v-for="item in projectList"
  604. :key="item.id"
  605. :label="item.pnm"
  606. :value="item.id">
  607. </el-option>
  608. </el-select>
  609. </el-form-item>
  610. <el-form-item label="专业">
  611. <el-select v-model="search1.listType" placeholder="请选择" clearable style="width: 150px;">
  612. <el-option
  613. v-for="item in professionList"
  614. :key="item.value"
  615. :label="item.label"
  616. :value="item.value">
  617. </el-option>
  618. </el-select>
  619. </el-form-item>
  620. <el-form-item label="问题名称">
  621. <el-input v-model="search1.pblmNm" clearable autocomplete="off" style="width: 150px;"></el-input>
  622. </el-form-item>
  623. <el-form-item label="责任单位">
  624. <el-input v-model="search1.subjectNames" clearable autocomplete="off" style="width: 150px;"></el-input>
  625. </el-form-item>
  626. <el-form-item label="严重程度">
  627. <el-select v-model="search1.pblmPasi" clearable placeholder="请选择" style="width: 150px;">
  628. <el-option
  629. v-for="item in problemType"
  630. :key="item.value"
  631. :label="item.label"
  632. :value="item.value">
  633. </el-option>
  634. </el-select>
  635. </el-form-item>
  636. <el-form-item label="是否典型">
  637. <el-select v-model="search1.ifCasePblm" clearable placeholder="请选择" style="width: 150px;">
  638. <el-option label="是" value="1"></el-option>
  639. <el-option label="否" value="0"></el-option>
  640. </el-select>
  641. </el-form-item>
  642. <el-form-item label="是否加入过整改:" class="moreLabel">
  643. <el-select v-model="search1.isJoinRec" clearable placeholder="请选择">
  644. <el-option label="未加入过" value="0"></el-option>
  645. <el-option label="加入过" value="1"></el-option>
  646. </el-select>
  647. </el-form-item>
  648. <el-button type="primary" @click="searchBtn1">查询</el-button>
  649. </el-form>
  650. <div>
  651. <!-- <span style="float:right;color:red;font-size:12px;">(<i class="el-icon-warning"></i>提示:黄色行代表当前日期已经超过整改时限)</span>-->
  652. <el-table
  653. border
  654. ref="plbmTable"
  655. :height="tableHeight1"
  656. :data="tableData1"
  657. tooltip-effect="dark"
  658. style="width: 100%"
  659. v-loading="loading1"
  660. @selection-change="handleSelectionChange">
  661. >
  662. <el-table-column
  663. type="selection"
  664. width="55">
  665. </el-table-column>
  666. <el-table-column
  667. prop="subjectNames"
  668. label="责任单位"
  669. show-overflow-tooltip
  670. min-width="120">
  671. </el-table-column>
  672. <el-table-column
  673. prop="pblmNm"
  674. label="问题名称"
  675. show-overflow-tooltip
  676. min-width="120">
  677. </el-table-column>
  678. <el-table-column
  679. prop="pblmDesc"
  680. label="问题阐述"
  681. show-overflow-tooltip
  682. min-width="180">
  683. </el-table-column>
  684. <el-table-column
  685. prop="pblmPasi"
  686. show-overflow-tooltip
  687. min-width="100"
  688. label="严重程度">
  689. <template slot-scope="scope">
  690. <p v-if="scope.row.pblmPasi == 0"><span class="inspPblmCate" style="background: #27C19F;">一般</span></p>
  691. <p v-if="scope.row.pblmPasi == 1"><span class="inspPblmCate" style="background: #E6A23C;">较重</span></p>
  692. <p v-if="scope.row.pblmPasi == 2"><span class="inspPblmCate" style="background: #F56C6C;">严重</span></p>
  693. </template>
  694. </el-table-column>
  695. <el-table-column
  696. prop="ifCasePblm"
  697. show-overflow-tooltip
  698. min-width="100"
  699. label="是否典型">
  700. <template slot-scope="scope">
  701. <p v-if="scope.row.ifCasePblm == 0"><span>否</span></p>
  702. <p v-if="scope.row.ifCasePblm == 1"><span>是</span></p>
  703. </template>
  704. </el-table-column>
  705. <el-table-column
  706. prop="pblmReason"
  707. show-overflow-tooltip
  708. min-width="160"
  709. label="主要原因分析">
  710. </el-table-column>
  711. <el-table-column
  712. prop="pblmRevision"
  713. show-overflow-tooltip
  714. min-width="160"
  715. label="问题修改理由">
  716. </el-table-column>
  717. <el-table-column
  718. prop="pblmMendState"
  719. show-overflow-tooltip
  720. min-width="160"
  721. label="复查状态">
  722. <template slot-scope="scope">
  723. <span v-if="scope.row.pblmMendState=='1'">已整改落实</span>
  724. <span v-if="scope.row.pblmMendState=='2'">部分整改落实</span>
  725. <span v-if="scope.row.pblmMendState=='3'">未整改</span>
  726. <span v-if="scope.row.pblmMendState=='4'">不具备整改条件</span>
  727. </template>
  728. </el-table-column>
  729. <el-table-column
  730. prop="pblmMendNote"
  731. show-overflow-tooltip
  732. min-width="160"
  733. label="复查情况">
  734. </el-table-column>
  735. <el-table-column
  736. fixed="right"
  737. label="操作"
  738. min-width="50"
  739. >
  740. <template slot-scope="scope">
  741. <el-button icon="el-icon-view" title="查看详情"type="text" @click="showDetails(scope.row.id)"></el-button>
  742. </template>
  743. </el-table-column>
  744. </el-table>
  745. <div style="display: flex;align-items: center;margin-top: 10px;">
  746. <el-pagination
  747. background
  748. :pager-count="3"
  749. :current-page="search1.pageNum"
  750. :page-size="search1.pageSize"
  751. :page-sizes="[10, 20]"
  752. layout="sizes, total, prev, pager, next"
  753. :total="total1"
  754. @current-change="handleCurrentChange1"
  755. @size-change="handleSizeChange1"
  756. ></el-pagination>
  757. </div>
  758. <div style="width: 100%;text-align: center;"><el-button style="margin-bottom: 15px;" type="primary" @click="submitDepBtn">添加到整改</el-button></div>
  759. </div>
  760. </el-dialog>
  761. <el-dialog title="整改时限设置" :visible.sync="mendDateVisible" v-if="mendDateVisible" :close-on-click-modal="false" width="400px" @close="closeDialogMend">
  762. <el-form :inline="true" size="mini" class="demo-form-inline" label-width="80px">
  763. <el-form-item label="整改时限">
  764. <el-date-picker
  765. v-model="mendDate"
  766. type="date"
  767. format="yyyy-MM-dd"
  768. placeholder="选择日期">
  769. </el-date-picker>
  770. </el-form-item>
  771. </el-form>
  772. <div style="width:100%;text-align: center;">
  773. <el-button style="margin-bottom: 15px;" type="primary" @click="batchStart">添加到整改</el-button>
  774. </div>
  775. </el-dialog>
  776. <el-dialog title="佐证材料" :visible.sync="jqmmDialogShow" :close-on-click-modal="false" width="60%" @close="jqmmDialogClose">
  777. <pblmDetail v-if="jqmmDialogShow" :dialogTitle="'相关材料'" :currentRow="currentRow"></pblmDetail>
  778. </el-dialog>
  779. <!-- <add-pic-com v-if="jqmmDialogShow" :dialogTitle="'相关材料'" :jqmmEngId="jqmmEngId" :type="zgType" @jqmmDialogClose="jqmmDialogClose"></add-pic-com>-->
  780. <!--稽察开始-->
  781. <problem-detail-com v-if="PblmDetailsVisible" :problemId="currentProblemId" @dialogClose="dialogClose"></problem-detail-com>
  782. <!-- 详情弹框 -->
  783. <el-dialog
  784. class="outerDialog custom_dialog"
  785. title="印发文号(编号)设置"
  786. width="20%"
  787. :visible.sync="isSettingNameVisible">
  788. <span style="display: flex;align-items: center;justify-content: center">
  789. <span style="width: 150px;font-weight: bold;">印发文号(编号)</span><el-input type="text" v-model="fileNumber" placeHolder="请输入印发文号(编号)" clearable></el-input>
  790. </span>
  791. <span slot="footer">
  792. <el-button type="primary" @click="fileNumberOk">提交</el-button>
  793. <el-button @click="isSettingNameVisible=false">取消</el-button>
  794. </span>
  795. </el-dialog>
  796. <el-dialog
  797. class="outerDialog custom_dialog"
  798. title="整改时限设置"
  799. width="20%"
  800. :visible.sync="isSettingDateVisible">
  801. <span style="display: flex;align-items: center;justify-content: center">
  802. <span style="width: 80px;font-weight: bold;">整改时限</span>
  803. <el-date-picker
  804. v-model="zgDate"
  805. type="date"
  806. placeholder="选择日期">
  807. </el-date-picker>
  808. </span>
  809. <span slot="footer">
  810. <el-button type="primary" @click="zgDateOk">提交</el-button>
  811. <el-button @click="isSettingDateVisible=false">取消</el-button>
  812. </span>
  813. </el-dialog>
  814. <el-dialog
  815. class="outerDialog custom_dialog"
  816. title="反馈单位调整"
  817. width="20%"
  818. :visible.sync="updateAddvcdVisible">
  819. <span style="display: flex;align-items: center;justify-content: center;padding-bottom: 10px;">
  820. <span style="width: 80px;font-weight: bold;">行政区划</span>
  821. <treeselect v-model="addvcdUpdate" :options="treeOptions" :normalizer="normalizer" :show-count="false" placeholder="请选择反馈单位" style="width:200px;height:28px;"/>
  822. </span>
  823. <span slot="footer">
  824. <el-button type="primary" @click="addvcdBtn">提交</el-button>
  825. <el-button @click="updateAddvcdVisible=false">取消</el-button>
  826. </span>
  827. </el-dialog>
  828. </el-container>
  829. </template>
  830. <script>
  831. import request from '@util/gw_ajax_request'
  832. import addvSearch from "@widget/addvSearch.vue"
  833. import receiver from "./receiver"
  834. import addPicCom from "./addPic.vue"
  835. import pblmDetail from "./PblmDetails_jc.vue"
  836. import {curAdcode_long} from '@util/global_variable.js'
  837. import {dateFormat} from '@util/gw_date.js'
  838. import { exportModel ,exportModelZip} from "@util/gw_exportModel"
  839. import uploadPblmExcel from "./uploadPblmExcel";
  840. import Treeselect from '@riophae/vue-treeselect';
  841. import '@riophae/vue-treeselect/dist/vue-treeselect.css';
  842. //稽察开始
  843. import ProblemDetailCom from '../Inspection/dialogCom/ProblemDetails1.vue';
  844. import PblmMendUploadAutoMulId from '../../widgets/pblm-mend-upload-auto-mul-id';
  845. export default {
  846. name: "rectificationNotice",
  847. props: [],
  848. data() {
  849. return {
  850. cardHeight: window.innerHeight - 120,
  851. tableData: [],
  852. tableHeight: window.innerHeight - 350,
  853. loadingAll:true,
  854. loading: false,
  855. pageSize: 20,
  856. pageNum: 1,
  857. total:0,
  858. adName:"",
  859. dialogZgPlbmVisible:false,
  860. mendDateVisible:false,
  861. mendDate:"",
  862. search:{
  863. pageSize: 20,
  864. pageNum: 1,
  865. isStart:"",
  866. pblmOut:"",
  867. crtState:"",
  868. pblmState:"",
  869. year:"",
  870. batch:"",
  871. groupId:"",
  872. area:"",
  873. rgstrId:"",
  874. listType:"",
  875. pblmNm:"",
  876. subjectNames:"",
  877. pblmPasi:"",
  878. ifCasePblm:"",
  879. },
  880. updateObj:{
  881. },
  882. dcTypeList:[],
  883. inspPblmCateList:[
  884. {
  885. name:"一般",
  886. value:"0"
  887. },
  888. {
  889. name:"较重",
  890. value:"1"
  891. },
  892. {
  893. name:"严重",
  894. value:"2"
  895. },
  896. {
  897. name:"特别严重",
  898. value:"3"
  899. }
  900. ],
  901. isRectList:[
  902. {
  903. name:"否",
  904. value:"0"
  905. },
  906. {
  907. name:"是",
  908. value:"1"
  909. }
  910. ],
  911. pblmOutList:[
  912. {
  913. name:"否",
  914. value:"0"
  915. },
  916. {
  917. name:"是",
  918. value:"1"
  919. }
  920. ],
  921. crtStateList:[
  922. {
  923. name:"未整改",
  924. value:"0"
  925. },
  926. {
  927. name:"整改中",
  928. value:"1"
  929. },
  930. {
  931. name:"整改完成",
  932. value:"2"
  933. },
  934. {
  935. name:"不具备整改条件",
  936. value:"3"
  937. }
  938. ],
  939. rectificationStatus:[
  940. {
  941. name:"业务处室问题未提交",
  942. value:"0"
  943. },
  944. {
  945. name:"业务处室提交问题到监督处",
  946. value:"1"
  947. },
  948. {
  949. name:"监督处驳回业务处室问题",
  950. value:"2"
  951. },
  952. {
  953. name:"监督处下发到地市",
  954. value:"3"
  955. },
  956. {
  957. name:"市级提交反馈",
  958. value:"4"
  959. },
  960. {
  961. name:"市转发县",
  962. value:"5"
  963. },
  964. {
  965. name:"县反馈到市",
  966. value:"6"
  967. },
  968. {
  969. name:"市驳回到县",
  970. value:"7"
  971. },
  972. {
  973. name:"业务处室驳回",
  974. value:"8"
  975. },
  976. {
  977. name:"业务处室审核通过",
  978. value:"9"
  979. },
  980. {
  981. name:"监督处归档-销号",
  982. value:"10"
  983. },
  984. {
  985. name:"监督处归档-待复查",
  986. value:"11"
  987. }
  988. ],
  989. problemList:[],
  990. //弹框选择问题
  991. dialogSelectPlbm:false,
  992. tableData1: [],
  993. tableHeight1: 600,
  994. loading1: false,
  995. pageSize1: 20,
  996. pageNum1: 1,
  997. total1:0,
  998. adName1:"",
  999. rectOrgName:"",
  1000. search1:{
  1001. pageSize: 20,
  1002. pageNum: 1,
  1003. year:"",
  1004. batch:"",
  1005. groupId:"",
  1006. area:"",
  1007. rgstrId:"",
  1008. listType:"",
  1009. pblmNm:"",
  1010. subjectNames:"",
  1011. pblmPasi:"",
  1012. ifCasePblm:"",
  1013. isJoinRec:"0"
  1014. },
  1015. //稽察开始
  1016. yearList: [],
  1017. pcList: [],
  1018. groupList: [],
  1019. areaList: [],
  1020. projectList: [],
  1021. yearList1: [],
  1022. pcList1: [],
  1023. groupList1: [],
  1024. areaList1: [],
  1025. projectList1: [],
  1026. stepId:"",
  1027. professionList: [
  1028. {label: '前期与设计', value: '1'},
  1029. {label: '建设管理', value: '2'},
  1030. {label: '计划下达与执行', value: '3'},
  1031. {label: '资金使用与管理', value: '4'},
  1032. {label: '工程质量', value: '5'},
  1033. {label: '工程安全', value: '6'}
  1034. ],
  1035. problemType: [
  1036. {label: '一般', value: '0'},
  1037. {label: '较重', value: '1'},
  1038. {label: '严重', value: '2'}
  1039. ],
  1040. //结束
  1041. PblmDetailsVisible:false,
  1042. currentProblemId:"",
  1043. currentPblmNm:"",
  1044. mulSelectCollection:[],
  1045. recvOrgName:"",
  1046. recvOrgId:"",
  1047. tableDataLog:[],
  1048. remark:"",
  1049. isCurrentStep:false,
  1050. mulSelectionSend:[],
  1051. jqmmDialogShow:false,
  1052. jqmmEngId:"",
  1053. zgType:"",
  1054. currentRow:{},
  1055. orgIdDefault:"",
  1056. isMendVisible:false,
  1057. taskInstId:"",
  1058. procInstId:"",
  1059. procTypeName:"",
  1060. isShow:false,
  1061. fileNumber:"",
  1062. isSettingNameVisible:false,
  1063. isSettingDateVisible:false,
  1064. zgDate:"",
  1065. addvcdUpdate:undefined,
  1066. updateAddvcdVisible:false,
  1067. treeOptions:undefined,
  1068. bizId:""
  1069. }
  1070. },
  1071. components: {
  1072. taskHandle: resolve=>{require(['../toDoTask/toDoTaskCom/taskHandle.vue'],resolve)},
  1073. addvSearch:addvSearch,
  1074. receiver:receiver,
  1075. uploadPblmExcel,
  1076. addPicCom:addPicCom,
  1077. //稽察开始
  1078. ProblemDetailCom,
  1079. pblmDetail,
  1080. Treeselect,
  1081. PblmMendUploadAutoMulId
  1082. },
  1083. computed: {
  1084. accept(){
  1085. return '.pdf,.doc,.docx,.png,.jpg,.jpeg,.xls,.xlsx,.ppt,.pptx,.mp4,.m3u8,.mov,.avi,.flv,.wmv';
  1086. },
  1087. curAdcode_long(){
  1088. return curAdcode_long
  1089. },
  1090. orgId() {
  1091. return localStorage.getItem('currentOrgId') ? localStorage.getItem("currentOrgId") : "";
  1092. },
  1093. hasPriv() {
  1094. return this.ownPriv
  1095. },
  1096. persId() {
  1097. return localStorage.getItem("userid")
  1098. ? localStorage.getItem("userid")
  1099. : "1098101939614724096";
  1100. },
  1101. isNotSc(){
  1102. if(localStorage.getItem('currentRlcode').substring(0,2)=="51"){
  1103. return false;
  1104. }else{
  1105. return true;
  1106. }
  1107. },
  1108. isFj(){
  1109. if(localStorage.getItem('currentRlcode').substring(0,2)=="35"){
  1110. return true;
  1111. }else{
  1112. return false;
  1113. }
  1114. }
  1115. },
  1116. activated() {
  1117. },
  1118. created(){
  1119. this.getJiprocess();
  1120. this.getNoticeList();
  1121. this.getAdTree();
  1122. // this.getTypes();
  1123. // this.getproblemSmallType();
  1124. },
  1125. mounted(){
  1126. },
  1127. methods: {
  1128. uploadOver(){
  1129. this.getNoticeList();
  1130. },
  1131. updateFile(){
  1132. this.bizId = "";
  1133. var list = [];
  1134. if(this.mulSelectionSend && this.mulSelectionSend.length>0){
  1135. this.mulSelectionSend.forEach((item,index)=>{
  1136. list.push(item.id);
  1137. })
  1138. }else{
  1139. this.$message.warning("请选择数据");
  1140. return false;
  1141. }
  1142. this.bizId = list.join(",");
  1143. this.$nextTick(()=>{
  1144. this.$refs.uploadFile.clickFileBtn();
  1145. })
  1146. },
  1147. updateAddvcd(){
  1148. if(!this.mulSelectionSend || (this.mulSelectionSend && this.mulSelectionSend.length==0)){
  1149. this.$message.warning("请选择数据");
  1150. return false;
  1151. }
  1152. this.updateAddvcdVisible = true;
  1153. },
  1154. addvcdBtn(){
  1155. // //debugger
  1156. var _self = this;
  1157. var list = [];
  1158. if(this.mulSelectionSend && this.mulSelectionSend.length>0){
  1159. this.mulSelectionSend.forEach((item,index) =>{
  1160. if(item.isStart!="1"){
  1161. list.push({id: item.id,adCode:this.addvcdUpdate})
  1162. }
  1163. })
  1164. this.$confirm('确定要更改选择问题的行政区划吗?(已经启动的问题不会更改,会自动过滤)', '提示', {
  1165. confirmButtonText: '确定',
  1166. cancelButtonText: '取消',
  1167. type: 'warning'
  1168. }).then(() => {
  1169. request.post(`/tac/province/pblm/mendInfo/batchAddvcd`, list)
  1170. .then(res => {
  1171. if (res.success) {
  1172. _self.$message.success('修改成功');
  1173. _self.updateAddvcdVisible = false;
  1174. _self.getNoticeList();
  1175. }else{
  1176. _self.$message.error(res.message);
  1177. }
  1178. })
  1179. })
  1180. }
  1181. },
  1182. normalizer(node) {
  1183. if (node.adUpDtoList && !node.adUpDtoList.length) {
  1184. delete node.adUpDtoList;
  1185. }
  1186. return {
  1187. id: node.adCode,
  1188. label: node.adName,
  1189. children: node.adUpDtoList
  1190. };
  1191. },
  1192. getAdTree(){
  1193. var _self = this;
  1194. request.get('/dc/ad/base/getTreeByUser').then(res=>{
  1195. if(res.success){
  1196. _self.treeOptions = res.data;
  1197. }
  1198. })
  1199. },
  1200. downloadZip(){
  1201. let url = "/pdcApi//tac/province/pblm/mendInfo/export";
  1202. let downloadName = "整改结果.zip"
  1203. let type = "post"
  1204. exportModelZip(type, url, downloadName,JSON.stringify(this.search))
  1205. },
  1206. batchDelete(){
  1207. var _self = this;
  1208. var list = [];
  1209. if(this.mulSelectionSend && this.mulSelectionSend.length>0){
  1210. this.mulSelectionSend.forEach((item)=>{
  1211. if(item.isStart!="1"){
  1212. list.push(item);
  1213. }
  1214. })
  1215. this.$confirm('确定删除选择的问题吗?(已经启动的问题不会删除,会自动过滤)', '提示', {
  1216. confirmButtonText: '确定',
  1217. cancelButtonText: '取消',
  1218. type: 'warning'
  1219. }).then(() => {
  1220. request.post(`/tac/province/pblm/mendInfo/batchDelete`,list).then(res => {
  1221. if(res.success) {
  1222. this.mulSelectionSend = [];
  1223. _self.$refs.zgTable.clearSelection();
  1224. _self.getNoticeList();
  1225. }else{
  1226. this.mulSelectionSend = [];
  1227. _self.$refs.zgTable.clearSelection();
  1228. _self.getNoticeList();
  1229. }
  1230. })
  1231. })
  1232. }else{
  1233. this.$message.warning("请选择问题");
  1234. }
  1235. },
  1236. zgDateOk(){
  1237. var _self = this;
  1238. if(this.mulSelectionSend.length>0){
  1239. var list = [];
  1240. for(var i = 0;i<this.mulSelectionSend.length;i++){
  1241. list.push({id: this.mulSelectionSend[i].id,pblmCrtm:this.zgDate})
  1242. }
  1243. this.$confirm('确定要批量修改整改时限, 是否继续?', '提示', {
  1244. confirmButtonText: '确定',
  1245. cancelButtonText: '取消',
  1246. type: 'warning'
  1247. }).then(() => {
  1248. request.post(`/tac/province/pblm/mendInfo/batchUpdate`, list)
  1249. .then(res => {
  1250. if (res.success) {
  1251. _self.$message.success('修改成功');
  1252. _self.isSettingDateVisible = false;
  1253. _self.getNoticeList();
  1254. }else{
  1255. _self.$message.error(res.message);
  1256. }
  1257. })
  1258. })
  1259. }else{
  1260. this.$message.warning("请选择数据");
  1261. }
  1262. },
  1263. settingDate(){
  1264. if(this.mulSelectionSend && this.mulSelectionSend.length==0){
  1265. this.$message.warning("请选择数据");
  1266. return false;
  1267. }
  1268. this.isSettingDateVisible = true;
  1269. },
  1270. fileNumberOk(){
  1271. var _self = this;
  1272. if(this.mulSelectionSend.length>0){
  1273. var list = [];
  1274. for(var i = 0;i<this.mulSelectionSend.length;i++){
  1275. list.push({id: this.mulSelectionSend[i].id,pblmNub:this.fileNumber})
  1276. }
  1277. this.$confirm('确定要批量修改印发文号(编号), 是否继续?', '提示', {
  1278. confirmButtonText: '确定',
  1279. cancelButtonText: '取消',
  1280. type: 'warning'
  1281. }).then(() => {
  1282. request.post(`/tac/province/pblm/mendInfo/batchUpdate`, list)
  1283. .then(res => {
  1284. if (res.success) {
  1285. _self.$message.success('修改成功');
  1286. _self.isSettingNameVisible = false;
  1287. _self.getNoticeList();
  1288. }else{
  1289. _self.$message.error(res.message);
  1290. }
  1291. })
  1292. })
  1293. }else{
  1294. this.$message.warning("请选择数据");
  1295. }
  1296. },
  1297. settingName(){
  1298. this.fileNumber = new Date().getFullYear()+((new Date().getMonth()+1)>9?(new Date().getMonth()+1):"0"+(new Date().getMonth()+1))+(new Date().getDate()>9?new Date().getDate():"0"+(new Date().getDate()))+new Date().getHours()+new Date().getMinutes()+new Date().getSeconds()+this.getRandom()
  1299. if(this.mulSelectionSend && this.mulSelectionSend.length==0){
  1300. this.$message.warning("请选择数据");
  1301. return false;
  1302. }
  1303. this.isSettingNameVisible = true;
  1304. },
  1305. getRandom(){
  1306. var num="";
  1307. for(var i=0;i<6;i++)
  1308. {
  1309. num+=Math.floor(Math.random()*10);
  1310. }
  1311. return num;
  1312. },
  1313. rowClass({row, index}) {
  1314. if(row.pblmCrtm) {
  1315. if(row.pblmCrtm<new Date().getTime() && row.pblmOut!='1'){
  1316. return { "background-color": "#ffda21" }
  1317. }
  1318. }
  1319. },
  1320. closeMendDialog(){
  1321. this.isMendVisible = false;
  1322. },
  1323. showMendDetail(row){
  1324. this.isMendVisible = true;
  1325. this.taskInstId = row.taskInstId;
  1326. this.procInstId = row.procInstId;
  1327. this.procTypeName = row.procTypeName;
  1328. this.isShow = false;
  1329. },
  1330. //稽察开始
  1331. getJiprocess() {
  1332. var _self=this;
  1333. request.post(`/tac/province/plan/process/list`, {}).then(res => {
  1334. if (res.success) {
  1335. if(res.data){
  1336. for(var i = 0;i<res.data.length;i++){
  1337. if(res.data[i].nextId=="1" && res.data[i].nextStep=="结束"){
  1338. _self.stepId = res.data[i].nowId;
  1339. }
  1340. }
  1341. this.getTreeData();
  1342. }
  1343. }
  1344. });
  1345. },
  1346. dialogClose(){
  1347. this.PblmDetailsVisible = false;
  1348. },
  1349. getTreeData() {
  1350. let _self = this;
  1351. request.post(`/tac/insp/year/batch/obj/getObjTreeListV2`, {
  1352. "persId": _self.persId
  1353. }).then(res => {
  1354. let treeDataLists
  1355. treeDataLists = res.data.children;
  1356. this.yearList = treeDataLists;
  1357. this.yearList1 = treeDataLists;
  1358. // this.pcList = this.yearList[0].children;
  1359. // this.pcList1 = this.yearList[0].children;
  1360. // this.groupList = this.pcList[0].children;
  1361. // this.groupList1 = this.pcList[0].children;
  1362. // this.areaList = this.groupList[0].children;
  1363. // this.areaList1 = this.groupList[0].children;
  1364. // this.projectList = this.areaList[0].children;
  1365. // this.projectList1 = this.areaList[0].children;
  1366. // // 赋予默认值
  1367. // this.search1.year = this.yearList[0].pnm
  1368. // this.search1.batch = this.pcList[0].pnm
  1369. // this.search1.groupId = this.groupList[0].id
  1370. // this.search1.area = this.areaList[0].adCode
  1371. // this.search1.rgstrId = this.projectList[0].id
  1372. // this.search.year = this.yearList[0].pnm
  1373. // this.search.batch = this.pcList[0].pnm
  1374. // this.search.groupId = this.groupList[0].id
  1375. // this.search.area = this.areaList[0].adCode
  1376. // this.search.rgstrId = this.projectList[0].id
  1377. this.loadingAll = false;
  1378. })
  1379. },
  1380. changeYear(val) {
  1381. this.search1.batch = ''
  1382. this.search1.rgstrId = ''
  1383. this.search1.groupId = ''
  1384. this.search1.area = ''
  1385. this.pcList = [];
  1386. this.groupList = [];
  1387. this.areaList = [];
  1388. this.projectList = [];
  1389. this.yearList.forEach(ele => {
  1390. if (val == ele.id) {
  1391. this.pcList = ele.children
  1392. }
  1393. })
  1394. },
  1395. changeBatch(val) {
  1396. this.search1.rgstrId = ''
  1397. this.search1.groupId = ''
  1398. this.search1.area = ''
  1399. this.groupList = [];
  1400. this.areaList = [];
  1401. this.projectList = [];
  1402. this.pcList.forEach(ele => {
  1403. if (val == ele.id) {
  1404. this.groupList = ele.children
  1405. this.search1.groupId = this.groupList[0].id
  1406. this.areaList = this.groupList[0].children
  1407. this.search1.area = this.areaList[0].adCode
  1408. this.projectList = this.areaList[0].children
  1409. this.search1.rgstrId = this.projectList[0].id
  1410. }
  1411. })
  1412. },
  1413. changeGroup(val) {
  1414. this.search1.area = ''
  1415. this.search1.rgstrId = ''
  1416. this.areaList = [];
  1417. this.projectList = [];
  1418. this.groupList.forEach(ele => {
  1419. if (val == ele.id) {
  1420. this.areaList = ele.children
  1421. }
  1422. })
  1423. },
  1424. changeArea(val) {
  1425. this.search1.rgstrId = ''
  1426. this.projectList = [];
  1427. this.areaList.forEach(ele => {
  1428. if (val == ele.adCode) {
  1429. this.projectList = ele.children
  1430. }
  1431. })
  1432. },
  1433. changeYear1(val) {
  1434. this.search.batch = ''
  1435. this.search.rgstrId = ''
  1436. this.search.groupId = ''
  1437. this.search.area = ''
  1438. this.pcList1 = [];
  1439. this.groupList1 = [];
  1440. this.areaList1 = [];
  1441. this.projectList1 = [];
  1442. this.yearList1.forEach(ele => {
  1443. if (val == ele.id) {
  1444. this.pcList1 = ele.children
  1445. }
  1446. })
  1447. },
  1448. changeBatch1(val) {
  1449. this.search.rgstrId = ''
  1450. this.search.groupId = ''
  1451. this.search.area = ''
  1452. this.groupList1 = []
  1453. this.areaList1 = []
  1454. this.projectList1 = []
  1455. this.pcList1.forEach(ele => {
  1456. if (val == ele.id) {
  1457. this.groupList1 = ele.children
  1458. this.search.groupId = this.groupList1[0].id
  1459. this.areaList1 = this.groupList1[0].children
  1460. this.search.area = this.areaList1[0].adCode
  1461. this.projectList1 = this.areaList1[0].children
  1462. this.search.rgstrId = this.projectList1[0].id
  1463. }
  1464. })
  1465. },
  1466. changeGroup1(val) {
  1467. this.search.area = ''
  1468. this.search.rgstrId = ''
  1469. this.areaList1 = []
  1470. this.projectList1 = []
  1471. this.groupList1.forEach(ele => {
  1472. if (val == ele.id) {
  1473. this.areaList1 = ele.children
  1474. }
  1475. })
  1476. },
  1477. changeArea1(val) {
  1478. this.search.rgstrId = ''
  1479. this.projectList1 = []
  1480. this.areaList1.forEach(ele => {
  1481. if (val == ele.adCode) {
  1482. this.projectList1 = ele.children
  1483. }
  1484. })
  1485. },
  1486. batchStartShow(){
  1487. if(this.mulSelectionSend.length<=0){
  1488. this.$message({
  1489. message: '请选择数据!',
  1490. type: 'warning'
  1491. });
  1492. return
  1493. }
  1494. this.mendDateVisible = true;
  1495. },
  1496. //结束
  1497. batchStart(){
  1498. if(!this.mendDate){
  1499. this.$message({
  1500. message: '请选择整改时限!',
  1501. type: 'warning'
  1502. });
  1503. return;
  1504. }
  1505. if(this.mulSelectionSend.length>0){
  1506. var paramList = [];
  1507. for(var i = 0;i<this.mulSelectionSend.length;i++){
  1508. if(this.mulSelectionSend[i].isStart=="0" || this.mulSelectionSend[i].isStart==null){
  1509. this.mulSelectionSend[i].pblmCrtm = this.mendDate;
  1510. paramList.push({pblmPlist: this.mulSelectionSend[i]})
  1511. }
  1512. }
  1513. var _self = this;
  1514. this.$confirm('确定要启动问题整改, 是否继续?', '提示', {
  1515. confirmButtonText: '确定',
  1516. cancelButtonText: '取消',
  1517. type: 'warning'
  1518. }).then(() => {
  1519. request.post(`/tac/province/pblm/mendInfo/startup`, paramList)
  1520. .then(res => {
  1521. if (res.success) {
  1522. _self.$message.success('提交成功')
  1523. _self.getNoticeList();
  1524. _self.dialogZgPlbmVisible = false;
  1525. _self.updateObj = {};
  1526. _self.mendDateVisible = false;
  1527. this.$refs.zgTable.clearSelection();
  1528. }else{
  1529. _self.$message.error(res.message);
  1530. }
  1531. })
  1532. .catch(err => {
  1533. console.log(err);
  1534. })
  1535. }).catch(() => {
  1536. });
  1537. }else{
  1538. this.$message({
  1539. message: '请选择数据!',
  1540. type: 'warning'
  1541. });
  1542. return
  1543. }
  1544. },
  1545. allStart(){
  1546. var _self = this;
  1547. this.$confirm('确定要一键下发整改, 是否继续?', '提示', {
  1548. confirmButtonText: '确定',
  1549. cancelButtonText: '取消',
  1550. type: 'warning'
  1551. }).then(() => {
  1552. request.post(`/tac/province/pblm/mendInfo/allStartup`, _self.search)
  1553. .then(res => {
  1554. if (res.success) {
  1555. _self.$message.success('一键下发成功')
  1556. _self.getNoticeList();
  1557. }else{
  1558. _self.$message.error(res.message);
  1559. }
  1560. })
  1561. .catch(err => {
  1562. console.log(err);
  1563. })
  1564. }).catch(() => {
  1565. });
  1566. },
  1567. downPblmListTemplate(){
  1568. let url = "/pdcApi/bis/insp/pblm/plist/download";
  1569. let downloadName = "整改问题列表模板"
  1570. let type = "get"
  1571. exportModel(type, url, downloadName)
  1572. },
  1573. jqmmDialogClose() {
  1574. this.jqmmDialogShow = false;
  1575. },
  1576. showImgList(nm,id){
  1577. this.PblmDetailsVisible = true;
  1578. this.currentPblmNm = nm;
  1579. this.currentProblemId = id;
  1580. },
  1581. showProvImgList(row){
  1582. this.jqmmDialogShow = true;
  1583. this.currentRow = row;
  1584. },
  1585. pblmStateChange(){
  1586. this.getNoticeList();
  1587. this.mulSelectionSend = [];
  1588. },
  1589. batchSend(){
  1590. if(this.mulSelectionSend!=null && this.mulSelectionSend.length>0){
  1591. for(var i = 0;i<this.mulSelectionSend.length;i++){
  1592. this.mulSelectionSend[i].pblmState = "1";
  1593. }
  1594. var _self = this;
  1595. this.$confirm('确定要提交到监督处, 是否继续?', '提示', {
  1596. confirmButtonText: '确定',
  1597. cancelButtonText: '取消',
  1598. type: 'warning'
  1599. }).then(() => {
  1600. request.post(`/bis/insp/pblm/plist/updateList`,_self.mulSelectionSend)
  1601. .then(res => {
  1602. if (res.success) {
  1603. _self.getNoticeList();
  1604. _self.mulSelectionSend = [];
  1605. _self.search.pblmState = "";
  1606. _self.remark = "";
  1607. }
  1608. })
  1609. .catch(err => {
  1610. console.log(err);
  1611. })
  1612. }).catch(() => {
  1613. });
  1614. }else{
  1615. this.$message({
  1616. message: '请选择数据!',
  1617. type: 'warning'
  1618. });
  1619. return
  1620. }
  1621. },
  1622. batchBack(){
  1623. if(this.remark==null || this.remark==""){
  1624. this.$message({
  1625. message: '请输入驳回备注!',
  1626. type: 'warning'
  1627. });
  1628. return
  1629. }
  1630. if(this.mulSelectionSend!=null && this.mulSelectionSend.length>0){
  1631. for(var i = 0;i<this.mulSelectionSend.length;i++){
  1632. this.mulSelectionSend[i].pblmState = "8";
  1633. }
  1634. var _self = this;
  1635. this.$confirm('确定要驳回到地市?, 是否继续?', '提示', {
  1636. confirmButtonText: '确定',
  1637. cancelButtonText: '取消',
  1638. type: 'warning'
  1639. }).then(() => {
  1640. request.post(`/bis/insp/pblm/plist/updateList`,_self.mulSelectionSend)
  1641. .then(res => {
  1642. if (res.success) {
  1643. _self.getNoticeList();
  1644. _self.mulSelectionSend = [];
  1645. _self.search.pblmState = "";
  1646. _self.remark = "";
  1647. }
  1648. })
  1649. .catch(err => {
  1650. console.log(err);
  1651. })
  1652. }).catch(() => {
  1653. });
  1654. }else{
  1655. this.$message({
  1656. message: '请选择数据!',
  1657. type: 'warning'
  1658. });
  1659. return
  1660. }
  1661. },
  1662. check(){
  1663. if(this.mulSelectionSend!=null && this.mulSelectionSend.length>0){
  1664. for(var i = 0;i<this.mulSelectionSend.length;i++){
  1665. this.mulSelectionSend[i].pblmState = "9";
  1666. }
  1667. var _self = this;
  1668. this.$confirm('确定要审核通过吗?, 是否继续?', '提示', {
  1669. confirmButtonText: '确定',
  1670. cancelButtonText: '取消',
  1671. type: 'warning'
  1672. }).then(() => {
  1673. request.post(`/bis/insp/pblm/plist/updateList`,_self.mulSelectionSend)
  1674. .then(res => {
  1675. if (res.success) {
  1676. _self.getNoticeList();
  1677. _self.mulSelectionSend = [];
  1678. _self.search.pblmState = "";
  1679. _self.remark = "";
  1680. }
  1681. })
  1682. .catch(err => {
  1683. console.log(err);
  1684. })
  1685. }).catch(() => {
  1686. });
  1687. }else{
  1688. this.$message({
  1689. message: '请选择数据!',
  1690. type: 'warning'
  1691. });
  1692. return
  1693. }
  1694. },
  1695. handleSelectionSend(val){
  1696. this.mulSelectionSend = val;
  1697. },
  1698. submitRow(row){
  1699. var _self = this;
  1700. let paramsObj = {
  1701. pblmPlist: row
  1702. }
  1703. this.$confirm('确定要启动问题整改, 是否继续?', '提示', {
  1704. confirmButtonText: '确定',
  1705. cancelButtonText: '取消',
  1706. type: 'warning'
  1707. }).then(() => {
  1708. request.post(`/tac/province/pblm/mendInfo/startupSinge`, paramsObj)
  1709. .then(res => {
  1710. if (res.success) {
  1711. _self.$message.success('提交成功')
  1712. _self.getNoticeList();
  1713. _self.dialogZgPlbmVisible = false;
  1714. _self.updateObj = {};
  1715. }else{
  1716. _self.$message.error(res.message);
  1717. }
  1718. })
  1719. .catch(err => {
  1720. console.log(err);
  1721. })
  1722. }).catch(() => {
  1723. });
  1724. },
  1725. returnBtn(){
  1726. var _self = this;
  1727. _self.updateObj.pblmState = "8";
  1728. this.$confirm('确定要驳回到地市, 是否继续?', '提示', {
  1729. confirmButtonText: '确定',
  1730. cancelButtonText: '取消',
  1731. type: 'warning'
  1732. }).then(() => {
  1733. request.post(`/bis/insp/pblm/plist/`,_self.updateObj)
  1734. .then(res => {
  1735. if (res.success) {
  1736. _self.getNoticeList();
  1737. _self.dialogZgPlbmVisible = false;
  1738. _self.updateObj = {};
  1739. }
  1740. })
  1741. .catch(err => {
  1742. console.log(err);
  1743. })
  1744. }).catch(() => {
  1745. });
  1746. },
  1747. checkBtn(){
  1748. var _self = this;
  1749. _self.updateObj.pblmState = "9";
  1750. this.$confirm('确定要审核通过吗, 是否继续?', '提示', {
  1751. confirmButtonText: '确定',
  1752. cancelButtonText: '取消',
  1753. type: 'warning'
  1754. }).then(() => {
  1755. request.post(`/bis/insp/pblm/plist/`,_self.updateObj)
  1756. .then(res => {
  1757. if (res.success) {
  1758. _self.getNoticeList();
  1759. _self.dialogZgPlbmVisible = false;
  1760. _self.updateObj = {};
  1761. }
  1762. })
  1763. .catch(err => {
  1764. console.log(err);
  1765. })
  1766. }).catch(() => {
  1767. });
  1768. },
  1769. formatDate(row, column){
  1770. var d = row[column.property];
  1771. if(d==null || d==""){
  1772. return "";
  1773. }
  1774. var date = new Date(d);
  1775. return date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate();
  1776. },
  1777. isRang(t,v){
  1778. if(v==null){
  1779. }
  1780. if(t=='p'){
  1781. }else{
  1782. }
  1783. },
  1784. formatDateMend(v){
  1785. if(v==null || v==""){
  1786. return "";
  1787. }else{
  1788. var date = new Date(v);
  1789. return date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate();
  1790. }
  1791. },
  1792. setJMlj(name){
  1793. if(this.mulSelectionSend && this.mulSelectionSend.length>0){
  1794. var _self = this;
  1795. this.$confirm(`确定要修改选择的数据为${name}, 是否继续?`, '提示', {
  1796. confirmButtonText: '确定',
  1797. cancelButtonText: '取消',
  1798. type: 'warning'
  1799. }).then(() => {
  1800. _self.mulSelectionSend.forEach((item,index)=>{
  1801. item.bsnm = name
  1802. })
  1803. request.post(`/tac/province/pblm/mendInfo/`,_self.mulSelectionSend)
  1804. .then(res => {
  1805. if (res.success) {
  1806. _self.getNoticeList();
  1807. _self.mulSelectionSend = [];
  1808. _self.$refs.zgTable.clearSelection();
  1809. }
  1810. })
  1811. .catch(err => {
  1812. console.log(err);
  1813. })
  1814. }).catch(() => {
  1815. });
  1816. }else{
  1817. this.$message({
  1818. message: '请选择数据!',
  1819. type: 'warning'
  1820. });
  1821. return
  1822. }
  1823. },
  1824. submitEdit(){
  1825. var _self = this;
  1826. this.$confirm('确定要提交修改的数据, 是否继续?', '提示', {
  1827. confirmButtonText: '确定',
  1828. cancelButtonText: '取消',
  1829. type: 'warning'
  1830. }).then(() => {
  1831. _self.updateObj.province = "";
  1832. _self.updateObj.city = "";
  1833. _self.updateObj.county = "";
  1834. request.post(`/tac/province/pblm/mendInfo/`,[_self.updateObj])
  1835. .then(res => {
  1836. if (res.success) {
  1837. _self.getNoticeList();
  1838. _self.dialogZgPlbmVisible = false;
  1839. _self.updateObj = {};
  1840. _self.search = {};
  1841. }
  1842. })
  1843. .catch(err => {
  1844. console.log(err);
  1845. })
  1846. }).catch(() => {
  1847. });
  1848. },
  1849. editorRow(row){
  1850. var _self = this;
  1851. _self.updateObj = JSON.parse(JSON.stringify(row));
  1852. _self.updateObj.province = "";
  1853. _self.updateObj.city = "";
  1854. _self.updateObj.county = "";
  1855. _self.updateObj.pblmCrtm = dateFormat(_self.updateObj.pblmCrtm, 'yyyy-MM-dd');
  1856. _self.updateObj.pblmPltm = dateFormat(_self.updateObj.pblmPltm, 'yyyy-MM-dd');
  1857. _self.updateObj.pblmActm = dateFormat(_self.updateObj.pblmActm, 'yyyy-MM-dd');
  1858. _self.dialogZgPlbmVisible = true;
  1859. },
  1860. deleteRow(id){
  1861. var _self = this;
  1862. this.$confirm('确定要删除当前数据, 是否继续?', '提示', {
  1863. confirmButtonText: '确定',
  1864. cancelButtonText: '取消',
  1865. type: 'warning'
  1866. }).then(() => {
  1867. request.post(`/tac/province/pblm/mendInfo/delete/`+id)
  1868. .then(res => {
  1869. if (res.success) {
  1870. _self.getNoticeList();
  1871. }
  1872. })
  1873. .catch(err => {
  1874. console.log(err);
  1875. })
  1876. }).catch(() => {
  1877. });
  1878. },
  1879. formatPblmState(val){
  1880. var name = "";
  1881. for(var i = 0;i<this.rectificationStatus.length;i++){
  1882. if(val==this.rectificationStatus[i].value){
  1883. name = this.rectificationStatus[i].name;
  1884. }
  1885. }
  1886. return name;
  1887. },
  1888. submitDepBtn(){
  1889. if(this.mulSelectCollection!=null && this.mulSelectCollection.length>0){
  1890. var _self = this;
  1891. for(var i = 0;i<_self.mulSelectCollection.length;i++){
  1892. _self.mulSelectCollection[i].pblmId = _self.mulSelectCollection[i].id;
  1893. delete _self.mulSelectCollection[i].id;
  1894. }
  1895. this.$confirm('确定要提交选择的数据, 是否继续?', '提示', {
  1896. confirmButtonText: '确定',
  1897. cancelButtonText: '取消',
  1898. type: 'warning'
  1899. }).then(() => {
  1900. request.post(`/tac/province/pblm/mendInfo/`,_self.mulSelectCollection)
  1901. .then(res => {
  1902. if (res.success) {
  1903. _self.getNoticeList();
  1904. _self.getPlbmList();
  1905. _self.mulSelectCollection = [];
  1906. _self.dialogSelectPlbm = false;
  1907. }
  1908. })
  1909. .catch(err => {
  1910. console.log(err);
  1911. })
  1912. }).catch(() => {
  1913. });
  1914. // }
  1915. }else{
  1916. this.$message({
  1917. message: '请选择数据!',
  1918. type: 'warning'
  1919. });
  1920. return
  1921. }
  1922. },
  1923. handleSelectionChange(val){
  1924. this.mulSelectCollection = val;
  1925. },
  1926. showDetails(id){
  1927. this.PblmDetailsVisible = true;
  1928. this.currentProblemId = id;
  1929. },
  1930. objTypeDict(d){
  1931. var name = "";
  1932. for(var i = 0;i<this.dcTypeList.length;i++){
  1933. if(parseInt(this.dcTypeList[i].inspType)==d.objType){
  1934. name = this.dcTypeList[i].inspName;
  1935. }
  1936. }
  1937. d.pblmClassify = name;
  1938. return name;
  1939. },
  1940. //通知List
  1941. getNoticeList() {
  1942. this.loading = true;
  1943. var _self = this;
  1944. request.post(`/tac/province/pblm/mendInfo/getList`, _self.search)
  1945. .then(res => {
  1946. if (res.success) {
  1947. _self.tableData = res.data.list;
  1948. _self.total = res.data.total;
  1949. _self.loading = false;
  1950. }
  1951. })
  1952. .catch(err => {
  1953. _self.loading = false;
  1954. })
  1955. },
  1956. addvCodeChange(data){
  1957. this.search.objAdCode = data.id;
  1958. },
  1959. addvCodeChange1(data){
  1960. this.search1.objAdCode = data.id;
  1961. },
  1962. searchBtn(){
  1963. this.getNoticeList();
  1964. this.mulSelectionSend = [];
  1965. },
  1966. searchBtn1(){
  1967. this.getPlbmList();
  1968. },
  1969. // getTypes() {
  1970. // var _self = this;
  1971. // request.get(`/bis/insp/rel/org/insp/type/getInspTypeByOrgId/${this.orgId}`)
  1972. // .then(res => {
  1973. // if (res.success) {
  1974. // _self.dcTypeList = res.data;
  1975. // _self.search1.objType = res.data[0].inspType;
  1976. // }
  1977. // })
  1978. // },
  1979. // getproblemSmallType() {
  1980. // let result = [];
  1981. // request.get('/dc/insp/pblms/getPblmType', {
  1982. // params: {
  1983. // type: ""
  1984. // }
  1985. // }).then(res => {
  1986. // if (res.success) {
  1987. //
  1988. // res.data.forEach((ele) => {
  1989. // let haveinspPblmsName = false;
  1990. // result.forEach((inspPblm) => {
  1991. // if (inspPblm['inspPblmsName'] == ele.inspPblmsName) {
  1992. // let havechekPoint = false;
  1993. // inspPblm['checkPoints'].forEach((chekPoint) => {
  1994. // if (chekPoint['checkPointName'] == ele.checkPoint) {
  1995. // havechekPoint = true;
  1996. // }
  1997. // });
  1998. // if (!havechekPoint) {
  1999. // let newCheckPoint = {};
  2000. // newCheckPoint['checkPointName'] = ele.checkPoint;
  2001. // newCheckPoint['sort2'] = ele.sort2;
  2002. // newCheckPoint['guid'] = ele.guid;
  2003. // inspPblm['checkPoints'].push(newCheckPoint);
  2004. // }
  2005. // haveinspPblmsName = true;
  2006. // }
  2007. // });
  2008. // if (!haveinspPblmsName) {
  2009. // let haveinspPblmsObj = {};
  2010. // haveinspPblmsObj['inspPblmsName'] = ele.inspPblmsName;
  2011. // haveinspPblmsObj['sort1'] = ele.sort1;
  2012. // haveinspPblmsObj['checkPoints'] = [{
  2013. // checkPointName: ele.checkPoint,
  2014. // sort2: ele.sort2,
  2015. // guid: ele.guid
  2016. // }];
  2017. // result.push(haveinspPblmsObj);
  2018. // }
  2019. // })
  2020. // this.problemList = result;
  2021. // }
  2022. // })
  2023. // },
  2024. handleCurrentChange(val) {
  2025. this.search.pageNum = val;
  2026. this.getNoticeList();
  2027. },
  2028. handleSizeChange(val) {
  2029. this.search.pageSize = val;
  2030. this.getNoticeList();
  2031. },
  2032. handleCurrentChange1(val) {
  2033. this.search1.pageNum = val;
  2034. this.getPlbmList();
  2035. },
  2036. handleSizeChange1(val) {
  2037. this.search1.pageSize = val;
  2038. this.getPlbmList();
  2039. },
  2040. showPlbmList(){
  2041. this.getPlbmList();
  2042. this.dialogSelectPlbm = true;
  2043. },
  2044. getPlbmList() {
  2045. this.loading1 = true;
  2046. var _self = this;
  2047. _self.search1.stepId = this.stepId;
  2048. request.post(`/tac/province/pblm/info/pagecg`, _self.search1)
  2049. .then(res => {
  2050. if (res.success) {
  2051. _self.tableData1 = res.data.list;
  2052. _self.total1 = res.data.total;
  2053. _self.loading1 = false;
  2054. }
  2055. })
  2056. .catch(err => {
  2057. _self.loading1 = false;
  2058. })
  2059. },
  2060. closeDialog(){
  2061. this.dialogSelectPlbm = false;
  2062. },
  2063. closeDialogMend(){
  2064. this.mendDateVisible = false;
  2065. this.mendDate = "";
  2066. },
  2067. closeZgDialog(){
  2068. this.dialogZgPlbmVisible = false;
  2069. },
  2070. selectJigouCodeSingle(data){
  2071. this.recvOrgName = data.name;
  2072. this.recvOrgId = data.code;
  2073. },
  2074. clearRecv(){
  2075. this.recvOrgName = "";
  2076. this.recvOrgId = "";
  2077. }
  2078. },
  2079. watch: {
  2080. }
  2081. }
  2082. </script>
  2083. <style lang="scss">
  2084. .moreLabel .el-form-item__label{
  2085. width:120px !important;
  2086. }
  2087. .sddc_sendnotice {
  2088. .inspPblmCate {
  2089. padding: 2px 10px;
  2090. color: #fff;
  2091. -webkit-border-radius: 10px;
  2092. -moz-border-radius: 10px;
  2093. border-radius: 10px;
  2094. }
  2095. .notice_title {
  2096. .el-input--mini .el-input__inner, .el-select-dropdown__list {
  2097. width: 8vw;
  2098. }
  2099. }
  2100. .rowClassP {
  2101. span {
  2102. color: #3399ff;
  2103. margin-left: 15px;
  2104. cursor: pointer;
  2105. }
  2106. }
  2107. }
  2108. </style>