readdetail.vue 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  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="输入委员姓名进行查询" />
  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="false"
  24. @rowClick="rowClick"
  25. @toggleRowSelection="toggleRowSelection"
  26. @toggleAllSelection="toggleAllSelection"
  27. :border="border"
  28. :borderr="borderr"
  29. @detail="getDetail"
  30. :data="tableData"></zb-table>
  31. </view>
  32. </view>
  33. <!-- 弹窗 -->
  34. <pop-up :type='ptype' @getClose="getClose"></pop-up>
  35. </view>
  36. </template>
  37. <script>
  38. import zbTable from "@/work/components/zb-table/zb-tables.vue"
  39. import {getCaseListFn} from "@/api/mine/case.js"
  40. import popUp from "@/work/components/popup/popup.vue"
  41. import {getDictionaryFn} from "@/api/mine/register.js"
  42. export default{
  43. components:{popUp,zbTable},
  44. data(){
  45. return{
  46. searchimg: require("@/work/static/images/search.png"),
  47. ccicoimg:require("@/work/static/images/ccico.png"),
  48. lbicoimg:require("@/work/static/images/lbico.png"),
  49. backimg:require("@/work/static/images/back.png"),
  50. upimg:require("@/work/static/images/up.png"),
  51. backgroundColor:"#1D64E2",
  52. tabidx:0,
  53. tabList:[{tit:'全部',val:0},{tit:'已读',val:1},{tit:'未读',val:2},{tit:'请假',val:3}],
  54. talbList:[{},],
  55. taztList:[{label:'是',value:'0'},{label:'否',value:'1'}],
  56. talbidx:'',
  57. datainfo:{
  58. talb:'',
  59. },
  60. columns: [
  61. { name: 'name', label: '姓名',width:130,align:'center', },
  62. { name: 'unit', label: '职务',align:'center'},
  63. { name: 'unit', label: '答复时间',align:'center'},
  64. // { name: 'unit', label: '是否参会',align:'center'},
  65. { name: 'isc', type:'operation',label: '是否参会',renders:[
  66. {
  67. name:'isc',
  68. type:'detail',
  69. func:"detail"
  70. },
  71. ]},
  72. ],
  73. ptype:'',//弹窗类型
  74. border:true,
  75. borderr:false,
  76. headbgColor:'#F1F1F1',
  77. tableData:[{name:'校长',unit:"委员",time:"2023",isc:'否'},{name:'校长',unit:"委员",time:"2023",isc:'是'},{name:'校长',unit:"委员",time:"2023",isc:'是'},{name:'校长',unit:"委员",time:"2023",isc:'是'},{name:'校长',unit:"委员",time:"2023",isc:'是'}],
  78. // pageSize: 10,
  79. // pageNum: 1,
  80. // reachflag: true,
  81. // wtdt:'',
  82. // tajdlist:[]
  83. }
  84. },
  85. onUnload(){
  86. uni.$off('refreshlist')
  87. },
  88. onLoad(e) {
  89. // this.getDataFn()
  90. // this.init()
  91. // uni.$on('refreshlist', (e) => {
  92. // this.getDataFn()
  93. // })
  94. },
  95. mounted() {
  96. },
  97. methods:{
  98. // 提案状态
  99. init(){
  100. // getDictionaryFn('proposal_progress').then(res=>{
  101. // if(res.code==200&&res.data.length){
  102. // this.tajdlist = res.data.map(v => {
  103. // return {
  104. // label: v.dictLabel,
  105. // value: Number(v.dictValue)
  106. // }
  107. // })
  108. // }
  109. // })
  110. },
  111. getClose(){
  112. this.ptype=""
  113. },
  114. getTabFn(idx){
  115. this.tabidx=idx;
  116. },
  117. getBack(){
  118. uni.navigateBack({
  119. delta:1
  120. })
  121. },
  122. bindDateChangea(e){
  123. console.log(e,2)
  124. },
  125. getChFn(){
  126. this.$tab.navigateTo('/work/pages/case/tacheck')
  127. },
  128. getTuiFn(ite){
  129. this.ptype=ite.type
  130. },
  131. rowClick(){
  132. },
  133. getDetail(data){
  134. console.log(52)
  135. // this.$tab.navigateTo('/work/pages/case/details?id='+data)
  136. },
  137. getDataFn(){
  138. var params={
  139. pageSize:this.pageSize,
  140. pageNum: this.pageNum,
  141. // visitType:3
  142. }
  143. getCaseListFn(params).then(res=>{
  144. if(res.code==200){
  145. if (res.rows.length < this.pageSize) {
  146. this.reachflag = false
  147. this.wtdt = '到底了~';
  148. } else {
  149. var num = parseInt(res.rows.length) + parseInt(this.pageSize) * parseInt(this.pageNum - 1)
  150. if (num < res.total) {
  151. this.reachflag = true
  152. this.wtdt = '上拉加载更多'
  153. } else {
  154. this.reachflag = false
  155. this.wtdt = '到底了~';
  156. }
  157. }
  158. if (this.pageNum == 1) {
  159. this.list = res.rows;
  160. } else {
  161. this.list = this.list.concat(res.rows)
  162. }
  163. }else{
  164. this.$toast(res.msg)
  165. }
  166. })
  167. },
  168. }
  169. }
  170. </script>
  171. <style scoped lang="scss">
  172. page{background-color: #FFFFFF;}
  173. .check{height: 100vh;display: flex;flex-direction: column;
  174. .tables{flex:0 1 auto;overflow: auto;padding: 0 24rpx;
  175. .table{
  176. height: 100%;
  177. }
  178. }
  179. .ctip{font-weight: 500;padding: 22rpx 24rpx 26rpx;font-size: 26rpx;color: #FF0000;}
  180. .cbtn{margin: 0 24rpx;height: 80rpx;background: #1D64E2;border-radius: 80rpx;font-weight: bold;font-size: 30rpx;color: #FFFFFF;}
  181. }
  182. .navbox{background-color: $com-cd3;flex: 0 0 auto;
  183. .tablists{
  184. overflow: auto;flex-wrap: nowrap;
  185. view{font-weight: bold;font-size: 26rpx;color: #FFFFFF;position: relative;flex: 1;padding: 22rpx 24rpx;margin-right: 6rpx;box-sizing: border-box;
  186. text-align: center;
  187. &:last-child{margin-right: 0;}
  188. &.act{font-size: 30rpx;
  189. &::after{content: '';width: 62rpx;height: 10rpx;background: #FFFFFF;border-radius: 4rpx;left: 50%;margin-left: -31rpx;bottom: 0rpx;position: absolute;}
  190. }
  191. }
  192. }
  193. }
  194. </style>