add
This commit is contained in:
parent
804dd4dff6
commit
fbd24a3445
26
src/api/manage_info_report.ts
Normal file
26
src/api/manage_info_report.ts
Normal 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 })
|
||||
}
|
@ -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: "备注" },
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -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"]);
|
||||
|
@ -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>
|
@ -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>
|
@ -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>
|
@ -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>
|
@ -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>
|
@ -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>
|
212
src/views/manage_info_report/edit.vue
Normal file
212
src/views/manage_info_report/edit.vue
Normal 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>
|
122
src/views/manage_info_report/index.vue
Normal file
122
src/views/manage_info_report/index.vue
Normal 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>
|
@ -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"
|
||||
|
||||
|
@ -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[]>>,
|
||||
|
@ -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: {
|
||||
|
@ -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: {
|
||||
|
@ -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: {
|
||||
|
@ -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'
|
||||
|
||||
|
||||
|
@ -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({
|
||||
|
@ -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": '',
|
||||
|
@ -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"
|
||||
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
|
@ -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: {
|
||||
|
@ -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[]>>,
|
||||
|
@ -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: '',
|
||||
|
@ -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({
|
||||
|
Loading…
x
Reference in New Issue
Block a user