a7942952bc608e45f0d00692cb6cd633ce3c2800.svn-base 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809
  1. <template>
  2. <el-container class="monthReport">
  3. <el-card class="box-card" :style="{'height': cardHeight + 'px','overflow':'hidden'}">
  4. <h2 class="title_monthReport">水务行业安全大检查情况统计表</h2>
  5. <el-form :inline="true" size="mini" class="demo-form-inline" label-width="120px">
  6. <el-form-item label="行政区划" label-width="120px" v-if="!isCounty">
  7. <treeselect v-model="searchForm.adCode" :options="treeOptions" :normalizer="normalizer" :show-count="false" placeholder="请选择区划" style="width:200px;height:28px;"/>
  8. </el-form-item>
  9. <el-form-item label="行业(领域)" label-width="120px">
  10. <el-select v-model="searchForm.chkIndustry" clearable placeholder="行业(领域)">
  11. <el-option v-for="(item,index) in options" :label="item.industryType" :value="item.id"></el-option>
  12. </el-select>
  13. </el-form-item>
  14. <el-form-item label="填报日期" label-width="120px">
  15. <el-date-picker
  16. v-model="searchForm.chkSubmitDttm"
  17. clearable
  18. type="date"
  19. value-format="yyyy-MM-dd HH:mm:ss"
  20. style="width: 200px"
  21. placeholder="填报日期">
  22. </el-date-picker>
  23. </el-form-item>
  24. <el-form-item label="是否上报" label-width="120px" v-if="isCounty">
  25. <el-select
  26. v-model="searchForm.fillRepoStat"
  27. clearable
  28. style="width: 200px"
  29. placeholder="是否上报">
  30. <el-option label="否" value="1"></el-option>
  31. <el-option label="是" value="2"></el-option>
  32. </el-select>
  33. </el-form-item>
  34. <el-form-item>
  35. <el-button type="primary" size="mini" @click="searchBtn" style="margin-left: 10px;">查询</el-button>
  36. <el-button type="success" size="mini" @click="addBtn" v-if="isCounty">添加</el-button>
  37. <el-button type="success" size="mini" @click="batchSubmit" v-if="isCounty">批量上报</el-button>
  38. <el-button type="primary" size="mini" @click="exportExcel">导出</el-button>
  39. <el-button type="primary" size="mini" @click="downloadTemplate" v-if="isCounty">下载模板</el-button>
  40. <PblmMendUploadAutoSimple
  41. v-if="isCounty"
  42. ref="ImportPlan"
  43. :limit=1
  44. :url="`/pdcApi/chk/safe/stat/record/impExl`"
  45. @uploadOver="uploadOver"
  46. :accept="'.xls'"
  47. style="margin:auto;"
  48. comment=".xls格式,不超过50MB(自动上传)"
  49. fileDesc="批量导入"
  50. ></PblmMendUploadAutoSimple>
  51. </el-form-item>
  52. </el-form>
  53. <div>
  54. <el-table
  55. border
  56. ref="table"
  57. :height="tableHeight"
  58. :data="tableData"
  59. tooltip-effect="dark"
  60. style="width: 100%"
  61. v-loading="loading"
  62. @selection-change="handleSelectionChange">
  63. <el-table-column
  64. type="selection"
  65. width="55">
  66. </el-table-column>
  67. <el-table-column align="center" type="index" label="序号" width="80">
  68. <template slot-scope="scope">{{ (pageNum - 1) * pageSize + (scope.$index + 1) }}</template>
  69. </el-table-column>
  70. <el-table-column
  71. header-align="center"
  72. align="center"
  73. width="200"
  74. prop="adName"
  75. label="行政区划"
  76. show-overflow-tooltip>
  77. </el-table-column>
  78. <el-table-column
  79. header-align="center"
  80. align="center"
  81. width="200"
  82. prop="chkIndustry"
  83. :formatter="formatChkIndustry"
  84. label="行业(领域)"
  85. show-overflow-tooltip>
  86. </el-table-column>
  87. <el-table-column
  88. header-align="center"
  89. align="center"
  90. label="检查执法情况"
  91. show-overflow-tooltip>
  92. <el-table-column
  93. header-align="center"
  94. align="center"
  95. label="组织检查组"
  96. show-overflow-tooltip>
  97. <el-table-column
  98. header-align="center"
  99. align="center"
  100. label="个"
  101. prop="chkGroupNum"
  102. width="100"
  103. show-overflow-tooltip>
  104. </el-table-column>
  105. </el-table-column>
  106. <el-table-column
  107. header-align="center"
  108. align="center"
  109. label="暗访检查组"
  110. show-overflow-tooltip>
  111. <el-table-column
  112. header-align="center"
  113. align="center"
  114. label="个"
  115. prop="chkGroupNumUndercover"
  116. width="100"
  117. show-overflow-tooltip>
  118. </el-table-column>
  119. </el-table-column>
  120. <el-table-column
  121. header-align="center"
  122. align="center"
  123. label="检查点位"
  124. show-overflow-tooltip>
  125. <el-table-column
  126. header-align="center"
  127. align="center"
  128. label="个"
  129. prop="chkPointNum"
  130. width="100"
  131. show-overflow-tooltip>
  132. </el-table-column>
  133. </el-table-column>
  134. <el-table-column
  135. header-align="center"
  136. align="center"
  137. label="一般隐患"
  138. show-overflow-tooltip>
  139. <el-table-column
  140. header-align="center"
  141. align="center"
  142. label="排查"
  143. show-overflow-tooltip>
  144. <el-table-column
  145. header-align="center"
  146. align="center"
  147. label="项"
  148. prop="inspGeneralChk"
  149. show-overflow-tooltip>
  150. </el-table-column>
  151. </el-table-column>
  152. <el-table-column
  153. header-align="center"
  154. align="center"
  155. label="已整治"
  156. show-overflow-tooltip>
  157. <el-table-column
  158. header-align="center"
  159. align="center"
  160. label="项"
  161. prop="inspGeneralRepair"
  162. show-overflow-tooltip>
  163. </el-table-column>
  164. </el-table-column>
  165. </el-table-column>
  166. <el-table-column
  167. header-align="center"
  168. align="center"
  169. label="重大隐患"
  170. show-overflow-tooltip>
  171. <el-table-column
  172. header-align="center"
  173. align="center"
  174. label="排查"
  175. show-overflow-tooltip>
  176. <el-table-column
  177. header-align="center"
  178. align="center"
  179. label="项"
  180. prop="inspMajorChk"
  181. show-overflow-tooltip>
  182. </el-table-column>
  183. </el-table-column>
  184. <el-table-column
  185. header-align="center"
  186. align="center"
  187. label="已整治"
  188. show-overflow-tooltip>
  189. <el-table-column
  190. header-align="center"
  191. align="center"
  192. label="项"
  193. prop="inspMajorRepair"
  194. show-overflow-tooltip>
  195. </el-table-column>
  196. </el-table-column>
  197. </el-table-column>
  198. <el-table-column
  199. header-align="center"
  200. align="center"
  201. label="共计投入落实隐患整改资金"
  202. show-overflow-tooltip>
  203. <el-table-column
  204. header-align="center"
  205. align="center"
  206. label="万元"
  207. prop="dangerRectFund"
  208. show-overflow-tooltip>
  209. </el-table-column>
  210. </el-table-column>
  211. <el-table-column
  212. header-align="center"
  213. align="center"
  214. label="打击非法违法行为"
  215. show-overflow-tooltip>
  216. <el-table-column
  217. header-align="center"
  218. align="center"
  219. label="起"
  220. prop="crackDownIllegalAction"
  221. show-overflow-tooltip>
  222. </el-table-column>
  223. </el-table-column>
  224. <el-table-column
  225. header-align="center"
  226. align="center"
  227. label="整治违规违章行为"
  228. show-overflow-tooltip>
  229. <el-table-column
  230. header-align="center"
  231. align="center"
  232. label="家"
  233. prop="repairViolateRuleAction"
  234. show-overflow-tooltip>
  235. </el-table-column>
  236. </el-table-column>
  237. </el-table-column>
  238. <el-table-column
  239. header-align="center"
  240. align="center"
  241. label="实施处罚情况"
  242. show-overflow-tooltip>
  243. <el-table-column
  244. header-align="center"
  245. align="center"
  246. label="停产整顿"
  247. show-overflow-tooltip>
  248. <el-table-column
  249. header-align="center"
  250. align="center"
  251. label="家"
  252. prop="stopProdRect"
  253. show-overflow-tooltip>
  254. </el-table-column>
  255. </el-table-column>
  256. <el-table-column
  257. header-align="center"
  258. align="center"
  259. label="暂扣吊销证照"
  260. show-overflow-tooltip>
  261. <el-table-column
  262. header-align="center"
  263. align="center"
  264. label="个"
  265. prop="suspendLicense"
  266. show-overflow-tooltip>
  267. </el-table-column>
  268. </el-table-column>
  269. <el-table-column
  270. header-align="center"
  271. align="center"
  272. label="关闭取缔"
  273. show-overflow-tooltip>
  274. <el-table-column
  275. header-align="center"
  276. align="center"
  277. label="家"
  278. prop="shutClampDown"
  279. show-overflow-tooltip>
  280. </el-table-column>
  281. </el-table-column>
  282. <el-table-column
  283. header-align="center"
  284. align="center"
  285. label="处罚罚款"
  286. show-overflow-tooltip>
  287. <el-table-column
  288. header-align="center"
  289. align="center"
  290. label="万元"
  291. prop="penaltyFine"
  292. show-overflow-tooltip>
  293. </el-table-column>
  294. </el-table-column>
  295. <el-table-column
  296. header-align="center"
  297. align="center"
  298. label="问责曝光责任单位/个人"
  299. show-overflow-tooltip>
  300. <el-table-column
  301. header-align="center"
  302. align="center"
  303. label="家、人"
  304. prop="actbExpsUnit"
  305. show-overflow-tooltip>
  306. </el-table-column>
  307. </el-table-column>
  308. <el-table-column
  309. header-align="center"
  310. align="center"
  311. label="联合惩戒失信企业"
  312. show-overflow-tooltip>
  313. <el-table-column
  314. header-align="center"
  315. align="center"
  316. label="家"
  317. prop="joinPunishTrustBreakEntp"
  318. show-overflow-tooltip>
  319. </el-table-column>
  320. </el-table-column>
  321. </el-table-column>
  322. <el-table-column
  323. header-align="center"
  324. align="center"
  325. label="填报单位"
  326. min-width="150"
  327. prop="chkSubmitDept"
  328. show-overflow-tooltip>
  329. </el-table-column>
  330. <el-table-column
  331. header-align="center"
  332. align="center"
  333. label="填报日期"
  334. min-width="150"
  335. prop="chkSubmitDttm"
  336. :formatter="formatDate"
  337. show-overflow-tooltip>
  338. </el-table-column>
  339. <el-table-column
  340. align="center"
  341. min-width="220"
  342. v-if="isCounty"
  343. label="操作"
  344. fixed="right">
  345. <template slot-scope="scope">
  346. <el-button type="success" size="mini" :disabled="scope.row.fillRepoStat=='2'" @click.stop="report(scope.row)">上报</el-button>
  347. <el-button type="primary" size="mini" :disabled="scope.row.fillRepoStat=='2'" @click.stop="edit(scope.row)">编辑</el-button>
  348. <el-button type="danger" size="mini" :disabled="scope.row.fillRepoStat=='2'" @click.stop="deleteData(scope.row.id)">删除</el-button>
  349. </template>
  350. </el-table-column>
  351. </el-table>
  352. <el-pagination
  353. @size-change="handleSizeChange"
  354. @current-change="handleCurrentChange"
  355. :current-page.sync="pageNum"
  356. :page-size="pageSize"
  357. :page-sizes="[10, 20, 50, 100]"
  358. layout="total, sizes, prev, pager, next, jumper"
  359. :total="total"
  360. ></el-pagination>
  361. </div>
  362. </el-card>
  363. <el-dialog
  364. class="outerDialog custom_dialog"
  365. :title="dialogT"
  366. width="45%"
  367. modal-append-to-body
  368. append-to-body
  369. @close="closeAddDialog"
  370. v-if="addDialogVisible"
  371. :visible.sync="addDialogVisible">
  372. <div style="width: 100%;height:100%;">
  373. <el-form ref="addForm" label-width="220px">
  374. <el-form-item label="行业(领域)" required>
  375. <el-select v-model="addForm.chkIndustry" placeholder="请选择行业(领域)">
  376. <el-option v-for="(item,index) in options" :label="item.industryType" :value="item.id"></el-option>
  377. </el-select>
  378. </el-form-item>
  379. <el-form-item label="组织检查组(个)" required>
  380. <el-input-number v-model="addForm.chkGroupNum" placeholder="请输入组织检查组(个)" clearable style="width: 70%"></el-input-number>
  381. </el-form-item>
  382. <el-form-item label="暗访检查组(个)">
  383. <el-input-number v-model="addForm.chkGroupNumUndercover" placeholder="请输入暗访检查组(个)" clearable style="width: 70%"></el-input-number>
  384. </el-form-item>
  385. <el-form-item label="检查点位(个)" required>
  386. <el-input-number v-model="addForm.chkPointNum" placeholder="请输入检查点位(个)" clearable style="width: 70%"></el-input-number>
  387. </el-form-item>
  388. <el-form-item label="一般隐患排查数(项)" required>
  389. <el-input-number v-model="addForm.inspGeneralChk" placeholder="请输入一般隐患排查数(项)" clearable style="width: 70%"></el-input-number>
  390. </el-form-item>
  391. <el-form-item label="一般隐患已整治数(项)">
  392. <el-input-number v-model="addForm.inspGeneralRepair" placeholder="请输入一般隐患已整治数(项)" clearable style="width: 70%"></el-input-number>
  393. </el-form-item>
  394. <el-form-item label="重大隐患排查数(项)" required >
  395. <el-input-number v-model="addForm.inspMajorChk" placeholder="请输入重大隐患排查数(项)" clearable style="width: 70%"></el-input-number>
  396. </el-form-item>
  397. <el-form-item label="重大隐患已整治数(项)">
  398. <el-input-number v-model="addForm.inspMajorRepair" placeholder="请输入重大隐患已整治数(项)" clearable style="width: 70%"></el-input-number>
  399. </el-form-item>
  400. <el-form-item label="共投入落实隐患整改资金(万元)" required >
  401. <el-input-number v-model="addForm.dangerRectFund" placeholder="请输入共投入落实隐患整改资金(万元)" clearable style="width: 70%"></el-input-number>
  402. </el-form-item>
  403. <el-form-item label="打击非法违法行为(起)" required >
  404. <el-input-number v-model="addForm.crackDownIllegalAction" placeholder="请输入打击非法违法行为(起)" clearable style="width: 70%"></el-input-number>
  405. </el-form-item>
  406. <el-form-item label="整治违规违章行为(起)" required >
  407. <el-input-number v-model="addForm.repairViolateRuleAction" placeholder="请输入整治违规违章行为(起)" clearable style="width: 70%"></el-input-number>
  408. </el-form-item>
  409. <el-form-item label="停产整顿(家)" >
  410. <el-input-number v-model="addForm.stopProdRect" placeholder="请输入停产整顿(家)" clearable style="width: 70%"></el-input-number>
  411. </el-form-item>
  412. <el-form-item label="暂扣吊销证照(个)" >
  413. <el-input-number v-model="addForm.suspendLicense" placeholder="请输入暂扣吊销证照(个)" clearable style="width: 70%"></el-input-number>
  414. </el-form-item>
  415. <el-form-item label="关闭取缔(家)" >
  416. <el-input-number v-model="addForm.shutClampDown" placeholder="请输入关闭取缔(家)" clearable style="width: 70%"></el-input-number>
  417. </el-form-item>
  418. <el-form-item label="处罚罚款(万元)" >
  419. <el-input-number v-model="addForm.penaltyFine" placeholder="请输入处罚罚款(万元)" clearable style="width: 70%"></el-input-number>
  420. </el-form-item>
  421. <el-form-item label="问责曝光责任单位个人(家、人)" >
  422. <el-input-number v-model="addForm.actbExpsUnit" placeholder="请输入问责曝光责任单位个人(家、人)" clearable style="width: 70%"></el-input-number>
  423. </el-form-item>
  424. <el-form-item label="联合惩戒失信企业(家)" >
  425. <el-input-number v-model="addForm.joinPunishTrustBreakEntp" placeholder="请输入联合惩戒失信企业(家)" clearable style="width: 70%"></el-input-number>
  426. </el-form-item>
  427. <el-form-item label="填报单位" required >
  428. <el-input v-model="addForm.chkSubmitDept" placeholder="请输入填报单位" clearable style="width: 70%"></el-input>
  429. </el-form-item>
  430. <el-form-item style="text-align: center">
  431. <el-button type="primary" @click="addSubmit" style="margin-bottom: 30px;">确定</el-button>
  432. </el-form-item>
  433. </el-form>
  434. </div>
  435. </el-dialog>
  436. </el-container>
  437. </template>
  438. <script>
  439. import {exportModel} from "@util/gw_exportModel";
  440. import request from '@util/gw_ajax_request'
  441. import Treeselect from "@riophae/vue-treeselect";
  442. import "@riophae/vue-treeselect/dist/vue-treeselect.css";
  443. import PblmMendUploadAutoSimple from "../../widgets/pblm-mend-upload-auto-simple";
  444. import {getAddTree} from "../../api/duChaAPI.js";
  445. export default {
  446. name: "",
  447. props: [],
  448. data() {
  449. return {
  450. treeOptions: undefined,
  451. dialogT:"",
  452. multipleSelection:[],
  453. cardHeight: window.innerHeight - 110,
  454. addDialogVisible:false,
  455. tableHeight:window.innerHeight-300,
  456. tableData:[],
  457. loading:false,
  458. pageNum:1,
  459. pageSize:10,
  460. total:0,
  461. isCounty:false,
  462. options:[],
  463. searchForm:{
  464. chkIndustry:"",
  465. chkSubmitDttm:""
  466. },
  467. addForm:{
  468. id:"",
  469. chkIndustry:"",
  470. adName:"",
  471. adCode:"",
  472. chkGroupNum:"",
  473. chkGroupNumUndercover:"",
  474. chkPointNum:"",
  475. inspGeneralChk:"",
  476. inspGeneralRepair:"",
  477. inspMajorChk:"",
  478. inspMajorRepair:"",
  479. dangerRectFund:"",
  480. crackDownIllegalAction:"",
  481. repairViolateRuleAction:"",
  482. stopProdRect:"",
  483. suspendLicense:"",
  484. shutClampDown:"",
  485. penaltyFine:"",
  486. actbExpsUnit:"",
  487. joinPunishTrustBreakEntp:"",
  488. chkSubmitDttm:"",
  489. chkSubmitDept:""
  490. }
  491. }
  492. },
  493. filters:{
  494. },
  495. components: {
  496. Treeselect,
  497. PblmMendUploadAutoSimple
  498. },
  499. computed: {
  500. persId() {
  501. return localStorage.getItem("userid")
  502. ? localStorage.getItem("userid")
  503. : "1098101939614724096";
  504. },
  505. orgId() {
  506. return localStorage.getItem('currentOrgId') ? localStorage.getItem("currentOrgId") : "";
  507. },
  508. organCode() {
  509. return localStorage.getItem('currentRlcode') ? localStorage.getItem('currentRlcode') : ''
  510. },
  511. },
  512. created(){
  513. this.getIsCounty();
  514. this.getAdTree();
  515. this.getOptions();
  516. },
  517. mounted() {
  518. this.$nextTick(()=>{
  519. this.initTableData();
  520. })
  521. },
  522. methods: {
  523. uploadOver(){
  524. this.initTableData();
  525. },
  526. async downloadTemplate() {
  527. let url = "/pdcApi/chk/safe/stat/record/dowmTemplate";
  528. let type = "get";
  529. let exportName = "水务行业安全大检查情况统计表.xls"
  530. let result = await exportModel(type, url, exportName, null);
  531. },
  532. async exportExcel() {
  533. let url = "/pdcApi/chk/safe/stat/record/export";
  534. let type = "POST";
  535. let exportName = "水务行业安全大检查情况统计表.xls"
  536. let result = await exportModel(type, url, exportName,JSON.stringify(this.searchForm));
  537. },
  538. handleSelectionChange(val){
  539. this.multipleSelection = val;
  540. },
  541. normalizer(node) {
  542. if (node.adUpDtoList && !node.adUpDtoList.length) {
  543. delete node.adUpDtoList;
  544. }
  545. return {
  546. id: node.adCode,
  547. label: node.adName,
  548. children: node.adUpDtoList
  549. };
  550. },
  551. getAdTree(){
  552. var _self = this;
  553. request.get('/dc/ad/base/getTreeByUser').then(res=>{
  554. if(res.success){
  555. _self.treeOptions = res.data;
  556. }
  557. })
  558. },
  559. getOptions(){
  560. request.post('/chk/safe/stat/industry/selectOptions',{}).then(res=>{
  561. if(res.success){
  562. this.options = res.data;
  563. }
  564. })
  565. },
  566. getIsCounty(){
  567. var _self = this;
  568. request.get('/chk/safe/prod/ledger/getIsCounty').then(res=>{
  569. if(res.success){
  570. _self.isCounty = res.data.key;
  571. }
  572. })
  573. },
  574. formatDate(row, column, cellValue, index){
  575. var dateF = row[column.property];
  576. if(dateF){
  577. var date = new Date(dateF);
  578. return date.getFullYear()+"-"+((date.getMonth()+1)>9?(date.getMonth()+1):'0'+(date.getMonth()+1))+"-"+(date.getDate()>9?date.getDate():"0"+date.getDate());
  579. }
  580. return "";
  581. },
  582. formatChkIndustry(row, column, cellValue, index){
  583. var val = row[column.property];
  584. var name = "";
  585. if(val){
  586. this.options.forEach((item,index)=>{
  587. if(item.id==val){
  588. name = item.industryType
  589. }
  590. })
  591. }
  592. return name;
  593. },
  594. batchSubmit(){
  595. if(this.multipleSelection && this.multipleSelection.length>0){
  596. var ids = [];
  597. this.multipleSelection.forEach((item)=>{
  598. ids.push(item.id);
  599. })
  600. this.$confirm('确定要批量上报吗, 是否继续?', '提示', {
  601. confirmButtonText: '确定',
  602. cancelButtonText: '取消',
  603. type: 'warning'
  604. }).then(() => {
  605. request.post(`/chk/safe/stat/record/report/batch?ids=${ids.join(",")}`).then(res=>{
  606. if(res.success){
  607. this.initTableData();
  608. }else{
  609. this.$message.warning(res.message);
  610. }
  611. })
  612. }).catch(() => {
  613. this.$message({
  614. type: 'info',
  615. message: '已取消批量上报'
  616. });
  617. });
  618. }else{
  619. this.$message.warning("请选择数据")
  620. }
  621. },
  622. report(row){
  623. var ids = [];
  624. ids.push(row.id);
  625. this.$confirm('确定要上报当前数据吗, 是否继续?', '提示', {
  626. confirmButtonText: '确定',
  627. cancelButtonText: '取消',
  628. type: 'warning'
  629. }).then(() => {
  630. request.post(`/chk/safe/stat/record/report/batch?ids=${ids.join(",")}`).then(res=>{
  631. if(res.success){
  632. this.initTableData();
  633. }else{
  634. this.$message.warning(res.message);
  635. }
  636. })
  637. }).catch(() => {
  638. this.$message({
  639. type: 'info',
  640. message: '已取消上报'
  641. });
  642. });
  643. },
  644. deleteData(id){
  645. var _self = this;
  646. this.$confirm('确定删除该条数据吗, 是否继续?', '提示', {
  647. confirmButtonText: '确定',
  648. cancelButtonText: '取消',
  649. type: 'warning'
  650. }).then(() => {
  651. request.post('/chk/safe/stat/record/delete/'+id).then(res=>{
  652. if(res.success){
  653. _self.initTableData();
  654. }else{
  655. _self.$message.warning(res.message);
  656. }
  657. })
  658. }).catch(() => {
  659. this.$message({
  660. type: 'info',
  661. message: '已取消删除'
  662. });
  663. });
  664. },
  665. edit(row){
  666. var obj = JSON.stringify(row);
  667. this.addDialogVisible = true;
  668. this.addForm = JSON.parse(obj);
  669. this.dialogT = "编辑";
  670. },
  671. addSubmit(){
  672. if(!this.addForm.chkIndustry){
  673. this.$message.warning("行业(领域)不能为空");
  674. return;
  675. }
  676. if(!this.addForm.chkGroupNum){
  677. this.$message.warning("组织检查组不能为空");
  678. return;
  679. }
  680. if(!this.addForm.chkPointNum){
  681. this.$message.warning("检查点位不能为空");
  682. return;
  683. }
  684. if(!this.addForm.inspGeneralChk){
  685. this.$message.warning("一般隐患排查数不能为空");
  686. return;
  687. }
  688. if(!this.addForm.inspMajorChk){
  689. this.$message.warning("重大隐患排查数不能为空");
  690. return;
  691. }
  692. if(!this.addForm.dangerRectFund){
  693. this.$message.warning("共投入落实隐患整改资金不能为空");
  694. return;
  695. }
  696. if(!this.addForm.crackDownIllegalAction){
  697. this.$message.warning("打击非法违法行为不能为空");
  698. return;
  699. }
  700. if(!this.addForm.repairViolateRuleAction){
  701. this.$message.warning("整治违规违章行为不能为空");
  702. return;
  703. }
  704. if(!this.addForm.chkSubmitDept){
  705. this.$message.warning("填报单位不能为空");
  706. return;
  707. }
  708. var _self = this;
  709. request.post('/chk/safe/stat/record/',this.addForm).then(res=>{
  710. if(res.success){
  711. _self.$message.success("保存成功");
  712. _self.addDialogVisible = false;
  713. _self.addForm = {};
  714. _self.initTableData();
  715. }else{
  716. _self.$message.warning(res.message);
  717. }
  718. })
  719. },
  720. closeAddDialog(){
  721. this.addDialogVisible = false;
  722. },
  723. initTableData(){
  724. this.searchForm.pageNum = this.pageNum;
  725. this.searchForm.pageSize = this.pageSize;
  726. var _self = this;
  727. request.post(`/chk/safe/stat/record/page`,this.searchForm).then(res=>{
  728. if(res.success){
  729. _self.tableData = res.data.list;
  730. _self.total = res.data.total;
  731. _self.loading = false;
  732. _self.$nextTick(()=>{
  733. _self.$refs.table.doLayout();
  734. })
  735. }else{
  736. _self.$message.warning(res.message)
  737. }
  738. })
  739. },
  740. handleCurrentChange(val){
  741. this.pageNum = val;
  742. this.initTableData();
  743. },
  744. handleSizeChange(val){
  745. this.pageSize = val;
  746. this.initTableData();
  747. },
  748. searchBtn(){
  749. this.initTableData();
  750. },
  751. addBtn(){
  752. this.addForm = {};
  753. this.addDialogVisible = true;
  754. this.dialogT = "添加"
  755. }
  756. }
  757. }
  758. </script>
  759. <style lang="scss" scoped>
  760. .vue-treeselect /deep/.vue-treeselect__control{
  761. height: 28px !important;
  762. }
  763. .vue-treeselect /deep/.vue-treeselect__placeholder{
  764. line-height: 28px !important;
  765. }
  766. .monthReport >>>.el-dialog{
  767. margin-top: 10vh !important;
  768. }
  769. .monthReport{
  770. width: 100%;
  771. height:90%;
  772. margin: 0;
  773. padding: 0;
  774. }
  775. .box-card{
  776. width: calc(100% - 20px);
  777. height:calc(100% - 20px);
  778. margin: 0 auto;
  779. margin-top: 10px;
  780. }
  781. .title_monthReport{
  782. text-align: center;
  783. padding: 10px;
  784. }
  785. .note_monthReport{
  786. width: 100%;
  787. background-color: rgba(255, 251, 230, 1);
  788. box-sizing: border-box;
  789. border-width: 1px;
  790. border-style: solid;
  791. border-color: rgba(255, 229, 143, 1);
  792. color: rgba(0, 0, 0, 0.447058823529412);
  793. font-size: 14px;
  794. padding: 10px;
  795. }
  796. .note_monthReport p:first-child{
  797. font-size: 16px !important;
  798. }
  799. .monthReport{
  800. .demo-form-inline{
  801. .el-form-item{
  802. margin-bottom: 5px;
  803. margin-top: 8px;
  804. }
  805. }
  806. }
  807. </style>