readdetail.vue 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. <template>
  2. <view class="check" >
  3. <view class="navbox">
  4. <view class="plr12 mt18">
  5. <view class="search flex0 mb10">
  6. <image :src="searchimg"></image>
  7. <input placeholder="输入委员姓名进行查询" v-model="title" @confirm="getSearch"/>
  8. </view>
  9. </view>
  10. <!-- <view class="tablists flexc mb20">
  11. <view v-for="(ite,idx) in tabList" @click="getTabFn(ite.val)" :class="{act:tabidx==ite.val}" :key="idx">{{ite.tit}}</view>
  12. </view> -->
  13. </view>
  14. <view class="ctip flex0">请左右滑动查看详细信息</view>
  15. <!-- 表格 -->
  16. <view class="tables">
  17. <view class="table">
  18. <zb-table
  19. :show-header="true"
  20. :columns="columns"
  21. :headbgColor="headbgColor"
  22. :stripe="false"
  23. :fit="true"
  24. :parameter="parameter"
  25. @rowClick="rowClick"
  26. @toggleRowSelection="toggleRowSelection"
  27. @toggleAllSelection="toggleAllSelection"
  28. :border="border"
  29. :borderr="borderr"
  30. @detail="getDetail"
  31. :data="tableData"></zb-table>
  32. </view>
  33. </view>
  34. <!-- 弹窗 -->
  35. <pop-up :type='ptype' @getClose="getClose"></pop-up>
  36. </view>
  37. </template>
  38. <script>
  39. import zbTable from "@/work/components/zb-table/zb-tables.vue"
  40. import {getMeetDetaiFn,getMeetPeoListFn,getzxActivityPeoFn} from "@/api/mine/meeting.js"
  41. import popUp from "@/work/components/popup/popup.vue"
  42. import {getDictionaryFn} from "@/api/mine/register.js"
  43. export default{
  44. components:{popUp,zbTable},
  45. data(){
  46. return{
  47. searchimg: require("@/work/static/images/search.png"),
  48. ccicoimg:require("@/work/static/images/ccico.png"),
  49. lbicoimg:require("@/work/static/images/lbico.png"),
  50. backimg:require("@/work/static/images/back.png"),
  51. upimg:require("@/work/static/images/up.png"),
  52. backgroundColor:"#1D64E2",
  53. tabidx:0,
  54. tabList:[{tit:'全部',val:0},{tit:'已读',val:1},{tit:'未读',val:2},{tit:'请假',val:3}],
  55. talbList:[{},],
  56. taztList:[{label:'是',value:'0'},{label:'否',value:'1'}],
  57. talbidx:'',
  58. datainfo:{
  59. talb:'',
  60. },
  61. columns: [
  62. { name: 'userName', label: '姓名',width:130,align:'center', },
  63. { name: 'postName', label: '工作地址及职务',align:'center'},
  64. { name: 'replyTime', label: '答复时间',align:'center'},
  65. // { name: 'unit', label: '是否参会',align:'center'},
  66. { name: 'isJoin', type:'operation',label: '是否参会',key:"qjlist",renders:[
  67. {
  68. name:'isJoin',
  69. type:'detail',
  70. func:"detail"
  71. },
  72. ]},
  73. { name: 'leaveReason', label: '请假事由',align:'center'},
  74. ],
  75. ptype:'',//弹窗类型
  76. border:true,
  77. borderr:false,
  78. headbgColor:'#F1F1F1',
  79. tableData:[],
  80. id:'',
  81. title:'',
  82. parameter:{
  83. qjlist:[]
  84. },
  85. tabidx:""
  86. }
  87. },
  88. onUnload(){
  89. uni.$off('refreshlist')
  90. },
  91. onLoad(e) {
  92. this.id=e.id;
  93. this.tabidx=e.a
  94. this.getDataFn()
  95. this.init()
  96. // this.getDataFn()
  97. // uni.$on('refreshlist', (e) => {
  98. // this.getDataFn()
  99. // })
  100. },
  101. mounted() {
  102. },
  103. methods:{
  104. // 提案状态
  105. init(){
  106. // 请假理由
  107. getDictionaryFn('leave').then(res=>{
  108. if(res.code==200&&res.data.length){
  109. this.parameter.qjlist = res.data.map(v => {
  110. return {
  111. label: v.dictLabel,
  112. value: v.dictValue
  113. }
  114. })
  115. }
  116. })
  117. },
  118. getClose(){
  119. this.ptype=""
  120. },
  121. getTabFn(idx){
  122. this.tabidx=idx;
  123. },
  124. getBack(){
  125. uni.navigateBack({
  126. delta:1
  127. })
  128. },
  129. rowClick(){
  130. },
  131. getDetail(data){
  132. console.log(52)
  133. // this.$tab.navigateTo('/work/pages/case/details?id='+data)
  134. },
  135. getSearch(){
  136. this.getDataFn()
  137. },
  138. getDataFn(){
  139. var params={
  140. userName:this.title
  141. }
  142. var type=this.tabidx;
  143. if(type=='zxhd'){
  144. params.activityId=this.id
  145. getzxActivityPeoFn(params).then(res=>{
  146. if(res.code==200){
  147. this.tableData=res.rows
  148. }
  149. })
  150. }else{
  151. params.conferenceId=this.id
  152. getMeetPeoListFn(params).then(res=>{
  153. if(res.code==200){
  154. this.tableData=res.rows
  155. }
  156. })
  157. }
  158. },
  159. }
  160. }
  161. </script>
  162. <style scoped lang="scss">
  163. page{background-color: #FFFFFF;}
  164. .check{height: 100vh;display: flex;flex-direction: column;
  165. .tables{flex:0 1 auto;overflow: auto;padding: 0 24rpx;
  166. .table{
  167. height: 100%;
  168. }
  169. }
  170. .ctip{font-weight: 500;padding: 22rpx 24rpx 26rpx;font-size: 26rpx;color: #FF0000;}
  171. .cbtn{margin: 0 24rpx;height: 80rpx;background: #1D64E2;border-radius: 80rpx;font-weight: bold;font-size: 30rpx;color: #FFFFFF;}
  172. }
  173. .navbox{background-color: $com-cd3;flex: 0 0 auto;
  174. .tablists{
  175. overflow: auto;flex-wrap: nowrap;
  176. view{font-weight: bold;font-size: 26rpx;color: #FFFFFF;position: relative;flex: 1;padding: 22rpx 24rpx;margin-right: 6rpx;box-sizing: border-box;
  177. text-align: center;
  178. &:last-child{margin-right: 0;}
  179. &.act{font-size: 30rpx;
  180. &::after{content: '';width: 62rpx;height: 10rpx;background: #FFFFFF;border-radius: 4rpx;left: 50%;margin-left: -31rpx;bottom: 0rpx;position: absolute;}
  181. }
  182. }
  183. }
  184. }
  185. </style>