yinhuanform_sqyq_wys.vue 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488
  1. <template>
  2. <div>
  3. <!-- <div v-if="shows">
  4. <van-nav-bar title="风险评级" left-arrow @click-left="onClickLeft" />
  5. </div> -->
  6. <div class="headers">
  7. <div>
  8. <van-field
  9. v-model="value12"
  10. name="检查人"
  11. label="检查人"
  12. placeholder="检查人"
  13. readonly="false"
  14. />
  15. </div>
  16. <div>
  17. <van-field
  18. v-model="value10"
  19. name="检查人部门"
  20. label="检查人部门"
  21. placeholder="检查人部门"
  22. readonly="false"
  23. />
  24. </div>
  25. <div>
  26. <van-field
  27. v-model="value1"
  28. name="检查专业"
  29. label="检查专业"
  30. placeholder="检查专业"
  31. :rules="[{ required: true, message: '请选择' }]"
  32. readonly="false"
  33. />
  34. </div>
  35. <div>
  36. <van-field
  37. v-model="value2"
  38. name="隐患等级"
  39. label="隐患等级"
  40. placeholder="隐患等级"
  41. :rules="[{ required: true, message: '请选择' }]"
  42. readonly="false"
  43. />
  44. </div>
  45. <div>
  46. <van-cell-group>
  47. <van-field
  48. v-model="message1"
  49. rows="1"
  50. autosize
  51. label="存在问题或隐患"
  52. type="textarea"
  53. placeholder="请输入信息"
  54. readonly="false"
  55. />
  56. <van-field
  57. v-model="message2"
  58. rows="1"
  59. autosize
  60. label="整改措施"
  61. type="textarea"
  62. placeholder="请输入信息"
  63. readonly="false"
  64. />
  65. </van-cell-group>
  66. </div>
  67. </div>
  68. <div class="contents">
  69. <div>
  70. <van-field
  71. v-model="value3"
  72. name="风险点"
  73. label="风险点"
  74. placeholder="风险点"
  75. :rules="[{ required: true, message: '请选择' }]"
  76. readonly="false"
  77. />
  78. </div>
  79. <div>
  80. <van-field
  81. v-model="value4"
  82. name="风险类型"
  83. label="风险类型"
  84. placeholder="风险类型"
  85. :rules="[{ required: true, message: '请选择' }]"
  86. readonly="false"
  87. />
  88. </div>
  89. <div>
  90. <van-field
  91. v-model="value5"
  92. name="风险等级"
  93. label="风险等级"
  94. placeholder="风险等级"
  95. :rules="[{ required: true, message: '请选择' }]"
  96. readonly="false"
  97. />
  98. </div>
  99. <div>
  100. <van-field
  101. v-model="value6"
  102. name="事故类型"
  103. label="事故类型"
  104. placeholder="事故类型"
  105. :rules="[{ required: true, message: '请选择' }]"
  106. readonly="false"
  107. />
  108. </div>
  109. <div>
  110. <van-cell-group>
  111. <van-field
  112. v-model="message3"
  113. rows="1"
  114. autosize
  115. label="风险描述"
  116. type="textarea"
  117. placeholder="请输入信息"
  118. readonly="false"
  119. />
  120. <van-field
  121. v-model="message4"
  122. rows="1"
  123. autosize
  124. label="后果及影响"
  125. type="textarea"
  126. placeholder="请输入信息"
  127. readonly="false"
  128. />
  129. <van-field
  130. v-model="message5"
  131. rows="1"
  132. autosize
  133. label="管控措施"
  134. type="textarea"
  135. placeholder="请输入信息"
  136. readonly="false"
  137. />
  138. </van-cell-group>
  139. </div>
  140. <!-- <div>
  141. <el-table
  142. ref="multipleTable"
  143. :data="tableData"
  144. tooltip-effect="dark"
  145. style="width: 100%"
  146. @selection-change="handleSelectionChange"
  147. >
  148. <el-table-column type="selection" width="45"> </el-table-column>
  149. <el-table-column label="日期" width="90">
  150. <template slot-scope="scope">{{ scope.row.date }}</template>
  151. </el-table-column>
  152. <el-table-column prop="name" label="姓名" width="120">
  153. </el-table-column>
  154. <el-table-column prop="address" label="地址" show-overflow-tooltip>
  155. </el-table-column>
  156. </el-table>
  157. </div> -->
  158. </div>
  159. <div class="contents1">
  160. <div>
  161. <van-cell-group>
  162. <van-field
  163. v-model="message6"
  164. rows="1"
  165. autosize
  166. label="整改责任单位"
  167. type="textarea"
  168. placeholder="请输入信息"
  169. readonly="false"
  170. />
  171. <van-field
  172. v-model="message7"
  173. rows="1"
  174. autosize
  175. label="整改责任人"
  176. type="textarea"
  177. placeholder="请输入信息"
  178. readonly="false"
  179. />
  180. </van-cell-group>
  181. </div>
  182. <div>
  183. <van-field
  184. v-model="value7"
  185. name="督办部门"
  186. label="督办部门"
  187. placeholder="督办部门"
  188. :rules="[{ required: true, message: '请选择' }]"
  189. readonly="false"
  190. />
  191. </div>
  192. <div>
  193. <van-field
  194. v-model="value8"
  195. name="督办责任人"
  196. label="督办责任人"
  197. placeholder="督办责任人"
  198. :rules="[{ required: true, message: '请选择' }]"
  199. readonly="false"
  200. />
  201. </div>
  202. <div>
  203. <van-field
  204. v-model="value11"
  205. name="整改类型"
  206. label="整改类型"
  207. placeholder="整改类型"
  208. readonly="false"
  209. />
  210. </div>
  211. <div>
  212. <van-field
  213. v-model="value9"
  214. name="整改期限"
  215. label="整改期限"
  216. placeholder="整改期限"
  217. readonly="false"
  218. />
  219. </div>
  220. </div>
  221. <div class="contents2">
  222. <div>
  223. <van-cell-group>
  224. <van-field
  225. v-model="message9"
  226. rows="1"
  227. autosize
  228. label="延期原因"
  229. type="textarea"
  230. placeholder=""
  231. readonly="false"
  232. />
  233. </van-cell-group>
  234. </div>
  235. <div>
  236. <van-cell-group>
  237. <van-field
  238. v-model="message10"
  239. rows="1"
  240. autosize
  241. label="延期时间"
  242. type="textarea"
  243. placeholder=""
  244. readonly="false"
  245. />
  246. </van-cell-group>
  247. </div>
  248. </div>
  249. <div class="contents2">
  250. <div>
  251. <van-cell-group>
  252. <van-field
  253. v-model="message11"
  254. rows="1"
  255. autosize
  256. label="审批留言"
  257. type="textarea"
  258. placeholder="请输入"
  259. />
  260. </van-cell-group>
  261. </div>
  262. </div>
  263. <div style="display: flex">
  264. <div class="buttons">
  265. <button @click="click(1)">通过</button>
  266. </div>
  267. <div class="buttons" style="background:#CB2D04;">
  268. <button style="background:#CB2D04;" @click="click(3)">不通过</button>
  269. </div>
  270. <div class="buttons" style="background:#FE9801;">
  271. <button style="background:#FE9801;" @click="click(2)">驳回</button>
  272. </div>
  273. </div>
  274. </div>
  275. </template>
  276. <script>
  277. import { getAllUrlParams } from "../../../plugins/url-encapsulation.js";
  278. export default {
  279. data() {
  280. return {
  281. shows: true,
  282. value1: "", //检查专业
  283. value2: "", //隐患等级
  284. message1: "", //存在问题或隐患
  285. message2: "", //整改措施
  286. value3: "", //风险点
  287. value4: "", //风险类型
  288. value5: "", //风险等级
  289. value6: "", //事故类型
  290. message3: "", //风险描述
  291. message4: "", //后果及影响
  292. message5: "", //管控措施
  293. message6: "", //整改责任单位
  294. message7: "", //整改责任人
  295. value7: "", //督办部门
  296. value8: "", //督办责任人
  297. value9: "", //整改期限
  298. message8: "", //整改意见
  299. fileList: [],
  300. infos: [],
  301. // 检查人部门
  302. value10: "",
  303. // 整改类型
  304. value11: "",
  305. // 检查人
  306. value12: "",
  307. // 详情id
  308. id: "",
  309. // 详情数据
  310. detail: {},
  311. // 审批留言
  312. message11: "",
  313. };
  314. },
  315. methods: {
  316. //返回按钮
  317. onClickLeft() {
  318. window.history.back();
  319. // console.log("sss");
  320. },
  321. afterRead(file) {
  322. console.log(file);
  323. },
  324. // 获取详情
  325. getTroubleshootDetail(id) {
  326. this.$toast.loading();
  327. this.$http
  328. .post(
  329. "http://meihuajing.nxjiewei.com:8011/api/troubleshoot/getTroubleshootDetail",
  330. {
  331. id: id,
  332. }
  333. )
  334. .then((res) => {
  335. this.$toast.clear();
  336. console.log(res.data.data);
  337. this.detail = res.data.data;
  338. const data = res.data.data;
  339. this.value10 = data.inspected_unit;
  340. this.value1 = data.inspection_specialty;
  341. this.value2 = data.hidden_danger_level;
  342. this.message1 = data.hidden_danger;
  343. this.message2 = data.rectification_measures;
  344. this.value3 = data.risk_rating.risk_point;
  345. this.value4 = data.risk_rating.risk_type;
  346. this.value5 = data.risk_rating.risk_level;
  347. this.value6 = data.risk_rating.accident_type;
  348. this.message3 = data.risk_rating.risk_description;
  349. this.message4 = data.risk_rating.consequences_and_impact;
  350. this.message5 = data.risk_rating.control_measures;
  351. this.message6 = data.rectification_duty_unit;
  352. this.message7 = data.rectification_duty_person;
  353. this.value7 = data.supervision_department;
  354. this.value8 = data.supervision_duty_person;
  355. this.value11 = data.rectification_type;
  356. this.value9 = data.rectification_term;
  357. this.value12 = data.inspected_person;
  358. this.message8 = data.rectification_opinion;
  359. this.message9 = data.delay_reason;
  360. this.message10 = data.delay_term;
  361. });
  362. },
  363. // 延期审批
  364. click(index){
  365. console.log(index,this.message11)
  366. if (this.message11 == "") {
  367. this.$toast("请填写审批留言。");
  368. return;
  369. }
  370. this.$toast.loading();
  371. this.$http
  372. .post(
  373. "http://meihuajing.nxjiewei.com:8011/api/troubleshoot/updateTroubleshoot",
  374. {
  375. id: this.id,
  376. reject_reason: this.message11,
  377. deferred_approval_status:index,
  378. type:3
  379. }
  380. )
  381. .then((res) => {
  382. this.$toast.clear();
  383. console.log(res.data);
  384. window.history.back();
  385. });
  386. }
  387. },
  388. mounted() {
  389. document.body.style.backgroundColor = "#f0f0f0"; //背景色
  390. this.id = getAllUrlParams(window.location.href).id;
  391. this.getTroubleshootDetail(this.id);
  392. },
  393. };
  394. </script>
  395. <style scoped>
  396. >>> .van-nav-bar {
  397. background: #39f;
  398. }
  399. >>> .van-nav-bar__title {
  400. color: #fff;
  401. }
  402. >>> .van-nav-bar .van-icon {
  403. color: #fff;
  404. }
  405. >>> .van-nav-bar__text {
  406. color: #fff;
  407. }
  408. [class*="van-hairline"]:after {
  409. border: none;
  410. }
  411. .headers {
  412. width: 100%;
  413. background: #fff;
  414. }
  415. .contents,
  416. .contents1,
  417. .contents2 {
  418. width: 100%;
  419. background: #fff;
  420. margin-top: 10px;
  421. }
  422. .contents2 {
  423. margin-bottom: 20px;
  424. }
  425. .buttons {
  426. width: 110px;
  427. height: 40px;
  428. background: #39f;
  429. margin: 10px auto;
  430. text-align: center;
  431. line-height: 40px;
  432. border-radius: 20px;
  433. }
  434. .buttons > button {
  435. border: none;
  436. color: #fff;
  437. background: #39f;
  438. }
  439. .contents2_img {
  440. display: flex;
  441. }
  442. .contents2_img > p {
  443. font-size: 14px;
  444. margin-left: 16px;
  445. color: #646566;
  446. }
  447. .contents2_img > div {
  448. margin-left: 40px;
  449. }
  450. </style>