This commit is contained in:
zmj 2024-03-08 16:24:16 +08:00
parent 804dd4dff6
commit fbd24a3445
25 changed files with 581 additions and 567 deletions

View File

@ -0,0 +1,26 @@
import request from '@/utils/request'
// 项目管理--项目信息上报列表
export function apiManageInfoReportLists(params: any) {
return request.get({ url: '/manage_communication.manage_info_report/lists', params })
}
// 添加项目管理--项目信息上报
export function apiManageInfoReportAdd(params: any) {
return request.post({ url: '/manage_communication.manage_info_report/add', params })
}
// 编辑项目管理--项目信息上报
export function apiManageInfoReportEdit(params: any) {
return request.post({ url: '/manage_communication.manage_info_report/edit', params })
}
// 删除项目管理--项目信息上报
export function apiManageInfoReportDelete(params: any) {
return request.post({ url: '/manage_communication.manage_info_report/delete', params })
}
// 项目管理--项目信息上报详情
export function apiManageInfoReportDetail(params: any) {
return request.get({ url: '/manage_communication.manage_info_report/detail', params })
}

View File

@ -2,18 +2,23 @@ interface Iconfig{
/** 请求列表的接口*/
fetchFn:Function,
/**用户可搜索的内容select为下拉列表 */
/**用户可搜索的内容select为下拉列表,select为数组时为自定义option,w为string时表示获取字典里的值 */
serchList:Array<{label:String,value:String,select?:Array<{name:string,value:string|Number}>|String }>,
/**需要的字典数据隔开的string */
dictData?:String,
/**table配置 */
tableList:Array<Object>,
}
import { useDictData } from '@/hooks/useDictOptions'
import { apiSupervisionProjectLists } from '@/api/supervision_project'
import { apiSupervisionParticipatingUnitsLists, } from '@/api/supervision_participating_units'
import { apiSupervisionCheckItemLists } from '@/api/supervision_check_item'
import { apiManageProjectLists} from '@/api/manage_project'
import { apiSupervisionDangerousEngineeringMonitoringLists, } from '@/api/supervision_dangerous_engineering_monitoring'
import { apiSupervisionMaterialEntryLists } from '@/api/supervision_material_entry'
import { apiSupervisionParticipatingUnitsQualificationsLists } from '@/api/supervision_participating_units_qualifications'
export const supervision_project:Iconfig = {
@ -27,14 +32,6 @@ export const supervision_project:Iconfig = {
label: '项目编号',
value: "project_code"
},
// {
// label: '项目分类',
// value: "project_type",
// select: [
// { label: "是", value: 0 },
// { label: "否", value: 1 },
// ]
// }
],
tableList: [
{ project_name: "项目名称" },
@ -61,7 +58,6 @@ export const supervision_project:Iconfig = {
]
}
export const supervision_participating_units:Iconfig = {
fetchFn: apiSupervisionParticipatingUnitsLists,
serchList: [
@ -85,6 +81,7 @@ export const supervision_participating_units:Iconfig = {
export const supervision_check_item:Iconfig = {
fetchFn: apiSupervisionCheckItemLists,
dictData:'check_item_node_type',
serchList: [
{
label: '节点名称',
@ -106,6 +103,7 @@ export const supervision_check_item:Iconfig = {
export const manage_project:Iconfig = {
fetchFn: apiManageProjectLists,
dictData:'cost_consultation_industry_nature,industry,engineering_status',
serchList: [
{
label: '项目名称',
@ -115,6 +113,21 @@ export const manage_project:Iconfig = {
label: '项目编号',
value: "project_code",
},
{
label:"性质",
value:'nature',
select:'cost_consultation_industry_nature'
},
{
label:"行业",
value:'industry',
select:"industry"
},
{
label:"工程状态",
value:'engineering_status',
select:"engineering_status"
}
],
tableList: [
@ -132,3 +145,122 @@ export const manage_project:Iconfig = {
]
}
export const supervision_dangerous_engineering_monitoring:Iconfig = {
fetchFn: apiSupervisionDangerousEngineeringMonitoringLists,
dictData:'partial_project',
serchList: [
{
label: '危大工程类型',
value: "type"
},
{
label:"分部分项工程",
value:'partial_project',
select:"partial_project"
},
{
label:"施工部位",
value:'position',
}
],
tableList: [
{ project_name: "项目名称" },
{ type_text: "危大工程类型" },
{ partial_project_text: "分部分项工程" },
{ planned_construction_time: "计划施工时间" },
{ position: "施工部位" },
]
}
export const supervision_material_entry:Iconfig = {
fetchFn: apiSupervisionMaterialEntryLists,
serchList: [
{
label: '进场主题',
value: "theme"
},
{
label:"编号",
value:'code',
},
],
tableList: [
{ project_name: "项目名称" },
{ company_name: "采购单位" },
{ theme: "进场主题" },
{ code: "编号" },
{ enter_time: "进场时间" },
{ enter_result_text: "进场结果" },
{ parallel_test_text: "是否平行检验" },
]
}
export const supervision_material_equipment_info:Iconfig = {
fetchFn: apiSupervisionMaterialEntryLists,
serchList: [
{
label: '材料/设备名称',
value: "name"
},
{
label:"材料/设备品牌",
value:'brand',
},
{
label:"合同约定品牌",
value:'brand',
select:[
{
name:"否",
value:"0"
},
{
name:"是",
value:"1"
},
]
},
],
tableList: [
{ project_name: "项目名称" },
{ name: "材料/设备名称" },
{ brand: "材料/设备品牌" },
{ model: "型号" },
{ unit: "计数单位" },
{ number: "计划数量" },
{ contract_brand_text: "合同约定品牌" },
{ type_text: "类型" },
{ remark: "备注" },
]
}
export const supervision_participating_units_qualifications:Iconfig = {
fetchFn: apiSupervisionParticipatingUnitsQualificationsLists,
serchList: [
{
label: '资质名称',
value: "qualification_name"
},
{
label:"资质编号",
value:'qualification_number',
},
],
tableList: [
{ project_name: "项目名称" },
{ company_id: "所属单位" },
{ qualification_name: "资质名称" },
{ qualification_number: "资质编号" },
{ get_date: "发证日期" },
{ effective_date: "有效日期" },
{ qualification_status_text: "资质状态" },
{ remark: "备注" },
]
}

View File

@ -4,8 +4,7 @@
<el-form class="mb-[-16px]" :model="queryParams" inline>
<el-form-item :label="item.label" v-for="(item, index) in config.serchList" :key="index">
<el-select v-model="queryParams[item.value]" v-if="item.select">
<el-select v-model="queryParams[item.value]" v-if="item.select" :disabled="isDisabled(item.value)">
<el-option :label="i.name" :value="i.value" v-for="i in item.select"
v-if="Array.isArray(item.select)"></el-option>
<el-option v-for="(i, index) in dictData[item.select]" :key="index" :label="i.name"
@ -32,7 +31,6 @@
</template>
</el-table-column>
</el-table>
</div>
<div class="flex justify-end mt-4">
<pagination v-model="pager" @change="getLists" />
@ -59,12 +57,32 @@ const props = defineProps({
})
/**根据传入的config生成queryParmas */
const getParmasFn = () => {
const arr = props.config.serchList.map((item: any) => (item.value))
const result = arr.reduce((acc: any, curr: any) => {
acc[curr] = '';
return acc;
}, {});
const mergedObj = Object.assign({}, result, props.query);
return mergedObj
}
/**判断是否需要disabled的搜索框*/
const isDisabled = (key: String) => {
if (!props.query) return
return Object.keys(props.query).includes(key)
}
//
const queryParams = reactive({
...props.query
...getParmasFn()
});
// const { dictData } = useDictData(props.config.serchList.map(item => (item.select)) 'check_item_node_type')
const { dictData } = useDictData(props.config.dictData)
//
const emits = defineEmits(["customEvent"]);

View File

@ -1,108 +0,0 @@
<template>
<div>
<el-card class="!border-none" v-loading="pager.loading" shadow="never">
<el-form class="mb-[-16px]" :model="queryParams" inline>
<el-form-item label="节点名称" prop="node_name">
<el-input class="w-[280px]" v-model="queryParams.node_name" clearable placeholder="请输入节点名称" />
</el-form-item>
<el-form-item label="节点类型" prop="node_type">
<el-select class="flex-1" v-model="queryParams.node_type" clearable placeholder="请选择节点类型">
<el-option v-for="(item, index) in dictData.check_item_node_type" :key="index"
:label="item.name" :value="parseInt(item.value)" />
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="resetPage">查询</el-button>
<el-button @click="resetParams">重置</el-button>
</el-form-item>
</el-form>
<div class="mt-4">
<el-table :data="pager.lists" @cell-click="handleCurrentChange" row-key="id"
@selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" v-if="multipleChoice" />
<el-table-column label="项目名称" prop="project_name" show-overflow-tooltip />
<el-table-column label="节点名称" prop="node_name" show-overflow-tooltip />
<el-table-column label="节点类型" prop="node_type_text" show-overflow-tooltip />
<el-table-column label="节点编号" prop="node_code" show-overflow-tooltip />
<el-table-column label="检查依据" prop="inspection_basis" show-overflow-tooltip>
<template #default="{ row }">
<el-link type="primary"
@click="htmlContent = row.inspection_basis, dialogTableVisible = true, tit = '检查依据'">查看</el-link>
</template>
</el-table-column>
<el-table-column label="参考法规" prop="reference_law" show-overflow-tooltip>
<template #default="{ row }">
<el-link type="primary"
@click="htmlContent = row.reference_law, dialogTableVisible = true, tit = '参考法规'">查看</el-link>
</template>
</el-table-column>
</el-table>
</div>
<div class="flex justify-end mt-4">
<pagination v-model="pager" @change="getLists" />
</div>
<div class="flex justify-end mt-4" v-if="multipleChoice">
<el-button type="primary" @click="confirm">确定</el-button>
</div>
<el-dialog v-model="dialogTableVisible" :title="tit" width="800">
<div v-html="htmlContent"></div>
</el-dialog>
</el-card>
</div>
</template>
<script lang="ts" setup>
import { usePaging } from "@/hooks/usePaging"
import { apiSupervisionCheckItemLists } from '@/api/supervision_check_item'
import { defineEmits } from "vue"
import { useDictData } from '@/hooks/useDictOptions'
const props = defineProps({
project_id: Number,
node_type: Number,
multipleChoice: Boolean
})
//
//
const queryParams = reactive({
node_name: '',
project_id: props.project_id || "",
node_type: props.node_type || ""
})
const { dictData } = useDictData('check_item_node_type')
const multipleSelection = ref([])
const dialogTableVisible = ref(false)
const tit = ref('')
const htmlContent = ref('')
//
const emits = defineEmits(["customEvent"]);
//
const handleCurrentChange = (value: any) => {
if (props.multipleChoice) return
emits("customEvent", value);
};
const handleSelectionChange = (val) => {
multipleSelection.value = val
}
const confirm = () => {
emits("customEvent", multipleSelection.value);
}
//
const { pager, getLists, resetParams, resetPage } = usePaging({
fetchFun: apiSupervisionCheckItemLists,
params: queryParams,
});
getLists();
</script>

View File

@ -1,77 +0,0 @@
<template>
<div>
<el-card class="!border-none" v-loading="pager.loading" shadow="never">
<el-form class="mb-[-16px]" :model="queryParams" inline>
<!-- <el-form-item label="编号" prop="inspection_code">
<el-input class="w-[280px]" v-model="queryParams.inspection_code" clearable placeholder="请输入编号" />
</el-form-item> -->
<!-- <el-form-item label="节点类型" prop="node_type">
<el-select class="flex-1" v-model="queryParams.node_type" clearable placeholder="请选择节点类型">
<el-option v-for="(item, index) in dictData.check_item_node_type" :key="index" :label="item.name"
:value="parseInt(item.value)" />
</el-select>
</el-form-item> -->
<!-- <el-form-item>
<el-button type="primary" @click="resetPage">查询</el-button>
<el-button @click="resetParams">重置</el-button>
</el-form-item> -->
</el-form>
<div class="mt-4">
<el-table :data="pager.lists" @cell-click="handleCurrentChange"
@selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" />
<el-table-column label="检查类别" prop="check_type" show-overflow-tooltip />
<el-table-column label="检查类容" prop="check_content" show-overflow-tooltip />
<el-table-column label="是否必填" prop="must_check_text" show-overflow-tooltip />
</el-table>
</div>
<div class="flex justify-end mt-4">
<pagination v-model="pager" @change="getLists" />
</div>
<div class="flex justify-end mt-4">
<el-button type="primary" @click="confirm">确定</el-button>
</div>
</el-card>
</div>
</template>
<script lang="ts" setup>
import { usePaging } from "@/hooks/usePaging"
import { apisupervision_check_item_detailLists } from '@/api/supervision_check_item'
import { defineEmits } from "vue"
import { useDictData } from '@/hooks/useDictOptions'
const props = defineProps({
node_id: Number | String
})
//
//
const queryParams = reactive({
node_id: props.node_id
})
const { dictData } = useDictData('check_item_node_type')
const multipleSelection = ref([])
//
const emits = defineEmits(["customEvent"]);
//
const handleCurrentChange = (value: any) => {
emits("customEvent", [value]);
};
const handleSelectionChange = (val) => {
multipleSelection.value = val
}
const confirm = () => {
emits("customEvent", multipleSelection.value);
}
//
const { pager, getLists, resetParams, resetPage } = usePaging({
fetchFun: apisupervision_check_item_detailLists,
params: queryParams,
});
getLists();
</script>

View File

@ -1,71 +0,0 @@
<template>
<div>
<el-card class="!border-none" v-loading="pager.loading" shadow="never">
<el-form class="mb-[-16px]" :model="queryParams" inline>
<el-form-item label="危大工程类型" prop="type">
<el-input class="w-[280px]" v-model="queryParams.type" clearable placeholder="请输入危大工程类型" />
</el-form-item>
<el-form-item label="分部分项工程" prop="partial_project">
<el-select class="flex-1" v-model="queryParams.partial_project" clearable placeholder="请选择分部分项工程">
<el-option v-for="(item, index) in dictData.partial_project" :key="index" :label="item.name"
:value="parseInt(item.value)" />
</el-select>
</el-form-item>
<el-form-item label="施工部位" prop="position">
<el-input class="w-[280px]" v-model="queryParams.position" clearable placeholder="请输入施工部位" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="resetPage">查询</el-button>
<el-button @click="resetParams">重置</el-button>
</el-form-item>
</el-form>
<div class="mt-4">
<el-table :data="pager.lists" @cell-click="handleCurrentChange">
<el-table-column label="项目名称" prop="project_name" show-overflow-tooltip />
<el-table-column label="危大工程类型" prop="type_text" show-overflow-tooltip />
<el-table-column label="分部分项工程" prop="partial_project_text" show-overflow-tooltip />
<el-table-column label="计划施工时间" prop="planned_construction_time" show-overflow-tooltip />
<el-table-column label="施工部位" prop="position" show-overflow-tooltip />
</el-table>
</div>
<div class="flex justify-end mt-4">
<pagination v-model="pager" @change="getLists" />
</div>
</el-card>
</div>
</template>
<script lang="ts" setup>
import { usePaging } from "@/hooks/usePaging"
import { apiSupervisionDangerousEngineeringMonitoringLists, } from '@/api/supervision_dangerous_engineering_monitoring'
import { defineEmits } from "vue"
import { useDictData } from '@/hooks/useDictOptions'
//
//
const queryParams = reactive({
type: '',
partial_project: '',
position: ''
})
const { dictData } = useDictData('partial_project')
const multipleSelection = ref([])
//
const emits = defineEmits(["customEvent"]);
//
const handleCurrentChange = (value: any) => {
emits("customEvent", value);
};
//
const { pager, getLists, resetParams, resetPage } = usePaging({
fetchFun: apiSupervisionDangerousEngineeringMonitoringLists,
params: queryParams,
});
getLists();
</script>

View File

@ -1,77 +0,0 @@
<template>
<div>
<el-card class="!border-none" v-loading="pager.loading" shadow="never">
<el-form class="mb-[-16px]" :model="queryParams" inline>
<el-form-item label="进场主题" prop="theme">
<el-input class="w-[280px]" v-model="queryParams.theme" clearable placeholder="请输入进场主题" />
</el-form-item>
<el-form-item label="编号" prop="code">
<el-input class="w-[280px]" v-model="queryParams.code" clearable placeholder="请输入编号" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="resetPage">查询</el-button>
<el-button @click="resetParams">重置</el-button>
</el-form-item>
</el-form>
<div class="mt-4">
<el-table :data="pager.lists" @cell-click="handleCurrentChange">
<el-table-column label="项目" prop="project_name" show-overflow-tooltip />
<el-table-column label="采购单位" prop="company_name" show-overflow-tooltip />
<el-table-column label="进场主题" prop="theme" show-overflow-tooltip />
<!-- <el-table-column label="材料名称" prop="name" show-overflow-tooltip />
<el-table-column label="型号" prop="model" show-overflow-tooltip />
<el-table-column label="数量" prop="entry_number" show-overflow-tooltip />
<el-table-column label="合同约定品牌" prop="contract_brand_text" show-overflow-tooltip /> -->
<!-- <el-table-column label="取样数量" prop="theme" show-overflow-tooltip /> -->
<!-- <el-table-column label="取样结果" prop="theme" show-overflow-tooltip /> -->
<el-table-column label="编号" prop="code" show-overflow-tooltip />
<el-table-column label="进场时间" prop="enter_time" show-overflow-tooltip />
<el-table-column label="进场结果" prop="enter_result_text" show-overflow-tooltip />
<el-table-column label="是否平行检验" prop="parallel_test_text" show-overflow-tooltip />
</el-table>
</div>
<div class="flex justify-end mt-4">
<pagination v-model="pager" @change="getLists" />
</div>
</el-card>
</div>
</template>
<script lang="ts" setup>
import { usePaging } from "@/hooks/usePaging"
// import { apiSupervisionMaterialEquipmentInfoLists, } from '@/api/supervision_material_equipment_info'
import { apiSupervisionMaterialEntryLists } from '@/api/supervision_material_entry'
import { defineEmits } from "vue"
import { useDictData } from '@/hooks/useDictOptions'
const props = defineProps({
project_id: Number,
task_allocation: Number
})
//
const queryParams = reactive({
name: '',
brand: '',
model: '',
contract_brand: '',
type: ''
});
const { dictData } = useDictData('')
//
const emits = defineEmits(["customEvent"]);
//
const handleCurrentChange = (value: any) => {
emits("customEvent", value);
};
//
const { pager, getLists, resetParams, resetPage } = usePaging({
fetchFun: apiSupervisionMaterialEntryLists,
params: queryParams,
});
getLists();
</script>

View File

@ -1,78 +0,0 @@
<template>
<div>
<el-card class="!border-none" v-loading="pager.loading" shadow="never">
<el-form class="mb-[-16px]" :model="queryParams" inline>
<el-form-item label="材料/设备名称" prop="name">
<el-input class="w-[280px]" v-model="queryParams.name" clearable placeholder="请输入材料/设备名称" />
</el-form-item>
<el-form-item label="材料/设备品牌" prop="brand">
<el-input class="w-[280px]" v-model="queryParams.brand" clearable placeholder="请输入材料/设备品牌" />
</el-form-item>
<el-form-item label="合同约定品牌" prop="contract_brand">
<el-select v-model="queryParams.contract_brand">
<el-option label="否" value="0"></el-option>
<el-option label="是" value="1"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="resetPage">查询</el-button>
<el-button @click="resetParams">重置</el-button>
</el-form-item>
</el-form>
<div class="mt-4">
<el-table :data="pager.lists" @cell-click="handleCurrentChange">
<el-table-column label="项目名称" prop="project_name" show-overflow-tooltip />
<el-table-column label="材料/设备名称" prop="name" show-overflow-tooltip />
<el-table-column label="材料/设备品牌" prop="brand" show-overflow-tooltip />
<el-table-column label="型号" prop="model" show-overflow-tooltip />
<el-table-column label="计数单位" prop="unit" show-overflow-tooltip />
<el-table-column label="计划数量" prop="number" show-overflow-tooltip />
<el-table-column label="合同约定品牌" prop="contract_brand_text" show-overflow-tooltip />
<el-table-column label="类型" prop="type_text" show-overflow-tooltip />
<el-table-column label="备注" prop="remark" show-overflow-tooltip />
</el-table>
</div>
<div class="flex justify-end mt-4">
<pagination v-model="pager" @change="getLists" />
</div>
</el-card>
</div>
</template>
<script lang="ts" setup>
import { usePaging } from "@/hooks/usePaging"
import { apiSupervisionMaterialEquipmentInfoLists, } from '@/api/supervision_material_equipment_info'
import { defineEmits } from "vue"
import { useDictData } from '@/hooks/useDictOptions'
const props = defineProps({
project_id: Number,
task_allocation: Number
})
//
const queryParams = reactive({
name: '',
brand: '',
model: '',
contract_brand: '',
type: ''
});
const { dictData } = useDictData('')
//
const emits = defineEmits(["customEvent"]);
//
const handleCurrentChange = (value: any) => {
emits("customEvent", value);
};
//
const { pager, getLists, resetParams, resetPage } = usePaging({
fetchFun: apiSupervisionMaterialEquipmentInfoLists,
params: queryParams,
});
getLists();
</script>

View File

@ -1,74 +0,0 @@
<template>
<div>
<el-card class="!border-none" v-loading="pager.loading" shadow="never">
<el-form class="mb-[-16px]" :model="queryParams" inline>
<el-form-item label="资质名称" prop="qualification_name">
<el-input class="w-[280px]" v-model="queryParams.qualification_name" clearable placeholder="请输入资质名称" />
</el-form-item>
<el-form-item label="资质编号" prop="qualification_number">
<el-input class="w-[280px]" v-model="queryParams.qualification_number" clearable
placeholder="请输入资质编号" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="resetPage">查询</el-button>
<el-button @click="resetParams">重置</el-button>
</el-form-item>
</el-form>
<div class="mt-4">
<el-table :data="pager.lists" @cell-click="handleCurrentChange">
<el-table-column label="项目名称" prop="project_name" show-overflow-tooltip />
<el-table-column label="所属单位" prop="company_id" show-overflow-tooltip />
<el-table-column label="资质名称" prop="qualification_name" show-overflow-tooltip />
<el-table-column label="资质编号" prop="qualification_number" show-overflow-tooltip />
<el-table-column label="发证日期" prop="get_date" show-overflow-tooltip />
<el-table-column label="有效日期" prop="effective_date" show-overflow-tooltip />
<el-table-column label="资质状态" prop="qualification_status_text" show-overflow-tooltip />
<el-table-column label="备注" prop="remark" show-overflow-tooltip />
</el-table>
</div>
<div class="flex justify-end mt-4">
<pagination v-model="pager" @change="getLists" />
</div>
</el-card>
</div>
</template>
<script lang="ts" setup>
import { usePaging } from "@/hooks/usePaging"
// import { apiSupervisionParticipatingUnitsLists, } from '@/api/supervision_participating_units'
import { apiSupervisionParticipatingUnitsQualificationsLists } from '@/api/supervision_participating_units_qualifications'
import { defineEmits } from "vue"
const props = defineProps({
project_id: Number
})
//
const queryParams = reactive({
qualification_name: '',
qualification_number: "",
project_id: props.project_id || ''
});
//
const emits = defineEmits(["customEvent"]);
//
const handleCurrentChange = (value: any) => {
emits("customEvent", value);
};
//
const { pager, getLists, resetParams, resetPage } = usePaging({
fetchFun: apiSupervisionParticipatingUnitsQualificationsLists,
params: queryParams,
});
getLists();
</script>

View File

@ -0,0 +1,212 @@
<template>
<div class="edit-popup">
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit"
@close="handleClose">
<el-form ref="formRef" :model="formData" label-width="100px" :rules="formRules">
<el-form-item label="项目名称" prop="project_name">
<el-input v-model="formData.project_name" clearable placeholder="点击选择项目" readonly
@click="showDialog = true" />
</el-form-item>
<el-form-item label="信息摘要" prop="abstract">
<el-input v-model="formData.abstract" clearable placeholder="请输入信息摘要" />
</el-form-item>
<el-form-item label="发生日期" prop="happen_date">
<el-date-picker class="flex-1 !flex" v-model="formData.happen_date" clearable type="date"
value-format="YYYY-MM-DD" placeholder="请选择日期">
</el-date-picker>
</el-form-item>
<el-form-item label="严重程度" prop="severity">
<el-select class="flex-1" v-model="formData.severity" clearable placeholder="请选择严重程度">
<el-option v-for="(item, index) in dictData.severity" :key="index" :label="item.name"
:value="parseInt(item.value)" />
</el-select>
</el-form-item>
<el-form-item label="信息类别" prop="info_cate">
<el-checkbox-group v-model="formData.info_cate">
<el-checkbox v-for="(item, index) in dictData.info_cate" :key="index" :label="item.value">{{
item.name }}</el-checkbox>
</el-checkbox-group>
</el-form-item>
<el-form-item label=" 信息内容" prop="content">
<el-input v-model="formData.content" clearable placeholder="请输入信息内容" />
</el-form-item>
<el-form-item label="项目部意见" prop="opinions">
<el-input v-model="formData.opinions" clearable placeholder="请输入项目部意见" />
</el-form-item>
<el-form-item label="主送人" prop="giver">
<el-input v-model="formData.giver" clearable placeholder="请输入主送人" />
</el-form-item>
<el-form-item label="附件" prop="annex">
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
@delFile="delFileFn" />
</el-form-item>
<el-form-item label="创建人" prop="create_user">
<el-input v-model="formData.create_user" clearable placeholder="请输入创建人" />
</el-form-item>
<el-form-item label="创建时间" prop="create_time">
<el-date-picker class="flex-1 !flex" v-model="formData.create_time" clearable type="datetime"
value-format="YYYY-MM-DD HH:mm:ss" placeholder="请选择日期">
</el-date-picker>
</el-form-item>
</el-form>
<el-dialog v-model="showDialog" title="选择项目" width="70%">
<dialogTable @customEvent="customEvent" :config="manage_project" />
</el-dialog>
</popup>
</div>
</template>
<script lang="ts" setup name="manageInfoReportEdit">
import type { FormInstance } from 'element-plus'
import Popup from '@/components/popup/index.vue'
import { apiManageInfoReportAdd, apiManageInfoReportEdit, apiManageInfoReportDetail } from '@/api/manage_info_report'
import { manage_project } from "@/components/dialogTable/dialogTableConfig"
import type { PropType } from 'vue'
defineProps({
dictData: {
type: Object as PropType<Record<string, any[]>>,
default: () => ({})
}
})
const emit = defineEmits(['success', 'close'])
const formRef = shallowRef<FormInstance>()
const popupRef = shallowRef<InstanceType<typeof Popup>>()
const mode = ref('add')
const showDialog = 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 formData = reactive({
id: '',
project_id: '',
project_name: "",
create_time: "",
abstract: '',
happen_date: '',
severity: '',
info_cate: [],
content: '',
opinions: '',
giver: '',
annex: [],
create_user: '',
})
const customEvent = (e: any) => {
formData.project_id = e.id
formData.project_name = e.project_name
showDialog.value = false
}
//
const formRules = reactive<any>({
project_id: [{
required: true,
message: '请输入项目id',
trigger: ['blur']
}],
abstract: [{
required: true,
message: '请输入信息摘要',
trigger: ['blur']
}],
happen_date: [{
required: true,
message: '请输入发生日期',
trigger: ['blur']
}],
severity: [{
required: true,
message: '请输入严重程度',
trigger: ['blur']
}],
content: [{
required: true,
message: '请输入信息内容',
trigger: ['blur']
}],
opinions: [{
required: true,
message: '请输入项目部意见',
trigger: ['blur']
}],
giver: [{
required: true,
message: '请输入主送人',
trigger: ['blur']
}],
create_user: [{
required: true,
message: '请输入创建人',
trigger: ['blur']
}]
})
//
const setFormData = async (data: Record<any, any>) => {
for (const key in formData) {
if (data[key] != null && data[key] != undefined) {
//@ts-ignore
formData[key] = data[key]
}
}
}
const getDetail = async (row: Record<string, any>) => {
const data = await apiManageInfoReportDetail({
id: row.id
})
setFormData(data)
}
//
const handleSubmit = async () => {
await formRef.value?.validate()
const data = { ...formData, }
mode.value == 'edit'
? await apiManageInfoReportEdit(data)
: await apiManageInfoReportAdd(data)
popupRef.value?.close()
emit('success')
}
//
const open = (type = 'add') => {
mode.value = type
popupRef.value?.open()
}
//
const handleClose = () => {
emit('close')
}
defineExpose({
open,
setFormData,
getDetail
})
</script>

View File

@ -0,0 +1,122 @@
<template>
<div>
<el-card class="!border-none mb-4" shadow="never">
<el-form class="mb-[-16px]" :model="queryParams" inline>
<el-form-item label="严重程度" prop="severity">
<el-select class="flex-1" v-model="queryParams.severity" clearable placeholder="请选择严重程度">
<el-option v-for="(item, index) in dictData.severity" :key="index" :label="item.name"
:value="parseInt(item.value)" />
</el-select>
</el-form-item>
<el-form-item label="主送人" prop="giver">
<el-input class="w-[280px]" v-model="queryParams.giver" clearable placeholder="请输入主送人" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="resetPage">查询</el-button>
<el-button @click="resetParams">重置</el-button>
</el-form-item>
</el-form>
</el-card>
<el-card class="!border-none" v-loading="pager.loading" shadow="never">
<el-button v-perms="['manage_communication.manage_info_report/add']" type="primary" @click="handleAdd">
<template #icon>
<icon name="el-icon-Plus" />
</template>
新增
</el-button>
<el-button v-perms="['manage_communication.manage_info_report/delete']" :disabled="!selectData.length"
@click="handleDelete(selectData)">
删除
</el-button>
<div class="mt-4">
<el-table :data="pager.lists" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" />
<el-table-column label="项目名称" prop="project_name" show-overflow-tooltip />
<el-table-column label="信息摘要" prop="abstract" show-overflow-tooltip />
<el-table-column label="发生日期" prop="happen_date" show-overflow-tooltip />
<el-table-column label="严重程度" prop="severity_text" show-overflow-tooltip />
<el-table-column label="信息类别" prop="info_cate_text" show-overflow-tooltip />
<el-table-column label="主送人" prop="giver" show-overflow-tooltip />
<el-table-column label="操作" width="120" fixed="right">
<template #default="{ row }">
<el-button v-perms="['manage_communication.manage_info_report/edit']" type="primary" link
@click="handleEdit(row)">
编辑
</el-button>
<el-button v-perms="['manage_communication.manage_info_report/delete']" type="danger" link
@click="handleDelete(row.id)">
删除
</el-button>
</template>
</el-table-column>
</el-table>
</div>
<div class="flex mt-4 justify-end">
<pagination v-model="pager" @change="getLists" />
</div>
</el-card>
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
</div>
</template>
<script lang="ts" setup name="manageInfoReportLists">
import { usePaging } from '@/hooks/usePaging'
import { useDictData } from '@/hooks/useDictOptions'
import { apiManageInfoReportLists, apiManageInfoReportDelete, apiManageInfoReportDetail } from '@/api/manage_info_report'
import feedback from '@/utils/feedback'
import EditPopup from './edit.vue'
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
//
const showEdit = ref(false)
//
const queryParams = reactive({
project_id: '',
severity: '',
giver: ''
})
//
const selectData = ref<any[]>([])
//
const handleSelectionChange = (val: any[]) => {
selectData.value = val.map(({ id }) => id)
}
//
const { dictData } = useDictData('severity,info_cate')
//
const { pager, getLists, resetParams, resetPage } = usePaging({
fetchFun: apiManageInfoReportLists,
params: queryParams
})
//
const handleAdd = async () => {
showEdit.value = true
await nextTick()
editRef.value?.open('add')
}
//
const handleEdit = async (data: any) => {
let res = await apiManageInfoReportDetail({ id: data.id })
showEdit.value = true
await nextTick()
editRef.value?.open('edit')
editRef.value?.setFormData(res)
}
//
const handleDelete = async (id: number | any[]) => {
await feedback.confirm('确定要删除?')
await apiManageInfoReportDelete({ id })
getLists()
}
getLists()
</script>

View File

@ -92,7 +92,6 @@
<el-dialog v-model="showDialog1" width="70%" :title="flag ? '检查表单' : '选择施工单位'">
<dialogTable :config="supervision_check_item" @customEvent="customEvents" :multipleChoice="flag"
:query="{ project_id: formData.project_id, node_type: flag ? '' : 2 }"></dialogTable>
<!-- <supervision_check_item @customEvent="customEvent1"></supervision_check_item> -->
</el-dialog>
</div>
<div v-if="showDialog2">
@ -195,9 +194,9 @@
<script lang="ts" setup name="supervisionInspectionEdit">
import type { FormInstance } from 'element-plus'
import Popup from '@/components/popup/index.vue'
import { apisupervision_inspection_result_delete, apisupervision_problem_delete, apiSupervisionInspectionDetail, apisupervision_inspection_result, apisupervision_problem } from '@/api/supervision_inspection'
import { apisupervision_inspection_result_delete, apisupervision_problem_delete, apiSupervisionInspectionDetail, apisupervision_problem } from '@/api/supervision_inspection'
import { apisupervision_check_item_detailLists } from '@/api/supervision_check_item'
import { apiSupervisionAcceptAdd, apiSupervisionAcceptEdit, apiSupervisionAcceptDetail, apisupervision_accept_result, apisupervision_accept_result_delete } from '@/api/supervision_accept'
import { apiSupervisionAcceptAdd, apiSupervisionAcceptEdit, apisupervision_accept_result, apisupervision_accept_result_delete } from '@/api/supervision_accept'
import type { PropType } from 'vue'
import { supervision_project, supervision_participating_units, supervision_check_item } from "@/components/dialogTable/dialogTableConfig"

View File

@ -88,7 +88,7 @@
<dialogTable @customEvent="customEvent" :config="supervision_project" />
</el-dialog>
<el-dialog v-model="showDialog1" title="选择父节点" width="70%">
<supervision_check_item @customEvent="customEvent1"></supervision_check_item>
<dialogTable :config="supervision_check_item" @customEvent="customEvent1"></dialogTable>
</el-dialog>
</el-form>
</popup>
@ -101,6 +101,9 @@ import Popup from '@/components/popup/index.vue'
import { apiSupervisionCheckItemAdd, apiSupervisionCheckItemEdit, apiSupervisionCheckItemDetail, apisupervision_check_item_detailLists, apisupervision_check_item_detail_delete } from '@/api/supervision_check_item'
import { supervision_project } from "@/components/dialogTable/dialogTableConfig"
import type { PropType } from 'vue'
import { supervision_check_item } from "@/components/dialogTable/dialogTableConfig"
defineProps({
dictData: {
type: Object as PropType<Record<string, any[]>>,

View File

@ -26,8 +26,8 @@
</el-form>
<el-dialog v-model="showDialog" title="选择危大工程监控" width="70%">
<supervision_dangerous_engineering_monitoring @customEvent="customEvent">
</supervision_dangerous_engineering_monitoring>
<dialogTable :config="supervision_dangerous_engineering_monitoring" @customEvent="customEvent">
</dialogTable>
</el-dialog>
</popup>
@ -38,7 +38,7 @@
import type { FormInstance } from 'element-plus'
import Popup from '@/components/popup/index.vue'
import { apiSupervisionDangerousEngineeringCaseAdd, apiSupervisionDangerousEngineeringCaseEdit, apiSupervisionDangerousEngineeringCaseDetail } from '@/api/supervision_dangerous_engineering_case'
import { timeFormat } from '@/utils/util'
import { supervision_dangerous_engineering_monitoring } from "@/components/dialogTable/dialogTableConfig"
import type { PropType } from 'vue'
defineProps({
dictData: {

View File

@ -23,8 +23,8 @@
</el-form-item>
</el-form>
<el-dialog v-model="showDialog" title="选择危大工程监控" width="70%">
<supervision_dangerous_engineering_monitoring @customEvent="customEvent">
</supervision_dangerous_engineering_monitoring>
<dialogTable :config="supervision_dangerous_engineering_monitoring" @customEvent="customEvent">
</dialogTable>
</el-dialog>
</popup>
</div>
@ -34,7 +34,7 @@
import type { FormInstance } from 'element-plus'
import Popup from '@/components/popup/index.vue'
import { apiSupervisionDangerousEngineeringConstructionAdd, apiSupervisionDangerousEngineeringConstructionEdit, apiSupervisionDangerousEngineeringConstructionDetail } from '@/api/supervision_dangerous_engineering_construction'
import { timeFormat } from '@/utils/util'
import { supervision_dangerous_engineering_monitoring } from "@/components/dialogTable/dialogTableConfig"
import type { PropType } from 'vue'
defineProps({
dictData: {

View File

@ -26,8 +26,8 @@
</el-form-item>
</el-form>
<el-dialog v-model="showDialog" title="选择危大工程监控" width="70%">
<supervision_dangerous_engineering_monitoring @customEvent="customEvent">
</supervision_dangerous_engineering_monitoring>
<dialogTable :config="supervision_dangerous_engineering_monitoring" @customEvent="customEvent">
</dialogTable>
</el-dialog>
</popup>
</div>
@ -37,7 +37,7 @@
import type { FormInstance } from 'element-plus'
import Popup from '@/components/popup/index.vue'
import { apiSupervisionDangerousEngineeringEliminateAdd, apiSupervisionDangerousEngineeringEliminateEdit, apiSupervisionDangerousEngineeringEliminateDetail } from '@/api/supervision_dangerous_engineering_eliminate'
import { timeFormat } from '@/utils/util'
import { supervision_dangerous_engineering_monitoring } from "@/components/dialogTable/dialogTableConfig"
import type { PropType } from 'vue'
defineProps({
dictData: {

View File

@ -48,9 +48,8 @@
</el-dialog>
<div v-if="showDialog1">
<el-dialog v-model="showDialog1" title="选择单位工程" width="70%">
<supervision_check_item @customEvent="customEvents" :project_id="formData.project_id"
:node_type="2">
</supervision_check_item>
<dialogTable :config="supervision_check_item" @customEvent="customEvents"
:query="{ project_id: formData.project_id, node_type: 2 }"></dialogTable>
</el-dialog>
</div>
</popup>
@ -61,7 +60,7 @@
import type { FormInstance } from 'element-plus'
import Popup from '@/components/popup/index.vue'
import { apiSupervisionDangerousEngineeringMonitoringAdd, apiSupervisionDangerousEngineeringMonitoringEdit, apiSupervisionDangerousEngineeringMonitoringDetail } from '@/api/supervision_dangerous_engineering_monitoring'
import { supervision_project } from "@/components/dialogTable/dialogTableConfig"
import { supervision_project, supervision_check_item } from "@/components/dialogTable/dialogTableConfig"
import type { PropType } from 'vue'

View File

@ -55,8 +55,9 @@
</el-dialog>
</div>
<el-dialog v-model="showDialog3" title="选择材料信息" width="70%">
<supervision_material_equipment_info @customEvent="customEvent2">
</supervision_material_equipment_info>
<dialogTable :config="supervision_material_equipment_info" @customEvent="customEvent2">
</dialogTable>
</el-dialog>
</el-form>
<div style="margin-bottom: 30px;">设备信息</div>
@ -172,7 +173,7 @@ import { apiSupervisionDeviceEntryAdd, apiSupervisionDeviceEntryEdit, apiSupervi
import { apisupervision_problem_delete, apisupervision_problem } from '@/api/supervision_inspection'
import { supervision_project } from "@/components/dialogTable/dialogTableConfig"
import type { PropType } from 'vue'
import { supervision_participating_units } from "@/components/dialogTable/dialogTableConfig"
import { supervision_participating_units, supervision_material_equipment_info } from "@/components/dialogTable/dialogTableConfig"
defineProps({

View File

@ -71,9 +71,8 @@
</el-dialog>
<div v-if="showDialog2">
<el-dialog v-model="showDialog2" width=" 70%" title="选择施工单位">
<supervision_check_item @customEvent="customEvent1" :project_id="formData.project_id"
:node_type="2">
</supervision_check_item>
<dialogTable :config="supervision_check_item" @customEvent="customEvent1"
:query="{ project_id: formData.project_id, node_type: 2 }"></dialogTable>
</el-dialog>
</div>
<div style="margin-bottom: 30px;">问题</div>
@ -120,7 +119,7 @@ import type { FormInstance } from 'element-plus'
import Popup from '@/components/popup/index.vue'
import { apiSupervisionEntityParallelTestingAdd, apiSupervisionEntityParallelTestingEdit, apiSupervisionEntityParallelTestingDetail } from '@/api/supervision_entity_parallel_testing'
import { supervision_project } from "@/components/dialogTable/dialogTableConfig"
import { apisupervision_problem_delete, apisupervision_problem } from '@/api/supervision_inspection'
import { apisupervision_problem_delete, apisupervision_problem, supervision_check_item } from '@/api/supervision_inspection'
import type { PropType } from 'vue'
defineProps({
dictData: {
@ -162,7 +161,7 @@ const formData = reactive({
end_time: '',
result: '',
remark: '',
annex: '',
annex: [],
create_user: '',
problem: [{
"problem_cate": '',

View File

@ -120,10 +120,10 @@
<dialogTable @customEvent="customEvent" :config="supervision_project" />
</el-dialog>
<div v-if="showDialog1">
<el-dialog v-model="showDialog1" title="选择单位工程" width="70%" :title="flag ? '检查表单' : '选择施工单位'">
<supervision_check_item @customEvent="customEvents" :project_id="formData.project_id"
:node_type="flag ? '' : 2" :multipleChoice="flag">
</supervision_check_item>
<el-dialog v-model="showDialog1" width="70%" :title="flag ? '检查表单' : '选择施工单位'">
<dialogTable :config="supervision_check_item" @customEvent="customEvents"
:query="{ project_id: formData.project_id, node_type: flag ? '' : 2 }"
:multipleChoice="flag"></dialogTable>
</el-dialog>
</div>
<div v-if="showDialog2">
@ -221,7 +221,7 @@ import type { FormInstance } from 'element-plus'
import Popup from '@/components/popup/index.vue'
import { apiSupervisionInspectionAdd, apiSupervisionInspectionEdit, apisupervision_inspection_result_delete, apisupervision_problem_delete, apiSupervisionInspectionDetail, apisupervision_inspection_result, apisupervision_problem } from '@/api/supervision_inspection'
import { apisupervision_check_item_detailLists } from '@/api/supervision_check_item'
import { supervision_project } from "@/components/dialogTable/dialogTableConfig"
import { supervision_project, supervision_check_item } from "@/components/dialogTable/dialogTableConfig"
import type { PropType } from 'vue'
import { supervision_participating_units } from "@/components/dialogTable/dialogTableConfig"

View File

@ -1,6 +1,7 @@
<template>
<div class="edit-popup">
<popup ref="popupRef" :title="popupTitle" :async="true" width="60vw" @confirm="handleSubmit" @close="handleClose">
<popup ref="popupRef" :title="popupTitle" :async="true" width="60vw" @confirm="handleSubmit"
@close="handleClose">
<el-form ref="formRef" :model="formData" label-width="90px" :rules="formRules">
<el-row>
<el-col :span="8">
@ -33,7 +34,6 @@
</el-col>
<el-col :span="8">
<el-form-item label="发证日期1" prop="get_date_one">
<!-- <el-input v-model="formData.get_date_one" clearable placeholder="请输入发证日期1" /> -->
<el-date-picker class="flex-1 !flex" v-model="formData.get_date_one" clearable
value-format="YYYY-MM-DD " placeholder="选择日期">
</el-date-picker>
@ -43,7 +43,6 @@
<el-row>
<el-col :span="8">
<el-form-item label="有效日期1" prop="effective_date_one">
<!-- <el-input v-model="formData.effective_date_one" clearable placeholder="请输入有效日期1" /> -->
<el-date-picker class="flex-1 !flex" v-model="formData.effective_date_one" clearable
value-format="YYYY-MM-DD " placeholder="选择日期">
</el-date-picker>
@ -87,7 +86,6 @@
<el-row>
<el-col :span="8">
<el-form-item label="有效日期2" prop="effective_date_two">
<!-- <el-input v-model="formData.effective_date_two" clearable placeholder="请输入有效日期2" /> -->
<el-date-picker class="flex-1 !flex" v-model="formData.effective_date_two" clearable
value-format="YYYY-MM-DD " placeholder="选择日期">
</el-date-picker>
@ -124,8 +122,8 @@
</el-row>
<el-dialog v-model="showDialog1" title="选择单位" width="70%">
<supervision_participating_units_qualifications @customEvent="customEvent1">
</supervision_participating_units_qualifications>
<dialogTable :config="supervision_participating_units_qualifications" @customEvent="customEvent1">
</dialogTable>
</el-dialog>
</el-form>
</popup>
@ -136,8 +134,9 @@
import type { FormInstance } from 'element-plus'
import Popup from '@/components/popup/index.vue'
import { apiSupervisionLargeEquipmentAdd, apiSupervisionLargeEquipmentEdit } from '@/api/supervision_large_equipment'
import { timeFormat } from '@/utils/util'
import { supervision_participating_units_qualifications } from "@/components/dialogTable/dialogTableConfig"
import type { PropType } from 'vue'
defineProps({
dictData: {
type: Object as PropType<Record<string, any[]>>,
@ -188,7 +187,7 @@ const formData = reactive({
})
const customEvent1 = (e) => {
formData.unit_qualification_id = e.id
formData.company_name = e.project_name
formData.company_name = e.company_name
showDialog1.value = false
}

View File

@ -69,8 +69,8 @@
</el-dialog>
</div>
<el-dialog v-model="showDialog3" title="选择材料信息" width="70%">
<supervision_material_equipment_info @customEvent="customEvent2">
</supervision_material_equipment_info>
<dialogTable :config="supervision_material_equipment_info" @customEvent="customEvent2">
</dialogTable>
</el-dialog>
</el-form>
<div style="margin-bottom: 30px;">材料信息 <el-button type="primary" @click="handleAdd"
@ -134,7 +134,7 @@
import type { FormInstance } from 'element-plus'
import Popup from '@/components/popup/index.vue'
import { apiSupervisionMaterialEntryAdd, apiSupervisionMaterialEntryEdit, apiSupervisionMaterialEntryDetail, apisupervision_material_entry_detail, apisupervision_material_entry_detail_delete } from '@/api/supervision_material_entry'
import { supervision_project, supervision_participating_units } from "@/components/dialogTable/dialogTableConfig"
import { supervision_project, supervision_participating_units, supervision_material_equipment_info } from "@/components/dialogTable/dialogTableConfig"
import type { PropType } from 'vue'
defineProps({
dictData: {

View File

@ -209,7 +209,7 @@ defineExpose({
</el-dialog>
<el-dialog v-model="showDialog2" title="选择来源单据" width="70%">
<supervision_material_entry @customEvent="customEvent1"></supervision_material_entry>
<dialogTable :config="supervision_material_entry" @customEvent="customEvent1"></dialogTable>
</el-dialog>
</el-form>
<div style="margin-bottom: 30px;">材料信息</div>
@ -278,8 +278,7 @@ import Popup from '@/components/popup/index.vue'
import { apiSupervisionMaterialParallelTestingAdd, apiSupervisionMaterialParallelTestingEdit, apiSupervisionMaterialParallelTestingDetail } from '@/api/supervision_material_parallel_testing'
import { apisupervision_material_entry_detail, apisupervision_material_entry_detail_delete } from '@/api/supervision_material_entry'
import type { PropType } from 'vue'
import { supervision_project } from "@/components/dialogTable/dialogTableConfig"
import { supervision_project, supervision_material_entry } from "@/components/dialogTable/dialogTableConfig"
defineProps({
dictData: {
type: Object as PropType<Record<string, any[]>>,

View File

@ -65,11 +65,6 @@
</el-col>
</el-row>
<el-row>
<!-- <el-col :span="8">
<el-form-item label="巡视人员" prop="inspection_user">
<el-input v-model="formData.inspection_user" clearable placeholder="请输入巡视人员" />
</el-form-item>
</el-col> -->
<el-col :span="8">
<el-form-item label="施工单位" prop="company_name">
<el-input v-model="formData.company_name" clearable placeholder="点击选择施工单位" readonly
@ -105,11 +100,6 @@
</el-col>
</el-row>
<el-row>
<!-- <el-col :span="8">
<el-form-item label="创建人" prop="create_user">
<el-input v-model="formData.create_user" clearable placeholder="请输入创建人" />
</el-form-item>
</el-col> -->
<el-col :span="8">
<el-form-item label="附件" prop="annex">
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
@ -122,10 +112,10 @@
</el-dialog>
<div v-if="showDialog1">
<el-dialog v-model="showDialog1" title="选择单位工程" width="70%" :title="flag ? '检查表单' : '选择施工单位'">
<supervision_check_item @customEvent="customEvents" :project_id="formData.project_id"
:node_type="flag ? '' : 2" :multipleChoice="flag">
</supervision_check_item>
<el-dialog v-model="showDialog1" width="70%" :title="flag ? '检查表单' : '选择施工单位'">
<dialogTable :config="supervision_check_item" @customEvent="customEvents"
:query="{ project_id: formData.project_id, node_type: flag ? '' : 2 }"
:multipleChoice="flag"></dialogTable>
</el-dialog>
</div>
<div v-if="showDialog2">
@ -221,11 +211,11 @@
<script lang="ts" setup name="supervisionInspectionEdit">
import type { FormInstance } from 'element-plus'
import Popup from '@/components/popup/index.vue'
import { apiSupervisionInspectionDetail, apisupervision_inspection_result, apisupervision_problem, apisupervision_problem_delete } from '@/api/supervision_inspection'
import { apiSupervisionInspectionDetail, apisupervision_problem, apisupervision_problem_delete } from '@/api/supervision_inspection'
import { apisupervision_check_item_detailLists } from '@/api/supervision_check_item'
import { apiSupervisionSideStationAdd, apiSupervisionSideStationEdit, apiSupervisionSideStationDetail, apisupervision_side_station_result, apisupervision_side_station_resultDelete } from '@/api/supervision_side_station'
import { apiSupervisionSideStationAdd, apiSupervisionSideStationEdit, apisupervision_side_station_result, apisupervision_side_station_resultDelete } from '@/api/supervision_side_station'
import type { PropType } from 'vue'
import { supervision_project, supervision_participating_units } from "@/components/dialogTable/dialogTableConfig"
import { supervision_project, supervision_participating_units, supervision_check_item } from "@/components/dialogTable/dialogTableConfig"
defineProps({
dictData: {
@ -240,7 +230,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)
@ -320,8 +309,8 @@ const formData = reactive({
situation: '',
side_station_result: '',
side_station_user: '',
check_item_detail_ids: '',
annex: '',
check_item_detail_ids: [],
annex: [],
create_user: '',
project_name: '',
inspection_code: '',

View File

@ -50,7 +50,8 @@
<dialogTable @customEvent="customEvent" :config="supervision_project" />
</el-dialog>
<el-dialog v-model="showDialog2" title="选择来源单据" width="70%">
<supervision_material_entry @customEvent="customEvent1"></supervision_material_entry>
<dialogTable :config="supervision_material_entry" @customEvent="customEvent1"></dialogTable>
</el-dialog>
</el-form>
<div style="margin-bottom: 30px;">材料信息</div>
@ -118,7 +119,7 @@ import type { FormInstance } from 'element-plus'
import Popup from '@/components/popup/index.vue'
import { apiSupervisionWitnessSamplingAdd, apiSupervisionWitnessSamplingEdit, apiSupervisionWitnessSamplingDetail } from '@/api/supervision_witness_sampling'
import { supervision_project } from "@/components/dialogTable/dialogTableConfig"
import { apisupervision_material_entry_detail, } from '@/api/supervision_material_entry'
import { apisupervision_material_entry_detail, supervision_material_entry } from '@/api/supervision_material_entry'
import type { PropType } from 'vue'
defineProps({