answer_base.html 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281
  1. <el-form :model="answer" label-width="auto">
  2. <el-row :gutter="100">
  3. <el-col :span="12">
  4. <el-form-item label="姓名" required>
  5. <el-input v-model="answer.name" placeholder="请输入姓名"></el-input>
  6. </el-form-item>
  7. </el-col>
  8. <el-col :span="12">
  9. <el-form-item label="手机号" required>
  10. <el-input v-model="answer.mobile" placeholder="请输入手机号"></el-input>
  11. </el-form-item>
  12. </el-col>
  13. <el-col :span="12">
  14. <el-form-item label="性别" required>
  15. <el-radio-group v-model="answer.sex">
  16. <el-radio value="男">男</el-radio>
  17. <el-radio value="女">女</el-radio>
  18. </el-radio-group>
  19. </el-form-item>
  20. </el-col>
  21. <el-col :span="12">
  22. <el-form-item label="年龄" required>
  23. <el-input v-model="answer.age" placeholder="请输入年龄" type="number"></el-input>
  24. </el-form-item>
  25. </el-col>
  26. <el-col :span="12">
  27. <el-form-item label="婚姻状况" required>
  28. <el-select v-model="answer.marry" placeholder="请选择婚姻状况">
  29. <el-option
  30. v-for="item in marry_list"
  31. :key="item.value"
  32. :label="item.text"
  33. :value="item.value"
  34. ></el-option>
  35. </el-select>
  36. </el-form-item>
  37. </el-col>
  38. <el-col :span="12">
  39. <el-form-item label="学历" required>
  40. <el-select v-model="answer.education" placeholder="请选择学历">
  41. <el-option
  42. v-for="item in education_list"
  43. :key="item.value"
  44. :label="item.text"
  45. :value="item.value"
  46. ></el-option>
  47. </el-select>
  48. </el-form-item>
  49. </el-col>
  50. <el-col :span="12">
  51. <el-form-item label="所修专业" required>
  52. <el-input v-model="answer.major" placeholder="若有多个学历,以最高学历专业为准"></el-input>
  53. </el-form-item>
  54. </el-col>
  55. <el-col :span="12">
  56. <el-form-item label="工龄" required>
  57. <el-input v-model="answer.seniority" type="number" placeholder="累计工作年限">
  58. <template #append>年</template>
  59. </el-input>
  60. </el-form-item>
  61. </el-col>
  62. <el-col :span="12">
  63. <el-form-item label="担任领导" required>
  64. <el-input v-model="answer.leader" placeholder="含各类、各级领导职务的累计年限" type="number">
  65. <template #append>年</template>
  66. </el-input>
  67. </el-form-item>
  68. </el-col>
  69. <el-col :span="12">
  70. <el-form-item label="所在行业" required>
  71. <el-input v-model="answer.industry" placeholder="请输入所在行业"></el-input>
  72. </el-form-item>
  73. </el-col>
  74. <el-col :span="12">
  75. <el-form-item label="单位性质" required>
  76. <el-select v-model="answer.company" placeholder="请选择单位性质" @change="companyChange">
  77. <el-option
  78. v-for="item in company_list"
  79. :key="item.value"
  80. :label="item.text"
  81. :value="item.value"
  82. ></el-option>
  83. </el-select>
  84. </el-form-item>
  85. </el-col>
  86. <el-col :span="12" v-show="showCompanyText">
  87. <el-form-item :label="company_title" required>
  88. <el-input v-model="answer.company_text" :placeholder="company_placeholder"></el-input>
  89. </el-form-item>
  90. </el-col>
  91. <el-col :span="12" v-show="showJobField">
  92. <el-form-item label="职位" required>
  93. <el-select v-model="answer.job" placeholder="请选择职位" @change="jobChange">
  94. <el-option
  95. v-for="item in job_list"
  96. :key="item.value"
  97. :label="item.text"
  98. :value="item.value"
  99. ></el-option>
  100. </el-select>
  101. </el-form-item>
  102. </el-col>
  103. <el-col :span="12" v-show="showJobText">
  104. <el-form-item label="具体职位" required>
  105. <el-input v-model="answer.job_text" placeholder="请注明具体职位"></el-input>
  106. </el-form-item>
  107. </el-col>
  108. </el-row>
  109. <div class="info-btn">
  110. <el-button type="primary" size="large" @click="baseSubmit">下一步</el-button>
  111. </div>
  112. </el-form>
  113. <script>
  114. function answer_base() {
  115. let base = {};
  116. base.answer = Vue.ref({});
  117. //婚姻状况
  118. base.marry_list = [
  119. {text: '单身/未婚', value: '单身/未婚'},
  120. {text: '已婚', value: '已婚'},
  121. {text: '离婚', value: '离婚'},
  122. ];
  123. //学历
  124. base.education_list = [
  125. {text: '初中及以下', value: '初中及以下'},
  126. {text: '高中/职校/中专', value: '高中/职校/中专'},
  127. {text: '大专', value: '大专'},
  128. {text: '本科', value: '本科'},
  129. {text: '硕士', value: '硕士'},
  130. {text: '博士', value: '博士'},
  131. ];
  132. //单位
  133. base.company_list = [
  134. {text: '党政机关', value: '党政机关'},
  135. {text: '事业单位', value: '事业单位'},
  136. {text: '国有企业', value: '国有企业'},
  137. {text: '民营企业', value: '民营企业'},
  138. {text: '外商独资企业', value: '外商独资企业'},
  139. {text: '合资/合作企业', value: '合资/合作企业'},
  140. {text: '股份制(所有权混合)企业', value: '股份制(所有权混合)企业'},
  141. {text: '个体工商户', value: '个体工商户'},
  142. {text: '社会团体/行业组织', value: '社会团体/行业组织'},
  143. {text: '其他', value: '其他'},
  144. ];
  145. base.showCompany = Vue.ref(false);
  146. base.showCompanyText = Vue.ref(false);
  147. base.companyChange = (value) => {
  148. if (value == '党政机关') {
  149. base.company_title.value = '具体部门'
  150. base.company_placeholder.value = '党政机关的具体部门'
  151. base.showCompanyText.value = true;
  152. base.showJobField.value = true;
  153. base.job_list.value = base.job_list_1;
  154. } else if (value == '事业单位') {
  155. base.company_title.value = '具体领域'
  156. base.company_placeholder.value = '事业单位的具体领域'
  157. base.showCompanyText.value = true;
  158. base.showJobField.value = true;
  159. base.job_list.value = base.job_list_1;
  160. } else if (value == '其他') {
  161. base.company_title.value = '单位补充'
  162. base.company_placeholder.value = '请填写单位的性质'
  163. base.showCompanyText.value = true;
  164. base.showJobField.value = false;
  165. } else {
  166. base.job_list.value = base.job_list_2;
  167. base.showCompanyText.value = false;
  168. base.showJobField.value = true;
  169. }
  170. base.answer.value.job = '';
  171. base.answer.value.job_text = '';
  172. base.showJobText.value = false;
  173. base.answer.value.company = value;
  174. base.answer.value.company_text = '';
  175. base.showCompany.value = false;
  176. }
  177. base.company_title = Vue.ref('');
  178. base.company_placeholder = Vue.ref('');
  179. //职位
  180. base.job_list_1 = [
  181. {text: '省/部级(含副省/部级)', value: '省/部级(含副省/部级)'},
  182. {text: '厅/局/司级(含副厅/局/司级)', value: '厅/局/司级(含副厅/局/司级)'},
  183. {text: '处级(含副处级)', value: '处级(含副处级)'},
  184. {text: '科级(含副科级)', value: '科级(含副科级)'},
  185. {text: '一般工作人员', value: '一般工作人员'},
  186. {text: '其他', value: '其他'},
  187. ];
  188. base.job_list_2 = [
  189. {text: '老总(含董事级成员)', value: '老总(含董事级成员)'},
  190. {text: '高层管理者', value: '高层管理者'},
  191. {text: '中层管理者', value: '中层管理者'},
  192. {text: '一线(基层)管理者', value: '一线(基层)管理者'},
  193. {text: '一般职员', value: '一般职员'},
  194. {text: '其他', value: '其他'},
  195. ];
  196. base.job_list = Vue.ref([]);
  197. base.showJob = Vue.ref(false);
  198. base.showJobField = Vue.ref(false);
  199. base.showJobText = Vue.ref(false);
  200. base.jobChange = (value) => {
  201. base.answer.value.job = value;
  202. base.answer.value.job_text = '';
  203. base.showJob.value = false;
  204. if (value == '其他') {
  205. base.showJobText.value = true;
  206. } else {
  207. base.showJobText.value = false;
  208. }
  209. }
  210. base.baseSubmit = () => {
  211. const required_field = [
  212. {field:'name',tip:'请输入姓名'},
  213. {field:'mobile',tip:'请输入手机号'},
  214. {field:'sex',tip:'请选择性别'},
  215. {field:'age',tip:'请输入年龄'},
  216. {field:'marry',tip:'请选择婚姻状况'},
  217. {field:'education',tip:'请选择学历'},
  218. {field:'major',tip:'请输入所修专业'},
  219. {field:'seniority',tip:'请输入工龄'},
  220. {field:'leader',tip:'请输入担任领导的累计年限'},
  221. {field:'industry',tip:'请输入所在行业'},
  222. {field:'company',tip:'请选择单位性质'},
  223. ];
  224. for (let item of required_field) {
  225. if (base.answer.value[item.field] === undefined || base.answer.value[item.field] === '') {
  226. ElementPlus.ElMessage.error(item.tip);
  227. return false;
  228. }
  229. }
  230. if (base.answer.value.company == '党政机关') {
  231. if (base.answer.value.company_text === undefined || base.answer.value.company_text === '') {
  232. ElementPlus.ElMessage.error('请输入具体部门');
  233. return false;
  234. }
  235. if (base.answer.value.job === undefined || base.answer.value.job === '') {
  236. ElementPlus.ElMessage.error('请选择职位');
  237. return false;
  238. } else {
  239. if (base.answer.value.job == '其他') {
  240. if (base.answer.value.job_text === undefined || base.answer.value.job_text === '') {
  241. ElementPlus.ElMessage.error('请输入具体职位');
  242. return false;
  243. }
  244. }
  245. }
  246. }
  247. if (base.answer.value.company == '事业单位') {
  248. if (base.answer.value.company_text === undefined || base.answer.value.company_text === '') {
  249. ElementPlus.ElMessage.error('请输入具体领域');
  250. return false;
  251. }
  252. if (base.answer.value.job === undefined || base.answer.value.job === '') {
  253. ElementPlus.ElMessage.error('请选择职位');
  254. return false;
  255. } else {
  256. if (base.answer.value.job == '其他') {
  257. if (base.answer.value.job_text === undefined || base.answer.value.job_text === '') {
  258. ElementPlus.ElMessage.error('请输入具体职位');
  259. return false;
  260. }
  261. }
  262. }
  263. }
  264. if (base.answer.value.company == '其他') {
  265. if (base.answer.value.company_text === undefined || base.answer.value.company_text === '') {
  266. ElementPlus.ElMessage.error('请输入单位补充');
  267. return false;
  268. }
  269. }
  270. base.active.value = 1;
  271. }
  272. return base;
  273. }
  274. </script>