gateWayNotificationAllData.vue 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. <template>
  2. <div class="notificationAll">
  3. <el-dialog title="通告数据" custom-class="notificationAllOver" v-model="dialogVisible" :fullscreen="true" :close-on-click-modal="false">
  4. <div style="display: flex;">
  5. <div class="exceed">
  6. <span class="exceedSpan">通告标题:</span>
  7. <el-input v-model="noticeTitle" placeholder="请输入通告标题"></el-input>
  8. </div>
  9. <seachs :showRest="false" @handleSeach="getSeachData" @handleRest="resetSeach"></seachs>
  10. </div>
  11. <div class="notificationTableData">
  12. <el-table :data="notificationData.slice((page.currentPage-1)*page.pagesize, page.currentPage*page.pagesize)" style="width: 100%">
  13. <el-table-column label="发布状态" prop="releaseState" width="100" align="center">
  14. <template #default="scope">
  15. <span class="statusSty"
  16. :style="scope.row.releaseState === '已发布'?'background:#61C760':scope.row.releaseState === '未发布'?'background:#5093E1':'background:#9DA5BE'">
  17. {{scope.row.releaseState}}
  18. </span>
  19. </template>
  20. </el-table-column>
  21. <el-table-column label="通告标题" width="200">
  22. <template #default="scope">
  23. <el-tooltip
  24. class="box-item"
  25. effect="customized"
  26. :content="scope.row.noticeTitle"
  27. placement="right"
  28. >
  29. <span class="tooltipCCDes">{{scope.row.noticeTitle}}</span>
  30. </el-tooltip>
  31. </template>
  32. </el-table-column>
  33. <el-table-column label="通告内容" width="400">
  34. <template #default="scope">
  35. <el-tooltip
  36. class="box-item"
  37. effect="customized"
  38. :content="scope.row.noticeContent"
  39. placement="right"
  40. >
  41. <span class="tooltipCC">{{scope.row.noticeContent}}</span>
  42. </el-tooltip>
  43. </template>
  44. </el-table-column>
  45. <el-table-column label="发布部门" prop="releaseDeptName" width="200" />
  46. <el-table-column label="发布至" prop="sendTo" />
  47. <el-table-column label="发布人" prop="releasePeopleName" />
  48. <el-table-column label="发布时间" prop="createTime" />
  49. <el-table-column label="操作" width="80">
  50. <template #default="scope">
  51. <p class="indicitem" @click="watchDetail(scope.row)">详情</p>
  52. </template>
  53. </el-table-column>
  54. </el-table>
  55. <el-pagination
  56. @size-change="handleSizeChange"
  57. @current-change="handleCurrentChange"
  58. :current-page="page.currentPage"
  59. :page-size="page.pagesize"
  60. layout="total, prev, pager, next, jumper"
  61. :total="page.total">
  62. </el-pagination>
  63. </div>
  64. </el-dialog>
  65. <notification-detail ref="notificationDetail"></notification-detail>
  66. </div>
  67. </template>
  68. <script>
  69. import seachs from '../seachGroup.vue'
  70. import notificationDetail from './gateWayNotificationDetail.vue'
  71. import {apiGetevaluationdeptnoticeList} from '../../api/api'
  72. export default {
  73. components: {
  74. seachs,
  75. notificationDetail
  76. },
  77. data() {
  78. return {
  79. dialogVisible: false,
  80. noticeTitle: '',
  81. notificationData: [],
  82. page:{
  83. pagesize: 12,
  84. currentPage: 1,
  85. total: 0
  86. },
  87. }
  88. },
  89. methods: {
  90. init() {
  91. this.dialogVisible = true
  92. this.getevalunotificationList()
  93. },
  94. // 查询列表页面
  95. getevalunotificationList() {
  96. let that = this
  97. let userMes = JSON.parse(window.sessionStorage.getItem('user'))
  98. if (userMes.deptId) {
  99. let params = {
  100. deptId: userMes.deptId,
  101. noticeTitle: that.noticeTitle
  102. }
  103. apiGetevaluationCircularDisplaylist(params).then(datas =>{
  104. if (datas && datas.data) {
  105. that.notificationData = datas.data
  106. that.page.total = datas.data.length
  107. }
  108. })
  109. }
  110. },
  111. watchDetail(row) {
  112. this.$refs.notificationDetail.init(row)
  113. },
  114. }
  115. }
  116. </script>
  117. <style lang="less">
  118. .notificationAll{
  119. .el-overlay{
  120. .notificationAllOver{
  121. .el-dialog__body{
  122. padding: 30px 20px !important;
  123. .exceed{
  124. display: flex;
  125. .exceedSpan{
  126. width: 100px;
  127. height: 12px;
  128. font-size: 14px;
  129. font-family: Microsoft YaHei;
  130. font-weight: 400;
  131. color: #8991B0;
  132. line-height: 12px;
  133. margin-top: 14px;
  134. }
  135. .el-input{
  136. margin-right:10px;
  137. height: 40px;
  138. .el-input__inner{
  139. height:40px;
  140. }
  141. .el-input__suffix{
  142. .el-select__caret{
  143. line-height:30px;
  144. }
  145. }
  146. }
  147. }
  148. .notificationTableData{
  149. margin-top: 20px;
  150. .el-table{
  151. .el-table__body-wrapper{
  152. height: 65vh !important;
  153. }
  154. .el-input__inner{
  155. height: 30px !important;
  156. }
  157. .el-radio__label{
  158. display: none;
  159. }
  160. .statusSty{
  161. width: 52px;
  162. height: 21px;
  163. line-height: 21px;
  164. display: inline-block;
  165. border-radius: 3px;
  166. color: #fff;
  167. }
  168. .tooltipCC{
  169. width: 300px !important;
  170. display: inline-block;
  171. overflow: hidden;
  172. text-overflow: ellipsis;
  173. white-space: nowrap;
  174. }
  175. .tooltipCCDes{
  176. width: 200px;
  177. display: inline-block;
  178. overflow: hidden;
  179. text-overflow: ellipsis;
  180. white-space: nowrap;
  181. }
  182. .indicitem{
  183. color: #409EFF;
  184. font-size: 12px;
  185. margin-right: 20px;
  186. cursor:pointer;
  187. &:hover{
  188. text-decoration: underline;
  189. }
  190. }
  191. }
  192. .el-pagination{
  193. margin-top: 20px;
  194. text-align: end;
  195. position: relative;
  196. }
  197. }
  198. }
  199. }
  200. }
  201. }
  202. </style>