Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
J
jft-vue-platform
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
王梦龙
jft-vue-platform
Commits
dc29d3c5
提交
dc29d3c5
authored
7月 11, 2024
作者:
zsf
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
新增派遣公司页面
上级
38967ac0
显示空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
246 行增加
和
8 行删除
+246
-8
dispatch.js
src/api/dispatch.js
+25
-0
index.js
src/router/index.js
+12
-0
add.vue
src/views/dispatch/add.vue
+202
-0
index.vue
src/views/dispatch/index.vue
+7
-8
没有找到文件。
src/api/dispatch.js
浏览文件 @
dc29d3c5
...
@@ -32,3 +32,28 @@ export function salaryAdvanceUpdate(data) {
...
@@ -32,3 +32,28 @@ export function salaryAdvanceUpdate(data) {
data
:
data
data
:
data
})
})
}
}
// 校验派遣公司名称是否重复 校验名称
export
function
checkName
(
data
)
{
return
request
({
url
:
'/djl-role/dispatch/check/name'
,
method
:
'get'
,
params
:
data
})
}
// 校验派遣公司账号是否重复 校验默认账号
export
function
checkAccount
(
data
)
{
return
request
({
url
:
'/djl-role/dispatch/check/default_account'
,
method
:
'get'
,
params
:
data
})
}
// 校验派遣公司编号是否重复 校验baseCode
export
function
checkBaseCode
(
data
)
{
return
request
({
url
:
'/djl-role/dispatch/check/baseCode'
,
method
:
'get'
,
params
:
data
})
}
src/router/index.js
浏览文件 @
dc29d3c5
...
@@ -70,6 +70,18 @@ export const constantRoutes = [
...
@@ -70,6 +70,18 @@ export const constantRoutes = [
"activeMenu"
:
"/dispatch"
"activeMenu"
:
"/dispatch"
}
}
},
},
{
"name"
:
"add"
,
"path"
:
"dispatch/add"
,
"hidden"
:
true
,
"component"
:
()
=>
import
(
'@/views/dispatch/add'
),
"meta"
:
{
"title"
:
"新增"
,
"icon"
:
"online"
,
"preTitle"
:
"客户(派遣公司)管理"
,
"activeMenu"
:
"/dispatch"
}
},
]
]
},
},
// {
// {
...
...
src/views/dispatch/add.vue
0 → 100644
浏览文件 @
dc29d3c5
<
template
>
<div
class=
"app-container"
style=
"padding: 20px 50px"
>
<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=
"name"
>
<el-input
v-model=
"formLabelAlign.name"
maxlength=
"100"
/>
</el-form-item>
<el-form-item
label=
"默认账号"
prop=
"default_account"
>
<el-input
v-model=
"formLabelAlign.default_account"
maxlength=
"20"
placeholder=
"请输入账号(手机号格式)"
/>
</el-form-item>
<el-form-item
label=
"编号"
prop=
"base_code"
>
<el-input
v-model=
"formLabelAlign.base_code"
/>
</el-form-item>
<el-form-item
label=
"前缀"
prop=
"prefix"
>
<el-input
v-model=
"formLabelAlign.prefix"
onkeyup=
"value=value.replace(/[^a-zA-Z]/g,'')"
/>
</el-form-item>
<el-form-item
label=
"规模"
prop=
"scale"
>
<el-select
v-model=
"formLabelAlign.scale"
placeholder=
"请选择"
filterable
style=
"width: 190px;"
>
<el-option
label=
"请选择"
value=
""
/>
<el-option
label=
"微型"
value=
"微型"
/>
<el-option
label=
"小型"
value=
"小型"
/>
<el-option
label=
"中型"
value=
"中型"
/>
<el-option
label=
"大型"
value=
"大型"
/>
<el-option
label=
"特大型"
value=
"特大型"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"注册日期"
prop=
"register_time"
>
<el-date-picker
v-model=
"formLabelAlign.register_time"
type=
"date"
placeholder=
"注册日期"
value-format=
"YYYY-MM-DD"
style=
"width: 200px"
/>
</el-form-item>
<el-form-item
label=
"联系人"
prop=
"contracts"
>
<el-input
v-model=
"formLabelAlign.contracts"
maxlength=
"20"
/>
</el-form-item>
<el-form-item
label=
"联系电话"
prop=
"contract_number"
>
<el-input
v-model=
"formLabelAlign.contract_number"
/>
</el-form-item>
<el-form-item
label=
"公司地址(省市县区)"
prop=
"ssq_id"
>
<el-cascader
v-model=
"formLabelAlign.ssq_id"
:options=
"regionData"
@
change=
"handleSsqChange()"
style=
"width: 200px"
/>
</el-form-item>
<el-form-item
label=
"详细地址"
prop=
"address"
>
<el-input
v-model=
"formLabelAlign.address"
maxlength=
"50"
/>
</el-form-item>
</el-form>
<el-form-item
style=
"width: 100%;"
>
<div
style=
"margin: 0 auto;"
>
<el-button
@
click=
"cancel"
>
取消
</el-button>
<el-button
@
click=
"submitForm"
type=
"primary"
>
提交
</el-button>
</div>
</el-form-item>
</div>
</
template
>
<
script
setup
>
import
{
reactive
,
ref
,
getCurrentInstance
}
from
'vue'
import
{
provinceAndCityData
,
pcTextArr
,
regionData
,
pcaTextArr
,
codeToText
,
}
from
"element-china-area-data"
;
import
{
checkAccount
,
checkBaseCode
,
checkName
}
from
"@/api/dispatch"
;
const
{
proxy
}
=
getCurrentInstance
();
const
id
=
proxy
.
$route
.
query
.
id
||
''
// 编辑时数据id
// 页面
const
formLabelAlign
=
ref
({
})
const
rules
=
ref
({
name
:
[{
required
:
true
,
message
:
"请输入派遣公司名称"
,
trigger
:
[
'blur'
,
'change'
]},
{
validator
:
validateName
,
trigger
:
'blur'
}
],
default_account
:[
{
required
:
true
,
message
:
"请输入默认账号"
,
trigger
:
[
'blur'
,
'change'
]},
{
pattern
:
/^
(((
19
[
0-9
]{1})
|
(
16
[
0-9
]{1})
|
(
17
[
0-9
]{1})
|
(
13
[
0-9
]{1})
|
(
14
[
0-9
]{1})
|
(
15
[
0-9
]{1})
|
(
18
[
0-9
]{1}))
+
\d{8})
$/
,
message
:
"请输入正确的账号(手机号)"
,
trigger
:
"blur"
},
{
validator
:
validateAccount
,
trigger
:
'blur'
}
],
base_code
:[
{
required
:
true
,
message
:
"请输入编号"
,
trigger
:
[
'blur'
,
'change'
]},
{
pattern
:
/^
[
a-z
\-
0-9
]{6,10}
$/gi
,
message
:
"请输入6到10位的字符"
,
trigger
:
"blur"
},
{
validator
:
validateBaseCode
,
trigger
:
'blur'
}
],
prefix
:
[{
required
:
true
,
message
:
"请输入前缀"
,
trigger
:
[
'blur'
,
'change'
]}],
register_time
:[{
validator
:
validateTime
,
trigger
:
[
'blur'
,
'change'
]
}],
contract_number
:
[{
pattern
:
/^
\d[
0-9
\-]{5,11}\d
$/
,
message
:
"请输入正确的手机号或座机号"
,
trigger
:
"blur"
}],
contracts
:
[{
required
:
true
,
message
:
"请输入联系人"
,
trigger
:
[
'blur'
,
'change'
]}],
})
//校验名称是否重复
function
validateName
(
rule
,
value
,
callback
)
{
if
(
formLabelAlign
.
value
.
id
!==
''
&&
formLabelAlign
.
value
.
id
!==
undefined
){
callback
();
}
checkName
({
name
:
value
,
id
:
formLabelAlign
.
value
.
id
}).
then
((
response
)
=>
{
if
(
!
response
.
data
)
{
callback
(
new
Error
(
'名称重复'
));
}
else
{
callback
();
}
});
}
//校验默认账号是否重复
function
validateAccount
(
rule
,
value
,
callback
)
{
if
(
formLabelAlign
.
value
.
id
!==
''
&&
formLabelAlign
.
value
.
id
!==
undefined
){
callback
();
}
checkAccount
({
default_account
:
value
}).
then
((
response
)
=>
{
if
(
!
response
.
data
)
{
callback
(
new
Error
(
'默认账号重复'
));
}
else
{
callback
();
}
});
}
//校验baseCode是否重复
function
validateBaseCode
(
rule
,
value
,
callback
)
{
if
(
formLabelAlign
.
value
.
id
!==
''
&&
formLabelAlign
.
value
.
id
!==
undefined
){
callback
();
}
checkBaseCode
({
base_code
:
value
,
id
:
formLabelAlign
.
value
.
id
}).
then
((
response
)
=>
{
if
(
!
response
.
data
)
{
callback
(
new
Error
(
'编号重复'
));
}
else
{
callback
();
}
});
}
//校验注册日期
function
validateTime
(
rule
,
value
,
callback
)
{
if
(
value
==
''
)
{
callback
();
}
let
now
=
new
Date
();
let
date
=
new
Date
(
value
);
if
(
date
>
now
)
{
callback
(
new
Error
(
"注册日期不能超过当前日期"
));
}
}
function
handleSsqChange
()
{
let
ssq_id
=
formLabelAlign
.
value
.
ssq_id
;
formLabelAlign
.
value
.
province_id
=
ssq_id
[
0
];
formLabelAlign
.
value
.
city_id
=
ssq_id
[
1
];
formLabelAlign
.
value
.
county_id
=
ssq_id
[
2
];
formLabelAlign
.
value
.
district
=
codeToText
[
formLabelAlign
.
value
.
province_id
]
+
'-'
+
codeToText
[
formLabelAlign
.
value
.
city_id
]
+
'-'
+
codeToText
[
formLabelAlign
.
value
.
county_id
];
}
/** 取消 */
function
cancel
(){
proxy
.
$router
.
go
(
-
1
);
}
/** 提交 */
function
submitForm
(){
proxy
.
$refs
.
ruleFormRef
.
validate
(
async
(
valid
)
=>
{
if
(
!
valid
)
return
;
const
submitForm
=
{...
formLabelAlign
.
value
}
if
(
formLabelAlign
.
value
.
id
){
// salaryAdvanceUpdate({...submitForm,code:code,rsapId:formLabelAlign.value.id}).then(res => {
// proxy.$modal.msgSuccess(res.code)
// const obj = { path: "/dispatch" };
// proxy.$tab.closeOpenPage(obj);
// })
}
else
{
// salaryAdvanceInsert({...submitForm,code:code,}).then(res => {
// proxy.$modal.msgSuccess(res.code)
// const obj = { path: "/dispatch" };
// proxy.$tab.closeOpenPage(obj);
// })
}
})
}
</
script
>
\ No newline at end of file
src/views/dispatch/index.vue
浏览文件 @
dc29d3c5
...
@@ -31,13 +31,13 @@
...
@@ -31,13 +31,13 @@
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<!--
<el-row
:gutter=
"10"
class=
"mb8"
>
--
>
<el-row
:gutter=
"10"
class=
"mb8"
>
<!--
<el-col
:span=
"1.5"
>
--
>
<el-col
:span=
"1.5"
>
<!--
<el-button
type=
"primary"
plain
icon=
"Plus"
@
click=
"handleAdd"
--
>
<el-button
type=
"primary"
plain
icon=
"Plus"
@
click=
"handleAdd"
<!-- >新增
</el-button>
--
>
>
新增
</el-button
>
<!--
</el-col>
--
>
</el-col
>
<!--
<right-toolbar
v-model:showSearch=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
--
>
<right-toolbar
v-model:showSearch=
"showSearch"
@
queryTable=
"getList"
></right-toolbar
>
<!--
</el-row>
--
>
</el-row
>
<el-table
v-loading=
"loading"
:data=
"list"
>
<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=
"base_code"
width=
"200"
fixed
/>
...
@@ -86,7 +86,6 @@
...
@@ -86,7 +86,6 @@
const
{
proxy
}
=
getCurrentInstance
();
const
{
proxy
}
=
getCurrentInstance
();
const
list
=
ref
([]);
const
list
=
ref
([]);
const
policyOpen
=
ref
(
false
);
const
loading
=
ref
(
true
);
const
loading
=
ref
(
true
);
const
showSearch
=
ref
(
true
);
const
showSearch
=
ref
(
true
);
const
total
=
ref
(
0
);
const
total
=
ref
(
0
);
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论