drill_details.vue 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. <template>
  2. <view class=" uni-container" v-if="formData.orgName">
  3. <view class="example container" :style="'height: ' + (screenHeight - wheight - 75) + 'px'">
  4. <!-- 自定义表单校验 1-->
  5. <u--form ref="customForm" :model="formData" labelPosition="top" labelWidth="150" labelAlign="left">
  6. <u-form-item label="培训演练标题 " prop="drillTitle" :required="true">
  7. <u-input v-model="formData.drillTitle" placeholder="培训演练标题" disabled />
  8. </u-form-item>
  9. <u-form-item label="所属单位" prop="orgName" :required="true">
  10. <u--input v-model="formData.orgName" disabled placeholder="请选择所属单位"></u--input>
  11. </u-form-item>
  12. <u-form-item label="记录类型" prop="drillType" :required="true">
  13. <u--input v-model="formData.drillTypeName" disabled placeholder="请选择记录类型"></u--input>
  14. </u-form-item>
  15. <u-form-item label="培训演练内容 " prop="drillContent">
  16. <u-textarea v-model="formData.drillContent" disabled placeholder="培训演练内容"></u-textarea>
  17. </u-form-item>
  18. <u-form-item label="培训演练时间" prop="drillDate">
  19. <uni-datetime-picker v-model="formData.drillDate" type="datetime" closeOnClickOverlay
  20. disabled></uni-datetime-picker>
  21. </u-form-item>
  22. <u-form-item label="培训演练地点" prop="drillPlace">
  23. <u-input v-model="formData.drillPlace" disabled placeholder="培训演练地点" />
  24. </u-form-item>
  25. <u-form-item label="培训演练讲师">
  26. <u-input v-model="formData.drillLecturer" disabled placeholder="培训演练讲师" />
  27. </u-form-item>
  28. <u-form-item label="参与人员数量">
  29. <u-input v-model="formData.participant" disabled placeholder="参与人员数量" />
  30. </u-form-item>
  31. <u-form-item label="附件">
  32. <view class="buju">
  33. <text v-if="formData.attId == '' || formData.attId == null">无</text>
  34. <!-- #ifdef MP-WEIXIN -->
  35. <text v-else style="color:#00a3f4;cursor: pointer;"
  36. @click.native="down(formData.attId)">点击预览文件</text>
  37. <!-- #endif -->
  38. <!-- #ifdef H5 -->
  39. <a v-else style="color:#00a3f4;cursor: pointer;" @click="down(formData.attId)">点击预览文件</a>
  40. <!-- #endif -->
  41. </view>
  42. </u-form-item>
  43. </u--form>
  44. </view>
  45. <uni-row class="heigthButton">
  46. <u-button v-if="historyView" @click="gotoDrill()" shape="circle" size="large" color="#4cb2b6"
  47. style="width: 60%;" text="返回"></u-button>
  48. <u-button v-else @click="gotoEditDrill(formData)" shape="circle" size="large" color="#4cb2b6"
  49. style="width: 60%;" text="修改信息"></u-button>
  50. </uni-row>
  51. </view>
  52. </template>
  53. <script>
  54. var that = null;
  55. import {
  56. downSee
  57. } from '@/utils/common'
  58. export default {
  59. data() {
  60. return {
  61. formData: {
  62. orgName: ''
  63. },
  64. formData: {
  65. orgName: ''
  66. },
  67. screenHeight: this.$screenHeight,
  68. wheight: '',
  69. historyView: false
  70. };
  71. },
  72. mounted() {
  73. uni.createSelectorQuery().in(this).select('.heigthButton').boundingClientRect(data => {
  74. this.wheight = data.height
  75. }).exec()
  76. },
  77. onLoad: function(option) {
  78. if (option.historyView == 'historyView') {
  79. this.historyView = true
  80. }
  81. that = this
  82. var data = option.id;
  83. // 接收来自上个页面传递的参数
  84. const eventChannel = this.getOpenerEventChannel();
  85. eventChannel.on('acceptDataFromOpenerPage', function(val) {
  86. that.formData = val;
  87. });
  88. this.formData.orgName = option.orgName
  89. },
  90. methods: {
  91. // 下载附件
  92. down(attId) {
  93. downSee(attId)
  94. },
  95. gotoDrill() {
  96. uni.navigateBack()
  97. },
  98. // 传递当前页面数据到 ‘修改信息’
  99. gotoEditDrill(val) {
  100. uni.navigateTo({
  101. url: '/pagesA/fire/drill/edit_drill/edit_drill',
  102. events: {
  103. // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据
  104. acceptDataFromOpenedPage: function(val) {
  105. this.formData = val;
  106. }
  107. },
  108. success: function(res) {
  109. // 通过eventChannel向被打开页面传送数据
  110. res.eventChannel.emit('acceptDataFromOpenerPage', val);
  111. }
  112. });
  113. }
  114. }
  115. };
  116. </script>
  117. <style lang="scss" scoped>
  118. page {
  119. background-color: #F5F7F9;
  120. }
  121. .container {
  122. position: relative;
  123. // height: 220vh;
  124. background-color: rgb(245, 247, 249);
  125. overflow: auto;
  126. .buju {
  127. margin: 40rpx;
  128. }
  129. }
  130. .cont {}
  131. .weiwan {
  132. color: #d51a52;
  133. background: rgba(213, 26, 82, 0.2);
  134. padding: 5rpx 20rpx;
  135. border-radius: 2px;
  136. border: 1px solid #d51a52;
  137. }
  138. .yiwan {
  139. color: #4cb2b6;
  140. background: rgba(76, 178, 182, 0.2);
  141. padding: 5rpx 20rpx;
  142. border-radius: 2px;
  143. border: 1px solid #4cb2b6;
  144. }
  145. .miaoshu {
  146. margin-right: 20rpx;
  147. color: #274647;
  148. font-weight: 600;
  149. }
  150. .example{
  151. overflow-y: auto;
  152. }
  153. </style>