8a9138e01c20d96a5da12735b755d48f4bf3c1cb.svn-base 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. <template>
  2. <div id="trackTableContainer" class="trackTableClass">
  3. <draagable :title="draagableTitle" @closeDraggable="closeDraggable" initTop=-15 initLeft=45 initWidth=900 initHeight=500 style="z-index: 999">
  4. <div style="display: flex;padding: 10px;">
  5. <treeselect v-model="adCode" :options="treeOptions" :normalizer="normalizer" :show-count="false" placeholder="请选择区划" size="mini" style="width: 130px;height:28px;margin-left: 10px;"/>
  6. <el-input v-model="persNameViewed" placeHolder="请输入被查看人名称" clearable style="width: 150px;margin-left: 10px;"></el-input>
  7. <el-input v-model="persName" placeHolder="请输入查看人名称" clearable style="width: 150px;margin-left: 10px;"></el-input>
  8. <el-date-picker
  9. v-model="dateRange"
  10. style="width: 200px;margin-left: 10px;"
  11. value-format="yyyy-MM-dd"
  12. type="daterange"
  13. clearable
  14. range-separator="至"
  15. start-placeholder="开始日期"
  16. end-placeholder="结束日期">
  17. </el-date-picker>
  18. <el-button type="primary" @click="clickHandler" style="height:28px;line-height: 28px;padding: 0px 15px;margin-left: 10px;">查询</el-button>
  19. </div>
  20. <div style="height:365px;">
  21. <el-table :data="tableResultData" :height="360">
  22. <el-table-column align="center" prop="adName" min-width="100" label="行政区划" show-overflow-tooltip></el-table-column>
  23. <el-table-column align="center" prop="persName" min-width="100" label="查看人名称" show-overflow-tooltip></el-table-column>
  24. <el-table-column align="center" prop="persNameViewed" min-width="100" label="被查看人名称" show-overflow-tooltip></el-table-column>
  25. <el-table-column align="center" prop="intm" min-width="160" label="创建时间" show-overflow-tooltip></el-table-column>
  26. <el-table-column align="center" prop="note" min-width="160" label="备注" show-overflow-tooltip></el-table-column>
  27. </el-table>
  28. </div>
  29. <el-pagination
  30. background
  31. :pager-count="3"
  32. :current-page="pageNum"
  33. :page-size="pageSize"
  34. :page-sizes="[10, 20, 30, 40, 50, 100]"
  35. layout="sizes, total, prev, pager, next"
  36. :total="total"
  37. @current-change="handleCurrentChange"
  38. @size-change="handleSizeChange"
  39. ></el-pagination>
  40. </draagable>
  41. </div>
  42. </template>
  43. <script>
  44. import request from "@util/gw_ajax_request.js";
  45. import {dateFormat} from "../../../utils/gw_date.js"
  46. import {getPersonTrackRecord} from '../../../api/zhxxAPI.js'
  47. import draagable from './draggable.vue'
  48. import Treeselect from '@riophae/vue-treeselect';
  49. import '@riophae/vue-treeselect/dist/vue-treeselect.css';
  50. export default {
  51. components:{
  52. draagable,
  53. Treeselect
  54. },
  55. props:['perId'],
  56. data(){
  57. return{
  58. loading:false,
  59. draagableTitle:'浏览记录',
  60. tableResultData:[],
  61. adCode:undefined,
  62. persNameViewed:"",
  63. persName:"",
  64. dateRange:[],
  65. treeOptions:undefined,
  66. pageNum:1,
  67. pageSize:10,
  68. total:0
  69. }
  70. },
  71. mounted:function(){
  72. this.getAdTree();
  73. this.getTrackList();
  74. },
  75. methods:{
  76. handleCurrentChange(val) {
  77. this.pageNum = val;
  78. this.getTrackList();
  79. },
  80. handleSizeChange(val) {
  81. this.pageSize = val;
  82. this.getTrackList();
  83. },
  84. normalizer(node) {
  85. if (node.adUpDtoList && !node.adUpDtoList.length) {
  86. delete node.adUpDtoList;
  87. }
  88. return {
  89. id: node.adCode,
  90. label: node.adName,
  91. children: node.adUpDtoList
  92. };
  93. },
  94. getAdTree(){
  95. var _self = this;
  96. request.get('/dc/ad/base/getTreeByUser').then(res=>{
  97. if(res.success){
  98. _self.treeOptions = res.data;
  99. }
  100. })
  101. },
  102. formatDate(row,column){
  103. if(row.intm){
  104. return (dateFormat(row.intm,'yyyy-MM-dd hh:mm:ss'));
  105. }
  106. },
  107. closeDraggable:function(){
  108. this.$emit("closeDraggable","trackRecordTable");
  109. },
  110. clickHandler(){
  111. this.getTrackList();
  112. },
  113. getTrackList:function(){
  114. var params = {
  115. pageNum:this.pageNum,
  116. pageSize:this.pageSize,
  117. adCode:this.adCode,
  118. persNameViewed:this.persNameViewed,
  119. persName:this.persName,
  120. sttm:"",
  121. entm:""
  122. }
  123. if(this.dateRange && this.dateRange.length>0){
  124. params.sttm = this.dateRange[0];
  125. params.entm = this.dateRange[1];
  126. }
  127. getPersonTrackRecord(params).then((res)=>{
  128. if(res.success){
  129. this.tableResultData = res.data.list;
  130. this.total = res.data.total;
  131. }
  132. });
  133. },
  134. }
  135. }
  136. </script>
  137. <style lang="scss" scoped>
  138. #trackTableContainer .el-table__body-wrapper{
  139. /* overflow: auto; */
  140. }
  141. .trackTableClass{
  142. position: fixed;
  143. left: 20px;
  144. top: 119px;
  145. z-index: 590;
  146. /* width: 390px;
  147. height: 490px; */
  148. }
  149. #draggableContainer .el-table{
  150. color:#928f8f;
  151. }
  152. #draggableContainer .el-table thead{
  153. color: #a29a9a;
  154. }
  155. #draggableContainer .el-table tr{
  156. background-color: #f9f9f9;
  157. }
  158. .vue-treeselect /deep/.vue-treeselect__control{
  159. height:26px !important;
  160. line-height: 26px !important;
  161. }
  162. .vue-treeselect /deep/ .vue-treeselect__placeholder, .vue-treeselect__single-value{
  163. line-height: 28px !important;
  164. font-size: 12px;
  165. }
  166. </style>