|
@@ -45,7 +45,7 @@ const handleChangeHireType = () => {
|
|
|
const hireType = getValue('hireType')
|
|
|
let hirePrice = getValue('hirePrice')
|
|
|
let hirePoint = getValue('hirePoint')
|
|
|
- if (hireType.value === '0') {
|
|
|
+ if (hireType.value) {
|
|
|
hirePrice.hide = false
|
|
|
hirePoint.hide = true
|
|
|
hirePoint.value = null
|
|
@@ -57,41 +57,43 @@ const handleChangeHireType = () => {
|
|
|
}
|
|
|
|
|
|
// 是否众聘岗位
|
|
|
-const handleChangePublic = (editHire) => {
|
|
|
- const hire = getValue('hire').value
|
|
|
- const hireType = getValue('hireType')
|
|
|
- const hirePrice = getValue('hirePrice')
|
|
|
- const hirePoint = getValue('hirePoint')
|
|
|
- if (editHire && editHire.hire) {
|
|
|
- hireType.hide = false
|
|
|
- hireType.value = editHire.hirePoint ? '1' : '0'
|
|
|
- handleChangeHireType()
|
|
|
- } else hireType.hide = hire === '1' ? false : true
|
|
|
- if (hire === '0') {
|
|
|
- hireType.value = '0'
|
|
|
- hirePoint.value = null
|
|
|
- hirePrice.value = null
|
|
|
- hirePoint.hide = true
|
|
|
- hirePrice.hide = true
|
|
|
- }
|
|
|
+const handleChangePublic = (val) => {
|
|
|
+ let hireType
|
|
|
+ items.value.options.forEach(e => {
|
|
|
+ if (!val && Object.prototype.hasOwnProperty.call(e, 'hide')) {
|
|
|
+ e.hide = true
|
|
|
+ e.value = null
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if (e.key === 'hireType') {
|
|
|
+ e.hide = !val
|
|
|
+ e.value = props.itemData && props.itemData.hirePoint ? false : true
|
|
|
+ hireType = e
|
|
|
+ }
|
|
|
+ if (Object.prototype.hasOwnProperty.call(e, 'show')) {
|
|
|
+ if (hireType.value === e.show) e.hide = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
const formPageRef = ref()
|
|
|
let query = reactive({})
|
|
|
+
|
|
|
const items = ref({
|
|
|
options: [
|
|
|
{
|
|
|
type: 'ifRadio',
|
|
|
key: 'hire',
|
|
|
- value: '0',
|
|
|
+ value: false,
|
|
|
label: '众聘岗位 *',
|
|
|
width: 90,
|
|
|
hideDetails: true,
|
|
|
items: [
|
|
|
- { label: '是', value: '1' },
|
|
|
- { label: '否', value: '0' }
|
|
|
+ { label: '是', value: true },
|
|
|
+ { label: '否', value: false }
|
|
|
],
|
|
|
- change: handleChangePublic
|
|
|
+ change: val => handleChangePublic(val)
|
|
|
},
|
|
|
{
|
|
|
slotName: 'explain',
|
|
@@ -101,14 +103,14 @@ const items = ref({
|
|
|
{
|
|
|
type: 'ifRadio',
|
|
|
key: 'hireType',
|
|
|
- value: '0',
|
|
|
+ value: null,
|
|
|
label: '众聘奖励类型 *',
|
|
|
width: 120,
|
|
|
hide: true,
|
|
|
noParam: true,
|
|
|
items: [
|
|
|
- { label: '赏金', value: '0' },
|
|
|
- { label: '积分', value: '1' }
|
|
|
+ { label: '赏金', value: true },
|
|
|
+ { label: '积分', value: false }
|
|
|
],
|
|
|
change: handleChangeHireType
|
|
|
},
|
|
@@ -119,6 +121,7 @@ const items = ref({
|
|
|
label: '众聘赏金 *',
|
|
|
suffix: '元',
|
|
|
hide: true,
|
|
|
+ show: true,
|
|
|
rules: [
|
|
|
value => {
|
|
|
if (value) return true
|
|
@@ -137,6 +140,7 @@ const items = ref({
|
|
|
label: '众聘奖励积分数 *',
|
|
|
suffix: '点',
|
|
|
hide: true,
|
|
|
+ show: false,
|
|
|
rules: [
|
|
|
value => {
|
|
|
if (value) return true
|
|
@@ -216,10 +220,6 @@ const items = ref({
|
|
|
]
|
|
|
})
|
|
|
|
|
|
-const setValue = (key, value) => {
|
|
|
- items.value.options.find(e => e.key === key).value = value
|
|
|
-}
|
|
|
-
|
|
|
// 编辑回显
|
|
|
watch(
|
|
|
() => props.itemData,
|
|
@@ -232,12 +232,9 @@ watch(
|
|
|
return
|
|
|
}
|
|
|
if (e.noParam) return
|
|
|
- if (e.key === 'hire') {
|
|
|
- e.value = val[e.key] ? '1' : '0'
|
|
|
- }
|
|
|
- else e.value = val[e.key]
|
|
|
+ e.value = val[e.key]
|
|
|
+ e.change && e.change(e.value)
|
|
|
})
|
|
|
- handleChangePublic(val)
|
|
|
},
|
|
|
{ immediate: true },
|
|
|
{ deep: true }
|
|
@@ -245,13 +242,14 @@ watch(
|
|
|
|
|
|
// 职位类型
|
|
|
const handleJobClickItem = (list, name) => {
|
|
|
+ const positionId = getValue('positionId')
|
|
|
if (!list.length) {
|
|
|
delete query.positionId
|
|
|
- setValue('positionId', '')
|
|
|
+ positionId.value = ''
|
|
|
return
|
|
|
}
|
|
|
query.positionId = list[0]
|
|
|
- setValue('positionId', name)
|
|
|
+ positionId.value = name
|
|
|
}
|
|
|
|
|
|
const getQuery = async () => {
|
|
@@ -260,7 +258,6 @@ const getQuery = async () => {
|
|
|
const obj = {}
|
|
|
items.value.options.forEach(e => {
|
|
|
if (e.noParam) return
|
|
|
- if (e.key === 'hire') obj[e.key] = e.value === '1' ? true : false
|
|
|
else obj[e.key] = e.value
|
|
|
})
|
|
|
query = Object.assign(query, obj)
|