1beb32228677def417e9892e36d3e79ba38ce28a.svn-base 55 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369
  1. <template>
  2. <el-container class="monthReport">
  3. <el-card class="box-card">
  4. <!-- <el-button type="primary" icon="el-icon-back" @click="back" style="float:left;margin-right: 10px;">返回</el-button>-->
  5. <h3 class="title_monthReport" style="font-size: 20px !important;font-weight: bold !important;color: black !important;">
  6. 详细检查计划
  7. </h3>
  8. <el-form :inline="true" size="mini" class="demo-form-inline" label-width="130px">
  9. <!-- <el-form-item label="检查计划事项">-->
  10. <!-- <el-select-->
  11. <!-- filterable-->
  12. <!-- v-model="searchForm.planId"-->
  13. <!-- @change="changeYearSearch"-->
  14. <!-- placeholder="请选择检查计划事项">-->
  15. <!-- <el-option-->
  16. <!-- v-for="item in yearPlanDepList"-->
  17. <!-- :key="item.id"-->
  18. <!-- :label="item.chkName"-->
  19. <!-- :value="item.id">-->
  20. <!-- </el-option>-->
  21. <!-- </el-select>-->
  22. <!-- </el-form-item>-->
  23. <el-form-item label="牵头处室">
  24. <el-select v-model="searchForm.leadDepId" placeholder="牵头单位" clearable>
  25. <el-option v-for="item in joinDepList" :label="item.dpName" :value="item.id"></el-option>
  26. </el-select>
  27. </el-form-item>
  28. <el-form-item label="年度">
  29. <el-date-picker
  30. v-model="searchForm.yearStr"
  31. type="year"
  32. value-format="yyyy"
  33. :clearable="false"
  34. placeholder="选择年">
  35. </el-date-picker>
  36. </el-form-item>
  37. <el-form-item label="月份">
  38. <el-select v-model="searchForm.monthStr" clearable placeholder="选择月">
  39. <el-option v-for="(item,index) in monthList" :label="item" :value="item"></el-option>
  40. </el-select>
  41. </el-form-item>
  42. <el-form-item label="详细检查计划名称">
  43. <el-input v-model="searchForm.nm" placeholder="详细计划名称" clearable></el-input>
  44. </el-form-item>
  45. <el-form-item label="是否重复">
  46. <el-select v-model="searchForm.isItRedundant" clearable placeholder="是否重复">
  47. <el-option v-for="(item,index) in isRList" :label="item.label" :value="item.value"></el-option>
  48. </el-select>
  49. </el-form-item>
  50. <el-form-item label="工作形式">
  51. <el-select v-model="searchForm.onlineChk" placeholder="工作形式" clearable>
  52. <el-option v-for="item in chkFormType" :label="item.label" :value="item.value"></el-option>
  53. </el-select>
  54. </el-form-item>
  55. <div style="text-align: right;float:right;padding-top: 10px;padding-bottom: 10px;">
  56. <el-button type="primary" size="mini" @click="searchBtn">查询</el-button>
  57. <el-button type="success" size="mini" @click="addBtn" v-if="(isEdit && isCityCountry) || !isCityCountry">添加</el-button>
  58. <el-button type="primary" @click="downloadPlan">导出详细检查计划</el-button>
  59. <span v-if="isJdc || (isEdit && isCityCountry)" style="color:red;font-size: 10px;">{{curTimeTip}}</span>
  60. </div>
  61. </el-form>
  62. <div>
  63. <el-table
  64. border
  65. ref="multipleTable"
  66. :height="tableHeight"
  67. :data="tableData"
  68. tooltip-effect="dark"
  69. style="width: 100%"
  70. v-loading="loading">
  71. <el-table-column align="center" type="index" label="序号" width="80">
  72. <template slot-scope="scope">{{ scope.$index + 1}}</template>
  73. </el-table-column>
  74. <el-table-column
  75. header-align="center"
  76. align="center"
  77. min-width="180"
  78. prop="chkName"
  79. label="检查计划事项"
  80. show-overflow-tooltip>
  81. </el-table-column>
  82. <el-table-column
  83. header-align="center"
  84. align="center"
  85. min-width="180"
  86. prop="nm"
  87. label="详细检查计划名称"
  88. show-overflow-tooltip>
  89. </el-table-column>
  90. <el-table-column
  91. header-align="center"
  92. align="center"
  93. min-width="120"
  94. prop="dpName"
  95. label="牵头处室"
  96. show-overflow-tooltip>
  97. </el-table-column>
  98. <el-table-column
  99. header-align="center"
  100. align="center"
  101. min-width="120"
  102. prop="planJoinDpRlNames"
  103. label="参加处室(单位)"
  104. show-overflow-tooltip>
  105. </el-table-column>
  106. <el-table-column
  107. header-align="center"
  108. align="center"
  109. min-width="120"
  110. prop="planDpRlNames"
  111. label="检查实施处室(单位)"
  112. show-overflow-tooltip
  113. ></el-table-column>
  114. <el-table-column
  115. header-align="center"
  116. align="center"
  117. min-width="120"
  118. prop="dAdName"
  119. label="检查区域"
  120. show-overflow-tooltip
  121. ></el-table-column>
  122. <el-table-column
  123. header-align="center"
  124. align="center"
  125. min-width="200"
  126. prop=""
  127. label="检查时间"
  128. show-overflow-tooltip
  129. >
  130. <el-table-column
  131. header-align="center"
  132. align="center"
  133. min-width="120"
  134. prop="stTm"
  135. :formatter="formatDate"
  136. label="开始"
  137. show-overflow-tooltip
  138. ></el-table-column>
  139. <el-table-column
  140. header-align="center"
  141. align="center"
  142. min-width="120"
  143. prop="enTm"
  144. :formatter="formatDate"
  145. label="结束"
  146. show-overflow-tooltip
  147. ></el-table-column>
  148. </el-table-column>
  149. <!-- <el-table-column-->
  150. <!-- header-align="center"-->
  151. <!-- align="center"-->
  152. <!-- min-width="120"-->
  153. <!-- prop="groupName"-->
  154. <!-- label="检查组长"-->
  155. <!-- show-overflow-tooltip-->
  156. <!-- ></el-table-column>-->
  157. <el-table-column
  158. header-align="center"
  159. align="center"
  160. min-width="80"
  161. prop="chkPrjSize"
  162. label="计划检查项目数量"
  163. show-overflow-tooltip
  164. ></el-table-column>
  165. <el-table-column
  166. header-align="center"
  167. align="center"
  168. min-width="100"
  169. prop="chkType"
  170. label="开展方式"
  171. show-overflow-tooltip
  172. ></el-table-column>
  173. <el-table-column
  174. header-align="center"
  175. align="center"
  176. min-width="150"
  177. prop="onlineChk"
  178. label="工作形式"
  179. show-overflow-tooltip>
  180. <template slot-scope="scope">
  181. {{scope.row.onlineChk=='1'?'使用监督系统开展检查工作':scope.row.onlineChk=='3'?'使用稽察系统检查':'线下开展检查工作'}}
  182. </template>
  183. </el-table-column>
  184. <el-table-column
  185. header-align="center"
  186. align="center"
  187. min-width="200"
  188. prop="pTypeNames"
  189. label="系统督查类别"
  190. show-overflow-tooltip
  191. ></el-table-column>
  192. <el-table-column
  193. header-align="center"
  194. align="center"
  195. min-width="200"
  196. prop="itRedundant"
  197. label="是否重复"
  198. show-overflow-tooltip
  199. >
  200. <template slot-scope="scope">
  201. {{scope.row.itRedundant?'是':'否'}}
  202. </template>
  203. </el-table-column>
  204. <el-table-column
  205. header-align="center"
  206. align="center"
  207. min-width="200"
  208. prop="chkContent"
  209. label="检查内容"
  210. show-overflow-tooltip
  211. ></el-table-column>
  212. <el-table-column
  213. header-align="center"
  214. align="center"
  215. min-width="200"
  216. prop="note"
  217. label="备注"
  218. show-overflow-tooltip
  219. ></el-table-column>
  220. <el-table-column
  221. align="center"
  222. label="操作"
  223. min-width="300"
  224. fixed="right">
  225. <template slot-scope="scope">
  226. <el-button type="success" size="mini" @click.stop="edit(scope.row)" :disabled="!(scope.row.state=='1' && ((isEdit && isCityCountry) || !isCityCountry))">编辑</el-button>
  227. <el-button type="danger" size="mini" @click.stop="deleteData(scope.row.id)" :disabled="!(scope.row.state=='1' && ((isEdit && isCityCountry) || !isCityCountry))">删除</el-button>
  228. <!-- <el-button type="primary" size="mini" v-if="scope.row.onlineChk=='1'" @click.stop="detailGroup(scope.row)">详细分组安排</el-button>-->
  229. </template>
  230. </el-table-column>
  231. </el-table>
  232. <!-- <el-pagination-->
  233. <!-- style="margin: 10px auto"-->
  234. <!-- background-->
  235. <!-- :pager-count="5"-->
  236. <!-- :current-page="pageNum"-->
  237. <!-- :page-size="pageSize"-->
  238. <!-- :page-sizes="[10, 20, 30, 40, 50, 100]"-->
  239. <!-- layout="sizes, total, prev, pager, next"-->
  240. <!-- :total="total"-->
  241. <!-- @current-change="handleCurrentChange"-->
  242. <!-- @size-change="handleSizeChange"-->
  243. <!-- ></el-pagination>-->
  244. </div>
  245. <el-dialog
  246. class="outerDialog custom_dialog"
  247. :title="'督查检查计划详细'"
  248. width="40%"
  249. @close="closeDetailDialog"
  250. :visible.sync="detailDialogVisible">
  251. <div style="width: 100%;height:100%;overflow: auto;">
  252. <table>
  253. <tr><td>检查计划事项名称</td><td>{{detailObj.yearChkName}}</td></tr>
  254. <tr><td>年度检查类别</td><td>{{detailObj.yearChkType}}</td></tr>
  255. <tr><td>组织检查处室</td><td>{{detailObj.organDep}}</td></tr>
  256. <tr><td>年月</td><td>{{detailObj.chkMonth}}</td></tr>
  257. <tr><td>检查承担单位</td><td>{{detailObj.chkDep}}</td></tr>
  258. <tr><td>检查组</td><td>{{detailObj.chkGrp}}</td></tr>
  259. <tr><td>事项内容</td><td>{{detailObj.chkTitle}}</td></tr>
  260. <tr><td>拟检查开始时间</td><td>{{detailObj.planSttm+'~'+detailObj.planEntm}}</td></tr>
  261. <tr><td>是否到市水利(水务)局</td><td>{{detailObj.leadDep}}</td></tr>
  262. <tr v-if="detailObj.leadDep=='是'"><td>水利(水务)局名称</td><td>{{detailObj.joinDep}}</td></tr>
  263. <tr><td>行政区划市</td><td>{{detailObj.chkCity}}</td></tr>
  264. <tr><td>区、县(市)</td><td>{{detailObj.chkCountry}}</td></tr>
  265. <tr><td>项目数量</td><td>{{detailObj.chkSize}}</td></tr>
  266. <tr><td>开展方式</td><td>{{detailObj.chkType}}</td></tr>
  267. <tr><td>联络人</td><td>{{detailObj.chkPers}}</td></tr>
  268. <tr><td>联系方式</td><td>{{detailObj.chkPersTel}}</td></tr>
  269. <tr><td>备注</td><td>{{detailObj.note}}</td></tr>
  270. </table>
  271. </div>
  272. </el-dialog>
  273. <el-dialog
  274. class="outerDialog custom_dialog"
  275. :title="dialogT+'督查检查计划'"
  276. width="50%"
  277. @close="closeAddDialog"
  278. v-if="addDialogVisible"
  279. :visible.sync="addDialogVisible">
  280. <div style="width: 100%;height:100%;">
  281. <el-form ref="addForm" label-width="230px">
  282. <el-form-item label="年度">
  283. <el-date-picker
  284. v-model="addForm.chkYear"
  285. type="year"
  286. @change="changeDate"
  287. format="yyyy"
  288. value-format="yyyy"
  289. placeholder="选择年度">
  290. </el-date-picker>
  291. </el-form-item>
  292. <el-form-item label="检查计划事项" required>
  293. <el-select
  294. filterable
  295. v-model="addForm.planId"
  296. @change="changeYearSelect"
  297. placeholder="请选择检查计划事项">
  298. <el-option
  299. v-for="item in yearPlanDepList"
  300. :key="item.id"
  301. :label="item.chkName"
  302. :value="item.id">
  303. </el-option>
  304. </el-select>
  305. </el-form-item>
  306. <el-form-item label="是否使用监督系统开展检查工作" required>
  307. <el-select v-model="addForm.onlineChk" placeholder="是否使用监督系统开展检查工作">
  308. <el-option v-for="item in chkFormArr" :label="item.label" :value="item.value"></el-option>
  309. </el-select>
  310. </el-form-item>
  311. <el-form-item label="系统督查类别" v-if="addForm.onlineChk=='1'" required>
  312. <el-select v-model="addForm.ptypIds" filterable placeholder="请选择督查类型" style="width: 100%;" multiple collapse-tags>
  313. <el-option
  314. v-for="item in objTypeList"
  315. :key="item.inspType"
  316. :label="item.inspName"
  317. :value="item.inspType">
  318. </el-option>
  319. </el-select>
  320. </el-form-item>
  321. <!-- <el-form-item label="检查计划事项">-->
  322. <!-- <el-input v-model="objParent.chkName" readonly placeholder="请输入检查计划事项"></el-input>-->
  323. <!-- </el-form-item>-->
  324. <el-form-item label="年度计划开展时间">
  325. <el-input v-model="dateRStr" readonly placeholder="年度计划开展时间"></el-input>
  326. </el-form-item>
  327. <el-form-item label="牵头处室">
  328. <el-select v-model="objParent.leadDepId" :disabled="true" placeholder="牵头单位">
  329. <el-option v-for="item in DepList" :label="item.dpName" :value="item.id"></el-option>
  330. </el-select>
  331. </el-form-item>
  332. <el-form-item label="参加处室(单位)">
  333. <el-input type="textarea" v-model="objParent.joinDep" placeholder="参加处室(单位)"></el-input>
  334. <!-- <el-select v-model="objParent.planDpRlIds" :disabled="true" placeholder="参加处室(单位)">-->
  335. <!-- <el-option v-for="item in joinDepList" :label="item.dpName" :value="item.id"></el-option>-->
  336. <!-- </el-select>-->
  337. </el-form-item>
  338. <el-form-item label="详细检查计划名称" required>
  339. <el-input v-model="addForm.nm" placeholder="请输入详细检查计划名称,例如:4月质量与安全检查(潍坊、临沂)"></el-input>
  340. </el-form-item>
  341. <el-form-item label="检查实施处室(单位)" required>
  342. <div style="width: 100%;display: flex;">
  343. <el-select v-model="addForm.planDpRlIds" placeholder="检查实施处室(单位)" multiple collapse-tags>
  344. <el-option v-for="item in joinDepList" :label="item.dpName" :value="item.id"></el-option>
  345. </el-select>
  346. <el-input v-model="addForm.planDpRlNames" placeholder="请输入检查实施处室(单位),多个用英文逗号隔开,不在当前列表内的处室"></el-input>
  347. </div>
  348. </el-form-item>
  349. <el-form-item label="检查时间" required>
  350. <div style="width: 100%;">
  351. <el-date-picker
  352. v-model="dateRange"
  353. :disabled="!addForm.planId"
  354. type="daterange"
  355. :pickerOptions="pickerOptions"
  356. @change="changeDateRange"
  357. range-separator="至"
  358. start-placeholder="开始日期"
  359. end-placeholder="结束日期">
  360. </el-date-picker>
  361. <span style="color:red;text-indent: 10px;font-size: 12px">检查时间一周时间为周日至周六</span>
  362. </div>
  363. </el-form-item>
  364. <el-form-item label="检查区域" required v-if="dateRange && dateRange.length>0">
  365. <addvSelectMul key="city" ref="city" :year="addForm.chkYear" :planId="addForm.planId" :sttm="dateRange[0]" @changeAddv="changeAddv"></addvSelectMul>
  366. </el-form-item>
  367. <!-- <el-form-item label="检查组长" required>-->
  368. <!-- <el-input v-model="addForm.groupName" placeholder="请输入检查组长"></el-input>-->
  369. <!-- </el-form-item>-->
  370. <el-form-item label="计划检查项目数量">
  371. <el-input-number v-model="addForm.chkPrjSize" :min="0" label="请输入项目数量"></el-input-number>
  372. </el-form-item>
  373. <el-form-item label="开展方式">
  374. <el-input type="textarea" v-model="addForm.chkType" placeholder="请输入开展方式"></el-input>
  375. </el-form-item>
  376. <el-form-item label="检查内容">
  377. <el-input type="textarea" v-model="addForm.chkContent" placeholder="请输入检查内容"></el-input>
  378. </el-form-item>
  379. <el-form-item label="备注" :required="isRequired">
  380. <el-input type="textarea" v-model="addForm.note" placeholder="请输入备注"></el-input>
  381. </el-form-item>
  382. <el-form-item label="检查方案" v-show="dialogT=='添加'">
  383. <el-upload
  384. class="upload-demo"
  385. multiple
  386. ref="uploadWay"
  387. :auto-upload="dialogT=='编辑'"
  388. :show-file-list="true"
  389. :on-success="uploadSuccess"
  390. :on-change="changeFileList"
  391. :on-remove="removeFileList"
  392. :on-error="upError"
  393. :headers="header"
  394. :action="`/pdcApi/file/insert?bizId=${this.bizId}`">
  395. <el-button size="small" type="primary">点击上传检查方案</el-button>
  396. </el-upload>
  397. </el-form-item>
  398. <el-form-item label="检查方案" v-show="dialogT=='编辑'">
  399. <el-button size="small" type="primary" @click="editCheckWay">点击上传检查方案</el-button>
  400. </el-form-item>
  401. <el-form-item style="text-align: center">
  402. <el-button type="primary" @click="addSubmit" style="margin-bottom: 30px;">确定</el-button>
  403. </el-form-item>
  404. </el-form>
  405. </div>
  406. </el-dialog>
  407. <el-dialog
  408. class="outerDialog custom_dialog"
  409. :title="'关联年度计划'"
  410. width="30%"
  411. @close="closeYearDialog"
  412. v-if="yearDialogVisible"
  413. :visible.sync="yearDialogVisible">
  414. <div style="width: 100%;height:100%;">
  415. <el-form ref="yearForm" label-width="80px">
  416. <el-form-item label="年度计划">
  417. <el-select v-model="yearId" filterable placeholder="请选择年度计划" style="width: 100%;">
  418. <el-option
  419. v-for="item in planYeatList"
  420. :key="item.value"
  421. :label="item.label"
  422. :value="item.value">
  423. </el-option>
  424. </el-select>
  425. </el-form-item>
  426. <el-form-item style="text-align: center">
  427. <el-button type="primary" @click="updateData" style="margin-bottom: 30px;">确定</el-button>
  428. </el-form-item>
  429. </el-form>
  430. </div>
  431. </el-dialog>
  432. <el-dialog
  433. class="outerDialog custom_dialog"
  434. :title="'重复提示'"
  435. width="50%"
  436. :visible.sync="isMulVisible">
  437. <div style="width: 100%;max-height:500px;overflow: auto;">
  438. <span style="font-size: 14px;color:#333;">当前表格数据:</span>
  439. <el-table
  440. :data="curList"
  441. border
  442. style="width: 100%">
  443. <el-table-column
  444. prop="nm"
  445. show-overflow-tooltip
  446. label="详细检查计划名称"
  447. min-width="180">
  448. </el-table-column>
  449. <el-table-column
  450. prop="dAdName"
  451. show-overflow-tooltip
  452. label="检查区域"
  453. min-width="180">
  454. </el-table-column>
  455. <el-table-column
  456. prop="stTm"
  457. min-width="100"
  458. :formatter="formatDate"
  459. show-overflow-tooltip
  460. label="检查开始时间">
  461. </el-table-column>
  462. <el-table-column
  463. prop="enTm"
  464. min-width="100"
  465. :formatter="formatDate"
  466. show-overflow-tooltip
  467. label="检查结束时间">
  468. </el-table-column>
  469. <el-table-column
  470. prop="chkContent"
  471. min-width="200"
  472. show-overflow-tooltip
  473. label="检查内容">
  474. </el-table-column>
  475. </el-table>
  476. <p style="font-size: 14px;color:red;padding: 5px;">1.按照“一个事项,针对一个设区市只成立一个检查组,一个月至多检查一次”和“一周内到同一个设区市的督查检查组不能超过一个”的原则组织实施。(当前检查日期和检查区域重复,请调整检查时间或地点)</p>
  477. <p style="font-size: 14px;color:red;padding: 5px;">2.如必要去检查,请联系以下检查组沟通,请他删除计划后再添加本计划</p>
  478. <p style="font-size: 14px;color:red;padding: 5px;">3.若以上两条无法满足,请联系厅办公室和监督处审核,并提供必要去的理由</p>
  479. <el-table
  480. :data="tipList"
  481. border
  482. style="width: 100%">
  483. <el-table-column
  484. prop="nm"
  485. show-overflow-tooltip
  486. label="详细检查计划名称"
  487. min-width="180">
  488. </el-table-column>
  489. <el-table-column
  490. prop="dAdName"
  491. show-overflow-tooltip
  492. label="检查区域"
  493. min-width="180">
  494. </el-table-column>
  495. <el-table-column
  496. prop="stTm"
  497. min-width="100"
  498. :formatter="formatDate"
  499. show-overflow-tooltip
  500. label="检查开始时间">
  501. </el-table-column>
  502. <el-table-column
  503. prop="enTm"
  504. min-width="100"
  505. :formatter="formatDate"
  506. show-overflow-tooltip
  507. label="检查结束时间">
  508. </el-table-column>
  509. <el-table-column
  510. prop="chkContent"
  511. min-width="200"
  512. show-overflow-tooltip
  513. label="检查内容">
  514. </el-table-column>
  515. </el-table>
  516. </div>
  517. <span slot="footer">
  518. <!-- <el-button type="primary" @click="addSubmitSecond">确定</el-button>-->
  519. <el-button @click="cancelMul">取消</el-button>
  520. </span>
  521. </el-dialog>
  522. <checkWay v-if="jqmmDialogShow" :dialogTitle="'检查方案'" :pblmId="bizId" @jqmmDialogClose="jqmmDialogClose"></checkWay>
  523. </el-card>
  524. </el-container>
  525. </template>
  526. <script>
  527. import checkWay from "./checkWay.vue"
  528. import {exportModel} from "@util/gw_exportModel";
  529. import request from '@util/gw_ajax_request'
  530. import receiver from "./receiver"
  531. import CommonUploadAutoSimple from "../../../widgets/common-upload-auto-simple";
  532. import addvSelectMul from "../../../widgets/addvSelectMulNew.vue"
  533. export default {
  534. name: "",
  535. props: ["rowData"],
  536. data() {
  537. return {
  538. selectDate: '',
  539. //日期选择范围在一个月内
  540. pickerOptions: {
  541. onPick: ({ maxDate, minDate }) => {
  542. this.selectDate = minDate.getTime()
  543. if (maxDate) {
  544. this.selectDate = ''
  545. }
  546. },
  547. disabledDate: (time) => {
  548. let sttm = this.dateRStr.split("~")[0]+"-01 00:00:00"
  549. let days = new Date(sttm.substring(0,4), parseInt(sttm.substring(5,7)), 0).getDate()
  550. let entm = this.dateRStr.split("~")[1]+"-"+days+" 23:59:59"
  551. if(time.getTime() < new Date(sttm).getTime() || time.getTime() > new Date(entm).getTime()){
  552. return true;
  553. }
  554. if (this.selectDate !== '') {
  555. // const one = 6 * 24 * 3600 * 1000
  556. const one = (6-(new Date(this.selectDate).getDay())) * 24 * 3600 * 1000
  557. const minTime = this.selectDate
  558. const maxTime = this.selectDate + one
  559. return (time.getTime() < minTime || time.getTime() > maxTime)
  560. }
  561. // else{
  562. // return time.getDay()!=0 && time.getDay()!=6
  563. // }
  564. }
  565. },
  566. gradList:[{label:"省",value:"2"},{label:"市",value:"3"},{label:"县",value:"4"}],
  567. DepList:[],
  568. joinDepList:[],
  569. objParent:{},
  570. objYear:{},
  571. monthList:['01',"02","03","04","05","06","07","08","09","10","11","12"],
  572. isRList:[{label:"是",value:"1"},{label:"否",value:"0"}],
  573. chkFormArr:[{
  574. label:"是",
  575. value:"1"
  576. },{
  577. label:"否",
  578. value:"2"
  579. },{
  580. label:"使用稽察系统检查",
  581. value:"3"
  582. }],
  583. chkFormType:[{
  584. label:"使用监督系统开展检查工作",
  585. value:"1"
  586. },{
  587. label:"线下",
  588. value:"2"
  589. }],
  590. objTypeList:[],
  591. year:[new Date().getFullYear()+"-01",new Date().getFullYear()+"-"+((new Date().getMonth()+1)>9?(new Date().getMonth()+1):"0"+(new Date().getMonth()+1))],
  592. month:new Date().getMonth()+1,
  593. isOne:false,
  594. years:[new Date().getFullYear()-1,new Date().getFullYear(),new Date().getFullYear()+1],
  595. months:[1,2,3,4,5,6,7,8,9,10,11,12],
  596. dcTypeList:[],
  597. ptypeArr:[{label:'暗访',value:"0"},{label:'明查',value:"1"}],
  598. dialogT:"",
  599. monthDialogVisible:true,
  600. addDialogVisible:false,
  601. detailDialogVisible:false,
  602. tableHeight:window.innerHeight-300,
  603. tableData:[],
  604. loading:false,
  605. pageNum:1,
  606. pageSize:10,
  607. total:0,
  608. objTypes:[],
  609. searchForm:{
  610. nm:"",
  611. planId:"",
  612. yearStr:new Date().getFullYear().toString(),
  613. monthStr:"",
  614. isItRedundant:"",
  615. leadDepId:""
  616. },
  617. YM:"",
  618. detailObj:{},
  619. orgIdDefault:"",
  620. dateRange:[],
  621. addForm:{
  622. chkYear:"",
  623. planDpRlIds:[],
  624. ptypIds:[],
  625. onlineChk:"",
  626. chkName:"",
  627. leadDep:"",
  628. organDep:"",
  629. yearPlanId:"",
  630. adCode:"",
  631. chkTitle:"",
  632. chkMonth:"",
  633. chkDep:"",
  634. chkGrp:"",
  635. planSttm:"",
  636. planEntm:"",
  637. joinDep:"",
  638. chkCity:"",
  639. chkCountry:"",
  640. chkSize:"",
  641. chkType:"",
  642. chkPers:"",
  643. chkPersTel:"",
  644. chkNote:"",
  645. planId:"",
  646. nm:"",
  647. planDpRlNames:"",
  648. chkContent:"",
  649. groupName:""
  650. },
  651. colors:[
  652. '#fd0e0a',
  653. '#f07c06',
  654. '#fdf20b',
  655. '#08f916',
  656. '#08c3c7',
  657. '#065eeb',
  658. '#7c0ac9',
  659. '#de0ded',
  660. '#C99A93',
  661. '#3E9467',
  662. '#D1385F',
  663. '#d1c289',
  664. '#ffccff',
  665. '#84d1cb',
  666. '#ccffcc',
  667. '#669933',
  668. '#666600',
  669. '#008000',
  670. '#66cdaa',
  671. '#708090',
  672. '#b0c4de',
  673. '#6495ed',
  674. '#9370db',
  675. '#db7093',
  676. '#483d8b'
  677. ],
  678. yearDialogVisible:false,
  679. yearId:"",
  680. currentId:"",
  681. yearPlanDepList:[],
  682. curTimeTip:"",
  683. isJdc:false,
  684. isEdit:false,
  685. isCityCountry:false,
  686. dateRStr:"",
  687. isRequired:false,
  688. isMulVisible:false,
  689. adNames:"",
  690. curList:[],
  691. tipList:[],
  692. fileCount:0,
  693. fileList: [],
  694. header: {
  695. 'persId': localStorage.getItem('userid'),
  696. 'accessToken' : localStorage.getItem('accessToken')
  697. },
  698. bizId:"",
  699. jqmmDialogShow:false
  700. }
  701. },
  702. filters:{
  703. chkTypeFor(val,that){
  704. var nm = ""
  705. that.chkFormArr.forEach((item)=>{
  706. if(item.value==val){
  707. nm = item.label;
  708. }
  709. })
  710. return nm;
  711. }
  712. },
  713. components: {
  714. receiver,
  715. CommonUploadAutoSimple,
  716. addvSelectMul,
  717. checkWay
  718. },
  719. computed: {
  720. persId() {
  721. return localStorage.getItem("userid")
  722. ? localStorage.getItem("userid")
  723. : "1098101939614724096";
  724. },
  725. orgId() {
  726. return localStorage.getItem('currentOrgId') ? localStorage.getItem("currentOrgId") : "";
  727. },
  728. organCode() {
  729. return localStorage.getItem('currentRlcode') ? localStorage.getItem('currentRlcode') : ''
  730. },
  731. currentOrgNm(){
  732. if(localStorage.getItem('currentRlcode').substring(0,2)=='37'){
  733. return "山东省"
  734. }else{
  735. return localStorage.getItem('currentOrgNm') ? localStorage.getItem('currentOrgNm') : ''
  736. }
  737. }
  738. },
  739. watch:{
  740. // 'addForm.planId':function (newVal,oldVal) {
  741. //
  742. // if(newVal && newVal!=oldVal && oldVal!="" && oldVal!=undefined){
  743. // this.$nextTick(() => {
  744. // this.dateRange = [];
  745. // });
  746. // }
  747. // },
  748. // 'addForm.chkYear':{
  749. // //设置深度监听,当openDate值发生变化时出发handler方法
  750. // deep:true,
  751. // immediate: false,
  752. // //注意:这里的function不能写成箭头函数,不然this将不在此组件内 https://cn.vuejs.org/v2/api/#watch
  753. // handler:function (newVal,oldVal) {
  754. // if(newVal){
  755. //
  756. // this.addForm.chkYear = newVal;
  757. // this.getYearPlanByDep();
  758. // this.addForm.planId = "";
  759. // // this.dateRStr = "";
  760. // // this.addForm.planDpRlIds = [];
  761. // // this.addForm.planId = "";
  762. // // this.objParent = {};
  763. // // this.dateRange = [];
  764. // }
  765. // }
  766. // }
  767. },
  768. created(){
  769. this.getCityCountry();//是不是市县账户
  770. this.getIsTime();//时间是不是有效时间
  771. this.getCurDep();//是不是监督处
  772. this.getCurTime();//获取设置的时间
  773. this.getObjTypeList();
  774. this.getJoinDep();
  775. },
  776. mounted() {
  777. this.initTableData();
  778. },
  779. methods: {
  780. editCheckWay(){
  781. this.jqmmDialogShow = true;
  782. },
  783. jqmmDialogClose() {
  784. this.jqmmDialogShow = false;
  785. },
  786. changeFileList(file, fileList) {
  787. this.fileList = fileList;
  788. },
  789. removeFileList(file, fileList) {
  790. this.fileList = fileList;
  791. },
  792. init() {
  793. this.bizId = ""
  794. this.fileCount = 0;
  795. this.fileList = [];
  796. if(this.$refs.uploadWay){
  797. this.$refs.uploadWay.clearFiles();
  798. }
  799. },
  800. uploadSuccess(response, file, fileList){
  801. this.fileCount++;
  802. if(this.fileCount==this.fileList.length){
  803. this.initTableData();
  804. this.init();
  805. }
  806. },
  807. upError(err, file, fileList){
  808. this.$message.error("上传出错,请修改文件!");
  809. this.init();
  810. this.initTableData();
  811. },
  812. getIsTime(){
  813. this.isEdit = false;
  814. request.get(`/bis/insp/gaTm/exceed`).then(res=>{
  815. if(res.success){
  816. this.isEdit = res.data.key;
  817. }
  818. })
  819. },
  820. getCurDep(){
  821. this.isJdc = false;
  822. request.get(`/bis/insp/gaTm/purview`).then(res=>{
  823. if(res.success){
  824. this.isJdc = res.data.key;
  825. }
  826. })
  827. },
  828. getCityCountry(){
  829. this.isCityCountry = false;
  830. request.get(`/bis/insp/gaTm/whetherTheCityOrCounty`).then(res=>{
  831. if(res.success){
  832. this.isCityCountry = res.data.key;
  833. }
  834. })
  835. },
  836. formatDateMonth(dateF){
  837. if(dateF){
  838. var date = new Date(dateF);
  839. return date.getFullYear()+"-"+((date.getMonth()+1)>9?(date.getMonth()+1):'0'+(date.getMonth()+1));
  840. }
  841. return "";
  842. },
  843. getCurTime(){
  844. this.curTimeTip = "";
  845. request.get(`/bis/insp/gaTm/obj`).then(res=>{
  846. if(res.success){
  847. if(res.data.stm && res.data.etm){
  848. this.curTimeTip = `(市县填报时间范围为${this.formatDateTime(res.data.stm)}~${this.formatDateTime(res.data.etm)}日)`;
  849. }
  850. }
  851. })
  852. },
  853. changeDate(){
  854. this.addForm.planId = "";
  855. this.dateRStr = "";
  856. this.addForm.planDpRlIds = [];
  857. this.joinDepList = [];
  858. this.DepList = [];
  859. this.objParent = {};
  860. this.dateRange = [];
  861. this.getYearPlanByDep();
  862. },
  863. changeYearSelect(){
  864. this.dateRStr = "";
  865. this.addForm.planDpRlIds = [];
  866. this.joinDepList = [];
  867. this.DepList = [];
  868. this.dateRange = [];
  869. this.objParent = {};
  870. this.getYearList();
  871. },
  872. // changeYearSearch(){
  873. // this.initTableData();
  874. // this.getYearById();
  875. // },
  876. getYearPlanByDep(){
  877. this.yearPlanDepList = [];
  878. request.post(`/bis/insp/plan/year/findList`,{state:"1",chkYear:this.addForm.chkYear}).then(res=>{
  879. if(res.success){
  880. if(res.data && res.data.length>0){
  881. this.yearPlanDepList = res.data;
  882. }
  883. }
  884. })
  885. },
  886. detailGroup(row){
  887. if(row){
  888. this.$router.push({path: '/detailYearSdPlanD',query: {id: row.id,planId:this.$route.query.id,key:new Date().getTime()}});
  889. }else{
  890. this.$router.push({path: '/detailYearSdPlanD',query: {planId:this.$route.query.id,key:new Date().getTime()}});
  891. }
  892. },
  893. back(){
  894. this.$router.push({path:"/planCheckSd",query:{key:new Date().getTime()}});
  895. },
  896. getLeadDep(){
  897. var _self = this;
  898. this.DepList = [];
  899. request.get(`/bis/insp/plan/dp/getByPersId`,{params:{id:this.persId}}).then(res=>{
  900. if(res.success){
  901. if(res.data && res.data.length>0){
  902. _self.DepList = res.data;
  903. }
  904. }
  905. })
  906. },
  907. getJoinDep(){
  908. var _self = this;
  909. this.joinDepList = [];
  910. request.post(`/bis/insp/plan/dp/findList`,{}).then(res=>{
  911. if(res.success){
  912. if(res.data && res.data.length>0){
  913. _self.joinDepList = res.data;
  914. // res.data.forEach((item)=>{
  915. // if(_self.objParent.planDpRlIds.indexOf(item.id)>-1){
  916. // _self.joinDepList.push(item);
  917. // }
  918. // })
  919. }
  920. }
  921. })
  922. },
  923. getYearById(){
  924. var _self = this;
  925. request.get(`/bis/insp/plan/year/${this.searchForm.planId}`).then(res=>{
  926. if(res.success){
  927. _self.objYear = res.data;
  928. }
  929. })
  930. },
  931. getYearList(){
  932. var _self = this;
  933. this.DepList = [];
  934. this.objParent = {};
  935. request.get(`/bis/insp/plan/year/${this.addForm.planId}`).then(res=>{
  936. if(res.success){
  937. _self.DepList = [{id:res.data.leadDepId,dpName:res.data.leadDep}];
  938. _self.objParent = res.data;
  939. _self.addForm.chkType = _self.objParent.chkForm;
  940. _self.dateRStr = _self.formatDateMonth(res.data.planSttm)+'~'+_self.formatDateMonth(res.data.planEntm);
  941. _self.getJoinDep();
  942. }
  943. })
  944. },
  945. formatDateTime(dateF){
  946. if(dateF){
  947. var date = new Date(dateF);
  948. return date.getFullYear()+"-"+((date.getMonth()+1)>9?(date.getMonth()+1):'0'+(date.getMonth()+1))+"-"+(date.getDate()>9?date.getDate():"0"+date.getDate());
  949. }
  950. return "";
  951. },
  952. getObjTypeList(){
  953. var _self = this;
  954. this.objTypeList = [];
  955. request.get(`/bis/insp/rel/org/insp/type/getInspTypeByOrgId/${this.orgId}`).then(res=>{
  956. if(res.success){
  957. _self.objTypeList = res.data;
  958. }
  959. })
  960. },
  961. showYearPlan(id){
  962. this.getAllYearPlan();
  963. this.yearDialogVisible = true;
  964. this.currentId = id;
  965. },
  966. changeAddv(obj){
  967. if(obj.adCodes){
  968. this.adNames = obj.adNames;
  969. this.addForm.dAdCodes = obj.adCodes.split(",");
  970. }else{
  971. this.addForm.dAdCodes = [];
  972. }
  973. },
  974. async downloadTemplate() {
  975. let url = "/pdcApi/bis/insp/planMonth/downloadExcel";
  976. let type = "get";
  977. let exportName = "督查检查考核计划调度安排表.xls"
  978. let result = await exportModel(type, url, exportName, null);
  979. },
  980. uploadOver(){
  981. this.initTableData();
  982. },
  983. addFormBtn(){
  984. this.addDialogVisible = true;
  985. this.addForm = {};
  986. this.dialogT = "添加";
  987. },
  988. chkFormFormat(row, column, cellValue, index){
  989. var nm = ""
  990. this.chkFormArr.forEach((item)=>{
  991. if(item.value==row.chkType){
  992. nm = item.label;
  993. }
  994. })
  995. return nm;
  996. },
  997. getTypes() {
  998. var _self = this;
  999. request.get(`/bis/insp/rel/org/insp/type/getInspTypeByOrgId/${this.orgId}`)
  1000. .then(res => {
  1001. if (res.success) {
  1002. _self.dcTypeList = res.data;
  1003. }
  1004. })
  1005. },
  1006. closeDialog(){
  1007. this.$emit('closeDialogMonth')
  1008. },
  1009. closeDetailDialog(){
  1010. this.detailDialogVisible = false;
  1011. },
  1012. objFormat(row, column, cellValue, index){
  1013. var name = "";
  1014. this.dcTypeList.forEach((item)=>{
  1015. if(parseInt(item.inspType)==row.OBJTYPE){
  1016. name = item.inspName;
  1017. }
  1018. })
  1019. return name;
  1020. },
  1021. formatDate(row, column, cellValue, index){
  1022. var dateF = row[column.property];
  1023. if(dateF){
  1024. var date = new Date(dateF);
  1025. return date.getFullYear()+"-"+((date.getMonth()+1)>9?(date.getMonth()+1):'0'+(date.getMonth()+1))+"-"+date.getDate();
  1026. }
  1027. return "";
  1028. },
  1029. formatDate1(row, column, cellValue, index){
  1030. var dateF = row[column.property];
  1031. if(dateF){
  1032. var date = new Date(dateF);
  1033. return date.getFullYear()+"-"+((date.getMonth()+1)>9?(date.getMonth()+1):'0'+(date.getMonth()+1))
  1034. }
  1035. return "";
  1036. },
  1037. async exportExcel() {
  1038. let url = "/pdcApi/bis/insp/planMonth/export";
  1039. let type = "POST";
  1040. let exportName = "督查检查考核计划调度安排表.xls"
  1041. let result = await exportModel(type, url, exportName,JSON.stringify(this.searchForm));
  1042. },
  1043. deleteData(id){
  1044. var _self = this;
  1045. this.$confirm('确定删除该条数据吗, 是否继续?', '提示', {
  1046. confirmButtonText: '确定',
  1047. cancelButtonText: '取消',
  1048. type: 'warning'
  1049. }).then(() => {
  1050. request.post('/bis/insp/plan/dtl/delete/'+id).then(res=>{
  1051. if(res.success){
  1052. _self.initTableData();
  1053. }else{
  1054. _self.$message.warning(res.message);
  1055. }
  1056. })
  1057. }).catch(() => {
  1058. this.$message({
  1059. type: 'info',
  1060. message: '已取消删除'
  1061. });
  1062. });
  1063. },
  1064. edit(row){
  1065. this.bizId = row.id;
  1066. var obj = JSON.stringify(row);
  1067. var objNew = JSON.parse(obj);
  1068. objNew.chkYear = objNew.chkYear?JSON.stringify(objNew.chkYear):"",
  1069. this.addDialogVisible = true;
  1070. this.addForm = objNew;
  1071. this.addForm.planDpRlNames = "";
  1072. this.dateRange = [this.addForm.stTm,this.addForm.enTm];
  1073. this.dialogT = "编辑";
  1074. this.$nextTick(()=>{
  1075. this.getYearPlanByDep();
  1076. this.getYearList();
  1077. this.$refs.city.setCheck(row.dAdName?row.dAdCodes:[],row.dAdName?row.dAdName.split(","):[]);
  1078. this.adNames = row.dAdName;
  1079. // this.getYearPlanByDep();
  1080. })
  1081. },
  1082. cancelMul(){
  1083. this.addDialogVisible = false;
  1084. this.isMulVisible = false;
  1085. },
  1086. addSubmitSecond(){
  1087. if(!this.addForm.note){
  1088. this.isMulVisible = false;
  1089. this.$message.warning("因检查区域/时间重复,请在备注处说明事由!");
  1090. this.isRequired = true;
  1091. return false;
  1092. }
  1093. this.addForm.determine = true;
  1094. var _self = this;
  1095. request.post('/bis/insp/plan/dtl/',this.addForm).then(res=>{
  1096. if(res.success){
  1097. if(_self.dialogT=="添加" && _self.fileList.length>0){
  1098. _self.bizId = res.data.id;
  1099. _self.$nextTick(() => {
  1100. _self.$refs.uploadWay.submit();
  1101. });
  1102. }
  1103. setTimeout(function(){
  1104. _self.$message.success("保存成功");
  1105. _self.addDialogVisible = false;
  1106. _self.isMulVisible = false;
  1107. _self.addForm = {};
  1108. _self.dateRange = [];
  1109. },500)
  1110. }
  1111. }).catch(error=>{
  1112. this.$message.error(error)
  1113. })
  1114. },
  1115. addSubmit(){
  1116. if(!this.addForm.planId){
  1117. this.$message.warning("请选择检查计划事项");
  1118. return;
  1119. }
  1120. if(!this.addForm.onlineChk){
  1121. this.$message.warning("请选择工作形式");
  1122. return;
  1123. }
  1124. if(this.addForm.onlineChk && this.addForm.onlineChk=="1" && (!this.addForm.ptypIds || this.addForm.ptypIds.length==0)){
  1125. this.$message.warning("请选择系统督查类别");
  1126. return;
  1127. }
  1128. if(!this.addForm.nm){
  1129. this.$message.warning("请输入详细检查计划");
  1130. return;
  1131. }
  1132. if((!this.addForm.planDpRlIds || this.addForm.planDpRlIds.length==0) && !this.addForm.planDpRlNames){
  1133. this.$message.warning("请选择或输入检查实施处室(单位)");
  1134. return;
  1135. }
  1136. if(this.addForm.planDpRlNames && !/^[,\u4e00-\u9fa5]+$/.test(this.addForm.planDpRlNames)){
  1137. this.$message.warning("检查实施处室(单位)只能包含中文和英文逗号");
  1138. return;
  1139. }
  1140. if(!this.dateRange || this.dateRange.length==0 ){
  1141. this.$message.warning("请选择检查时间");
  1142. return;
  1143. }
  1144. if(!this.addForm.dAdCodes || this.addForm.dAdCodes.length==0){
  1145. this.$message.warning("请选择检查区域");
  1146. return;
  1147. }
  1148. // if(!this.addForm.groupName){
  1149. // this.$message.warning("请输入检查组长");
  1150. // return;
  1151. // }
  1152. // if(this.dateRange && this.dateRange.length>0 && new Date(this.dateRange[0]).getDay()!=0){
  1153. // this.$message.warning("检查时间开始时间只能为周日");
  1154. // return;
  1155. // }
  1156. // if(!this.addForm.chkContent){
  1157. // this.$message.warning("请输入检查内容");
  1158. // return;
  1159. // }
  1160. // this.addForm.planId = this.$route.query.id;
  1161. if(this.dateRange && this.dateRange.length>0){
  1162. this.addForm.stTm = this.dateRange[0];
  1163. this.addForm.enTm = this.dateRange[1];
  1164. }
  1165. var _self = this;
  1166. this.addForm.determine = false;
  1167. this.isRequired = false;
  1168. this.tipList = [];
  1169. this.curList = [];
  1170. request.post('/bis/insp/plan/dtl/',this.addForm).then(res=>{
  1171. if(!res.success && res.message=="true"){
  1172. _self.isMulVisible = true;
  1173. _self.curList.push({
  1174. nm:_self.addForm.nm,
  1175. dAdName:_self.adNames,
  1176. stTm:_self.dateRange[0],
  1177. enTm:_self.dateRange[1],
  1178. chkContent:_self.addForm.chkContent
  1179. });
  1180. _self.tipList = res.data;
  1181. }else if(!res.success && res.message=="报错"){
  1182. this.$message.warning("添加失败,同一个年度计划,一个月内只能到一个市!");
  1183. }else{
  1184. _self.addForm.determine = true;
  1185. request.post('/bis/insp/plan/dtl/',this.addForm).then(res=>{
  1186. if(res.success){
  1187. if(_self.dialogT=="添加" && _self.fileList.length>0){
  1188. _self.bizId = res.data.id;
  1189. _self.$nextTick(() => {
  1190. _self.$refs.uploadWay.submit();
  1191. });
  1192. }
  1193. setTimeout(function(){
  1194. _self.$message.success("保存成功");
  1195. _self.addDialogVisible = false;
  1196. _self.addForm = {};
  1197. _self.dateRange = [];
  1198. },500)
  1199. }
  1200. }).catch(error=>{
  1201. this.$message.error(error)
  1202. })
  1203. }
  1204. }).catch(error=>{
  1205. this.$message.error(error)
  1206. })
  1207. },
  1208. updateData(){
  1209. if(!this.yearId){
  1210. this.$message.warning("请选择年度计划");
  1211. return;
  1212. }
  1213. var obj = {
  1214. id:this.currentId,
  1215. yearPlanId:this.yearId
  1216. }
  1217. var _self = this;
  1218. request.post('/bis/insp/planMonth/',obj).then(res=>{
  1219. if(res.success){
  1220. _self.$message.success("关联成功");
  1221. _self.yearDialogVisible = false;
  1222. _self.currentId = "";
  1223. _self.yearId = "";
  1224. _self.initTableData();
  1225. }else{
  1226. _self.$message.warning(res.message);
  1227. }
  1228. })
  1229. },
  1230. closeAddDialog(){
  1231. this.addDialogVisible = false;
  1232. },
  1233. closeYearDialog(){
  1234. this.yearDialogVisible = false;
  1235. },
  1236. initTableData(){
  1237. // this.searchForm.pageNum = this.pageNum;
  1238. // this.searchForm.pageSize = this.pageSize;
  1239. // this.searchForm.planId = this.$route.query.id;
  1240. this.loading = true;
  1241. var _self = this;
  1242. this.tableData = [];
  1243. request.post('/bis/insp/plan/dtl/list',this.searchForm).then(res=>{
  1244. if(res.success){
  1245. _self.tableData = res.data;
  1246. // _self.total = res.data.total;
  1247. _self.loading = false;
  1248. _self.$nextTick(()=>{
  1249. _self.$refs.multipleTable.doLayout();
  1250. })
  1251. }else{
  1252. _self.$message.warning(res.message)
  1253. }
  1254. })
  1255. },
  1256. handleCurrentChange(val){
  1257. this.pageNum = val;
  1258. this.initTableData();
  1259. },
  1260. handleSizeChange(val){
  1261. this.pageSize = val;
  1262. this.initTableData();
  1263. },
  1264. changeDateRange(v){
  1265. this.$refs.city.setCheck([],[]);
  1266. this.addForm.dAdCodes = []
  1267. this.adNames = "";
  1268. },
  1269. searchBtn(){
  1270. this.isOne = false;
  1271. this.initTableData();
  1272. },
  1273. oneDel(){
  1274. this.isOne = true;
  1275. this.initTableData();
  1276. },
  1277. lookOver(obj){
  1278. this.detailObj = obj;
  1279. this.detailObj.chkMonth = this.detailObj.chkMonth?this.formatDate1(this.detailObj,{property:"chkMonth"},null,null):"";
  1280. this.detailObj.planSttm = this.detailObj.planSttm?this.formatDate(this.detailObj,{property:"planSttm"},null,null):"";
  1281. this.detailObj.planEntm = this.detailObj.planEntm?this.formatDate(this.detailObj,{property:"planEntm"},null,null):"";
  1282. this.detailDialogVisible = true;
  1283. },
  1284. addBtn(){
  1285. this.addForm = {};
  1286. this.objParent = {};
  1287. this.joinDepList = [];
  1288. this.dateRange = [];
  1289. this.addDialogVisible = true;
  1290. this.dialogT = "添加"
  1291. },
  1292. async downloadPlan() {
  1293. let url = "/pdcApi/bis/insp/plan/dtl/export";
  1294. let type = "post";
  1295. let exportName = "详细检查计划表.xls"
  1296. let param = JSON.stringify(this.searchForm);
  1297. let result = await exportModel(type, url, exportName,param);
  1298. }
  1299. }
  1300. }
  1301. </script>
  1302. <style lang="scss" scoped>
  1303. table{
  1304. width: 100%;
  1305. height:100%;
  1306. border-collapse: collapse;
  1307. margin-bottom: 30px;
  1308. }
  1309. table tr td{
  1310. border:1px solid #cecece;
  1311. height:35px;
  1312. text-indent: 15px;
  1313. padding-right: 15px;
  1314. }
  1315. table tr td:first-child{
  1316. background: #f2f1f1;
  1317. width: 260px;
  1318. text-align: right;
  1319. }
  1320. .title_monthReport /deep/ .el-input__inner{
  1321. border:0px;
  1322. font-size: 20px !important;
  1323. color:black;
  1324. }
  1325. .monthReport{
  1326. width: 100%;
  1327. height:100%;
  1328. margin: 0;
  1329. padding: 0;
  1330. }
  1331. .box-card{
  1332. width: calc(100% - 60px);
  1333. height:calc(100% - 20px);
  1334. margin: 0 auto;
  1335. margin-top: 10px;
  1336. }
  1337. .title_monthReport{
  1338. text-align: center;
  1339. padding: 10px;
  1340. }
  1341. .note_monthReport{
  1342. width: 100%;
  1343. background-color: rgba(255, 251, 230, 1);
  1344. box-sizing: border-box;
  1345. border-width: 1px;
  1346. border-style: solid;
  1347. border-color: rgba(255, 229, 143, 1);
  1348. color: rgba(0, 0, 0, 0.447058823529412);
  1349. font-size: 14px;
  1350. padding: 10px;
  1351. }
  1352. .note_monthReport p:first-child{
  1353. font-size: 16px !important;
  1354. }
  1355. .monthReport{
  1356. .demo-form-inline{
  1357. .el-form-item{
  1358. margin-bottom: 5px;
  1359. margin-top: 8px;
  1360. }
  1361. }
  1362. }
  1363. </style>