addPredetermine.vue 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. <template>
  2. <div class="addPredetermine">
  3. <ul class="detailUl">
  4. <li class="detailLi">
  5. <span class="liName">
  6. <span style="color: red;margin-right: 5rpx">*</span>
  7. 项目/企业名称
  8. </span>
  9. <span class="liInfo">{{ companyName }}</span>
  10. </li>
  11. <li class="detailLi2">
  12. <span class="liName" style="margin-bottom: 24rpx">
  13. 项目/企业简介
  14. </span>
  15. <van-field
  16. :value="form.projectInfo"
  17. autosize
  18. type="textarea"
  19. placeholder="请输入文字进行报事报修描述"
  20. class="myField"
  21. maxlength="800"
  22. show-word-limit
  23. />
  24. </li>
  25. <li class="detailLi2">
  26. <span class="liName" style="margin-bottom: 24rpx">
  27. <span style="color: red;margin-right: 5rpx">*</span>
  28. 企业需求
  29. </span>
  30. <van-field
  31. :value="form.companyNeed"
  32. autosize
  33. type="textarea"
  34. placeholder="请输入文字进行报事报修描述"
  35. class="myField"
  36. maxlength="800"
  37. show-word-limit
  38. />
  39. </li>
  40. <li class="detailLi">
  41. <span class="liName">
  42. <span style="color: red;margin-right: 5rpx">*</span>
  43. 项目/企业联系人
  44. </span>
  45. <input class="liInfo" placeholder="请输入" v-model="form.projectManager"></input>
  46. </li>
  47. <li class="detailLi" style="border-bottom: none">
  48. <span class="liName">
  49. <span style="color: red;margin-right: 5rpx">*</span>
  50. 联系电话
  51. </span>
  52. <input class="liInfo" placeholder="请输入" v-model="form.managerPhone"></input>
  53. </li>
  54. </ul>
  55. <div class="whiteBoard">
  56. <div class="boardTitle">关于房源</div>
  57. <div class="boardInfo">
  58. <div class="boardItem">{{ roomInfo.groupName }}</div>
  59. <div class="boardItem">{{ roomInfo.floorDiscName }}</div>
  60. <div class="boardItem">{{ roomInfo.buildName }}</div>
  61. <div class="boardItem">{{ roomInfo.roomNo }}</div>
  62. </div>
  63. </div>
  64. <button class="toYy">提交预定</button>
  65. </div>
  66. </template>
  67. <script>
  68. import {getByCodes, getUserDept, getUserLocalStorageInfo, getRoomInfo, parkRoomSlateAdd} from "@/js_sdk/http";
  69. export default {
  70. name: "addPredetermine",
  71. onLoad(options) {
  72. this.roomId = options.roomId
  73. this.getRoomById()
  74. },
  75. data(){
  76. return{
  77. roomId: '',
  78. companyName: getUserLocalStorageInfo().username,
  79. getUserLocalStorageInfo: getUserLocalStorageInfo(),
  80. form:{
  81. },
  82. roomInfo:{
  83. groupName: '',
  84. floorDiscName: '',
  85. buildName: '',
  86. roomNo: ''
  87. }
  88. }
  89. },
  90. methods:{
  91. getRoomById(){
  92. getRoomInfo(this.roomId).then(res=>{
  93. if(res){
  94. this.roomInfo = res
  95. }
  96. })
  97. },
  98. submit(){
  99. this.form.projectName = this.companyName
  100. this.form.companyId = getUserLocalStorageInfo().userId
  101. parkRoomSlateAdd(this.form).then((res) => {
  102. if(res.code == '200'){
  103. this.$showToast("填报成功");
  104. uni.navigateBack({});
  105. }
  106. }).catch(err=>{
  107. this.$showToast(err);
  108. })
  109. }
  110. }
  111. }
  112. </script>
  113. <style lang="scss">
  114. .addPredetermine{
  115. .detailUl{
  116. margin-top: 20rpx;
  117. background: white;
  118. padding: 24rpx 32rpx;
  119. .liName{
  120. font-size: 32rpx;
  121. color: rgba(51, 51, 51, 1);
  122. white-space: nowrap;
  123. .callNumber{
  124. color: rgba(24, 23, 42, 1);
  125. font-size: 36rpx;
  126. font-weight: 600;
  127. }
  128. .callName{
  129. color: rgba(102, 102, 102, 1);
  130. font-size: 28rpx;
  131. }
  132. }
  133. .phoneIcon{
  134. width: 64rpx;
  135. height: 64rpx;
  136. }
  137. .detailLi{
  138. display: flex;
  139. justify-content: space-between;
  140. align-items: center;
  141. padding: 32rpx 0;
  142. border-bottom: 2rpx solid #E6E6E6;
  143. .liInfo{
  144. display: inline-block;
  145. text-align: right;
  146. max-width: 428rpx;
  147. color: rgba(102, 102, 102, 1);
  148. font-size: 32rpx;
  149. line-height: 38rpx;
  150. overflow: hidden;
  151. word-wrap: break-word;
  152. }
  153. }
  154. .detailLi2{
  155. display: flex;
  156. flex-direction: column;
  157. padding: 32rpx 0;
  158. border-bottom: 2rpx solid #E6E6E6;
  159. .detailLi2BoxTop{
  160. display: flex;
  161. flex-wrap: wrap;
  162. justify-content: space-between;
  163. margin: 12rpx 0;
  164. .checkItem{
  165. width: 160rpx;
  166. height: 64rpx;
  167. font-size: 28rpx;
  168. color: #666666;
  169. display: flex;
  170. align-items: center;
  171. justify-content: center;
  172. background: #F5F7FA;
  173. border-radius: 8rpx;
  174. margin: 12rpx 0;
  175. }
  176. .checked{
  177. background: #0365F9;
  178. color: white;
  179. }
  180. }
  181. }
  182. .van-cell {
  183. background: #F5F7FA !important;
  184. border-radius: 8rpx;
  185. font-size: 28rpx;
  186. }
  187. }
  188. .whiteBoard{
  189. padding: 32rpx;
  190. background: white;
  191. margin-top: 24rpx;
  192. min-height: 260rpx;
  193. box-sizing: border-box;
  194. .boardTitle{
  195. color: rgba(51, 51, 51, 1);
  196. font-size: 32rpx;
  197. margin-bottom: 24rpx;
  198. }
  199. .boardInfo{
  200. display: flex;
  201. flex-wrap: wrap;
  202. color: rgba(51, 51, 51, 1);
  203. font-size: 32rpx;
  204. .boardItem{
  205. margin-right: 24rpx;
  206. }
  207. }
  208. }
  209. .toYy{
  210. width: 654rpx;
  211. height: 96rpx;
  212. background: rgba(3, 101, 249, 1);
  213. margin: 64rpx 48rpx;
  214. display: flex;
  215. align-items: center;
  216. justify-content: center;
  217. font-size: 36rpx;
  218. color: white;
  219. }
  220. }
  221. </style>