signin.vue 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. <template>
  2. <view class="meet">
  3. <view class="mtop">
  4. <view class="tit">{{datainfo.conferenceTitle}}</view>
  5. <view class="ftxt">
  6. <text>会议地点</text>
  7. <view>{{datainfo.conferenceAddress}}</view>
  8. </view>
  9. <view class="ftxt">
  10. <text>会议时间</text>
  11. <view class="co1d">{{datainfo.conferenceDate}} {{datainfo.conferenceTime}}</view>
  12. </view>
  13. <view class="ftxt">
  14. <text>备注信息</text>
  15. <view>{{datainfo.remerk}}</view>
  16. </view>
  17. </view>
  18. <view class="mtop madr">
  19. <view class="tit mb24">会议签到</view>
  20. <!-- <view class="madra">
  21. <image :src="adrimg"></image>
  22. <view>安徽省合肥市蜀山区高薪技术产业开发区黄山路59号 时代数码港</view>
  23. </view> -->
  24. <view class="madrb" @click="getCodeFn">
  25. <view class="time">14:47:16</view>
  26. <view class="mqian">扫码签到</view>
  27. </view>
  28. <view class="tips flexcc">
  29. <!-- <image :src="choseimg"></image> -->
  30. <view>会议即将开始,请尽快签到哦</view>
  31. </view>
  32. <view class="madrc">
  33. <!-- 步骤条 -->
  34. <meet-step></meet-step>
  35. </view>
  36. </view>
  37. </view>
  38. </template>
  39. <script>
  40. import {getMeetDetaiFn,getMeetPeoListFn,getupdateReplyFn} from "@/api/mine/meeting.js"
  41. import meetStep from "@/work/components/meeting/step.vue"
  42. export default{
  43. components:{meetStep},
  44. data(){
  45. return{
  46. adrimg:require("@/work/static/images/meeting/adr.png"),
  47. choseimg:require("@/work/static/images/meeting/chose.png"),
  48. recordList:[{tit:'123'}],
  49. datainfo:{},
  50. userId:this.$store.state.user.userId,
  51. }
  52. },
  53. onLoad(e) {
  54. this.id=e.id;
  55. this.getDataFn();
  56. },
  57. methods:{
  58. getDataFn(){
  59. var params={
  60. conferenceId:this.id,
  61. userId:this.userId
  62. }
  63. getMeetDetaiFn(this.id).then(res=>{
  64. this.datainfo=res.data;
  65. })
  66. // 人员签到信息
  67. getMeetPeoListFn(params).then(res=>{
  68. })
  69. },
  70. getCodeFn(){
  71. var that = this;
  72. uni.scanCode({
  73. onlyFromCamera: true,
  74. autoZoom:false,
  75. scanType: ['qrCode'],
  76. success: function(red) {
  77. let result = red.result;
  78. if (typeof result == 'string') {
  79. try {
  80. } catch (e) {
  81. uni.navigateBack({
  82. delta: 1
  83. })
  84. uni.showToast({
  85. title: '扫码查询失败,请检查二维码是否正确',
  86. icon: "none"
  87. })
  88. return
  89. }
  90. }
  91. var id = red.result
  92. var params = {
  93. conferenceId: id,
  94. userId:this.userId
  95. }
  96. getupdateReplyFn(params).then(res => {
  97. if (res.code == 200) {
  98. if(res.msg=='核销失败'){
  99. that.$toast(res.msg)
  100. // that.$tab.navigateTo('/pages/order/stafffail')
  101. }else{
  102. that.$toast('签到成功')
  103. that.getDataFn()
  104. }
  105. } else {
  106. uni.showToast({
  107. title: res.msg,
  108. duration: 1000,
  109. icon: 'none'
  110. });
  111. }
  112. })
  113. },
  114. fail: function(e) {
  115. if (e && e.errMsg && e.errMsg.indexOf('scanCode:fail cancel') != -1) {
  116. return;
  117. }
  118. uni.showToast({
  119. title: '扫码失败',
  120. icon: "none"
  121. })
  122. },
  123. });
  124. },
  125. }
  126. }
  127. </script>
  128. <style scoped lang="scss">
  129. .meet{padding: 34rpx 24rpx;
  130. .mtop{width: 100%;background: #FFFFFF;box-shadow: 0px 0px 14rpx 0px rgba(153,152,152,0.39);
  131. border-radius: 10rpx;padding: 48rpx 40rpx 28rpx;margin-bottom: 30rpx;
  132. &.madr{padding: 48rpx 34rpx 28rpx;}
  133. .tit{font-weight: bold;font-size: 30rpx;color: #343434;margin-bottom: 36rpx;}
  134. .ftxt{display: flex;align-items: flex-start;margin-bottom: 20rpx;flex:0 1 auto;min-width: 50%;
  135. text{font-weight: bold;font-size: 26rpx;color: #CACACA;flex: 0 0 auto;min-width: 104rpx;text-align-last: justify;}
  136. view{flex: 1;color: #343434;font-size: 26rpx;margin-left: 20rpx;line-height: 34rpx;}
  137. }
  138. }
  139. .madra{display: flex;align-items: flex-start;margin-bottom: 56rpx;
  140. image{width: 24rpx;height: 26rpx;margin-right: 12rpx;flex: 0 0 auto;margin-top: 4rpx;}
  141. view{font-weight: 400;font-size: 26rpx;color: #222327;}
  142. }
  143. .madrb{
  144. width: 368rpx;height: 194rpx;background: #1D64E2;box-shadow: 0px 0px 10rpx 0px #6296F2;margin: 0 auto 34rpx;
  145. border-radius: 98rpx;display: flex;align-items: center;flex-direction: column;justify-content: center;
  146. .time{font-weight: bold;font-size: 30rpx;color: #FFFFFF;margin-bottom: 10rpx;}
  147. .mqian{font-weight: 500;font-size: 26rpx;color: #FFFFFF;}
  148. }
  149. .tips{margin-bottom: 52rpx;
  150. image{width: 20rpx;height: 20rpx;margin-right: 14rpx;}
  151. view{font-weight: 400;font-size: 26rpx;color: #666666;}
  152. }
  153. .madrc{padding-left: 34rpx;}
  154. }
  155. </style>