失信人员字段添加 考勤机管理字段添加
This commit is contained in:
parent
a27bd10842
commit
feba0428da
|
|
@ -35,3 +35,20 @@ export const getAttendanceMachineListAPI = (data) => {
|
||||||
params: data,
|
params: data,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 根据工程查询分包下拉接口
|
||||||
|
export const getSubListByProIdAPI = (data) => {
|
||||||
|
return request({
|
||||||
|
url: '/bmw/pmSub/getSublistByProId',
|
||||||
|
method: 'GET',
|
||||||
|
params: data,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 根据工程和分包查询班组下拉接口
|
||||||
|
export const getTeamListBySubIdAndProIdAPI = (data) => {
|
||||||
|
return request({
|
||||||
|
url: '/bmw/subTeamContract/getSubTeamContractList',
|
||||||
|
method: 'GET',
|
||||||
|
params: data,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ export const getDishonestyPersonListAPI = (data) => {
|
||||||
|
|
||||||
// 红绿灯统计 新增失信人员
|
// 红绿灯统计 新增失信人员
|
||||||
export const addDishonestyPersonAPI = (data) => {
|
export const addDishonestyPersonAPI = (data) => {
|
||||||
return request({
|
return requestFormData({
|
||||||
url: '/bmw/workerBlack/insert',
|
url: '/bmw/workerBlack/insert',
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
data,
|
data,
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,7 @@
|
||||||
filterable
|
filterable
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
placeholder="请选择"
|
placeholder="请选择"
|
||||||
|
@change="getSubListByProId"
|
||||||
v-model="addOrEditForm.proId"
|
v-model="addOrEditForm.proId"
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
|
|
@ -68,6 +69,47 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="分包名称">
|
||||||
|
<el-select
|
||||||
|
clearable
|
||||||
|
filterable
|
||||||
|
style="width: 100%"
|
||||||
|
placeholder="请选择"
|
||||||
|
v-model="addOrEditForm.subId"
|
||||||
|
@change="getTeamListBySubIdAndProId"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
:key="item.id"
|
||||||
|
:value="item.id"
|
||||||
|
:label="item.subName"
|
||||||
|
v-for="item in subSelectList"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="班组名称">
|
||||||
|
<el-select
|
||||||
|
clearable
|
||||||
|
filterable
|
||||||
|
style="width: 100%"
|
||||||
|
placeholder="请选择"
|
||||||
|
v-model="addOrEditForm.teamId"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
:key="item.teamId"
|
||||||
|
:label="item.teamName"
|
||||||
|
:value="item.teamId"
|
||||||
|
v-for="item in teamSelectList"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -77,6 +119,8 @@ import UploadImgFormData from '@/components/UploadImgFormData'
|
||||||
import {
|
import {
|
||||||
addAttendanceMachineAPI,
|
addAttendanceMachineAPI,
|
||||||
editAttendanceMachineAPI,
|
editAttendanceMachineAPI,
|
||||||
|
getSubListByProIdAPI,
|
||||||
|
getTeamListBySubIdAndProIdAPI,
|
||||||
} from '@/api/construction-person/attendance-manage/attendance-machine'
|
} from '@/api/construction-person/attendance-manage/attendance-machine'
|
||||||
|
|
||||||
import { getLotProjectSelectListCommonFun } from '@/utils/getCommonData'
|
import { getLotProjectSelectListCommonFun } from '@/utils/getCommonData'
|
||||||
|
|
@ -104,6 +148,8 @@ export default {
|
||||||
deviceCode: '',
|
deviceCode: '',
|
||||||
deviceName: '',
|
deviceName: '',
|
||||||
serialNumber: '',
|
serialNumber: '',
|
||||||
|
subId: '',
|
||||||
|
teamId: '',
|
||||||
},
|
},
|
||||||
addOrEditFormRules: {
|
addOrEditFormRules: {
|
||||||
deviceCode: [
|
deviceCode: [
|
||||||
|
|
@ -138,7 +184,9 @@ export default {
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
lotProjectList: [],
|
lotProjectList: [], // 工程下拉列表
|
||||||
|
subSelectList: [], // 分包下拉列表
|
||||||
|
teamSelectList: [], // 班组下拉列表
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|
@ -154,6 +202,8 @@ export default {
|
||||||
deviceCode,
|
deviceCode,
|
||||||
deviceName,
|
deviceName,
|
||||||
serialNumber,
|
serialNumber,
|
||||||
|
subId,
|
||||||
|
teamId,
|
||||||
} = this.addOrEditForm
|
} = this.addOrEditForm
|
||||||
|
|
||||||
const params = {
|
const params = {
|
||||||
|
|
@ -161,6 +211,8 @@ export default {
|
||||||
deviceCode,
|
deviceCode,
|
||||||
deviceName,
|
deviceName,
|
||||||
serialNumber,
|
serialNumber,
|
||||||
|
subId,
|
||||||
|
teamId,
|
||||||
}
|
}
|
||||||
|
|
||||||
const API = isUpdate
|
const API = isUpdate
|
||||||
|
|
@ -188,6 +240,34 @@ export default {
|
||||||
resetForm() {
|
resetForm() {
|
||||||
this.$refs.addOrEditFormRef.resetFields()
|
this.$refs.addOrEditFormRef.resetFields()
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// 根据工程查询分包下拉
|
||||||
|
async getSubListByProId(val) {
|
||||||
|
this.subSelectList = []
|
||||||
|
this.teamSelectList = []
|
||||||
|
this.addOrEditForm.teamId = ''
|
||||||
|
this.addOrEditForm.subId = ''
|
||||||
|
if (!val) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
const { rows: res } = await getSubListByProIdAPI({ proId: val })
|
||||||
|
this.subSelectList = res
|
||||||
|
},
|
||||||
|
|
||||||
|
// 根据工程和分包查询班组下拉
|
||||||
|
async getTeamListBySubIdAndProId(val) {
|
||||||
|
this.teamSelectList = []
|
||||||
|
this.addOrEditForm.teamId = ''
|
||||||
|
if (!val) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
const { data: res } = await getTeamListBySubIdAndProIdAPI({
|
||||||
|
subId: val,
|
||||||
|
proId: this.addOrEditForm.proId,
|
||||||
|
})
|
||||||
|
|
||||||
|
this.teamSelectList = res
|
||||||
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
async created() {
|
async created() {
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,8 @@ export const columnsList = [
|
||||||
{ t_props: 'deviceName', t_label: '考勤机名称' },
|
{ t_props: 'deviceName', t_label: '考勤机名称' },
|
||||||
{ t_props: 'serialNumber', t_label: '出厂编号' },
|
{ t_props: 'serialNumber', t_label: '出厂编号' },
|
||||||
{ t_props: 'proName', t_label: '工程名称' },
|
{ t_props: 'proName', t_label: '工程名称' },
|
||||||
|
{ t_props: 'subName', t_label: '分包名称' },
|
||||||
|
{ t_props: 'teamName', t_label: '班组名称' },
|
||||||
{ t_slot: 'isShanghai', t_label: '工程类型' },
|
{ t_slot: 'isShanghai', t_label: '工程类型' },
|
||||||
{
|
{
|
||||||
t_label: '状态',
|
t_label: '状态',
|
||||||
|
|
|
||||||
|
|
@ -60,6 +60,8 @@ export const columnsList = [
|
||||||
t_label: '分包名称',
|
t_label: '分包名称',
|
||||||
},
|
},
|
||||||
{ t_props: 'reason', t_label: '事件' },
|
{ t_props: 'reason', t_label: '事件' },
|
||||||
|
{ t_props: 'remark', t_label: '备注' },
|
||||||
|
{ t_slot: 'file', t_label: '附件', t_width: '200px' },
|
||||||
{
|
{
|
||||||
t_label: '起止时间',
|
t_label: '起止时间',
|
||||||
t_slot: 'time',
|
t_slot: 'time',
|
||||||
|
|
|
||||||
|
|
@ -47,6 +47,25 @@
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
<template slot="file" slot-scope="{ data }">
|
||||||
|
<template
|
||||||
|
v-if="data.contractFile && data.contractFile.length > 0"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
target="_blank"
|
||||||
|
:key="item.id"
|
||||||
|
:href="item.lsUrl"
|
||||||
|
class="cursor-blue"
|
||||||
|
style="padding: 0 2px"
|
||||||
|
v-for="(item, index) in data.contractFile"
|
||||||
|
>
|
||||||
|
附件{{ index + 1 }}
|
||||||
|
</a>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<span v-else> 0 </span>
|
||||||
|
</template>
|
||||||
|
|
||||||
<template slot="isRemove" slot-scope="{ data }">
|
<template slot="isRemove" slot-scope="{ data }">
|
||||||
<el-tag size="mini" type="warning" v-if="data.isRemove === 0">
|
<el-tag size="mini" type="warning" v-if="data.isRemove === 0">
|
||||||
执行中
|
执行中
|
||||||
|
|
@ -248,6 +267,46 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
|
<el-row :gutter="10">
|
||||||
|
<el-col :span="20">
|
||||||
|
<el-form-item label="备注" prop="remark">
|
||||||
|
<el-input
|
||||||
|
clearable
|
||||||
|
show-word-limit
|
||||||
|
type="textarea"
|
||||||
|
maxlength="100"
|
||||||
|
placeholder="请输入备注"
|
||||||
|
v-model="addDishonestyPersonForm.remark"
|
||||||
|
:autosize="{ minRows: 4, maxRows: 4 }"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<el-row :gutter="10">
|
||||||
|
<el-col :span="20">
|
||||||
|
<el-form-item label="附件" prop="fileList">
|
||||||
|
<UploadFileFormData
|
||||||
|
:limit="3"
|
||||||
|
:file-size="20"
|
||||||
|
:multiple="true"
|
||||||
|
uploadTip="请上传附件"
|
||||||
|
:file-list.sync="
|
||||||
|
addDishonestyPersonForm.fileList
|
||||||
|
"
|
||||||
|
:file-type="[
|
||||||
|
'jpg',
|
||||||
|
'png',
|
||||||
|
'jpeg',
|
||||||
|
'pdf',
|
||||||
|
'doc',
|
||||||
|
'docx',
|
||||||
|
]"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
<el-row class="dialog-footer-btn">
|
<el-row class="dialog-footer-btn">
|
||||||
|
|
@ -314,6 +373,7 @@ import {
|
||||||
importDishonestyPersonAPI,
|
importDishonestyPersonAPI,
|
||||||
downloadDishonestyPersonTemplateAPI,
|
downloadDishonestyPersonTemplateAPI,
|
||||||
} from '@/api/construction-person/red-green-light-mange/dishonesty-person'
|
} from '@/api/construction-person/red-green-light-mange/dishonesty-person'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'DishonestyPerson',
|
name: 'DishonestyPerson',
|
||||||
components: {
|
components: {
|
||||||
|
|
@ -338,6 +398,8 @@ export default {
|
||||||
reason: '', // 事件
|
reason: '', // 事件
|
||||||
endTime: '', // 结束日期
|
endTime: '', // 结束日期
|
||||||
startTime: '', // 开始日期
|
startTime: '', // 开始日期
|
||||||
|
remark: '', // 备注
|
||||||
|
fileList: [], // 文件列表
|
||||||
},
|
},
|
||||||
addDishonestyPersonFormRules: {
|
addDishonestyPersonFormRules: {
|
||||||
name: [
|
name: [
|
||||||
|
|
@ -448,6 +510,10 @@ export default {
|
||||||
// 关闭弹框
|
// 关闭弹框
|
||||||
handleCloseDialogOuter() {
|
handleCloseDialogOuter() {
|
||||||
this.importFileList = []
|
this.importFileList = []
|
||||||
|
|
||||||
|
if (this.dialogConfig.outerTitle === '新增失信人员') {
|
||||||
|
this.$refs.addDishonestyPersonFormRef.resetFields()
|
||||||
|
}
|
||||||
this.dialogConfig.outerVisible = false
|
this.dialogConfig.outerVisible = false
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
@ -461,9 +527,48 @@ export default {
|
||||||
onHandleConfirmAddOrEdit() {
|
onHandleConfirmAddOrEdit() {
|
||||||
this.$refs.addDishonestyPersonFormRef.validate(async (valid) => {
|
this.$refs.addDishonestyPersonFormRef.validate(async (valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
const res = await addDishonestyPersonAPI(
|
// 组装参数
|
||||||
this.addDishonestyPersonForm,
|
|
||||||
)
|
const {
|
||||||
|
name, // 姓名
|
||||||
|
idNumber, // 身份证
|
||||||
|
postName, // 工种名称
|
||||||
|
proName, // 工程名称
|
||||||
|
subName, // 所属分包单位
|
||||||
|
reason, // 事件
|
||||||
|
endTime, // 结束日期
|
||||||
|
startTime, // 开始日期
|
||||||
|
remark, // 备注
|
||||||
|
fileList,
|
||||||
|
} = this.addDishonestyPersonForm
|
||||||
|
|
||||||
|
const params = {
|
||||||
|
name, // 姓名
|
||||||
|
idNumber, // 身份证
|
||||||
|
postName, // 工种名称
|
||||||
|
proName, // 工程名称
|
||||||
|
subName, // 所属分包单位
|
||||||
|
reason, // 事件
|
||||||
|
endTime, // 结束日期
|
||||||
|
startTime, // 开始日期
|
||||||
|
remark, // 备注
|
||||||
|
}
|
||||||
|
const formData = new FormData()
|
||||||
|
const fileMsg = []
|
||||||
|
|
||||||
|
if (fileList.length > 0) {
|
||||||
|
fileList.forEach((e) => {
|
||||||
|
formData.append('files', e.raw)
|
||||||
|
fileMsg.push({
|
||||||
|
type: 1,
|
||||||
|
name: '附件',
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
formData.append('params', JSON.stringify(params))
|
||||||
|
formData.append('fileMsg', JSON.stringify(fileMsg))
|
||||||
|
|
||||||
|
const res = await addDishonestyPersonAPI(formData)
|
||||||
|
|
||||||
if (res.code === 200) {
|
if (res.code === 200) {
|
||||||
this.$modal.msgSuccess('新增成功')
|
this.$modal.msgSuccess('新增成功')
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue