architecture_details.vue 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277
  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="zdbwpic">
  83. <u-input v-model="formData.zdbwpic" 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. orgaction:[] //单位
  116. };
  117. },
  118. onLoad: function(option) {
  119. var data = option.id;
  120. that = this;
  121. // 接收来自上个页面传递的参数
  122. const eventChannel = this.getOpenerEventChannel();
  123. eventChannel.on('acceptDataFromOpenerPage', function(val) {
  124. that.formData = val;
  125. // console.log('val+++++++++++++++++++', this.formData);
  126. });
  127. },
  128. mounted() {
  129. uni.createSelectorQuery().in(this).select('.heigthButton').boundingClientRect(data => {
  130. this.wheight = data.height
  131. }).exec()
  132. },
  133. methods: {
  134. // 下载附件
  135. down(dwpmtzmc) {
  136. const fileExt = dwpmtzmc.substring(dwpmtzmc.lastIndexOf('.') + 1);
  137. var that = this;
  138. //加载框动画
  139. uni.showLoading({
  140. title: '正在下载……'
  141. });
  142. // #ifdef H5
  143. let link = document.createElement('a');
  144. link.href = dwpmtzmc;
  145. link.download = '';
  146. document.body.appendChild(link);
  147. link.click();
  148. link.remove();
  149. uni.hideLoading();
  150. uni.showToast({
  151. icon: 'success',
  152. mask: true,
  153. title: '文件已下载',
  154. duration: 2000
  155. });
  156. // #endif
  157. // #ifdef MP-WEIXIN
  158. // console.log(that.hostUrl + '/uploads'+ dwpmtzmc)
  159. uni.downloadFile({
  160. url: dwpmtzmc, //下载地址接口返回
  161. success: data => {
  162. // console.log('打印data', data);
  163. if (data.statusCode === 200) {
  164. //隐藏加载框
  165. uni.hideLoading();
  166. //文件保存到本地
  167. wx.getFileSystemManager().saveFile({
  168. tempFilePath: data.tempFilePath, //临时路径
  169. success: function(res) {
  170. // console.log('打印res', res);
  171. uni.showToast({
  172. icon: 'success',
  173. mask: true,
  174. title: '文件已保存:' + res.savedFilePath, //保存路径
  175. title: '下载成功',
  176. duration: 2000
  177. });
  178. //自动打开文档查看
  179. setTimeout(() => {
  180. var filePath = res.savedFilePath;
  181. uni.openDocument({
  182. //新开页面打开文档,支持格式:doc, xls, ppt, pdf, docx, xlsx, pptx。
  183. filePath: filePath,
  184. fileType: fileExt,
  185. showMenu: false,
  186. success: function(res) {
  187. console.log('打开文档成功');
  188. },
  189. fail: function() {
  190. uni.showToast({
  191. title: '暂不支持打开此类型',
  192. duration: 2000,
  193. icon: 'none'
  194. });
  195. }
  196. });
  197. }, 2000);
  198. }
  199. });
  200. }
  201. },
  202. fail: err => {
  203. console.log(err);
  204. uni.showToast({
  205. icon: 'none',
  206. mask: true,
  207. title: '文件下载失败'
  208. });
  209. }
  210. }) // #endif
  211. },
  212. // 传递当前页面数据到 ‘修改信息’
  213. gotoEditArc(val) {
  214. uni.navigateTo({
  215. url: '/pagesA/fire/architecture/edit_architecture/edit_architecture',
  216. events: {
  217. // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据
  218. acceptDataFromOpenedPage: function(val) {
  219. this.formData = val;
  220. }
  221. },
  222. success: function(res) {
  223. // 通过eventChannel向被打开页面传送数据
  224. res.eventChannel.emit('acceptDataFromOpenerPage', val);
  225. }
  226. });
  227. }
  228. }
  229. };
  230. </script>
  231. <style lang="scss" scoped>
  232. page {
  233. height: 100%;
  234. }
  235. // .container {
  236. // position: relative;
  237. // height: '';
  238. // background-color: rgb(245, 247, 249);
  239. // }
  240. .buju {
  241. margin: 40rpx;
  242. }
  243. .cont {}
  244. .weiwan {
  245. color: #d51a52;
  246. background: rgba(213, 26, 82, 0.2);
  247. padding: 5rpx 20rpx;
  248. border-radius: 2px;
  249. border: 1px solid #d51a52;
  250. }
  251. .yiwan {
  252. color: #4cb2b6;
  253. background: rgba(76, 178, 182, 0.2);
  254. padding: 5rpx 20rpx;
  255. border-radius: 2px;
  256. border: 1px solid #4cb2b6;
  257. }
  258. .miaoshu {
  259. margin-right: 20rpx;
  260. color: #274647;
  261. font-weight: 600;
  262. }
  263. .example {
  264. overflow-y: auto;
  265. }
  266. </style>