index.vue 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242
  1. <!-- 查看团支部记录本领导 -->
  2. <template>
  3. <div class="arr_conten">
  4. <ul>
  5. <li v-for="(item, i) in lieList" :key="i">
  6. <div class="names">{{ item.deptName }}</div>
  7. <div class="btn">
  8. <el-button size="btJS" @click="chaKan(item)">查看</el-button>
  9. </div>
  10. </li>
  11. </ul>
  12. <!-- 查看第一次 -->
  13. <el-dialog :visible.sync="tableStatus" :title="title" append-to-body id="list" :close-on-click-modal="false"
  14. custom-class="lieBiao">
  15. <el-table v-loading="loading" :data="bdglpartyList"
  16. :header-cell-style="{ background: '#003C69', color: 'white' }">
  17. <el-table-column label="序号" type="index" width="50" align="center">
  18. <template scope="scope">
  19. <span>{{
  20. (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1
  21. }}</span>
  22. </template>
  23. </el-table-column>
  24. <el-table-column label="单位" align="center" prop="deptName" />
  25. <el-table-column label="召开时间" align="center" prop="convokeTime" width="120">
  26. <template slot-scope="scope">
  27. <span>{{ parseTime(scope.row.convokeTime, "{y}-{m}-{d}") }}</span>
  28. </template>
  29. </el-table-column>
  30. <el-table-column label="召开地点" align="center" prop="address" />
  31. <el-table-column label="主持人" align="center" prop="compereRen" />
  32. <el-table-column label="参加人" align="center" prop="joinId" show-overflow-tooltip />
  33. <el-table-column label="列席人" align="center" prop="peopleIds" show-overflow-tooltip />
  34. <el-table-column label="缺席人" align="center" prop="absentIds" show-overflow-tooltip />
  35. <el-table-column label="记录人" align="center" prop="peopleJiLu" />
  36. <el-table-column label="会议议题" align="center" show-overflow-tooltip>
  37. <template slot-scope="scope">
  38. <span>{{ onEditor(scope.row.title) }}</span>
  39. </template>
  40. </el-table-column>
  41. <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="100">
  42. <template slot-scope="scope">
  43. <el-button size="btk" type="text" @click="handleChakan(scope.row)"
  44. v-hasPermi="['grassrootsregistration:bdgldiary:edit']"><span class="chakan">查看</span></el-button>
  45. </template>
  46. </el-table-column>
  47. </el-table>
  48. <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
  49. @pagination="getList" />
  50. </el-dialog>
  51. <!-- 查看 -->
  52. <el-dialog :visible.sync="menuRoleVisible" :title="title" append-to-body id="chakan" :close-on-click-modal="false"
  53. :before-close="closes">
  54. <bdglmeeting v-if="menuRoleVisible" ref="menuRole" :message="wordInfo"></bdglmeeting>
  55. </el-dialog>
  56. </div>
  57. </template>
  58. <script>
  59. import {
  60. getMeetingList,
  61. getBdglmeeting,
  62. getMeetingOnUnitList
  63. } from "@/api/grassrootsregistration/bdglmeeting";
  64. //引入查看表格
  65. import bdglmeeting from "@/components/look_word/bdglmeeting.vue";
  66. export default {
  67. data() {
  68. return {
  69. lieList: [],
  70. //查看页面
  71. menuRoleVisible: false,
  72. title: null,
  73. tableStatus: false,
  74. queryParams: {
  75. pageNum: 1,
  76. pageSize: 10,
  77. },
  78. // 党支部记录本表格数据
  79. bdglpartyList: [],
  80. loading: false,
  81. total: 0,
  82. unitId: undefined
  83. };
  84. },
  85. created() {
  86. getMeetingList().then((res) => {
  87. this.lieList = res.rows;
  88. });
  89. },
  90. methods: {
  91. getList() {
  92. this.queryParams.unitId = this.unitId;
  93. getMeetingOnUnitList(this.queryParams).then((response) => {
  94. this.bdglpartyList = response.rows;
  95. this.total = response.total;
  96. });
  97. },
  98. chaKan(row) {
  99. this.queryParams.unitId = row.deptId;
  100. this.unitId = row.deptId
  101. getMeetingOnUnitList(this.queryParams).then((response) => {
  102. this.bdglpartyList = response.rows;
  103. this.title = "查看团支部记录本";
  104. this.tableStatus = true;
  105. this.total = response.total;
  106. });
  107. },
  108. handleChakan(row) {
  109. this.tableStatus = false;
  110. const id = row.id || this.ids;
  111. getBdglmeeting(id).then((response) => {
  112. this.wordInfo = response.data;
  113. this.title = "查看团支部记录本";
  114. this.menuRoleVisible = true;
  115. });
  116. },
  117. // 转义视图不加标签
  118. onEditor(str) {
  119. //可以在这里进行对应的操作 quill为富文本对象,html为富文本对象内内容由html标签组成,text为quill内容里面的所有文本内容
  120. if (str) {
  121. var str = str.replace(/<\/?[^>]*>/g, ""); //去除HTML tag
  122. str = str.replace(/[ | ]*\n/g, "\n"); //去除行尾空白
  123. return str;
  124. }
  125. },
  126. closes() {
  127. this.menuRoleVisible = false;
  128. this.tableStatus = true;
  129. }
  130. },
  131. components: {
  132. bdglmeeting,
  133. },
  134. computed: {},
  135. mounted() { },
  136. watch: {},
  137. };
  138. </script>
  139. <style scoped>
  140. ::v-deep .el-dialog {
  141. width: 1070px !important;
  142. }
  143. ::v-deep .el-dialog__body {
  144. margin: 10px 30px 20px 44px;
  145. padding-top: 20px !important;
  146. box-sizing: border-box;
  147. }
  148. ::v-deep .el-dialog__header {
  149. border-bottom: 1px solid #718a9d;
  150. }
  151. .arr_conten {
  152. padding-top: 20px;
  153. }
  154. ul {
  155. display: flex;
  156. /* justify-content: space-between; */
  157. padding: 0 22px;
  158. flex-wrap: wrap;
  159. }
  160. li {
  161. list-style: none;
  162. background: url("../../../assets/images/book.png") no-repeat;
  163. height: 140px;
  164. width: 222px;
  165. /* margin: 20px 0; */
  166. margin-bottom: 20px;
  167. background-size: 100% 100%;
  168. flex: 0 0 16%;
  169. margin-right: 10px;
  170. }
  171. .names {
  172. color: #fff;
  173. font-size: 14px;
  174. text-align: center;
  175. padding: 26px 26px 38px 26px;
  176. letter-spacing: 1px;
  177. }
  178. .btn {
  179. text-align: center;
  180. }
  181. ::v-deep .lieBiao {
  182. background: #004d86 !important;
  183. min-height: 42vh !important;
  184. }
  185. ::v-deep .el-dialog__title {
  186. color: #fff;
  187. font: 18px;
  188. }
  189. ::v-deep .el-dialog__headerbtn .el-dialog__close {
  190. color: #fff;
  191. }
  192. ::v-deep .pagination-container {
  193. /* display: none; */
  194. position: relative;
  195. height: 49px;
  196. margin-bottom: 10px;
  197. margin-top: 6vh;
  198. padding: 10px 20px !important;
  199. background: transparent !important;
  200. }
  201. ::v-deep .el-pagination .el-select .el-input .el-input__inner {
  202. background: #00365F !important;
  203. }
  204. ::v-deep .el-pagination.is-background .btn-prev,
  205. .el-pagination.is-background .btn-next {
  206. background: #00365F !important;
  207. }
  208. ::v-deep .el-pagination__editor.el-input .el-input__inner {
  209. background: #00365F !important;
  210. }
  211. ::v-deep .el-pagination.is-background .btn-next {
  212. background: #00365F !important;
  213. }
  214. ::v-deep .el-pagination.is-background .el-pager li {
  215. background: #00365F;
  216. }
  217. </style>