2c7c54e255e5b4f05cfc588e02102c361f66ab0f.svn-base 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300
  1. <template>
  2. <el-container class="reformFeedback">
  3. <el-aside style="border:1px solid #dcdfe6;" :style="{'height': cardHeight + 'px'}">
  4. <el-header style="font-size: 17px;height: 5vh;text-align: center;line-height: 5vh;border-bottom:1px solid #dcdfe6;">
  5. <strong>请选择项目:</strong>
  6. </el-header>
  7. <el-row style="overflow-y:auto;padding: 0 10px;">
  8. <el-tree
  9. :highlight-current="true"
  10. :data="treeDataLists"
  11. :props="defaultProps"
  12. node-key="id"
  13. @node-click = 'treeNodeClickHandler'
  14. ref="tree2"></el-tree>
  15. </el-row>
  16. </el-aside>
  17. <el-main>
  18. <el-form :model="form" label-width="110px">
  19. <el-form-item label="" style="text-align: right;">
  20. <el-button type="danger" @click="theRectificationReply">批复</el-button>
  21. </el-form-item>
  22. <el-form-item label="处罚情况说明:">
  23. <el-input v-model="form.punishMents" type="textarea" :rows="5" autocomplete="off" disabled></el-input>
  24. </el-form-item>
  25. <el-form-item label="问责情况说明:">
  26. <el-input v-model="form.rspnMents" type="textarea" :rows="5" autocomplete="off" disabled></el-input>
  27. </el-form-item>
  28. </el-form>
  29. <el-table
  30. :data="tableData"
  31. border
  32. stripe
  33. :height="tableHeight"
  34. style="width: 100%">
  35. <el-table-column
  36. prop="pblmNm"
  37. label="问题名称"
  38. min-width="180"
  39. show-overflow-tooltip
  40. align="center">
  41. </el-table-column>
  42. <el-table-column
  43. prop="note"
  44. label="问题描述"
  45. min-width="180"
  46. show-overflow-tooltip
  47. align="center">
  48. </el-table-column>
  49. <el-table-column
  50. label="严重性"
  51. min-width="80"
  52. show-overflow-tooltip
  53. align="center">
  54. <template slot-scope="scope">
  55. <p v-if="scope.row.pblmPasi == 0"><span class="inspPblmCate" style="background: #27C19F;">一般</span></p>
  56. <p v-if="scope.row.pblmPasi == 1"><span class="inspPblmCate" style="background: #E6A23C;" >较重</span></p>
  57. <p v-if="scope.row.pblmPasi == 2"><span class="inspPblmCate" style="background: #F56C6C;" >严重</span></p>
  58. </template>
  59. </el-table-column>
  60. <el-table-column
  61. label="问题详情"
  62. min-width="180"
  63. align="center">
  64. <template slot-scope="scope">
  65. <el-button type="text" size="small" @click="problemSee(scope.row)">查看</el-button>
  66. </template>
  67. </el-table-column>
  68. <el-table-column
  69. label="整改状态"
  70. min-width="120"
  71. align="center">
  72. <template slot-scope="scope">
  73. <span v-if="scope.row.rectConc">{{scope.row.rectConc == '1' ? '未整改' : scope.row.rectConc == '2' ? '整改中' : scope.row.rectConc == '3' ? '已整改' : scope.row.rectConc == '4' ? '不具备整改条件': ''}}</span>
  74. </template>
  75. </el-table-column>
  76. <el-table-column
  77. label="整改进度"
  78. min-width="80"
  79. align="center">
  80. <template slot-scope="scope">
  81. <el-button type="text" size="small" @click="toShowDetail(scope.row)">查看</el-button>
  82. </template>
  83. </el-table-column>
  84. <el-table-column
  85. label="批复意见"
  86. min-width="120"
  87. align="center">
  88. </el-table-column>
  89. </el-table>
  90. </el-main>
  91. <!-- 查看问题弹窗 -->
  92. <el-dialog
  93. title="查看问题"
  94. width="60%"
  95. :visible.sync="dialogDetailVisible"
  96. :close-on-click-modal="false"
  97. :modal-append-to-body="true"
  98. :append-to-body="true">
  99. <problem-detail :problemId="rowPblRowId"></problem-detail>
  100. </el-dialog>
  101. <!-- 整改反馈问题弹窗 -->
  102. <add-rectify v-if="showRectifyDialog" @dialogClose="dialogClose"></add-rectify>
  103. <!--处罚情况-->
  104. <punishCondition
  105. v-if="isPunishConditionDialog"
  106. @chuFaDialogClose="chuFaDialogClose"
  107. :isLookOver="ifMinistriesAgencies"
  108. ></punishCondition>
  109. <!--问责情况-->
  110. <accountabilityCondition v-if="isAccountabilityCondition" @wenZeDialogClose="wenZeDialogClose" :isLookOver="isWzLookOver"></accountabilityCondition>
  111. <!--整改进度查看-->
  112. <el-dialog title="整改进度" width="60%" :visible.sync="dialogDetailZgJdVisible" :close-on-click-modal="false" :modal-append-to-body="true" :append-to-body="true">
  113. <rectificationProgress @closeDialog="zgJdCloseDialog" :problemId="rowPblRowId" :pblmListId="pblmListId" :ifMinistriesAgencies="ifMinistriesAgencies"></rectificationProgress>
  114. </el-dialog>
  115. </el-container>
  116. </template>
  117. <script>
  118. import problemDetail from './problemDetail_zgfk.vue'
  119. import addRectify from './addRectify_zgfk.vue'
  120. import punishCondition from './punishCondition'
  121. import accountabilityCondition from './accountabilityCondition'
  122. import rectificationProgress from './rectificationProgress'
  123. import request from '../../../utils/gw_ajax_request'
  124. export default {
  125. name: "reformFeedback",
  126. components:{
  127. problemDetail,
  128. addRectify,
  129. punishCondition,
  130. accountabilityCondition,
  131. rectificationProgress
  132. },
  133. props:["rectId","ifMinistriesAgencies"],
  134. data(){
  135. return {
  136. formTable:{
  137. name:'',
  138. region:''
  139. },
  140. form:{
  141. "punishMents": '',
  142. "rspnMents": '',
  143. "id": "",
  144. "rectId": "",
  145. "rgstrId": "",
  146. "objId": "",
  147. "name": "",
  148. "rectConc": "",
  149. "note": null,
  150. "persId": null,
  151. "persName": null,
  152. "intm": "",
  153. "uptm": "",
  154. "dataStat": "0"
  155. },
  156. dialogDetailVisible:false,
  157. showRectifyDialog: false,
  158. isPunishConditionDialog:false,
  159. isAccountabilityCondition: false,
  160. tableData:[],
  161. tableHeight: window.innerHeight - 480,
  162. cardHeight: window.innerHeight - 170,
  163. pageSize: 1,
  164. pageNum: 20,
  165. spanOneArr:[],
  166. concatOne:0,
  167. spanEightArr:[],
  168. concatEight:0,
  169. spanNineArr:[],
  170. concatNine:0,
  171. isLookOver: true,
  172. isWzLookOver: false,
  173. dialogDetailZgJdVisible: false,
  174. treeDataLists:[],
  175. defaultProps: {
  176. // children: 'children',
  177. label: 'name'
  178. },
  179. nodeId:'',
  180. rowPblRowId:'',
  181. rectIds: '',
  182. pblmListId: ''
  183. }
  184. },
  185. mounted: function () {
  186. this.getTreeListData();
  187. },
  188. methods:{
  189. getTreeListData(){
  190. request.get(`/tac/pblm/rect/list/getRectListByInfoId/${this.rectId}`).then(res =>{
  191. this.treeDataLists = res.data;
  192. })
  193. },
  194. //树节点点击事件
  195. treeNodeClickHandler:function(data,node,tree){
  196. this.nodeId = data.id;
  197. this.getMenu();
  198. },
  199. getMenu(){
  200. request.get(`/tac/pblm/rect/list/${this.nodeId}`).then(res =>{
  201. if(res.success){
  202. this.form = res.data;
  203. }
  204. })
  205. request.get(`/tac/pblm/rect/list/plmb/getPlmbByPblmListId/${this.nodeId}`).then(res =>{
  206. if(res.success){
  207. this.$nextTick(()=>{
  208. this.tableData = res.data;
  209. })
  210. }
  211. })
  212. },
  213. updateQk(){
  214. if(this.nodeId){
  215. request.post(`/tac/pblm/rect/list/update`, this.form).then(res =>{
  216. if(res.success){
  217. this.$message.success("保存成功");
  218. this.$nextTick(()=>{
  219. this.form = res.data;
  220. })
  221. }
  222. })
  223. }else{
  224. this.$message.warning("请选择左侧项目");
  225. }
  226. },
  227. toSearch(){},
  228. exportTable(){},
  229. handleSizeChange(){},
  230. handleCurrentChange(){},
  231. // 问题查看
  232. problemSee(row){
  233. this.rowPblRowId = row.id;
  234. this.dialogDetailVisible = true;
  235. },
  236. toShowDetail(row){
  237. this.rowPblRowId = row.id;
  238. this.pblmListId = row.pblmListId;
  239. this.dialogDetailZgJdVisible = true;
  240. },
  241. toShowRectify(){
  242. this.showRectifyDialog = true
  243. },
  244. dialogClose(){
  245. this.showRectifyDialog = false
  246. },
  247. //关闭
  248. chuFaDialogClose(){
  249. this.isPunishConditionDialog = false;
  250. },
  251. //整改进度关闭
  252. zgJdCloseDialog(){
  253. this.dialogDetailZgJdVisible = false;
  254. },
  255. wenZeDialogClose(){
  256. this.isAccountabilityCondition = false;
  257. },
  258. //批复
  259. theRectificationReply(){
  260. }
  261. },
  262. watch:{
  263. rectId(n){
  264. if(n == '' || n == undefined){
  265. this.treeDataLists = [];
  266. this.form = {};
  267. this.tableData = [];
  268. }else{
  269. this.getTreeListData();
  270. }
  271. }
  272. }
  273. }
  274. </script>
  275. <style lang="scss" scoped>
  276. .reformFeedback{
  277. .el-tree-node__label {
  278. font-size: 14px;
  279. }
  280. .el-main{
  281. padding: 20px 20px 0 20px;
  282. }
  283. .inspPblmCate{
  284. padding: 2px 10px;
  285. border-radius:10px;
  286. color: #ffffff;
  287. -webkit-border-radius: 10px;
  288. -moz-border-radius: 10px;
  289. border-radius: 10px;
  290. }
  291. }
  292. </style>