hcDetails.vue 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. <template>
  2. <view class="details">
  3. <view class="search">
  4. <van-icon name="wap-nav" @click="returnList" />
  5. </view>
  6. <van-sticky :offset-top="-10">
  7. <van-tabs sticky v-model="active" class="tabs">
  8. <van-tab v-for="(item, key) in tabOptions" :key="key" :title="item">
  9. <view class="hclist" v-if="key==0">
  10. <van-cell v-for="(item, i) in jbxxs" :key="i" :title="item.name" :value="infoObj[item.prop]" />
  11. </view>
  12. <view class="hclist" v-if="active==1">
  13. <van-tabs sticky v-if="sheets.length" v-model="ywyptab">
  14. <van-tab v-for="ypitem in sheets" :key="ypitem.sheet" :title="ypitem.type"
  15. :name="ypitem.sheet">
  16. <view>
  17. <img :src="ypitem.photo" width="100%" />
  18. 压占{{ ypitem.type }}面积共{{ ypitem.mjj }}平方米
  19. <van-cell>
  20. <van-row>
  21. <van-col :span="8" v-for="(item, i) in tdxzTable"
  22. :key="i">{{item.label}}</van-col>
  23. </van-row>
  24. </van-cell>
  25. <van-cell>
  26. <van-row v-for="(row, index) in ypitem.data_list" :key="index">
  27. <van-col :span="8" v-for="(item, i) in tdxzTable" :key="i">
  28. <div v-if="item.slot == 'ratio'">
  29. {{ ((row.yzmj / ypitem.yzmj) * 100).toFixed(2) }}%
  30. </div>
  31. <span v-else>{{ row[item.prop] }}</span>
  32. </van-col>
  33. </van-row>
  34. </van-cell>
  35. </view>
  36. </van-tab>
  37. </van-tabs>
  38. </view>
  39. <view class="hclist" v-if="key==2">
  40. <van-uploader v-model="fileList" multiple :after-read="afterRead" />
  41. </view>
  42. <view class="hclist" v-if="key==3">
  43. <uni-forms ref="form" :model="checkform" labelWidth="80px">
  44. <uni-forms-item label="实际地类" name="nickName">
  45. <uni-data-select v-model="checkform.phonenumber" :localdata="range"></uni-data-select>
  46. </uni-forms-item>
  47. <uni-forms-item label="核查初判" name="phonenumber">
  48. <uni-data-select v-model="checkform.phonenumber" :localdata="range"></uni-data-select>
  49. </uni-forms-item>
  50. <uni-forms-item label="其它材料" name="email">
  51. <van-uploader v-model="checkform.fileList" multiple :after-read="afterRead" />
  52. </uni-forms-item>
  53. <uni-forms-item label="其它说明" name="sex" required>
  54. <uni-easyinput v-model="checkform.phonenumber" type="textarea" placeholder="请输入其它说明" />
  55. </uni-forms-item>
  56. </uni-forms>
  57. </view>
  58. </van-tab>
  59. </van-tabs>
  60. </van-sticky>
  61. <div class="btns">
  62. <button type="primary" @click="">举证说明</button>
  63. <button type="primary" @click="">退回</button>
  64. <button type="primary" @click="save">保存</button>
  65. <button type="primary" @click="tj">提交</button>
  66. </div>
  67. </view>
  68. </template>
  69. <script>
  70. import {
  71. getDkjbxx,
  72. getDkjbywy,
  73. confirm,
  74. hcWork,
  75. getHcInfo,
  76. tjWork,
  77. getTjInfo
  78. } from "@/api/dkjbxx.js";
  79. import {
  80. jbxxs,
  81. tdxzTable,
  82. } from "../config";
  83. export default {
  84. name: "list",
  85. data() {
  86. return {
  87. active: 0,
  88. tabOptions: ['基本信息', '业务研判', '实地拍照', '核查信息'],
  89. loading: false,
  90. jbxxs: jbxxs,
  91. tdxzTable: tdxzTable,
  92. activeName: "jbxx",
  93. infoObj: {},
  94. activities: [],
  95. //业务研判
  96. ywyptab: "1",
  97. sheets: [],
  98. //上传拍照
  99. fileList: [],
  100. checkform: {},
  101. range: [{
  102. value: 0,
  103. text: "篮球"
  104. },
  105. {
  106. value: 1,
  107. text: "足球"
  108. },
  109. {
  110. value: 2,
  111. text: "游泳"
  112. },
  113. ],
  114. };
  115. },
  116. mounted() {},
  117. methods: {
  118. handleClick(val) {
  119. let id = val.dkjdxxId
  120. getDkjbxx(id).then((res) => {
  121. this.infoObj = res.data;
  122. });
  123. getDkjbywy(id).then((res) => {
  124. if (res.data) {
  125. this.sheets = JSON.parse(res.data.sheetJson);
  126. this.ywyptab = this.sheets[0].sheet;
  127. }
  128. console.log(this.sheets);
  129. });
  130. getHcInfo({
  131. dkid: id,
  132. auditflowStep: 'WYDC',
  133. auditflowId: '',
  134. fieldworkId: ''
  135. }).then((res) => {
  136. this.checkform = res.data;
  137. });
  138. getTjInfo({
  139. dkid: id,
  140. auditflowStep: 'WYTJ',
  141. auditflowId: '',
  142. fieldworkId: ''
  143. }).then((res) => {
  144. // this.tjinfo = res.data;
  145. });
  146. },
  147. returnList() {
  148. this.$emit('returnList')
  149. },
  150. reset() {
  151. },
  152. afterRead(files, detail) {
  153. // files.forEach(element => {
  154. // setTimeout(() => {
  155. // element.status = null;
  156. // }, 2000);
  157. // });
  158. }
  159. },
  160. };
  161. </script>
  162. <style lang="scss">
  163. .details {
  164. width: 100%;
  165. .van-icon {
  166. position: absolute;
  167. right: 20rpx;
  168. top: 70rpx;
  169. width: 70rpx;
  170. line-height: 74rpx;
  171. font-size: 60rpx;
  172. }
  173. // position: relative;
  174. .tabs {
  175. margin-bottom: 20rpx;
  176. }
  177. .hclist {
  178. height: 30vh;
  179. overflow-x: hidden;
  180. overflow-y: auto;
  181. }
  182. .btns {
  183. width: 100%;
  184. position: absolute;
  185. bottom: 200rpx;
  186. display: flex;
  187. }
  188. }
  189. </style>