Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
J
jft-vue-platform
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
王梦龙
jft-vue-platform
Commits
9ffcc94d
提交
9ffcc94d
authored
6月 18, 2024
作者:
zsf
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
新增预支工资额度设置
上级
7ad25d69
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
504 行增加
和
17 行删除
+504
-17
dispatch.js
src/api/dispatch.js
+195
-0
index.js
src/router/index.js
+16
-17
index.vue
src/views/dispatch/index.vue
+127
-0
salary_advance.vue
src/views/dispatch/salary_advance.vue
+166
-0
没有找到文件。
src/api/dispatch.js
0 → 100644
浏览文件 @
9ffcc94d
import
request
from
'@/utils/request'
// 查询派遣公司列表
export
function
dispatchL
(
query
)
{
return
request
({
url
:
'/djl-role/dispatch/query/list'
,
method
:
'get'
,
params
:
query
})
}
// 新增 预支额度设置
export
function
salaryAdvanceInsert
(
data
)
{
return
request
({
url
:
'/djl-role/salary/advance/insert'
,
method
:
'post'
,
data
:
data
})
}
export
function
getQrCode
(
data
)
{
return
request
({
url
:
'/djl-recruit/channelqrcode/download/base64/qrcode'
,
method
:
'get'
,
params
:
data
})
}
// 获取项目详情
export
function
projectDetails
(
data
)
{
return
request
({
url
:
'/djl-recruit/releasedproject/query/single'
,
method
:
'get'
,
params
:
data
})
}
// 查询接站地列表
export
function
projectStationList
(
data
)
{
return
request
({
url
:
'/djl-recruit/releasedproject/query/station/list'
,
method
:
'get'
,
params
:
data
})
}
// 查询此项目是否第一次执行雇员报备
export
function
queryChannelProject
(
data
)
{
return
request
({
url
:
'/djl-recruit/recruitpersonnel/querychannelproject'
,
method
:
'get'
,
params
:
data
})
}
// 查询所有招聘政策
export
function
pricePolicyListSelect
(
data
)
{
return
request
({
url
:
'/djl-recruit/releasedpricepolicy/queryallpricepolicy'
,
method
:
'get'
,
params
:
data
})
}
// 查询所有招聘政策
export
function
insertChannelProject
(
data
)
{
return
request
({
url
:
'/djl-recruit/recruitpersonnel/insertchannelproject'
,
method
:
'post'
,
data
:
data
})
}
// 报备页面-查询列表
export
function
recruitPersonnelL
(
data
)
{
return
request
({
url
:
'/djl-recruit/recruitpersonnel/query/list'
,
method
:
'get'
,
params
:
data
})
}
//报备页面-解析证件号码
export
function
parseIdNo
(
data
){
return
request
({
url
:
'/djl-recruit/recruitpersonnel/parse/id_no'
,
method
:
'get'
,
params
:
data
})
}
//报备页面-校验证件号码是否重复
export
function
checkIdNo
(
data
){
return
request
({
url
:
'/djl-recruit/recruitpersonnel/check/id_no'
,
method
:
'get'
,
params
:
data
})
}
//报备页面-新增 新增项目报备的雇员信息
export
function
recruitPersonC
(
data
)
{
return
request
({
url
:
'/djl-recruit/recruitpersonnel/insert'
,
method
:
'post'
,
data
:
data
})
}
//报备页面-编辑 更新项目报备的雇员信息
export
function
recruitPersonU
(
data
)
{
return
request
({
url
:
'/djl-recruit/recruitpersonnel/update'
,
method
:
'post'
,
data
:
data
})
}
//报备页面-删除 删除项目报备的雇员信息
export
function
recruitPersonD
(
data
)
{
return
request
({
url
:
'/djl-recruit/recruitpersonnel/delete'
,
method
:
'post'
,
data
:
data
})
}
//报备页面-检查是否有正在导入的数据
export
function
recruitPersonCheckImporting
(
data
){
return
request
({
url
:
'/djl-recruit/importpeportpersonnel/check/is_importing'
,
method
:
'get'
,
params
:
data
})
}
//导入雇员
export
function
importRecruitPerson
(
data
)
{
return
request
({
url
:
'/djl-recruit/importpeportpersonnel/import'
,
method
:
'post'
,
data
:
data
})
}
//导入中间页-查询列表 查询正在导入的雇员临时数据
export
function
recruitPersonImportL
(
data
){
return
request
({
url
:
'/djl-recruit/importpeportpersonnel/query/import'
,
method
:
'get'
,
params
:
data
})
}
//导入中间页-编辑 更新雇员导入临时数据
export
function
recruitPersonImportU
(
data
)
{
return
request
({
url
:
'/djl-recruit/importpeportpersonnel/update'
,
method
:
'post'
,
data
:
data
})
}
//导入中间页-编辑 校验证件号码
export
function
recruitPersonImportCheckIdNo
(
data
){
return
request
({
url
:
'/djl-recruit/importpeportpersonnel/check/id_no'
,
method
:
'get'
,
params
:
data
})
}
//导入中间页-删除
export
function
recruitPersonImportD
(
data
){
return
request
({
url
:
'/djl-recruit/importpeportpersonnel/delete'
,
method
:
'get'
,
params
:
data
})
}
//导入中间页-批量删除
export
function
recruitPersonImportBatchD
(
data
){
return
request
({
url
:
'/djl-recruit/importpeportpersonnel/batchdelete'
,
method
:
'post'
,
data
:
data
})
}
//导入中间页-删除全部雇员导入临时数据
export
function
recruitPersonImportClear
(
data
){
return
request
({
url
:
'/djl-recruit/importpeportpersonnel/clear'
,
method
:
'get'
,
params
:
data
})
}
//导入中间页-确认入库 提交导入数据
export
function
recruitPersonImportSubmit
(
data
){
return
request
({
url
:
'/djl-recruit/importpeportpersonnel/import/submit'
,
method
:
'get'
,
params
:
data
})
}
//查询导入中间页正确数据、错误数据的条数
export
function
importTypeCount
(
data
){
return
request
({
url
:
'/djl-recruit/importpeportpersonnel/query/import/typecount'
,
method
:
'get'
,
params
:
data
})
}
\ No newline at end of file
src/router/index.js
浏览文件 @
9ffcc94d
...
@@ -49,28 +49,27 @@ export const constantRoutes = [
...
@@ -49,28 +49,27 @@ export const constantRoutes = [
{
{
path
:
'/'
,
path
:
'/'
,
component
:
Layout
,
component
:
Layout
,
redirect
:
'
home
'
,
redirect
:
''
,
// meta: { title: '项目', icon: 'redis' },
// meta: { title: '项目', icon: 'redis' },
children
:
[
children
:
[
{
{
path
:
'
home
'
,
path
:
'
dispatch
'
,
component
:
()
=>
import
(
'@/views/
home
/index'
),
component
:
()
=>
import
(
'@/views/
dispatch
/index'
),
name
:
'home'
,
name
:
'home'
,
meta
:
{
title
:
'雇员报备'
,
icon
:
'redis'
}
meta
:
{
title
:
'客户(派遣公司)管理'
,
icon
:
'redis'
}
},
{
"name"
:
"salary_advance"
,
"path"
:
"dispatch/salary/advance"
,
"hidden"
:
true
,
"component"
:
()
=>
import
(
'@/views/dispatch/salary_advance'
),
"meta"
:
{
"title"
:
"预支工资设置"
,
"icon"
:
"online"
,
"preTitle"
:
"客户(派遣公司)管理"
,
"activeMenu"
:
"/dispatch"
}
},
},
// {
// "name": "recruit_import",
// "path": "channel_recruit_report/report/import",
// "hidden": true,
// "component": () => import('@/views/recruit/channel_recruit_report/report_import'),
// "meta": {
// "title": "导入",
// "icon": "online",
// "preTitle":"雇员报备",
// "preTitle2":"报备",
// "activeMenu":"/channel_recruit_report"
// }
// },
]
]
},
},
// {
// {
...
...
src/views/dispatch/index.vue
0 → 100644
浏览文件 @
9ffcc94d
<
template
>
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryRef"
:inline=
"true"
v-show=
"showSearch"
>
<el-form-item
label=
"派遣公司名称"
prop=
"name"
>
<el-input
v-model=
"queryParams.name"
clearable
style=
"width: 300px"
@
keyup
.
enter=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"默认账号"
prop=
"default_account"
>
<el-input
v-model=
"queryParams.default_account"
clearable
style=
"width: 300px"
@
keyup
.
enter=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"编号"
prop=
"base_code"
>
<el-input
v-model=
"queryParams.base_code"
clearable
style=
"width: 300px"
@
keyup
.
enter=
"handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"Search"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
icon=
"Refresh"
@
click=
"resetQuery"
>
重置
</el-button>
</el-form-item>
</el-form>
<el-table
v-loading=
"loading"
:data=
"list"
>
<el-table-column
label=
"编号"
align=
"left"
prop=
"base_code"
width=
"200"
fixed
/>
<el-table-column
label=
"派遣公司名称"
align=
"left"
prop=
"name"
width=
"260"
fixed
/>
<el-table-column
label=
"默认账号"
align=
"left"
prop=
"default_account"
width=
"180"
fixed
/>
<el-table-column
label=
"前缀"
align=
"left"
prop=
"prefix"
width=
"100"
/>
<el-table-column
label=
"规模"
align=
"center"
prop=
"scale"
/>
<el-table-column
label=
"联系人"
align=
"center"
prop=
"contracts"
/>
<el-table-column
label=
"联系电话"
align=
"center"
prop=
"contract_number"
width=
"120"
/>
<el-table-column
label=
"公司地址(省市县区 )"
align=
"left"
prop=
"district"
width=
"200"
/>
<el-table-column
label=
"详细地址"
align=
"left"
prop=
"address"
width=
"200"
/>
<el-table-column
label=
"是否使用电子合同"
align=
"center"
prop=
"line_contract"
width=
"180"
>
<template
#
default=
"
{row}">
{{
row
.
line_contract
==
'1'
?
'是'
:
'否'
}}
</
template
>
</el-table-column>
<el-table-column
label=
"统一社会信用代码"
align=
"left"
prop=
"id_no"
width=
"180"
/>
<el-table-column
label=
"电子签章应用id"
align=
"left"
prop=
"seal_id"
width=
"180"
/>
<el-table-column
label=
"电子签章应用秘钥"
align=
"left"
prop=
"secret_key"
width=
"280"
/>
<el-table-column
label=
"注册日期"
align=
"left"
prop=
"register_time"
width=
"180"
/>
<el-table-column
label=
"创建时间"
align=
"left"
prop=
"create_time"
width=
"180"
/>
<el-table-column
label=
"更新时间"
align=
"left"
prop=
"update_time"
width=
"180"
/>
<el-table-column
label=
"操作"
width=
"180"
align=
"center"
class-name=
"small-padding fixed-width"
>
<
template
#
default=
"{row}"
>
<el-button
link
type=
"primary"
@
click=
"handleSalaryAdvance(row)"
icon=
"EditPen"
>
设置预支工资
</el-button>
</
template
>
</el-table-column>
</el-table>
<pagination
v-show=
"total > 0"
:total=
"total"
v-model:page=
"queryParams.page"
v-model:limit=
"queryParams.limit"
@
pagination=
"getList"
/>
</div>
</template>
<
script
setup
>
import
{
dispatchL
}
from
"@/api/dispatch"
;
const
{
proxy
}
=
getCurrentInstance
();
const
list
=
ref
([]);
const
policyOpen
=
ref
(
false
);
const
loading
=
ref
(
true
);
const
showSearch
=
ref
(
true
);
const
total
=
ref
(
0
);
const
data
=
reactive
({
form
:
{
},
queryParams
:
{
page
:
1
,
limit
:
10
,
},
});
const
{
queryParams
,
form
}
=
toRefs
(
data
);
/** 查询列表 */
function
getList
()
{
loading
.
value
=
true
;
dispatchL
(
queryParams
.
value
).
then
(
response
=>
{
list
.
value
=
response
.
data
;
total
.
value
=
response
.
count
;
loading
.
value
=
false
;
});
}
/** 搜索按钮操作 */
function
handleQuery
()
{
queryParams
.
value
.
page
=
1
;
queryParams
.
value
.
limit
=
10
;
getList
();
}
/** 重置按钮操作 */
function
resetQuery
()
{
proxy
.
resetForm
(
"queryRef"
);
handleQuery
();
}
/** 设置预支公司按钮操作 */
function
handleSalaryAdvance
(
row
)
{
proxy
.
$router
.
push
(
'dispatch/salary/advance?id='
+
row
.
id
+
'&code='
+
row
.
base_code
)
}
getList
();
</
script
>
\ No newline at end of file
src/views/dispatch/salary_advance.vue
0 → 100644
浏览文件 @
9ffcc94d
<
template
>
<div
class=
"dispatch-salary-advance"
>
<el-form
:inline=
"true"
label-position=
"right"
label-width=
"170px"
:model=
"formLabelAlign"
style=
"max-width: 90%"
ref=
"ruleFormRef"
:rules=
"rules"
class=
"ruleFormRef"
>
<el-form-item
label=
"最低预支额度"
prop=
"minAmount"
>
<el-input
v-model=
"formLabelAlign.minAmount"
type=
"number"
/>
</el-form-item>
<el-form-item
label=
"无手续费当月累计限额"
prop=
"freeAmount"
>
<el-input
v-model=
"formLabelAlign.freeAmount"
type=
"number"
/>
</el-form-item>
<el-form-item></el-form-item>
<el-form-item
label=
"手续费"
style=
"width: 1010px;"
prop=
"fee"
>
<el-table
:data=
"formLabelAlign.fee"
>
<el-table-column
label=
"手续费"
align=
"center"
prop=
"serviceFee"
>
<template
#
default=
"
{row}">
{{
row
.
serviceFee
+
'%'
}}
</
template
>
</el-table-column>
<el-table-column
label=
"金额范围"
align=
"center"
prop=
"minAmount"
>
<
template
#
default=
"{row}"
>
{{
row
.
minAmount
+
'-'
+
row
.
maxAmount
}}
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
width=
"180"
align=
"center"
class-name=
"small-padding fixed-width"
>
<
template
#
default=
"scope"
>
<el-button
link
type=
"primary"
icon=
"Delete"
@
click=
"delFee(scope)"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
<el-button
@
click=
"add"
icon=
"Plus"
style=
"width: 100%;border: 1px dashed #dcdfe6;margin-top: 6px;"
>
新增
</el-button>
</el-form-item>
<el-form-item
style=
"width: 100%;"
>
<div
style=
"margin: 0 auto;"
>
<el-button
@
click=
"resetForm"
>
取消
</el-button>
<el-button
@
click=
"submitForm"
type=
"primary"
>
提交
</el-button>
</div>
</el-form-item>
</el-form>
<!-- 新增手续费 -->
<el-dialog
title=
"新增手续费"
v-model=
"open"
width=
"500px"
append-to-body
>
<el-form
ref=
"addDialogRef"
:model=
"addForm"
:rules=
"feeRules"
label-width=
"110"
>
<el-form-item
label=
"手续费(%)"
prop=
"serviceFee"
>
<el-input
v-model=
"addForm.serviceFee"
placeholder=
"请输入手续费"
maxlength=
"60"
/>
</el-form-item>
<el-form-item
label=
"最小值"
prop=
"minAmount"
>
<el-input
v-model=
"addForm.minAmount"
placeholder=
"请输入最小值"
maxlength=
"60"
/>
</el-form-item>
<el-form-item
label=
"最大值"
prop=
"maxAmount"
>
<el-input
v-model=
"addForm.maxAmount"
placeholder=
"请输入最大值"
maxlength=
"60"
/>
</el-form-item>
</el-form>
<
template
#
footer
>
<div
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"submitDialog"
>
确 定
</el-button>
<el-button
@
click=
"open = false"
>
取 消
</el-button>
</div>
</
template
>
</el-dialog>
</div>
</template>
<
script
setup
>
import
{
salaryAdvanceInsert
}
from
"@/api/dispatch"
;
const
{
proxy
}
=
getCurrentInstance
();
const
list
=
ref
([]);
const
open
=
ref
(
false
)
const
id
=
proxy
.
$route
.
query
.
id
||
''
// 编辑时数据id
const
code
=
proxy
.
$route
.
query
.
code
||
''
// 编辑时数据code
const
data
=
reactive
({
formLabelAlign
:
{
minAmount
:
''
,
freeAmount
:
''
,
fee
:[]
},
addForm
:{},
rules
:{
minAmount
:
[{
required
:
true
,
message
:
"请输入最低预支额度"
,
trigger
:
"blur"
}],
freeAmount
:
[{
required
:
true
,
message
:
"请输入无手续费当月累计限额"
,
trigger
:
"blur"
}],
fee
:
[{
required
:
true
,
message
:
"请添加手续费"
,
trigger
:
"change"
}],
},
feeRules
:{
serviceFee
:
[{
required
:
true
,
message
:
"请输入手续费"
,
trigger
:
"blur"
}],
minAmount
:
[{
required
:
true
,
message
:
"请输入最小值"
,
trigger
:
"blur"
}],
maxAmount
:
[{
required
:
true
,
message
:
"请输入最大值"
,
trigger
:
"change"
}],
}
});
const
{
addForm
,
formLabelAlign
,
rules
,
feeRules
}
=
toRefs
(
data
);
/** 新增手续费弹窗 */
function
add
(){
open
.
value
=
true
proxy
.
$refs
.
addDialogRef
.
resetFields
();
}
/** 保存手续费 */
function
submitDialog
(){
proxy
.
$refs
.
addDialogRef
.
validate
((
valid
)
=>
{
if
(
!
valid
)
return
;
let
list
=
formLabelAlign
.
value
.
fee
||
[]
for
(
let
i
=
0
;
i
<
list
.
length
;
i
++
)
{
if
(
list
[
i
].
serviceFee
===
addForm
.
value
.
serviceFee
)
{
return
proxy
.
$modal
.
msgWarning
(
`手续费已存在!`
);
}
}
open
.
value
=
false
formLabelAlign
.
value
.
fee
.
push
({...
addForm
.
value
})
})
}
/** 删除手续费 */
function
delFee
(
row
){
formLabelAlign
.
value
.
fee
.
splice
(
row
.
$index
,
1
)
}
/** 取消 */
function
resetForm
(){
proxy
.
$router
.
go
(
-
1
);
}
/** 提交 */
function
submitForm
(){
proxy
.
$refs
.
ruleFormRef
.
validate
(
async
(
valid
)
=>
{
if
(
!
valid
)
return
;
const
submitForm
=
{...
formLabelAlign
.
value
}
submitForm
.
fee
=
JSON
.
stringify
(
submitForm
.
fee
)
salaryAdvanceInsert
({...
submitForm
,
code
:
code
,}).
then
(
res
=>
{
proxy
.
$modal
.
msgSuccess
(
res
.
code
)
const
obj
=
{
path
:
"/dispatch"
};
proxy
.
$tab
.
closeOpenPage
(
obj
);
})
})
}
</
script
>
<
style
lang=
"scss"
>
.dispatch-salary-advance
{
.el-form.ruleFormRef
{
margin
:
20px
auto
;
display
:
flex
;
justify-content
:
space-between
;
align-items
:
center
;
flex-wrap
:
wrap
;
.el-form-item
{
width
:
30%
;
.el-input
,
.el-select
,
.el-date-editor.el-input
,
.el-date-editor.el-input__wrapper
{
width
:
100%
;
}
}
}
}
</
style
>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论