This commit is contained in:
parent
fd9a72421d
commit
dcd781bbe4
|
|
@ -9,10 +9,11 @@ export const addAndEditSubEntryAPI = (data) => {
|
|||
data,
|
||||
})
|
||||
}
|
||||
// 分包出场
|
||||
export const subExitAPI = (data) => {
|
||||
|
||||
// 获取分包出场时数量等数据
|
||||
export const getSubExitDataNumAPI = (data) => {
|
||||
return request({
|
||||
url: '/project/***',
|
||||
url: '/bmw/subContract/getTeamAndPeoNum',
|
||||
method: 'POST',
|
||||
data,
|
||||
})
|
||||
|
|
|
|||
|
|
@ -18,3 +18,12 @@ export const getTeamEntryListAPI = (data) => {
|
|||
params: data,
|
||||
})
|
||||
}
|
||||
|
||||
// 获取班组出场时数量等数据
|
||||
export const getTeamExitDataNumAPI = (data) => {
|
||||
return request({
|
||||
url: '/bmw/subTeamContract/getPeoNum',
|
||||
method: 'POST',
|
||||
data,
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
export const formLabel = [
|
||||
{
|
||||
isShow: false, // 是否展示label
|
||||
f_type: 'ipt',
|
||||
f_label: '关键词',
|
||||
f_model: 'keyWord',
|
||||
f_type: 'ipt',
|
||||
isShow: false, // 是否展示label
|
||||
},
|
||||
]
|
||||
|
||||
|
|
@ -19,9 +19,9 @@ export const columnsList = [
|
|||
]
|
||||
|
||||
export const dialogConfig = {
|
||||
outerVisible: false,
|
||||
outerTitle: '',
|
||||
outerWidth: '40%',
|
||||
minHeight: '',
|
||||
maxHeight: '',
|
||||
outerWidth: '40%',
|
||||
outerVisible: false,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -136,15 +136,15 @@
|
|||
<template v-else>
|
||||
<el-table :data="lotProjectList">
|
||||
<el-table-column
|
||||
type="index"
|
||||
width="50"
|
||||
type="index"
|
||||
label="序号"
|
||||
align="center"
|
||||
/>
|
||||
<el-table-column
|
||||
align="center"
|
||||
label="子项目名称"
|
||||
prop="proName"
|
||||
label="子项目名称"
|
||||
/>
|
||||
<el-table-column label="工程类型" align="center">
|
||||
<template slot-scope="{ row }">
|
||||
|
|
@ -164,8 +164,8 @@
|
|||
prop="volLevel"
|
||||
/>
|
||||
<el-table-column
|
||||
label="工程地址"
|
||||
align="center"
|
||||
label="工程地址"
|
||||
prop="proAddress"
|
||||
/>
|
||||
<el-table-column
|
||||
|
|
@ -209,13 +209,14 @@ export default {
|
|||
columnsList,
|
||||
dialogConfig,
|
||||
getAllProjectListAPI,
|
||||
lotProjectList: [], // 子项目(标段工程)概况
|
||||
|
||||
// 新增或修改表单
|
||||
addOrEditForm: {
|
||||
mainProName: '', // 总工程名称
|
||||
volLevel: '', // 电压等级
|
||||
id: '', // 主键id
|
||||
volLevel: '', // 电压等级
|
||||
mainProName: '', // 总工程名称
|
||||
},
|
||||
|
||||
// 新增或修改表单验证
|
||||
addOrEditFormRules: {
|
||||
mainProName: [
|
||||
|
|
@ -233,14 +234,9 @@ export default {
|
|||
},
|
||||
],
|
||||
},
|
||||
|
||||
// 子项目(标段工程)概况
|
||||
lotProjectList: [],
|
||||
}
|
||||
},
|
||||
|
||||
created() {},
|
||||
|
||||
methods: {
|
||||
// 导出按钮
|
||||
onHandleExportAllProject(queryParams) {
|
||||
|
|
@ -261,9 +257,9 @@ export default {
|
|||
if (type === 2) {
|
||||
const { mainProName, volLevel, id } = data
|
||||
this.addOrEditForm = {
|
||||
mainProName,
|
||||
volLevel,
|
||||
id,
|
||||
volLevel,
|
||||
mainProName,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -275,7 +271,7 @@ export default {
|
|||
|
||||
// 删除
|
||||
onHandleDeleteAllProject(data) {
|
||||
this.$confirm('确定删除该工程吗?', '温馨提示', {
|
||||
this.$confirm('确定删除该总包工程吗?', '温馨提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
|
|
@ -285,8 +281,7 @@ export default {
|
|||
if (res.code === 200) {
|
||||
this.$modal.msgSuccess('删除成功')
|
||||
this.$refs.allProjectTableRef.getTableList() // 更新列表
|
||||
// 更新store中的总包工程列表
|
||||
this.$store.dispatch('getMainProjectList')
|
||||
this.$store.dispatch('getMainProjectList') // 更新store中的总包工程列表
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
|
|
@ -345,9 +340,9 @@ export default {
|
|||
if (this.dialogConfig.outerTitle !== '子项目(标段工程)概况') {
|
||||
this.$refs.addOrEditFormRef.resetFields()
|
||||
this.addOrEditForm = {
|
||||
mainProName: '',
|
||||
volLevel: '',
|
||||
id: '',
|
||||
volLevel: '',
|
||||
mainProName: '',
|
||||
}
|
||||
}
|
||||
this.dialogConfig.outerVisible = false
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
export const formLabel = [
|
||||
{
|
||||
f_label: '关键词',
|
||||
f_model: 'keyWord',
|
||||
f_type: 'ipt',
|
||||
isShow: false, // 是否展示label
|
||||
f_label: '关键词',
|
||||
f_model: 'keyWord',
|
||||
},
|
||||
]
|
||||
|
||||
|
|
@ -19,9 +19,9 @@ export const columnsList = [
|
|||
]
|
||||
|
||||
export const dialogConfig = {
|
||||
outerVisible: false,
|
||||
outerTitle: '',
|
||||
outerWidth: '40%',
|
||||
minHeight: '',
|
||||
maxHeight: '',
|
||||
outerTitle: '',
|
||||
outerWidth: '40%',
|
||||
outerVisible: false,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@
|
|||
type="primary"
|
||||
icon="el-icon-plus"
|
||||
v-hasPermi="['dept:project:add']"
|
||||
@click="onHandleAddOrEditDeptProject(1, null)"
|
||||
@click="onHandleAddOrEditDeptProject(1, null, '新增')"
|
||||
>
|
||||
新增
|
||||
</el-button>
|
||||
|
|
@ -34,11 +34,15 @@
|
|||
|
||||
<!-- 标段工程数量 -->
|
||||
<template slot="count" slot-scope="{ data }">
|
||||
<span class="cursor-blue" @click="onHandleViewLotProject(data)">
|
||||
<span
|
||||
class="cursor-blue"
|
||||
@click="onHandleViewDeptProject(data)"
|
||||
>
|
||||
{{ data.pmProjectVoList.length }}
|
||||
</span>
|
||||
</template>
|
||||
|
||||
<!-- 项目部状态 -->
|
||||
<template slot="isEnable" slot-scope="{ data }">
|
||||
<el-tag
|
||||
size="mini"
|
||||
|
|
@ -55,7 +59,7 @@
|
|||
type="primary"
|
||||
icon="el-icon-edit"
|
||||
v-hasPermi="['dept:project:edit']"
|
||||
@click="onHandleAddOrEditDeptProject(2, data)"
|
||||
@click="onHandleAddOrEditDeptProject(2, data, '修改')"
|
||||
>
|
||||
修改
|
||||
</el-button>
|
||||
|
|
@ -205,14 +209,14 @@ import TableModel from '@/components/TableModel'
|
|||
import DialogModel from '@/components/DialogModel'
|
||||
import { formLabel, columnsList, dialogConfig } from './config'
|
||||
import {
|
||||
addAndEditDeptProjectAPI,
|
||||
deleteDeptProjectAPI,
|
||||
getDeptProjectListAPI,
|
||||
addAndEditDeptProjectAPI,
|
||||
} from '@/api/basic-manage/project-manage/dept-project'
|
||||
import { getSubCompanySelectListCommonFun } from '@/utils/getCommonData'
|
||||
export default {
|
||||
name: 'DeptProject',
|
||||
dicts: ['project_type', 'project_status'],
|
||||
dicts: ['project_type', 'project_status'], // 字典类型
|
||||
components: {
|
||||
TableModel,
|
||||
DialogModel,
|
||||
|
|
@ -223,8 +227,9 @@ export default {
|
|||
formLabel,
|
||||
columnsList,
|
||||
dialogConfig,
|
||||
|
||||
getDeptProjectListAPI,
|
||||
lotProjectList: [], // 子项目(标段工程)概况
|
||||
branchCompanyOptions: [], // 所属分公司
|
||||
|
||||
// 新增或修改表单
|
||||
addOrEditForm: {
|
||||
|
|
@ -232,7 +237,6 @@ export default {
|
|||
orgName: '', // 所属分公司
|
||||
isEnable: 1, // 项目部状态
|
||||
},
|
||||
|
||||
// 新增或修改表单验证
|
||||
addOrEditFormRules: {
|
||||
subComId: [
|
||||
|
|
@ -257,19 +261,9 @@ export default {
|
|||
},
|
||||
],
|
||||
},
|
||||
|
||||
// 所属分公司
|
||||
branchCompanyOptions: [],
|
||||
|
||||
// 子项目(标段工程)概况
|
||||
lotProjectList: [],
|
||||
}
|
||||
},
|
||||
|
||||
async created() {
|
||||
this.branchCompanyOptions = await getSubCompanySelectListCommonFun()
|
||||
},
|
||||
|
||||
methods: {
|
||||
// 导出按钮
|
||||
onHandleExportDeptProject(queryParams) {
|
||||
|
|
@ -283,16 +277,15 @@ export default {
|
|||
},
|
||||
|
||||
// 新增或修改
|
||||
onHandleAddOrEditDeptProject(type, data) {
|
||||
this.dialogConfig.outerTitle =
|
||||
type === 1 ? '新增项目部' : '修改项目部'
|
||||
onHandleAddOrEditDeptProject(type, data, title) {
|
||||
this.dialogConfig.outerTitle = `${title}项目部`
|
||||
if (type === 2) {
|
||||
const { subComId, orgName, isEnable, id } = data
|
||||
const { id, orgName, isEnable, subComId } = data
|
||||
this.addOrEditForm = {
|
||||
subComId,
|
||||
orgName,
|
||||
isEnable,
|
||||
id,
|
||||
id, // 项目部id
|
||||
orgName, // 项目部名称
|
||||
isEnable, // 项目部状态
|
||||
subComId, // 所属分公司id
|
||||
}
|
||||
}
|
||||
this.dialogConfig.outerWidth = ''
|
||||
|
|
@ -310,16 +303,14 @@ export default {
|
|||
})
|
||||
.then(async () => {
|
||||
const res = await deleteDeptProjectAPI({ id: data.id })
|
||||
console.log(res, '删除结果')
|
||||
if (res.code === 200) {
|
||||
this.$modal.msgSuccess('删除成功')
|
||||
this.$refs.deptProjectTableRef.getTableList() // 更新列表
|
||||
// 更新store中的分公司列表
|
||||
this.$store.dispatch('getSubCompanySelectList')
|
||||
this.$store.dispatch('getSubCompanySelectList') // 更新store中的分公司列表
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
console.log('取消')
|
||||
// console.log('取消')
|
||||
})
|
||||
},
|
||||
|
||||
|
|
@ -336,7 +327,6 @@ export default {
|
|||
}
|
||||
|
||||
const res = await addAndEditDeptProjectAPI(params)
|
||||
console.log(res, '新增或修改结果')
|
||||
if (res.code === 200) {
|
||||
this.$modal.msgSuccess(
|
||||
this.dialogConfig.outerTitle === '新增项目部'
|
||||
|
|
@ -345,38 +335,39 @@ export default {
|
|||
)
|
||||
this.handleCloseDialogOuter()
|
||||
this.$refs.deptProjectTableRef.getTableList() // 更新列表
|
||||
|
||||
// 更新store中的分公司列表
|
||||
this.$store.dispatch('getSubCompanySelectList')
|
||||
this.$store.dispatch('getSubCompanySelectList') // 更新store中的分公司列表
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
// 查看标段工程数量
|
||||
onHandleViewLotProject(data) {
|
||||
// console.log(data, '查看标段工程数量')
|
||||
|
||||
onHandleViewDeptProject(data) {
|
||||
if (data.pmProjectVoList.length === 0) {
|
||||
this.$modal.msgError('暂无标段工程')
|
||||
return
|
||||
}
|
||||
this.dialogConfig.outerTitle = '子项目(标段工程)概况'
|
||||
this.lotProjectList = data.pmProjectVoList
|
||||
this.dialogConfig.outerWidth = '80%'
|
||||
this.dialogConfig.minHeight = '90vh'
|
||||
this.dialogConfig.maxHeight = '90vh'
|
||||
this.lotProjectList = data.pmProjectVoList
|
||||
this.dialogConfig.outerTitle = '子项目(标段工程)概况'
|
||||
this.dialogConfig.outerVisible = true
|
||||
},
|
||||
|
||||
// 关闭弹框
|
||||
handleCloseDialogOuter() {
|
||||
if (this.dialogConfig.outerTitle !== '子项目(标段工程)概况') {
|
||||
this.$refs.addOrEditFormRef.resetFields()
|
||||
this.addOrEditForm = {
|
||||
subComId: '',
|
||||
orgName: '',
|
||||
isEnable: 1,
|
||||
}
|
||||
}
|
||||
this.dialogConfig.outerVisible = false
|
||||
},
|
||||
|
||||
// 初始化工程类型
|
||||
initProType(data) {
|
||||
if (typeof data === 'string') {
|
||||
return this.dict.type.project_type.find(
|
||||
|
|
@ -387,6 +378,7 @@ export default {
|
|||
return data || ''
|
||||
},
|
||||
|
||||
// 初始化项目部状态
|
||||
initProStatus(data) {
|
||||
if (typeof data === 'string') {
|
||||
return this.dict.type.project_status.find(
|
||||
|
|
@ -397,5 +389,9 @@ export default {
|
|||
return data || ''
|
||||
},
|
||||
},
|
||||
|
||||
async created() {
|
||||
this.branchCompanyOptions = await getSubCompanySelectListCommonFun() // 获取所属分公司列表
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -20,8 +20,8 @@
|
|||
>
|
||||
<el-option
|
||||
:key="item.id"
|
||||
:label="item.mainProName"
|
||||
:value="item.id"
|
||||
:label="item.mainProName"
|
||||
v-for="item in allProjectOptions"
|
||||
/>
|
||||
</el-select>
|
||||
|
|
@ -29,21 +29,6 @@
|
|||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="所属项目部" prop="orgId">
|
||||
<!-- <el-select
|
||||
clearable
|
||||
filterable
|
||||
style="width: 100%"
|
||||
placeholder="请选择"
|
||||
v-model="addOrEditForm.orgId"
|
||||
>
|
||||
<el-option
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
v-for="item in xmbOptions"
|
||||
/>
|
||||
</el-select> -->
|
||||
|
||||
<treeselect
|
||||
:flat="true"
|
||||
:searchable="false"
|
||||
|
|
@ -248,64 +233,65 @@ export default {
|
|||
}
|
||||
|
||||
return {
|
||||
allProjectOptions: [], // 总包工程下拉列表
|
||||
subCompanyOptions: [], // 分公司下拉列表
|
||||
addOrEditForm: {
|
||||
mainProId: '', // 总包工程id
|
||||
subComId: '', // 分公司id
|
||||
lat: '', // 项目部纬度
|
||||
lon: '', // 项目部经度
|
||||
orgId: undefined, // 项目部id
|
||||
proName: '', // 标段工程名称
|
||||
simpleName: '', // 标段工程简称
|
||||
proType: '', // 工程类型
|
||||
volLevel: '', // 电压等级
|
||||
isShanghai: 0,
|
||||
|
||||
proStatus: '0', // 工程状态 默认为0 在建
|
||||
proAddress: '', // 工程地址
|
||||
startTime: null, // 开工时间
|
||||
endTime: null, // 竣工时间
|
||||
lon: '', // 项目部经度
|
||||
lat: '', // 项目部纬度
|
||||
volLevel: '', // 电压等级
|
||||
subComId: '', // 分公司id
|
||||
proStatus: '0', // 工程状态 默认为0 在建
|
||||
mainProId: '', // 总包工程id
|
||||
startTime: null, // 开工时间
|
||||
proAddress: '', // 工程地址
|
||||
isShanghai: 0, // 是否上海项目
|
||||
simpleName: '', // 标段工程简称
|
||||
},
|
||||
addOrEditFormRules: {
|
||||
mainProId: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择所属总包工程',
|
||||
trigger: 'change',
|
||||
message: '请选择所属总包工程',
|
||||
},
|
||||
],
|
||||
orgId: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择所属项目部',
|
||||
trigger: 'change',
|
||||
message: '请选择所属项目部',
|
||||
},
|
||||
],
|
||||
proName: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入标段工程名称',
|
||||
trigger: 'blur',
|
||||
message: '请输入标段工程名称',
|
||||
},
|
||||
],
|
||||
simpleName: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入标段工程简称',
|
||||
trigger: 'blur',
|
||||
message: '请输入标段工程简称',
|
||||
},
|
||||
],
|
||||
proType: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择工程类型',
|
||||
trigger: 'change',
|
||||
message: '请选择工程类型',
|
||||
},
|
||||
],
|
||||
volLevel: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择电压等级',
|
||||
trigger: 'change',
|
||||
message: '请选择电压等级',
|
||||
},
|
||||
],
|
||||
isShanghai: [
|
||||
|
|
@ -321,15 +307,15 @@ export default {
|
|||
proAddress: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入工程地址',
|
||||
trigger: 'blur',
|
||||
message: '请输入工程地址',
|
||||
},
|
||||
],
|
||||
startTime: [
|
||||
{
|
||||
required: false,
|
||||
message: '请选择计划开工时间',
|
||||
trigger: 'change',
|
||||
message: '请选择计划开工时间',
|
||||
},
|
||||
{
|
||||
validator: validatePlanStartTime,
|
||||
|
|
@ -338,8 +324,8 @@ export default {
|
|||
endTime: [
|
||||
{
|
||||
required: false,
|
||||
message: '请选择计划竣工时间',
|
||||
trigger: 'change',
|
||||
message: '请选择计划竣工时间',
|
||||
},
|
||||
{
|
||||
validator: validatePlanEndTime,
|
||||
|
|
@ -351,11 +337,11 @@ export default {
|
|||
required: false,
|
||||
},
|
||||
{
|
||||
pattern:
|
||||
/^-?((180(\.0{1,6})?)|((1[0-7]\d)|([1-9]?\d))(\.\d{1,6})?)$/,
|
||||
trigger: 'blur',
|
||||
message:
|
||||
'请输入正确的经度(范围:-180 至 180,最多6位小数)',
|
||||
trigger: 'blur',
|
||||
pattern:
|
||||
/^-?((180(\.0{1,6})?)|((1[0-7]\d)|([1-9]?\d))(\.\d{1,6})?)$/,
|
||||
},
|
||||
],
|
||||
lat: [
|
||||
|
|
@ -363,35 +349,20 @@ export default {
|
|||
required: false,
|
||||
},
|
||||
{
|
||||
pattern:
|
||||
/^-?((90(\.0{1,6})?)|(([1-8]\d)|(\d))(\.\d{1,6})?)$/,
|
||||
trigger: 'blur',
|
||||
message:
|
||||
'请输入正确的纬度(范围:-90 至 90,最多6位小数)',
|
||||
trigger: 'blur',
|
||||
pattern:
|
||||
/^-?((90(\.0{1,6})?)|(([1-8]\d)|(\d))(\.\d{1,6})?)$/,
|
||||
},
|
||||
],
|
||||
},
|
||||
allProjectOptions: [],
|
||||
xmbOptions: [
|
||||
{
|
||||
value: '1',
|
||||
label: '项目部1',
|
||||
},
|
||||
{
|
||||
value: '2',
|
||||
label: '项目部2',
|
||||
},
|
||||
],
|
||||
|
||||
subCompanyOptions: [],
|
||||
}
|
||||
},
|
||||
|
||||
async created() {
|
||||
// 获取总包工程下拉列表
|
||||
|
||||
this.allProjectOptions = await getMainProjectListCommonFun()
|
||||
|
||||
// 获取分公司下拉列表
|
||||
const res = await getSubCompanySelectListCommonFun()
|
||||
|
||||
|
|
@ -411,8 +382,8 @@ export default {
|
|||
} else {
|
||||
return {
|
||||
id: item.id,
|
||||
label: item.subCompanyName,
|
||||
children: [],
|
||||
label: item.subCompanyName,
|
||||
}
|
||||
}
|
||||
})
|
||||
|
|
@ -431,7 +402,6 @@ export default {
|
|||
if (this.formType === 1) {
|
||||
delete params.id
|
||||
}
|
||||
|
||||
const res = await addAndEditLotLotProjectAPI(params)
|
||||
if (res.code === 200) {
|
||||
resolve()
|
||||
|
|
@ -439,8 +409,7 @@ export default {
|
|||
this.formType === 1 ? '新增成功' : '修改成功',
|
||||
)
|
||||
|
||||
// 更新store中的标段工程下拉列表
|
||||
this.$store.dispatch('getLotProjectSelectList')
|
||||
this.$store.dispatch('getLotProjectSelectList') // 更新store中的标段工程下拉列表
|
||||
} else {
|
||||
reject(new Error(res.msg))
|
||||
this.$modal.msgError(res.msg)
|
||||
|
|
@ -457,6 +426,7 @@ export default {
|
|||
this.$refs.addOrEditFormRef.resetFields()
|
||||
},
|
||||
|
||||
// 选择项目部
|
||||
onHandleSelectOrgId(node) {
|
||||
this.addOrEditForm.subComId = node.parentId
|
||||
this.addOrEditForm.orgId = node.id
|
||||
|
|
@ -468,39 +438,39 @@ export default {
|
|||
handler(newVal) {
|
||||
if (Object.keys(newVal).length > 0) {
|
||||
const {
|
||||
mainProId,
|
||||
subComId,
|
||||
orgId,
|
||||
proName,
|
||||
simpleName,
|
||||
proType,
|
||||
volLevel,
|
||||
isShanghai,
|
||||
proStatus,
|
||||
proAddress,
|
||||
startTime,
|
||||
endTime,
|
||||
id,
|
||||
lon,
|
||||
lat,
|
||||
id,
|
||||
orgId,
|
||||
proName,
|
||||
endTime,
|
||||
proType,
|
||||
volLevel,
|
||||
subComId,
|
||||
proStatus,
|
||||
startTime,
|
||||
mainProId,
|
||||
proAddress,
|
||||
isShanghai,
|
||||
simpleName,
|
||||
} = newVal
|
||||
|
||||
this.addOrEditForm = {
|
||||
mainProId,
|
||||
orgId,
|
||||
subComId,
|
||||
proName,
|
||||
simpleName,
|
||||
proType,
|
||||
volLevel,
|
||||
isShanghai,
|
||||
proStatus,
|
||||
proAddress,
|
||||
startTime,
|
||||
endTime,
|
||||
id,
|
||||
lon,
|
||||
lat,
|
||||
id,
|
||||
orgId,
|
||||
proName,
|
||||
endTime,
|
||||
proType,
|
||||
volLevel,
|
||||
subComId,
|
||||
proStatus,
|
||||
startTime,
|
||||
mainProId,
|
||||
proAddress,
|
||||
isShanghai,
|
||||
simpleName,
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
|||
|
|
@ -1,38 +1,37 @@
|
|||
export const formLabel = [
|
||||
{
|
||||
isShow: false, // 是否展示label
|
||||
f_type: 'sel',
|
||||
f_selList: [],
|
||||
f_label: '分公司',
|
||||
f_model: 'subComId',
|
||||
f_type: 'sel',
|
||||
isShow: false, // 是否展示label
|
||||
f_selList: [],
|
||||
},
|
||||
{
|
||||
f_selList: [],
|
||||
f_type: 'sel',
|
||||
isShow: false, // 是否展示label
|
||||
f_label: '总包工程',
|
||||
f_model: 'mainProId',
|
||||
},
|
||||
{
|
||||
f_type: 'sel',
|
||||
isShow: false, // 是否展示label
|
||||
f_selList: [],
|
||||
},
|
||||
{
|
||||
f_label: '标段工程',
|
||||
f_model: 'proName',
|
||||
f_label: '标段工程',
|
||||
},
|
||||
{
|
||||
f_type: 'sel',
|
||||
isShow: false, // 是否展示label
|
||||
f_selList: [],
|
||||
},
|
||||
{
|
||||
f_label: '工程状态',
|
||||
f_model: 'proStatus',
|
||||
f_type: 'sel',
|
||||
isShow: false, // 是否展示label
|
||||
f_selList: [],
|
||||
},
|
||||
{
|
||||
f_label: '是否上海外项目',
|
||||
f_model: 'isShanghai',
|
||||
f_type: 'sel',
|
||||
|
||||
isShow: false, // 是否展示label
|
||||
f_type: 'sel',
|
||||
f_model: 'isShanghai',
|
||||
f_label: '是否上海外项目',
|
||||
f_selList: [
|
||||
{
|
||||
label: '是',
|
||||
|
|
@ -42,7 +41,7 @@ export const formLabel = [
|
|||
label: '否',
|
||||
value: 0,
|
||||
},
|
||||
], // 状态列表
|
||||
],
|
||||
},
|
||||
]
|
||||
|
||||
|
|
@ -57,9 +56,9 @@ export const columnsList = [
|
|||
]
|
||||
|
||||
export const dialogConfig = {
|
||||
outerVisible: false,
|
||||
outerTitle: '',
|
||||
outerWidth: '70%',
|
||||
minHeight: '',
|
||||
maxHeight: '',
|
||||
outerTitle: '',
|
||||
outerWidth: '70%',
|
||||
outerVisible: false,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@
|
|||
type="primary"
|
||||
icon="el-icon-plus"
|
||||
v-hasPermi="['lot:project:add']"
|
||||
@click="onHandleAddOrEditAllProject(1, null)"
|
||||
@click="onHandleAddOrEditLotProject(1, null, '新增')"
|
||||
>
|
||||
新增
|
||||
</el-button>
|
||||
|
|
@ -62,7 +62,7 @@
|
|||
type="primary"
|
||||
icon="el-icon-edit"
|
||||
v-hasPermi="['lot:project:edit']"
|
||||
@click="onHandleAddOrEditAllProject(2, data)"
|
||||
@click="onHandleAddOrEditLotProject(2, data, '修改')"
|
||||
>
|
||||
修改
|
||||
</el-button>
|
||||
|
|
@ -71,7 +71,7 @@
|
|||
type="danger"
|
||||
icon="el-icon-delete"
|
||||
v-hasPermi="['lot:project:delete']"
|
||||
@click="onHandleDeleteAllProject(data)"
|
||||
@click="onHandleDeleteLotProject(data)"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
|
|
@ -118,8 +118,8 @@ import {
|
|||
} from '@/api/basic-manage/project-manage/lot-project'
|
||||
|
||||
import {
|
||||
getSubCompanySelectListCommonFun,
|
||||
getMainProjectListCommonFun,
|
||||
getSubCompanySelectListCommonFun,
|
||||
getLotProjectSelectListCommonFun,
|
||||
} from '@/utils/getCommonData'
|
||||
export default {
|
||||
|
|
@ -137,8 +137,8 @@ export default {
|
|||
formLabel,
|
||||
columnsList,
|
||||
dialogConfig,
|
||||
editFormData: {},
|
||||
getLotLotProjectListAPI,
|
||||
editFormData: {}, // 编辑表单数据
|
||||
getLotLotProjectListAPI, // 获取标段工程列表
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
|
@ -154,44 +154,11 @@ export default {
|
|||
},
|
||||
|
||||
// 新增或修改
|
||||
onHandleAddOrEditAllProject(type, data) {
|
||||
onHandleAddOrEditLotProject(type, data, title) {
|
||||
this.formType = type
|
||||
this.dialogConfig.outerTitle =
|
||||
type === 1 ? '新增标段工程' : '修改标段工程'
|
||||
|
||||
this.dialogConfig.outerTitle = `${title}标段工程`
|
||||
if (type === 2) {
|
||||
const {
|
||||
mainProId,
|
||||
orgId,
|
||||
proName,
|
||||
simpleName,
|
||||
proType,
|
||||
volLevel,
|
||||
isShanghai,
|
||||
proStatus,
|
||||
proAddress,
|
||||
startTime,
|
||||
endTime,
|
||||
lon,
|
||||
lat,
|
||||
id,
|
||||
} = data
|
||||
this.editFormData = {
|
||||
mainProId,
|
||||
orgId,
|
||||
proName,
|
||||
simpleName,
|
||||
proType,
|
||||
volLevel,
|
||||
isShanghai,
|
||||
proStatus,
|
||||
proAddress,
|
||||
startTime,
|
||||
endTime,
|
||||
lon,
|
||||
lat,
|
||||
id,
|
||||
}
|
||||
Object.assign(this.editFormData, data)
|
||||
} else {
|
||||
this.editFormData = {}
|
||||
}
|
||||
|
|
@ -199,8 +166,8 @@ export default {
|
|||
},
|
||||
|
||||
// 删除
|
||||
onHandleDeleteAllProject(data) {
|
||||
this.$confirm('确定删除该工程吗?', '温馨提示', {
|
||||
onHandleDeleteLotProject(data) {
|
||||
this.$confirm('确定删除该标段工程吗?', '温馨提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
|
|
@ -212,8 +179,7 @@ export default {
|
|||
if (res.code === 200) {
|
||||
this.$modal.msgSuccess('删除成功')
|
||||
this.$refs.lotProjectTableRef.getTableList() // 更新列表
|
||||
// 更新store中的标段工程下拉列表
|
||||
this.$store.dispatch('getLotProjectSelectList')
|
||||
this.$store.dispatch('getLotProjectSelectList') // 更新store中的标段工程下拉列表
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
|
|
@ -265,6 +231,7 @@ export default {
|
|||
})
|
||||
},
|
||||
|
||||
// 初始化工程类型
|
||||
initProType(data) {
|
||||
if (typeof data === 'string') {
|
||||
return this.dict.type.project_type.find(
|
||||
|
|
@ -275,6 +242,7 @@ export default {
|
|||
return data || ''
|
||||
},
|
||||
|
||||
// 初始化工程状态
|
||||
initProStatus(data) {
|
||||
if (typeof data === 'string') {
|
||||
return this.dict.type.project_status.find(
|
||||
|
|
@ -287,14 +255,12 @@ export default {
|
|||
|
||||
// 确定按钮
|
||||
async onHandleConfirmAddOrEdit() {
|
||||
// this.$refs.addOrEditLotProjectFormRef.formType =
|
||||
// this.dialogConfig.outerTitle === '新增标段工程' ? 1 : 2
|
||||
try {
|
||||
await this.$refs.addOrEditLotProjectFormRef.onHandleConfirmAddOrEditFun()
|
||||
this.handleCloseDialogOuter()
|
||||
this.$refs.lotProjectTableRef.getTableList() // 更新列表
|
||||
} catch (error) {
|
||||
console.log('表单提交失败', error)
|
||||
// console.log('表单提交失败', error)
|
||||
}
|
||||
},
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<!-- 新增或修改标段工程表单 -->
|
||||
<!-- 新增或修改分包商表单 -->
|
||||
<div>
|
||||
<el-form
|
||||
label-width="140px"
|
||||
|
|
@ -136,11 +136,12 @@ export default {
|
|||
},
|
||||
data() {
|
||||
return {
|
||||
editUploadFileList: [], // 修改时已上传的文件列表
|
||||
addOrEditForm: {
|
||||
id: null, // 主键id
|
||||
subName: '', // 分包商名称
|
||||
legalPerson: '', // 法定代表人
|
||||
subAddress: '', // 营业住址
|
||||
legalPerson: '', // 法定代表人
|
||||
legalPersonPhone: '', // 联系电话
|
||||
|
||||
idCard: [], // 身份证正反面
|
||||
|
|
@ -202,8 +203,6 @@ export default {
|
|||
},
|
||||
],
|
||||
},
|
||||
|
||||
editUploadFileList: [], // 修改时已上传的文件列表
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
|
@ -312,9 +311,7 @@ export default {
|
|||
this.$modal.msgSuccess(
|
||||
this.formType === 1 ? '新增成功' : '修改成功',
|
||||
)
|
||||
|
||||
// 更新store中的分包商下拉列表
|
||||
this.$store.dispatch('getSubSelectList')
|
||||
this.$store.dispatch('getSubSelectList') // 更新store中的分包商下拉列表
|
||||
resolve()
|
||||
} else {
|
||||
this.$modal.msgError(res.meg)
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@
|
|||
type="primary"
|
||||
icon="el-icon-plus"
|
||||
v-hasPermi="['sub:base:add']"
|
||||
@click="onHandleAddOrEditSubBaseInfo(1, null)"
|
||||
@click="onHandleAddOrEditSubBaseInfo(1, null, '新增')"
|
||||
>
|
||||
新增
|
||||
</el-button>
|
||||
|
|
@ -58,7 +58,7 @@
|
|||
type="primary"
|
||||
icon="el-icon-edit"
|
||||
v-hasPermi="['sub:base:edit']"
|
||||
@click="onHandleAddOrEditSubBaseInfo(2, data)"
|
||||
@click="onHandleAddOrEditSubBaseInfo(2, data, '修改')"
|
||||
>
|
||||
修改
|
||||
</el-button>
|
||||
|
|
@ -159,28 +159,11 @@ export default {
|
|||
},
|
||||
|
||||
// 新增或修改
|
||||
onHandleAddOrEditSubBaseInfo(type, data) {
|
||||
this.dialogConfig.outerTitle =
|
||||
type === 1 ? '新增分包商' : '修改分包商'
|
||||
onHandleAddOrEditSubBaseInfo(type, data, title) {
|
||||
this.dialogConfig.outerTitle = `${title}分包商`
|
||||
|
||||
if (type === 2) {
|
||||
const {
|
||||
id,
|
||||
subName,
|
||||
subAddress,
|
||||
legalPerson,
|
||||
contractFile,
|
||||
legalPersonPhone,
|
||||
} = data
|
||||
|
||||
this.editFormData = {
|
||||
id,
|
||||
subName,
|
||||
subAddress,
|
||||
legalPerson,
|
||||
contractFile,
|
||||
legalPersonPhone,
|
||||
}
|
||||
Object.assign(this.editFormData, data)
|
||||
} else {
|
||||
this.editFormData = {}
|
||||
}
|
||||
|
|
@ -201,8 +184,7 @@ export default {
|
|||
if (res.code === 200) {
|
||||
this.$modal.msgSuccess('删除成功')
|
||||
this.$refs.subBaseInfoTableRef.getTableList() // 更新列表
|
||||
// 更新store中的分包商下拉列表
|
||||
this.$store.dispatch('getSubSelectList')
|
||||
this.$store.dispatch('getSubSelectList') // 更新store中的分包商下拉列表
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
|
|
|
|||
|
|
@ -5,7 +5,9 @@
|
|||
说明:分包商出场,需此分包合同下的班组全部出场后操作
|
||||
<br />
|
||||
<br />
|
||||
检测到分包下存在2个班组,12名施工人员未出场
|
||||
检测到分包下存在{{ addOrEditForm.teamNum }}个班组,
|
||||
{{ addOrEditForm.perNum }}
|
||||
名施工人员未出场
|
||||
</div>
|
||||
<el-form
|
||||
label-width="240px"
|
||||
|
|
@ -111,7 +113,10 @@
|
|||
<script>
|
||||
import UploadImg from '@/components/UploadImg'
|
||||
import UploadFileFormData from '@/components/UploadFileFormData'
|
||||
import { addAndEditSubEntryAPI } from '@/api/basic-manage/sub-manage/sub-entry-and-exit'
|
||||
import {
|
||||
getSubExitDataNumAPI,
|
||||
addAndEditSubEntryAPI,
|
||||
} from '@/api/basic-manage/sub-manage/sub-entry-and-exit'
|
||||
import {
|
||||
getSubSelectListCommonFun,
|
||||
getLotProjectSelectListCommonFun,
|
||||
|
|
@ -131,6 +136,8 @@ export default {
|
|||
data() {
|
||||
return {
|
||||
addOrEditForm: {
|
||||
teamNum: 0, // 班组数量
|
||||
perNum: 0, // 人数
|
||||
proId: '', // 工程id
|
||||
subId: '', // 分包商id
|
||||
subContractCode: '', // 分包合同编码
|
||||
|
|
@ -185,8 +192,6 @@ export default {
|
|||
return new Promise((resolve, reject) => {
|
||||
this.$refs.addOrEditFormRef.validate(async (valid) => {
|
||||
if (valid) {
|
||||
console.log(this.addOrEditForm)
|
||||
|
||||
const {
|
||||
id,
|
||||
subId,
|
||||
|
|
@ -234,6 +239,23 @@ export default {
|
|||
})
|
||||
},
|
||||
|
||||
// 获取分包出场时数量等数据
|
||||
async getSubExitDataNum() {
|
||||
const { data: res } = await getSubExitDataNumAPI({
|
||||
subId: this.addOrEditForm.subId,
|
||||
})
|
||||
|
||||
const { teamNum, perNum } = res
|
||||
|
||||
if (teamNum > 0) {
|
||||
this.addOrEditForm.teamNum = teamNum
|
||||
}
|
||||
|
||||
if (perNum > 0) {
|
||||
this.addOrEditForm.perNum = perNum
|
||||
}
|
||||
},
|
||||
|
||||
// 重置表单
|
||||
resetForm() {
|
||||
this.$refs.addOrEditFormRef.resetFields()
|
||||
|
|
@ -241,34 +263,27 @@ export default {
|
|||
},
|
||||
|
||||
async created() {
|
||||
// this.subSelectList = await getSubSelectListCommonFun()
|
||||
|
||||
const sub = await getSubSelectListCommonFun()
|
||||
|
||||
this.subSelectList = sub.map((item) => {
|
||||
return {
|
||||
value: item.id,
|
||||
label: item.subName,
|
||||
}
|
||||
})
|
||||
|
||||
const pro = await getLotProjectSelectListCommonFun()
|
||||
|
||||
this.lotProjectSelectList = pro.map((item) => {
|
||||
return {
|
||||
value: item.id,
|
||||
label: item.proName,
|
||||
}
|
||||
})
|
||||
// console.log(subSelectList, '分包商下拉列表')
|
||||
// this.lotProjectSelectList = await getLotProjectSelectListCommonFun()
|
||||
// console.log(lotProjectSelectList, '标段工程下拉列表')
|
||||
|
||||
this.getSubExitDataNum()
|
||||
},
|
||||
|
||||
watch: {
|
||||
exitFormData: {
|
||||
handler(newVal) {
|
||||
// console.log(newVal, 'exitFormData')
|
||||
if (Object.keys(newVal).length > 0) {
|
||||
Object.assign(this.addOrEditForm, newVal)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -157,18 +157,16 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import TableModel from '@/components/TableModel'
|
||||
import DialogModel from '@/components/DialogModel'
|
||||
|
||||
import ExitForm from './exit-form'
|
||||
import EntryForm from './entry-form'
|
||||
import EntryDetails from './entry-details'
|
||||
import TableModel from '@/components/TableModel'
|
||||
import DialogModel from '@/components/DialogModel'
|
||||
import { formLabel, columnsList, dialogConfig } from './config'
|
||||
import {
|
||||
deleteSubEntryAPI,
|
||||
getSubEntryListAPI,
|
||||
} from '@/api/basic-manage/sub-manage/sub-entry-and-exit'
|
||||
|
||||
import { getLotProjectSelectListCommonFun } from '@/utils/getCommonData'
|
||||
export default {
|
||||
name: 'SubEntryAndExit',
|
||||
|
|
@ -186,17 +184,20 @@ export default {
|
|||
columnsList,
|
||||
dialogConfig,
|
||||
getSubEntryListAPI,
|
||||
exitFormData: {},
|
||||
queryDetailId: '',
|
||||
slots: {
|
||||
idCard: 'idCard',
|
||||
},
|
||||
exitFormData: {}, // 出场表单数据
|
||||
queryDetailId: '', // 查询详情id
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 导出按钮
|
||||
onHandleExportAllProject(queryParams) {
|
||||
console.log(queryParams, '导出')
|
||||
onHandleExportSubEntry(queryParams) {
|
||||
this.download(
|
||||
'/bmw/subContract/export',
|
||||
{
|
||||
...queryParams,
|
||||
},
|
||||
`分包出入场列表.xlsx`,
|
||||
)
|
||||
},
|
||||
|
||||
// 新增或修改
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<!-- 新增或修改标段工程表单 -->
|
||||
<!-- 新增或修改班组表单 -->
|
||||
<div>
|
||||
<el-form
|
||||
label-width="140px"
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@
|
|||
size="mini"
|
||||
type="primary"
|
||||
icon="el-icon-plus"
|
||||
v-hasPermi="['team:base:add']"
|
||||
@click="onHandleAddOrEditSubBaseInfo(1, null)"
|
||||
>
|
||||
新增
|
||||
|
|
@ -37,6 +38,7 @@
|
|||
size="mini"
|
||||
type="primary"
|
||||
icon="el-icon-edit"
|
||||
v-hasPermi="['team:base:edit']"
|
||||
@click="onHandleAddOrEditSubBaseInfo(2, data)"
|
||||
>
|
||||
修改
|
||||
|
|
@ -46,6 +48,7 @@
|
|||
size="mini"
|
||||
type="danger"
|
||||
icon="el-icon-delete"
|
||||
v-hasPermi="['team:base:delete']"
|
||||
@click="onHandleDeleteSubBaseInfo(data)"
|
||||
>
|
||||
删除
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
<!-- 班组出入场表单 -->
|
||||
<div>
|
||||
<div class="tip-text" style="margin-bottom: 20px" v-if="formType === 2">
|
||||
说明:分包商出场,需此分包合同下的班组全部出场后操作
|
||||
说明:班组出场,需此班组下的施工人员全部出场后操作
|
||||
<br />
|
||||
<br />
|
||||
检测到分包下存在2个班组,12名施工人员未出场
|
||||
检测到班组下存在{{ addOrEditForm.perNum }}名施工人员未出场
|
||||
</div>
|
||||
<el-form
|
||||
ref="addOrEditFormRef"
|
||||
|
|
@ -134,7 +134,10 @@
|
|||
<script>
|
||||
import UploadImg from '@/components/UploadImg'
|
||||
import UploadFileFormData from '@/components/UploadFileFormData'
|
||||
import { teamEntryAndExitAPI } from '@/api/basic-manage/team-manage/team-entry-and-exit'
|
||||
import {
|
||||
teamEntryAndExitAPI,
|
||||
getTeamExitDataNumAPI,
|
||||
} from '@/api/basic-manage/team-manage/team-entry-and-exit'
|
||||
import {
|
||||
getLotProjectSelectListCommonFun,
|
||||
getSubSelectListCommonFun,
|
||||
|
|
@ -163,35 +166,35 @@ export default {
|
|||
subId: '',
|
||||
proId: '',
|
||||
teamId: '',
|
||||
perNum: 0, // 人数
|
||||
subName: '',
|
||||
proName: '',
|
||||
teamName: '',
|
||||
teamEinStatus: '',
|
||||
teamEinTime: '',
|
||||
teamExitTime: '',
|
||||
|
||||
teamEinStatus: '',
|
||||
businessLicense: [],
|
||||
},
|
||||
addOrEditFormRules: {
|
||||
subId: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入分包名称',
|
||||
trigger: 'blur',
|
||||
message: '请输入分包名称',
|
||||
},
|
||||
],
|
||||
teamId: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入分包商名称',
|
||||
trigger: 'blur',
|
||||
message: '请输入分包商名称',
|
||||
},
|
||||
],
|
||||
proId: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入工程名称',
|
||||
trigger: 'blur',
|
||||
message: '请输入工程名称',
|
||||
},
|
||||
],
|
||||
businessLicense: [
|
||||
|
|
@ -222,7 +225,6 @@ export default {
|
|||
subName,
|
||||
proName,
|
||||
teamName,
|
||||
teamEinStatus,
|
||||
businessLicense,
|
||||
} = this.addOrEditForm
|
||||
|
||||
|
|
@ -236,13 +238,13 @@ export default {
|
|||
teamEinStatus: this.formType,
|
||||
}
|
||||
|
||||
const formData = new FormData()
|
||||
const fileMsg = []
|
||||
|
||||
if (id) {
|
||||
params.id = id
|
||||
}
|
||||
|
||||
const formData = new FormData()
|
||||
const fileMsg = []
|
||||
|
||||
businessLicense.forEach((e) => {
|
||||
fileMsg.push({
|
||||
type: 1,
|
||||
|
|
@ -270,6 +272,17 @@ export default {
|
|||
})
|
||||
},
|
||||
|
||||
// 获取班组出场时数量等数据
|
||||
async getTeamExitDataNum() {
|
||||
const { data: res } = await getTeamExitDataNumAPI({
|
||||
teamId: this.addOrEditForm.teamId,
|
||||
})
|
||||
const { perNum } = res
|
||||
if (perNum > 0) {
|
||||
this.addOrEditForm.perNum = perNum
|
||||
}
|
||||
},
|
||||
|
||||
// 重置表单
|
||||
resetForm() {
|
||||
this.$refs.addOrEditFormRef.resetFields()
|
||||
|
|
@ -317,6 +330,8 @@ export default {
|
|||
label: item.proName,
|
||||
}
|
||||
})
|
||||
|
||||
this.getTeamExitDataNum()
|
||||
},
|
||||
|
||||
watch: {
|
||||
|
|
@ -324,7 +339,6 @@ export default {
|
|||
handler(newVal) {
|
||||
if (Object.keys(newVal).length > 0) {
|
||||
Object.assign(this.addOrEditForm, newVal)
|
||||
|
||||
if (newVal.contractFile && newVal.contractFile.length > 0) {
|
||||
this.addOrEditForm.businessLicense =
|
||||
newVal.contractFile.map((e) => {
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
size="mini"
|
||||
type="success"
|
||||
icon="el-icon-download"
|
||||
@click="onHandleExportAllProject(queryParams)"
|
||||
@click="onHandleExportTeamEntry(queryParams)"
|
||||
>
|
||||
导出
|
||||
</el-button>
|
||||
|
|
@ -25,6 +25,7 @@
|
|||
size="mini"
|
||||
type="primary"
|
||||
icon="el-icon-plus"
|
||||
v-hasPermi="['team:entry:add']"
|
||||
@click="onHandleEntryAndExit(1, null)"
|
||||
>
|
||||
新增
|
||||
|
|
@ -53,6 +54,7 @@
|
|||
type="success"
|
||||
icon="el-icon-check"
|
||||
v-if="data.teamEinStatus == 1"
|
||||
v-hasPermi="['team:entry:exit']"
|
||||
@click="onHandleEntryAndExit(2, data)"
|
||||
>
|
||||
出场
|
||||
|
|
@ -102,7 +104,6 @@
|
|||
import TableModel from '@/components/TableModel'
|
||||
import DialogModel from '@/components/DialogModel'
|
||||
import EntryAndExitForm from './entry-and-exit-form'
|
||||
|
||||
import { formLabel, columnsList, dialogConfig } from './config'
|
||||
import { getTeamEntryListAPI } from '@/api/basic-manage/team-manage/team-entry-and-exit'
|
||||
|
||||
|
|
@ -126,8 +127,7 @@ export default {
|
|||
},
|
||||
methods: {
|
||||
// 导出按钮
|
||||
onHandleExportAllProject(queryParams) {
|
||||
console.log(queryParams, '导出')
|
||||
onHandleExportTeamEntry(queryParams) {
|
||||
this.download(
|
||||
'/bmw/subTeamContract/export',
|
||||
{
|
||||
|
|
@ -156,10 +156,10 @@ export default {
|
|||
|
||||
if (type === 2 || type === 3) {
|
||||
const {
|
||||
id,
|
||||
subId,
|
||||
proId,
|
||||
teamId,
|
||||
id,
|
||||
subName,
|
||||
proName,
|
||||
teamName,
|
||||
|
|
@ -190,7 +190,7 @@ export default {
|
|||
this.handleCloseDialogOuter()
|
||||
this.$refs.teamEntryTableRef.getTableList()
|
||||
} catch (error) {
|
||||
console.log('表单提交失败', error)
|
||||
// console.log('表单提交失败', error)
|
||||
}
|
||||
},
|
||||
|
||||
|
|
|
|||
|
|
@ -132,12 +132,11 @@ export default {
|
|||
const API = isUpdate
|
||||
? editAttendanceMachineAPI
|
||||
: addAttendanceMachineAPI
|
||||
|
||||
const res = await API(params)
|
||||
|
||||
if (res.code === 200) {
|
||||
this.$modal.msgSuccess(
|
||||
this.formType === 1 ? '新增成功' : '修改成功',
|
||||
this.formType === 1 ? '新增成功' : '绑定成功',
|
||||
)
|
||||
resolve()
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@
|
|||
:formLabel="formLabel"
|
||||
:showOperation="true"
|
||||
:showRightTools="true"
|
||||
ref="attendanceMachineTableRef"
|
||||
:columnsList="columnsList"
|
||||
ref="attendanceMachineTableRef"
|
||||
:request-api="getAttendanceMachineListAPI"
|
||||
>
|
||||
<template slot="btn" slot-scope="{ queryParams }">
|
||||
|
|
@ -25,8 +25,8 @@
|
|||
size="mini"
|
||||
type="primary"
|
||||
icon="el-icon-plus"
|
||||
v-hasPermi="['attendance:machine:add']"
|
||||
@click="onHandleAddOrBindAttendanceMachine(1, null)"
|
||||
v-hasPermi="['att:machine:add']"
|
||||
@click="onHandleAddOrBindAttendanceMachine(1, null, '新增')"
|
||||
>
|
||||
新增
|
||||
</el-button>
|
||||
|
|
@ -75,8 +75,8 @@
|
|||
type="primary"
|
||||
icon="el-icon-edit"
|
||||
v-if="!data.proId"
|
||||
v-hasPermi="['attendance:machine:bind']"
|
||||
@click="onHandleAddOrBindAttendanceMachine(2, data)"
|
||||
v-hasPermi="['att:machine:bind']"
|
||||
@click="onHandleAddOrBindAttendanceMachine(2, data, '绑定')"
|
||||
>
|
||||
绑定
|
||||
</el-button>
|
||||
|
|
@ -86,7 +86,7 @@
|
|||
type="warning"
|
||||
icon="el-icon-edit"
|
||||
v-if="data.proId"
|
||||
v-hasPermi="['attendance:machine:unbind']"
|
||||
v-hasPermi="['att:machine:unbind']"
|
||||
@click="onHandleUnBindAttendanceMachine(data)"
|
||||
>
|
||||
解绑
|
||||
|
|
@ -95,7 +95,7 @@
|
|||
size="mini"
|
||||
type="danger"
|
||||
icon="el-icon-delete"
|
||||
v-hasPermi="['attendance:machine:delete']"
|
||||
v-hasPermi="['att:machine:delete']"
|
||||
@click="onHandleDeleteSubBaseInfo(data)"
|
||||
>
|
||||
删除
|
||||
|
|
@ -135,9 +135,9 @@ import DialogModel from '@/components/DialogModel'
|
|||
import AddAndBindForm from './add-and-bind.form.vue'
|
||||
import { formLabel, columnsList, dialogConfig } from './config'
|
||||
import {
|
||||
editAttendanceMachineAPI,
|
||||
deleteAttendanceMachineAPI,
|
||||
getAttendanceMachineListAPI,
|
||||
editAttendanceMachineAPI,
|
||||
} from '@/api/construction-person/attendance-manage/attendance-machine'
|
||||
export default {
|
||||
name: 'SubBaseInfo',
|
||||
|
|
@ -154,26 +154,6 @@ export default {
|
|||
dialogConfig,
|
||||
editFormData: {}, // 修改时回显的数据
|
||||
getAttendanceMachineListAPI, // 获取分包商列表的API
|
||||
|
||||
// 营业执照身份证等信息是否上传的插槽
|
||||
slots: [
|
||||
{
|
||||
type: 1,
|
||||
name: 'businessLicense',
|
||||
},
|
||||
{
|
||||
type: 2,
|
||||
name: 'idCard',
|
||||
},
|
||||
{
|
||||
type: 3,
|
||||
name: 'electronicSeal',
|
||||
},
|
||||
{
|
||||
type: 4,
|
||||
name: 'corporateSeal',
|
||||
},
|
||||
],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
|
@ -189,18 +169,16 @@ export default {
|
|||
},
|
||||
|
||||
// 新增或修改
|
||||
onHandleAddOrBindAttendanceMachine(type, data) {
|
||||
this.dialogConfig.outerTitle =
|
||||
type === 1 ? '新增考勤机' : '绑定考勤机'
|
||||
|
||||
onHandleAddOrBindAttendanceMachine(type, data, title) {
|
||||
this.dialogConfig.outerTitle = `${title}考勤机`
|
||||
if (type === 2) {
|
||||
const { proId, deviceCode, deviceName } = data
|
||||
|
||||
this.editFormData = {
|
||||
isUpdate: true,
|
||||
proId,
|
||||
deviceCode,
|
||||
deviceName,
|
||||
isUpdate: true,
|
||||
}
|
||||
} else {
|
||||
this.editFormData = {}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<!-- 新增或修改标段工程表单 -->
|
||||
<!-- 新增或修改人员入场表单 -->
|
||||
<div>
|
||||
<el-form
|
||||
label-width="140px"
|
||||
|
|
@ -62,6 +62,8 @@
|
|||
<el-form-item label="姓名" prop="name">
|
||||
<el-input
|
||||
clearable
|
||||
maxlength="20"
|
||||
show-word-limit
|
||||
placeholder="请输入姓名"
|
||||
v-model="idCardInfoForm.name"
|
||||
/>
|
||||
|
|
@ -71,6 +73,8 @@
|
|||
<el-form-item label="身份证号" prop="idNumber">
|
||||
<el-input
|
||||
clearable
|
||||
maxlength="18"
|
||||
show-word-limit
|
||||
@blur="onBlurIdNumber"
|
||||
placeholder="请输入身份证号"
|
||||
v-model="idCardInfoForm.idNumber"
|
||||
|
|
@ -83,8 +87,8 @@
|
|||
<el-col :span="12">
|
||||
<el-form-item label="性别" prop="sex">
|
||||
<el-radio-group
|
||||
size="mini"
|
||||
disabled
|
||||
size="mini"
|
||||
v-model="idCardInfoForm.sex"
|
||||
>
|
||||
<el-radio-button label="男" />
|
||||
|
|
@ -98,8 +102,8 @@
|
|||
disabled
|
||||
type="date"
|
||||
style="width: 100%"
|
||||
placeholder="请选择出生日期"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="请选择出生日期"
|
||||
v-model="idCardInfoForm.birthday"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
|
@ -110,6 +114,8 @@
|
|||
<el-form-item label="民族" prop="nation">
|
||||
<el-input
|
||||
clearable
|
||||
maxlength="20"
|
||||
show-word-limit
|
||||
placeholder="请输入民族"
|
||||
v-model="idCardInfoForm.nation"
|
||||
/>
|
||||
|
|
@ -119,6 +125,8 @@
|
|||
<el-form-item label="签发机关" prop="issuingAuthority">
|
||||
<el-input
|
||||
clearable
|
||||
maxlength="20"
|
||||
show-word-limit
|
||||
placeholder="请输入签发机关"
|
||||
v-model="idCardInfoForm.issuingAuthority"
|
||||
/>
|
||||
|
|
@ -155,6 +163,8 @@
|
|||
<el-form-item label="身份证住址" prop="address">
|
||||
<el-input
|
||||
clearable
|
||||
maxlength="50"
|
||||
show-word-limit
|
||||
placeholder="请输入身份证住址"
|
||||
v-model="idCardInfoForm.address"
|
||||
/>
|
||||
|
|
@ -184,10 +194,10 @@
|
|||
>
|
||||
<TitleTip
|
||||
titleText="关键信息"
|
||||
justifyContent="flex-start"
|
||||
borderBottom="none"
|
||||
backgroundColor="#f8fafc"
|
||||
padding="24px 10px"
|
||||
backgroundColor="#f8fafc"
|
||||
justifyContent="flex-start"
|
||||
>
|
||||
<template>
|
||||
<span class="tip-text">
|
||||
|
|
@ -579,16 +589,17 @@ export default {
|
|||
},
|
||||
// 身份证信息表单
|
||||
idCardInfoForm: {
|
||||
name: '', // 姓名
|
||||
idNumber: '', // 身份证号
|
||||
age: '',
|
||||
sex: '', // 性别
|
||||
birthday: '', // 出生日期
|
||||
name: '', // 姓名
|
||||
nation: '', // 民族
|
||||
issuingAuthority: '', // 签发机关
|
||||
startTime: '', // 生效日期
|
||||
endTime: '', // 失效日期
|
||||
address: '', // 身份证住址
|
||||
faceImg: [], // 人脸照片
|
||||
idNumber: '', // 身份证号
|
||||
birthday: '', // 出生日期
|
||||
issuingAuthority: '', // 签发机关
|
||||
},
|
||||
|
||||
// 关键信息表单
|
||||
|
|
@ -1140,6 +1151,7 @@ export default {
|
|||
|
||||
// 身份证基本信息
|
||||
const {
|
||||
age,
|
||||
sex,
|
||||
name,
|
||||
proId,
|
||||
|
|
@ -1160,6 +1172,7 @@ export default {
|
|||
} = res
|
||||
|
||||
this.idCardInfoForm = {
|
||||
age,
|
||||
sex,
|
||||
name,
|
||||
nation,
|
||||
|
|
@ -1294,6 +1307,10 @@ export default {
|
|||
'-' +
|
||||
birthday.slice(6, 8)
|
||||
this.idCardInfoForm.sex = sex % 2 === 0 ? '女' : '男'
|
||||
|
||||
// 根据身份证号码计算年龄
|
||||
const age = new Date().getFullYear() - birthday.slice(0, 4)
|
||||
this.idCardInfoForm.age = age
|
||||
},
|
||||
},
|
||||
|
||||
|
|
|
|||
|
|
@ -103,10 +103,10 @@ import {
|
|||
} from '@/api/construction-person/entry-and-exit-manage/person-entry'
|
||||
|
||||
import {
|
||||
getLotProjectSelectListCommonFun,
|
||||
getSubSelectListCommonFun,
|
||||
getTeamSelectListCommonFun,
|
||||
getPostTypeSelectListCommonFun,
|
||||
getLotProjectSelectListCommonFun,
|
||||
} from '@/utils/getCommonData'
|
||||
export default {
|
||||
name: 'PersonEntry',
|
||||
|
|
@ -125,13 +125,6 @@ export default {
|
|||
queryDetailsId: '', // 查询详情id
|
||||
einStatus: 1, // 在场状态
|
||||
formType: 1, // 表单类型
|
||||
|
||||
slots: {
|
||||
businessLicense: 'businessLicense',
|
||||
idCard: 'idCard',
|
||||
electronicStamp: 'electronicStamp',
|
||||
electronicSignature: 'electronicSignature',
|
||||
},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
|
@ -155,9 +148,6 @@ export default {
|
|||
this.queryDetailsId = data.id
|
||||
this.einStatus = data.einStatus
|
||||
this.dialogConfig.outerVisible = true
|
||||
// this.$nextTick(() => {
|
||||
// this.$refs.addOrEditFormContentRef.getEntryPersonDetail()
|
||||
// })
|
||||
} else {
|
||||
this.queryDetailsId = ''
|
||||
this.dialogConfig.outerVisible = true
|
||||
|
|
@ -166,10 +156,6 @@ export default {
|
|||
|
||||
// 删除
|
||||
onHandleDeletePersonEntry(data) {
|
||||
// if (data.einStatus === 1) {
|
||||
// this.$modal.msgError('该人员在场,不能删除')
|
||||
// return
|
||||
// }
|
||||
this.$confirm('确定删除该人员吗?', '温馨提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
|
|
@ -197,7 +183,7 @@ export default {
|
|||
this.$refs.personEntryTableRef.getTableList()
|
||||
this.handleCloseDialogOuter()
|
||||
} catch (error) {
|
||||
console.log('表单提交失败', error)
|
||||
// console.log('表单提交失败', error)
|
||||
}
|
||||
},
|
||||
|
||||
|
|
|
|||
|
|
@ -96,7 +96,6 @@ export default {
|
|||
},
|
||||
|
||||
// 查看附件
|
||||
|
||||
onHandlePreviewFile(row) {
|
||||
console.log(row, '查看附件')
|
||||
},
|
||||
|
|
|
|||
|
|
@ -141,10 +141,10 @@ import DialogModel from '@/components/DialogModel'
|
|||
import PersonExitForm from './person-exit-form.vue'
|
||||
import EntryExitRecord from './entry-exit-record.vue'
|
||||
import {
|
||||
getLotProjectSelectListCommonFun,
|
||||
getSubSelectListCommonFun,
|
||||
getTeamSelectListCommonFun,
|
||||
getPostTypeSelectListCommonFun,
|
||||
getLotProjectSelectListCommonFun,
|
||||
} from '@/utils/getCommonData'
|
||||
import { formLabel, columnsList, dialogConfig } from './config'
|
||||
|
||||
|
|
@ -169,7 +169,7 @@ export default {
|
|||
dialogConfig,
|
||||
exitFormData: {},
|
||||
queryDetailsId: '',
|
||||
isExitUpload: 1, // 是否出场 后上传文件
|
||||
isExitUpload: 1, // 是否出场后上传文件 1:是 2:否
|
||||
getExitPersonListAPI,
|
||||
|
||||
slots: {
|
||||
|
|
@ -188,8 +188,6 @@ export default {
|
|||
|
||||
// 批量出场
|
||||
async onHandleBatchExit() {
|
||||
console.log(this.$refs.personExitTableRef.selectedData, '批量出场')
|
||||
|
||||
const selectedData = this.$refs.personExitTableRef.selectedData
|
||||
|
||||
if (selectedData.length === 0) {
|
||||
|
|
@ -200,13 +198,11 @@ export default {
|
|||
const params = selectedData.map((item) => {
|
||||
return {
|
||||
id: item.id,
|
||||
proId: item.proId,
|
||||
workerId: item.workerId,
|
||||
}
|
||||
})
|
||||
const res = await batchExitPersonAPI(params)
|
||||
|
||||
console.log(res, '批量出场结果')
|
||||
|
||||
if (res.code === 200) {
|
||||
this.$modal.msgSuccess('批量出场成功')
|
||||
this.$refs.personExitTableRef.getTableList()
|
||||
|
|
@ -215,14 +211,24 @@ export default {
|
|||
}
|
||||
},
|
||||
|
||||
// 人员出场
|
||||
onHandlePersonExit(data, type) {
|
||||
this.isExitUpload = type
|
||||
const { name, idNumber, proName, subName, teamName, id, workerId } =
|
||||
data
|
||||
const {
|
||||
name,
|
||||
idNumber,
|
||||
proName,
|
||||
subName,
|
||||
teamName,
|
||||
id,
|
||||
workerId,
|
||||
proId,
|
||||
} = data
|
||||
|
||||
this.exitFormData = {
|
||||
id,
|
||||
name,
|
||||
proId,
|
||||
proName,
|
||||
subName,
|
||||
teamName,
|
||||
|
|
|
|||
|
|
@ -121,11 +121,11 @@ export default {
|
|||
const { id, workerId, fileList } = this.personExitFormData
|
||||
const params = {
|
||||
id,
|
||||
proId,
|
||||
workerId,
|
||||
}
|
||||
|
||||
const formData = new FormData()
|
||||
const fileMsg = []
|
||||
const formData = new FormData()
|
||||
|
||||
if (fileList.length > 0) {
|
||||
fileList.forEach((e) => {
|
||||
|
|
@ -154,8 +154,8 @@ export default {
|
|||
id,
|
||||
}
|
||||
|
||||
const formData = new FormData()
|
||||
const fileMsg = []
|
||||
const formData = new FormData()
|
||||
|
||||
if (fileList.length > 0) {
|
||||
fileList.forEach((e) => {
|
||||
|
|
|
|||
|
|
@ -221,6 +221,7 @@ export default {
|
|||
if (res.code === 200) {
|
||||
this.$modal.msgSuccess('删除成功')
|
||||
this.$refs.divideCompanyManageTableRef.getTableList()
|
||||
this.$store.dispatch('getSubCompanySelectList') // 更新store中的分公司列表
|
||||
} else {
|
||||
this.$modal.msgError(res.msg)
|
||||
}
|
||||
|
|
@ -254,9 +255,7 @@ export default {
|
|||
)
|
||||
this.handleCloseDialogOuter()
|
||||
this.$refs.divideCompanyManageTableRef.getTableList()
|
||||
|
||||
// 更新store中的分公司列表
|
||||
this.$store.dispatch('common/getSubCompanySelectList')
|
||||
this.$store.dispatch('getSubCompanySelectList') // 更新store中的分公司列表
|
||||
} else {
|
||||
this.$modal.msgError(res.msg)
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue