editors.vue 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375
  1. <template>
  2. <view class="padding-bottom-xl">
  3. <!-- <view class="text-white padding margin bg" v-if="form.isRecommend==2">
  4. <view class="flex align-center justify-between" style="color: red;">
  5. <view class=" text-bold">已录入人才库</view>
  6. </view>
  7. </view> -->
  8. <view class="text-white padding margin bg" v-if="form.status==3">
  9. <view class="flex align-center justify-between" style="color: red;">
  10. <view class=" text-bold">拒绝理由</view>
  11. <view class="text-right ">
  12. {{form.auditContent}}
  13. </view>
  14. </view>
  15. </view>
  16. <!-- <view>{{form.auditContent}}</view> -->
  17. <view class="text-white padding margin bg">
  18. <!-- <view class="flex align-center justify-between" style="border-bottom: 1rpx solid #F2F2F2;">
  19. <view class=" text-bold">拒绝理由</view>
  20. <view class="text-right margin-bottom-sm">
  21. <u-input v-model="form.auditContent" disable placeholder="请输入真实姓名" placeholder-style="color:#999999;" />
  22. </view>
  23. </view> -->
  24. <view class="flex align-center justify-between" style="border-bottom: 1rpx solid #F2F2F2;">
  25. <view class=" text-bold" style="width: 150rpx;">姓名</view>
  26. <view class="text-right margin-bottom-sm">
  27. <u-input :disabled="true" v-model="form.resumesName" placeholder="请输入真实姓名"
  28. placeholder-style="color:#999999;" />
  29. </view>
  30. </view>
  31. <view class="flex align-center margin-bottom-sm justify-between" style="border-bottom: 1rpx solid #F2F2F2;">
  32. <view class=" text-bold" style="width: 150rpx;">年龄</view>
  33. <view class="text-right flex align-center margin-tb-sm">
  34. <u-input :disabled="true" v-model="form.resumesAge" placeholder="请输入年龄"
  35. placeholder-style="color:#999999;" />
  36. </view>
  37. </view>
  38. <view class="flex align-center margin-bottom-sm justify-between" style="border-bottom: 1rpx solid #F2F2F2;">
  39. <view class=" text-bold" style="width: 150rpx;">家庭住址</view>
  40. <view class="text-right flex align-center margin-tb-sm">
  41. <u-input v-model="form.address" placeholder="请输入家庭住址" placeholder-style="color:#999999;" />
  42. </view>
  43. </view>
  44. <view class="flex align-center margin-bottom-sm justify-between" style="border-bottom: 1rpx solid #F2F2F2;">
  45. <view class=" text-bold" style="width: 150rpx;">性别</view>
  46. <view class="text-right flex align-center margin-tb-sm">
  47. <view>{{resumesSex?resumesSex:'请选择性别'}}</view>
  48. <!-- <u-input v-model="form.resumesSex" placeholder="请输入年龄" placeholder-style="color:#999999;" /> -->
  49. </view>
  50. </view>
  51. <view class="flex align-center margin-bottom-sm justify-between" style="border-bottom: 1rpx solid #F2F2F2;">
  52. <view class=" text-bold" style="width: 150rpx;">手机号</view>
  53. <view class="text-right flex align-center margin-bottom-sm">
  54. <u-input :disabled="true" v-model="form.resumesPhone" placeholder="请输入手机号" type="number"
  55. maxlength="11" placeholder-style="color:#999999;" />
  56. </view>
  57. </view>
  58. <view class="flex align-center margin-bottom-sm justify-between padding-bottom padding-top-sm"
  59. style="border-bottom: 1rpx solid #F2F2F2;">
  60. <view class=" text-bold" style="width: 150rpx;">学历</view>
  61. <view class="flex align-center ">
  62. <view>{{form.resumesEducation?form.resumesEducation:'请选择学历'}}</view>
  63. <view class="margin-left-sm">
  64. <image src="../../static/images/my/right_icon.png" style="width: 12upx;height: 21upx;"></image>
  65. </view>
  66. </view>
  67. </view>
  68. <view class="flex align-center margin-bottom-sm justify-between padding-bottom padding-top-sm"
  69. style="border-bottom: 1rpx solid #F2F2F2;">
  70. <view class=" text-bold" style="width: 150rpx;">婚姻状况</view>
  71. <view class=" flex align-center ">
  72. <view>{{form.resumesMarriage?form.resumesMarriage:'请选择婚姻状况'}}</view>
  73. <view class="margin-left-sm">
  74. <image src="../../static/images/my/right_icon.png" style="width: 12upx;height: 21upx;"></image>
  75. </view>
  76. </view>
  77. </view>
  78. <view class="flex align-center margin-bottom-sm justify-between padding-bottom-sm"
  79. style="border-bottom: 1rpx solid #F2F2F2;" @click="MoneyShow=true">
  80. <view class=" text-bold" style="width: 150rpx;">期望薪资</view>
  81. <view class=" flex align-center ">
  82. <u-input v-model="form.resumesCompensation" :disabled="true" type="number" placeholder="请输入期望薪资"
  83. placeholder-style="color:#999999;" :clearable="false" />
  84. <view class="margin-left-sm">
  85. <image src="../../static/images/my/right_icon.png" style="width: 12upx;height: 21upx;"></image>
  86. </view>
  87. </view>
  88. </view>
  89. <view class="flex align-center margin-bottom-sm justify-between" style="border-bottom: 1rpx solid #F2F2F2;">
  90. <view class=" text-bold" style="width: 150rpx;">电子邮箱</view>
  91. <view class="text-right flex align-center margin-bottom-sm">
  92. <u-input :disabled="true" v-model="form.resumesEmail" placeholder="请输入电子邮箱"
  93. placeholder-style="color:#999999;" />
  94. </view>
  95. </view>
  96. <view class="flex align-center margin-bottom-sm justify-between padding-bottom padding-top-sm"
  97. style="border-bottom: 1rpx solid #F2F2F2;">
  98. <view class=" text-bold" style="width: 150rpx;">工作经验</view>
  99. <view class=" flex align-center ">
  100. <view>{{form.resumesWorkExperience?form.resumesWorkExperience:'请选择工作经验'}}</view>
  101. <view class="margin-left-sm">
  102. <image src="../../static/images/my/right_icon.png" style="width: 12upx;height: 21upx;"></image>
  103. </view>
  104. </view>
  105. </view>
  106. <view class="flex align-center justify-between" style="border-bottom: 1rpx solid #F2F2F2;">
  107. <view class=" text-bold" style="width: 150rpx;">毕业院校</view>
  108. <view class="text-right flex align-center ">
  109. <u-input v-model="form.school" :disabled="true" placeholder="请填写毕业院校"
  110. placeholder-style="color:#999999;" />
  111. </view>
  112. </view>
  113. <view class="flex align-center justify-between">
  114. <view class=" text-bold" style="width: 150rpx;">所学专业</view>
  115. <view class="text-right flex align-center ">
  116. <u-input v-model="form.major" :disabled="true" placeholder="请输入所学专业"
  117. placeholder-style="color:#999999;" />
  118. </view>
  119. </view>
  120. </view>
  121. <view class="text-white padding margin bg radius ">
  122. <view>
  123. <view class="flex align-center justify-between">
  124. <view class=" text-bold" style="width: 150rpx;">求职岗位</view>
  125. </view>
  126. <view class="flex align-center label" v-if="form.resumesPost">
  127. <view v-if="form.resumesPost">{{form.resumesPost}}</view>
  128. <!-- <view v-if="form.rulePostName">-</view>
  129. <view v-if="form.rulePostName" class="">{{form.rulePostName}}</view> -->
  130. </view>
  131. <view class="margin-top-sm text-sm" style="color: #999999;" v-else>添加岗位会根据你的岗位需求为你推荐</view>
  132. </view>
  133. <view class="margin-tb-sm" style="width: 100%;height: 1rpx;background: #F2F2F2;"></view>
  134. <view>
  135. <view class="flex align-center justify-between">
  136. <view class=" text-bold" style="width: 150rpx;">工作经历</view>
  137. </view>
  138. <view class="margin-top-sm text-sm" style="color: #999999;" v-if="form.resumesCompanyList.length==0">
  139. 添加工作经历向企业全面展示你的能力</view>
  140. <view v-for="(item,index) in form.resumesCompanyList" class="gzjl" :key="index" v-else>
  141. <view class="flex justify-between" style="color: #121212;">
  142. <view class="text-bold">
  143. {{item.resumesTitle}}
  144. </view>
  145. </view>
  146. <view>{{item.projectTitle}}</view>
  147. <view class="flex align-center margin-tb-xs" style="color: #999999;">
  148. <view>{{item.resumesTime}}</view>
  149. <view class="margin-left">{{item.resumesPost}}</view>
  150. </view>
  151. <view>{{item.resumesContent}}</view>
  152. </view>
  153. </view>
  154. <view class="margin-tb-sm" style="width: 100%;height: 1rpx;background: #F2F2F2;"></view>
  155. <view>
  156. <view class="flex align-center justify-between">
  157. <view class=" text-bold" style="width: 150rpx;">个人优势</view>
  158. </view>
  159. <view class=" padding-xs radius margin-top-sm" style="background: #F5F5F5;">
  160. <u-input :disabled="true" v-model="form.resumesDetails" type="textarea" height="300"
  161. placeholder="详细的个人信息与工作经历会让企业更加感兴趣" inputAlign="text-alight:left" />
  162. </view>
  163. </view>
  164. <view style="margin-top: 20rpx;">
  165. <view class="flex align-center justify-between">
  166. <view class=" text-bold">证书名称</view>
  167. </view>
  168. <view class="" style="margin-top: 10rpx;">
  169. <u-checkbox-group >
  170. <u-checkbox disabled v-model="item.checked" v-for="(item, index) in nameList"
  171. :key="index" :name="item.name">{{item.name}}</u-checkbox>
  172. </u-checkbox-group>
  173. </view>
  174. </view>
  175. <view class="margin-top" v-if="resumesImage.length>0">
  176. <view class=" text-bold" style="width: 150rpx;">资质证书<text class="text-df">(最多6张)</text></view>
  177. <view class="flex" style="overflow: hidden;flex-direction: initial;flex-wrap: wrap;">
  178. <view v-if="resumesImage.length">
  179. <view class="margin-top flex margin-right-sm flex-wrap">
  180. <view class="flex"
  181. style="width: 200rpx;height: 200rpx;margin-right: 5rpx;position: relative;margin-bottom: 5rpx;"
  182. v-for="(image,index) in resumesImage" :key="index">
  183. <image :src="image" style="width: 100%;height: 100%;"></image>
  184. </view>
  185. </view>
  186. </view>
  187. </view>
  188. </view>
  189. </view>
  190. <view class="margin-lr">
  191. <u-button v-if="form.status==2 || form.status==3" @click="submit" class="margin-top"
  192. :custom-style="customStyle" shape="square" :hair-line="false">
  193. 修改简历</u-button>
  194. </view>
  195. </view>
  196. </template>
  197. <script>
  198. export default {
  199. data() {
  200. return {
  201. nameList: [],
  202. customStyle: {
  203. backgroundColor: '#00B88F',
  204. color: '#FFFFFF',
  205. border: 0
  206. },
  207. form: {
  208. resumesName: '', //姓名
  209. resumesAge: '', //年龄
  210. resumesPhone: '', //电话
  211. resumesEducation: '', //学历
  212. resumesMarriage: '', //婚姻状态
  213. resumesCompensation: '', //期望薪资
  214. resumesEmail: '', //电子邮箱
  215. resumesWorkExperience: '', //工作经验
  216. resumesIntention: '', //意向位置
  217. city: '', //意向位置
  218. resumesMajor: '', //专业
  219. resumesPost: '', //求职岗位
  220. resumesDetails: '', //自我介绍
  221. resumesCompanyList: [], //工作经历
  222. resumesWorkList: [], //项目经验
  223. resumesImage: [], //证书
  224. school: '',
  225. major:'', //所学专业
  226. rulePostId: '',
  227. rulePostName: '',
  228. resumesSex: '', //性别
  229. },
  230. resumesImage: [],
  231. Marriagelist: [],
  232. Intentionlist: [],
  233. //岗位
  234. postlist: [],
  235. Majorlist: [],
  236. resumesId: '',
  237. resumes: {},
  238. resumesSex: '',
  239. Sexlist: [{
  240. value: '1',
  241. label: '男'
  242. },
  243. {
  244. value: '2',
  245. label: '女'
  246. }
  247. ],
  248. }
  249. },
  250. onLoad(option) {
  251. this.getbookName();
  252. if (option.resumesId) {
  253. this.resumesId = option.resumesId
  254. uni.setStorageSync("resumesId", option.resumesId)
  255. this.getDetails()
  256. }
  257. },
  258. onHide() {
  259. uni.removeStorageSync('resumesCompanyList')
  260. uni.removeStorageSync('resumesWorkList')
  261. },
  262. onUnload() {
  263. uni.removeStorageSync('resumesCompanyList')
  264. uni.removeStorageSync('resumesWorkList')
  265. },
  266. methods: {
  267. //证书名称
  268. getbookName() {
  269. this.$Request.get('/app/dict/list', {
  270. type: '证书名称'
  271. }).then(res => {
  272. if (res.code == 0) {
  273. let arr = []
  274. res.data.map(item=>{
  275. let obj = {
  276. name:item.code,
  277. checked:false,
  278. disabled:false
  279. }
  280. arr.push(obj)
  281. })
  282. this.nameList = arr
  283. }
  284. })
  285. },
  286. // 发布
  287. submit() {
  288. uni.navigateTo({
  289. url: '/my/publish/editor?resumesId=' + this.resumesId
  290. })
  291. },
  292. getDetails() {
  293. this.$Request.get('/app/resumes/selectResumesByUserId').then(res => {
  294. if (res.code == 0) {
  295. this.form = res.data
  296. if (this.form.resumesSex == 1) {
  297. this.form.resumesSex = 1
  298. this.resumesSex = '男'
  299. } else {
  300. this.form.resumesSex = 2
  301. this.resumesSex = '女'
  302. }
  303. if (res.data.resumesImage && res.data.resumesImage != '') {
  304. this.resumesImage = res.data.resumesImage.split(',')
  305. }else{
  306. this.resumesImage = []
  307. }
  308. //初始化为对象否则会出现无法在字符串上创建属性的错误(原因是在onshow中有赋值)
  309. // this.resumes = {}
  310. // this.resumes.rulePostId = res.data.rulePostId
  311. // this.resumes.resumesPost = res.data.resumesPost
  312. // this.resumes.rulePostName = res.data.rulePostName
  313. this.form.resumesPost = res.data.resumesPost
  314. this.form.ruleClassifyId = res.data.ruleClassifyId
  315. uni.setStorageSync("resumesWorkList", this.form.resumesWorkList)
  316. uni.setStorageSync("resumesCompanyList", this.form.resumesCompanyList)
  317. //证书名称回显
  318. if(res.data.resumesImageName){
  319. res.data.resumesImageName.split(',').map(item=>{
  320. this.nameList.map(re=>{
  321. if(item===re.name){
  322. re.checked = true
  323. }
  324. })
  325. })
  326. }
  327. }
  328. })
  329. },
  330. }
  331. }
  332. </script>
  333. <style>
  334. page {
  335. background-color: #F5F5F5;
  336. }
  337. .gzjl {
  338. width: 100%;
  339. background-color: rgb(247, 247, 247);
  340. border-radius: 10rpx;
  341. margin-top: 10rpx;
  342. padding: 25rpx;
  343. }
  344. .bg {
  345. background-color: #FFFFFF;
  346. border-radius: 24upx;
  347. }
  348. /* .u-input__input {
  349. text-align: right !important;
  350. } */
  351. .label {
  352. background: #DDFFF7;
  353. border-radius: 4upx;
  354. color: #00B88F;
  355. display: inline-flex;
  356. padding: 14upx 23upx;
  357. margin-top: 20rpx;
  358. }
  359. </style>