architecture_details.vue 9.4 KB

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