matching.vue 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  1. <template>
  2. <view>
  3. <view class="cityItem">
  4. <view class="cityItem-box flex justify-center">
  5. <view class="cityItem-box-con flex justify-between align-center">
  6. <view class="" style="color: #333333;font-size: 28rpx;font-weight: 800;width: 200rpx;">
  7. 意向地址(首选)
  8. </view>
  9. <view class="flex align-center">
  10. <u-input v-model="resumesIntention" @click="getCity(1)" :disabled="true" type="text"
  11. :border="false" placeholder="选择意向位置" />
  12. <u-icon name="arrow-right" style="margin-left: 10rpx;" color="#c0c4cc" size="28"></u-icon>
  13. </view>
  14. </view>
  15. </view>
  16. </view>
  17. <view class="cityItem" style="margin-top: 20rpx;">
  18. <view class="cityItem-box flex justify-center">
  19. <view class="cityItem-box-con flex justify-between align-center">
  20. <view class="" style="color: #333333;font-size: 28rpx;font-weight: 800;width: 200rpx;">
  21. 意向地址(备选)
  22. </view>
  23. <view class="flex align-center">
  24. <u-input v-model="city" @click="getCity(2)" :disabled="true" type="text" :border="false"
  25. placeholder="选择意向位置" />
  26. <u-icon name="arrow-right" style="margin-left: 10rpx;" color="#c0c4cc" size="28"></u-icon>
  27. </view>
  28. </view>
  29. </view>
  30. </view>
  31. <view class="sumbitBtn flex justify-center">
  32. <view class="sumbitBtn-box" style="background-color: #ffffff;border-radius: 24rpx;padding: 20rpx 20rpx 20rpx 50rpx;height: auto;">
  33. <view class="" style="color: black;color:#333333;font-size:14px;font-weight:800;margin-left: -20rpx;margin-bottom: 20rpx;">
  34. 本人其他专业描述(多选)
  35. </view>
  36. <u-checkbox-group size="30rpx" @change="checkboxGroupChange">
  37. <u-checkbox label-size="20rpx" @change="checkboxChange" v-model="item.checked" v-for="(item, index) in list"
  38. :key="index" :name="item.value">{{item.value}}</u-checkbox>
  39. </u-checkbox-group>
  40. </view>
  41. </view>
  42. <view class="sumbitBtn flex justify-center" style="height: 88rpx;">
  43. <view class="sumbitBtn-box flex align-center justify-center" @click="submit()">
  44. 保存
  45. </view>
  46. </view>
  47. <!-- 选择城市1 -->
  48. <u-picker mode="region" v-model="show" :params="params" @confirm="confirm"></u-picker>
  49. </view>
  50. </template>
  51. <script>
  52. export default {
  53. data() {
  54. return {
  55. show: false,
  56. params: {
  57. province: true,
  58. city: true,
  59. area: false
  60. },
  61. resumesIntention: '',
  62. city: '',
  63. type: '',
  64. resumesId: '',
  65. list: [],
  66. status:'',
  67. };
  68. },
  69. onLoad() {
  70. this.getdictList();
  71. },
  72. methods: {
  73. getdictList() {
  74. this.$Request.get("/app/dict/list", {
  75. type: '其他专业'
  76. }).then(res => {
  77. if (res.code == 0) {
  78. let arr = res.data
  79. arr.map(item=>{
  80. item.checked = false
  81. item.disabled = false
  82. })
  83. this.list = arr
  84. this.getDetails();
  85. }
  86. })
  87. },
  88. //保存
  89. submit() {
  90. let ruleMajor = []
  91. this.list.map(item=>{
  92. if(item.checked==true){
  93. ruleMajor.push(item.value)
  94. }
  95. })
  96. this.$Request.postJson("/app/resumes/updateResumess", {
  97. resumesIntention: this.resumesIntention,
  98. city: this.city,
  99. resumesId: this.resumesId,
  100. ruleMajor:ruleMajor.join(','),
  101. status:this.status
  102. }).then(res => {
  103. if (res.code == 0) {
  104. let that = this
  105. uni.showModal({
  106. title:'提交成功',
  107. content:'请耐心等待客服审核',
  108. showCancel:false,
  109. confirmText:'确认',
  110. complete(ret) {
  111. if(ret.confirm){
  112. uni.navigateBack()
  113. }
  114. }
  115. })
  116. // let that = this
  117. // uni.showModal({
  118. // title:'提交成功',
  119. // content:'请联系客服核定大致薪资区间及岗位',
  120. // showCancel:false,
  121. // confirmText:'联系客服',
  122. // complete(ret) {
  123. // if(ret.confirm){
  124. // // #ifdef MP-WEIXIN
  125. // wx.openCustomerServiceChat({
  126. // extInfo: {
  127. // url: that.$queue.getData('kefu')
  128. // },
  129. // corpId: that.$queue.getData('kefuAppid'),
  130. // success(res) {
  131. // console.log(res)
  132. // },
  133. // })
  134. // // #endif
  135. // // #ifdef H5
  136. // window.location.href = that.$queue.getData('kefu');
  137. // // #endif
  138. // // #ifdef APP
  139. // let kefu = that.$queue.getData('kefu')
  140. // console.log(kefu)
  141. // plus.runtime.openURL(kefu, function(res) {});
  142. // // #endif
  143. // }
  144. // }
  145. // })
  146. } else {
  147. uni.showToast({
  148. title: res.msg,
  149. icon: 'none'
  150. })
  151. }
  152. });
  153. },
  154. //获取简历数据
  155. getDetails() {
  156. this.$Request.get('/app/resumes/selectResumesByUserId').then(res => {
  157. if (res.code == 0) {
  158. this.resumesIntention = res.data.resumesIntention
  159. this.city = res.data.city
  160. this.status = res.data.status
  161. this.resumesId = res.data.resumesId
  162. let arr = (res.data.ruleMajor).split(',')
  163. this.list.map(item=>{
  164. arr.map(ite=>{
  165. if(ite==item.value){
  166. item.checked = true
  167. }
  168. })
  169. })
  170. }
  171. })
  172. },
  173. //选择城市
  174. getCity(type) { //type: 1:意向城市1 2:意向城市2
  175. this.type = type
  176. this.show = true
  177. },
  178. confirm(value) {
  179. console.log(value)
  180. switch (this.type) {
  181. case 1:
  182. this.resumesIntention = value.city.label
  183. break;
  184. case 2:
  185. this.city = value.city.label
  186. break;
  187. default:
  188. break;
  189. }
  190. },
  191. }
  192. }
  193. </script>
  194. <style lang="scss">
  195. page {
  196. background-color: #F2F2F7;
  197. }
  198. .cityItem {
  199. width: 100%;
  200. height: 120rpx;
  201. margin-top: 30rpx;
  202. display: flex;
  203. justify-content: center;
  204. .cityItem-box {
  205. width: 686rpx;
  206. height: 100%;
  207. background-color: #FFFFFF;
  208. border-radius: 24rpx;
  209. .cityItem-box-con {
  210. width: 626rpx;
  211. }
  212. }
  213. }
  214. .sumbitBtn {
  215. width: 100%;
  216. margin-top: 20rpx;
  217. .sumbitBtn-box {
  218. width: 686rpx;
  219. height: 100%;
  220. border-radius: 8rpx;
  221. background: #82A9FE;
  222. color: #FFFFFF;
  223. font-size: 32rpx;
  224. font-weight: bold;
  225. }
  226. }
  227. </style>