index.vue 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950
  1. <template>
  2. <div class="app-container">
  3. <el-form
  4. :model="queryParams"
  5. ref="queryForm"
  6. :inline="true"
  7. v-show="showSearch"
  8. label-width="68px"
  9. >
  10. <!-- <el-form-item label="受检单位_id" prop="inspectedUnitId">
  11. <el-input
  12. v-model="queryParams.inspectedUnitId"
  13. placeholder="请输入受检单位_id"
  14. clearable
  15. size="small"
  16. @keyup.enter.native="handleQuery"
  17. />
  18. </el-form-item>
  19. <el-form-item label="受检单位" prop="inspectedUnit">
  20. <el-input
  21. v-model="queryParams.inspectedUnit"
  22. placeholder="请输入受检单位"
  23. clearable
  24. size="small"
  25. @keyup.enter.native="handleQuery"
  26. />
  27. </el-form-item>
  28. <el-form-item label="类型" prop="inspectionType">
  29. <el-select v-model="queryParams.inspectionType" placeholder="请选择类型" clearable size="small">
  30. <el-option label="请选择字典生成" value="" />
  31. </el-select>
  32. </el-form-item>
  33. <el-form-item label="单位检查_id" prop="unitCheckId">
  34. <el-input
  35. v-model="queryParams.unitCheckId"
  36. placeholder="请输入单位检查_id"
  37. clearable
  38. size="small"
  39. @keyup.enter.native="handleQuery"
  40. />
  41. </el-form-item>
  42. <el-form-item label="检查单位" prop="unitCheck">
  43. <el-input
  44. v-model="queryParams.unitCheck"
  45. placeholder="请输入检查单位"
  46. clearable
  47. size="small"
  48. @keyup.enter.native="handleQuery"
  49. />
  50. </el-form-item>
  51. <el-form-item label="检查时间" prop="inspectionTime">
  52. <el-input
  53. v-model="queryParams.inspectionTime"
  54. placeholder="请输入检查时间"
  55. clearable
  56. size="small"
  57. @keyup.enter.native="handleQuery"
  58. />
  59. </el-form-item>
  60. <el-form-item label="检查地点" prop="inspectionSite">
  61. <el-input
  62. v-model="queryParams.inspectionSite"
  63. placeholder="请输入检查地点"
  64. clearable
  65. size="small"
  66. @keyup.enter.native="handleQuery"
  67. />
  68. </el-form-item>
  69. <el-form-item label="分值" prop="score">
  70. <el-input
  71. v-model="queryParams.score"
  72. placeholder="请输入分值"
  73. clearable
  74. size="small"
  75. @keyup.enter.native="handleQuery"
  76. />
  77. </el-form-item>
  78. <el-form-item label="整改时间" prop="rectificationTime">
  79. <el-input
  80. v-model="queryParams.rectificationTime"
  81. placeholder="请输入整改时间"
  82. clearable
  83. size="small"
  84. @keyup.enter.native="handleQuery"
  85. />
  86. </el-form-item>
  87. <el-form-item label="当前状态" prop="currentState">
  88. <el-input
  89. v-model="queryParams.currentState"
  90. placeholder="请输入当前状态"
  91. clearable
  92. size="small"
  93. @keyup.enter.native="handleQuery"
  94. />
  95. </el-form-item>
  96. <el-form-item label="是由" prop="question">
  97. <el-input
  98. v-model="queryParams.question"
  99. placeholder="请输入是由"
  100. clearable
  101. size="small"
  102. @keyup.enter.native="handleQuery"
  103. />
  104. </el-form-item>
  105. <el-form-item label="创建人ID" prop="createUserId">
  106. <el-input
  107. v-model="queryParams.createUserId"
  108. placeholder="请输入创建人ID"
  109. clearable
  110. size="small"
  111. @keyup.enter.native="handleQuery"
  112. />
  113. </el-form-item>
  114. <el-form-item label="创建人" prop="createUser">
  115. <el-input
  116. v-model="queryParams.createUser"
  117. placeholder="请输入创建人"
  118. clearable
  119. size="small"
  120. @keyup.enter.native="handleQuery"
  121. />
  122. </el-form-item>
  123. <el-form-item label="负责人ID" prop="chargePeopleId">
  124. <el-input
  125. v-model="queryParams.chargePeopleId"
  126. placeholder="请输入负责人ID"
  127. clearable
  128. size="small"
  129. @keyup.enter.native="handleQuery"
  130. />
  131. </el-form-item>
  132. <el-form-item label="负责人" prop="chargePeople">
  133. <el-input
  134. v-model="queryParams.chargePeople"
  135. placeholder="请输入负责人"
  136. clearable
  137. size="small"
  138. @keyup.enter.native="handleQuery"
  139. />
  140. </el-form-item>
  141. <el-form-item label="图片举证" prop="pictureProof">
  142. <el-input
  143. v-model="queryParams.pictureProof"
  144. placeholder="请输入图片举证"
  145. clearable
  146. size="small"
  147. @keyup.enter.native="handleQuery"
  148. />
  149. </el-form-item>
  150. <el-form-item label="文件举证" prop="documentProof">
  151. <el-input
  152. v-model="queryParams.documentProof"
  153. placeholder="请输入文件举证"
  154. clearable
  155. size="small"
  156. @keyup.enter.native="handleQuery"
  157. />
  158. </el-form-item>-->
  159. <!-- <el-form-item>
  160. <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
  161. <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
  162. </el-form-item>-->
  163. </el-form>
  164. <el-row :gutter="10" class="mb8">
  165. <el-col :span="1.5" class="isSubmit">
  166. <el-radio-group v-model="queryParams.caoZuoType" @change="caoZuoTypefun">
  167. <el-radio-button label="0">减分</el-radio-button>
  168. <el-radio-button label="1">加分</el-radio-button>
  169. </el-radio-group>
  170. </el-col>
  171. </el-row>
  172. <el-row :gutter="10" class="mb8">
  173. <el-col :span="1.5">
  174. <el-button
  175. type="success"
  176. v-if="queryParams.caoZuoType==0"
  177. style="background:rgb(255 106 0)"
  178. @click="handleAdd"
  179. >减分录入</el-button>
  180. </el-col>
  181. <el-col :span="1.5">
  182. <el-button
  183. type="success"
  184. v-if="queryParams.caoZuoType==1"
  185. style="background: rgb(3 157 3)"
  186. @click="handleAdd"
  187. >加分录入</el-button>
  188. </el-col>
  189. <!-- <el-col :span="1.5">
  190. <el-button
  191. type="success"
  192. plain
  193. icon="el-icon-edit"
  194. size="mini"
  195. :disabled="single"
  196. @click="handleUpdate"
  197. v-hasPermi="['bdglregular:regularinfo:edit']"
  198. >修改</el-button>
  199. </el-col>
  200. <el-col :span="1.5">
  201. <el-button
  202. type="danger"
  203. plain
  204. icon="el-icon-delete"
  205. size="mini"
  206. :disabled="multiple"
  207. @click="handleDelete"
  208. v-hasPermi="['bdglregular:regularinfo:remove']"
  209. >删除</el-button>
  210. </el-col>
  211. <el-col :span="1.5">
  212. <el-button
  213. type="warning"
  214. plain
  215. icon="el-icon-download"
  216. size="mini"
  217. :loading="exportLoading"
  218. @click="handleExport"
  219. v-hasPermi="['bdglregular:regularinfo:export']"
  220. >导出</el-button>
  221. </el-col>-->
  222. <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
  223. </el-row>
  224. <el-table
  225. v-loading="loading"
  226. :data="regularinfoList"
  227. :header-cell-style="{ background: '#003C69', color: 'white' }"
  228. @selection-change="handleSelectionChange"
  229. >
  230. <el-table-column type="selection" width="55" align="center" />
  231. <el-table-column label="序号" align="center" type="index" />
  232. <!-- <el-table-column label="主键ID" align="center" prop="id" /> -->
  233. <!-- <el-table-column label="受检单位_id" align="center" prop="inspectedUnitId" /> -->
  234. <el-table-column label="受检单位" align="center" prop="inspectedUnit" />
  235. <el-table-column label="类型" align="center" prop="inspectionType">
  236. <template slot-scope="scope">
  237. <dict-tag :options="dict.type.inspectionType" :value="scope.row.inspectionType" />
  238. </template>
  239. </el-table-column>
  240. <!-- <el-table-column label="单位检查_id" align="center" prop="unitCheckId" /> -->
  241. <el-table-column label="检查单位" align="center" prop="unitCheck" />
  242. <el-table-column label="检查时间" align="center" prop="inspectionTime" />
  243. <el-table-column label="检查地点" align="center" prop="inspectionSite" />
  244. <el-table-column label="分值" align="center" :key="Math.random()" prop="score">
  245. <template slot-scope="scope">
  246. <div style="color:rgb(255 106 0);" v-if="queryParams.caoZuoType==0">{{scope.row.score}}</div>
  247. <div style="color:rgb(2 255 2);" v-if="queryParams.caoZuoType==1">{{scope.row.score}}</div>
  248. </template>
  249. </el-table-column>
  250. <el-table-column
  251. label="当前状态"
  252. align="center"
  253. prop="currentState"
  254. :key="Math.random()"
  255. v-if="queryParams.caoZuoType==0"
  256. >
  257. <template slot-scope="scope">
  258. <div
  259. style="color:#ff0000;"
  260. v-if="scope.row.currentState=='未通过'"
  261. >{{scope.row.currentState}}</div>
  262. <div
  263. style="color:#ffa500;"
  264. v-if="scope.row.currentState=='待处理'"
  265. >{{scope.row.currentState}}</div>
  266. <div
  267. style="color:#3498db;"
  268. v-if="scope.row.currentState=='待验收'"
  269. >{{scope.row.currentState}}</div>
  270. <div
  271. style="color:#38d764;"
  272. v-if="scope.row.currentState=='已通过'"
  273. >{{scope.row.currentState}}</div>
  274. <div
  275. style="color:#909399;"
  276. v-if="scope.row.currentState=='过期未整改'"
  277. >{{scope.row.currentState}}</div>
  278. </template>
  279. </el-table-column>
  280. <el-table-column label="事由" show-overflow-tooltip align="center" prop="question" />
  281. <el-table-column
  282. label="整改时间"
  283. align="center"
  284. prop="rectificationTime"
  285. :key="Math.random()"
  286. v-if="queryParams.caoZuoType==0"
  287. />
  288. <!-- <el-table-column label="创建人ID" align="center" prop="createUserId" />
  289. <el-table-column label="创建人" align="center" prop="createUser" />
  290. <el-table-column label="负责人ID" align="center" prop="chargePeopleId" />
  291. <el-table-column label="负责人" align="center" prop="chargePeople" />
  292. <el-table-column label="整改措施" align="center" prop="correctiveAction" />
  293. <el-table-column label="图片举证" align="center" prop="pictureProof" />
  294. <el-table-column label="文件举证" align="center" prop="documentProof" />-->
  295. <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
  296. <template slot-scope="scope">
  297. <el-button
  298. size="btk"
  299. type="text"
  300. v-if="scope.row.caoZuoType=='0'&&scope.row.isCaoZuoDept==0&&(scope.row.currentState=='未通过'||scope.row.currentState=='待处理')"
  301. @click="handleUpdate(scope.row)"
  302. >整改</el-button>
  303. <el-button
  304. size="btu"
  305. type="text"
  306. @click="shenpifun(scope.row)"
  307. v-if="queryParams.caoZuoType==0&&scope.row.isShenPi==0&&scope.row.currentState=='待验收'"
  308. >审批</el-button>
  309. <el-button size="btd" type="text" @click="handleDelete(scope.row)">删除</el-button>
  310. </template>
  311. </el-table-column>
  312. </el-table>
  313. <pagination
  314. v-show="total>0"
  315. :total="total"
  316. :page.sync="queryParams.pageNum"
  317. :limit.sync="queryParams.pageSize"
  318. @pagination="getList"
  319. />
  320. <!-- 添加或修改经常性检查对话框 -->
  321. <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
  322. <el-form ref="form" :model="form" :rules="rules" :inline="true" label-width="120px">
  323. <div class="jiben">基本信息</div>
  324. <el-form-item label="检查单位" prop="unitCheck">
  325. <el-select
  326. v-model="form.unitCheck"
  327. @change="unitCheckIdfun"
  328. clearable
  329. placeholder="请选择受检单位"
  330. :disabled="disabled"
  331. >
  332. <el-option
  333. v-for="dict in unitId"
  334. :key="dict.deptId"
  335. :label="dict.deptName"
  336. :value="dict"
  337. ></el-option>
  338. </el-select>
  339. </el-form-item>
  340. <el-form-item label="受检单位" prop="inspectedUnit">
  341. <el-select
  342. v-model="form.inspectedUnit"
  343. @change="inspectedUnitfun"
  344. clearable
  345. placeholder="请选择受检单位"
  346. :disabled="disabled"
  347. >
  348. <el-option
  349. v-for="dict in unitId"
  350. :key="dict.deptId"
  351. :label="dict.deptName"
  352. :value="dict"
  353. ></el-option>
  354. </el-select>
  355. </el-form-item>
  356. <!-- <el-form-item label="检查单位" prop="unitCheck">
  357. <el-select v-model="form.unitCheck" clearable placeholder="请选择检查单位">
  358. <el-option
  359. v-for="dict in unitId"
  360. :key="dict.deptId"
  361. :label="dict.deptName"
  362. :value="dict.deptId"
  363. ></el-option>
  364. </el-select>
  365. </el-form-item>-->
  366. <!-- <el-form-item label="受检单位" prop="inspectedUnit">
  367. <el-select v-model="form.inspectedUnit" clearable placeholder="请选择受检单位">
  368. <el-option
  369. v-for="dict in unitId"
  370. :key="dict.deptId"
  371. :label="dict.deptName"
  372. :value="dict.deptId"
  373. ></el-option>
  374. </el-select>
  375. </el-form-item>-->
  376. <el-form-item label="类型" prop="inspectionType">
  377. <el-select
  378. v-model="form.inspectionType"
  379. :disabled="disabled"
  380. clearable
  381. placeholder="请选择类型"
  382. >
  383. <el-option
  384. v-for="dict in inspectionType"
  385. :key="dict.dictValue"
  386. :label="dict.dictLabel"
  387. :value="dict.dictValue"
  388. ></el-option>
  389. </el-select>
  390. </el-form-item>
  391. <!-- <el-form-item label="单位检查_id" prop="unitCheckId">
  392. <el-input v-model="form.unitCheckId" placeholder="请输入单位检查_id" />
  393. </el-form-item>-->
  394. <el-form-item label="检查时间" prop="inspectionTime">
  395. <el-date-picker
  396. clearable
  397. size="small"
  398. v-model="form.inspectionTime"
  399. type="date"
  400. value-format="yyyy-MM-dd"
  401. placeholder="选择检查时间"
  402. :disabled="disabled"
  403. ></el-date-picker>
  404. </el-form-item>
  405. <el-form-item label="检查地点" prop="inspectionSite">
  406. <el-input v-model="form.inspectionSite" :disabled="disabled" placeholder="请输入检查地点" />
  407. </el-form-item>
  408. <el-form-item label="分值" prop="score" v-if="jiannum==0">
  409. <!-- <el-input v-model="form.score" type="number" @blur="scoreblur" :disabled="disabled" placeholder="请输入分值" /> -->
  410. <el-input-number v-model="form.score" controls-position="right" :min="0"></el-input-number>
  411. </el-form-item>
  412. <el-form-item label="整改时间" prop="rectificationTime" v-if="queryParams.caoZuoType==0">
  413. <el-date-picker
  414. clearable
  415. size="small"
  416. v-model="form.rectificationTime"
  417. type="date"
  418. value-format="yyyy-MM-dd"
  419. placeholder="选择整改时间"
  420. :disabled="disabled"
  421. ></el-date-picker>
  422. </el-form-item>
  423. <el-form-item label="负责人" prop="chargePeople" v-if="jiannum!=0">
  424. <el-select
  425. v-model="form.chargePeople"
  426. clearable
  427. @change="chargePeoplefun"
  428. placeholder="请选择负责人"
  429. :disabled="disabled"
  430. >
  431. <el-option v-for="dict in peopleIds" :key="dict.id" :label="dict.name" :value="dict"></el-option>
  432. </el-select>
  433. </el-form-item>
  434. <!-- <el-form-item label="负责人" prop="chargePeople">
  435. <el-select
  436. v-model="form.chargePeople"
  437. clearable
  438. @change="peopleIdfun"
  439. ref="peopleId"
  440. placeholder="请选择负责人"
  441. >
  442. <el-option
  443. v-for="dict in peopleIds"
  444. :key="dict.id"
  445. :label="dict.name"
  446. :value="dict.id"
  447. ></el-option>
  448. </el-select>
  449. </el-form-item>-->
  450. <!-- <el-form-item label="当前状态" prop="currentState">
  451. <el-input v-model="form.currentState" placeholder="请输入当前状态" />
  452. </el-form-item>-->
  453. <!-- <el-form-item label="是由" prop="question">
  454. <el-input v-model="form.question" placeholder="请输入是由" />
  455. </el-form-item>
  456. <el-form-item label="创建人ID" prop="createUserId">
  457. <el-input v-model="form.createUserId" placeholder="请输入创建人ID" />
  458. </el-form-item>
  459. <el-form-item label="创建人" prop="createUser">
  460. <el-input v-model="form.createUser" placeholder="请输入创建人" />
  461. </el-form-item>
  462. <el-form-item label="负责人ID" prop="chargePeopleId">
  463. <el-input v-model="form.chargePeopleId" placeholder="请输入负责人ID" />
  464. </el-form-item>
  465. <el-form-item label="负责人" prop="chargePeople">
  466. <el-input v-model="form.chargePeople" placeholder="请输入负责人" />
  467. </el-form-item>-->
  468. <div class="jiben" v-if="queryParams.caoZuoType==0">存在问题</div>
  469. <div class="jiben" v-if="queryParams.caoZuoType==1">加分事由</div>
  470. <el-form-item label prop="question">
  471. <el-input
  472. v-model="form.question"
  473. :disabled="disabled"
  474. type="textarea"
  475. placeholder="请输入内容"
  476. />
  477. </el-form-item>
  478. <div class="jiben" v-if="jiannum!=0">整改措施</div>
  479. <el-form-item label prop="correctiveAction" v-if="jiannum!=0">
  480. <el-input
  481. v-model="form.correctiveAction"
  482. :disabled="disabled"
  483. type="textarea"
  484. placeholder="请输入内容"
  485. />
  486. </el-form-item>
  487. <div class="jiben" v-if="jiannum!=0">图片举证</div>
  488. <el-form-item label prop="pictureProof" v-if="jiannum!=0">
  489. <imageUpload v-model="form.pictureProof" :limit="1" />
  490. <!-- <el-input v-model="form.pictureProof" placeholder="请输入图片举证" /> -->
  491. </el-form-item>
  492. <div class="jiben" v-if="jiannum!=0">文件举证</div>
  493. <el-form-item label prop="documentProof" v-if="jiannum!=0">
  494. <fileUpload v-model="form.documentProof" />
  495. <!-- <el-input v-model="form.documentProof" placeholder="请输入文件举证" /> -->
  496. </el-form-item>
  497. <div class="jiben" v-if="currentState==1">未通过原因</div>
  498. <el-form-item label prop="score" v-if="currentState==1">
  499. <el-input
  500. v-model="form.reasonReturn"
  501. :disabled="disabled||curr"
  502. type="textarea"
  503. placeholder="请输入未通过原因"
  504. />
  505. </el-form-item>
  506. </el-form>
  507. <div slot="footer" class="dialog-footer">
  508. <el-button type="primary" @click="submitForm" v-if="btnnum!=0&&btnnum!=1">确 定</el-button>
  509. <el-button type="primary" @click="tongguofun" v-if="btnnum==0">通 过</el-button>
  510. <el-button type="primary" @click="zhenggaifun" v-if="btnnum==0">重新整改</el-button>
  511. <el-button type="primary" @click="weitongguofun" v-if="btnnum==1">确 定</el-button>
  512. <el-button @click="cancel">取 消</el-button>
  513. </div>
  514. </el-dialog>
  515. </div>
  516. </template>
  517. <script>
  518. import {
  519. listRegularinfo,
  520. getRegularinfo,
  521. delRegularinfo,
  522. addRegularinfo,
  523. updateRegularinfo,
  524. exportRegularinfo,
  525. getDept,
  526. listPeople,
  527. editquestion,
  528. editissuccess,
  529. editisfalse,
  530. bumenlist
  531. } from "@/api/bdglregular/regularinfo";
  532. export default {
  533. name: "Regularinfo",
  534. dicts: ["inspectionType"],
  535. data() {
  536. return {
  537. // 遮罩层
  538. loading: true,
  539. // 导出遮罩层
  540. exportLoading: false,
  541. // 选中数组
  542. ids: [],
  543. // 非单个禁用
  544. single: true,
  545. // 非多个禁用
  546. multiple: true,
  547. // 显示搜索条件
  548. showSearch: true,
  549. // 总条数
  550. total: 0,
  551. // 经常性检查表格数据
  552. regularinfoList: [],
  553. // 弹出层标题
  554. title: "",
  555. // 是否显示弹出层
  556. open: false,
  557. // 查询参数
  558. queryParams: {
  559. pageNum: 1,
  560. pageSize: 10,
  561. inspectedUnitId: null,
  562. inspectedUnit: null,
  563. inspectionType: null,
  564. unitCheckId: null,
  565. unitCheck: null,
  566. inspectionTime: null,
  567. inspectionSite: null,
  568. score: null,
  569. rectificationTime: null,
  570. currentState: null,
  571. question: null,
  572. createUserId: null,
  573. createUser: null,
  574. chargePeopleId: null,
  575. chargePeople: null,
  576. correctiveAction: null,
  577. pictureProof: null,
  578. documentProof: null,
  579. caoZuoType: 0
  580. },
  581. // 表单参数
  582. form: {},
  583. // 表单校验
  584. rules: {
  585. unitCheck: [
  586. { required: true, message: "检查单位不能为空", trigger: "change" }
  587. ],
  588. inspectedUnit: [
  589. { required: true, message: "受检单位不能为空", trigger: "change" }
  590. ],
  591. inspectionType: [
  592. { required: true, message: "类型不能为空", trigger: "change" }
  593. ],
  594. inspectionTime: [
  595. { required: true, message: "检查时间不能为空", trigger: "change" }
  596. ],
  597. inspectionSite: [
  598. { required: true, message: "检查地点不能为空", trigger: "blur" }
  599. ],
  600. score: [{ required: true, message: "分值不能为空", trigger: "blur" }],
  601. rectificationTime: [
  602. { required: true, message: "整改时间不能为空", trigger: "change" }
  603. ],
  604. chargePeople: [
  605. { required: true, message: "负责人不能为空", trigger: "change" }
  606. ]
  607. },
  608. //单位
  609. unitId: [],
  610. //检查类型
  611. inspectionType: [],
  612. //调动人员对象
  613. peopleIds: [],
  614. //区分减分、增改
  615. jiannum: null,
  616. btnnum: null,
  617. disabled: false,
  618. currentState:null,
  619. curr:null,
  620. };
  621. },
  622. created() {
  623. //部门数据
  624. getDept().then(res => {
  625. if (res.code == 200) {
  626. this.unitId = res.data;
  627. }
  628. });
  629. //调动人员对象
  630. listPeople().then(res => {
  631. if (res.code == 200) {
  632. this.peopleIds = res.rows;
  633. }
  634. });
  635. //检查类型
  636. this.getDicts("inspectionType").then(response => {
  637. this.inspectionType = response.data;
  638. });
  639. if (this.$route.query.id) {
  640. bumenlist(this.$route.query.id).then(res => {
  641. console.log(1);
  642. this.regularinfoList = res.rows;
  643. this.total = res.total;
  644. this.loading = false;
  645. });
  646. } else {
  647. this.getList();
  648. }
  649. },
  650. methods: {
  651. /** 查询经常性检查列表 */
  652. getList() {
  653. this.loading = true;
  654. listRegularinfo(this.queryParams).then(response => {
  655. this.regularinfoList = response.rows;
  656. this.total = response.total;
  657. this.loading = false;
  658. });
  659. },
  660. // 取消按钮
  661. cancel() {
  662. this.open = false;
  663. this.reset();
  664. this.jiannum = null;
  665. },
  666. // 表单重置
  667. reset() {
  668. this.form = {
  669. id: null,
  670. inspectedUnitId: null,
  671. inspectedUnit: null,
  672. inspectionType: null,
  673. unitCheckId: null,
  674. unitCheck: null,
  675. inspectionTime: null,
  676. inspectionSite: null,
  677. score: null,
  678. rectificationTime: null,
  679. currentState: null,
  680. question: null,
  681. createTime: null,
  682. createUserId: null,
  683. createUser: null,
  684. updateTime: null,
  685. chargePeopleId: null,
  686. chargePeople: null,
  687. correctiveAction: null,
  688. pictureProof: null,
  689. documentProof: null,
  690. reasonReturn: null
  691. };
  692. this.resetForm("form");
  693. },
  694. /** 搜索按钮操作 */
  695. handleQuery() {
  696. this.queryParams.pageNum = 1;
  697. this.getList();
  698. },
  699. /** 重置按钮操作 */
  700. resetQuery() {
  701. this.resetForm("queryForm");
  702. this.handleQuery();
  703. },
  704. // 多选框选中数据
  705. handleSelectionChange(selection) {
  706. this.ids = selection.map(item => item.id);
  707. this.single = selection.length !== 1;
  708. this.multiple = !selection.length;
  709. },
  710. /** 新增按钮操作 */
  711. handleAdd() {
  712. this.reset();
  713. this.open = true;
  714. this.title = "经常性检查";
  715. this.jiannum = 0;
  716. this.btnnum = null;
  717. },
  718. /** 整改按钮操作 */
  719. handleUpdate(row) {
  720. this.reset();
  721. const id = row.id || this.ids;
  722. getRegularinfo(id).then(response => {
  723. this.form = response.data;
  724. this.open = true;
  725. this.title = "修改经常性检查";
  726. this.jiannum = 1;
  727. this.btnnum = null;
  728. if (this.form.currentState == "未通过") {
  729. this.currentState = 1;
  730. this.curr=true
  731. }
  732. });
  733. },
  734. /** 审批按钮操作 */
  735. shenpifun(row) {
  736. this.reset();
  737. const id = row.id || this.ids;
  738. getRegularinfo(id).then(response => {
  739. this.disabled = true;
  740. this.form = response.data;
  741. this.open = true;
  742. this.title = "修改经常性检查";
  743. this.jiannum = 1;
  744. this.btnnum = 0;
  745. });
  746. },
  747. //通过
  748. tongguofun() {
  749. editissuccess(this.form).then(res => {
  750. if (res.code == 200) {
  751. this.$modal.msgSuccess("审批成功");
  752. this.open = false;
  753. this.getList();
  754. }
  755. });
  756. },
  757. //重新整改
  758. zhenggaifun() {
  759. this.jiannum = 0;
  760. this.btnnum = 1;
  761. this.disabled = false;
  762. this.currentState=1;
  763. this.curr=false;
  764. // this.reset();
  765. // editissuccess().then(res => {
  766. // if (res.code == 200) {
  767. // this.$modal.msgSuccess("审批成功");
  768. // }
  769. // });
  770. },
  771. //未通过提交
  772. weitongguofun() {
  773. editisfalse(this.form).then(res => {
  774. this.$modal.msgSuccess("操作成功");
  775. this.open = false;
  776. this.getList();
  777. });
  778. },
  779. /** 提交按钮 */
  780. submitForm() {
  781. this.$refs["form"].validate(valid => {
  782. if (valid) {
  783. if (this.form.id != null) {
  784. this.form.caoZuoType = this.queryParams.caoZuoType;
  785. editquestion(this.form).then(response => {
  786. this.$modal.msgSuccess("修改成功");
  787. this.open = false;
  788. this.getList();
  789. });
  790. } else {
  791. this.form.caoZuoType = this.queryParams.caoZuoType;
  792. addRegularinfo(this.form).then(response => {
  793. this.$modal.msgSuccess("新增成功");
  794. this.open = false;
  795. this.getList();
  796. });
  797. }
  798. }
  799. });
  800. },
  801. /** 删除按钮操作 */
  802. handleDelete(row) {
  803. const ids = row.id || this.ids;
  804. this.$modal
  805. .confirm('是否确认删除经常性检查编号为"' + ids + '"的数据项?')
  806. .then(function() {
  807. return delRegularinfo(ids);
  808. })
  809. .then(() => {
  810. this.getList();
  811. this.$modal.msgSuccess("删除成功");
  812. })
  813. .catch(() => {});
  814. },
  815. /** 导出按钮操作 */
  816. handleExport() {
  817. const queryParams = this.queryParams;
  818. this.$modal
  819. .confirm("是否确认导出所有经常性检查数据项?")
  820. .then(() => {
  821. this.exportLoading = true;
  822. return exportRegularinfo(queryParams);
  823. })
  824. .then(response => {
  825. this.$download.name(response.msg);
  826. this.exportLoading = false;
  827. })
  828. .catch(() => {});
  829. },
  830. //检查单位
  831. unitCheckIdfun(val) {
  832. this.form.unitCheckId = val.deptId;
  833. this.form.unitCheck = val.deptName;
  834. },
  835. //受检单位
  836. inspectedUnitfun(val) {
  837. this.form.inspectedUnitId = val.deptId;
  838. this.form.inspectedUnit = val.deptName;
  839. },
  840. //负责人
  841. chargePeoplefun(val) {
  842. console.log(val);
  843. this.form.chargePeopleId = val.id;
  844. this.form.chargePeople = val.name;
  845. },
  846. caoZuoTypefun() {
  847. this.getList();
  848. },
  849. scoreblur() {
  850. if (this.form.score < 0) {
  851. this.form.score = null;
  852. }
  853. }
  854. }
  855. };
  856. </script>
  857. <style scoped>
  858. ::v-deep .el-dialog {
  859. width: 1030px !important;
  860. background-color: #004d86;
  861. }
  862. ::v-deep .el-dialog__header {
  863. border-bottom: 1px solid #718a9d;
  864. }
  865. ::v-deep .el-dialog__title {
  866. color: #fff;
  867. font: 18px;
  868. }
  869. ::v-deep .el-dialog__headerbtn .el-dialog__close {
  870. color: #fff;
  871. }
  872. .el-form-item ::v-deep .el-input__inner {
  873. width: 200px;
  874. height: 36px;
  875. background: #004d86;
  876. color: #fff;
  877. border: 1px solid #fff !important;
  878. }
  879. ::v-deep .el-date-editor.el-input {
  880. width: 200px;
  881. height: 36px;
  882. }
  883. ::v-deep .el-upload--picture-card {
  884. height: 210px;
  885. width: 170px;
  886. line-height: 210px;
  887. }
  888. .el-upload--picture-card /deep/ .el-upload--picture-card i {
  889. font-size: 48px;
  890. }
  891. ::v-deep .el-upload__tip {
  892. display: none;
  893. }
  894. ::v-deep .el-textarea__inner {
  895. width: 980px;
  896. height: 104px;
  897. }
  898. .div-box-title span {
  899. width: 25px;
  900. height: 25px;
  901. display: inline-block;
  902. background-color: #1c86e1;
  903. line-height: 25px;
  904. text-align: center;
  905. font-size: 16px;
  906. cursor: pointer;
  907. margin-left: 865px;
  908. }
  909. .el-select-dropdown__item:hover {
  910. color: #1c86e1;
  911. }
  912. .el-select-dropdown__item {
  913. color: #000;
  914. }
  915. .el-tree {
  916. background-color: #00365f;
  917. color: #fff;
  918. }
  919. ::v-deep .el-tree-node__content:hover {
  920. color: #1c86e1;
  921. }
  922. ::v-deep .el-upload-list--picture-card .el-upload-list__item {
  923. height: 210px;
  924. width: 170px;
  925. }
  926. ::v-deep .radiogroup {
  927. height: 36px;
  928. }
  929. ::v-deep .radiogroup .el-radio-button {
  930. height: 36px;
  931. }
  932. ::v-deep .el-input-number__increase {
  933. background-color: transparent !important;
  934. border: none;
  935. color: #cccccc;
  936. border-bottom: none !important;
  937. }
  938. ::v-deep .el-input-number__decrease {
  939. background-color: transparent !important;
  940. border: none !important;
  941. color: #cccccc;
  942. }
  943. </style>