qiuzhiXinxi.vue 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288
  1. <template>
  2. <view class="jz-content-box">
  3. <!-- <view class="form-label-radio form-top-margin flex-start-row">
  4. <view class="phone-form-label"> <text class="form-label-require">*</text>类型</view>
  5. <dataChecked :list="typeList" mode="multiple" :defaultCount="9" :selectedNames="leixing"
  6. @change="selectChangeType" @add="addType" />
  7. </view> -->
  8. <view :class="isZijiazheng=='true'?'mask-view':''">
  9. <view class="form-label-select">
  10. <view class="phone-form-label"><text class="form-label-require"></text>经验</view>
  11. <picker :range="jingyanList" mode='selector' :value="jingyanIndex" range-key="name"
  12. @change="jingyanChange" @cancel="jingyanCancel" class="select-picker-box">
  13. <view class="form-radio-select">
  14. <view>{{ jingyan }}</view>
  15. <icon></icon>
  16. </view>
  17. </picker>
  18. </view>
  19. <view class="form-label-radio flex-start-row">
  20. <view class="phone-form-label"><text class="form-label-require">*</text>技能</view>
  21. <dataChecked :list="skillList" mode="multiple" :defaultCount="9" :selectedNames="jineng"
  22. @change="selectChangeSkill" @add="addSkill" />
  23. </view>
  24. <view class="form-label-radio form-top-margin flex-start-row">
  25. <view class="phone-form-label"><text class="form-label-require">*</text>状态</view>
  26. <dataChecked :list="zhuangtaiList" mode="single" :selectedIds='zhuangtai' :showAdd="false"
  27. @change="selectChangeZhuangtai" />
  28. </view>
  29. <view class="form-label-select">
  30. <view class="phone-form-label"><text class="form-label-require"></text>薪资级别</view>
  31. <picker :range="xinziJibieList" mode='selector' @change="xinziJibieChange" @cancel="xinziJibieCancel"
  32. class="select-picker-box">
  33. <view class="form-radio-select">
  34. <view>{{jibiexinzi}}</view>
  35. <icon></icon>
  36. </view>
  37. </picker>
  38. </view>
  39. <view class="form-label-input">
  40. <view class="phone-form-label"><text class="form-label-require"></text>期望薪资</view>
  41. <input v-model="qiwangxinzi" placeholder="请输入期望薪资" />
  42. </view>
  43. <view class="form-label-input flex-start-row">
  44. <view class="phone-form-label"><text class="form-label-require"></text>工作经历</view>
  45. <textarea v-model="jingli" maxlength="-1" placeholder="请填写工作经历" class="form-textarea-box" />
  46. </view>
  47. <view v-if="isZijiazheng !='true'" class="page-btn-box">
  48. <button type="default" v-if="status =='add'&&isZijiazheng !='true'" @click="goNext" class="phone-green-btn">下一步</button>
  49. <button type="default" v-if="status =='edit'&&isZijiazheng !='true'" @click="editSave" class="phone-green-btn">保存</button>
  50. </view>
  51. </view>
  52. </view>
  53. </template>
  54. <script>
  55. import dataChecked from './common/dataChecked.vue';
  56. import {
  57. getJiazhengLeixing,
  58. getJiazhengJineng,
  59. getJiazhengZhuangtai,
  60. } from "@/api/jiazheng.js";
  61. export default {
  62. components: {
  63. dataChecked
  64. },
  65. // onLoad 是 uni-app 的页面生命周期钩子,不需要导入
  66. created() {
  67. this.initRequests()
  68. },
  69. props: {
  70. status: {
  71. type: String,
  72. },
  73. isZijiazheng: {
  74. type: String,
  75. }
  76. },
  77. data() {
  78. return {
  79. formData: {},
  80. // 从后端获取的技能列表
  81. skillList: [],
  82. typeList: [],
  83. leixing: "",
  84. jineng: "",
  85. zhuangtaiList: [],
  86. zhuangtai: '',
  87. jingyan: "",
  88. jingyanIndex: 0,
  89. qiwangxinzi: '面议',
  90. jingli: '',
  91. xinziJibieList: ["一级", "二级", "三级", "四级", "五级", ],
  92. jibiexinzi: "",
  93. jingyanList: Array.from({
  94. length: 51
  95. }, (_, i) => i + '年'),
  96. };
  97. },
  98. methods: {
  99. async initRequests() {
  100. await Promise.all([
  101. // this.getLeixing(),
  102. this.getJineng(),
  103. this.getZhuangtai()
  104. ]);
  105. },
  106. editinfo(data) {
  107. this.$nextTick(() => {
  108. console.log('data11111', data);
  109. // this.leixing = data.leixing
  110. this.jingyan = data.jingyan
  111. this.jineng = data.jineng
  112. this.zhuangtai = data.zhuangtai
  113. this.jibiexinzi = data.jibiexinzi
  114. this.qiwangxinzi = data.qiwangxinzi
  115. this.jingli = data.jingli
  116. })
  117. },
  118. // 点击完成按钮的时候触发,
  119. xinziJibieChange(e) {
  120. //通过e.detail.value获取值,获取的是自定义数据的下标
  121. const index = e.detail.value
  122. this.jibiexinzi = this.xinziJibieList[index]
  123. console.log('jibiexinzi', this.jibiexinzi);
  124. },
  125. xinziJibieCancel(e) {
  126. console.log("您已取消选择");
  127. },
  128. jingyanChange(e) {
  129. const index = e.detail.value
  130. this.jingyan = this.jingyanList[index]
  131. },
  132. jingyanCancel() {
  133. this.jingyanIndex = 0
  134. },
  135. getJineng() {
  136. getJiazhengJineng({}).then(res => {
  137. this.skillList = this.dataConversionObject(res.data)
  138. }).catch(error => {
  139. console.error('获取技能类型失败:', error);
  140. });
  141. },
  142. getLeixing() {
  143. getJiazhengLeixing({}).then(res => {
  144. this.typeList = this.dataConversionObject(res.data)
  145. }).catch(error => {
  146. console.error('获取技能类型失败:', error);
  147. });
  148. },
  149. getZhuangtai() {
  150. getJiazhengZhuangtai({}).then(res => {
  151. console.log('res', res);
  152. this.zhuangtaiList = res.data
  153. // this.typeList = this.dataConversionObject(res.data)
  154. // console.log('this.typeList', this.typeList);
  155. }).catch(error => {
  156. console.error('获取技能类型失败:', error);
  157. });
  158. },
  159. dataConversionObject(data) {
  160. let newList
  161. newList = data.map((name, index) => ({
  162. id: index,
  163. name: name
  164. }));
  165. return newList
  166. },
  167. dataConversionArray(data) {
  168. let newList
  169. newList = data.map((item, index) => {
  170. return item.name
  171. });
  172. return newList
  173. },
  174. selectChangeType(data) {
  175. // console.log('typeData', data);
  176. this.leixing = this.dataConversionArray(data).join(',')
  177. console.log('this.leixing', this.leixing);
  178. },
  179. addType(newType) {
  180. this.typeList.push({
  181. ...newType,
  182. });
  183. },
  184. selectChangeSkill(data) {
  185. this.jineng = this.dataConversionArray(data).join(',')
  186. console.log('this.jineng', this.jineng);
  187. },
  188. addSkill(newSkill) {
  189. this.skillList.push({
  190. ...newSkill,
  191. });
  192. },
  193. selectChangeZhuangtai(data) {
  194. console.log('zhuangtaiData', data);
  195. if (data.length > 0) {
  196. this.zhuangtai = data[0].id
  197. } else {
  198. this.zhuangtai = ''
  199. }
  200. console.log('zhuangtai', this.zhuangtai);
  201. // const index = e.detail.value
  202. // this.jingyan = this.jingyanList[index]
  203. },
  204. showAlert() {
  205. uni.showToast({
  206. title: "请勾选本人同意!",
  207. icon: 'none',
  208. duration: 2000
  209. })
  210. return false
  211. },
  212. yanzheng() {
  213. this.formData = {
  214. // leixing: this.leixing,
  215. jingyan: this.jingyan,
  216. jineng: this.jineng,
  217. zhuangtai: this.zhuangtai,
  218. jibiexinzi: this.jibiexinzi,
  219. qiwangxinzi: this.qiwangxinzi,
  220. jingli: this.jingli,
  221. }
  222. // if (!this.formData.leixing) {
  223. // uni.showToast({
  224. // title: "请选择类型!",
  225. // icon: 'none',
  226. // duration: 2000
  227. // })
  228. // return false
  229. // }
  230. // if (!this.formData.jingyan) {
  231. // uni.showToast({
  232. // title: "请选择经验年限!",
  233. // icon: 'none',
  234. // duration: 2000
  235. // })
  236. // return false
  237. // }
  238. if (!this.formData.jineng) {
  239. uni.showToast({
  240. title: "请选择相应技能!",
  241. icon: 'none',
  242. duration: 2000
  243. })
  244. return false
  245. }
  246. if (!this.formData.zhuangtai) {
  247. uni.showToast({
  248. title: "请选择相应状态!",
  249. icon: 'none',
  250. duration: 2000
  251. })
  252. return false
  253. }
  254. return true
  255. },
  256. goNext() {
  257. let ispass = this.yanzheng()
  258. if (ispass) {
  259. this.$emit('goNext', this.formData, 1);
  260. }
  261. },
  262. editSave() {
  263. let ispass = this.yanzheng()
  264. console.log('this.formData', this.formData);
  265. if (ispass) {
  266. this.$emit('editSave', this.formData);
  267. }
  268. }
  269. },
  270. mounted() {
  271. console.log('zxvasdfasdfasdfadsfadsfadsfasd');
  272. // setTimeout(()=>{
  273. // this.zhuangtai = '1'
  274. // },1000)
  275. }
  276. };
  277. </script>