This commit is contained in:
zmj 2024-03-15 18:02:03 +08:00
parent b720bab372
commit 952136d33d
11 changed files with 138 additions and 275 deletions

View File

@ -13,7 +13,11 @@
<el-table-column :label="item.label" v-for="(item, index) in config.tableConfig" :key="index"
:prop="item[value]">
<template #default="{ row }">
<el-input v-model="row[item.value]" />
<el-select v-model="row[item.value]" v-if="item.select">
<el-option v-for="items in item.select" :label="items.label" :value="items.value"></el-option>
</el-select>
<el-input v-model="row[item.value]" v-else />
</template>
</el-table-column>
<template #empty>

View File

@ -52,26 +52,24 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="投标文件" prop="bidding_file">
<el-form-item label="投标文件" prop="bidding_file" label-width="200px">
<uploadAnnex :formData="formData" value="bidding_file"></uploadAnnex>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="招标控制价文件" prop="zbkzj_file" label-width="140px">
<el-form-item label="招标控制价文件" prop="zbkzj_file" label-width="200px">
<uploadAnnex :formData="formData" value="zbkzj_file"></uploadAnnex>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="工程造价合同" prop="gczjht_file" label-width="120px">
<el-form-item label="工程造价合同" prop="gczjht_file" label-width="200px">
<uploadAnnex :formData="formData" value="gczjht_file"></uploadAnnex>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="项目变更、签证资料" prop="xmbgqzzl_file" label-width="170px">
<el-form-item label="项目变更、签证资料" prop="xmbgqzzl_file" label-width="200px">
<uploadAnnex :formData="formData" value="xmbgqzzl_file"></uploadAnnex>
</el-form-item>
</el-col>
@ -83,12 +81,12 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="往来函件" prop="wlhj_file">
<el-form-item label="往来函件" prop="wlhj_file" label-width="200px">
<uploadAnnex :formData="formData" value="wlhj_file"></uploadAnnex>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="其他资料" prop="other_file">
<el-form-item label="其他资料" prop="other_file" label-width="200px">
<uploadAnnex :formData="formData" value="other_file"></uploadAnnex>
</el-form-item>
</el-col>

View File

@ -45,6 +45,9 @@
<div style="margin-bottom: 30px;">任务明细</div>
<div style="margin-bottom: 30px;">
<el-table :data="formData.project_change_visa_content">
<template #empty>
<span class="cursor-pointer">暂无数据点击添加 <el-button @click="handleAdd">+</el-button></span>
</template>
<el-table-column label="序号" v-if="mode == 'add'" width="150px">
<template #default="{ row }">
<el-button @click="handleAdd()">+</el-button>
@ -164,20 +167,6 @@ const formData = reactive({
djr: '',
djrq: '',
project_change_visa_content: [
{
directory: '',
unit_name: '',
time: '',
major: '',
category: '',
review_content: '',
review_comments: '',
reviewer: '',
reviewer_id: '',
declared_value: '',
calculated_value: '',
remark: '',
}
]
})
@ -231,7 +220,6 @@ const handleAdd = () => {
const handleDelete = (row: any) => {
if (formData.project_change_visa_content.length == 1) return
const index = formData.project_change_visa_content.indexOf(row);
formData.project_change_visa_content.splice(index, 1);
}

View File

@ -101,9 +101,12 @@
<div style="margin-bottom: 30px;">任务明细</div>
<div style="margin-bottom: 30px;">
<el-table :data="formData.project_commission_detail">
<template #empty>
<span class="cursor-pointer">暂无数据点击添加 <el-button @click="handleAdd">+</el-button></span>
</template>
<el-table-column label="序号" v-if="mode == 'add'" width="150px">
<template #default="{ row }">
<el-button @click="handleAdd(row)">+</el-button>
<el-button @click="handleAdd">+</el-button>
<el-button @click="handleDelete(row)">-</el-button>
</template>
</el-table-column>
@ -238,20 +241,7 @@ const formData = reactive({
apptime: '',
remark: '',
projectInfo: {},
project_commission_detail: [{
engineer: '',
engineer_id: '',
task_name: '',
task_type: '',
professional_type: '',
zj_amount: '',
sk_amount: '',
tc_rate: '',
tc_amount: '',
pay_amount: '',
remark: '',
other_fee: '',
}]
project_commission_detail: []
})
const customEvent = (e) => {
@ -287,7 +277,6 @@ const handleAdd = () => {
const handleDelete = (row: any) => {
if (formData.project_commission_detail.length == 1) return
const index = formData.project_commission_detail.indexOf(row);
formData.project_commission_detail.splice(index, 1);
}

View File

@ -64,6 +64,10 @@
<div style="margin-bottom: 30px;">进度明细</div>
<div style="margin-bottom: 30px;">
<el-table :data="formData.project_progress_payment_detail">
<template #empty>
<span class="cursor-pointer">暂无数据点击添加 <el-button @click="handleAdd">+</el-button></span>
</template>
<el-table-column label="序号" v-if="mode == 'add'" width="150px">
<template #default="{ row }">
<el-button @click="handleAdd">+</el-button>
@ -252,30 +256,7 @@ const formData = reactive({
ljhj: '',
annex: [],
projectInfo: {},
project_progress_payment_detail: [{
project_progress_payment_id: '',
directory: '',
unit_project_name: '',
time: '',
image_progress: '',
declared_cost_tj: '',
declared_cost_az: '',
declared_cost_other: '',
jdsbzj_xiaoji: '',
audit_cost_tj: '',
audit_cost_az: '',
audit_cost_other: '',
jdshzj_xiaoji: '',
deduction_amount: '',
completed_rate: '',
contract_total_amount: '',
ljwc_funds: '',
current_payable_funds: '',
payment_rate: '',
dcntract_payment_rate: '',
remark: '',
}]
project_progress_payment_detail: []
})

View File

@ -50,43 +50,7 @@
</el-form-item>
</el-col>
</el-row>
<div>
检查项
<el-button @click="handleAdd()" v-if="!formData.check_item_detail.length">+</el-button>
</div>
<div style="margin-bottom: 30px;">
<el-table :data="formData.check_item_detail">
<el-table-column label="序号" width="150px">
<template #default="{ row }">
<el-button @click="handleAdd()">+</el-button>
<el-button @click="handleDelete(row)">-</el-button>
</template>
</el-table-column>
<el-table-column label="检查类别" prop="check_type">
<template #default="scope">
<el-input v-model="scope.row.check_type" />
</template>
</el-table-column>
<el-table-column label="检查类容" prop="check_content">
<template #default="{ row }">
<el-input v-model="row.check_content" />
</template>
</el-table-column>
<el-table-column label="是否必检" prop="must_check">
<template #default="{ row }">
<el-select class="flex-1" v-model="row.must_check" clearable placeholder="请选择">
<el-option label="否" :value="parseInt(0)" />
<el-option label="是" :value="parseInt(1)" />
</el-select>
</template>
</el-table-column>
</el-table>
</div>
<formTable :formData="formData.check_item_detail" :config="tableConfig"></formTable>
<el-dialog v-model="showDialog" title="选择项目" width="70%">
<dialogTable @customEvent="customEvent" :config="supervision_project" />
</el-dialog>
@ -138,11 +102,7 @@ const formData = reactive({
p_node_name: "",
inspection_basis: '',
reference_law: '',
check_item_detail: [{
"check_type": "",
"check_content": "",
"must_check": 0
}]
check_item_detail: []
})
const customEvent = (e) => {
formData.project_id = e.id
@ -157,22 +117,39 @@ const customEvent1 = (e: any) => {
}
const handleAdd = () => {
formData.check_item_detail.push({
"check_type": "",
"check_content": "",
"must_check": 0
})
}
const tableConfig = reactive(
{
title: "检查项",
tableConfig: [
{
label: "检查类别",
value: 'check_type'
},
{
label: "检查类容",
value: 'check_content'
const handleDelete = async (row: any) => {
if (row.id) {
await apisupervision_check_item_detail_delete({ id: row.id })
},
{
label: "是否必检",
value: 'must_check',
select: [
{
label: '否',
value: 0
},
{
label: '是',
value: 1
}
]
},
],
deleteApi: apisupervision_check_item_detail_delete,
}
const index = formData.check_item_detail.indexOf(row);
formData.check_item_detail.splice(index, 1);
}
)
//
const formRules = reactive<any>({

View File

@ -107,12 +107,9 @@
<el-col :span="8">
<el-form-item label="附件" prop="annex">
<uploadAnnex :formData="formData"></uploadAnnex>
</el-form-item>
</el-col>
<createUserLable :formData="formData" flag></createUserLable>
</el-row>
<el-dialog v-model="showDialog" title="选择项目" width="70%">
<dialogTable @customEvent="customEvent" :config="supervision_project" />
@ -132,53 +129,7 @@
</el-dialog>
</div>
</el-form>
<div>
巡视结果
<el-button @click="handleAdd()" v-if="!formData.inspection_result.length">+</el-button>
</div>
<div style="margin-bottom: 30px;">
<el-table :data="formData.inspection_result">
<el-table-column label="序号" width="150px">
<template #default="{ row }">
<el-button @click="handleAdd()">+</el-button>
<el-button @click="handleDelete(row)">-</el-button>
</template>
</el-table-column>
<el-table-column label="检查类别" prop="check_type">
<template #default="scope">
<el-input v-model="scope.row.check_type" />
</template>
</el-table-column>
<el-table-column label="检查类容" prop="check_content">
<template #default="{ row }">
<el-input v-model="row.check_content" />
</template>
</el-table-column>
<el-table-column label="是否必检" prop="must_check">
<template #default="{ row }">
<el-select class="flex-1" v-model="row.must_check" clearable placeholder="请选择">
<el-option label="否" :value="parseInt(0)" />
<el-option label="是" :value="parseInt(1)" />
</el-select>
</template>
</el-table-column>
<el-table-column label="检查结果" prop="must_check">
<template #default="{ row }">
<el-select class="flex-1" v-model="row.check_result" clearable placeholder="请选择">
<el-option label="合格" :value="parseInt(0)" />
<el-option label="不合格" :value="parseInt(1)" />
</el-select>
</template>
</el-table-column>
</el-table>
</div>
<formTable :formData="formData.inspection_result" :config="tableConfig"></formTable>
<div>
巡视问题
<el-button @click="handleAdd1()" v-if="!formData.inspection_problem.length">+</el-button>
@ -242,7 +193,6 @@ const mode = ref('add')
const showDialog = ref(false)
const showDialog1 = ref(false)
const showDialog2 = ref(false)
const showDialog3 = ref(false)
const flag = ref(false)
@ -250,35 +200,55 @@ const flag = ref(false)
const popupTitle = computed(() => {
return mode.value == 'edit' ? '编辑工程监理--巡视登记' : '新增工程监理--巡视登记'
})
const handleAvatarSuccess_four = (response: any) => {
Array.isArray(formData.annex) ? '' : formData.annex = []
// @ts-ignore
response.code != 0 ? formData.annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
};
//
const delFileFn = (index: number) => { formData.annex.splice(index, 1) }
const handleAdd = () => {
formData.inspection_result.push({
"check_type": "",
"check_content": "",
"must_check": 0,
"check_result": 0
})
}
const tableConfig = reactive(
{
title: "巡视结果",
tableConfig: [
{
label: "检查类别",
value: 'check_type'
const handleDelete = async (row: any) => {
if (row.id) {
await apisupervision_inspection_result_delete({ id: row.id })
const index = formData.inspection_result.indexOf(row);
formData.inspection_result.splice(index, 1);
} else {
const index = formData.inspection_result.indexOf(row);
formData.inspection_result.splice(index, 1);
},
{
label: "检查类容",
value: 'check_content'
},
{
label: "是否必检",
value: 'must_check',
select: [
{
label: "否",
value: 0
},
{
label: "是",
value: 1
}
]
},
{
label: "是否检查结果必检",
value: 'check_result',
select: [
{
label: "合格",
value: 0
},
{
label: "不合格",
value: 1
}
]
},
],
deleteApi: apisupervision_inspection_result_delete,
}
)
}
const handleAdd1 = () => {
formData.inspection_problem.push({

View File

@ -3,9 +3,6 @@
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit"
@close="handleClose">
<el-form ref="formRef" :model="formData" label-width="120px" :rules="formRules">
<el-form-item label="项目名称" prop="project_name">
<el-input v-model="formData.project_name" clearable placeholder="点击选择项目" readonly
@click="showDialog = true" />
@ -31,35 +28,7 @@
<el-dialog v-model="showDialog" title="选择项目" width="70%">
<dialogTable @customEvent="customEvent" :config="supervision_project" />
</el-dialog>
<div>
设备列表
<el-button @click="handleAdd()" v-if="!formData.devices.length">+</el-button>
</div>
<div style="margin-bottom: 30px;">
<el-table :data="formData.devices">
<el-table-column label="序号">
<template #default="{ row }">
<el-button @click="handleAdd()">+</el-button>
<el-button @click="handleDelete(row)">-</el-button>
</template>
</el-table-column>
<el-table-column label="设备名称" prop="name">
<template #default="{ row }">
<el-input v-model="row.name" />
</template>
</el-table-column>
<el-table-column label="是否显示" prop="duties">
<template #default="{ row }">
<el-select class="flex-1" v-model="row.is_show" clearable placeholder="请选择设备类型">
<el-option label="是" :value="1" />
<el-option label="否" :value="0" />
</el-select>
</template>
</el-table-column>
</el-table>
</div>
<formTable :formData="formData.devices" :config="tableConfig"></formTable>
</el-form>
</popup>
</div>
@ -99,33 +68,45 @@ const formData = reactive({
device_sn: '',
number: '',
remark: '',
devices: [{
"name": "",
"is_show": 0,
},]
devices: []
})
const tableConfig = reactive(
{
title: "设备列表",
tableConfig: [
{
label: "设备名称",
value: 'name'
},
{
label: "是否显示",
value: 'is_show',
select: [
{
label: '是',
value: 0
},
{
label: '否',
value: 1
}
]
},
],
deleteApi: apiSupervisionMonitoringEquipmentDetailDelete,
}
)
const customEvent = (e) => {
formData.project_id = e.id
formData.project_name = e.project_name
showDialog.value = false
}
const handleAdd = () => {
formData.devices.push({
"name": "",
"is_show": 0,
})
}
const handleDelete = (row: any) => {
if (row.id) {
apiSupervisionMonitoringEquipmentDetailDelete({ id: row.id })
}
const index = formData.devices.indexOf(row);
formData.devices.splice(index, 1);
}
//
const formRules = reactive<any>({

View File

@ -45,7 +45,6 @@
<dialogTable @customEvent="customEvent" :config="supervision_project" />
</el-dialog>
<formTable :formData="formData.contacts" :config="tableConfig"></formTable>
</el-form>
</popup>
</div>

View File

@ -54,6 +54,9 @@
<div style="margin-bottom: 30px;">任务明细</div>
<div style="margin-bottom: 30px;">
<el-table :data="formData.task_detail">
<template #empty>
<span class="cursor-pointer">暂无数据点击添加 <el-button @click="handleAdd">+</el-button></span>
</template>
<el-table-column label="序号" v-if="mode == 'add'" width="150px">
<template #default="{ row }">
<el-button @click="handleAdd()">+</el-button>
@ -253,33 +256,7 @@ const formData = reactive({
head: userStore.account,
apptime: timeFormat('', 'yyyy-mm-dd'),
annex: [],
task_detail: [{
task_name: '',
task_name_id: '',
process: '',
task_type_id: '',
professional_type: '',
engineer: '',
engineer_id: '',
level: '',
first_reviewer: '',
first_reviewer_id: '',
secondary_reviewer: '',
secondary_reviewer_id: '',
third_level_reviewer: '',
third_level_reviewer_id: '',
bid_winning_amount: '',
cost: '',
approved_amount: '',
construction_unit: '',
construction_unit_id: '',
contact: '',
contact_phone: '',
days: '',
start_date: '',
end_date: '',
remark: '',
}],
task_detail: [],
projectInfo: {}
})
@ -315,7 +292,6 @@ const handleAdd = () => {
const handleDelete = (row: any) => {
if (formData.task_detail.length == 1) return
const index = formData.task_detail.indexOf(row);
formData.task_detail.splice(index, 1);
}

View File

@ -218,7 +218,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="备注" prop="bz">
<el-input v-model="formData.bz" clearable placeholder="请输入备注" />
<el-input v-model="formData.bz" clearable placeholder="请输入备注" type="textarea" />
</el-form-item>
</el-col>
</el-row>