分包商入场页面完善
This commit is contained in:
parent
40454371ea
commit
a8afeff8d6
|
|
@ -1,9 +1,10 @@
|
|||
import request from '@/utils/request'
|
||||
import requestFormData from '@/utils/request_formdata'
|
||||
|
||||
// 新增分包入场信息
|
||||
export const addSubEntryAPI = (data) => {
|
||||
return request({
|
||||
url: '/project/***',
|
||||
// 新增和修改分包入场信息
|
||||
export const addAndEditSubEntryAPI = (data) => {
|
||||
return requestFormData({
|
||||
url: '/bmw/subContract/addOrUpdateSubContract',
|
||||
method: 'POST',
|
||||
data,
|
||||
})
|
||||
|
|
@ -17,27 +18,28 @@ export const subExitAPI = (data) => {
|
|||
})
|
||||
}
|
||||
|
||||
// 修改分包入场信息
|
||||
export const editSubEntryAPI = (data) => {
|
||||
// 删除分包入场信息
|
||||
export const deleteSubEntryAPI = (data) => {
|
||||
return request({
|
||||
url: '/project/***',
|
||||
url: '/bmw/subContract/delSubContract',
|
||||
method: 'POST',
|
||||
data,
|
||||
})
|
||||
}
|
||||
|
||||
// 删除分包入场信息
|
||||
export const deleteSubEntryAPI = (id) => {
|
||||
return request({
|
||||
url: `/project/****/${id}`,
|
||||
method: 'DELETE',
|
||||
})
|
||||
}
|
||||
|
||||
// 获取分包入场信息列表
|
||||
export const getSubEntryListAPI = (data) => {
|
||||
return request({
|
||||
url: '/project/***',
|
||||
url: '/bmw/subContract/list',
|
||||
method: 'GET',
|
||||
params: data,
|
||||
})
|
||||
}
|
||||
|
||||
// 获取分包详情数据
|
||||
export const getSubEntryDetailAPI = (data) => {
|
||||
return request({
|
||||
url: '/bmw/subContract/getSubContractById',
|
||||
method: 'GET',
|
||||
params: data,
|
||||
})
|
||||
|
|
|
|||
|
|
@ -33,3 +33,11 @@ export function getLotProjectSelectListAPI() {
|
|||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
// 获取分包商下拉列表
|
||||
export const getSubSelectListAPI = () => {
|
||||
return request({
|
||||
url: '/bmw/pmSub/listAll',
|
||||
method: 'GET',
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@
|
|||
v-if="item.f_type === 'ipt'"
|
||||
v-model.trim="queryParams[item.f_model]"
|
||||
:placeholder="`请输入${item.f_label}`"
|
||||
:style="{ width: item.f_width || '240px' }"
|
||||
:style="{ width: item.f_width || '180px' }"
|
||||
/>
|
||||
<el-select
|
||||
clearable
|
||||
|
|
@ -31,7 +31,7 @@
|
|||
v-if="item.f_type === 'sel'"
|
||||
v-model="queryParams[item.f_model]"
|
||||
:placeholder="`请选择${item.f_label}`"
|
||||
:style="{ width: item.f_width || '240px' }"
|
||||
:style="{ width: item.f_width || '180px' }"
|
||||
>
|
||||
<el-option
|
||||
:key="v"
|
||||
|
|
@ -42,7 +42,7 @@
|
|||
</el-select>
|
||||
<el-cascader
|
||||
clearable
|
||||
style="width: 240px"
|
||||
style="width: 180px"
|
||||
:show-all-levels="false"
|
||||
:props="item.optionProps"
|
||||
:options="item.f_selList"
|
||||
|
|
@ -58,7 +58,7 @@
|
|||
"
|
||||
/>
|
||||
<el-cascader
|
||||
style="width: 240px"
|
||||
style="width: 180px"
|
||||
:show-all-levels="false"
|
||||
:options="item.f_selList"
|
||||
:props="item.optionProps"
|
||||
|
|
@ -68,7 +68,7 @@
|
|||
/>
|
||||
<el-date-picker
|
||||
type="date"
|
||||
style="width: 240px"
|
||||
style="width: 180px"
|
||||
value-format="yyyy-MM-dd"
|
||||
v-if="item.f_type === 'date'"
|
||||
v-model="queryParams[item.f_model]"
|
||||
|
|
@ -76,7 +76,7 @@
|
|||
/>
|
||||
<el-date-picker
|
||||
type="daterange"
|
||||
style="width: 240px"
|
||||
style="width: 180px"
|
||||
range-separator="至"
|
||||
value-format="yyyy-MM-dd"
|
||||
start-placeholder="开始日期"
|
||||
|
|
|
|||
|
|
@ -8,6 +8,8 @@ const common = {
|
|||
subCompanySelectList: [],
|
||||
// 标段工程下拉列表
|
||||
lotProjectSelectList: [],
|
||||
// 分包商下拉列表
|
||||
subSelectList: [],
|
||||
},
|
||||
mutations: {
|
||||
SET_COMPANY_SELECT_LIST(state, companySelectList) {
|
||||
|
|
@ -22,6 +24,9 @@ const common = {
|
|||
SET_LOT_PROJECT_SELECT_LIST(state, lotProjectSelectList) {
|
||||
state.lotProjectSelectList = lotProjectSelectList
|
||||
},
|
||||
SET_SUB_SELECT_LIST(state, subSelectList) {
|
||||
state.subSelectList = subSelectList
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import {
|
|||
getMainProjectListAllAPI,
|
||||
getSubCompanySelectListAPI,
|
||||
getLotProjectSelectListAPI,
|
||||
getSubSelectListAPI,
|
||||
} from '@/api/common'
|
||||
|
||||
// 获取公司下拉列表
|
||||
|
|
@ -62,3 +63,16 @@ export async function getLotProjectSelectListCommonFun() {
|
|||
}
|
||||
return []
|
||||
}
|
||||
// 获取分包下拉列表
|
||||
export async function getSubSelectListCommonFun() {
|
||||
const { subSelectList } = store.state.common
|
||||
if (subSelectList.length > 0) {
|
||||
return subSelectList
|
||||
}
|
||||
const res = await getSubSelectListAPI()
|
||||
if (res.code === 200) {
|
||||
store.commit('SET_SUB_SELECT_LIST', res.rows)
|
||||
return res.rows
|
||||
}
|
||||
return []
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,176 +0,0 @@
|
|||
<template>
|
||||
<!-- 新增或修改标段工程表单 -->
|
||||
<div>
|
||||
<el-form
|
||||
label-width="180px"
|
||||
ref="addOrEditFormRef"
|
||||
:model="addOrEditForm"
|
||||
:rules="addOrEditFormRules"
|
||||
>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="分包商合同名称" prop="htName">
|
||||
<el-input
|
||||
clearable
|
||||
placeholder="请输入分包商合同名称"
|
||||
v-model="addOrEditForm.htName"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="分包名称" prop="subName">
|
||||
<el-input
|
||||
clearable
|
||||
placeholder="请输入分包名称"
|
||||
v-model="addOrEditForm.subName"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="工程名称" prop="projectName">
|
||||
<el-input
|
||||
clearable
|
||||
placeholder="请输入工程名称"
|
||||
v-model="addOrEditForm.projectName"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="入场日期" prop="entryDate">
|
||||
<el-date-picker
|
||||
type="date"
|
||||
style="width: 100%"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="请选择入场日期"
|
||||
v-model="addOrEditForm.entryDate"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item
|
||||
label="法定代表人授权委托书"
|
||||
prop="businessLicense"
|
||||
>
|
||||
<UploadImg
|
||||
:limit="30"
|
||||
:file-size="10"
|
||||
:multiple="true"
|
||||
:is-detail="formType === 2"
|
||||
:file-type="['jpg', 'png', 'jpeg']"
|
||||
:upload-file-url="uploadFileUrl"
|
||||
:file-list.sync="addOrEditForm.businessLicense"
|
||||
:is-uploaded="
|
||||
addOrEditForm.businessLicense.length >= 2
|
||||
"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import UploadImg from '@/components/UploadImg'
|
||||
import {
|
||||
addSubBaseInfoAPI,
|
||||
editSubBaseInfoAPI,
|
||||
} from '@/api/basic-manage/sub-manage/sub-base-info'
|
||||
export default {
|
||||
name: 'AddOrEditForm',
|
||||
components: {
|
||||
UploadImg,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
formType: 1,
|
||||
uploadFileUrl:
|
||||
process.env.VUE_APP_BASE_API + '/system/file/uploadFiles',
|
||||
addOrEditForm: {
|
||||
htName: '',
|
||||
subName: '',
|
||||
projectName: '',
|
||||
entryDate: '',
|
||||
businessLicense: [],
|
||||
},
|
||||
addOrEditFormRules: {
|
||||
htName: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入分包商合同名称',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
subName: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入分包商名称',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
projectName: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入工程名称',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
entryDate: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择入场日期',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
businessLicense: [
|
||||
{
|
||||
required: true,
|
||||
message: '请上传法定代表人授权委托书',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 确定按钮
|
||||
onHandleConfirmAddOrEditFun() {
|
||||
return new Promise((resolve, reject) => {
|
||||
this.$refs.addOrEditFormRef.validate(async (valid) => {
|
||||
if (valid) {
|
||||
console.log(this.addOrEditForm)
|
||||
|
||||
const API =
|
||||
this.formType === 1
|
||||
? addSubBaseInfoAPI
|
||||
: editSubBaseInfoAPI
|
||||
const res = await API(this.addOrEditForm)
|
||||
console.log(res, '新增或修改结果')
|
||||
if (res.code === 200) {
|
||||
resolve()
|
||||
} else {
|
||||
reject(new Error(res.message))
|
||||
}
|
||||
} else {
|
||||
reject(new Error('表单验证失败'))
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
// 重置表单
|
||||
resetForm() {
|
||||
this.$refs.addOrEditFormRef.resetFields()
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
|
@ -1,7 +1,13 @@
|
|||
export const formLabel = [
|
||||
{
|
||||
f_label: '分包合同',
|
||||
f_model: 'htName',
|
||||
f_label: '分包合同编码',
|
||||
f_model: 'subContractCode',
|
||||
f_type: 'ipt',
|
||||
isShow: false, // 是否展示label
|
||||
},
|
||||
{
|
||||
f_label: '分包合同名称',
|
||||
f_model: 'subContractName',
|
||||
f_type: 'ipt',
|
||||
isShow: false, // 是否展示label
|
||||
},
|
||||
|
|
@ -13,30 +19,42 @@ export const formLabel = [
|
|||
},
|
||||
{
|
||||
f_label: '工程名称',
|
||||
f_model: 'projectName',
|
||||
f_type: 'ipt',
|
||||
f_model: 'proName',
|
||||
f_type: 'sel',
|
||||
isShow: false, // 是否展示label
|
||||
f_selList: [],
|
||||
},
|
||||
{
|
||||
f_label: '状态',
|
||||
f_model: 'status',
|
||||
f_model: 'subEinStatus',
|
||||
f_type: 'sel',
|
||||
isShow: false, // 是否展示label
|
||||
f_selList: [
|
||||
{
|
||||
label: '在场',
|
||||
value: 1,
|
||||
},
|
||||
{
|
||||
label: '出场',
|
||||
value: 2,
|
||||
},
|
||||
], // 状态列表
|
||||
},
|
||||
]
|
||||
|
||||
export const columnsList = [
|
||||
{ t_props: 'projectName', t_label: '分包商合同名称' },
|
||||
{ t_props: 'xmb', t_label: '分包商名称' },
|
||||
{ t_props: 'name', t_label: '工程名称' },
|
||||
{ t_props: 'type', t_label: '出入场状态' },
|
||||
{ t_props: 'subContractCode', t_label: '分包商合同编码' },
|
||||
{ t_props: 'subContractName', t_label: '分包商合同名称' },
|
||||
{ t_props: 'subName', t_label: '分包商名称' },
|
||||
{ t_props: 'proName', t_label: '工程名称' },
|
||||
{ t_slot: 'subEinStatus', t_label: '出入场状态' },
|
||||
{
|
||||
t_props: 'businessLicense',
|
||||
t_props: 'subEinTime',
|
||||
t_label: '分包入场时间',
|
||||
},
|
||||
{ t_props: 'idCard', t_label: '授权委托书', t_slot: 'idCard' },
|
||||
{
|
||||
t_props: 'electronicStamp',
|
||||
t_props: 'subExitTime',
|
||||
t_label: '分包出场时间',
|
||||
},
|
||||
{
|
||||
|
|
@ -45,52 +63,10 @@ export const columnsList = [
|
|||
},
|
||||
]
|
||||
|
||||
export const testTableList = [
|
||||
{
|
||||
projectName: '总工程名称',
|
||||
level: '等级3',
|
||||
xmb: 'xxx项目部',
|
||||
name: '110kv工程',
|
||||
type: '基建变电',
|
||||
address: '安徽省合肥市110k工程',
|
||||
status: '在建',
|
||||
businessLicense: '已上传',
|
||||
idCard: '已上传',
|
||||
electronicStamp: '已上传',
|
||||
electronicSignature: '未上传',
|
||||
},
|
||||
{
|
||||
projectName: '总工程名称21',
|
||||
level: '等级3',
|
||||
xmb: 'xxx项目部',
|
||||
name: '110kv工程',
|
||||
type: '基建变电',
|
||||
address: '安徽省合肥市110k工程',
|
||||
status: '在建',
|
||||
businessLicense: '已上传',
|
||||
idCard: '已上传',
|
||||
electronicStamp: '已上传',
|
||||
electronicSignature: '未上传',
|
||||
},
|
||||
{
|
||||
projectName: '总工程名称3',
|
||||
level: '等级3',
|
||||
xmb: 'xxx项目部',
|
||||
name: '110kv工程',
|
||||
type: '基建变电',
|
||||
address: '安徽省合肥市110k工程',
|
||||
status: '在建',
|
||||
businessLicense: '已上传',
|
||||
idCard: '已上传',
|
||||
electronicStamp: '已上传',
|
||||
electronicSignature: '未上传',
|
||||
},
|
||||
]
|
||||
|
||||
export const dialogConfig = {
|
||||
outerVisible: false,
|
||||
outerTitle: '',
|
||||
outerWidth: '60%',
|
||||
outerWidth: '50%',
|
||||
minHeight: '',
|
||||
maxHeight: '',
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,351 @@
|
|||
<template>
|
||||
<!-- 分包入场表单 -->
|
||||
<div>
|
||||
<el-form
|
||||
label-width="240px"
|
||||
ref="addOrEditFormRef"
|
||||
:model="addOrEditForm"
|
||||
:rules="addOrEditFormRules"
|
||||
>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="分包商合同编码">
|
||||
<el-input
|
||||
disabled
|
||||
v-model="addOrEditForm.subContractCode"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="分包商合同名称">
|
||||
<el-input
|
||||
disabled
|
||||
v-model="addOrEditForm.subContractName"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="分包名称" prop="subId">
|
||||
<el-select
|
||||
style="width: 100%"
|
||||
:disabled="queryDetailId !== ''"
|
||||
v-model="addOrEditForm.subId"
|
||||
>
|
||||
<el-option
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
v-for="item in subSelectList"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="工程名称" prop="proId">
|
||||
<el-select
|
||||
style="width: 100%"
|
||||
:disabled="queryDetailId !== ''"
|
||||
v-model="addOrEditForm.proId"
|
||||
>
|
||||
<el-option
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
v-for="item in lotProjectSelectList"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="入场日期">
|
||||
<el-date-picker
|
||||
disabled
|
||||
type="date"
|
||||
style="width: 100%"
|
||||
value-format="yyyy-MM-dd"
|
||||
v-model="addOrEditForm.subEinTime"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item
|
||||
label="法定代表人授权书"
|
||||
prop="businessLicense"
|
||||
>
|
||||
<UploadFileFormData
|
||||
:limit="3"
|
||||
:file-size="20"
|
||||
:multiple="true"
|
||||
uploadTip=" "
|
||||
:file-list.sync="addOrEditForm.businessLicense"
|
||||
:file-type="[
|
||||
'jpg',
|
||||
'png',
|
||||
'jpeg',
|
||||
'pdf',
|
||||
'doc',
|
||||
'docx',
|
||||
]"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="出场日期">
|
||||
<el-date-picker
|
||||
disabled
|
||||
type="date"
|
||||
style="width: 100%"
|
||||
value-format="yyyy-MM-dd"
|
||||
v-model="addOrEditForm.subExitTime"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item
|
||||
label="农民工工资已支付完成承诺书"
|
||||
prop="businessLicense"
|
||||
>
|
||||
<UploadFileFormData
|
||||
:limit="3"
|
||||
:file-size="20"
|
||||
:multiple="true"
|
||||
uploadTip=" "
|
||||
:file-list.sync="addOrEditForm.businessLicense"
|
||||
:file-type="[
|
||||
'jpg',
|
||||
'png',
|
||||
'jpeg',
|
||||
'pdf',
|
||||
'doc',
|
||||
'docx',
|
||||
]"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import UploadImg from '@/components/UploadImg'
|
||||
import UploadFileFormData from '@/components/UploadFileFormData'
|
||||
import {
|
||||
addAndEditSubEntryAPI,
|
||||
getSubEntryDetailAPI,
|
||||
} from '@/api/basic-manage/sub-manage/sub-entry-and-exit'
|
||||
import {
|
||||
getSubSelectListCommonFun,
|
||||
getLotProjectSelectListCommonFun,
|
||||
} from '@/utils/getCommonData'
|
||||
export default {
|
||||
name: 'AddOrEditForm',
|
||||
components: {
|
||||
UploadImg,
|
||||
UploadFileFormData,
|
||||
},
|
||||
props: {
|
||||
queryDetailId: {
|
||||
type: [String, Number],
|
||||
default: '',
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
addOrEditForm: {
|
||||
subContractCode: '', // 分包合同编码
|
||||
subContractName: '', // 分包合同名称
|
||||
subId: '', // 分包商id
|
||||
proId: '', // 工程id
|
||||
businessLicense: [], // 法人代表人授权书
|
||||
id: '', // 分包入场id
|
||||
subEinTime: '',
|
||||
subExitTime: '',
|
||||
},
|
||||
addOrEditFormRules: {
|
||||
subContractCode: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入分包商合同编码',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
subContractName: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入分包商合同名称',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
subId: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择分包商名称',
|
||||
trigger: 'change',
|
||||
},
|
||||
],
|
||||
proId: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择工程名称',
|
||||
trigger: 'change',
|
||||
},
|
||||
],
|
||||
businessLicense: [
|
||||
{
|
||||
required: true,
|
||||
message: '请上传法定代表人授权委托书',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
subSelectList: [], // 分包商下拉列表
|
||||
lotProjectSelectList: [], // 标段工程下拉列表
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 确定按钮
|
||||
onHandleConfirmAddOrEditFun() {
|
||||
return new Promise((resolve, reject) => {
|
||||
this.$refs.addOrEditFormRef.validate(async (valid) => {
|
||||
if (valid) {
|
||||
console.log(this.addOrEditForm)
|
||||
|
||||
const {
|
||||
subId,
|
||||
proId,
|
||||
subContractName,
|
||||
subContractCode,
|
||||
businessLicense,
|
||||
id,
|
||||
} = this.addOrEditForm
|
||||
|
||||
const params = {
|
||||
subId,
|
||||
proId,
|
||||
subContractName,
|
||||
subContractCode,
|
||||
subEinStatus: 1,
|
||||
}
|
||||
|
||||
const fileMsg = []
|
||||
const formData = new FormData()
|
||||
|
||||
if (id) {
|
||||
params.id = id
|
||||
}
|
||||
|
||||
businessLicense.forEach((item) => {
|
||||
formData.append('files', item.raw)
|
||||
fileMsg.push({
|
||||
type: 1,
|
||||
name: '法定代表人授权书',
|
||||
})
|
||||
})
|
||||
|
||||
formData.append('fileMsg', JSON.stringify(fileMsg))
|
||||
formData.append('params', JSON.stringify(params))
|
||||
|
||||
// const API =
|
||||
// this.formType === 1
|
||||
// ? addSubBaseInfoAPI
|
||||
// : editSubBaseInfoAPI
|
||||
const res = await addAndEditSubEntryAPI(formData)
|
||||
console.log(res, '分包入场结果')
|
||||
if (res.code === 200) {
|
||||
this.$modal.msgSuccess('操作成功')
|
||||
resolve()
|
||||
} else {
|
||||
reject(new Error(res.message))
|
||||
}
|
||||
} else {
|
||||
reject(new Error('表单验证失败'))
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
// 重置表单
|
||||
resetForm() {
|
||||
this.$refs.addOrEditFormRef.resetFields()
|
||||
},
|
||||
|
||||
// 获取分包详情数据
|
||||
async getSubEntryDetail() {
|
||||
const { data: res } = await getSubEntryDetailAPI({
|
||||
id: this.queryDetailId,
|
||||
})
|
||||
|
||||
const {
|
||||
id,
|
||||
subId,
|
||||
proId,
|
||||
subContractName,
|
||||
subContractCode,
|
||||
subEinTime,
|
||||
subExitTime,
|
||||
} = res
|
||||
|
||||
this.addOrEditForm = {
|
||||
id,
|
||||
subId,
|
||||
proId,
|
||||
subContractName,
|
||||
subContractCode,
|
||||
businessLicense: [],
|
||||
subEinTime,
|
||||
subExitTime,
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
async created() {
|
||||
const sub = await getSubSelectListCommonFun()
|
||||
this.subSelectList = sub.map((item) => {
|
||||
return {
|
||||
label: item.subName,
|
||||
value: item.id,
|
||||
}
|
||||
})
|
||||
const pro = await getLotProjectSelectListCommonFun()
|
||||
this.lotProjectSelectList = pro.map((item) => {
|
||||
return {
|
||||
label: item.proName,
|
||||
value: item.id,
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
watch: {
|
||||
queryDetailId: {
|
||||
handler(newVal) {
|
||||
if (newVal) {
|
||||
this.getSubEntryDetail()
|
||||
}
|
||||
},
|
||||
|
||||
deep: true,
|
||||
immediate: true,
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
|
@ -0,0 +1,294 @@
|
|||
<template>
|
||||
<!-- 分包入场表单 -->
|
||||
<div>
|
||||
<el-form
|
||||
label-width="180px"
|
||||
ref="addOrEditFormRef"
|
||||
:model="addOrEditForm"
|
||||
:rules="addOrEditFormRules"
|
||||
>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="分包商合同编码" prop="subContractCode">
|
||||
<el-input
|
||||
clearable
|
||||
placeholder="请输入分包商合同编码"
|
||||
v-model="addOrEditForm.subContractCode"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="分包商合同名称" prop="subContractName">
|
||||
<el-input
|
||||
clearable
|
||||
placeholder="请输入分包商合同名称"
|
||||
v-model="addOrEditForm.subContractName"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="分包名称" prop="subId">
|
||||
<el-select
|
||||
clearable
|
||||
filterable
|
||||
style="width: 100%"
|
||||
:disabled="queryDetailId !== ''"
|
||||
v-model="addOrEditForm.subId"
|
||||
placeholder="请选择分包商名称"
|
||||
>
|
||||
<el-option
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
v-for="item in subSelectList"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="工程名称" prop="proId">
|
||||
<el-select
|
||||
clearable
|
||||
filterable
|
||||
style="width: 100%"
|
||||
:disabled="queryDetailId !== ''"
|
||||
v-model="addOrEditForm.proId"
|
||||
placeholder="请选择工程名称"
|
||||
>
|
||||
<el-option
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
v-for="item in lotProjectSelectList"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item
|
||||
label="法定代表人授权书"
|
||||
prop="businessLicense"
|
||||
>
|
||||
<UploadFileFormData
|
||||
:limit="3"
|
||||
:file-size="20"
|
||||
:multiple="true"
|
||||
uploadTip=" "
|
||||
:file-list.sync="addOrEditForm.businessLicense"
|
||||
:file-type="[
|
||||
'jpg',
|
||||
'png',
|
||||
'jpeg',
|
||||
'pdf',
|
||||
'doc',
|
||||
'docx',
|
||||
]"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import UploadImg from '@/components/UploadImg'
|
||||
import UploadFileFormData from '@/components/UploadFileFormData'
|
||||
import {
|
||||
addAndEditSubEntryAPI,
|
||||
getSubEntryDetailAPI,
|
||||
} from '@/api/basic-manage/sub-manage/sub-entry-and-exit'
|
||||
import {
|
||||
getSubSelectListCommonFun,
|
||||
getLotProjectSelectListCommonFun,
|
||||
} from '@/utils/getCommonData'
|
||||
export default {
|
||||
name: 'AddOrEditForm',
|
||||
components: {
|
||||
UploadImg,
|
||||
UploadFileFormData,
|
||||
},
|
||||
props: {
|
||||
queryDetailId: {
|
||||
type: [String, Number],
|
||||
default: '',
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
addOrEditForm: {
|
||||
subContractCode: '', // 分包合同编码
|
||||
subContractName: '', // 分包合同名称
|
||||
subId: '', // 分包商id
|
||||
proId: '', // 工程id
|
||||
businessLicense: [], // 法人代表人授权书
|
||||
id: '', // 分包入场id
|
||||
},
|
||||
addOrEditFormRules: {
|
||||
subContractCode: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入分包商合同编码',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
subContractName: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入分包商合同名称',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
subId: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择分包商名称',
|
||||
trigger: 'change',
|
||||
},
|
||||
],
|
||||
proId: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择工程名称',
|
||||
trigger: 'change',
|
||||
},
|
||||
],
|
||||
businessLicense: [
|
||||
{
|
||||
required: true,
|
||||
message: '请上传法定代表人授权委托书',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
subSelectList: [], // 分包商下拉列表
|
||||
lotProjectSelectList: [], // 标段工程下拉列表
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 确定按钮
|
||||
onHandleConfirmAddOrEditFun() {
|
||||
return new Promise((resolve, reject) => {
|
||||
this.$refs.addOrEditFormRef.validate(async (valid) => {
|
||||
if (valid) {
|
||||
console.log(this.addOrEditForm)
|
||||
|
||||
const {
|
||||
subId,
|
||||
proId,
|
||||
subContractName,
|
||||
subContractCode,
|
||||
businessLicense,
|
||||
id,
|
||||
} = this.addOrEditForm
|
||||
|
||||
const params = {
|
||||
subId,
|
||||
proId,
|
||||
subContractName,
|
||||
subContractCode,
|
||||
subEinStatus: 1,
|
||||
}
|
||||
|
||||
const fileMsg = []
|
||||
const formData = new FormData()
|
||||
|
||||
if (id) {
|
||||
params.id = id
|
||||
}
|
||||
|
||||
businessLicense.forEach((item) => {
|
||||
formData.append('files', item.raw)
|
||||
fileMsg.push({
|
||||
type: 1,
|
||||
name: '法定代表人授权书',
|
||||
})
|
||||
})
|
||||
|
||||
formData.append('fileMsg', JSON.stringify(fileMsg))
|
||||
formData.append('params', JSON.stringify(params))
|
||||
|
||||
// const API =
|
||||
// this.formType === 1
|
||||
// ? addSubBaseInfoAPI
|
||||
// : editSubBaseInfoAPI
|
||||
const res = await addAndEditSubEntryAPI(formData)
|
||||
console.log(res, '分包入场结果')
|
||||
if (res.code === 200) {
|
||||
this.$modal.msgSuccess('操作成功')
|
||||
resolve()
|
||||
} else {
|
||||
reject(new Error(res.message))
|
||||
}
|
||||
} else {
|
||||
reject(new Error('表单验证失败'))
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
// 重置表单
|
||||
resetForm() {
|
||||
this.$refs.addOrEditFormRef.resetFields()
|
||||
},
|
||||
|
||||
// 获取分包详情数据
|
||||
async getSubEntryDetail() {
|
||||
const { data: res } = await getSubEntryDetailAPI({
|
||||
id: this.queryDetailId,
|
||||
})
|
||||
|
||||
const { id, subId, proId, subContractName, subContractCode } = res
|
||||
|
||||
this.addOrEditForm = {
|
||||
id,
|
||||
subId,
|
||||
proId,
|
||||
subContractName,
|
||||
subContractCode,
|
||||
businessLicense: [],
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
async created() {
|
||||
const sub = await getSubSelectListCommonFun()
|
||||
this.subSelectList = sub.map((item) => {
|
||||
return {
|
||||
label: item.subName,
|
||||
value: item.id,
|
||||
}
|
||||
})
|
||||
const pro = await getLotProjectSelectListCommonFun()
|
||||
this.lotProjectSelectList = pro.map((item) => {
|
||||
return {
|
||||
label: item.proName,
|
||||
value: item.id,
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
watch: {
|
||||
queryDetailId: {
|
||||
handler(newVal) {
|
||||
if (newVal) {
|
||||
this.getSubEntryDetail()
|
||||
}
|
||||
},
|
||||
|
||||
deep: true,
|
||||
immediate: true,
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
|
@ -1,58 +1,81 @@
|
|||
<template>
|
||||
<!-- 新增或修改标段工程表单 -->
|
||||
<!-- 分包入场表单 -->
|
||||
<div>
|
||||
<div class="tip-text" style="margin-bottom: 20px">
|
||||
说明:分包商出场,需此分包合同下的班组全部出场后操作
|
||||
<br />
|
||||
<br />
|
||||
检测到分包下存在2个班组,12名施工人员未出场
|
||||
</div>
|
||||
<el-form
|
||||
label-width="220px"
|
||||
label-width="240px"
|
||||
ref="addOrEditFormRef"
|
||||
:model="addOrEditForm"
|
||||
:rules="addOrEditFormRules"
|
||||
>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="分包商合同名称" prop="htName">
|
||||
<el-form-item label="分包商合同编码" prop="subContractCode">
|
||||
<el-input
|
||||
clearable
|
||||
disabled
|
||||
clearable
|
||||
placeholder="请输入分包商合同编码"
|
||||
v-model="addOrEditForm.subContractCode"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="分包商合同名称" prop="subContractName">
|
||||
<el-input
|
||||
disabled
|
||||
clearable
|
||||
placeholder="请输入分包商合同名称"
|
||||
v-model="addOrEditForm.htName"
|
||||
v-model="addOrEditForm.subContractName"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="分包名称" prop="subName">
|
||||
<el-input
|
||||
clearable
|
||||
<el-form-item label="分包名称" prop="subId">
|
||||
<el-select
|
||||
disabled
|
||||
placeholder="请输入分包名称"
|
||||
v-model="addOrEditForm.subName"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="工程名称" prop="projectName">
|
||||
<el-input
|
||||
clearable
|
||||
disabled
|
||||
placeholder="请输入工程名称"
|
||||
v-model="addOrEditForm.projectName"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="出场日期" prop="exitDate">
|
||||
<el-date-picker
|
||||
type="date"
|
||||
filterable
|
||||
style="width: 100%"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="请选择出场日期"
|
||||
v-model="addOrEditForm.exitDate"
|
||||
/>
|
||||
v-model="addOrEditForm.subId"
|
||||
placeholder="请选择分包商名称"
|
||||
>
|
||||
<el-option
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
v-for="item in subSelectList"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="工程名称" prop="proId">
|
||||
<el-select
|
||||
disabled
|
||||
clearable
|
||||
filterable
|
||||
style="width: 100%"
|
||||
v-model="addOrEditForm.proId"
|
||||
placeholder="请选择工程名称"
|
||||
>
|
||||
<el-option
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
v-for="item in lotProjectSelectList"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
|
@ -60,19 +83,23 @@
|
|||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item
|
||||
prop="businessLicense"
|
||||
label="农民工工资已支付完成承诺书"
|
||||
prop="businessLicense"
|
||||
>
|
||||
<UploadImg
|
||||
:limit="30"
|
||||
:file-size="10"
|
||||
<UploadFileFormData
|
||||
:limit="3"
|
||||
:file-size="20"
|
||||
:multiple="true"
|
||||
:file-type="['jpg', 'png', 'jpeg']"
|
||||
:upload-file-url="uploadFileUrl"
|
||||
uploadTip=" "
|
||||
:file-list.sync="addOrEditForm.businessLicense"
|
||||
:is-uploaded="
|
||||
addOrEditForm.businessLicense.length >= 2
|
||||
"
|
||||
:file-type="[
|
||||
'jpg',
|
||||
'png',
|
||||
'jpeg',
|
||||
'pdf',
|
||||
'doc',
|
||||
'docx',
|
||||
]"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
|
@ -83,64 +110,73 @@
|
|||
|
||||
<script>
|
||||
import UploadImg from '@/components/UploadImg'
|
||||
import UploadFileFormData from '@/components/UploadFileFormData'
|
||||
import { addAndEditSubEntryAPI } from '@/api/basic-manage/sub-manage/sub-entry-and-exit'
|
||||
import {
|
||||
addSubBaseInfoAPI,
|
||||
editSubBaseInfoAPI,
|
||||
} from '@/api/basic-manage/sub-manage/sub-base-info'
|
||||
getSubSelectListCommonFun,
|
||||
getLotProjectSelectListCommonFun,
|
||||
} from '@/utils/getCommonData'
|
||||
export default {
|
||||
name: 'AddOrEditForm',
|
||||
components: {
|
||||
UploadImg,
|
||||
UploadFileFormData,
|
||||
},
|
||||
props: {
|
||||
exitFormData: {
|
||||
type: Object,
|
||||
default: () => {},
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
formType: 1,
|
||||
uploadFileUrl:
|
||||
process.env.VUE_APP_BASE_API + '/system/file/uploadFiles',
|
||||
addOrEditForm: {
|
||||
htName: '',
|
||||
subName: '',
|
||||
projectName: '',
|
||||
entryDate: '',
|
||||
businessLicense: [],
|
||||
subContractCode: '', // 分包合同编码
|
||||
subContractName: '', // 分包合同名称
|
||||
subId: '', // 分包商id
|
||||
proId: '', // 工程id
|
||||
businessLicense: [], // 法人代表人授权书
|
||||
},
|
||||
addOrEditFormRules: {
|
||||
htName: [
|
||||
subContractCode: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入分包商合同编码',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
subContractName: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入分包商合同名称',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
subName: [
|
||||
subId: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入分包商名称',
|
||||
trigger: 'blur',
|
||||
message: '请选择分包商名称',
|
||||
trigger: 'change',
|
||||
},
|
||||
],
|
||||
projectName: [
|
||||
proId: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入工程名称',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
entryDate: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择入场日期',
|
||||
trigger: 'blur',
|
||||
message: '请选择工程名称',
|
||||
trigger: 'change',
|
||||
},
|
||||
],
|
||||
businessLicense: [
|
||||
{
|
||||
required: true,
|
||||
message: '请上传法定代表人授权委托书',
|
||||
message: '请上传农民工工资已支付完成承诺书',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
subSelectList: [], // 分包商下拉列表
|
||||
lotProjectSelectList: [], // 标段工程下拉列表
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
|
@ -151,17 +187,46 @@ export default {
|
|||
if (valid) {
|
||||
console.log(this.addOrEditForm)
|
||||
|
||||
// const API =
|
||||
// this.formType === 1
|
||||
// ? addSubBaseInfoAPI
|
||||
// : editSubBaseInfoAPI
|
||||
// const res = await API(this.addOrEditForm)
|
||||
// console.log(res, '新增或修改结果')
|
||||
// if (res.code === 200) {
|
||||
// resolve()
|
||||
// } else {
|
||||
// reject(new Error(res.message))
|
||||
// }
|
||||
const {
|
||||
subId,
|
||||
proId,
|
||||
subContractName,
|
||||
subContractCode,
|
||||
businessLicense,
|
||||
id,
|
||||
} = this.addOrEditForm
|
||||
|
||||
const params = {
|
||||
id,
|
||||
subId,
|
||||
proId,
|
||||
subContractName,
|
||||
subContractCode,
|
||||
subEinStatus: 2,
|
||||
}
|
||||
|
||||
const fileMsg = []
|
||||
const formData = new FormData()
|
||||
|
||||
businessLicense.forEach((item) => {
|
||||
formData.append('files', item.raw)
|
||||
fileMsg.push({
|
||||
type: 2,
|
||||
name: '农民工工资已支付完成承诺书',
|
||||
})
|
||||
})
|
||||
|
||||
formData.append('fileMsg', JSON.stringify(fileMsg))
|
||||
formData.append('params', JSON.stringify(params))
|
||||
|
||||
const res = await addAndEditSubEntryAPI(formData)
|
||||
|
||||
if (res.code === 200) {
|
||||
this.$modal.msgSuccess('出场成功')
|
||||
resolve()
|
||||
} else {
|
||||
reject(new Error(res.message))
|
||||
}
|
||||
} else {
|
||||
reject(new Error('表单验证失败'))
|
||||
}
|
||||
|
|
@ -174,5 +239,43 @@ export default {
|
|||
this.$refs.addOrEditFormRef.resetFields()
|
||||
},
|
||||
},
|
||||
|
||||
async created() {
|
||||
// this.subSelectList = await getSubSelectListCommonFun()
|
||||
|
||||
const sub = await getSubSelectListCommonFun()
|
||||
|
||||
this.subSelectList = sub.map((item) => {
|
||||
return {
|
||||
label: item.subName,
|
||||
value: item.id,
|
||||
}
|
||||
})
|
||||
|
||||
const pro = await getLotProjectSelectListCommonFun()
|
||||
|
||||
this.lotProjectSelectList = pro.map((item) => {
|
||||
return {
|
||||
label: item.proName,
|
||||
value: item.id,
|
||||
}
|
||||
})
|
||||
// console.log(subSelectList, '分包商下拉列表')
|
||||
// this.lotProjectSelectList = await getLotProjectSelectListCommonFun()
|
||||
// console.log(lotProjectSelectList, '标段工程下拉列表')
|
||||
},
|
||||
|
||||
watch: {
|
||||
exitFormData: {
|
||||
handler(newVal) {
|
||||
// console.log(newVal, 'exitFormData')
|
||||
if (Object.keys(newVal).length > 0) {
|
||||
Object.assign(this.addOrEditForm, newVal)
|
||||
}
|
||||
},
|
||||
deep: true,
|
||||
immediate: true,
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -5,10 +5,9 @@
|
|||
:formLabel="formLabel"
|
||||
:showOperation="true"
|
||||
:showRightTools="true"
|
||||
ref="allProjectTableRef"
|
||||
ref="subEntryTableRef"
|
||||
:columnsList="columnsList"
|
||||
:testTableList="testTableList"
|
||||
:request-api="getSubBaseInfoListAPI"
|
||||
:request-api="getSubEntryListAPI"
|
||||
>
|
||||
<template slot="btn" slot-scope="{ queryParams }">
|
||||
<el-button
|
||||
|
|
@ -16,7 +15,7 @@
|
|||
size="mini"
|
||||
type="success"
|
||||
icon="el-icon-download"
|
||||
@click="onHandleExportAllProject(queryParams)"
|
||||
@click="onHandleExportSubEntry(queryParams)"
|
||||
>
|
||||
导出
|
||||
</el-button>
|
||||
|
|
@ -26,14 +25,15 @@
|
|||
size="mini"
|
||||
type="primary"
|
||||
icon="el-icon-plus"
|
||||
@click="onHandleAddOrEditAllProject(1, null)"
|
||||
v-hasPermi="['sub:entry:add']"
|
||||
@click="onHandleAddOrEditSubEntry(1, null)"
|
||||
>
|
||||
新增
|
||||
</el-button>
|
||||
</template>
|
||||
|
||||
<!-- 标段工程数量 -->
|
||||
<template :slot="item" slot-scope="{ data }" v-for="item in slots">
|
||||
<!-- <template :slot="item" slot-scope="{ data }" v-for="item in slots">
|
||||
<span
|
||||
:style="{
|
||||
color: data[item] === '已上传' ? '#67C23A' : '#F56C6C',
|
||||
|
|
@ -44,6 +44,15 @@
|
|||
>
|
||||
{{ data[item] }}
|
||||
</span>
|
||||
</template> -->
|
||||
|
||||
<template slot="subEinStatus" slot-scope="{ data }">
|
||||
<el-tag
|
||||
size="mini"
|
||||
:type="data.subEinStatus == 1 ? 'success' : 'danger'"
|
||||
>
|
||||
{{ data.subEinStatus == 1 ? '在场' : '出场' }}
|
||||
</el-tag>
|
||||
</template>
|
||||
|
||||
<template slot="handle" slot-scope="{ data }">
|
||||
|
|
@ -53,6 +62,7 @@
|
|||
type="success"
|
||||
icon="el-icon-check"
|
||||
@click="onHandleExit(data)"
|
||||
v-hasPermi="['sub:exit:add']"
|
||||
>
|
||||
出场
|
||||
</el-button>
|
||||
|
|
@ -61,7 +71,8 @@
|
|||
size="mini"
|
||||
type="primary"
|
||||
icon="el-icon-edit"
|
||||
@click="onHandleAddOrEditAllProject(2, data)"
|
||||
v-hasPermi="['sub:entry:edit']"
|
||||
@click="onHandleAddOrEditSubEntry(2, data)"
|
||||
>
|
||||
修改
|
||||
</el-button>
|
||||
|
|
@ -69,11 +80,17 @@
|
|||
size="mini"
|
||||
type="danger"
|
||||
icon="el-icon-delete"
|
||||
@click="onHandleDeleteAllProject(data)"
|
||||
v-hasPermi="['sub:entry:delete']"
|
||||
@click="onHandleDeleteSubEntry(data)"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
<el-button size="mini" type="primary" icon="el-icon-view">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="primary"
|
||||
icon="el-icon-view"
|
||||
@click="onHandleViewEntryDetails(data)"
|
||||
>
|
||||
详情
|
||||
</el-button>
|
||||
</template>
|
||||
|
|
@ -84,11 +101,24 @@
|
|||
@closeDialogOuter="handleCloseDialogOuter"
|
||||
>
|
||||
<template slot="outerContent">
|
||||
<AddOrEditForm
|
||||
ref="addOrEditFormContentRef"
|
||||
v-if="dialogConfig.outerTitle !== '出场'"
|
||||
<EntryForm
|
||||
ref="subEntryFormRef"
|
||||
:queryDetailId="queryDetailId"
|
||||
v-if="
|
||||
dialogConfig.outerTitle === '分包入场' ||
|
||||
dialogConfig.outerTitle === '修改分包入场'
|
||||
"
|
||||
/>
|
||||
<ExitForm
|
||||
v-if="dialogConfig.outerTitle === '出场'"
|
||||
ref="exitFormContentRef"
|
||||
:exitFormData="exitFormData"
|
||||
/>
|
||||
<EntryDetails
|
||||
ref="entryDetailsRef"
|
||||
:queryDetailId="queryDetailId"
|
||||
v-if="dialogConfig.outerTitle === '分包入场详情'"
|
||||
/>
|
||||
<ExitForm ref="exitFormContentRef" v-else />
|
||||
|
||||
<el-row class="dialog-footer-btn">
|
||||
<el-button size="medium" @click="handleCloseDialogOuter">
|
||||
|
|
@ -110,20 +140,25 @@
|
|||
<script>
|
||||
import TableModel from '@/components/TableModel'
|
||||
import DialogModel from '@/components/DialogModel'
|
||||
import AddOrEditForm from './add-or-edit-form'
|
||||
|
||||
import ExitForm from './exit-form'
|
||||
import { formLabel, columnsList, dialogConfig, testTableList } from './config'
|
||||
import EntryForm from './entry-form'
|
||||
import EntryDetails from './entry-details'
|
||||
import { formLabel, columnsList, dialogConfig } from './config'
|
||||
import {
|
||||
deleteSubBaseInfoAPI,
|
||||
getSubBaseInfoListAPI,
|
||||
} from '@/api/basic-manage/sub-manage/sub-base-info'
|
||||
deleteSubEntryAPI,
|
||||
getSubEntryListAPI,
|
||||
} from '@/api/basic-manage/sub-manage/sub-entry-and-exit'
|
||||
|
||||
import { getLotProjectSelectListCommonFun } from '@/utils/getCommonData'
|
||||
export default {
|
||||
name: 'SubEntryAndExit',
|
||||
components: {
|
||||
TableModel,
|
||||
DialogModel,
|
||||
AddOrEditForm,
|
||||
ExitForm,
|
||||
EntryForm,
|
||||
EntryDetails,
|
||||
},
|
||||
|
||||
data() {
|
||||
|
|
@ -131,8 +166,11 @@ export default {
|
|||
formLabel,
|
||||
columnsList,
|
||||
dialogConfig,
|
||||
testTableList,
|
||||
getSubBaseInfoListAPI,
|
||||
|
||||
getSubEntryListAPI,
|
||||
|
||||
exitFormData: {},
|
||||
queryDetailId: '',
|
||||
|
||||
slots: {
|
||||
idCard: 'idCard',
|
||||
|
|
@ -146,34 +184,49 @@ export default {
|
|||
},
|
||||
|
||||
// 新增或修改
|
||||
onHandleAddOrEditAllProject(type, data) {
|
||||
onHandleAddOrEditSubEntry(type, data) {
|
||||
this.dialogConfig.outerTitle =
|
||||
type === 1 ? '新增标段工程' : '修改标段工程'
|
||||
type === 1 ? '分包入场' : '修改分包入场'
|
||||
|
||||
if (type === 2) {
|
||||
this.queryDetailId = data.id
|
||||
} else {
|
||||
this.queryDetailId = ''
|
||||
}
|
||||
this.dialogConfig.outerVisible = true
|
||||
},
|
||||
|
||||
// 删除
|
||||
onHandleDeleteAllProject(data) {
|
||||
this.$confirm('确定删除该工程吗?', '温馨提示', {
|
||||
onHandleDeleteSubEntry(data) {
|
||||
this.$confirm('确定删除该分包入场信息吗?', '温馨提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
})
|
||||
.then(async () => {
|
||||
const res = await deleteSubBaseInfoAPI(data.id)
|
||||
console.log(res, '删除结果')
|
||||
const res = await deleteSubEntryAPI({
|
||||
id: data.id,
|
||||
})
|
||||
if (res.code === 200) {
|
||||
this.$msgSuccess('删除成功')
|
||||
this.$refs.allProjectTableRef.getTableList() // 更新列表
|
||||
this.$modal.msgSuccess('删除成功')
|
||||
this.$refs.subEntryTableRef.getTableList() // 更新列表
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
console.log('取消')
|
||||
// console.log('取消')
|
||||
})
|
||||
},
|
||||
|
||||
// 出场
|
||||
onHandleExit(data) {
|
||||
const { id, subId, proId, subContractCode, subContractName } = data
|
||||
this.exitFormData = {
|
||||
id,
|
||||
subId,
|
||||
proId,
|
||||
subContractCode,
|
||||
subContractName,
|
||||
}
|
||||
this.dialogConfig.outerTitle = '出场'
|
||||
this.dialogConfig.outerVisible = true
|
||||
},
|
||||
|
|
@ -181,13 +234,18 @@ export default {
|
|||
// 确定按钮
|
||||
async onHandleConfirmAddOrEdit() {
|
||||
try {
|
||||
if (this.dialogConfig.outerTitle === '新增标段工程') {
|
||||
this.$refs.addOrEditFormContentRef.formType =
|
||||
this.dialogConfig.outerTitle === '新增标段工程' ? 1 : 2
|
||||
await this.$refs.addOrEditFormContentRef.onHandleConfirmAddOrEditFun()
|
||||
if (
|
||||
this.dialogConfig.outerTitle === '分包入场' ||
|
||||
this.dialogConfig.outerTitle === '修改分包入场'
|
||||
) {
|
||||
await this.$refs.subEntryFormRef.onHandleConfirmAddOrEditFun()
|
||||
this.$refs.subEntryTableRef.getTableList()
|
||||
this.handleCloseDialogOuter()
|
||||
}
|
||||
if (this.dialogConfig.outerTitle === '出场') {
|
||||
await this.$refs.exitFormContentRef.onHandleConfirmAddOrEditFun()
|
||||
this.$refs.subEntryTableRef.getTableList()
|
||||
this.handleCloseDialogOuter()
|
||||
}
|
||||
} catch (error) {
|
||||
console.log('表单提交失败', error)
|
||||
|
|
@ -196,14 +254,26 @@ export default {
|
|||
|
||||
// 关闭弹框
|
||||
handleCloseDialogOuter() {
|
||||
// 清除表单校验以及字段清除
|
||||
if (this.dialogConfig.outerTitle === '新增标段工程') {
|
||||
this.$refs.addOrEditFormContentRef.resetForm()
|
||||
} else if (this.dialogConfig.outerTitle === '出场') {
|
||||
this.$refs.exitFormContentRef.resetForm()
|
||||
}
|
||||
this.dialogConfig.outerVisible = false
|
||||
},
|
||||
|
||||
// 详情
|
||||
onHandleViewEntryDetails(data) {
|
||||
this.queryDetailId = data.id
|
||||
this.dialogConfig.outerTitle = '分包入场详情'
|
||||
this.dialogConfig.outerVisible = true
|
||||
},
|
||||
},
|
||||
|
||||
async created() {
|
||||
const pro = await getLotProjectSelectListCommonFun()
|
||||
|
||||
formLabel[3].f_selList = pro.map((item) => {
|
||||
return {
|
||||
label: item.proName,
|
||||
value: item.proName,
|
||||
}
|
||||
})
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
|
|
|||
Loading…
Reference in New Issue