basicInfo.vue 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. <!-- 基本信息 -->
  2. <template>
  3. <div>
  4. <div class="topTip">丰富详尽的企业介绍能提高求职者对贵企业的关注和了解,有助于达到更好的招聘效果</div>
  5. <CtForm ref="CtFormRef" :items="formItems" style="width: 900px;margin: 0 auto">
  6. <template #name="{ item }">
  7. <div v-show="!item.show" class="text-right" style="width: 80px; line-height: 40px;">
  8. <v-icon color="primary" size="20">mdi-shield-check</v-icon> <!-- mdi-shield-remove -->
  9. <span style="color: var(--v-primary-base);font-size: 14px;">已认证</span>
  10. </div>
  11. </template>
  12. </CtForm>
  13. <div class="text-center">
  14. <v-btn color="primary" class="buttons mt-3 mb-10" @click="handleSave">{{ $t('common.save') }}</v-btn>
  15. </div>
  16. </div>
  17. </template>
  18. <script setup>
  19. import { inject, ref } from 'vue';
  20. defineOptions({name: 'informationSettingsComponents-basicInfo'})
  21. const infoData = JSON.parse(inject('infoData'))
  22. const formItems = ref({
  23. options: [
  24. {
  25. type: 'text',
  26. key: 'name',
  27. value: '',
  28. label: '企业名称 *',
  29. disabled: true,
  30. slotName: 'name',
  31. rules: [v => !!v || '请输入企业名称']
  32. },
  33. {
  34. type: 'text',
  35. key: 'suoZaiDi',
  36. value: '',
  37. label: '企业所在地 *',
  38. disabled: true,
  39. rules: [v => !!v || '请输入企业所在地']
  40. },
  41. {
  42. type: 'text',
  43. key: 'diZhi',
  44. value: '',
  45. label: '企业地址 *',
  46. rules: [v => !!v || '请输入企业地址']
  47. },
  48. {
  49. type: 'text',
  50. key: 'key1',
  51. value: '',
  52. label: '区域定位',
  53. },
  54. {
  55. type: 'autocomplete',
  56. key: 'select',
  57. value: null,
  58. label: '行业类别 *',
  59. outlined: true,
  60. clearable: false,
  61. disabled: true,
  62. itemText: 'label',
  63. itemValue: 'value',
  64. col: 6,
  65. flexStyle: 'mr-3',
  66. rules: [v => !!v || '请选择行业类别'],
  67. items: [{ label: '餐饮业', value: '1' }]
  68. },
  69. {
  70. type: 'autocomplete',
  71. key: 'select',
  72. value: null,
  73. label: '企业类型 *',
  74. outlined: true,
  75. clearable: false,
  76. itemText: 'label',
  77. itemValue: 'value',
  78. col: 6,
  79. rules: [v => !!v || '请选择企业类型'],
  80. items: [{ label: '西餐餐饮', value: '1' }]
  81. },
  82. {
  83. type: 'autocomplete',
  84. key: 'select',
  85. value: null,
  86. label: '所属类别 *',
  87. outlined: true,
  88. clearable: false,
  89. itemText: 'label',
  90. itemValue: 'value',
  91. col: 6,
  92. flexStyle: 'mr-3',
  93. rules: [v => !!v || '请选择所属类别'],
  94. items: [{ label: '总部', value: '1' }]
  95. },
  96. {
  97. type: 'autocomplete',
  98. key: 'select',
  99. value: null,
  100. label: '企业规模 *',
  101. outlined: true,
  102. clearable: false,
  103. itemText: 'label',
  104. itemValue: 'value',
  105. col: 6,
  106. rules: [v => !!v || '请选择企业规模'],
  107. items: [{ label: '50-99人', value: '1' }]
  108. },
  109. {
  110. type: 'autocomplete',
  111. key: 'select',
  112. value: null,
  113. label: '企业性质 *',
  114. outlined: true,
  115. clearable: false,
  116. itemText: 'label',
  117. itemValue: 'value',
  118. rules: [v => !!v || '请选择企业性质'],
  119. items: [{ label: '民营、私营企业', value: '1' }]
  120. },
  121. {
  122. type: 'datePicker',
  123. key: 'time',
  124. value: null,
  125. col: 6,
  126. flexStyle: 'mr-3',
  127. class: 'mb-3',
  128. options: {
  129. // type: 'time',
  130. format: 'timestamp',
  131. placeholder: '开业时间 *',
  132. },
  133. rules: [v => !!v || '请选择开业时间']
  134. },
  135. {
  136. type: 'checkbox',
  137. key: 'select',
  138. value: '1',
  139. // label: '筹建中',
  140. col: 6,
  141. items: [
  142. { key: '1', label: '筹建中', value: '1' }
  143. ]
  144. },
  145. {
  146. type: 'text',
  147. key: 'net',
  148. value: '',
  149. label: '企业网址',
  150. },
  151. {
  152. type: 'textarea',
  153. key: 'content',
  154. value: null,
  155. counter: 2000,
  156. label: '企业介绍 *',
  157. outlined: true,
  158. rules: [v => !!v || '请输入企业介绍']
  159. },
  160. ]
  161. })
  162. formItems.value.options.forEach(e => { if (infoData[e.key]) e.value = infoData[e.key] })
  163. const handleSave = async () => {
  164. // const { valid } = await formPageRef.value.formRef.validate()
  165. // if (!valid) return
  166. // items.value.options.forEach(e => {
  167. // if (arr.includes(e.key)) query[e.key] = e.value
  168. // })
  169. // if (editId.value) query.id = editId.value
  170. // await saveResumeJobInterested(query)
  171. // Snackbar.success('保存成功')
  172. // isAdd.value = false
  173. // resetForm()
  174. // getJobInterested()
  175. }
  176. </script>
  177. <style lang="scss" scoped>
  178. .topTip {
  179. background-color: #f7f8fa;
  180. color: #2f3640;
  181. padding: 12px 20px;
  182. margin: 10px 0 40px;
  183. font-size: 14px;
  184. }
  185. </style>