c29b1b492902ef724452e5423bc1750346fa67d2.svn-base 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748
  1. <template>
  2. <el-container class="check_plan_zj">
  3. <el-main>
  4. <el-card class="box-card" :style="{'height': cardHeight + 'px','overflow-y':'auto'}">
  5. <el-row :gutter="24" type="flex" justify="start" class="notice_title">
  6. <el-col :span="20">
  7. <el-form :inline="true" size="small" class="demo-form-inline" label-width="120px">
  8. <el-form-item label="年度">
  9. <el-date-picker
  10. v-model="searchForm.chkYear"
  11. type="year"
  12. format="yyyy"
  13. value-format="yyyy"
  14. placeholder="选择年度">
  15. </el-date-picker>
  16. </el-form-item>
  17. <el-form-item label="牵头单位">
  18. <el-input v-model="searchForm.leadDep" placeholder="牵头处室" clearable></el-input>
  19. </el-form-item>
  20. <el-form-item label="检查计划事项">
  21. <el-input v-model="searchForm.chkName" placeholder="检查计划事项" clearable></el-input>
  22. </el-form-item>
  23. <el-form-item label="类别">
  24. <el-input v-model="searchForm.chkType" placeholder="类别" clearable></el-input>
  25. </el-form-item>
  26. <el-form-item>
  27. <el-button type="primary" @click="searchBtn">查询</el-button>
  28. </el-form-item>
  29. </el-form>
  30. </el-col>
  31. </el-row>
  32. <div>
  33. <div class="table_title">
  34. <h2>监督检查工作计划</h2>
  35. <div>
  36. <el-button type="success" @click="addFormBtn" v-if="ownPriv('manage')">添加检查计划</el-button>
  37. <el-button type="primary" @click="downloadPlan">导出检查计划</el-button>
  38. <!-- <el-button type="primary" @click="downloadSum">导出检查计划汇总表</el-button>-->
  39. <el-button type="primary" @click="downloadTemplate">下载模板</el-button>
  40. <span style="padding-left: 10px;" v-if="ownPriv('manage')">
  41. <common-upload-auto-simple
  42. ref="ImportPlan"
  43. :limit=1
  44. :url="`/pdcApi/bis/insp/plan/year/impExl`"
  45. @uploadOver="uploadOver"
  46. :accept="'.xls'"
  47. style="margin:auto;"
  48. comment=".xls格式,不超过2MB(自动上传)"
  49. fileDesc="导入"
  50. ></common-upload-auto-simple>
  51. </span>
  52. </div>
  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. <!-- <el-table-column align="center" type="index" label="序号" width="80">-->
  63. <!-- <template slot-scope="scope">{{ (pageNum - 1) * pageSize + (scope.$index + 1) }}</template>-->
  64. <!-- </el-table-column>-->
  65. <el-table-column
  66. header-align="center"
  67. align="center"
  68. width="80"
  69. prop="ordr"
  70. label="序号"
  71. show-overflow-tooltip
  72. ></el-table-column>
  73. <el-table-column
  74. header-align="center"
  75. align="center"
  76. min-width="200"
  77. prop="objName"
  78. label="督查类型"
  79. show-overflow-tooltip
  80. ></el-table-column>
  81. <el-table-column
  82. header-align="center"
  83. align="center"
  84. min-width="200"
  85. prop="chkName"
  86. label="检查计划事项"
  87. show-overflow-tooltip
  88. ></el-table-column>
  89. <el-table-column
  90. header-align="center"
  91. align="center"
  92. min-width="200"
  93. prop="chkType"
  94. label="类别"
  95. show-overflow-tooltip
  96. ></el-table-column>
  97. <el-table-column label="计划开展时间" align="center">
  98. <el-table-column
  99. header-align="center"
  100. align="center"
  101. min-width="150"
  102. prop="planSttm"
  103. label="开始"
  104. :formatter="formatDate"
  105. show-overflow-tooltip
  106. ></el-table-column>
  107. <el-table-column
  108. header-align="center"
  109. align="center"
  110. min-width="150"
  111. prop="planEntm"
  112. :formatter="formatDate"
  113. label="结束"
  114. show-overflow-tooltip
  115. ></el-table-column>
  116. </el-table-column>
  117. <el-table-column label="牵头单位和参加单位" align="center">
  118. <el-table-column
  119. header-align="center"
  120. align="center"
  121. min-width="200"
  122. prop="leadDep"
  123. label="牵头单位"
  124. show-overflow-tooltip
  125. ></el-table-column>
  126. <el-table-column
  127. header-align="center"
  128. align="center"
  129. min-width="200"
  130. prop="joinDep"
  131. label="参加单位"
  132. show-overflow-tooltip
  133. ></el-table-column>
  134. </el-table-column>
  135. <el-table-column label="开展方式及对象范围" align="center">
  136. <el-table-column
  137. header-align="center"
  138. align="center"
  139. min-width="200"
  140. prop="chkForm"
  141. label="开展方式"
  142. show-overflow-tooltip
  143. ></el-table-column>
  144. <el-table-column
  145. header-align="center"
  146. align="center"
  147. min-width="200"
  148. prop="chkScope"
  149. label="督查检查单位范围(市)"
  150. show-overflow-tooltip
  151. ></el-table-column>
  152. </el-table-column>
  153. <el-table-column
  154. header-align="center"
  155. align="center"
  156. min-width="300"
  157. prop="chkRly"
  158. label="开展依据"
  159. show-overflow-tooltip
  160. ></el-table-column>
  161. <el-table-column
  162. header-align="center"
  163. align="center"
  164. min-width="80"
  165. prop="state"
  166. label="状态"
  167. show-overflow-tooltip
  168. >
  169. <template slot-scope="scope">
  170. <span v-if="scope.row.state=='1'" style="color:#16ff68;font-weight: bold;">已办结</span>
  171. <span v-else style="color:#ff6069;font-weight: bold;">未办结</span>
  172. </template>
  173. </el-table-column>
  174. <el-table-column
  175. align="center"
  176. label="操作"
  177. :min-width="isManage"
  178. fixed="right">
  179. <template slot-scope="scope">
  180. <el-button type="success" size="mini" @click.stop="lookOver(scope.row)">查看</el-button>
  181. <el-button type="success" size="mini" v-if="ownPriv('manage')" @click.stop="edit(scope.row)">编辑</el-button>
  182. <el-button type="danger" size="mini" v-if="ownPriv('manage')" @click.stop="deleteData(scope.row.id)">删除</el-button>
  183. <el-button type="success" size="mini" v-if="ownPriv('manage')" @click="hrefMoth(scope.row)">监督检查详细计划</el-button>
  184. <el-button type="success" size="mini" v-if="ownPriv('mprocess')" @click="processMoth(scope.row)">月进展情况</el-button>
  185. <el-button type="primary" size="mini" v-if="ownPriv('manage') && scope.row.state!='1'" @click="finish(scope.row)">办结</el-button>
  186. <el-button type="success" size="mini" v-if="ownPriv('manage')" @click="showAllObjType(scope.row)">关联督查类型</el-button>
  187. </template>
  188. </el-table-column>
  189. </el-table>
  190. <el-pagination
  191. style="margin: 10px auto"
  192. background
  193. :pager-count="5"
  194. :current-page="pageNum"
  195. :page-size="pageSize"
  196. :page-sizes="[10, 20, 30, 40, 50, 100]"
  197. layout="sizes, total, prev, pager, next"
  198. :total="total"
  199. @current-change="handleCurrentChange"
  200. @size-change="handleSizeChange"
  201. ></el-pagination>
  202. </div>
  203. </el-card>
  204. </el-main>
  205. <el-dialog
  206. class="outerDialog custom_dialog"
  207. :title="dialogT+'监督检查计划'"
  208. width="60%"
  209. @close="closeAddDialog"
  210. v-if="addDialogVisible"
  211. :visible.sync="addDialogVisible">
  212. <div style="width: 100%;height:100%;">
  213. <el-form ref="addForm" label-width="200px">
  214. <el-form-item label="序号" required>
  215. <el-input v-model="addForm.ordr" placeholder="请输入序号"></el-input>
  216. </el-form-item>
  217. <el-form-item label="检查计划事项" required>
  218. <el-input v-model="addForm.chkName" placeholder="请输入检查计划事项"></el-input>
  219. </el-form-item>
  220. <el-form-item label="类别" required>
  221. <el-input v-model="addForm.chkType" placeholder="请输入类别"></el-input>
  222. </el-form-item>
  223. <el-form-item label="计划开展时间" required>
  224. <el-form-item>
  225. <span>开始(月)</span>
  226. <el-date-picker
  227. v-model="addForm.planSttm"
  228. type="month"
  229. placeholder="选择开始日期">
  230. </el-date-picker>
  231. </el-form-item>
  232. <el-form-item>
  233. <span>结束(月)</span>
  234. <el-date-picker
  235. v-model="addForm.planEntm"
  236. type="month"
  237. placeholder="选择结束日期">
  238. </el-date-picker>
  239. </el-form-item>
  240. </el-form-item>
  241. <el-form-item label="牵头单位" required>
  242. <el-input v-model="addForm.leadDep" placeholder="请输入牵头单位"></el-input>
  243. </el-form-item>
  244. <el-form-item label="参加处室(单位)">
  245. <el-input v-model="addForm.joinDep" placeholder="请输入参加处室(单位)"></el-input>
  246. </el-form-item>
  247. <el-form-item label="开展方式" required>
  248. <el-input v-model="addForm.chkForm" placeholder="请输入开展方式"></el-input>
  249. </el-form-item>
  250. <el-form-item label="督查检查对象范围(市)" required>
  251. <el-input v-model="addForm.chkScope" placeholder="请输入督查检查对象范围(市)"></el-input>
  252. </el-form-item>
  253. <el-form-item label="开展依据" required>
  254. <el-input v-model="addForm.chkRly" placeholder="请输入开展依据"></el-input>
  255. </el-form-item>
  256. <el-form-item label="备注">
  257. <el-input v-model="addForm.note" placeholder="请输入备注"></el-input>
  258. </el-form-item>
  259. <el-form-item style="text-align: center">
  260. <el-button type="primary" @click="addSubmit" style="margin-bottom: 30px;">确定</el-button>
  261. </el-form-item>
  262. </el-form>
  263. </div>
  264. </el-dialog>
  265. <el-dialog
  266. class="outerDialog custom_dialog"
  267. :title="'监督检查计划详细'"
  268. width="40%"
  269. @close="closeDetailDialog"
  270. v-if="detailDialogVisible"
  271. :visible.sync="detailDialogVisible">
  272. <div style="width: 100%;height:100%;overflow: auto;">
  273. <table>
  274. <tr><td>督查类型</td><td>{{detailObj.objName}}</td></tr>
  275. <tr><td>检查计划事项</td><td>{{detailObj.chkName}}</td></tr>
  276. <tr><td>类别</td><td>{{detailObj.chkType}}</td></tr>
  277. <tr><td>计划开展时间-开始(月)</td><td>{{detailObj.planSttm}}</td></tr>
  278. <tr><td>计划开展时间-结束(月)</td><td>{{detailObj.planEntm}}</td></tr>
  279. <tr><td>牵头单位</td><td>{{detailObj.leadDep}}</td></tr>
  280. <tr><td>参加处室(单位)</td><td>{{detailObj.joinDep}}</td></tr>
  281. <tr><td>开展方式</td><td>{{detailObj.chkForm}}</td></tr>
  282. <tr><td>督查检查对象范围(市)</td><td>{{detailObj.chkScope}}</td></tr>
  283. <tr><td>开展依据</td><td>{{detailObj.chkRly}}</td></tr>
  284. <tr><td>状态</td><td>{{detailObj.state=='1'?'已办结':'未办结'}}</td></tr>
  285. <tr><td>备注</td><td>{{detailObj.note}}</td></tr>
  286. </table>
  287. </div>
  288. </el-dialog>
  289. <el-dialog
  290. class="outerDialog custom_dialog"
  291. :title="'关联督查类型'"
  292. width="30%"
  293. @close="closeTypeDialog"
  294. v-if="typeDialogVisible"
  295. :visible.sync="typeDialogVisible">
  296. <div style="width: 100%;height:100%;">
  297. <el-form ref="yearForm" label-width="80px">
  298. <el-form-item label="督查类型">
  299. <el-select v-model="objType" filterable placeholder="请选择督查类型" style="width: 100%;">
  300. <el-option
  301. v-for="item in objTypeList"
  302. :key="item.inspType"
  303. :label="item.inspName"
  304. :value="item.inspType">
  305. </el-option>
  306. </el-select>
  307. </el-form-item>
  308. <el-form-item style="text-align: center">
  309. <el-button type="primary" @click="updateData" style="margin-bottom: 30px;">确定</el-button>
  310. </el-form-item>
  311. </el-form>
  312. </div>
  313. </el-dialog>
  314. <monthReportGd v-if="addMonthProcessGdVisible" :rowData="rowData" @closeDialogMonth="closeDialogMonthProcessGd"></monthReportGd>
  315. <chkMonth v-if="addMonthProcessSdVisible" :rowData="rowData" @closeDialogMonth="closeDialogMonthProcessSd"></chkMonth>
  316. <monthReportSd v-if="addMonthReportVisible" :rowData="rowData" @closeDialogMonth="closeDialogMonth"></monthReportSd>
  317. </el-container>
  318. </template>
  319. <script>
  320. import {exportModel} from "@util/gw_exportModel";
  321. import request from '@util/gw_ajax_request'
  322. import CommonUploadAutoSimple from "../../../widgets/common-upload-auto-simple";
  323. import monthReportSd from "./monthReportSd";
  324. import chkMonth from "./chkMonth";
  325. import monthReportGd from "./monthReportGd";
  326. export default {
  327. name: "",
  328. props: [],
  329. data() {
  330. return {
  331. rowData:{},
  332. addMonthReportVisible:false,
  333. addMonthProcessGdVisible:false,
  334. addMonthProcessSdVisible:false,
  335. cardHeight: window.innerHeight - 130,
  336. tableData: [],
  337. tableHeight: window.innerHeight - 350,
  338. loading: false,
  339. pageSize: 20,
  340. pageNum: 1,
  341. total:0,
  342. formLabelWidth: '120px',
  343. searchForm:{
  344. chkYear:"",
  345. chkName:"",
  346. chkType:"",
  347. leadDep:""
  348. },
  349. addDialogVisible:false,
  350. detailDialogVisible:false,
  351. isAddFalg:true,
  352. detailObj:{},
  353. dialogT:"",
  354. addForm:{
  355. ordr:"",
  356. chkYear:"",
  357. chkName:"",
  358. chkType:"",
  359. planSttm:"",
  360. planEntm:"",
  361. leadDep:"",
  362. joinDep:"",
  363. chkForm:"",
  364. chkScope:"",
  365. chkRly:"",
  366. note:""
  367. },
  368. objType:"",
  369. typeDialogVisible:false,
  370. objTypeList:[],
  371. currentYearId:"",
  372. chkName:""
  373. }
  374. },
  375. filters:{
  376. ChkForm(val){
  377. return val=="1"?"暗访":val=="2"?"明察":val=="3"?"书面":val=="4"?"四不两直":"";
  378. }
  379. },
  380. components: {
  381. CommonUploadAutoSimple,
  382. monthReportSd,
  383. chkMonth,
  384. monthReportGd
  385. },
  386. computed: {
  387. persId() {
  388. return localStorage.getItem("userid")
  389. ? localStorage.getItem("userid")
  390. : "1098101939614724096";
  391. },
  392. orgId() {
  393. return localStorage.getItem('currentOrgId') ? localStorage.getItem("currentOrgId") : "";
  394. },
  395. organCode() {
  396. return localStorage.getItem('currentRlcode') ? localStorage.getItem('currentRlcode') : ''
  397. },
  398. isManage(){
  399. if(this.ownPriv('manage') && this.ownPriv('mprocess')){
  400. return 700;
  401. }else if(this.ownPriv('manage') && !this.ownPriv('mprocess')){
  402. return 600;
  403. }else if(!this.ownPriv('manage') && this.ownPriv('mprocess')){
  404. return 240;
  405. }else{
  406. return 120;
  407. }
  408. }
  409. },
  410. created(){
  411. this.getObjTypeList();
  412. },
  413. mounted() {
  414. this.initTableData();
  415. },
  416. methods: {
  417. updateData(){
  418. if(!this.objType){
  419. this.$message.warning("请选择督查类型");
  420. return;
  421. }
  422. var objName = ""
  423. this.objTypeList.forEach((item)=>{
  424. if(item.inspType==this.objType){
  425. objName = item.inspName;
  426. }
  427. });
  428. var obj = {
  429. id:this.currentYearId,
  430. objType:this.objType,
  431. objName:objName,
  432. chkName:this.chkName
  433. }
  434. var _self = this;
  435. request.post('/bis/insp/plan/year/bingObjType',obj).then(res=>{
  436. if(res.success){
  437. _self.$message.success("关联成功");
  438. _self.typeDialogVisible = false;
  439. _self.currentYearId = "";
  440. _self.objType = "";
  441. _self.chkName = "";
  442. _self.initTableData();
  443. }else{
  444. _self.$message.warning(res.message);
  445. }
  446. })
  447. },
  448. showAllObjType(row){
  449. this.currentYearId = row.id;
  450. if(this.organCode.substring(0,2)=="37"){
  451. this.chkName = row.chkName;
  452. }
  453. if(this.organCode.substring(0,2)=="44"){
  454. this.chkName = row.chkType;
  455. }
  456. this.typeDialogVisible = true;
  457. },
  458. getObjTypeList(){
  459. var _self = this;
  460. request.get(`/bis/insp/rel/org/insp/type/getInspTypeByOrgId/${this.orgId}`).then(res=>{
  461. if(res.success){
  462. _self.objTypeList = res.data;
  463. }
  464. })
  465. },
  466. processMoth(row){
  467. if(this.organCode.substring(0,2)=="44"){
  468. this.rowData = row;
  469. this.addMonthProcessGdVisible = true;
  470. }
  471. if(this.organCode.substring(0,2)=="37"){
  472. this.rowData = row;
  473. this.addMonthProcessSdVisible = true;
  474. }
  475. },
  476. closeDialogMonth(){
  477. this.addMonthReportVisible = false;
  478. },
  479. closeDialogMonthProcessGd(){
  480. this.addMonthProcessGdVisible = false;
  481. },
  482. closeDialogMonthProcessSd(){
  483. this.addMonthProcessSdVisible = false;
  484. },
  485. hrefMoth(row){
  486. if(!row.objType){
  487. this.$message.warning("请先关联督查类型");
  488. return;
  489. }
  490. this.rowData = row;
  491. if(row.objType=="111"){
  492. if(this.organCode.substring(0,2)=="37"){
  493. this.$router.push({path: '/monthPlanSd',query: {id: row.id,state:row.state,chkName:row.chkName,objType:row.objType}});
  494. }
  495. if(this.organCode.substring(0,2)=="44"){
  496. this.$router.push({path: '/planProvince',query: {id: row.id,state:row.state,chkName:row.chkType}});
  497. }
  498. }else{
  499. if(this.organCode.substring(0,2)=="37"){
  500. this.$router.push({path: '/monthPlanSd',query: {id: row.id,state:row.state,objType:row.objType,chkName:row.chkName,chkType:row.chkType}});
  501. }
  502. if(this.organCode.substring(0,2)=="44"){
  503. this.$router.push({path: '/planProvince',query: {id: row.id,state:row.state}});
  504. }
  505. }
  506. // this.addMonthReportVisible = true;
  507. },
  508. formatDate(row, column, cellValue, index){
  509. var dateF = row[column.property];
  510. if(dateF){
  511. var date = new Date(dateF);
  512. return date.getFullYear()+"-"+((date.getMonth()+1)>9?(date.getMonth()+1):'0'+(date.getMonth()+1))
  513. }
  514. return "";
  515. },
  516. uploadOver(){
  517. this.initTableData();
  518. },
  519. async downloadPlan() {
  520. let url = "/pdcApi/bis/insp/plan/year/export";
  521. let type = "post";
  522. let exportName = "年度检查计划表.xls"
  523. let param = JSON.stringify(this.searchForm);
  524. let result = await exportModel(type, url, exportName,param);
  525. },
  526. async downloadSum() {
  527. if (!this.searchForm.chkYear) {
  528. this.$message.warning("请选择年份");
  529. return;
  530. }
  531. let url = "/pdcApi/bis/insp/plan/chk/export/checkList";
  532. let type = "post";
  533. let exportName = "检查计划汇总表.xls"
  534. let param = JSON.stringify({chkYear:this.searchForm.chkYear});
  535. let result = await exportModel(type, url, exportName, param);
  536. },
  537. async downloadTemplate() {
  538. let url = "/pdcApi/bis/insp/plan/year/getExl";
  539. let type = "get";
  540. let exportName = "年度检查计划模板.xls"
  541. let result = await exportModel(type, url, exportName, null);
  542. },
  543. lookOver(obj){
  544. this.detailObj = obj;
  545. this.detailObj.planSttm = this.detailObj.planSttm?this.formatDate(this.detailObj,{property:"planSttm"},null,null):"";
  546. this.detailObj.planEntm = this.detailObj.planEntm?this.formatDate(this.detailObj,{property:"planEntm"},null,null):""
  547. this.detailDialogVisible = true;
  548. },
  549. finish(row){
  550. var _self = this;
  551. this.$confirm('确定办结完成吗, 是否继续?', '提示', {
  552. confirmButtonText: '确定',
  553. cancelButtonText: '取消',
  554. type: 'warning'
  555. }).then(() => {
  556. request.post('/bis/insp/plan/year/',{id:row.id,state:"1"}).then(res=>{
  557. if(res.success){
  558. _self.initTableData();
  559. }else{
  560. _self.$message.warning(res.message);
  561. }
  562. })
  563. }).catch(() => {
  564. this.$message({
  565. type: 'info',
  566. message: '已取消'
  567. });
  568. });
  569. },
  570. deleteData(id){
  571. var _self = this;
  572. this.$confirm('确定删除该条数据吗, 是否继续?', '提示', {
  573. confirmButtonText: '确定',
  574. cancelButtonText: '取消',
  575. type: 'warning'
  576. }).then(() => {
  577. request.post('/bis/insp/plan/year/delete/'+id).then(res=>{
  578. if(res.success){
  579. _self.initTableData();
  580. }else{
  581. _self.$message.warning(res.message);
  582. }
  583. })
  584. }).catch(() => {
  585. this.$message({
  586. type: 'info',
  587. message: '已取消删除'
  588. });
  589. });
  590. },
  591. edit(row){
  592. var obj = JSON.stringify(row);
  593. this.addDialogVisible = true;
  594. this.addForm = JSON.parse(obj);
  595. // this.addForm.planSttm = this.addForm.planSttm?this.formatDate(this.addForm,{property:"planSttm"},null,null):"";
  596. // this.addForm.planEntm = this.addForm.planEntm?this.formatDate(this.addForm,{property:"planEntm"},null,null):""
  597. this.isAddFalg = false;
  598. this.dialogT = "编辑";
  599. },
  600. addSubmit(){
  601. if(!this.addForm.ordr){
  602. this.$message.warning("请输入序号");
  603. return;
  604. }
  605. if(!/^[1-9]\d*$/.test(this.addForm.ordr)){
  606. this.$message.warning("请输入大于0的正整数");
  607. return;
  608. }
  609. if(!this.addForm.chkName){
  610. this.$message.warning("请输入检查计划事项");
  611. return;
  612. }
  613. if(!this.addForm.chkType){
  614. this.$message.warning("请输入类别");
  615. return;
  616. }
  617. if(!this.addForm.planSttm){
  618. this.$message.warning("请选择开始月");
  619. return;
  620. }
  621. if(!this.addForm.planEntm){
  622. this.$message.warning("请选择结束月");
  623. return;
  624. }
  625. if(!this.addForm.leadDep){
  626. this.$message.warning("请输入牵头单位");
  627. return;
  628. }
  629. if(!this.addForm.chkForm){
  630. this.$message.warning("请输入开展方式");
  631. return;
  632. }
  633. if(!this.addForm.chkScope){
  634. this.$message.warning("请输入督查检查对象范围(市)");
  635. return;
  636. }
  637. if(!this.addForm.chkRly){
  638. this.$message.warning("请输入开展依据");
  639. return;
  640. }
  641. var _self = this;
  642. request.post('/bis/insp/plan/year/',this.addForm).then(res=>{
  643. if(res.success){
  644. _self.$message.success("保存成功");
  645. _self.addDialogVisible = false;
  646. _self.addForm = {};
  647. _self.initTableData();
  648. }else{
  649. _self.$message.warning(res.message);
  650. }
  651. })
  652. },
  653. closeAddDialog(){
  654. this.addDialogVisible = false;
  655. },
  656. closeDetailDialog(){
  657. this.detailDialogVisible = false;
  658. },
  659. closeTypeDialog(){
  660. this.typeDialogVisible = false;
  661. },
  662. addFormBtn(){
  663. this.addDialogVisible = true;
  664. this.addForm = {};
  665. this.isAddFalg = true;
  666. this.dialogT = "添加";
  667. },
  668. searchBtn(){
  669. this.initTableData();
  670. },
  671. initTableData(){
  672. this.searchForm.pageNum = this.pageNum;
  673. this.searchForm.pageSize = this.pageSize;
  674. var _self = this;
  675. request.post('/bis/insp/plan/year/findPageList',this.searchForm).then(res=>{
  676. if(res.success){
  677. _self.tableData = res.data.list;
  678. _self.total = res.data.total;
  679. _self.$nextTick(()=>{
  680. _self.$refs.table.doLayout();
  681. })
  682. }else{
  683. this.$message.warning(res.message)
  684. }
  685. })
  686. },
  687. handleCurrentChange(val){
  688. this.pageNum = val;
  689. this.initTableData();
  690. },
  691. handleSizeChange(val){
  692. this.pageSize = val;
  693. this.initTableData();
  694. }
  695. }
  696. }
  697. </script>
  698. <style lang="scss" scoped>
  699. table{
  700. width: 100%;
  701. height:100%;
  702. border-collapse: collapse;
  703. margin-bottom: 30px;
  704. }
  705. table tr td{
  706. border:1px solid #cecece;
  707. height:35px;
  708. text-indent: 15px;
  709. padding-right: 15px;
  710. }
  711. table tr td:first-child{
  712. background: #f2f1f1;
  713. width: 260px;
  714. text-align: right;
  715. }
  716. .check_plan_zj{
  717. width: 100%;
  718. height:100%;
  719. margin: 0;
  720. padding: 0;
  721. .table_title{
  722. margin-bottom: 10px;
  723. overflow: hidden;
  724. h2{
  725. text-align: center;
  726. }
  727. div{
  728. float: right;
  729. }
  730. }
  731. .notice_title{
  732. .el-input--mini .el-input__inner,.el-select-dropdown__list{
  733. width: 8vw;
  734. }
  735. }
  736. .rowClassP{
  737. span {
  738. color: #3399ff;
  739. margin-left: 15px;
  740. cursor: pointer;
  741. }
  742. }
  743. }
  744. </style>