addPredetermine.vue 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232
  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 @tap="submit()" 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. this.form.createdBy = getUserLocalStorageInfo().userId
  102. this.form.userId = getUserLocalStorageInfo().userId
  103. this.form.roomIds= this.roomId
  104. parkRoomSlateAdd(this.form).then((res) => {
  105. if(res.code == '200'){
  106. this.$showToast("填报成功");
  107. uni.navigateBack({});
  108. }else {
  109. this.$showToast(res.msg);
  110. }
  111. }).catch(err=>{
  112. })
  113. }
  114. }
  115. }
  116. </script>
  117. <style lang="scss">
  118. .addPredetermine{
  119. .detailUl{
  120. margin-top: 20rpx;
  121. background: white;
  122. padding: 24rpx 32rpx;
  123. .liName{
  124. font-size: 32rpx;
  125. color: rgba(51, 51, 51, 1);
  126. white-space: nowrap;
  127. .callNumber{
  128. color: rgba(24, 23, 42, 1);
  129. font-size: 36rpx;
  130. font-weight: 600;
  131. }
  132. .callName{
  133. color: rgba(102, 102, 102, 1);
  134. font-size: 28rpx;
  135. }
  136. }
  137. .phoneIcon{
  138. width: 64rpx;
  139. height: 64rpx;
  140. }
  141. .detailLi{
  142. display: flex;
  143. justify-content: space-between;
  144. align-items: center;
  145. padding: 32rpx 0;
  146. border-bottom: 2rpx solid #E6E6E6;
  147. .liInfo{
  148. display: inline-block;
  149. text-align: right;
  150. max-width: 428rpx;
  151. color: rgba(102, 102, 102, 1);
  152. font-size: 32rpx;
  153. line-height: 38rpx;
  154. overflow: hidden;
  155. word-wrap: break-word;
  156. }
  157. }
  158. .detailLi2{
  159. display: flex;
  160. flex-direction: column;
  161. padding: 32rpx 0;
  162. border-bottom: 2rpx solid #E6E6E6;
  163. .detailLi2BoxTop{
  164. display: flex;
  165. flex-wrap: wrap;
  166. justify-content: space-between;
  167. margin: 12rpx 0;
  168. .checkItem{
  169. width: 160rpx;
  170. height: 64rpx;
  171. font-size: 28rpx;
  172. color: #666666;
  173. display: flex;
  174. align-items: center;
  175. justify-content: center;
  176. background: #F5F7FA;
  177. border-radius: 8rpx;
  178. margin: 12rpx 0;
  179. }
  180. .checked{
  181. background: #0365F9;
  182. color: white;
  183. }
  184. }
  185. }
  186. .van-cell {
  187. background: #F5F7FA !important;
  188. border-radius: 8rpx;
  189. font-size: 28rpx;
  190. }
  191. }
  192. .whiteBoard{
  193. padding: 32rpx;
  194. background: white;
  195. margin-top: 24rpx;
  196. min-height: 260rpx;
  197. box-sizing: border-box;
  198. .boardTitle{
  199. color: rgba(51, 51, 51, 1);
  200. font-size: 32rpx;
  201. margin-bottom: 24rpx;
  202. }
  203. .boardInfo{
  204. display: flex;
  205. flex-wrap: wrap;
  206. color: rgba(51, 51, 51, 1);
  207. font-size: 32rpx;
  208. .boardItem{
  209. margin-right: 24rpx;
  210. }
  211. }
  212. }
  213. .toYy{
  214. width: 654rpx;
  215. height: 96rpx;
  216. background: rgba(3, 101, 249, 1);
  217. margin: 64rpx 48rpx;
  218. display: flex;
  219. align-items: center;
  220. justify-content: center;
  221. font-size: 36rpx;
  222. color: white;
  223. }
  224. }
  225. </style>