d87fd660173e46b92e5555a1fbd459b9d8d35362.svn-base 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261
  1. <template>
  2. <div>
  3. <el-container :style="{'height':this.tableHeight+'px'}" >
  4. <el-main style="border:1px solid #d5d5ff;margin-left:5px;padding:0px;overflow-x: hidden;">
  5. <el-table
  6. v-loading="loading"
  7. ref="multipleTable"
  8. :data="problemList"
  9. :height="tableHeight1"
  10. style="width: 100%">
  11. <el-table-column align="center" type="index" label="序号" min-width="70">
  12. <template slot-scope="scope">
  13. {{ (currentPage - 1) * pageSize + (scope.$index + 1) }}
  14. </template>
  15. </el-table-column>
  16. <el-table-column
  17. header-align="center"
  18. align="center"
  19. min-width="140"
  20. prop="inspPblmsName"
  21. label="督查水库问题类别"
  22. show-overflow-tooltip>
  23. </el-table-column>
  24. <el-table-column
  25. header-align="center"
  26. align="center"
  27. min-width="100"
  28. prop="checkPoint"
  29. label="检查项目"
  30. show-overflow-tooltip>
  31. </el-table-column>
  32. <el-table-column
  33. header-align="center"
  34. align="center"
  35. min-width="100"
  36. prop="inspPblmName"
  37. label="详细描述"
  38. show-overflow-tooltip>
  39. </el-table-column>
  40. <el-table-column
  41. prop="collTime"
  42. label="上报时间"
  43. :formatter="timestampToTime"
  44. sortable
  45. align="center"
  46. min-width="100"
  47. show-overflow-tooltip>
  48. </el-table-column>
  49. <el-table-column
  50. align="center"
  51. prop
  52. min-width="80"
  53. label="操作"
  54. show-overflow-tooltip
  55. fixed="right">
  56. <template slot-scope="scope">
  57. <el-button icon="el-icon-view" title="查看详情"type="text" @click="showDetails(scope.row.pblmId)"></el-button>
  58. <!-- <el-button icon="el-icon-edit" type="text" title="修改问题" @click="changeSup(scope.row.pblmId)" v-if="ownPriv('manage')"></el-button>
  59. <el-button icon="el-icon-delete" type="text" v-if="ownPriv('manage')" title="删除问题" @click="removeSuperviseOne(scope.row.pblmId)"
  60. ></el-button> -->
  61. </template>
  62. </el-table-column>
  63. </el-table>
  64. </el-main>
  65. </el-container>
  66. <!-- 分页 -->
  67. <!-- <div class="paginationWarpper">
  68. <el-pagination
  69. class="paginationCenter"
  70. background
  71. @size-change="handleSizeChange"
  72. @current-change="search"
  73. :current-page.sync="currentPage"
  74. :page-sizes="[10, 20, 50, 100]"
  75. :page-size="pageSize"
  76. layout="total, sizes, prev, pager, next, jumper"
  77. :total="total">
  78. </el-pagination>
  79. </div> -->
  80. <!-- 详情组件-->
  81. <el-dialog
  82. class="custom_dialog"
  83. title="问题详情"
  84. width="60%"
  85. append-to-body
  86. :visible.sync="supervisionDetailsVisible">
  87. <supervision-details ref="xianqing" :problemId="currentProblemId"></supervision-details>
  88. <span slot="footer">
  89. <el-button style="margin-top:5px;" @click="supervisionDetailsVisible = false">返回</el-button>
  90. </span>
  91. </el-dialog>
  92. <!-- 删除组件 -->
  93. <el-dialog class="deleteDialog" title="问题删除描述" append-to-body :visible.sync="problemDeleteVisible">
  94. <Problem-delete
  95. ref="deleteMiaoShu"
  96. :deleteProblemId="deleteId"
  97. @deleteSuccess="deleteSuccess"
  98. ></Problem-delete>
  99. <span slot="footer">
  100. <el-button @click="problemDeleteVisible = false">返回</el-button>
  101. </span>
  102. </el-dialog>
  103. <!-- 修改组件 -->
  104. <problem-edit :editId="editId" @closeEditDialog="closeEditDialog" v-if="changeSupervisionVisible"></problem-edit>
  105. <!-- 添加问题组件 -->
  106. <problem-dialog
  107. v-if="showAddProblemDialog"
  108. :objType="1"
  109. :villType="0"
  110. :objId="currentObjectId"
  111. :objName="currentObjectName"
  112. :problemMiddleType="'小水库'"
  113. @closeDialog="closePlDialog"
  114. :currentObjectRgstrId="currentObjectRgstrId">
  115. </problem-dialog>
  116. </div>
  117. </template>
  118. <script>
  119. import {formatDateTimeD} from '../../../../../utils/gw_date.js'
  120. import problemDialog from "../../../../duChaWenTi/addProblem/xiaoshuiku_problem_dialog.vue";
  121. import request from '../../../../../utils/gw_ajax_request.js'
  122. export default {
  123. props: ['currentObjectId','currentObjectName','currentObjectRgstrId'],
  124. data(){
  125. return{
  126. tableHeight: window.innerHeight * 0.5,
  127. tableHeight1: window.innerHeight * 0.5 -2,
  128. problemList:[],
  129. loading: false,
  130. currentPage: 1,
  131. pageSize: 10,
  132. pageNum: 1,
  133. total: 0,
  134. supervisionDetailsVisible:false,
  135. currentProblemId: '',
  136. problemDeleteVisible: false,
  137. deleteId: '',
  138. editId: '',
  139. changeSupervisionVisible: false,
  140. showAddProblemDialog: false,
  141. rsvrRules: null,
  142. probId: '',
  143. }
  144. },
  145. components:{
  146. //详情页
  147. supervisionDetails: resolve => {
  148. require(["../../../../duChaWenTi/supervisionDetails_shuiku.vue"], resolve);
  149. },
  150. // 删除描述页
  151. ProblemDelete: resolve => {
  152. require(["../../../../duChaWenTi/problemDelete.vue"], resolve);
  153. },
  154. // 修改问题
  155. problemEdit: resolve => {
  156. require(["../../../../duChaWenTi/rsvrProblemModify.vue"], resolve);
  157. },
  158. problemDialog
  159. },
  160. computed:{
  161. persId() {
  162. return localStorage.getItem("userid") ? localStorage.getItem("userid") : "1098101939614724096";
  163. }
  164. },
  165. created(){
  166. this.findItemByType()
  167. },
  168. mounted(){
  169. this.getProblemList()
  170. },
  171. methods:{
  172. getProblemList(){
  173. let problemForm = {};
  174. problemForm.objId = this.currentObjectId;
  175. problemForm.objType = '1';
  176. problemForm.pageNum = this.currentPage;
  177. problemForm.pageSize = this.pageSize;
  178. problemForm.presId = this.persId;
  179. this.loading = true;
  180. //无登记表id不需要查询问题数据
  181. if(problemForm.objId){
  182. request.post(`/dc/insp/pblm/list/${this.persId}`, problemForm).then(res => {
  183. if (res.success) {
  184. this.problemList = res.data.list;
  185. this.total = res.data.total;
  186. this.loading = false;
  187. }
  188. }).catch(err=>{
  189. this.$message.error(err)
  190. this.loading = false;
  191. });
  192. }else{
  193. this.problemList = null;
  194. this.total = 0;
  195. this.loading = false;
  196. }
  197. },
  198. showDetails(pblmId){
  199. this.currentProblemId = pblmId
  200. this.supervisionDetailsVisible = true
  201. },
  202. changeSup(pblmId){
  203. this.editId = pblmId
  204. this.changeSupervisionVisible = true
  205. },
  206. removeSuperviseOne(pblmId){
  207. this.deleteId = pblmId
  208. this.problemDeleteVisible = true
  209. },
  210. deleteSuccess() {
  211. this.problemDeleteVisible = false;
  212. this.getProblemList();
  213. },
  214. search(val){
  215. this.currentPage = val
  216. this.getProblemList()
  217. },
  218. handleSizeChange(){},
  219. timestampToTime(row, column) {
  220. var date = new Date(row.collTime);
  221. var Y = date.getFullYear() + "-";
  222. var M =
  223. (date.getMonth() + 1 < 10
  224. ? "0" + (date.getMonth() + 1)
  225. : date.getMonth() + 1) + "-";
  226. var D =
  227. (date.getDate() < 10 ? "0" + date.getDate() : date.getDate()) + " ";
  228. var h =
  229. (date.getHours() < 10 ? "0" + date.getHours() : date.getHours()) + ":";
  230. var m =
  231. date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();
  232. return Y + M + D + h + m;
  233. },
  234. closeEditDialog(){
  235. this.changeSupervisionVisible = false
  236. },
  237. findItemByType(){
  238. const obj ={
  239. tname: "BIS_INSP_BASE_PRES_EXT"
  240. }
  241. request.post("/bis/insp/item/ques/info/findItemByType",obj).then(res =>{
  242. this.rsvrRules = res.data;
  243. })
  244. },
  245. addProblem(item){
  246. let rest = this.rsvrRules
  247. this.probId = rest[0].id;
  248. this.showAddProblemDialog = true
  249. },
  250. closePlDialog(val) {
  251. this.showAddProblemDialog = false;
  252. this.getProblemList()
  253. }
  254. }
  255. }
  256. </script>
  257. <style scoped>
  258. </style>