上海人员入场多工程设置页面完善
This commit is contained in:
parent
dbec005722
commit
8bcac60702
|
|
@ -21,7 +21,7 @@ export const deleteEntryPersonAPI = (data) => {
|
|||
// 人员入场 获取人员详情接口
|
||||
export const getEntryPersonDetailAPI = (data) => {
|
||||
return request({
|
||||
url: `/bmw/worker/select/${data.id}`,
|
||||
url: `/bmw/worker/select/${data.id}/${data.proId}`,
|
||||
method: 'post',
|
||||
})
|
||||
}
|
||||
|
|
@ -68,3 +68,30 @@ export const checkFaceImageAPI = (data) => {
|
|||
data,
|
||||
})
|
||||
}
|
||||
|
||||
// 根据身份证号码查询上海工程接口
|
||||
export const getShanghaiProByIdNumberAPI = (data) => {
|
||||
return request({
|
||||
url: `/bmw/worker/selectByIdNumber/${data.idNumber}`,
|
||||
method: 'POST',
|
||||
data,
|
||||
})
|
||||
}
|
||||
|
||||
// 根据人员ID获取上海工程列表
|
||||
export const getShanghaiProListByWorkerIdAPI = (data) => {
|
||||
return request({
|
||||
url: '/bmw/worker/einListByWorkerId',
|
||||
method: 'GET',
|
||||
params: data,
|
||||
})
|
||||
}
|
||||
|
||||
// 上海人员入场新工程接口
|
||||
export const addShanghaiProEinAPI = (data) => {
|
||||
return request({
|
||||
url: '/bmw/worker/insertProEin',
|
||||
method: 'POST',
|
||||
data,
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -429,6 +429,12 @@ export default {
|
|||
this.getTableList()
|
||||
},
|
||||
|
||||
// 根据传递的参数进行查询
|
||||
getTableListByParams(data) {
|
||||
Object.assign(this.queryParams, data)
|
||||
this.getTableList()
|
||||
},
|
||||
|
||||
/** 重置按钮 */
|
||||
resetQuery() {
|
||||
this.$refs.queryFormRef.resetFields()
|
||||
|
|
|
|||
|
|
@ -436,7 +436,7 @@
|
|||
v-model="contractInfoForm.wageApprovedWay"
|
||||
>
|
||||
<el-radio-button label="天" />
|
||||
<el-radio-button label="月" />
|
||||
<!-- <el-radio-button label="月" /> -->
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
|
@ -605,6 +605,7 @@ import {
|
|||
editEntryPersonAPI,
|
||||
getEntryPersonDetailAPI,
|
||||
updatePersonLightStatusAPI,
|
||||
getShanghaiProByIdNumberAPI,
|
||||
} from '@/api/construction-person/entry-and-exit-manage/person-entry'
|
||||
import {
|
||||
getSubSelectListByConditionAPI,
|
||||
|
|
@ -627,6 +628,10 @@ export default {
|
|||
type: Number,
|
||||
default: 1,
|
||||
},
|
||||
proId: {
|
||||
type: [String, Number],
|
||||
default: '',
|
||||
},
|
||||
},
|
||||
components: {
|
||||
UploadImgFormData,
|
||||
|
|
@ -1439,6 +1444,7 @@ export default {
|
|||
async getEntryPersonDetail() {
|
||||
const { data: res } = await getEntryPersonDetailAPI({
|
||||
id: this.queryDetailsId,
|
||||
proId: this.proId,
|
||||
})
|
||||
|
||||
// 身份证基本信息
|
||||
|
|
@ -1612,6 +1618,47 @@ export default {
|
|||
// 根据身份证号码计算年龄
|
||||
const age = new Date().getFullYear() - birthday.slice(0, 4)
|
||||
this.idCardInfoForm.age = age
|
||||
|
||||
this.checkShanghaiPro()
|
||||
},
|
||||
|
||||
// 判断当前身份证人员是否有入场工程
|
||||
async checkShanghaiPro() {
|
||||
const { data: res } = await getShanghaiProByIdNumberAPI({
|
||||
idNumber: this.idCardInfoForm.idNumber,
|
||||
})
|
||||
// return res
|
||||
|
||||
console.log(res, 'res身份证人员是否有入场工程')
|
||||
|
||||
if (
|
||||
res &&
|
||||
Object.keys(res).length > 0 &&
|
||||
res.isShanghai == 1 &&
|
||||
this.formType == 1
|
||||
) {
|
||||
this.$modal.msgError(
|
||||
'当前人员已经入场上海工程,请前往上海多工程设置模块进行设置,正在跳转...',
|
||||
)
|
||||
|
||||
setTimeout(() => {
|
||||
this.$emit('onOpenShanghaiProSetting', res.idNumber)
|
||||
}, 1000)
|
||||
}
|
||||
if (
|
||||
res &&
|
||||
Object.keys(res).length > 0 &&
|
||||
res.isShanghai == 0 &&
|
||||
this.formType == 1
|
||||
) {
|
||||
this.$modal.msgError(
|
||||
'当前人员已经存在入场工程,可直接编辑,正在跳转...',
|
||||
)
|
||||
|
||||
setTimeout(() => {
|
||||
this.$emit('onOpenAddOrEdit', res.idNumber)
|
||||
}, 1000)
|
||||
}
|
||||
},
|
||||
|
||||
// 建立一个websocket连接
|
||||
|
|
@ -1661,6 +1708,7 @@ export default {
|
|||
const birthdayYear = Birthday.slice(0, 4)
|
||||
const currentYear = new Date().getFullYear()
|
||||
_this.idCardInfoForm.age = currentYear - birthdayYear
|
||||
_this.checkShanghaiPro()
|
||||
}
|
||||
}
|
||||
this.webSocket.onerror = function (evt) {
|
||||
|
|
|
|||
|
|
@ -106,8 +106,13 @@
|
|||
:formType="formType"
|
||||
:workerId="workerId"
|
||||
:einStatus="einStatus"
|
||||
:proId="proId"
|
||||
ref="addOrEditFormContentRef"
|
||||
:queryDetailsId="queryDetailsId"
|
||||
@onOpenAddOrEdit="onHandleOpenAddOrEdit"
|
||||
@onOpenShanghaiProSetting="
|
||||
onHandleOpenShanghaiProSetting
|
||||
"
|
||||
/>
|
||||
|
||||
<el-row class="dialog-footer-btn">
|
||||
|
|
@ -153,6 +158,7 @@
|
|||
|
||||
<template v-else>
|
||||
<ShanghaiProSetting
|
||||
:idNumber="idNumber"
|
||||
@closeDialogOuter="handleCloseDialogOuter"
|
||||
/>
|
||||
</template>
|
||||
|
|
@ -198,10 +204,12 @@ export default {
|
|||
columnsList,
|
||||
dialogConfig,
|
||||
workerId: '', // 人员id
|
||||
proId: '', // 工程id
|
||||
formType: 1, // 表单类型
|
||||
einStatus: 1, // 在场状态
|
||||
queryDetailsId: '', // 查询详情id
|
||||
importFileList: [], // 导入文件列表
|
||||
idNumber: '', // 身份证号码
|
||||
getEntryPersonListAPI,
|
||||
}
|
||||
},
|
||||
|
|
@ -229,9 +237,13 @@ export default {
|
|||
this.queryDetailsId = data.id
|
||||
this.workerId = data.workerId
|
||||
this.einStatus = data.einStatus
|
||||
if (data.proId) {
|
||||
this.proId = data.proId
|
||||
}
|
||||
this.dialogConfig.outerVisible = true
|
||||
} else {
|
||||
this.workerId = ''
|
||||
this.proId = ''
|
||||
this.queryDetailsId = ''
|
||||
this.dialogConfig.outerVisible = true
|
||||
}
|
||||
|
|
@ -276,6 +288,7 @@ export default {
|
|||
// 关闭弹框
|
||||
handleCloseDialogOuter() {
|
||||
// this.$refs.addOrEditFormContentRef.resetForm()
|
||||
this.idNumber = ''
|
||||
this.importFileList = []
|
||||
this.dialogConfig.outerVisible = false
|
||||
},
|
||||
|
|
@ -349,6 +362,21 @@ export default {
|
|||
this.dialogConfig.maxHeight = '90vh'
|
||||
this.dialogConfig.outerVisible = true
|
||||
},
|
||||
|
||||
// 打开修改
|
||||
onHandleOpenAddOrEdit(idNumber) {
|
||||
this.dialogConfig.outerVisible = false
|
||||
this.$refs.personEntryTableRef.getTableListByParams({
|
||||
idNumber: idNumber,
|
||||
})
|
||||
},
|
||||
|
||||
// 打开上海人员多工程设置
|
||||
onHandleOpenShanghaiProSetting(idNumber) {
|
||||
this.dialogConfig.outerVisible = false
|
||||
this.onHandleShanghaiPersonMultiEngineSetting()
|
||||
this.idNumber = idNumber
|
||||
},
|
||||
},
|
||||
|
||||
async created() {
|
||||
|
|
|
|||
|
|
@ -2,13 +2,18 @@
|
|||
<!-- 施工人员 ---- 出入场管理 ---- 上海人员多工程设置 -->
|
||||
<div class="container">
|
||||
<div class="shanghai-pro-setting-step1" v-if="currentStep === 1">
|
||||
<el-form label-width="140px">
|
||||
<el-form-item label="身份证号码">
|
||||
<el-form
|
||||
label-width="140px"
|
||||
:model="idNumberForm"
|
||||
ref="idNumberFormRef"
|
||||
:rules="idNumberFormRules"
|
||||
>
|
||||
<el-form-item label="身份证号码" prop="idNumber">
|
||||
<el-input
|
||||
v-model="idNumber"
|
||||
placeholder="请输入身份证号码"
|
||||
clearable
|
||||
style="width: 420px"
|
||||
placeholder="请输入身份证号码"
|
||||
v-model.trim="idNumberForm.idNumber"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
|
@ -101,6 +106,7 @@
|
|||
<el-form-item label="姓名" prop="name">
|
||||
<el-input
|
||||
clearable
|
||||
disabled
|
||||
placeholder="请输入姓名"
|
||||
v-model.trim="addEntryProjectForm.name"
|
||||
/>
|
||||
|
|
@ -108,6 +114,7 @@
|
|||
<el-form-item label="身份证号" prop="idNumber">
|
||||
<el-input
|
||||
clearable
|
||||
disabled
|
||||
placeholder="请输入身份证号"
|
||||
v-model.trim="addEntryProjectForm.idNumber"
|
||||
/>
|
||||
|
|
@ -208,6 +215,11 @@
|
|||
|
||||
<script>
|
||||
import DialogModel from '@/components/DialogModel'
|
||||
import {
|
||||
getShanghaiProByIdNumberAPI,
|
||||
getShanghaiProListByWorkerIdAPI,
|
||||
addShanghaiProEinAPI,
|
||||
} from '@/api/construction-person/entry-and-exit-manage/person-entry'
|
||||
import { getPostTypeSelectListCommonFun } from '@/utils/getCommonData'
|
||||
import {
|
||||
getSubSelectListByConditionAPI,
|
||||
|
|
@ -219,9 +231,14 @@ export default {
|
|||
components: {
|
||||
DialogModel,
|
||||
},
|
||||
props: {
|
||||
idNumber: {
|
||||
type: String,
|
||||
default: '',
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
idNumber: '',
|
||||
currentStep: 1,
|
||||
tableData: [],
|
||||
columnsList: [
|
||||
|
|
@ -278,6 +295,7 @@ export default {
|
|||
subId: '',
|
||||
proId: '',
|
||||
postId: '',
|
||||
id: '',
|
||||
},
|
||||
|
||||
addEntryProjectFormRules: {
|
||||
|
|
@ -319,6 +337,21 @@ export default {
|
|||
],
|
||||
},
|
||||
|
||||
idNumberForm: {
|
||||
idNumber: '',
|
||||
},
|
||||
|
||||
idNumberFormRules: {
|
||||
idNumber: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入身份证号码',
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
workerId: '', // 人员id
|
||||
|
||||
postTypeSelectList: [], // 工种列表
|
||||
lotProjectSelectList: [], // 工程列表
|
||||
subSelectList: [], // 分包列表
|
||||
|
|
@ -334,8 +367,6 @@ export default {
|
|||
label: item.postName,
|
||||
}
|
||||
})
|
||||
|
||||
this.getLotProjectSelectList()
|
||||
},
|
||||
|
||||
methods: {
|
||||
|
|
@ -348,52 +379,99 @@ export default {
|
|||
|
||||
// 下一步
|
||||
onHandleNextStep() {
|
||||
this.currentStep = 2
|
||||
// this.currentStep = 2
|
||||
this.$refs.idNumberFormRef.validate(async (valid) => {
|
||||
if (valid) {
|
||||
// this.currentStep = 2
|
||||
|
||||
const { data: res } = await getShanghaiProByIdNumberAPI({
|
||||
idNumber: this.idNumberForm.idNumber,
|
||||
})
|
||||
|
||||
if (res?.isShanghai == 0) {
|
||||
this.$modal.msgError('该人员当前入场的工程非上海工程!')
|
||||
return
|
||||
}
|
||||
this.currentStep = 2
|
||||
this.workerId = res.id
|
||||
this.addEntryProjectForm.name = res.name
|
||||
this.addEntryProjectForm.idNumber = res.idNumber
|
||||
this.addEntryProjectForm.id = res.id
|
||||
this.getShanghaiProList()
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
// 获取工程列表
|
||||
async getShanghaiProList() {
|
||||
const res = await getShanghaiProListByWorkerIdAPI({
|
||||
workerId: this.workerId,
|
||||
})
|
||||
this.tableData = res?.rows
|
||||
},
|
||||
|
||||
// 新增入场工程
|
||||
onHandleAddEntryProject() {
|
||||
this.getLotProjectSelectList()
|
||||
this.dialogConfig.outerVisible = true
|
||||
},
|
||||
|
||||
// 关闭弹框
|
||||
handleCloseDialogOuter() {
|
||||
this.$refs.addEntryProjectFormRef.resetFields()
|
||||
this.dialogConfig.outerVisible = false
|
||||
},
|
||||
|
||||
// 取消按钮
|
||||
onHandleCloseDialogOuter() {
|
||||
this.$refs.addEntryProjectFormRef.resetFields()
|
||||
this.dialogConfig.outerVisible = false
|
||||
},
|
||||
|
||||
// 提交按钮
|
||||
onHandleConfirmAddEntryProject() {
|
||||
// this.$emit('closeDialogOuter')
|
||||
this.$refs.addEntryProjectFormRef.validate((valid) => {
|
||||
if (valid) {
|
||||
this.$emit('closeDialogOuter')
|
||||
}
|
||||
})
|
||||
async onHandleConfirmAddEntryProject() {
|
||||
const res = await this.addShanghaiProEin()
|
||||
if (res) {
|
||||
this.$emit('closeDialogOuter')
|
||||
}
|
||||
},
|
||||
|
||||
// 提交并继续添加按钮
|
||||
onHandleConfirmAddEntryProjectAndContinue() {
|
||||
this.$refs.addEntryProjectFormRef.validate((valid) => {
|
||||
if (valid) {
|
||||
this.tableData.push(
|
||||
JSON.parse(JSON.stringify(this.addEntryProjectForm)),
|
||||
)
|
||||
this.$refs.addEntryProjectFormRef.resetFields()
|
||||
this.dialogConfig.outerVisible = false
|
||||
}
|
||||
async onHandleConfirmAddEntryProjectAndContinue() {
|
||||
const res = await this.addShanghaiProEin()
|
||||
if (res) {
|
||||
this.$refs.addEntryProjectFormRef.resetFields()
|
||||
this.dialogConfig.outerVisible = false
|
||||
this.getShanghaiProList()
|
||||
}
|
||||
},
|
||||
|
||||
// 新增入场工程
|
||||
async addShanghaiProEin() {
|
||||
return new Promise((resolve, reject) => {
|
||||
this.$refs.addEntryProjectFormRef.validate(async (valid) => {
|
||||
if (valid) {
|
||||
const res = await addShanghaiProEinAPI(
|
||||
this.addEntryProjectForm,
|
||||
)
|
||||
if (res.code === 200) {
|
||||
this.$modal.msgSuccess('新增成功')
|
||||
resolve(true)
|
||||
} else {
|
||||
reject(false)
|
||||
}
|
||||
} else {
|
||||
reject(false)
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
// 获取标段工程下拉列表
|
||||
async getLotProjectSelectList() {
|
||||
const { data: res } = await getLotProjectSelectListByConditionAPI(
|
||||
{},
|
||||
)
|
||||
const { data: res } = await getLotProjectSelectListByConditionAPI({
|
||||
workerId: this.workerId,
|
||||
})
|
||||
this.lotProjectSelectList = res.map((item) => {
|
||||
return {
|
||||
value: item.id,
|
||||
|
|
@ -473,6 +551,16 @@ export default {
|
|||
).label
|
||||
},
|
||||
},
|
||||
|
||||
watch: {
|
||||
idNumber: {
|
||||
handler(newVal) {
|
||||
this.idNumberForm.idNumber = newVal
|
||||
},
|
||||
deep: true,
|
||||
immediate: true,
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
|
|
|
|||
|
|
@ -96,7 +96,7 @@
|
|||
v-model="contractInfoForm.wageApprovedWay"
|
||||
>
|
||||
<el-radio-button label="天" />
|
||||
<el-radio-button label="月" />
|
||||
<!-- <el-radio-button label="月" /> -->
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
|
|
|||
Loading…
Reference in New Issue