bb5e41245f58a7e835ad6e06838c8179fc009a81.svn-base 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283
  1. <template>
  2. <div>
  3. <el-dialog width="40%" :modal = true :append-to-body = true :before-close="closeProblemList" :visible.sync="proListFlag">
  4. <!-- <el-button @click="addProblem" type="primary" style="float: right;margin-bottom: 10px">添加问题</el-button> -->
  5. <!-- <el-table
  6. v-loading="loading"
  7. border
  8. ref="multipleTable"
  9. :data="problemList"
  10. :height="tableHeight"
  11. tooltip-effect="dark"
  12. style="width: 100%">
  13. <el-table-column align="center" type="index" label="序号" min-width="40">
  14. <template slot-scope="scope">
  15. {{ (currentPage - 1) * pageSize + (scope.$index + 1) }}
  16. </template>
  17. </el-table-column>
  18. <el-table-column
  19. header-align="center"
  20. align="center"
  21. min-width="140"
  22. prop="inspPblmName"
  23. label="督查方式"
  24. show-overflow-tooltip>
  25. </el-table-column>
  26. <el-table-column
  27. header-align="center"
  28. align="center"
  29. min-width="100"
  30. prop="checkPoint"
  31. label="检查项目"
  32. show-overflow-tooltip>
  33. </el-table-column>
  34. <el-table-column
  35. header-align="center"
  36. align="center"
  37. min-width="100"
  38. prop="inspPblmDesc"
  39. label="问题描述"
  40. show-overflow-tooltip>
  41. </el-table-column>
  42. <el-table-column
  43. prop="collTime"
  44. label="上报时间"
  45. :formatter="timestampToTime"
  46. sortable
  47. align="center"
  48. min-width="100"
  49. show-overflow-tooltip>
  50. </el-table-column>
  51. <el-table-column
  52. align="center"
  53. prop
  54. min-width="100"
  55. label="操作"
  56. show-overflow-tooltip
  57. fixed="right">
  58. <template slot-scope="scope">
  59. <el-button icon="el-icon-view" title="查看详情"type="text" @click="showDetails(scope.row.pblmId)"></el-button>
  60. <el-button icon="el-icon-edit" type="text" title="修改问题" @click="changeSup(scope.row.pblmId)" v-if="ownPriv('manage')"></el-button>
  61. <el-button icon="el-icon-delete" type="text" v-if="ownPriv('manage')" title="删除问题" @click="removeSuperviseOne(scope.row.pblmId)"
  62. ></el-button>
  63. </template>
  64. </el-table-column>
  65. </el-table> -->
  66. <!-- 详情组件-->
  67. <!-- <el-dialog
  68. class="custom_dialog"
  69. title="问题详情"
  70. width="60%"
  71. append-to-body
  72. :visible.sync="supervisionDetailsVisible">
  73. <supervision-details ref="xianqing" :problemId="currentProblemId" :objType="26"></supervision-details>
  74. <span slot="footer">
  75. <el-button style="margin-top:5px;" @click="supervisionDetailsVisible = false">返回</el-button>
  76. </span>
  77. </el-dialog> -->
  78. <!-- 删除组件 -->
  79. <!-- <el-dialog class="deleteDialog" title="问题删除描述" append-to-body :visible.sync="problemDeleteVisible">
  80. <Problem-delete
  81. ref="deleteMiaoShu"
  82. :deleteProblemId="deleteId"
  83. @deleteSuccess="deleteSuccess"
  84. ></Problem-delete>
  85. <span slot="footer">
  86. <el-button @click="problemDeleteVisible = false">返回</el-button>
  87. </span>
  88. </el-dialog> -->
  89. <!-- 修改组件 -->
  90. <!-- <problem-edit :editId="editId" @closeEditDialog="closeEditDialog" v-if="changeSupervisionVisible"></problem-edit> -->
  91. <!-- 添加问题组件 -->
  92. <problem-dialog
  93. v-if="showAddProblemDialog"
  94. :objType="26"
  95. :villType="26"
  96. :objId="currentObjectId"
  97. :objName="currentObjectName"
  98. :problemMiddleType="'水库防洪调度'"
  99. :problData="problData"
  100. @closeDialog="closePlDialog"
  101. :currentObjectRgstrId="currentObjectRgstrId"
  102. :rowData="rowData"
  103. :yshRowData="yshRowData"
  104. :gsgcRowData="gsgcRowData"
  105. :oriFatherName="oriFatherName"
  106. :villageNm="villageNm"
  107. ></problem-dialog>
  108. </el-dialog>
  109. </div>
  110. </template>
  111. <script>
  112. import {formatDateTimeD} from '@util/gw_date.js'
  113. import problemDialog from "../duChaWenTi/problemDialog.vue";
  114. import request from '@util/gw_ajax_request.js'
  115. export default {
  116. props: [
  117. 'currentObjectId',
  118. 'currentObjectName',
  119. 'currentObjectRgstrId',
  120. 'activeLabel',
  121. 'showProblemList',
  122. 'problemMiddleType',
  123. 'problData','rowData','yshRowData','gsgcRowData','oriFatherName','villageNm'],
  124. data(){
  125. return{
  126. tableHeight: window.innerHeight - 250,
  127. problemList:[],
  128. loading: false,
  129. currentPage: 1,
  130. pageSize: 10,
  131. pageNum: 1,
  132. total: 0,
  133. supervisionDetailsVisible:false,
  134. currentProblemId: '',
  135. problemDeleteVisible: false,
  136. deleteId: '',
  137. editId: '',
  138. changeSupervisionVisible: false,
  139. showAddProblemDialog: false,
  140. rsvrRules: null,
  141. probId: '',
  142. dialogFormVisible:true,
  143. proListFlag:''
  144. }
  145. },
  146. components:{
  147. //详情页
  148. supervisionDetails: resolve => {
  149. require(["../duChaWenTi/supervisionDetails_shuiku.vue"], resolve);
  150. },
  151. // 删除描述页
  152. ProblemDelete: resolve => {
  153. require(["../duChaWenTi/problemDelete.vue"], resolve);
  154. },
  155. // 修改问题
  156. problemEdit: resolve => {
  157. require(["../duChaWenTi/problemModify/fanghongProblemModify.vue"], resolve);
  158. },
  159. problemDialog
  160. },
  161. computed:{
  162. persId() {
  163. return localStorage.getItem("userid") ? localStorage.getItem("userid") : "1098101939614724096";
  164. }
  165. },
  166. created(){ },
  167. mounted(){
  168. // this.getProblemList();
  169. },
  170. methods:{
  171. getProblemList(){
  172. let problemForm = {}
  173. let quesId = this.problData;
  174. problemForm.objId = this.currentObjectId; //解决问题列表混杂问题
  175. problemForm.objType = '26';
  176. // problemForm.pageNum = this.currentPage;
  177. // problemForm.pageSize = this.pageSize;
  178. // problemForm.presId = this.persId;
  179. this.loading = true;
  180. request.get(`/dc/insp/pblm/getPblmList/${quesId}/${problemForm.objType}/${problemForm.objId}`).then(res => {
  181. if (res.success) {
  182. this.problemList = res.data;
  183. // this.total = res.data.total;
  184. this.loading = false;
  185. }
  186. }).catch(err=>{
  187. this.$message.error(err)
  188. this.loading = false;
  189. });
  190. },
  191. showDetails(pblmId){
  192. this.currentProblemId = pblmId
  193. this.supervisionDetailsVisible = true
  194. },
  195. changeSup(pblmId){
  196. this.editId = pblmId
  197. this.changeSupervisionVisible = true
  198. },
  199. removeSuperviseOne(pblmId){
  200. this.deleteId = pblmId
  201. this.problemDeleteVisible = true
  202. },
  203. deleteSuccess() {
  204. this.problemDeleteVisible = false;
  205. this.getProblemList();
  206. },
  207. search(val){
  208. this.currentPage = val
  209. this.getProblemList()
  210. },
  211. handleSizeChange(){},
  212. timestampToTime(row, column) {
  213. var date = new Date(row.collTime);
  214. var Y = date.getFullYear() + "-";
  215. var M =
  216. (date.getMonth() + 1 < 10
  217. ? "0" + (date.getMonth() + 1)
  218. : date.getMonth() + 1) + "-";
  219. var D =
  220. (date.getDate() < 10 ? "0" + date.getDate() : date.getDate()) + " ";
  221. var h =
  222. (date.getHours() < 10 ? "0" + date.getHours() : date.getHours()) + ":";
  223. var m =
  224. date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();
  225. return Y + M + D + h + m;
  226. },
  227. closeEditDialog(){
  228. this.changeSupervisionVisible = false
  229. setTimeout(()=>{
  230. this.getProblemList()
  231. },800)
  232. },
  233. addProblem(item){
  234. this.showAddProblemDialog = true
  235. },
  236. closePlDialog(val) {
  237. this.showAddProblemDialog = false;
  238. if (this.showProblemList){
  239. this.proListFlag = false;
  240. this.$emit('dialogFormVisible',this.proListFlag)
  241. }
  242. // this.getProblemList()
  243. },
  244. // 关闭问题列表
  245. closeProblemList(){
  246. // this.$confirm('确认退出吗?', '提示', {
  247. // confirmButtonText: '确定',
  248. // cancelButtonText: '取消',
  249. // type: 'warning'
  250. // }).then(() => {
  251. // this.$emit('closeProblemList');
  252. // }).catch(() => {
  253. // });
  254. if (this.showProblemList){
  255. this.proListFlag = false;
  256. this.$emit('dialogFormVisible',this.proListFlag)
  257. }
  258. },
  259. cancelHandler(){
  260. this.$emit('cancelHandler');
  261. },
  262. },
  263. watch:{
  264. activeLabel(val){
  265. if(val == '问题清单'){
  266. this.getProblemList()
  267. }
  268. }
  269. }
  270. }
  271. </script>
  272. <style scoped>
  273. .paginationWarpper {
  274. text-align: center;
  275. }
  276. </style>