合同见证完善以及红绿灯统计页面初步完善
This commit is contained in:
parent
7b8fcd138e
commit
fc5c10a3bc
|
|
@ -1,9 +1,10 @@
|
|||
import request from '@/utils/request'
|
||||
import requestFormData from '@/utils/request_formdata'
|
||||
|
||||
// 新增分包商基础信息
|
||||
export const addSubBaseInfoAPI = (data) => {
|
||||
return request({
|
||||
url: '/project/***',
|
||||
// 新增和修改分包商基础信息
|
||||
export const addAndEditSubBaseInfoAPI = (data) => {
|
||||
return requestFormData({
|
||||
url: '/bmw/pmSub/addOrUpdateSub',
|
||||
method: 'POST',
|
||||
data,
|
||||
})
|
||||
|
|
@ -29,7 +30,7 @@ export const deleteSubBaseInfoAPI = (id) => {
|
|||
// 获取分包商基础信息列表
|
||||
export const getSubBaseInfoListAPI = (data) => {
|
||||
return request({
|
||||
url: '/project/***',
|
||||
url: '/bmw/pmSub/list',
|
||||
method: 'GET',
|
||||
params: data,
|
||||
})
|
||||
|
|
|
|||
|
|
@ -35,3 +35,10 @@ export const uploadContractAPI = (data) => {
|
|||
data,
|
||||
})
|
||||
}
|
||||
// 合同见证 查询合同详情
|
||||
export const getContractDetailLookFileAPI = (id) => {
|
||||
return request({
|
||||
url: `/bmw/workerContract/lookFile/${id}`,
|
||||
method: 'post',
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,19 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
// 红绿灯统计 列表查询接口
|
||||
export const getRedAndGreenCountListAPI = (data) => {
|
||||
return request({
|
||||
url: '/bmw/redGreenCount/**',
|
||||
method: 'get',
|
||||
params: data,
|
||||
})
|
||||
}
|
||||
|
||||
// 红绿灯统计 内层工程列表查询接口
|
||||
export const getRedAndGreenCountProjectListAPI = (data) => {
|
||||
return request({
|
||||
url: '/bmw/redGreenCount/list',
|
||||
method: 'get',
|
||||
params: data,
|
||||
})
|
||||
}
|
||||
|
|
@ -21,10 +21,9 @@ export async function getCompanySelectListCommonFun() {
|
|||
return []
|
||||
}
|
||||
|
||||
// 获取总包工程列表
|
||||
// 获取总包工程下拉列表
|
||||
export async function getMainProjectListCommonFun() {
|
||||
const { mainProjectList } = store.state.common
|
||||
console.log(mainProjectList, 'mainProjectList')
|
||||
if (mainProjectList.length > 0) {
|
||||
return mainProjectList
|
||||
}
|
||||
|
|
|
|||
|
|
@ -93,6 +93,9 @@
|
|||
style="width: 100%"
|
||||
placeholder="请选择所属分公司"
|
||||
v-model="addOrEditForm.subComId"
|
||||
:disabled="
|
||||
dialogConfig.outerTitle === '修改项目部'
|
||||
"
|
||||
>
|
||||
<el-option
|
||||
:key="item.id"
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
filterable
|
||||
style="width: 100%"
|
||||
placeholder="请选择"
|
||||
:disabled="formType === 2"
|
||||
v-model="addOrEditForm.mainProId"
|
||||
>
|
||||
<el-option
|
||||
|
|
@ -48,6 +49,7 @@
|
|||
:searchable="false"
|
||||
:show-count="true"
|
||||
noOptionsText="没有数据"
|
||||
:disabled="formType === 2"
|
||||
placeholder="请选择项目部"
|
||||
noChildrenText="没有数据了"
|
||||
noResultsText="没有搜索结果"
|
||||
|
|
@ -223,6 +225,7 @@ export default {
|
|||
default: () => {},
|
||||
},
|
||||
|
||||
// 表单类型 1:新增 2:修改
|
||||
formType: {
|
||||
type: Number,
|
||||
default: 1,
|
||||
|
|
|
|||
|
|
@ -307,7 +307,6 @@ export default {
|
|||
const subCompany = await getSubCompanySelectListCommonFun()
|
||||
const mainProject = await getMainProjectListCommonFun()
|
||||
const lotProject = await getLotProjectSelectListCommonFun()
|
||||
console.log('lotProject', lotProject)
|
||||
|
||||
formLabel.forEach((item) => {
|
||||
if (item.f_model === 'subComId') {
|
||||
|
|
|
|||
|
|
@ -18,31 +18,31 @@
|
|||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="法定代表人" prop="legalRepresentative">
|
||||
<el-form-item label="法定代表人" prop="legalPerson">
|
||||
<el-input
|
||||
clearable
|
||||
placeholder="请输入法定代表人"
|
||||
v-model="addOrEditForm.legalRepresentative"
|
||||
v-model="addOrEditForm.legalPerson"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="法人联系电话" prop="phone">
|
||||
<el-form-item label="法人联系电话" prop="legalPersonPhone">
|
||||
<el-input
|
||||
clearable
|
||||
placeholder="请输入法人联系电话"
|
||||
v-model="addOrEditForm.phone"
|
||||
v-model="addOrEditForm.legalPersonPhone"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="营业住址" prop="businessAddress">
|
||||
<el-form-item label="营业住址" prop="subAddress">
|
||||
<el-input
|
||||
clearable
|
||||
placeholder="请输入营业住址"
|
||||
v-model="addOrEditForm.businessAddress"
|
||||
v-model="addOrEditForm.subAddress"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
|
@ -51,32 +51,30 @@
|
|||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="营业执照" prop="businessLicense">
|
||||
<UploadImg
|
||||
:limit="30"
|
||||
<UploadImgFormData
|
||||
:limit="1"
|
||||
: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
|
||||
addOrEditForm.businessLicense.length >= 1
|
||||
"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="电子公章" prop="electronicStamp">
|
||||
<UploadImg
|
||||
:limit="30"
|
||||
<UploadImgFormData
|
||||
:limit="1"
|
||||
:file-size="10"
|
||||
:multiple="true"
|
||||
:is-detail="formType === 2"
|
||||
:file-type="['jpg', 'png', 'jpeg']"
|
||||
:upload-file-url="uploadFileUrl"
|
||||
:file-list.sync="addOrEditForm.electronicStamp"
|
||||
:is-uploaded="
|
||||
addOrEditForm.electronicStamp.length >= 2
|
||||
addOrEditForm.electronicStamp.length >= 1
|
||||
"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
|
@ -85,13 +83,12 @@
|
|||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="身份证正反面" prop="idCard">
|
||||
<UploadImg
|
||||
:limit="30"
|
||||
<UploadImgFormData
|
||||
:limit="2"
|
||||
:file-size="10"
|
||||
:multiple="true"
|
||||
:is-detail="formType === 2"
|
||||
:file-type="['jpg', 'png', 'jpeg']"
|
||||
:upload-file-url="uploadFileUrl"
|
||||
:file-list.sync="addOrEditForm.idCard"
|
||||
:is-uploaded="addOrEditForm.idCard.length >= 2"
|
||||
/>
|
||||
|
|
@ -102,16 +99,15 @@
|
|||
label="电子签名/法人印章"
|
||||
prop="electronicSignature"
|
||||
>
|
||||
<UploadImg
|
||||
:limit="30"
|
||||
<UploadImgFormData
|
||||
:limit="1"
|
||||
:file-size="10"
|
||||
:multiple="true"
|
||||
:is-detail="formType === 2"
|
||||
:file-type="['jpg', 'png', 'jpeg']"
|
||||
:upload-file-url="uploadFileUrl"
|
||||
:file-list.sync="addOrEditForm.electronicSignature"
|
||||
:is-uploaded="
|
||||
addOrEditForm.electronicSignature.length >= 2
|
||||
addOrEditForm.electronicSignature.length >= 1
|
||||
"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
|
@ -122,15 +118,12 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import UploadImg from '@/components/UploadImg'
|
||||
import {
|
||||
addSubBaseInfoAPI,
|
||||
editSubBaseInfoAPI,
|
||||
} from '@/api/basic-manage/sub-manage/sub-base-info'
|
||||
import UploadImgFormData from '@/components/UploadImgFormData'
|
||||
import { addAndEditSubBaseInfoAPI } from '@/api/basic-manage/sub-manage/sub-base-info'
|
||||
export default {
|
||||
name: 'AddOrEditForm',
|
||||
components: {
|
||||
UploadImg,
|
||||
UploadImgFormData,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
|
@ -139,9 +132,10 @@ export default {
|
|||
process.env.VUE_APP_BASE_API + '/system/file/uploadFiles',
|
||||
addOrEditForm: {
|
||||
subName: '', // 分包商名称
|
||||
legalRepresentative: '', // 法定代表人
|
||||
phone: '', // 联系电话
|
||||
businessAddress: '', // 营业住址
|
||||
legalPerson: '', // 法定代表人
|
||||
legalPersonPhone: '', // 联系电话
|
||||
subAddress: '', // 营业住址
|
||||
id: null, // 主键id
|
||||
|
||||
businessLicense: [], // 营业执照
|
||||
electronicStamp: [], // 电子公章
|
||||
|
|
@ -157,7 +151,7 @@ export default {
|
|||
},
|
||||
],
|
||||
|
||||
legalRepresentative: [
|
||||
legalPerson: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入法定代表人',
|
||||
|
|
@ -165,6 +159,17 @@ export default {
|
|||
},
|
||||
],
|
||||
|
||||
legalPersonPhone: [
|
||||
{
|
||||
required: false,
|
||||
},
|
||||
{
|
||||
pattern: /^1[3-9]\d{9}$/,
|
||||
message: '请输入正确的手机号码',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
|
||||
businessLicense: [
|
||||
{
|
||||
required: true,
|
||||
|
|
@ -204,16 +209,80 @@ export default {
|
|||
if (valid) {
|
||||
console.log(this.addOrEditForm)
|
||||
|
||||
const API =
|
||||
this.formType === 1
|
||||
? addSubBaseInfoAPI
|
||||
: editSubBaseInfoAPI
|
||||
const res = await API(this.addOrEditForm)
|
||||
// 组装参数
|
||||
const {
|
||||
businessLicense,
|
||||
electronicStamp,
|
||||
idCard,
|
||||
electronicSignature,
|
||||
subName,
|
||||
legalPerson,
|
||||
legalPersonPhone,
|
||||
subAddress,
|
||||
id,
|
||||
} = this.addOrEditForm
|
||||
|
||||
const formData = new FormData()
|
||||
|
||||
const params = {
|
||||
subName,
|
||||
legalPerson,
|
||||
legalPersonPhone,
|
||||
subAddress,
|
||||
}
|
||||
|
||||
if (id) {
|
||||
params.id = id
|
||||
}
|
||||
|
||||
formData.append('params', JSON.stringify(params))
|
||||
const fileMsg = []
|
||||
businessLicense.forEach((item) => {
|
||||
formData.append('files', item.raw)
|
||||
fileMsg.push({
|
||||
type: 1,
|
||||
name: '分包商营业执照',
|
||||
})
|
||||
})
|
||||
|
||||
electronicStamp.forEach((item) => {
|
||||
formData.append('files', item.raw)
|
||||
fileMsg.push({
|
||||
type: 2,
|
||||
name: '分包商电子公章',
|
||||
})
|
||||
})
|
||||
|
||||
idCard.forEach((item) => {
|
||||
formData.append('files', item.raw)
|
||||
|
||||
fileMsg.push({
|
||||
type: 3,
|
||||
name: '分包商身份证正反面',
|
||||
})
|
||||
})
|
||||
|
||||
electronicSignature.forEach((item) => {
|
||||
formData.append('files', item.raw)
|
||||
|
||||
fileMsg.push({
|
||||
type: 4,
|
||||
name: '分包商电子签名/法人印章',
|
||||
})
|
||||
})
|
||||
|
||||
formData.append('fileMsg', JSON.stringify(fileMsg))
|
||||
|
||||
const res = await addAndEditSubBaseInfoAPI(formData)
|
||||
console.log(res, '新增或修改结果')
|
||||
if (res.code === 200) {
|
||||
this.$modal.msgSuccess(
|
||||
this.formType === 1 ? '新增成功' : '修改成功',
|
||||
)
|
||||
resolve()
|
||||
} else {
|
||||
reject(new Error(res.message))
|
||||
this.$modal.msgError(res.meg)
|
||||
reject(new Error(res.meg))
|
||||
}
|
||||
} else {
|
||||
reject(new Error('表单验证失败'))
|
||||
|
|
|
|||
|
|
@ -8,67 +8,22 @@ export const formLabel = [
|
|||
]
|
||||
|
||||
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: 'subName', t_label: '分包商名称' },
|
||||
{ t_props: 'legalPerson', t_label: '法定代表人' },
|
||||
{ t_props: 'legalPersonPhone', t_label: '联系电话' },
|
||||
{ t_props: 'subAddress', t_label: '营业住址' },
|
||||
{
|
||||
t_props: 'businessLicense',
|
||||
t_label: '营业执照',
|
||||
t_slot: 'businessLicense',
|
||||
},
|
||||
{ t_props: 'idCard', t_label: '身份证', t_slot: 'idCard' },
|
||||
{ t_label: '身份证', t_slot: 'idCard' },
|
||||
{
|
||||
t_props: 'electronicStamp',
|
||||
t_label: '电子公章',
|
||||
t_slot: 'electronicStamp',
|
||||
t_slot: 'electronicSeal',
|
||||
},
|
||||
{
|
||||
t_props: 'electronicSignature',
|
||||
t_label: '电子签名/法人印章',
|
||||
t_slot: 'electronicSignature',
|
||||
},
|
||||
]
|
||||
|
||||
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: '未上传',
|
||||
t_slot: 'corporateSeal',
|
||||
},
|
||||
]
|
||||
|
||||
|
|
|
|||
|
|
@ -5,9 +5,8 @@
|
|||
:formLabel="formLabel"
|
||||
:showOperation="true"
|
||||
:showRightTools="true"
|
||||
ref="allProjectTableRef"
|
||||
ref="subBaseInfoTableRef"
|
||||
:columnsList="columnsList"
|
||||
:testTableList="testTableList"
|
||||
:request-api="getSubBaseInfoListAPI"
|
||||
>
|
||||
<template slot="btn" slot-scope="{ queryParams }">
|
||||
|
|
@ -16,7 +15,7 @@
|
|||
size="mini"
|
||||
type="success"
|
||||
icon="el-icon-download"
|
||||
@click="onHandleExportAllProject(queryParams)"
|
||||
@click="onHandleExportSubBaseInfo(queryParams)"
|
||||
>
|
||||
导出
|
||||
</el-button>
|
||||
|
|
@ -26,7 +25,7 @@
|
|||
size="mini"
|
||||
type="primary"
|
||||
icon="el-icon-plus"
|
||||
@click="onHandleAddOrEditAllProject(1, null)"
|
||||
@click="onHandleAddOrEditSubBaseInfo(1, null)"
|
||||
>
|
||||
新增
|
||||
</el-button>
|
||||
|
|
@ -34,16 +33,6 @@
|
|||
|
||||
<!-- 标段工程数量 -->
|
||||
<template :slot="item" slot-scope="{ data }" v-for="item in slots">
|
||||
<span
|
||||
:style="{
|
||||
color: data[item] === '已上传' ? '#67C23A' : '#F56C6C',
|
||||
}"
|
||||
:key="item"
|
||||
style="font-size: 12px"
|
||||
@click="onHandleViewLotProject(data)"
|
||||
>
|
||||
{{ data[item] }}
|
||||
</span>
|
||||
</template>
|
||||
|
||||
<template slot="handle" slot-scope="{ data }">
|
||||
|
|
@ -52,7 +41,7 @@
|
|||
size="mini"
|
||||
type="primary"
|
||||
icon="el-icon-edit"
|
||||
@click="onHandleAddOrEditAllProject(2, data)"
|
||||
@click="onHandleAddOrEditSubBaseInfo(2, data)"
|
||||
>
|
||||
修改
|
||||
</el-button>
|
||||
|
|
@ -60,7 +49,7 @@
|
|||
size="mini"
|
||||
type="danger"
|
||||
icon="el-icon-delete"
|
||||
@click="onHandleDeleteAllProject(data)"
|
||||
@click="onHandleDeleteSubBaseInfo(data)"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
|
|
@ -95,7 +84,7 @@
|
|||
import TableModel from '@/components/TableModel'
|
||||
import DialogModel from '@/components/DialogModel'
|
||||
import AddOrEditForm from './add-or-edit-form'
|
||||
import { formLabel, columnsList, dialogConfig, testTableList } from './config'
|
||||
import { formLabel, columnsList, dialogConfig } from './config'
|
||||
import {
|
||||
deleteSubBaseInfoAPI,
|
||||
getSubBaseInfoListAPI,
|
||||
|
|
@ -113,7 +102,7 @@ export default {
|
|||
formLabel,
|
||||
columnsList,
|
||||
dialogConfig,
|
||||
testTableList,
|
||||
|
||||
getSubBaseInfoListAPI,
|
||||
|
||||
slots: {
|
||||
|
|
@ -126,19 +115,19 @@ export default {
|
|||
},
|
||||
methods: {
|
||||
// 导出按钮
|
||||
onHandleExportAllProject(queryParams) {
|
||||
onHandleExportSubBaseInfo(queryParams) {
|
||||
console.log(queryParams, '导出')
|
||||
},
|
||||
|
||||
// 新增或修改
|
||||
onHandleAddOrEditAllProject(type, data) {
|
||||
onHandleAddOrEditSubBaseInfo(type, data) {
|
||||
this.dialogConfig.outerTitle =
|
||||
type === 1 ? '新增标段工程' : '修改标段工程'
|
||||
this.dialogConfig.outerVisible = true
|
||||
},
|
||||
|
||||
// 删除
|
||||
onHandleDeleteAllProject(data) {
|
||||
onHandleDeleteSubBaseInfo(data) {
|
||||
this.$confirm('确定删除该工程吗?', '温馨提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
|
|
@ -163,6 +152,8 @@ export default {
|
|||
this.dialogConfig.outerTitle === '新增标段工程' ? 1 : 2
|
||||
try {
|
||||
await this.$refs.addOrEditFormContentRef.onHandleConfirmAddOrEditFun()
|
||||
this.handleCloseDialogOuter()
|
||||
this.$refs.subBaseInfoTableRef.getTableList()
|
||||
} catch (error) {
|
||||
console.log('表单提交失败', error)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,16 +26,7 @@ export const formLabel = [
|
|||
f_type: 'sel',
|
||||
f_width: '180px',
|
||||
isShow: false, // 是否展示label
|
||||
f_selList: [
|
||||
{
|
||||
label: '工程1',
|
||||
value: '1',
|
||||
},
|
||||
{
|
||||
label: '工程2',
|
||||
value: '2',
|
||||
},
|
||||
], // 工程列表
|
||||
f_selList: [], // 工程列表
|
||||
},
|
||||
{
|
||||
f_label: '分包',
|
||||
|
|
|
|||
|
|
@ -84,13 +84,6 @@
|
|||
style="width: 454px; height: 390px"
|
||||
v-if="dialogConfig.outerTitle === '合同图片详情'"
|
||||
/>
|
||||
|
||||
<!-- <AddOrEditForm
|
||||
:workerId="workerId"
|
||||
:contractId="contractId"
|
||||
v-if="dialogConfig.outerTitle === '合同见证详情'"
|
||||
/> -->
|
||||
|
||||
<ContractDetails
|
||||
ref="contractDetailsRef"
|
||||
:contractId="contractId"
|
||||
|
|
@ -104,7 +97,10 @@
|
|||
<script>
|
||||
import DialogModel from '@/components/DialogModel'
|
||||
import ContractDetails from './contract-details.vue' // 合同上传
|
||||
import { getContractDetailListAPI } from '@/api/construction-person/red-green-light-mange/contract-witness'
|
||||
import {
|
||||
getContractDetailListAPI,
|
||||
getContractDetailLookFileAPI,
|
||||
} from '@/api/construction-person/red-green-light-mange/contract-witness'
|
||||
export default {
|
||||
components: {
|
||||
DialogModel,
|
||||
|
|
@ -127,10 +123,7 @@ export default {
|
|||
minHeight: '',
|
||||
maxHeight: '',
|
||||
},
|
||||
contractImgList: [
|
||||
'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
|
||||
'https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg',
|
||||
], // 合同图片列表
|
||||
contractImgList: [], // 合同图片列表
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
|
|
@ -147,7 +140,12 @@ export default {
|
|||
},
|
||||
|
||||
// 查看合同
|
||||
onHandleViewContract(row) {
|
||||
async onHandleViewContract(row) {
|
||||
const { data: res } = await getContractDetailLookFileAPI(row.id)
|
||||
|
||||
this.contractImgList = res
|
||||
.filter((item) => item.sourceType != 6)
|
||||
.map((item) => item.lsUrl)
|
||||
this.dialogConfig.outerTitle = '合同图片详情'
|
||||
this.dialogConfig.outerWidth = '500px'
|
||||
this.dialogConfig.minHeight = '500px'
|
||||
|
|
@ -157,7 +155,6 @@ export default {
|
|||
|
||||
// 查看历史合同详情
|
||||
onHandleViewContractDetails(row) {
|
||||
console.log(row, 'row 合同详情')
|
||||
this.contractId = row.id
|
||||
this.dialogConfig.outerTitle = '合同见证详情'
|
||||
this.dialogConfig.outerWidth = '80%'
|
||||
|
|
|
|||
|
|
@ -4,15 +4,19 @@
|
|||
<el-descriptions border :column="2" :labelStyle="{ width: '200px' }">
|
||||
<el-descriptions-item label="合同见证照片为:" :span="2">
|
||||
<div class="contract-content">
|
||||
<div :key="item" v-for="item in 5" class="contract-item">
|
||||
<div
|
||||
:key="item.id"
|
||||
class="contract-item"
|
||||
v-for="item in filesImgList"
|
||||
>
|
||||
<el-image
|
||||
fit="cover"
|
||||
style="width: 140px; height: 200px"
|
||||
src="https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg"
|
||||
style="width: 180px; height: 200px"
|
||||
:src="item.lsUrl"
|
||||
/>
|
||||
|
||||
<span class="tip-text" style="margin-top: 20px">
|
||||
人员手持合同照片
|
||||
{{ imgTitleEnum[item.sourceType] }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -38,9 +42,14 @@
|
|||
{{ contractInfo.wageCriterion }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="附件">
|
||||
<el-tag size="small" style="margin-right: 10px">附件1</el-tag>
|
||||
<el-tag size="small" style="margin-right: 10px">附件2</el-tag>
|
||||
<el-tag size="small" style="margin-right: 10px">附件3</el-tag>
|
||||
<el-tag
|
||||
:key="item.id"
|
||||
v-for="item in filesFileList"
|
||||
@click="onHandlePreviewFile(item)"
|
||||
style="margin-right: 10px; cursor: pointer"
|
||||
>
|
||||
{{ item.originFileName }}
|
||||
</el-tag>
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</div>
|
||||
|
|
@ -68,6 +77,17 @@ export default {
|
|||
wageApprovedWay: '',
|
||||
wageCriterion: '',
|
||||
},
|
||||
|
||||
filesImgList: [], // 合同见证照片
|
||||
filesFileList: [], // 附件
|
||||
|
||||
imgTitleEnum: {
|
||||
1: '人员手持合同照片',
|
||||
2: '工作内容页',
|
||||
3: '薪酬约定页',
|
||||
4: '本人签名页',
|
||||
5: '其他照片',
|
||||
},
|
||||
}
|
||||
},
|
||||
|
||||
|
|
@ -76,7 +96,7 @@ export default {
|
|||
async getContractInfo() {
|
||||
const { data: res } = await getContractDetailAPI(this.contractId)
|
||||
// this.contractInfo = res
|
||||
console.log(res, 'res 合同信息')
|
||||
|
||||
if (res.length > 0) {
|
||||
const {
|
||||
contractCode,
|
||||
|
|
@ -85,6 +105,7 @@ export default {
|
|||
contractStopDate,
|
||||
wageApprovedWay,
|
||||
wageCriterion,
|
||||
files,
|
||||
} = res[0]
|
||||
|
||||
this.contractInfo = {
|
||||
|
|
@ -95,8 +116,18 @@ export default {
|
|||
wageApprovedWay,
|
||||
wageCriterion,
|
||||
}
|
||||
|
||||
this.filesImgList = files.filter((item) => item.sourceType != 6)
|
||||
this.filesFileList = files.filter(
|
||||
(item) => item.sourceType == 6,
|
||||
)
|
||||
}
|
||||
},
|
||||
|
||||
// 预览文件
|
||||
onHandlePreviewFile(item) {
|
||||
window.open(item.lsUrl, '_blank')
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -21,13 +21,16 @@
|
|||
:limit="1"
|
||||
:file-size="10"
|
||||
:multiple="true"
|
||||
v-if="item.type != 6"
|
||||
:is-detail="formType === 2"
|
||||
:file-type="['jpg', 'png', 'jpeg']"
|
||||
:file-list.sync="item.fileList"
|
||||
:file-type="['jpg', 'png', 'jpeg']"
|
||||
:is-uploaded="item.fileList.length >= 1"
|
||||
/>
|
||||
|
||||
<span> {{ item.title }} </span>
|
||||
<span v-if="item.type != 6">
|
||||
{{ item.title }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
|
|
@ -108,12 +111,22 @@
|
|||
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="附件" prop="phone">
|
||||
<!-- <el-input
|
||||
clearable
|
||||
placeholder="请输入附件"
|
||||
v-model="contractInfoForm.phone"
|
||||
/> -->
|
||||
<el-form-item label="附件">
|
||||
<UploadFileFormData
|
||||
:limit="3"
|
||||
:file-size="20"
|
||||
:multiple="true"
|
||||
uploadTip="身份证、银行卡扫描件,承诺书、劳动合同或用工协议扫描件"
|
||||
:file-list.sync="contractImageList[5].fileList"
|
||||
:file-type="[
|
||||
'jpg',
|
||||
'png',
|
||||
'jpeg',
|
||||
'pdf',
|
||||
'doc',
|
||||
'docx',
|
||||
]"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
|
@ -124,6 +137,7 @@
|
|||
<script>
|
||||
import UploadImg from '@/components/UploadImg'
|
||||
import UploadImgFormData from '@/components/UploadImgFormData'
|
||||
import UploadFileFormData from '@/components/UploadFileFormData'
|
||||
import {
|
||||
uploadContractAPI,
|
||||
getContractDetailAPI,
|
||||
|
|
@ -152,6 +166,7 @@ export default {
|
|||
components: {
|
||||
UploadImg,
|
||||
UploadImgFormData,
|
||||
UploadFileFormData,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
|
@ -165,26 +180,6 @@ export default {
|
|||
wageCriterion: '', // 工资核定标准
|
||||
},
|
||||
|
||||
addOrEditForm: {
|
||||
name: '', // 姓名
|
||||
idNumber: '', // 身份证号
|
||||
sex: '', // 性别
|
||||
birthday: '', // 出生日期
|
||||
nation: '', // 民族
|
||||
issuingAuthority: '', // 签发机关
|
||||
startTime: '', // 生效日期
|
||||
endTime: '', // 失效日期
|
||||
address: '', // 身份证住址
|
||||
subName: '', // 分包商名称
|
||||
legalRepresentative: '', // 法定代表人
|
||||
phone: '', // 联系电话
|
||||
businessAddress: '', // 营业住址
|
||||
|
||||
businessLicense: [], // 营业执照
|
||||
electronicStamp: [], // 电子公章
|
||||
idCard: [], // 身份证正反面
|
||||
electronicSignature: [], // 电子签名/法人印章
|
||||
},
|
||||
contractImageList: [
|
||||
{
|
||||
title: '人员手持合同照',
|
||||
|
|
@ -211,48 +206,205 @@ export default {
|
|||
type: 5,
|
||||
fileList: [],
|
||||
},
|
||||
{
|
||||
title: '附件',
|
||||
type: 6,
|
||||
fileList: [],
|
||||
},
|
||||
],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 检查表单状态
|
||||
checkFormStatus() {
|
||||
// 检查图片是否有上传(排除附件)
|
||||
const fieldsList = [
|
||||
'contractCode', // 合同编号
|
||||
'contractStartDate', // 合同签订日期
|
||||
'contractStopDate', // 合同终止日期
|
||||
'wageCriterion', // 工资核定标准
|
||||
]
|
||||
const imageFieldsToCheck = this.contractImageList.slice(0, -1) // 排除最后一个附件
|
||||
|
||||
// 检查字段是否全部为空或全部有值
|
||||
let emptyFieldCount = 0
|
||||
let filledFieldCount = 0
|
||||
|
||||
// 检查普通字段
|
||||
fieldsList.forEach((field) => {
|
||||
if (!this.contractInfoForm[field]) {
|
||||
emptyFieldCount++
|
||||
} else {
|
||||
filledFieldCount++
|
||||
}
|
||||
})
|
||||
|
||||
// 检查图片字段
|
||||
imageFieldsToCheck.forEach((item) => {
|
||||
if (item.fileList.length === 0) {
|
||||
emptyFieldCount++
|
||||
} else {
|
||||
filledFieldCount++
|
||||
}
|
||||
})
|
||||
|
||||
// 返回状态
|
||||
if (
|
||||
emptyFieldCount ===
|
||||
fieldsList.length + imageFieldsToCheck.length
|
||||
) {
|
||||
return 'all_empty' // 全部为空
|
||||
} else if (
|
||||
filledFieldCount ===
|
||||
fieldsList.length + imageFieldsToCheck.length
|
||||
) {
|
||||
return 'all_filled' // 全部有值
|
||||
} else {
|
||||
return 'partial' // 部分有值
|
||||
}
|
||||
},
|
||||
// 确定按钮
|
||||
onHandleConfirmAddOrEditFun() {
|
||||
return new Promise(async (resolve, reject) => {
|
||||
console.log(this.contractImageList, 'contractImageList')
|
||||
// return new Promise(async (resolve, reject) => {
|
||||
// const status = this.checkFormStatus()
|
||||
// if (status === 'all_filled') {
|
||||
// params.bmWorkerContract = this.contractInfoForm
|
||||
// }
|
||||
|
||||
const params = {
|
||||
// if (status === 'partial') {
|
||||
// this.$modal.msgError(
|
||||
// '请完善合同见证中的必填信息(除附件外)后再提交',
|
||||
// )
|
||||
|
||||
// return reject(new Error('合同信息未完善'))
|
||||
// }
|
||||
|
||||
// if (status === 'all_empty') {
|
||||
// await new Promise((resolve, reject) => {
|
||||
// this.$confirm(
|
||||
// '当前合同信息为空,确定后将关闭该上传页面',
|
||||
// '温馨提示',
|
||||
// )
|
||||
// .then(() => {
|
||||
// resolve()
|
||||
// })
|
||||
// .catch(() => {
|
||||
// reject()
|
||||
// })
|
||||
// })
|
||||
// .then(() => {
|
||||
// return resolve()
|
||||
// })
|
||||
// .catch(() => {
|
||||
// return reject()
|
||||
// })
|
||||
// }
|
||||
|
||||
// const params = {
|
||||
// ...this.contractInfoForm,
|
||||
// workerId: this.workerId,
|
||||
// }
|
||||
|
||||
// // 判断是否为重新上传(修改)
|
||||
// if (this.queryDetailsId) {
|
||||
// params.id = this.queryDetailsId
|
||||
// }
|
||||
|
||||
// const filesList = []
|
||||
// const formData = new FormData()
|
||||
|
||||
// this.contractImageList.forEach((item) => {
|
||||
// item.fileList.forEach((file) => {
|
||||
// filesList.push({
|
||||
// type: item.type,
|
||||
// name: 'contract',
|
||||
// })
|
||||
// formData.append('files', file.raw)
|
||||
// })
|
||||
// })
|
||||
// formData.append('params', JSON.stringify(params))
|
||||
// formData.append('fileMsg', JSON.stringify(filesList))
|
||||
|
||||
// const res = await uploadContractAPI(formData)
|
||||
// console.log(res, 'res 合同上传')
|
||||
// if (res.code === 200) {
|
||||
// this.$modal.msgSuccess('合同上传成功')
|
||||
// resolve()
|
||||
// } else {
|
||||
// this.$modal.msgError(res.msg)
|
||||
// reject()
|
||||
// }
|
||||
// })
|
||||
|
||||
return new Promise(async (resolve, reject) => {
|
||||
const status = this.checkFormStatus()
|
||||
|
||||
// 1. 提前声明并初始化params
|
||||
let params = {
|
||||
...this.contractInfoForm,
|
||||
workerId: this.workerId,
|
||||
}
|
||||
|
||||
// 判断是否为重新上传(修改)
|
||||
// 提前处理「重新上传」的ID参数
|
||||
if (this.queryDetailsId) {
|
||||
params.id = this.queryDetailsId
|
||||
}
|
||||
|
||||
// 全量填写:追加合同信息
|
||||
if (status === 'all_filled') {
|
||||
params.bmWorkerContract = this.contractInfoForm
|
||||
}
|
||||
|
||||
// 部分填写:提示错误并终止
|
||||
if (status === 'partial') {
|
||||
this.$modal.msgError(
|
||||
'请完善合同见证中的必填信息(除附件外)后再提交',
|
||||
)
|
||||
return reject(new Error('合同信息未完善'))
|
||||
}
|
||||
|
||||
// 全空:弹窗确认,处理后阻断后续代码
|
||||
if (status === 'all_empty') {
|
||||
await new Promise((innerResolve, innerReject) => {
|
||||
this.$confirm(
|
||||
'当前合同信息为空,确定后将关闭该上传页面',
|
||||
'温馨提示',
|
||||
)
|
||||
.then(() => innerResolve())
|
||||
.catch(() => innerReject())
|
||||
})
|
||||
.then(() => resolve('isClose'))
|
||||
.catch(() => reject())
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// 非全空情况:执行文件上传逻辑(all_filled分支会走到这里)
|
||||
const filesList = []
|
||||
const formData = new FormData()
|
||||
|
||||
this.contractImageList.forEach((item) => {
|
||||
item.fileList.forEach((file) => {
|
||||
filesList.push({
|
||||
type: item.type,
|
||||
name: 'contract',
|
||||
})
|
||||
filesList.push({ type: item.type, name: 'contract' })
|
||||
formData.append('files', file.raw)
|
||||
})
|
||||
})
|
||||
formData.append('params', JSON.stringify(params))
|
||||
formData.append('fileMsg', JSON.stringify(filesList))
|
||||
|
||||
const res = await uploadContractAPI(formData)
|
||||
console.log(res, 'res 合同上传')
|
||||
if (res.code === 200) {
|
||||
this.$modal.msgSuccess('合同上传成功')
|
||||
resolve()
|
||||
} else {
|
||||
this.$modal.msgError(res.msg)
|
||||
reject()
|
||||
// 3. 捕获API调用异常,避免未处理的reject
|
||||
try {
|
||||
const res = await uploadContractAPI(formData)
|
||||
|
||||
if (res.code === 200) {
|
||||
this.$modal.msgSuccess('合同上传成功')
|
||||
resolve()
|
||||
} else {
|
||||
this.$modal.msgError(res.msg)
|
||||
reject()
|
||||
}
|
||||
} catch (err) {
|
||||
this.$modal.msgError('合同上传失败,请重试')
|
||||
reject(err)
|
||||
}
|
||||
})
|
||||
},
|
||||
|
|
|
|||
|
|
@ -60,7 +60,6 @@
|
|||
size="mini"
|
||||
type="primary"
|
||||
icon="el-icon-upload"
|
||||
v-if="data.einStatus == 1"
|
||||
@click="onHandleUploadContract(data)"
|
||||
>
|
||||
上传
|
||||
|
|
@ -104,11 +103,6 @@
|
|||
</template>
|
||||
|
||||
<template v-if="dialogConfig.outerTitle === '合同图片详情'">
|
||||
<!-- <el-image
|
||||
:src="dialogConfig.outerImgUrl"
|
||||
fit="contain"
|
||||
style="width: 100%; height: 100%"
|
||||
/> -->
|
||||
<el-image
|
||||
:src="contractImgList[0]"
|
||||
:preview-src-list="contractImgList"
|
||||
|
|
@ -126,7 +120,12 @@ import DialogModel from '@/components/DialogModel'
|
|||
import ContractWitnessUpload from './contract-witness-upload' // 合同上传
|
||||
import ContractDetailsList from './contract-details-list.vue' // 合同详情列表
|
||||
import { formLabel, columnsList, dialogConfig } from './config'
|
||||
import { getPersonContractListAPI } from '@/api/construction-person/red-green-light-mange/contract-witness'
|
||||
import {
|
||||
getPersonContractListAPI,
|
||||
getContractDetailLookFileAPI,
|
||||
} from '@/api/construction-person/red-green-light-mange/contract-witness'
|
||||
|
||||
import { getLotProjectSelectListCommonFun } from '@/utils/getCommonData'
|
||||
export default {
|
||||
name: 'ContractWitness',
|
||||
components: {
|
||||
|
|
@ -154,10 +153,7 @@ export default {
|
|||
electronicSignature: 'electronicSignature',
|
||||
},
|
||||
|
||||
contractImgList: [
|
||||
'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
|
||||
'https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg',
|
||||
], // 合同图片列表
|
||||
contractImgList: [], // 合同图片列表
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
|
@ -214,7 +210,7 @@ export default {
|
|||
// 上传按钮点击
|
||||
onHandleUploadContract(data) {
|
||||
console.log(data, '上传合同')
|
||||
// this.queryDetailsId = data.id
|
||||
this.queryDetailsId = data.id
|
||||
if (data.isSign == 1) {
|
||||
this.$confirm(
|
||||
'当前已上传合同信息,是否要重新上传,重新上传将会覆盖原数据?',
|
||||
|
|
@ -233,9 +229,9 @@ export default {
|
|||
this.dialogConfig.maxHeight = ''
|
||||
this.dialogConfig.outerWidth = '80%'
|
||||
this.dialogConfig.outerVisible = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.uploadContractContentRef.getContractDetail()
|
||||
})
|
||||
// this.$nextTick(() => {
|
||||
// this.$refs.uploadContractContentRef.getContractDetail()
|
||||
// })
|
||||
})
|
||||
.catch(() => {})
|
||||
} else {
|
||||
|
|
@ -260,7 +256,11 @@ export default {
|
|||
},
|
||||
|
||||
// 查看合同图片详情
|
||||
onHandleViewContractImgDetails(data) {
|
||||
async onHandleViewContractImgDetails(data) {
|
||||
const { data: res } = await getContractDetailLookFileAPI(data.id)
|
||||
this.contractImgList = res
|
||||
.filter((item) => item.sourceType != 6)
|
||||
.map((item) => item.lsUrl)
|
||||
this.dialogConfig.outerTitle = '合同图片详情'
|
||||
this.dialogConfig.minHeight = '500px'
|
||||
this.dialogConfig.maxHeight = '500px'
|
||||
|
|
@ -271,8 +271,11 @@ export default {
|
|||
// 确定按钮
|
||||
async onHandleConfirmAddOrEdit() {
|
||||
try {
|
||||
await this.$refs.uploadContractContentRef.onHandleConfirmAddOrEditFun()
|
||||
this.$refs.personEntryTableRef.getTableList()
|
||||
const res =
|
||||
await this.$refs.uploadContractContentRef.onHandleConfirmAddOrEditFun()
|
||||
if (res !== 'isClose') {
|
||||
this.$refs.personEntryTableRef.getTableList()
|
||||
}
|
||||
this.handleCloseDialogOuter()
|
||||
} catch (error) {
|
||||
console.log('表单提交失败', error)
|
||||
|
|
@ -284,5 +287,20 @@ export default {
|
|||
this.dialogConfig.outerVisible = false
|
||||
},
|
||||
},
|
||||
|
||||
async created() {
|
||||
// 设置工程下拉框
|
||||
const lotProject = await getLotProjectSelectListCommonFun()
|
||||
formLabel.forEach((item) => {
|
||||
if (item.f_model === 'proId') {
|
||||
item.f_selList = lotProject.map((item) => {
|
||||
return {
|
||||
label: item.proName,
|
||||
value: item.id,
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -40,17 +40,21 @@
|
|||
:dialogConfig="dialogConfig"
|
||||
@closeDialogOuter="handleCloseDialogOuter"
|
||||
>
|
||||
<template slot="outerContent"> 996 </template>
|
||||
<template slot="outerContent">
|
||||
<ProjectList />
|
||||
</template>
|
||||
</DialogModel>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import DialogModel from '@/components/DialogModel'
|
||||
import ProjectList from './project-list.vue'
|
||||
export default {
|
||||
name: 'RedAndGreenCount',
|
||||
components: {
|
||||
DialogModel,
|
||||
ProjectList,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,145 @@
|
|||
<template>
|
||||
<div>
|
||||
<TableModel
|
||||
:formLabel="formLabel"
|
||||
:showOperation="false"
|
||||
:showRightTools="false"
|
||||
ref="projectListTableRef"
|
||||
:columnsList="columnsList"
|
||||
:testTableList="testTableList"
|
||||
:request-api="getRedAndGreenCountProjectListAPI"
|
||||
>
|
||||
<template slot="proName" slot-scope="{ data }">
|
||||
<span @click="onHandleClickProName(data)" class="cursor-blue">
|
||||
{{ data.proName }}
|
||||
</span>
|
||||
</template>
|
||||
</TableModel>
|
||||
|
||||
<DialogModel
|
||||
:dialogConfig="dialogConfig"
|
||||
@closeDialogOuter="handleCloseDialogOuter"
|
||||
>
|
||||
<template slot="outerContent">
|
||||
<TableModel
|
||||
:formLabel="formLabel_1"
|
||||
:showOperation="false"
|
||||
:showRightTools="false"
|
||||
ref="projectListTableRef"
|
||||
:columnsList="columnsList_1"
|
||||
:testTableList="testTableList"
|
||||
:request-api="getRedAndGreenCountProjectListAPI"
|
||||
/>
|
||||
</template>
|
||||
</DialogModel>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import TableModel from '@/components/TableModel'
|
||||
import DialogModel from '@/components/DialogModel'
|
||||
import { getRedAndGreenCountProjectListAPI } from '@/api/construction-person/red-green-light-mange/red-and-green-count'
|
||||
export default {
|
||||
name: 'ProjectList',
|
||||
components: {
|
||||
TableModel,
|
||||
DialogModel,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
getRedAndGreenCountProjectListAPI,
|
||||
formLabel: [
|
||||
{
|
||||
f_label: '工程名称',
|
||||
f_model: 'proName',
|
||||
f_type: 'ipt',
|
||||
f_width: '180px',
|
||||
isShow: false, // 是否展示label
|
||||
},
|
||||
],
|
||||
columnsList: [
|
||||
{ t_slot: 'proName', t_label: '工程名称' },
|
||||
{ t_props: 'onSiteCount', t_label: '在场人数' },
|
||||
{ t_props: 'yellowCount', t_label: '黄灯人数' },
|
||||
{ t_props: 'greenCount', t_label: '绿灯人数' },
|
||||
],
|
||||
testTableList: [
|
||||
{
|
||||
proName: '工程1',
|
||||
onSiteCount: '6',
|
||||
yellowCount: '12',
|
||||
greenCount: '23',
|
||||
},
|
||||
{
|
||||
proName: '工程1',
|
||||
onSiteCount: '20',
|
||||
yellowCount: '10',
|
||||
greenCount: '10',
|
||||
},
|
||||
],
|
||||
|
||||
dialogConfig: {
|
||||
outerTitle: '人员',
|
||||
outerVisible: false,
|
||||
outerWidth: '80%',
|
||||
minHeight: '90vh',
|
||||
maxHeight: '90vh',
|
||||
},
|
||||
|
||||
formLabel_1: [
|
||||
{
|
||||
f_label: '姓名',
|
||||
f_model: 'proName',
|
||||
f_type: 'ipt',
|
||||
f_width: '180px',
|
||||
isShow: false, // 是否展示label
|
||||
},
|
||||
{
|
||||
f_label: '分包',
|
||||
f_model: 'proName',
|
||||
f_type: 'ipt',
|
||||
f_width: '180px',
|
||||
isShow: false, // 是否展示label
|
||||
},
|
||||
{
|
||||
f_label: '班组',
|
||||
f_model: 'proName',
|
||||
f_type: 'ipt',
|
||||
f_width: '180px',
|
||||
isShow: false, // 是否展示label
|
||||
},
|
||||
{
|
||||
f_label: '状态',
|
||||
f_model: 'proName',
|
||||
f_type: 'ipt',
|
||||
f_width: '180px',
|
||||
isShow: false, // 是否展示label
|
||||
},
|
||||
],
|
||||
columnsList_1: [
|
||||
{ t_slot: 'proName', t_label: '姓名' },
|
||||
{ t_props: 'onSiteCount', t_label: '身份证' },
|
||||
{ t_props: 'yellowCount', t_label: '联系方式' },
|
||||
{ t_props: 'greenCount', t_label: '工种' },
|
||||
{ t_props: 'greenCount', t_label: '所属工程' },
|
||||
{ t_props: 'greenCount', t_label: '所属分包' },
|
||||
{ t_props: 'greenCount', t_label: '所属班组' },
|
||||
{ t_props: 'greenCount', t_label: '状态' },
|
||||
],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 查看人员信息
|
||||
onHandleClickProName(data) {
|
||||
this.dialogConfig.outerVisible = true
|
||||
},
|
||||
|
||||
// 关闭弹窗
|
||||
handleCloseDialogOuter() {
|
||||
this.dialogConfig.outerVisible = false
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style></style>
|
||||
Loading…
Reference in New Issue