Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
J
jy_jfb_vue
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Administrator
jy_jfb_vue
Commits
6f134595
提交
6f134595
authored
1月 15, 2026
作者:
赵世杰
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
1
上级
03448a8c
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
125 行增加
和
24 行删除
+125
-24
enterprise.js
src/api/enterprise.js
+9
-0
recruit.js
src/api/recruit.js
+7
-0
index.vue
src/views/enterprise/index.vue
+86
-24
add2.vue
src/views/recruit/add2.vue
+0
-0
index.vue
src/views/recruit/index.vue
+23
-0
没有找到文件。
src/api/enterprise.js
浏览文件 @
6f134595
...
...
@@ -23,4 +23,12 @@ export function orgSave(query) {
method
:
'post'
,
data
:
query
})
}
export
function
uploadOrg
(
query
)
{
return
request
({
url
:
'/public/import/recruit/upload/51job/org/json'
,
method
:
'post'
,
data
:
query
})
}
\ No newline at end of file
src/api/recruit.js
浏览文件 @
6f134595
...
...
@@ -24,6 +24,13 @@ export function recruitSave(query) {
data
:
query
})
}
export
function
uploadRecruit
(
query
)
{
return
request
({
url
:
'/public/import/recruit/upload/51job/json'
,
method
:
'post'
,
data
:
query
})
}
// 招聘类型
export
function
recruitTypeAll
(
query
)
{
return
request
({
...
...
src/views/enterprise/index.vue
浏览文件 @
6f134595
...
...
@@ -18,6 +18,14 @@
icon="Plus"
>新增
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
plain
@
click=
"open2 = true;openForm =
{regionCode: '610100'};"
icon="upload"
>批量上传企业
</el-button>
</el-col>
</el-row>
<el-table
v-loading=
"loading"
:data=
"list"
show-overflow-tooltip
style=
"width: 100%;"
>
<el-table-column
label=
"企业名称"
prop=
"name"
/>
...
...
@@ -57,7 +65,7 @@
v-model:limit=
"queryParams.pageSize"
@
pagination=
"getList"
/>
<!-- 添加或修改账号问答框 -->
<el-dialog
title=
"新增企业"
v-model=
"open"
width=
"480px"
append-to-body
:close-on-click-modal=
"false"
>
<el-form
label-width=
"100px"
style=
"padding-right: 15px;"
ref=
"addRef"
:model=
"openForm"
:rules=
"rules"
>
<el-form
label-width=
"100px"
style=
"padding-right: 15px;"
ref=
"addRef"
:model=
"openForm"
:rules=
"rules"
v-if=
"open"
>
<el-form-item
label=
"企业名称"
prop=
"name"
>
<el-input
v-model=
"openForm.name"
placeholder=
"请输入"
/>
</el-form-item>
...
...
@@ -79,17 +87,6 @@
<el-form-item
label=
"企业介绍"
prop=
"descr"
>
<el-input
v-model=
"openForm.descr"
placeholder=
"请输入"
type=
"textarea"
rows=
"3"
/>
</el-form-item>
<!-- <el-form-item label="企业LOGO" prop="logo">
<div>
<el-button type="primary" @click="$refs.fileInput.click()">上传图片</el-button>
<el-image
style="width: 100px;display: block;margin-top: 10px;"
v-if="openForm.logo"
:src="openForm.logo"
/>
</div>
<input type="file" ref="fileInput" @change="handleFileChange" style="display: none;" accept='image/*' />
</el-form-item> -->
</el-form>
<
template
#
footer
>
<div
class=
"dialog-footer"
>
...
...
@@ -98,11 +95,47 @@
</div>
</
template
>
</el-dialog>
<!-- 添加或修改账号问答框 -->
<el-dialog
title=
"上传企业"
v-model=
"open2"
width=
"480px"
append-to-body
:close-on-click-modal=
"false"
>
<el-form
label-width=
"100px"
style=
"padding-right: 15px;"
ref=
"addRef"
:model=
"openForm"
:rules=
"rules"
v-if=
"open2"
>
<el-form-item
label=
"行政编码"
prop=
"regionCode"
>
<el-input
v-model=
"openForm.regionCode"
placeholder=
"请输入"
/>
</el-form-item>
<el-form-item
label=
"地址"
prop=
"area"
>
<el-cascader
v-model=
"openForm.area"
:options=
"areaList"
@
change=
"(e)=>{console.log(e)}"
style=
"width: 100%"
:props=
"{ value: 'label' }"
/>
</el-form-item>
<el-form-item
label=
"选择文件"
prop=
"file"
>
<div
style=
"display: flex;justify-content: space-between;align-items: center;width: 100%;"
>
<el-input
readonly
style=
"width: 70%;"
:value=
"openForm.file && openForm.file.name"
/>
<el-button
type=
"primary"
@
click=
"$refs.fileInput.click()"
>
选择文件
</el-button>
<input
type=
"file"
ref=
"fileInput"
@
change=
"handleFileChange"
style=
"display: none;"
accept=
'.txt,.json'
/>
</div>
</el-form-item>
</el-form>
<
template
#
footer
>
<div
class=
"dialog-footer"
>
<el-button
@
click=
"open2 = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"submit2"
>
提 交
</el-button>
</div>
</
template
>
</el-dialog>
</div>
</template>
<
script
setup
>
import
{
orgList
,
orgDel
,
orgSave
}
from
"@/api/enterprise"
;
import
{
orgList
,
orgDel
,
orgSave
,
uploadOrg
}
from
"@/api/enterprise"
;
import
{
ref
}
from
"vue"
;
import
{
uploadFileToOss
}
from
"@/utils/oss"
;
import
{
areaList
,
getAreaText
}
from
'@/utils/area.js'
...
...
@@ -114,26 +147,25 @@ const queryParams = ref({
pageNum
:
1
,
pageSize
:
10
,
})
const
open2
=
ref
(
false
);
const
open
=
ref
(
false
);
const
openForm
=
ref
({
name
:
''
,
logo
:
''
,
})
const
rules
=
ref
({
name
:
[{
required
:
true
,
message
:
"请输入企业名称"
,
trigger
:
"blur"
}],
regionCode
:
[{
required
:
true
,
message
:
"请输入行政编码"
,
trigger
:
"blur"
}],
area
:
[{
required
:
true
,
message
:
"请选择地址"
,
trigger
:
"blur"
}],
address
:
[{
required
:
true
,
message
:
"请输入详细地址"
,
trigger
:
"blur"
}],
descr
:
[{
required
:
true
,
message
:
"请输入企业介绍"
,
trigger
:
"blur"
}],
logo
:
[{
required
:
true
,
message
:
"请上传logo"
,
trigger
:
"blur"
}]
name
:
[{
required
:
true
,
message
:
"请输入企业名称"
,
trigger
:
[
'blur'
,
'change'
]
}],
regionCode
:
[{
required
:
true
,
message
:
"请输入行政编码"
,
trigger
:[
'blur'
,
'change'
]
}],
area
:
[{
required
:
true
,
message
:
"请选择地址"
,
trigger
:
[
'blur'
,
'change'
]
}],
address
:
[{
required
:
true
,
message
:
"请输入详细地址"
,
trigger
:
[
'blur'
,
'change'
]
}],
descr
:
[{
required
:
true
,
message
:
"请输入企业介绍"
,
trigger
:[
'blur'
,
'change'
]
}],
logo
:
[{
required
:
true
,
message
:
"请上传logo"
,
trigger
:
[
'blur'
,
'change'
]
}],
file
:
[{
required
:
true
,
message
:
"请上传文件"
,
trigger
:
[
'blur'
,
'change'
]
}],
})
// 上传文件
function
handleFileChange
(
e
)
{
if
(
e
.
target
.
files
.
length
>
0
)
{
const
file
=
e
.
target
.
files
[
0
];
uploadFileToOss
(
file
).
then
((
url
)
=>
{
openForm
.
value
.
logo
=
url
});
openForm
.
value
.
file
=
e
.
target
.
files
[
0
];
}
proxy
.
$refs
.
fileInput
.
value
=
null
;
}
...
...
@@ -163,7 +195,37 @@ function submit() {
}
})
}
function
submit2
()
{
proxy
.
$refs
.
addRef
.
validate
(
valid
=>
{
debugger
if
(
valid
){
const
submitForm
=
{...
openForm
.
value
}
submitForm
.
province
=
submitForm
.
area
[
0
]
submitForm
.
city
=
submitForm
.
area
[
1
]
submitForm
.
region
=
submitForm
.
area
[
2
]
delete
submitForm
.
area
uploadOrg
(
setFormData
(
submitForm
)).
then
(
res
=>
{
proxy
.
$modal
.
msgSuccess
(
"操作成功,请等待几分钟后刷新列表查看导入结果"
);
open2
.
value
=
false
;
})
}
})
}
const
setFormData
=
(
data
)
=>
{
const
formData
=
new
FormData
()
const
keys
=
Object
.
keys
(
data
)
for
(
let
i
=
0
;
i
<
keys
.
length
;
i
++
)
{
if
(
data
[
keys
[
i
]]
!=
null
&&
[
keys
[
i
]]
!=
undefined
&&
data
[
keys
[
i
]].
constructor
==
Array
){
// 数组参数转FormData
for
(
let
j
=
0
;
j
<
data
[
keys
[
i
]].
length
;
j
++
)
{
formData
.
append
(
keys
[
i
],
data
[
keys
[
i
]][
j
])
}
}
else
{
formData
.
append
(
keys
[
i
],
data
[
keys
[
i
]])
}
}
return
formData
}
/** 搜索按钮操作 */
function
handleQuery
()
{
queryParams
.
value
.
pageNum
=
1
;
...
...
src/views/recruit/add2.vue
0 → 100644
浏览文件 @
6f134595
差异被折叠。
点击展开。
src/views/recruit/index.vue
浏览文件 @
6f134595
...
...
@@ -78,6 +78,14 @@
@
click=
"visibleOpenpay = true; detailInfo =
{}"
>新增
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
plain
icon=
"Plus"
@
click=
"visibleOpenpay2 = true; detailInfo =
{}"
>批量上传岗位
</el-button>
</el-col>
</el-row>
<el-table
v-loading=
"loading"
:data=
"list"
show-overflow-tooltip
>
<el-table-column
label=
"招聘企业"
prop=
"orgName"
/>
...
...
@@ -123,6 +131,19 @@
industryList
}"
/>
<Add2
:addVisible=
"visibleOpenpay2"
@
changeVisible=
"visibleOpenpay2 = false"
@
getList=
"getList"
:detailInfo=
"detailInfo"
:selectOp=
"{
recruitAllList,
experienceList,
qualificationList,
orgList,
industryList
}"
/>
</div>
</template>
...
...
@@ -130,6 +151,7 @@
import
{
recruitList
,
recruitDel
,
recruitTypeAll
,
experienceAll
,
qualificationAll
,
orgListAll
,
industryListAll
,
recruitStatus
}
from
"@/api/recruit"
;
import
{
ref
}
from
"vue"
;
import
Add
from
"./add.vue"
;
import
Add2
from
"./add2.vue"
;
const
{
proxy
}
=
getCurrentInstance
();
const
list
=
ref
([]);
const
loading
=
ref
(
false
);
...
...
@@ -140,6 +162,7 @@ const queryParams = ref({
})
const
recruitAllList
=
ref
([])
const
experienceList
=
ref
([])
const
visibleOpenpay2
=
ref
(
false
)
const
qualificationList
=
ref
([])
const
orgList
=
ref
([])
const
industryList
=
ref
([])
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论