architecture_details.vue 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276
  1. <template>
  2. <view class=" uni-container">
  3. <view class="example container" :style="'height: ' + (screenHeight - wheight - 75) + 'px'">
  4. <!-- 自定义表单校验 1-->
  5. <u--form ref="customForm" :model="formData" labelPosition="top" labelWidth="250" labelAlign="left">
  6. <view class=" flex flex-direction width100">
  7. <u-form-item label="楼宇名称" prop="buildingName" :required="true">
  8. <u-input v-model="formData.buildingName" placeholder="必填。楼宇名称" :disabled="true"/>
  9. </u-form-item>
  10. <u-form-item label="所属单位" prop="orgName" :required="true">
  11. <u--input v-model="formData.orgName" disabled placeholder="必选。请选择所属单位"/>
  12. </u-form-item>
  13. <u-form-item label="楼宇编号 ">
  14. <u-input v-model="formData.buildingCode" placeholder="楼宇编号" :disabled="true"/>
  15. </u-form-item>
  16. <u-form-item label="楼龄 ">
  17. <u-input v-model="formData.buildingAge" placeholder="楼龄" :disabled="true"/>
  18. </u-form-item>
  19. <u-form-item label="楼层 ">
  20. <u-input v-model="formData.buildingFloor" placeholder="楼层" :disabled="true"/>
  21. </u-form-item>
  22. <u-form-item label="档案负责人">
  23. <u-input v-model="formData.dafzr" placeholder="档案负责人" :disabled="true"/>
  24. </u-form-item>
  25. <u-form-item label="占地面积">
  26. <u-input v-model="formData.zdmj" placeholder="占地面积" :disabled="true"/>
  27. </u-form-item>
  28. <u-form-item label="产权信息 ">
  29. <u-input v-model="formData.ownership" placeholder="产权信息" :disabled="true"/>
  30. </u-form-item>
  31. <u-form-item prop="dlwz" label="地理位置">
  32. <u-input v-model="formData.dlwz" placeholder="地理位置" :disabled="true"/>
  33. </u-form-item>
  34. <u-form-item label="有无避难层" prop="ywbnc">
  35. <u--input v-model="formData.ywbnc" disabled placeholder="有无避难层"/>
  36. </u-form-item>
  37. <u-form-item label="避难层层数">
  38. <u-input v-model="formData.bncsl" placeholder="避难层层数 " :disabled="true"/>
  39. </u-form-item>
  40. <u-form-item label="避难层面积">
  41. <u-input v-model="formData.bncmj" placeholder="避难层面积" :disabled="true"/>
  42. </u-form-item>
  43. <u-form-item label="避难层位置">
  44. <u-input v-model="formData.bncwz" placeholder="避难层位置" :disabled="true"/>
  45. </u-form-item>
  46. <u-form-item label="安全出口数">
  47. <u-input v-model="formData.aqcks" placeholder="安全出口数" :disabled="true"/>
  48. </u-form-item>
  49. <u-form-item label="建筑数量 ">
  50. <u-input v-model="formData.jzsl" placeholder="建筑数量" :disabled="true"/>
  51. </u-form-item>
  52. <u-form-item label="建筑高度 ">
  53. <u-input v-model="formData.buildingHeight" placeholder="建筑高度" :disabled="true"/>
  54. </u-form-item>
  55. <u-form-item label="建筑面积 ">
  56. <u-input v-model="formData.jzmj" placeholder="建筑面积" :disabled="true"/>
  57. </u-form-item>
  58. <u-form-item label="建筑结构 ">
  59. <u-input v-model="formData.buildingStructure" placeholder="建筑结构" :disabled="true"/>
  60. </u-form-item>
  61. <u-form-item label="消防车道数" prop="xfcds">
  62. <u-input v-model="formData.xfcds" placeholder="消防车道数" :disabled="true"/>
  63. </u-form-item>
  64. <u-form-item label="消防电梯数" prop="xfdts">
  65. <u-input v-model="formData.xfdts" placeholder="消防电梯数" :disabled="true"/>
  66. </u-form-item>
  67. <u-form-item prop="xfcdwz" label="消防车登高操作场地位置">
  68. <u-input v-model="formData.xfcdwz" placeholder="消防车登高操作场地位置" :disabled="true"/>
  69. </u-form-item>
  70. <u-form-item label="消防控制室位置" prop="xfkzswz">
  71. <u-input v-model="formData.xfkzswz" placeholder="消防控制室位置" :disabled="true"/>
  72. </u-form-item>
  73. <u-form-item label="自动消防设施情况">
  74. <u--input v-model="formData.zdxfss" disabled placeholder="自动消防设施情况"/>
  75. </u-form-item>
  76. <u-form-item label="耐火等级 ">
  77. <u-input v-model="formData.fireRating" placeholder="耐火等级" :disabled="true"/>
  78. </u-form-item>
  79. <u-form-item label="燃气类型 ">
  80. <u-input v-model="formData.rqlx" placeholder="燃气类型" :disabled="true"/>
  81. </u-form-item>
  82. <u-form-item label="重点部位" prop="xfdts">
  83. <u-input v-model="formData.zdbw" placeholder="请输入重点部位" />
  84. </u-form-item>
  85. <u-form-item label="总平面图纸名称 ">
  86. <view class="buju">
  87. <text v-if="formData.dwpmtzmc == '' || formData.dwpmtzmc == null">无</text>
  88. <!-- #ifdef MP-WEIXIN -->
  89. <text v-else-if="formData.dwpmtzmc" style="color:#00a3f4;cursor: pointer;"
  90. @click.native="down(formData.taskInfo.attId)">点击预览文件</text>
  91. <!-- #endif -->
  92. <!-- #ifdef H5 -->
  93. <a v-else-if="formData.dwpmtzmc" style="color:#00a3f4;cursor: pointer;"
  94. @click="down(formData.dwpmtzmc)">点击预览文件</a>
  95. <!-- #endif -->
  96. </view>
  97. </u-form-item>
  98. </view>
  99. </u--form>
  100. </view>
  101. <view class="heigthButton">
  102. <u-button @click="gotoEditArc(formData)" shape="circle" size="large" color="#4cb2b6"
  103. style="width:60%;margin-bottom: 20rpx;" text="修改信息"></u-button>
  104. </view>
  105. </view>
  106. </template>
  107. <script>
  108. var that = null;
  109. export default {
  110. data() {
  111. return {
  112. formData: {},
  113. screenHeight: this.$screenHeight,
  114. wheight: ''
  115. };
  116. },
  117. onLoad: function(option) {
  118. var data = option.id;
  119. that = this;
  120. // 接收来自上个页面传递的参数
  121. const eventChannel = this.getOpenerEventChannel();
  122. eventChannel.on('acceptDataFromOpenerPage', function(val) {
  123. that.formData = val;
  124. // console.log('val+++++++++++++++++++', this.formData);
  125. });
  126. },
  127. mounted() {
  128. uni.createSelectorQuery().in(this).select('.heigthButton').boundingClientRect(data => {
  129. this.wheight = data.height
  130. }).exec()
  131. },
  132. methods: {
  133. // 下载附件
  134. down(dwpmtzmc) {
  135. const fileExt = dwpmtzmc.substring(dwpmtzmc.lastIndexOf('.') + 1);
  136. var that = this;
  137. //加载框动画
  138. uni.showLoading({
  139. title: '正在下载……'
  140. });
  141. // #ifdef H5
  142. let link = document.createElement('a');
  143. link.href = dwpmtzmc;
  144. link.download = '';
  145. document.body.appendChild(link);
  146. link.click();
  147. link.remove();
  148. uni.hideLoading();
  149. uni.showToast({
  150. icon: 'success',
  151. mask: true,
  152. title: '文件已下载',
  153. duration: 2000
  154. });
  155. // #endif
  156. // #ifdef MP-WEIXIN
  157. // console.log(that.hostUrl + '/uploads'+ dwpmtzmc)
  158. uni.downloadFile({
  159. url: dwpmtzmc, //下载地址接口返回
  160. success: data => {
  161. // console.log('打印data', data);
  162. if (data.statusCode === 200) {
  163. //隐藏加载框
  164. uni.hideLoading();
  165. //文件保存到本地
  166. wx.getFileSystemManager().saveFile({
  167. tempFilePath: data.tempFilePath, //临时路径
  168. success: function(res) {
  169. // console.log('打印res', res);
  170. uni.showToast({
  171. icon: 'success',
  172. mask: true,
  173. title: '文件已保存:' + res.savedFilePath, //保存路径
  174. title: '下载成功',
  175. duration: 2000
  176. });
  177. //自动打开文档查看
  178. setTimeout(() => {
  179. var filePath = res.savedFilePath;
  180. uni.openDocument({
  181. //新开页面打开文档,支持格式:doc, xls, ppt, pdf, docx, xlsx, pptx。
  182. filePath: filePath,
  183. fileType: fileExt,
  184. showMenu: false,
  185. success: function(res) {
  186. console.log('打开文档成功');
  187. },
  188. fail: function() {
  189. uni.showToast({
  190. title: '暂不支持打开此类型',
  191. duration: 2000,
  192. icon: 'none'
  193. });
  194. }
  195. });
  196. }, 2000);
  197. }
  198. });
  199. }
  200. },
  201. fail: err => {
  202. console.log(err);
  203. uni.showToast({
  204. icon: 'none',
  205. mask: true,
  206. title: '文件下载失败'
  207. });
  208. }
  209. }) // #endif
  210. },
  211. // 传递当前页面数据到 ‘修改信息’
  212. gotoEditArc(val) {
  213. uni.navigateTo({
  214. url: '/pagesA/fire/architecture/edit_architecture/edit_architecture',
  215. events: {
  216. // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据
  217. acceptDataFromOpenedPage: function(val) {
  218. this.formData = val;
  219. }
  220. },
  221. success: function(res) {
  222. // 通过eventChannel向被打开页面传送数据
  223. res.eventChannel.emit('acceptDataFromOpenerPage', val);
  224. }
  225. });
  226. }
  227. }
  228. };
  229. </script>
  230. <style lang="scss" scoped>
  231. page {
  232. height: 100%;
  233. }
  234. // .container {
  235. // position: relative;
  236. // height: '';
  237. // background-color: rgb(245, 247, 249);
  238. // }
  239. .buju {
  240. margin: 40rpx;
  241. }
  242. .cont {}
  243. .weiwan {
  244. color: #d51a52;
  245. background: rgba(213, 26, 82, 0.2);
  246. padding: 5rpx 20rpx;
  247. border-radius: 2px;
  248. border: 1px solid #d51a52;
  249. }
  250. .yiwan {
  251. color: #4cb2b6;
  252. background: rgba(76, 178, 182, 0.2);
  253. padding: 5rpx 20rpx;
  254. border-radius: 2px;
  255. border: 1px solid #4cb2b6;
  256. }
  257. .miaoshu {
  258. margin-right: 20rpx;
  259. color: #274647;
  260. font-weight: 600;
  261. }
  262. .example {
  263. overflow-y: auto;
  264. }
  265. </style>