add
This commit is contained in:
parent
64c8269476
commit
99f7f48ccf
@ -21,3 +21,12 @@ export function apidistribution_project_departments(params?: any) {
|
|||||||
return request.get({ url: '/cost_consultation_report/distribution_project_departments', params })
|
return request.get({ url: '/cost_consultation_report/distribution_project_departments', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export function apiproject_schedule_statistics(params?: any) {
|
||||||
|
return request.get({ url: '/cost_consultation_report/project_schedule_statistics', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
export function apiproject_commission_statistics(params?: any) {
|
||||||
|
return request.get({ url: '/cost_consultation_report/project_commission_statistics', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
class="mr-5">
|
class="mr-5">
|
||||||
{{ items.name }}
|
{{ items.name }}
|
||||||
</el-link>
|
</el-link>
|
||||||
|
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
|
|
||||||
<el-descriptions-item :label="item.label" label-align="left" align="left" v-else>
|
<el-descriptions-item :label="item.label" label-align="left" align="left" v-else>
|
||||||
|
@ -2,21 +2,16 @@
|
|||||||
<div>
|
<div>
|
||||||
<el-card class="!border-none mb-4" shadow="never">
|
<el-card class="!border-none mb-4" shadow="never">
|
||||||
<el-form class="mb-[-16px]" :model="queryParams" inline>
|
<el-form class="mb-[-16px]" :model="queryParams" inline>
|
||||||
<el-form-item label="单据编号" prop="num">
|
<el-form-item label="项目名称">
|
||||||
<el-input class="w-[280px]" v-model="queryParams.num" clearable placeholder="请输入单据编号" />
|
<el-input class="w-[280px]" v-model="queryParams.project_name" clearable placeholder="请输入项目名称" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="项目名称" prop="project">
|
<el-form-item label="日期">
|
||||||
<el-input class="w-[280px]" v-model="queryParams.project" clearable placeholder="请输入项目名称" />
|
<el-date-picker v-model="date" type="daterange" range-separator="-" start-placeholder="开始日期"
|
||||||
|
end-placeholder="结束日期" value-format="YYYY-MM-DD" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="项目编号" prop="project_num">
|
|
||||||
<el-input class="w-[280px]" v-model="queryParams.project_num" clearable placeholder="请输入项目编号" />
|
|
||||||
</el-form-item>
|
|
||||||
|
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" @click="resetPage">查询</el-button>
|
<el-button type="primary" @click="a">查询</el-button>
|
||||||
<el-button @click="resetParams">重置</el-button>
|
<el-button @click="resetParams">重置</el-button>
|
||||||
<export-data class="ml-2.5" :fetch-fun="apiJianliProjectProgressReportLists" :params="queryParams"
|
|
||||||
:page-size="pager.size" />
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</el-card>
|
</el-card>
|
||||||
@ -24,19 +19,26 @@
|
|||||||
<div class="mt-4">
|
<div class="mt-4">
|
||||||
<el-table :data="pager.lists">
|
<el-table :data="pager.lists">
|
||||||
<el-table-column type="selection" width="55" />
|
<el-table-column type="selection" width="55" />
|
||||||
<el-table-column label="项目编号" prop="num" show-overflow-tooltip />
|
<el-table-column label="项目编号" prop="project_num" show-overflow-tooltip width="120" />
|
||||||
<el-table-column label="项目名称" prop="projectInfo.project_name" show-overflow-tooltip />
|
<el-table-column label="项目名称" prop="project_name" show-overflow-tooltip width="120" />
|
||||||
<el-table-column label="所属合同" prop="projectInfo.project_num" show-overflow-tooltip />
|
<el-table-column label="合同名称" prop="contract_name" show-overflow-tooltip width="120" />
|
||||||
<el-table-column label="任务名称" prop="bm_master" show-overflow-tooltip />
|
<el-table-column prop="contract_name" show-overflow-tooltip align="center">
|
||||||
<el-table-column label="任务类型" prop="wt_unit" show-overflow-tooltip />
|
<template #default="{ row }">
|
||||||
<el-table-column label="专业" prop="xm_master" show-overflow-tooltip />
|
<el-table :data="row.children">
|
||||||
<el-table-column label="工程师" prop="start_date" show-overflow-tooltip />
|
<el-table-column label="专业" prop="professional_type" show-overflow-tooltip />
|
||||||
<el-table-column label="造价金额" prop="end_date" show-overflow-tooltip />
|
<el-table-column label="任务名称" prop="task_name" show-overflow-tooltip />
|
||||||
<el-table-column label="收款金额" prop="duration" show-overflow-tooltip />
|
<el-table-column label="任务类型" prop="task_type" show-overflow-tooltip />
|
||||||
<el-table-column label="提成比例" prop="working_hours" show-overflow-tooltip />
|
<el-table-column label="工程师" prop="engineer" show-overflow-tooltip />
|
||||||
<el-table-column label="其他加减项" prop="done_progress" show-overflow-tooltip />
|
<el-table-column label="造价金额" prop="zj_amount" show-overflow-tooltip />
|
||||||
<el-table-column label="应提成金额" prop="bjd_progress" show-overflow-tooltip />
|
<el-table-column label="收款金额" prop="sk_amount" show-overflow-tooltip />
|
||||||
<el-table-column label="累计支付金额" prop="djr" show-overflow-tooltip />
|
<el-table-column label="提成比例" prop="tc_rate" show-overflow-tooltip />
|
||||||
|
<el-table-column label="其他加减项" prop="other_fee" show-overflow-tooltip />
|
||||||
|
<el-table-column label="应提成金额" prop="tc_amount" show-overflow-tooltip />
|
||||||
|
<el-table-column label="累计支付金额" prop="pay_amount" show-overflow-tooltip />
|
||||||
|
</el-table>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
</el-table>
|
</el-table>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex justify-end mt-4">
|
<div class="flex justify-end mt-4">
|
||||||
@ -48,34 +50,26 @@
|
|||||||
|
|
||||||
<script lang="ts" setup name="jianliProjectProgressReportLists">
|
<script lang="ts" setup name="jianliProjectProgressReportLists">
|
||||||
import { usePaging } from '@/hooks/usePaging'
|
import { usePaging } from '@/hooks/usePaging'
|
||||||
import { useDictData } from '@/hooks/useDictOptions'
|
import { apiproject_commission_statistics } from '@/api/data_report'
|
||||||
import { apiJianliProjectProgressReportLists, apiJianliProjectProgressReportDelete, apiJianliProjectProgressReportDetail } from '@/api/jianli_project_progress_report'
|
|
||||||
|
|
||||||
// 是否显示编辑框
|
|
||||||
|
|
||||||
|
|
||||||
// 查询条件
|
// 查询条件
|
||||||
const queryParams = reactive({
|
const queryParams = reactive({
|
||||||
num: '',
|
project_name: '',
|
||||||
project: '',
|
date: '',
|
||||||
project_num: '',
|
|
||||||
datas: '',
|
|
||||||
})
|
})
|
||||||
|
|
||||||
// 选中数据
|
let date = ref('')
|
||||||
|
|
||||||
|
const a = () => {
|
||||||
// 获取字典数据
|
queryParams.date = date.value.join(',')
|
||||||
const { dictData } = useDictData('')
|
resetPage()
|
||||||
|
}
|
||||||
|
|
||||||
// 分页相关
|
// 分页相关
|
||||||
const { pager, getLists, resetParams, resetPage } = usePaging({
|
const { pager, getLists, resetParams, resetPage } = usePaging({
|
||||||
fetchFun: apiJianliProjectProgressReportLists,
|
fetchFun: apiproject_commission_statistics,
|
||||||
params: queryParams
|
params: queryParams
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
getLists()
|
getLists()
|
||||||
</script>
|
</script>
|
||||||
|
@ -2,21 +2,17 @@
|
|||||||
<div>
|
<div>
|
||||||
<el-card class="!border-none mb-4" shadow="never">
|
<el-card class="!border-none mb-4" shadow="never">
|
||||||
<el-form class="mb-[-16px]" :model="queryParams" inline>
|
<el-form class="mb-[-16px]" :model="queryParams" inline>
|
||||||
<el-form-item label="单据编号" prop="num">
|
<el-form-item label="合同名称" prop="num">
|
||||||
<el-input class="w-[280px]" v-model="queryParams.num" clearable placeholder="请输入单据编号" />
|
<el-input class="w-[280px]" v-model="queryParams.contract_name" clearable placeholder="请输入单据编号" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="项目名称" prop="project">
|
<el-form-item label="项目名称" prop="project">
|
||||||
<el-input class="w-[280px]" v-model="queryParams.project" clearable placeholder="请输入项目名称" />
|
<el-input class="w-[280px]" v-model="queryParams.project_name" clearable placeholder="请输入项目名称" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="项目编号" prop="project_num">
|
|
||||||
<el-input class="w-[280px]" v-model="queryParams.project_num" clearable placeholder="请输入项目编号" />
|
|
||||||
</el-form-item>
|
|
||||||
|
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" @click="resetPage">查询</el-button>
|
<el-button type="primary" @click="resetPage">查询</el-button>
|
||||||
<el-button @click="resetParams">重置</el-button>
|
<el-button @click="resetParams">重置</el-button>
|
||||||
<export-data class="ml-2.5" :fetch-fun="apiJianliProjectProgressReportLists" :params="queryParams"
|
<!-- <export-data class="ml-2.5" :fetch-fun="apiJianliProjectProgressReportLists" :params="queryParams"
|
||||||
:page-size="pager.size" />
|
:page-size="pager.size" /> -->
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</el-card>
|
</el-card>
|
||||||
@ -24,26 +20,26 @@
|
|||||||
<div class="mt-4">
|
<div class="mt-4">
|
||||||
<el-table :data="pager.lists">
|
<el-table :data="pager.lists">
|
||||||
<el-table-column type="selection" width="55" />
|
<el-table-column type="selection" width="55" />
|
||||||
<el-table-column label="项目编号" prop="num" show-overflow-tooltip />
|
<el-table-column label="项目编号" prop="project_num" show-overflow-tooltip />
|
||||||
<el-table-column label="项目名称" prop="projectInfo.project_name" show-overflow-tooltip />
|
<el-table-column label="项目名称" prop="project_name" show-overflow-tooltip />
|
||||||
<el-table-column label="关联合同" prop="projectInfo.project_num" show-overflow-tooltip />
|
<el-table-column label="关联合同" prop="contract_name" show-overflow-tooltip />
|
||||||
<el-table-column label="咨询类型" prop="bm_master" show-overflow-tooltip />
|
<el-table-column label="咨询类型" prop="types" show-overflow-tooltip />
|
||||||
<el-table-column label="行业" prop="wt_unit" show-overflow-tooltip />
|
<el-table-column label="行业" prop="industry_nature" show-overflow-tooltip />
|
||||||
<el-table-column label="项目负责人" prop="xm_master" show-overflow-tooltip />
|
<el-table-column label="项目负责人" prop="project_director" show-overflow-tooltip />
|
||||||
<el-table-column label="委托单位" prop="start_date" show-overflow-tooltip />
|
<el-table-column label="委托单位" prop="aunit" show-overflow-tooltip />
|
||||||
<el-table-column label="所在省份" prop="end_date" show-overflow-tooltip />
|
<el-table-column label="所在省份" prop="province" show-overflow-tooltip />
|
||||||
<el-table-column label="所在市区" prop="duration" show-overflow-tooltip />
|
<el-table-column label="所在市区" prop="city" show-overflow-tooltip />
|
||||||
<el-table-column label="进度状态" prop="working_hours" show-overflow-tooltip />
|
<!-- <el-table-column label="进度状态" prop="working_hours" show-overflow-tooltip /> -->
|
||||||
<el-table-column label="计划进度" prop="working_hours" show-overflow-tooltip>
|
<el-table-column label="计划进度" prop="working_hours" show-overflow-tooltip align='center'>
|
||||||
<el-table-column label="计划开始日期" prop="done_progress" show-overflow-tooltip />
|
<el-table-column label="计划开始日期" prop="starting" show-overflow-tooltip />
|
||||||
<el-table-column label="计划结束日期" prop="bjd_progress" show-overflow-tooltip />
|
<el-table-column label="计划结束日期" prop="endtime" show-overflow-tooltip />
|
||||||
<el-table-column label="计划工期(天)" prop="djr" show-overflow-tooltip />
|
<el-table-column label="计划工期(天)" prop="jhgq" show-overflow-tooltip />
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="实际进度" prop="working_hours" show-overflow-tooltip>
|
<el-table-column label="实际进度" prop="working_hours" show-overflow-tooltip align='center'>
|
||||||
<el-table-column label="实际开始日期" prop="done_progress" show-overflow-tooltip />
|
<el-table-column label="实际开始日期" prop="actual_starting" show-overflow-tooltip />
|
||||||
<el-table-column label="实际结束日期" prop="bjd_progress" show-overflow-tooltip />
|
<el-table-column label="实际结束日期" prop="actual_endtime" show-overflow-tooltip />
|
||||||
<el-table-column label="实际工期(天)" prop="djr" show-overflow-tooltip />
|
<el-table-column label="实际工期(天)" prop="duration" show-overflow-tooltip />
|
||||||
<el-table-column label="已完成进度(%)" prop="djr" show-overflow-tooltip />
|
<el-table-column label="已完成进度(%)" prop="done_progress" show-overflow-tooltip />
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
</div>
|
</div>
|
||||||
@ -56,29 +52,18 @@
|
|||||||
|
|
||||||
<script lang="ts" setup name="jianliProjectProgressReportLists">
|
<script lang="ts" setup name="jianliProjectProgressReportLists">
|
||||||
import { usePaging } from '@/hooks/usePaging'
|
import { usePaging } from '@/hooks/usePaging'
|
||||||
import { useDictData } from '@/hooks/useDictOptions'
|
import { apiproject_schedule_statistics } from '@/api/data_report'
|
||||||
import { apiJianliProjectProgressReportLists, apiJianliProjectProgressReportDelete, apiJianliProjectProgressReportDetail } from '@/api/jianli_project_progress_report'
|
|
||||||
|
|
||||||
// 是否显示编辑框
|
|
||||||
|
|
||||||
|
|
||||||
// 查询条件
|
// 查询条件
|
||||||
const queryParams = reactive({
|
const queryParams = reactive({
|
||||||
num: '',
|
contract_name: '',
|
||||||
project: '',
|
project_name: '',
|
||||||
project_num: '',
|
|
||||||
datas: '',
|
|
||||||
})
|
})
|
||||||
|
|
||||||
// 选中数据
|
|
||||||
|
|
||||||
|
|
||||||
// 获取字典数据
|
|
||||||
const { dictData } = useDictData('')
|
|
||||||
|
|
||||||
// 分页相关
|
// 分页相关
|
||||||
const { pager, getLists, resetParams, resetPage } = usePaging({
|
const { pager, getLists, resetParams, resetPage } = usePaging({
|
||||||
fetchFun: apiJianliProjectProgressReportLists,
|
fetchFun: apiproject_schedule_statistics,
|
||||||
params: queryParams
|
params: queryParams
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -23,18 +23,19 @@
|
|||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="项目负责人" prop="head">
|
<el-form-item label="项目负责人" prop="project_director">
|
||||||
<el-input v-model="formData.head" clearable placeholder="请输入项目负责人" readonly />
|
<el-input v-model="formData.project_director" clearable placeholder="请输入项目负责人" readonly />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="关联合同" prop="affcontract">
|
<el-form-item label="关联合同" prop="contract_name">
|
||||||
<el-input v-model="formData.affcontract_name" clearable placeholder="请输入关联合同" readonly />
|
<el-input v-model="formData.contract_name" clearable placeholder="请输入关联合同" readonly />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="行业" prop="industry">
|
<el-form-item label="行业" prop="industry">
|
||||||
<el-select class="flex-1" v-model="formData.industry" clearable placeholder="请选择行业类型">
|
<el-select class="flex-1" v-model="formData.industry_nature" clearable
|
||||||
|
placeholder="请选择行业类型">
|
||||||
<el-option v-for="(item, index) in dictData.supervision_project_industry" :key="index"
|
<el-option v-for="(item, index) in dictData.supervision_project_industry" :key="index"
|
||||||
:label="item.name" :value="item.value" />
|
:label="item.name" :value="item.value" />
|
||||||
</el-select>
|
</el-select>
|
||||||
@ -44,7 +45,8 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="项目回款总额" prop="hk">
|
<el-form-item label="项目回款总额" prop="hk">
|
||||||
<el-input v-model="formData.hk" clearable placeholder="请输入项目回款总额" type="number" />
|
<el-input v-model="formData.total_refund_amount" clearable placeholder="请输入项目回款总额"
|
||||||
|
type="number" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
@ -60,8 +62,9 @@
|
|||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="已支付总额" prop="paid_amount">
|
<el-form-item label="已支付总额" prop="total_pay_amount">
|
||||||
<el-input v-model="formData.paid_amount" clearable placeholder="请输入已支付总额" type="number" />
|
<el-input v-model="formData.total_pay_amount" clearable placeholder="请输入已支付总额"
|
||||||
|
type="number" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
@ -85,7 +88,7 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="备注" prop="remark">
|
<el-form-item label="备注" prop="remark">
|
||||||
<el-input v-model="formData.remark" clearable placeholder="请输入备注" />
|
<el-input v-model="formData.remark" clearable placeholder="请输入备注" type="textarea" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
@ -104,7 +107,7 @@
|
|||||||
<template #empty>
|
<template #empty>
|
||||||
<span class="cursor-pointer">暂无数据,点击添加 <el-button @click="handleAdd">+</el-button></span>
|
<span class="cursor-pointer">暂无数据,点击添加 <el-button @click="handleAdd">+</el-button></span>
|
||||||
</template>
|
</template>
|
||||||
<el-table-column label="序号" v-if="mode == 'add'" width="150px">
|
<el-table-column label="序号" width="150px">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-button @click="handleAdd">+</el-button>
|
<el-button @click="handleAdd">+</el-button>
|
||||||
<el-button @click="handleDelete(row)">-</el-button>
|
<el-button @click="handleDelete(row)">-</el-button>
|
||||||
@ -113,31 +116,30 @@
|
|||||||
<el-table-column label="工程师" prop="level" width="200px">
|
<el-table-column label="工程师" prop="level" width="200px">
|
||||||
|
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-input v-model="scope.row.engineer" :disabled="mode != 'add'"
|
<el-input v-model="scope.row.engineer" @click="userclick(scope.$index, 'engineer')"
|
||||||
@click="userclick(scope.$index, 'engineer')" placeholder="点击选择" />
|
placeholder="点击选择" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="任务名称" prop="task_name" width="200px">
|
<el-table-column label="任务名称" prop="task_name" width="200px">
|
||||||
|
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-input v-model="row.task_name" :disabled="mode != 'add'" />
|
<el-input v-model="row.task_name" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="任务类型" prop="task_type" width="200px">
|
<el-table-column label="任务类型" prop="task_type" width="200px">
|
||||||
|
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-select class="flex-1" v-model="row.task_type" clearable placeholder="请选择任务类型"
|
<!-- {{ typeof (row.task_type) }} -->
|
||||||
:disabled="mode != 'add'">
|
<el-select class="flex-1" v-model="row.task_type" clearable placeholder="请选择任务类型">
|
||||||
<el-option v-for="(item, index) in dictData.task_type" :key="index" :label="item.name"
|
<el-option v-for="(item, index) in dictData.task_type" :key="index" :label="item.name"
|
||||||
:value="parseInt(item.value)" />
|
:value="(item.value)" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="专业类型" prop="professional_type" width="200px">
|
<el-table-column label="专业类型" prop="professional_type" width="200px">
|
||||||
|
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-select class="flex-1" v-model="row.professional_type" clearable placeholder="请选择专业类型"
|
<el-select class="flex-1" v-model="row.professional_type" clearable placeholder="请选择专业类型">
|
||||||
:disabled="mode != 'add'">
|
|
||||||
<el-option v-for="(item, index) in dictData.major_type" :key="index" :label="item.name"
|
<el-option v-for="(item, index) in dictData.major_type" :key="index" :label="item.name"
|
||||||
:value="item.value" />
|
:value="item.value" />
|
||||||
</el-select>
|
</el-select>
|
||||||
@ -146,25 +148,25 @@
|
|||||||
<el-table-column label="造价金额" prop="zj_amount" width="200px">
|
<el-table-column label="造价金额" prop="zj_amount" width="200px">
|
||||||
|
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-input v-model="scope.row.zj_amount" :disabled="mode != 'add'" type="number" />
|
<el-input v-model="scope.row.zj_amount" type="number" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="收款金额" prop="sk_amount" width="200px">
|
<el-table-column label="收款金额" prop="sk_amount" width="200px">
|
||||||
|
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-input v-model="scope.row.sk_amount" :disabled="mode != 'add'" type="number" />
|
<el-input v-model="scope.row.sk_amount" type="number" @blur="calcMoney" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="其他增减费用" prop="other_fee" width="200px">
|
<el-table-column label="其他增减费用" prop="other_fee" width="200px">
|
||||||
|
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-input v-model="scope.row.other_fee" :disabled="mode != 'add'" type="number" />
|
<el-input v-model="scope.row.other_fee" type="number" @blur="calcMoney" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="提成比例(%)" prop="tc_rate" width="200px">
|
<el-table-column label="提成比例(%)" prop="tc_rate" width="200px">
|
||||||
|
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-input v-model="scope.row.tc_rate" :disabled="mode != 'add'" type="number" />
|
<el-input v-model="scope.row.tc_rate" type="number" @blur="calcMoney" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="应提成金额" prop="tc_amount" width="200px">
|
<el-table-column label="应提成金额" prop="tc_amount" width="200px">
|
||||||
@ -175,14 +177,13 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="本次支付金额" prop="pay_amount" width="200px">
|
<el-table-column label="本次支付金额" prop="pay_amount" width="200px">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-input v-model="row.pay_amount" @change="getBczfze" :disabled="mode != 'add'"
|
<el-input v-model="row.pay_amount" @change="getBczfze" type="number" />
|
||||||
type="number" />
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="备注" prop="remark" width="200px">
|
<el-table-column label="备注" prop="remark" width="200px">
|
||||||
|
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-input v-model="row.remark" :disabled="mode != 'add'" type="number" />
|
<el-input v-model="row.remark" type="number" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -194,10 +195,11 @@
|
|||||||
<script lang="ts" setup name="projectCommissionEdit">
|
<script lang="ts" setup name="projectCommissionEdit">
|
||||||
import type { FormInstance } from 'element-plus'
|
import type { FormInstance } from 'element-plus'
|
||||||
import Popup from '@/components/popup/index.vue'
|
import Popup from '@/components/popup/index.vue'
|
||||||
import { apiProjectCommissionAdd, apiProjectCommissionEdit, } from '@/api/project_commission'
|
import { apiProjectCommissionAdd, apiProjectCommissionEdit, apiProjectCommissionDelete } from '@/api/project_commission'
|
||||||
|
import { apiProjectCommissionDetailDelete } from '@/api/project_commission_detail'
|
||||||
import type { PropType } from 'vue'
|
import type { PropType } from 'vue'
|
||||||
import { cost_project } from "@/components/dialogTable/dialogTableConfig"
|
import { cost_project } from "@/components/dialogTable/dialogTableConfig"
|
||||||
import { watch } from "vue"
|
|
||||||
|
|
||||||
defineProps({
|
defineProps({
|
||||||
dictData: {
|
dictData: {
|
||||||
@ -227,18 +229,19 @@ const formData = reactive({
|
|||||||
project_id: '',
|
project_id: '',
|
||||||
project_name: '',
|
project_name: '',
|
||||||
project_num: '',
|
project_num: '',
|
||||||
head: '',
|
project_director: '',
|
||||||
affcontract: '',
|
contract_name: '',
|
||||||
affcontract_name: "",
|
affcontract_name: "",
|
||||||
contract: {},
|
contract: {},
|
||||||
industry: '',
|
industry_nature: '',
|
||||||
hk: '',
|
total_refund_amount: '',
|
||||||
rate: '',
|
rate: '',
|
||||||
ticheng: '',
|
ticheng: '',
|
||||||
paid_amount: '',
|
total_pay_amount: '',
|
||||||
bczfze: '',
|
bczfze: '',
|
||||||
djr: '',
|
djr: '',
|
||||||
apptime: '',
|
apptime: '',
|
||||||
|
total_invoice_amount: "",
|
||||||
remark: '',
|
remark: '',
|
||||||
projectInfo: {},
|
projectInfo: {},
|
||||||
project_commission_detail: []
|
project_commission_detail: []
|
||||||
@ -248,12 +251,11 @@ const customEvent = (e) => {
|
|||||||
formData.project_id = e.id
|
formData.project_id = e.id
|
||||||
formData.project_name = e.project_name
|
formData.project_name = e.project_name
|
||||||
formData.project_num = e.project_num
|
formData.project_num = e.project_num
|
||||||
formData.head = e.principal
|
formData.project_director = e.contract.project_director
|
||||||
formData.affcontract = e.contract.id
|
formData.contract_name = e.contract.contract_name
|
||||||
formData.affcontract_name = e.contract.contract_name
|
formData.industry_nature = String(e.industry)
|
||||||
formData.industry = e.industry
|
formData.total_refund_amount = e.total_refund_amount
|
||||||
// formData.hk=e.
|
formData.total_pay_amount = e.total_pay_amount
|
||||||
// formData.hk=e.
|
|
||||||
showDialog.value = false
|
showDialog.value = false
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -276,19 +278,22 @@ const handleAdd = () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const handleDelete = (row: any) => {
|
const handleDelete = async (row: any) => {
|
||||||
|
if (row.id) {
|
||||||
|
await apiProjectCommissionDetailDelete({ id: row.id })
|
||||||
|
}
|
||||||
const index = formData.project_commission_detail.indexOf(row);
|
const index = formData.project_commission_detail.indexOf(row);
|
||||||
formData.project_commission_detail.splice(index, 1);
|
formData.project_commission_detail.splice(index, 1);
|
||||||
|
getBczfze()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// 金额计算
|
// 金额计算
|
||||||
watch(formData.project_commission_detail, (newVal, oldVal) => {
|
const calcMoney = () => {
|
||||||
formData.project_commission_detail.forEach(item => {
|
formData.project_commission_detail.forEach(item => {
|
||||||
item.tc_amount = (Number(item.sk_amount || 0) + Number(item.other_fee || 0)) * (item.tc_rate / 100)
|
item.tc_amount = (Number(item.sk_amount || 0) + Number(item.other_fee || 0)) * (item.tc_rate / 100)
|
||||||
item.tc_amount = item.tc_amount.toFixed(2)
|
item.tc_amount = item.tc_amount.toFixed(2)
|
||||||
})
|
})
|
||||||
})
|
}
|
||||||
|
|
||||||
|
|
||||||
// 计算本次支付金额
|
// 计算本次支付金额
|
||||||
@ -301,7 +306,7 @@ const getBczfze = () => {
|
|||||||
|
|
||||||
|
|
||||||
formData.ticheng ||= computed(() => {
|
formData.ticheng ||= computed(() => {
|
||||||
return Number(formData.hk) * (Number(formData.rate) / 100) || 0
|
return (Number(formData.total_refund_amount) * (Number(formData.rate) / 100) || 0).toFixed(2)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
@ -339,13 +344,7 @@ const setFormData = async (data: Record<any, any>) => {
|
|||||||
formData[key] = data[key]
|
formData[key] = data[key]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
formData.project_id = formData.projectInfo.id
|
calcMoney()
|
||||||
formData.project_name = formData.projectInfo.project_name
|
|
||||||
formData.project_num = formData.projectInfo.project_num
|
|
||||||
formData.head = formData.projectInfo.principal
|
|
||||||
formData.affcontract = formData.contract.id
|
|
||||||
formData.affcontract_name = formData.contract.contract_name
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -68,7 +68,7 @@
|
|||||||
<template #empty>
|
<template #empty>
|
||||||
<span class="cursor-pointer">暂无数据,点击添加 <el-button @click="handleAdd">+</el-button></span>
|
<span class="cursor-pointer">暂无数据,点击添加 <el-button @click="handleAdd">+</el-button></span>
|
||||||
</template>
|
</template>
|
||||||
<el-table-column label="序号" v-if="mode == 'add'" width="150px">
|
<el-table-column label="序号" width="150px">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-button @click="handleAdd">+</el-button>
|
<el-button @click="handleAdd">+</el-button>
|
||||||
<el-button @click="handleDelete(row)">-</el-button>
|
<el-button @click="handleDelete(row)">-</el-button>
|
||||||
@ -77,57 +77,57 @@
|
|||||||
<el-table-column label="所在目录" prop="level" width="200px">
|
<el-table-column label="所在目录" prop="level" width="200px">
|
||||||
|
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-input v-model="scope.row.directory" :disabled="mode != 'add'" />
|
<el-input v-model="scope.row.directory" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="单位工程名称" prop="unit_project_name" width="200px">
|
<el-table-column label="单位工程名称" prop="unit_project_name" width="200px">
|
||||||
|
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-input v-model="row.unit_project_name" :disabled="mode != 'add'" />
|
<el-input v-model="row.unit_project_name" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="合同工程款总额" prop="contract_total_amount" width="200px">
|
<el-table-column label="合同工程款总额" prop="contract_total_amount" width="200px">
|
||||||
|
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-input v-model="row.contract_total_amount" :disabled="mode != 'add'" type="number" />
|
<el-input v-model="row.contract_total_amount" type="number" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="合同付款比例(%)" prop="dcntract_payment_rate" width="200px">
|
<el-table-column label="合同付款比例(%)" prop="dcntract_payment_rate" width="200px">
|
||||||
|
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-input v-model="row.dcntract_payment_rate" :disabled="mode != 'add'" type="number" />
|
<el-input v-model="row.dcntract_payment_rate" type="number" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="时间" prop="time" width="200px">
|
<el-table-column label="时间" prop="time" width="200px">
|
||||||
|
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-date-picker class="flex-1 !flex" v-model="row.time" clearable type="date"
|
<el-date-picker class="flex-1 !flex" v-model="row.time" clearable type="date"
|
||||||
value-format="YYYY-MM-DD" placeholder="请选择日期" :disabled="mode != 'add'">
|
value-format="YYYY-MM-DD" placeholder="请选择日期">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="形象进度" prop="image_progress" width="200px">
|
<el-table-column label="形象进度" prop="image_progress" width="200px">
|
||||||
|
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-input v-model="row.image_progress" :disabled="mode != 'add'" />
|
<el-input v-model="row.image_progress" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="申报造价(土建)" prop="declared_cost_tj" width="200px">
|
<el-table-column label="申报造价(土建)" prop="declared_cost_tj" width="200px">
|
||||||
|
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-input v-model="scope.row.declared_cost_tj" :disabled="mode != 'add'" type="number" />
|
<el-input v-model="scope.row.declared_cost_tj" type="number" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="申报造价(安装)" prop="declared_cost_az" width="200px">
|
<el-table-column label="申报造价(安装)" prop="declared_cost_az" width="200px">
|
||||||
|
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-input v-model="scope.row.declared_cost_az" :disabled="mode != 'add'" type="number" />
|
<el-input v-model="scope.row.declared_cost_az" type="number" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="申报造价(其他)" prop="declared_cost_other" width="200px">
|
<el-table-column label="申报造价(其他)" prop="declared_cost_other" width="200px">
|
||||||
|
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-input v-model="scope.row.declared_cost_other" :disabled="mode != 'add'" type="number" />
|
<el-input v-model="scope.row.declared_cost_other" type="number" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="进度申报造价小计" prop="jdsbzj_xiaoji" width="200px">
|
<el-table-column label="进度申报造价小计" prop="jdsbzj_xiaoji" width="200px">
|
||||||
@ -139,25 +139,25 @@
|
|||||||
<el-table-column label="审核造价(土建)" prop="audit_cost_tj" width="200px">
|
<el-table-column label="审核造价(土建)" prop="audit_cost_tj" width="200px">
|
||||||
|
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-input v-model="row.audit_cost_tj" :disabled="mode != 'add'" type="number" />
|
<el-input v-model="row.audit_cost_tj" type="number" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="审核造价(安装)" prop="audit_cost_az" width="200px">
|
<el-table-column label="审核造价(安装)" prop="audit_cost_az" width="200px">
|
||||||
|
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-input v-model="row.audit_cost_az" :disabled="mode != 'add'" type="number" />
|
<el-input v-model="row.audit_cost_az" type="number" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="审核造价(其他)" prop="audit_cost_other" width="200px">
|
<el-table-column label="审核造价(其他)" prop="audit_cost_other" width="200px">
|
||||||
|
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-input v-model="row.audit_cost_other" :disabled="mode != 'add'" type="number" />
|
<el-input v-model="row.audit_cost_other" type="number" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="进度审核造价小计" prop="jdshzj_xiaoji" width="200px">
|
<el-table-column label="进度审核造价小计" prop="jdshzj_xiaoji" width="200px">
|
||||||
|
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-input v-model="row.jdshzj_xiaoji" :disabled="mode != 'add'" type="number" />
|
<el-input v-model="row.jdshzj_xiaoji" type="number" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="审减额(元)" prop="deduction_amount" width="200px">
|
<el-table-column label="审减额(元)" prop="deduction_amount" width="200px">
|
||||||
@ -169,7 +169,7 @@
|
|||||||
<el-table-column label="完成产值比例(%)" prop="completed_rate" width="200px">
|
<el-table-column label="完成产值比例(%)" prop="completed_rate" width="200px">
|
||||||
|
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-input v-model="row.completed_rate" :disabled="mode != 'add'" type="number" />
|
<el-input v-model="row.completed_rate" type="number" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="累计完成工程款" prop="ljwc_funds" width="200px">
|
<el-table-column label="累计完成工程款" prop="ljwc_funds" width="200px">
|
||||||
@ -194,7 +194,7 @@
|
|||||||
<el-table-column label="备注" prop="remark" width="200px">
|
<el-table-column label="备注" prop="remark" width="200px">
|
||||||
|
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-input v-model="row.remark" :disabled="mode != 'add'" />
|
<el-input v-model="row.remark" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -207,15 +207,14 @@
|
|||||||
import type { FormInstance } from 'element-plus'
|
import type { FormInstance } from 'element-plus'
|
||||||
import Popup from '@/components/popup/index.vue'
|
import Popup from '@/components/popup/index.vue'
|
||||||
import { apiProjectProgressPaymentAdd, apiProjectProgressPaymentEdit, apiProjectProgressPaymentDetail } from '@/api/project_progress_payment'
|
import { apiProjectProgressPaymentAdd, apiProjectProgressPaymentEdit, apiProjectProgressPaymentDetail } from '@/api/project_progress_payment'
|
||||||
|
import { apiProjectProgressPaymentDetailDelete } from '@/api/project_progress_payment_detail'
|
||||||
|
|
||||||
import type { PropType } from 'vue'
|
import type { PropType } from 'vue'
|
||||||
import { cost_project } from "@/components/dialogTable/dialogTableConfig"
|
import { cost_project } from "@/components/dialogTable/dialogTableConfig"
|
||||||
import { timeFormat } from '@/utils/util'
|
import { timeFormat } from '@/utils/util'
|
||||||
import useUserStore from "@/stores/modules/user";
|
import useUserStore from "@/stores/modules/user";
|
||||||
const userStore = useUserStore().userInfo;
|
const userStore = useUserStore().userInfo;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
defineProps({
|
defineProps({
|
||||||
dictData: {
|
dictData: {
|
||||||
type: Object as PropType<Record<string, any[]>>,
|
type: Object as PropType<Record<string, any[]>>,
|
||||||
@ -233,14 +232,7 @@ const showDialog = ref(false)
|
|||||||
const popupTitle = computed(() => {
|
const popupTitle = computed(() => {
|
||||||
return mode.value == 'edit' ? '编辑项目进度款' : '新增项目进度款'
|
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({
|
const formData = reactive({
|
||||||
id: '',
|
id: '',
|
||||||
@ -326,8 +318,10 @@ const handleAdd = () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const handleDelete = (row: any) => {
|
const handleDelete = async (row: any) => {
|
||||||
if (formData.project_progress_payment_detail.length == 1) return
|
if (row.id) {
|
||||||
|
await apiProjectProgressPaymentDetailDelete({ id: row.id })
|
||||||
|
}
|
||||||
const index = formData.project_progress_payment_detail.indexOf(row);
|
const index = formData.project_progress_payment_detail.indexOf(row);
|
||||||
formData.project_progress_payment_detail.splice(index, 1);
|
formData.project_progress_payment_detail.splice(index, 1);
|
||||||
}
|
}
|
||||||
|
147
src/views/supervision_accept/detail.vue
Normal file
147
src/views/supervision_accept/detail.vue
Normal file
@ -0,0 +1,147 @@
|
|||||||
|
<template>
|
||||||
|
<div class="edit-popup">
|
||||||
|
<popup ref="popupRef" :async="true" width="80vw" @close="handleClose">
|
||||||
|
<el-form ref="formRef" :model="formData" label-width="100px">
|
||||||
|
<el-descriptions column="3" title="工程监理--巡视登记详情" border>
|
||||||
|
<el-descriptions-item label="项目名称" label-align="left" align="left">
|
||||||
|
{{ formData.project_name }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="编号" label-align="left" align="left">
|
||||||
|
{{ formData.accept_code }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="验收类型" label-align="left" align="left">
|
||||||
|
{{ formData.accept_type_text }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="单位工程" label-align="left" align="left">
|
||||||
|
{{ formData.check_item_name }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="验收内容" label-align="left" align="left">
|
||||||
|
{{ formData.accept_content }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="验收位置" label-align="left" align="left">
|
||||||
|
{{ formData.accept_position }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="验收时间" label-align="left" align="left">
|
||||||
|
{{ formData.accept_time }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="施工单位" label-align="left" align="left">
|
||||||
|
{{ formData.company_name }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="检查表单选择" label-align="left" align="left">
|
||||||
|
{{ formData.check_item_detail_name }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="备注" label-align="left" align="left">
|
||||||
|
{{ formData.remark }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="创建人" label-align="left" align="left">
|
||||||
|
{{ formData.create_user }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="创建时间" label-align="left" align="left">
|
||||||
|
{{ formData.create_time }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="附件" label-align="left" align="left">
|
||||||
|
<el-link class="mr-5" type="primary" v-for="item in formData.annex" :href="item.uri">
|
||||||
|
{{ item.name }}
|
||||||
|
</el-link>
|
||||||
|
</el-descriptions-item>
|
||||||
|
</el-descriptions>
|
||||||
|
</el-form>
|
||||||
|
<el-card class="mt-5">
|
||||||
|
<template #header>
|
||||||
|
巡视结果列表
|
||||||
|
</template>
|
||||||
|
<el-table :data="formData.accept_check_result">
|
||||||
|
<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-column label="是否检查结果必检" prop="check_result_text" show-overflow-tooltip />
|
||||||
|
</el-table>
|
||||||
|
</el-card>
|
||||||
|
<el-card>
|
||||||
|
<template #header>
|
||||||
|
巡视问题列表
|
||||||
|
</template>
|
||||||
|
<el-table :data="formData.accept_check_problem">
|
||||||
|
<el-table-column label="问题分类" prop="problem_cate_text" show-overflow-tooltip />
|
||||||
|
<el-table-column label="问题说明" prop="problem_description" show-overflow-tooltip />
|
||||||
|
<el-table-column label="问题名称" prop="problem_name" show-overflow-tooltip />
|
||||||
|
</el-table>
|
||||||
|
</el-card>
|
||||||
|
</popup>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" setup name="supervisionInspectionEdit">
|
||||||
|
import Popup from '@/components/popup/index.vue'
|
||||||
|
import { apisupervision_accept_result } from '@/api/supervision_accept'
|
||||||
|
import { apisupervision_problem } from '@/api/supervision_inspection'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const emit = defineEmits(['success', 'close'])
|
||||||
|
const popupRef = shallowRef<InstanceType<typeof Popup>>()
|
||||||
|
const mode = ref('add')
|
||||||
|
|
||||||
|
// 表单数据
|
||||||
|
const formData = reactive({
|
||||||
|
project_id: '',
|
||||||
|
accept_code: '',
|
||||||
|
accept_type: '',
|
||||||
|
check_item_id: '',
|
||||||
|
accept_content: '',
|
||||||
|
accept_position: '',
|
||||||
|
accept_time: '',
|
||||||
|
company_id: '',
|
||||||
|
accept_result: '',
|
||||||
|
check_item_detail_ids: [],
|
||||||
|
remark: '',
|
||||||
|
create_user: "",
|
||||||
|
create_time: "",
|
||||||
|
check_item_name: "",
|
||||||
|
company_name: '',
|
||||||
|
check_item_detail_name: '',
|
||||||
|
id: '',
|
||||||
|
project_name: '',
|
||||||
|
annex: [],
|
||||||
|
accept_check_result: [],
|
||||||
|
accept_check_problem: [],
|
||||||
|
accept_type_text: ""
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
// 获取详情
|
||||||
|
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]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
apisupervision_accept_result({ accept_id: formData.id }).then(res => {
|
||||||
|
formData.accept_check_result = res.lists
|
||||||
|
})
|
||||||
|
apisupervision_problem({ data_id: formData.id, data_type: 3 }).then(res => {
|
||||||
|
formData.accept_check_problem = res.lists
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//打开弹窗
|
||||||
|
const open = (type = 'add') => {
|
||||||
|
mode.value = type
|
||||||
|
popupRef.value?.open()
|
||||||
|
}
|
||||||
|
|
||||||
|
// 关闭回调
|
||||||
|
const handleClose = () => {
|
||||||
|
emit('close')
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
defineExpose({
|
||||||
|
open,
|
||||||
|
setFormData,
|
||||||
|
})
|
||||||
|
</script>
|
@ -52,10 +52,15 @@
|
|||||||
@click="handleDelete(row.id)">
|
@click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button v-perms="['supervision_work.supervision_accept/detail']" link
|
||||||
|
@click="handleDetail(row.id)">
|
||||||
|
详情
|
||||||
|
</el-button>
|
||||||
<el-button v-perms="['supervision_work.supervision_accept/accept']" type="primary" link
|
<el-button v-perms="['supervision_work.supervision_accept/accept']" type="primary" link
|
||||||
@click="dialogTableVisible = true, formData.id = row.id" v-if="row.accept_result == 1">
|
@click="dialogTableVisible = true, formData.id = row.id" v-if="row.accept_result == 1">
|
||||||
验收
|
验收
|
||||||
</el-button>
|
</el-button>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -65,6 +70,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
||||||
|
<detail-popup v-if="showDetail" ref="detailRef" @success="getLists" @close="showDetail = false" />
|
||||||
<el-dialog v-model="dialogTableVisible" title="再验收" width="800" @confirm="handleAccept">
|
<el-dialog v-model="dialogTableVisible" title="再验收" width="800" @confirm="handleAccept">
|
||||||
<!-- <div v-html="htmlContent"></div> -->
|
<!-- <div v-html="htmlContent"></div> -->
|
||||||
<el-form ref="formRef" :model="formData" label-width="90px">
|
<el-form ref="formRef" :model="formData" label-width="90px">
|
||||||
@ -103,14 +109,18 @@
|
|||||||
import { usePaging } from '@/hooks/usePaging'
|
import { usePaging } from '@/hooks/usePaging'
|
||||||
import { useDictData } from '@/hooks/useDictOptions'
|
import { useDictData } from '@/hooks/useDictOptions'
|
||||||
import { apiSupervisionAcceptLists, apiSupervisionAcceptDelete, apiSupervisionAcceptDetail, apisupervision_accept } from '@/api/supervision_accept'
|
import { apiSupervisionAcceptLists, apiSupervisionAcceptDelete, apiSupervisionAcceptDetail, apisupervision_accept } from '@/api/supervision_accept'
|
||||||
import { timeFormat } from '@/utils/util'
|
|
||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
|
import DetailPopup from './detail.vue'
|
||||||
|
|
||||||
const dialogTableVisible = ref(false)
|
const dialogTableVisible = ref(false)
|
||||||
|
|
||||||
|
|
||||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||||
|
const detailRef = ref('')
|
||||||
// 是否显示编辑框
|
// 是否显示编辑框
|
||||||
const showEdit = ref(false)
|
const showEdit = ref(false)
|
||||||
|
const showDetail = ref(false)
|
||||||
|
|
||||||
const formData = reactive({
|
const formData = reactive({
|
||||||
"id": 1,
|
"id": 1,
|
||||||
@ -120,14 +130,6 @@ const formData = reactive({
|
|||||||
"annex": []
|
"annex": []
|
||||||
})
|
})
|
||||||
|
|
||||||
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 queryParams = reactive({
|
const queryParams = reactive({
|
||||||
@ -184,5 +186,14 @@ const handleAccept = async (row: Object | any[]) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 详情
|
||||||
|
const handleDetail = async (id: any) => {
|
||||||
|
let res = await apiSupervisionAcceptDetail({ id })
|
||||||
|
showDetail.value = true
|
||||||
|
await nextTick()
|
||||||
|
detailRef.value?.open()
|
||||||
|
detailRef.value?.setFormData(res)
|
||||||
|
}
|
||||||
|
|
||||||
getLists()
|
getLists()
|
||||||
</script>
|
</script>
|
||||||
|
34
src/views/supervision_commencement_report/detail.js
Normal file
34
src/views/supervision_commencement_report/detail.js
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
const detailConfig = {
|
||||||
|
title: "工程监理--第一次工地会议",
|
||||||
|
config: [
|
||||||
|
{
|
||||||
|
label: "项目名称",
|
||||||
|
value: "project_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "文档名称",
|
||||||
|
value: "doc_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "文档简介",
|
||||||
|
value: "doc_desc"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "创建人",
|
||||||
|
value: "create_user"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "创建时间",
|
||||||
|
value: "create_time"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "附件",
|
||||||
|
value: "annex",
|
||||||
|
column: 1
|
||||||
|
},
|
||||||
|
|
||||||
|
],
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
export default detailConfig;
|
@ -30,18 +30,6 @@
|
|||||||
<el-table-column label="项目名称" prop="project_name" show-overflow-tooltip />
|
<el-table-column label="项目名称" prop="project_name" show-overflow-tooltip />
|
||||||
<el-table-column label="文档名称" prop="doc_name" show-overflow-tooltip />
|
<el-table-column label="文档名称" prop="doc_name" show-overflow-tooltip />
|
||||||
<el-table-column label="文档简介" prop="doc_desc" show-overflow-tooltip />
|
<el-table-column label="文档简介" prop="doc_desc" show-overflow-tooltip />
|
||||||
<el-table-column label="附件" prop="annex" show-overflow-tooltip>
|
|
||||||
<template #default="{ row }">
|
|
||||||
<div v-if="row.annex && row.annex.length > 0">
|
|
||||||
<div v-for="(item, i) in row.annex " :key='i'>
|
|
||||||
<el-link :href="item.uri" target="_blank">文件{{ i + 1 }}查看</el-link>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div v-else>
|
|
||||||
暂无文件
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="操作人" prop="create_user" show-overflow-tooltip />
|
<el-table-column label="操作人" prop="create_user" show-overflow-tooltip />
|
||||||
<el-table-column label="操作" width="120" fixed="right">
|
<el-table-column label="操作" width="120" fixed="right">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
@ -54,7 +42,7 @@
|
|||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button v-perms="['supervision_const_prepare.supervision_commencement_report/detail']"
|
<el-button v-perms="['supervision_const_prepare.supervision_commencement_report/detail']"
|
||||||
type="primary" link @click="handleEdit(row, 'detail')">
|
link @click="handleDetail(row.id)">
|
||||||
详情
|
详情
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
@ -66,20 +54,25 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
||||||
|
<detailPage v-if="showDetail" ref="detailRef" @close="showEdit = false" :detailConfig="detailConfig"
|
||||||
|
width="30vw" :column="1" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup name="supervisionCommencementReportLists">
|
<script lang="ts" setup name="supervisionCommencementReportLists">
|
||||||
import { usePaging } from '@/hooks/usePaging'
|
import { usePaging } from '@/hooks/usePaging'
|
||||||
import { useDictData } from '@/hooks/useDictOptions'
|
import { useDictData } from '@/hooks/useDictOptions'
|
||||||
import { apiSupervisionCommencementReportLists, apiSupervisionCommencementReportDelete } from '@/api/supervision_commencement_report'
|
import { apiSupervisionCommencementReportLists, apiSupervisionCommencementReportDelete, apiSupervisionCommencementReportDetail } from '@/api/supervision_commencement_report'
|
||||||
import { timeFormat } from '@/utils/util'
|
|
||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
|
import detailConfig from './detail'
|
||||||
|
|
||||||
|
|
||||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||||
|
const detailRef = ref('')
|
||||||
// 是否显示编辑框
|
// 是否显示编辑框
|
||||||
const showEdit = ref(false)
|
const showEdit = ref(false)
|
||||||
|
const showDetail = ref(false)
|
||||||
|
|
||||||
|
|
||||||
// 查询条件
|
// 查询条件
|
||||||
@ -127,5 +120,13 @@ const handleDelete = async (id: number | any[]) => {
|
|||||||
getLists()
|
getLists()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 详情
|
||||||
|
const handleDetail = async (id: any) => {
|
||||||
|
let res = await apiSupervisionCommencementReportDetail({ id })
|
||||||
|
showDetail.value = true
|
||||||
|
await nextTick()
|
||||||
|
detailRef.value?.open()
|
||||||
|
detailRef.value?.setFormData(res)
|
||||||
|
}
|
||||||
getLists()
|
getLists()
|
||||||
</script>
|
</script>
|
||||||
|
@ -0,0 +1,81 @@
|
|||||||
|
const detailConfig = {
|
||||||
|
title: "工程监理--施工管理人员",
|
||||||
|
config: [
|
||||||
|
{
|
||||||
|
label: "所属单位",
|
||||||
|
value: "company_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "姓名",
|
||||||
|
value: "name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "身份证",
|
||||||
|
value: "id_card"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "技术职称",
|
||||||
|
value: "technical_title"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "岗位",
|
||||||
|
value: "job"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "资质名称1",
|
||||||
|
value: "qualification_name_one"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "认证机构1",
|
||||||
|
value: "qualification_number_one"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "资质编号1",
|
||||||
|
value: "qualification_number_one"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "发证日期1",
|
||||||
|
value: "effective_date_one"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "有效日期1",
|
||||||
|
value: "effective_date_one"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "资质1状态",
|
||||||
|
value: "qualification_one_status_text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "资质名称2",
|
||||||
|
value: "qualification_name_two"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "认证机构2",
|
||||||
|
value: "certification_body_two"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "资质编号2",
|
||||||
|
value: "qualification_number_two"
|
||||||
|
}, {
|
||||||
|
label: "发证日期2",
|
||||||
|
value: "get_date_two"
|
||||||
|
}, {
|
||||||
|
label: "有效日期2",
|
||||||
|
value: "effective_date_two"
|
||||||
|
}, {
|
||||||
|
label: "资质2状态",
|
||||||
|
value: "qualification_two_status_text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "创建人",
|
||||||
|
value: "create_user"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "创建时间",
|
||||||
|
value: "create_time"
|
||||||
|
},
|
||||||
|
|
||||||
|
]
|
||||||
|
|
||||||
|
}
|
||||||
|
export default detailConfig;
|
@ -1,508 +1,388 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="edit-popup">
|
<div class="edit-popup">
|
||||||
<popup
|
<popup ref="popupRef" :title="popupTitle" :async="true" width="60vw" @confirm="handleSubmit"
|
||||||
ref="popupRef"
|
@close="handleClose">
|
||||||
:title="popupTitle"
|
<el-form ref="formRef" :model="formData" label-width="90px" :rules="formRules">
|
||||||
:async="true"
|
<el-row>
|
||||||
width="60vw"
|
<el-col :span="8">
|
||||||
@confirm="handleSubmit"
|
<el-form-item label="所属单位" prop="unit_qualification_id">
|
||||||
@close="handleClose"
|
<el-input v-model="formData.company_name" clearable placeholder="请输入所属单位"
|
||||||
>
|
@click="showDialog1 = true" readonly />
|
||||||
<el-form
|
</el-form-item>
|
||||||
ref="formRef"
|
</el-col>
|
||||||
:model="formData"
|
<el-col :span="8">
|
||||||
label-width="90px"
|
<el-form-item label="姓名" prop="name">
|
||||||
:rules="formRules"
|
<el-input v-model="formData.name" clearable placeholder="请输入姓名" />
|
||||||
>
|
</el-form-item>
|
||||||
<el-row>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="所属单位" prop="unit_qualification_id">
|
<el-form-item label="身份证">
|
||||||
<el-input
|
<el-input v-model="formData.id_card" clearable placeholder="请输入身份证" />
|
||||||
v-model="formData.company_name"
|
</el-form-item>
|
||||||
clearable
|
</el-col>
|
||||||
placeholder="请输入所属单位"
|
|
||||||
@click="showDialog1 = true"
|
|
||||||
readonly
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="姓名" prop="name">
|
|
||||||
<el-input
|
|
||||||
v-model="formData.name"
|
|
||||||
clearable
|
|
||||||
placeholder="请输入姓名"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="身份证">
|
|
||||||
<el-input
|
|
||||||
v-model="formData.id_card"
|
|
||||||
clearable
|
|
||||||
placeholder="请输入身份证"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="创建人">
|
|
||||||
<el-input
|
|
||||||
v-model="formData.create_user_name"
|
|
||||||
clearable
|
|
||||||
placeholder="请输入创建人"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
|
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="技术职称" prop="technical_title">
|
<el-form-item label="技术职称" prop="technical_title">
|
||||||
<el-input
|
<el-input v-model="formData.technical_title" clearable placeholder="请输入技术职称" />
|
||||||
v-model="formData.technical_title"
|
</el-form-item>
|
||||||
clearable
|
</el-col>
|
||||||
placeholder="请输入技术职称"
|
<el-col :span="8">
|
||||||
/>
|
<el-form-item label="岗位">
|
||||||
</el-form-item>
|
<el-input v-model="formData.job" clearable placeholder="请输入岗位" />
|
||||||
</el-col>
|
</el-form-item>
|
||||||
<el-col :span="8">
|
</el-col>
|
||||||
<el-form-item label="岗位">
|
|
||||||
<el-input
|
|
||||||
v-model="formData.job"
|
|
||||||
clearable
|
|
||||||
placeholder="请输入岗位"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="资质名称1">
|
|
||||||
<el-input
|
|
||||||
v-model="formData.qualification_name_one"
|
|
||||||
clearable
|
|
||||||
placeholder="请输入资质名称1"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="认证机构1">
|
|
||||||
<el-input
|
|
||||||
v-model="formData.certification_body_one"
|
|
||||||
clearable
|
|
||||||
placeholder="请输入认证机构1"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="资质编号1">
|
|
||||||
<el-input
|
|
||||||
v-model="formData.qualification_number_one"
|
|
||||||
clearable
|
|
||||||
placeholder="请输入资质编号1"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="发证日期1">
|
|
||||||
<el-date-picker
|
|
||||||
class="flex-1 !flex"
|
|
||||||
v-model="formData.get_date_one"
|
|
||||||
clearable
|
|
||||||
value-format="YYYY-MM-DD "
|
|
||||||
placeholder="选择日期"
|
|
||||||
>
|
|
||||||
</el-date-picker>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="有效日期1">
|
|
||||||
<el-date-picker
|
|
||||||
class="flex-1 !flex"
|
|
||||||
v-model="formData.effective_date_one"
|
|
||||||
clearable
|
|
||||||
value-format="YYYY-MM-DD "
|
|
||||||
placeholder="选择日期"
|
|
||||||
>
|
|
||||||
</el-date-picker>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="资质1状态">
|
|
||||||
<el-select
|
|
||||||
class="flex-1"
|
|
||||||
v-model="formData.qualification_one_status"
|
|
||||||
clearable
|
|
||||||
placeholder="请选择"
|
|
||||||
>
|
|
||||||
<el-option label="有效" :value="0" />
|
|
||||||
<el-option label="无效" :value="1" />
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="资质名称2">
|
|
||||||
<el-input
|
|
||||||
v-model="formData.qualification_name_two"
|
|
||||||
clearable
|
|
||||||
placeholder="请输入资质名称2"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="认证机构2">
|
|
||||||
<el-input
|
|
||||||
v-model="formData.certification_body_two"
|
|
||||||
clearable
|
|
||||||
placeholder="请输入认证机构2"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="资质编号2">
|
|
||||||
<el-input
|
|
||||||
v-model="formData.qualification_number_two"
|
|
||||||
clearable
|
|
||||||
placeholder="请输入资质编号2"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="发证日期2">
|
|
||||||
<el-date-picker
|
|
||||||
class="flex-1 !flex"
|
|
||||||
v-model="formData.get_date_two"
|
|
||||||
clearable
|
|
||||||
value-format="YYYY-MM-DD "
|
|
||||||
placeholder="选择日期"
|
|
||||||
>
|
|
||||||
</el-date-picker>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="有效日期2">
|
|
||||||
<el-date-picker
|
|
||||||
class="flex-1 !flex"
|
|
||||||
v-model="formData.effective_date_two"
|
|
||||||
clearable
|
|
||||||
value-format="YYYY-MM-DD "
|
|
||||||
placeholder="选择日期"
|
|
||||||
>
|
|
||||||
</el-date-picker>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="资质2状态">
|
|
||||||
<el-select
|
|
||||||
class="flex-1"
|
|
||||||
v-model="formData.qualification_two_status"
|
|
||||||
clearable
|
|
||||||
placeholder="请选择"
|
|
||||||
>
|
|
||||||
<el-option label="有效" :value="0" />
|
|
||||||
<el-option label="无效" :value="1" />
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="备注" prop="remark">
|
|
||||||
<el-input
|
|
||||||
v-model="formData.remark"
|
|
||||||
clearable
|
|
||||||
placeholder="请输入备注"
|
|
||||||
type="textarea"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<createUserLable :formData="formData" flag></createUserLable>
|
|
||||||
</el-row>
|
|
||||||
|
|
||||||
<div v-if="showDialog1">
|
<el-col :span="8">
|
||||||
<el-dialog v-model="showDialog1" title="选择单位" width="70%">
|
<el-form-item label="资质名称1">
|
||||||
<dialogTable
|
<el-input v-model="formData.qualification_name_one" clearable placeholder="请输入资质名称1" />
|
||||||
:config="supervision_participating_units_qualifications"
|
</el-form-item>
|
||||||
@customEvent="customEvent1"
|
</el-col>
|
||||||
>
|
<el-col :span="8">
|
||||||
</dialogTable>
|
<el-form-item label="认证机构1">
|
||||||
</el-dialog>
|
<el-input v-model="formData.certification_body_one" clearable placeholder="请输入认证机构1" />
|
||||||
</div>
|
</el-form-item>
|
||||||
</el-form>
|
</el-col>
|
||||||
</popup>
|
<el-col :span="8">
|
||||||
</div>
|
<el-form-item label="资质编号1">
|
||||||
|
<el-input v-model="formData.qualification_number_one" clearable placeholder="请输入资质编号1" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="发证日期1">
|
||||||
|
<el-date-picker class="flex-1 !flex" v-model="formData.get_date_one" clearable
|
||||||
|
value-format="YYYY-MM-DD " placeholder="选择日期">
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="有效日期1">
|
||||||
|
<el-date-picker class="flex-1 !flex" v-model="formData.effective_date_one" clearable
|
||||||
|
value-format="YYYY-MM-DD " placeholder="选择日期">
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="资质1状态">
|
||||||
|
<el-select class="flex-1" v-model="formData.qualification_one_status" clearable
|
||||||
|
placeholder="请选择">
|
||||||
|
<el-option label="有效" :value="0" />
|
||||||
|
<el-option label="无效" :value="1" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="资质名称2">
|
||||||
|
<el-input v-model="formData.qualification_name_two" clearable placeholder="请输入资质名称2" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="认证机构2">
|
||||||
|
<el-input v-model="formData.certification_body_two" clearable placeholder="请输入认证机构2" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="资质编号2">
|
||||||
|
<el-input v-model="formData.qualification_number_two" clearable placeholder="请输入资质编号2" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="发证日期2">
|
||||||
|
<el-date-picker class="flex-1 !flex" v-model="formData.get_date_two" clearable
|
||||||
|
value-format="YYYY-MM-DD " placeholder="选择日期">
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="有效日期2">
|
||||||
|
<el-date-picker class="flex-1 !flex" v-model="formData.effective_date_two" clearable
|
||||||
|
value-format="YYYY-MM-DD " placeholder="选择日期">
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="资质2状态">
|
||||||
|
<el-select class="flex-1" v-model="formData.qualification_two_status" clearable
|
||||||
|
placeholder="请选择">
|
||||||
|
<el-option label="有效" :value="0" />
|
||||||
|
<el-option label="无效" :value="1" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="备注" prop="remark">
|
||||||
|
<el-input v-model="formData.remark" clearable placeholder="请输入备注" type="textarea" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<createUserLable :formData="formData" flag></createUserLable>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<div v-if="showDialog1">
|
||||||
|
<el-dialog v-model="showDialog1" title="选择单位" width="70%">
|
||||||
|
<dialogTable :config="supervision_participating_units_qualifications"
|
||||||
|
@customEvent="customEvent1">
|
||||||
|
</dialogTable>
|
||||||
|
</el-dialog>
|
||||||
|
</div>
|
||||||
|
</el-form>
|
||||||
|
</popup>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup name="supervisionConstructionManagementPersonnelEdit">
|
<script lang="ts" setup name="supervisionConstructionManagementPersonnelEdit">
|
||||||
import type { FormInstance } from "element-plus";
|
import type { FormInstance } from "element-plus";
|
||||||
import Popup from "@/components/popup/index.vue";
|
import Popup from "@/components/popup/index.vue";
|
||||||
import {
|
import {
|
||||||
apiSupervisionConstructionManagementPersonnelAdd,
|
apiSupervisionConstructionManagementPersonnelAdd,
|
||||||
apiSupervisionConstructionManagementPersonnelEdit,
|
apiSupervisionConstructionManagementPersonnelEdit,
|
||||||
} from "@/api/supervision_construction_management_personnel";
|
} from "@/api/supervision_construction_management_personnel";
|
||||||
import type { PropType } from "vue";
|
import type { PropType } from "vue";
|
||||||
import { supervision_participating_units_qualifications } from "@/components/dialogTable/dialogTableConfig";
|
import { supervision_participating_units_qualifications } from "@/components/dialogTable/dialogTableConfig";
|
||||||
|
|
||||||
defineProps({
|
defineProps({
|
||||||
dictData: {
|
dictData: {
|
||||||
type: Object as PropType<Record<string, any[]>>,
|
type: Object as PropType<Record<string, any[]>>,
|
||||||
default: () => ({}),
|
default: () => ({}),
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
const emit = defineEmits(["success", "close"]);
|
const emit = defineEmits(["success", "close"]);
|
||||||
const formRef = shallowRef<FormInstance>();
|
const formRef = shallowRef<FormInstance>();
|
||||||
const popupRef = shallowRef<InstanceType<typeof Popup>>();
|
const popupRef = shallowRef<InstanceType<typeof Popup>>();
|
||||||
const mode = ref("add");
|
const mode = ref("add");
|
||||||
const showDialog = ref(false);
|
|
||||||
const showDialog1 = ref(false);
|
const showDialog1 = ref(false);
|
||||||
|
|
||||||
const handleAvatarSuccess_four = (response: any) => {
|
|
||||||
if (!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 popupTitle = computed(() => {
|
const popupTitle = computed(() => {
|
||||||
return mode.value == "edit"
|
return mode.value == "edit"
|
||||||
? "编辑工程监理--施工管理人员"
|
? "编辑工程监理--施工管理人员"
|
||||||
: "新增工程监理--施工管理人员";
|
: "新增工程监理--施工管理人员";
|
||||||
});
|
});
|
||||||
|
|
||||||
// 表单数据
|
// 表单数据
|
||||||
const formData = reactive({
|
const formData = reactive({
|
||||||
id: "",
|
id: "",
|
||||||
project_id: "",
|
project_id: "",
|
||||||
project_name: "",
|
project_name: "",
|
||||||
name: "",
|
name: "",
|
||||||
unit_qualification_id: "",
|
unit_qualification_id: "",
|
||||||
company_name: "",
|
company_name: "",
|
||||||
id_card: "",
|
id_card: "",
|
||||||
technical_title: "",
|
technical_title: "",
|
||||||
job: "",
|
job: "",
|
||||||
qualification_name_one: "",
|
qualification_name_one: "",
|
||||||
certification_body_one: "",
|
certification_body_one: "",
|
||||||
qualification_number_one: "",
|
qualification_number_one: "",
|
||||||
get_date_one: "",
|
get_date_one: "",
|
||||||
effective_date_one: "",
|
effective_date_one: "",
|
||||||
qualification_one_status: "",
|
qualification_one_status: "",
|
||||||
qualification_name_two: "",
|
qualification_name_two: "",
|
||||||
certification_body_two: "",
|
certification_body_two: "",
|
||||||
qualification_number_two: "",
|
qualification_number_two: "",
|
||||||
get_date_two: "",
|
get_date_two: "",
|
||||||
effective_date_two: "",
|
effective_date_two: "",
|
||||||
qualification_two_status: "",
|
qualification_two_status: "",
|
||||||
remark: "",
|
remark: "",
|
||||||
annex: [],
|
annex: [],
|
||||||
create_user: "",
|
create_user: "",
|
||||||
create_time: "",
|
create_time: "",
|
||||||
});
|
});
|
||||||
|
|
||||||
const customEvent1 = (e) => {
|
const customEvent1 = (e) => {
|
||||||
formData.unit_qualification_id = e.id;
|
formData.unit_qualification_id = e.id;
|
||||||
formData.company_name = e.company_name;
|
formData.company_name = e.company_name;
|
||||||
showDialog1.value = false;
|
showDialog1.value = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
// 表单验证
|
// 表单验证
|
||||||
const formRules = reactive<any>({
|
const formRules = reactive<any>({
|
||||||
project_id: [
|
project_id: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请选择项目",
|
message: "请选择项目",
|
||||||
trigger: ["blur"],
|
trigger: ["blur"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
name: [
|
name: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入姓名",
|
message: "请输入姓名",
|
||||||
trigger: ["blur"],
|
trigger: ["blur"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
unit_qualification_id: [
|
unit_qualification_id: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入所属单位",
|
message: "请输入所属单位",
|
||||||
trigger: ["blur"],
|
trigger: ["blur"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
id_card: [
|
id_card: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入身份证",
|
message: "请输入身份证",
|
||||||
trigger: ["blur"],
|
trigger: ["blur"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
technical_title: [
|
technical_title: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入技术职称",
|
message: "请输入技术职称",
|
||||||
trigger: ["blur"],
|
trigger: ["blur"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
job: [
|
job: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入岗位",
|
message: "请输入岗位",
|
||||||
trigger: ["blur"],
|
trigger: ["blur"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
qualification_name_one: [
|
qualification_name_one: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入资质名称1",
|
message: "请输入资质名称1",
|
||||||
trigger: ["blur"],
|
trigger: ["blur"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
certification_body_one: [
|
certification_body_one: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入认证机构1",
|
message: "请输入认证机构1",
|
||||||
trigger: ["blur"],
|
trigger: ["blur"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
qualification_number_one: [
|
qualification_number_one: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入资质编号1",
|
message: "请输入资质编号1",
|
||||||
trigger: ["blur"],
|
trigger: ["blur"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
get_date_one: [
|
get_date_one: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入发证日期1",
|
message: "请输入发证日期1",
|
||||||
trigger: ["blur"],
|
trigger: ["blur"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
effective_date_one: [
|
effective_date_one: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入有效日期1",
|
message: "请输入有效日期1",
|
||||||
trigger: ["blur"],
|
trigger: ["blur"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
qualification_one_status: [
|
qualification_one_status: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入资质1状态 0-有效 1-无效",
|
message: "请输入资质1状态 0-有效 1-无效",
|
||||||
trigger: ["blur"],
|
trigger: ["blur"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
qualification_name_two: [
|
qualification_name_two: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入资质名称2",
|
message: "请输入资质名称2",
|
||||||
trigger: ["blur"],
|
trigger: ["blur"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
certification_body_two: [
|
certification_body_two: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入认证机构2",
|
message: "请输入认证机构2",
|
||||||
trigger: ["blur"],
|
trigger: ["blur"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
qualification_number_two: [
|
qualification_number_two: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入资质编号2",
|
message: "请输入资质编号2",
|
||||||
trigger: ["blur"],
|
trigger: ["blur"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
get_date_two: [
|
get_date_two: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入发证日期2",
|
message: "请输入发证日期2",
|
||||||
trigger: ["blur"],
|
trigger: ["blur"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
effective_date_two: [
|
effective_date_two: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入有效日期2",
|
message: "请输入有效日期2",
|
||||||
trigger: ["blur"],
|
trigger: ["blur"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
qualification_two_status: [
|
qualification_two_status: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入资质2状态 0-有效 1-无效",
|
message: "请输入资质2状态 0-有效 1-无效",
|
||||||
trigger: ["blur"],
|
trigger: ["blur"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
remark: [
|
remark: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入备注",
|
message: "请输入备注",
|
||||||
trigger: ["blur"],
|
trigger: ["blur"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
create_user: [
|
create_user: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入创建人",
|
message: "请输入创建人",
|
||||||
trigger: ["blur"],
|
trigger: ["blur"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
});
|
});
|
||||||
|
|
||||||
// 获取详情
|
// 获取详情
|
||||||
const setFormData = async (data: Record<any, any>) => {
|
const setFormData = async (data: Record<any, any>) => {
|
||||||
for (const key in formData) {
|
for (const key in formData) {
|
||||||
if (data[key] != null && data[key] != undefined) {
|
if (data[key] != null && data[key] != undefined) {
|
||||||
//@ts-ignore
|
//@ts-ignore
|
||||||
formData[key] = data[key];
|
formData[key] = data[key];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const getDetail = async (row: Record<string, any>) => {
|
const getDetail = async (row: Record<string, any>) => {
|
||||||
const data = await apiSupervisionConstructionManagementPersonnelDetail({
|
const data = await apiSupervisionConstructionManagementPersonnelDetail({
|
||||||
id: row.id,
|
id: row.id,
|
||||||
});
|
});
|
||||||
setFormData(data);
|
setFormData(data);
|
||||||
};
|
};
|
||||||
|
|
||||||
// 提交按钮
|
// 提交按钮
|
||||||
const handleSubmit = async () => {
|
const handleSubmit = async () => {
|
||||||
await formRef.value?.validate();
|
await formRef.value?.validate();
|
||||||
const data = { ...formData };
|
const data = { ...formData };
|
||||||
mode.value == "edit"
|
mode.value == "edit"
|
||||||
? await apiSupervisionConstructionManagementPersonnelEdit(data)
|
? await apiSupervisionConstructionManagementPersonnelEdit(data)
|
||||||
: await apiSupervisionConstructionManagementPersonnelAdd(data);
|
: await apiSupervisionConstructionManagementPersonnelAdd(data);
|
||||||
popupRef.value?.close();
|
popupRef.value?.close();
|
||||||
emit("success");
|
emit("success");
|
||||||
};
|
};
|
||||||
|
|
||||||
//打开弹窗
|
//打开弹窗
|
||||||
const open = (type = "add") => {
|
const open = (type = "add") => {
|
||||||
mode.value = type;
|
mode.value = type;
|
||||||
popupRef.value?.open();
|
popupRef.value?.open();
|
||||||
};
|
};
|
||||||
|
|
||||||
// 关闭回调
|
// 关闭回调
|
||||||
const handleClose = () => {
|
const handleClose = () => {
|
||||||
emit("close");
|
emit("close");
|
||||||
};
|
};
|
||||||
|
|
||||||
defineExpose({
|
defineExpose({
|
||||||
open,
|
open,
|
||||||
setFormData,
|
setFormData,
|
||||||
getDetail,
|
getDetail,
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
@ -66,6 +66,11 @@
|
|||||||
type="danger" link @click="handleDelete(row.id)">
|
type="danger" link @click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
v-perms="['supervision_qualification_review.supervision_construction_management_personnel/detail']"
|
||||||
|
link @click="handleDetail(row.id)">
|
||||||
|
详情
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -75,6 +80,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
||||||
|
<detailPage v-if="showDetail" ref="detailRef" @close="showEdit = false" :detailConfig="detailConfig" />
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -82,14 +89,16 @@
|
|||||||
import { usePaging } from '@/hooks/usePaging'
|
import { usePaging } from '@/hooks/usePaging'
|
||||||
import { useDictData } from '@/hooks/useDictOptions'
|
import { useDictData } from '@/hooks/useDictOptions'
|
||||||
import { apiSupervisionConstructionManagementPersonnelLists, apiSupervisionConstructionManagementPersonnelDelete, apiSupervisionConstructionManagementPersonnelDetail } from '@/api/supervision_construction_management_personnel'
|
import { apiSupervisionConstructionManagementPersonnelLists, apiSupervisionConstructionManagementPersonnelDelete, apiSupervisionConstructionManagementPersonnelDetail } from '@/api/supervision_construction_management_personnel'
|
||||||
import { timeFormat } from '@/utils/util'
|
|
||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
|
import detailConfig from './detail'
|
||||||
|
|
||||||
|
|
||||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||||
|
const detailRef = ref('')
|
||||||
// 是否显示编辑框
|
// 是否显示编辑框
|
||||||
const showEdit = ref(false)
|
const showEdit = ref(false)
|
||||||
|
const showDetail = ref(false)
|
||||||
|
|
||||||
// 查询条件
|
// 查询条件
|
||||||
const queryParams = reactive({
|
const queryParams = reactive({
|
||||||
@ -139,6 +148,15 @@ const handleDelete = async (id: number | any[]) => {
|
|||||||
await apiSupervisionConstructionManagementPersonnelDelete({ id })
|
await apiSupervisionConstructionManagementPersonnelDelete({ id })
|
||||||
getLists()
|
getLists()
|
||||||
}
|
}
|
||||||
|
// 详情
|
||||||
|
const handleDetail = async (id: any) => {
|
||||||
|
let res = await apiSupervisionConstructionManagementPersonnelDetail({ id })
|
||||||
|
showDetail.value = true
|
||||||
|
await nextTick()
|
||||||
|
detailRef.value?.open()
|
||||||
|
detailRef.value?.setFormData(res)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
getLists()
|
getLists()
|
||||||
</script>
|
</script>
|
||||||
|
34
src/views/supervision_construction_planning/detail.js
Normal file
34
src/views/supervision_construction_planning/detail.js
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
const detailConfig = {
|
||||||
|
title: "工程监理--监理合同交底",
|
||||||
|
config: [
|
||||||
|
{
|
||||||
|
label: "项目名称",
|
||||||
|
value: "project_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "文档名称",
|
||||||
|
value: "doc_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "文档简介",
|
||||||
|
value: "doc_desc"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "创建人",
|
||||||
|
value: "create_user"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "创建时间",
|
||||||
|
value: "create_time"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "附件",
|
||||||
|
value: "annex",
|
||||||
|
column: 1
|
||||||
|
},
|
||||||
|
|
||||||
|
],
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
export default detailConfig;
|
@ -29,18 +29,6 @@
|
|||||||
<el-table-column label="项目名称" prop="project_name" show-overflow-tooltip />
|
<el-table-column label="项目名称" prop="project_name" show-overflow-tooltip />
|
||||||
<el-table-column label="文档名称" prop="doc_name" show-overflow-tooltip />
|
<el-table-column label="文档名称" prop="doc_name" show-overflow-tooltip />
|
||||||
<el-table-column label="文档简介" prop="doc_desc" show-overflow-tooltip />
|
<el-table-column label="文档简介" prop="doc_desc" show-overflow-tooltip />
|
||||||
<el-table-column label="附件" prop="annex" show-overflow-tooltip>
|
|
||||||
<template #default="{ row }">
|
|
||||||
<div v-if="row.annex && row.annex.length > 0">
|
|
||||||
<div v-for="(item, i) in row.annex " :key='i'>
|
|
||||||
<el-link :href="item.uri" target="_blank">文件{{ i + 1 }}查看</el-link>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div v-else>
|
|
||||||
暂无文件
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="操作人" prop="create_user" show-overflow-tooltip />
|
<el-table-column label="操作人" prop="create_user" show-overflow-tooltip />
|
||||||
<el-table-column label="操作" width="120" fixed="right">
|
<el-table-column label="操作" width="120" fixed="right">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
@ -52,6 +40,10 @@
|
|||||||
type="danger" link @click="handleDelete(row.id)">
|
type="danger" link @click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button v-perms="['supervision_prepare.supervision_construction_planning/detail']" link
|
||||||
|
@click="handleDetail(row.id)">
|
||||||
|
详情
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -61,6 +53,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
||||||
|
<detailPage v-if="showDetail" ref="detailRef" @close="showEdit = false" :detailConfig="detailConfig"
|
||||||
|
width="30vw" :column="1" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -68,13 +62,16 @@
|
|||||||
import { usePaging } from '@/hooks/usePaging'
|
import { usePaging } from '@/hooks/usePaging'
|
||||||
import { useDictData } from '@/hooks/useDictOptions'
|
import { useDictData } from '@/hooks/useDictOptions'
|
||||||
import { apiSupervisionConstructionPlanningLists, apiSupervisionConstructionPlanningDelete, apiSupervisionConstructionPlanningDetail } from '@/api/supervision_construction_planning'
|
import { apiSupervisionConstructionPlanningLists, apiSupervisionConstructionPlanningDelete, apiSupervisionConstructionPlanningDetail } from '@/api/supervision_construction_planning'
|
||||||
import { timeFormat } from '@/utils/util'
|
|
||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
|
import detailConfig from './detail'
|
||||||
|
|
||||||
|
|
||||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||||
|
const detailRef = ref('')
|
||||||
// 是否显示编辑框
|
// 是否显示编辑框
|
||||||
const showEdit = ref(false)
|
const showEdit = ref(false)
|
||||||
|
const showDetail = ref(false)
|
||||||
|
|
||||||
|
|
||||||
// 查询条件
|
// 查询条件
|
||||||
@ -113,7 +110,7 @@ const handleEdit = async (data: any) => {
|
|||||||
showEdit.value = true
|
showEdit.value = true
|
||||||
await nextTick()
|
await nextTick()
|
||||||
editRef.value?.open('edit')
|
editRef.value?.open('edit')
|
||||||
editRef.value?.setFormData(data)
|
editRef.value?.setFormData(res)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除
|
// 删除
|
||||||
@ -123,5 +120,15 @@ const handleDelete = async (id: number | any[]) => {
|
|||||||
getLists()
|
getLists()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 详情
|
||||||
|
const handleDetail = async (id: any) => {
|
||||||
|
let res = await apiSupervisionConstructionPlanningDetail({ id })
|
||||||
|
showDetail.value = true
|
||||||
|
await nextTick()
|
||||||
|
detailRef.value?.open()
|
||||||
|
detailRef.value?.setFormData(res)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
getLists()
|
getLists()
|
||||||
</script>
|
</script>
|
||||||
|
34
src/views/supervision_contract_disclosure/detail.js
Normal file
34
src/views/supervision_contract_disclosure/detail.js
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
const detailConfig = {
|
||||||
|
title: "工程监理--监理合同交底",
|
||||||
|
config: [
|
||||||
|
{
|
||||||
|
label: "项目名称",
|
||||||
|
value: "project_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "文档名称",
|
||||||
|
value: "doc_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "文档简介",
|
||||||
|
value: "doc_desc"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "创建人",
|
||||||
|
value: "create_user"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "创建时间",
|
||||||
|
value: "create_time"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "附件",
|
||||||
|
value: "annex",
|
||||||
|
column: 1
|
||||||
|
},
|
||||||
|
|
||||||
|
],
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
export default detailConfig;
|
@ -40,8 +40,8 @@
|
|||||||
type="danger" link @click="handleDelete(row.id)">
|
type="danger" link @click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button v-perms="['supervision_prepare.supervision_contract_disclosure/detail']"
|
<el-button v-perms="['supervision_prepare.supervision_contract_disclosure/detail']" link
|
||||||
type="primary" link @click="handleEdit(row, 'detail')">
|
@click="handleDetail(row.id)">
|
||||||
详情
|
详情
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
@ -53,6 +53,9 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
||||||
|
<detailPage v-if="showDetail" ref="detailRef" @close="showEdit = false" :detailConfig="detailConfig"
|
||||||
|
width="30vw" :column="1" />
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -60,13 +63,15 @@
|
|||||||
import { usePaging } from '@/hooks/usePaging'
|
import { usePaging } from '@/hooks/usePaging'
|
||||||
import { useDictData } from '@/hooks/useDictOptions'
|
import { useDictData } from '@/hooks/useDictOptions'
|
||||||
import { apiSupervisionContractDisclosureLists, apiSupervisionContractDisclosureDelete, apiSupervisionContractDisclosureDetail } from '@/api/supervision_contract_disclosure'
|
import { apiSupervisionContractDisclosureLists, apiSupervisionContractDisclosureDelete, apiSupervisionContractDisclosureDetail } from '@/api/supervision_contract_disclosure'
|
||||||
import { timeFormat } from '@/utils/util'
|
|
||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
|
import detailConfig from './detail'
|
||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
|
|
||||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||||
|
const detailRef = ref('')
|
||||||
// 是否显示编辑框
|
// 是否显示编辑框
|
||||||
const showEdit = ref(false)
|
const showEdit = ref(false)
|
||||||
|
const showDetail = ref(false)
|
||||||
|
|
||||||
|
|
||||||
// 查询条件
|
// 查询条件
|
||||||
@ -115,7 +120,14 @@ const handleDelete = async (id: number | any[]) => {
|
|||||||
getLists()
|
getLists()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 详情
|
||||||
|
const handleDetail = async (id: any) => {
|
||||||
|
let res = await apiSupervisionContractDisclosureDetail({ id })
|
||||||
|
showDetail.value = true
|
||||||
|
await nextTick()
|
||||||
|
detailRef.value?.open()
|
||||||
|
detailRef.value?.setFormData(res)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
getLists()
|
getLists()
|
||||||
|
34
src/views/supervision_design_disclosure/detail.js
Normal file
34
src/views/supervision_design_disclosure/detail.js
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
const detailConfig = {
|
||||||
|
title: "工程监理--第一次工地会议",
|
||||||
|
config: [
|
||||||
|
{
|
||||||
|
label: "项目名称",
|
||||||
|
value: "project_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "文档名称",
|
||||||
|
value: "doc_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "文档简介",
|
||||||
|
value: "doc_desc"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "创建人",
|
||||||
|
value: "create_user"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "创建时间",
|
||||||
|
value: "create_time"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "附件",
|
||||||
|
value: "annex",
|
||||||
|
column: 1
|
||||||
|
},
|
||||||
|
|
||||||
|
],
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
export default detailConfig;
|
@ -29,18 +29,6 @@
|
|||||||
<el-table-column label="项目名称" prop="project_name" show-overflow-tooltip />
|
<el-table-column label="项目名称" prop="project_name" show-overflow-tooltip />
|
||||||
<el-table-column label="文档名称" prop="doc_name" show-overflow-tooltip />
|
<el-table-column label="文档名称" prop="doc_name" show-overflow-tooltip />
|
||||||
<el-table-column label="文档简介" prop="doc_desc" show-overflow-tooltip />
|
<el-table-column label="文档简介" prop="doc_desc" show-overflow-tooltip />
|
||||||
<el-table-column label="附件" prop="annex" show-overflow-tooltip>
|
|
||||||
<template #default="{ row }">
|
|
||||||
<div v-if="row.annex && row.annex.length > 0">
|
|
||||||
<div v-for="(item, i) in row.annex " :key='i'>
|
|
||||||
<el-link :href="item" target="_blank">文件{{ i + 1 }}查看</el-link>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div v-else>
|
|
||||||
暂无文件
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="操作人" prop="create_user" show-overflow-tooltip />
|
<el-table-column label="操作人" prop="create_user" show-overflow-tooltip />
|
||||||
<el-table-column label="操作" width="120" fixed="right">
|
<el-table-column label="操作" width="120" fixed="right">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
@ -52,6 +40,10 @@
|
|||||||
type="danger" link @click="handleDelete(row.id)">
|
type="danger" link @click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button v-perms="['supervision_const_prepare.supervision_design_disclosure/detail']" link
|
||||||
|
@click="handleDetail(row.id)">
|
||||||
|
详情
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -61,6 +53,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
||||||
|
<detailPage v-if="showDetail" ref="detailRef" @close="showEdit = false" :detailConfig="detailConfig"
|
||||||
|
width="30vw" :column="1" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -68,14 +62,15 @@
|
|||||||
import { usePaging } from '@/hooks/usePaging'
|
import { usePaging } from '@/hooks/usePaging'
|
||||||
import { useDictData } from '@/hooks/useDictOptions'
|
import { useDictData } from '@/hooks/useDictOptions'
|
||||||
import { apiSupervisionDesignDisclosureLists, apiSupervisionDesignDisclosureDelete, apiSupervisionDesignDisclosureDetail } from '@/api/supervision_design_disclosure'
|
import { apiSupervisionDesignDisclosureLists, apiSupervisionDesignDisclosureDelete, apiSupervisionDesignDisclosureDetail } from '@/api/supervision_design_disclosure'
|
||||||
import { timeFormat } from '@/utils/util'
|
import detailConfig from './detail'
|
||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
|
|
||||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||||
|
const detailRef = ref('')
|
||||||
// 是否显示编辑框
|
// 是否显示编辑框
|
||||||
const showEdit = ref(false)
|
const showEdit = ref(false)
|
||||||
|
const showDetail = ref(false)
|
||||||
|
|
||||||
// 查询条件
|
// 查询条件
|
||||||
const queryParams = reactive({
|
const queryParams = reactive({
|
||||||
@ -122,6 +117,15 @@ const handleDelete = async (id: number | any[]) => {
|
|||||||
await apiSupervisionDesignDisclosureDelete({ id })
|
await apiSupervisionDesignDisclosureDelete({ id })
|
||||||
getLists()
|
getLists()
|
||||||
}
|
}
|
||||||
|
// 详情
|
||||||
|
const handleDetail = async (id: any) => {
|
||||||
|
let res = await apiSupervisionDesignDisclosureDetail({ id })
|
||||||
|
showDetail.value = true
|
||||||
|
await nextTick()
|
||||||
|
detailRef.value?.open()
|
||||||
|
detailRef.value?.setFormData(res)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
getLists()
|
getLists()
|
||||||
</script>
|
</script>
|
||||||
|
80
src/views/supervision_device_entry/detail.js
Normal file
80
src/views/supervision_device_entry/detail.js
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
|
||||||
|
import { apisupervision_material_entry_detail, } from '@/api/supervision_material_entry'
|
||||||
|
|
||||||
|
const detailConfig = {
|
||||||
|
title: "工程监理--设备进场",
|
||||||
|
config: [
|
||||||
|
{
|
||||||
|
label: "项目名称",
|
||||||
|
value: "project_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "进场时间",
|
||||||
|
value: "enter_time"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "施工单位",
|
||||||
|
value: "company_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "进场结果",
|
||||||
|
value: "enter_result_text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "共同参与人",
|
||||||
|
value: "co_participant"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "备注",
|
||||||
|
value: "remark",
|
||||||
|
column: 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "创建人",
|
||||||
|
value: "create_user"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "创建时间",
|
||||||
|
value: "create_time"
|
||||||
|
},
|
||||||
|
|
||||||
|
],
|
||||||
|
table: {
|
||||||
|
title: "材料信息",
|
||||||
|
tableConfig: [
|
||||||
|
{
|
||||||
|
label: "材料名称",
|
||||||
|
value: 'name'
|
||||||
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "材料品牌",
|
||||||
|
value: 'brand'
|
||||||
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "单位",
|
||||||
|
value: 'unit'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "是否合同约定品牌",
|
||||||
|
value: 'contract_brand_text',
|
||||||
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "型号",
|
||||||
|
value: 'model',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "进场数量",
|
||||||
|
value: 'entry_number'
|
||||||
|
},
|
||||||
|
|
||||||
|
],
|
||||||
|
fetchFun: apisupervision_material_entry_detail,
|
||||||
|
query: 'material_entry_id'
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
export default detailConfig;
|
@ -48,6 +48,10 @@
|
|||||||
@click="handleDelete(row.id)">
|
@click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button v-perms="['supervision_work.supervision_device_entry/detail']" link
|
||||||
|
@click="handleDetail(row.id)">
|
||||||
|
详情
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -57,6 +61,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
||||||
|
<detailPage v-if="showDetail" ref="detailRef" @close="showEdit = false" :detailConfig="detailConfig" />
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -67,11 +73,14 @@ import { apiSupervisionDeviceEntryLists, apiSupervisionDeviceEntryDelete, apiSup
|
|||||||
import { timeFormat } from '@/utils/util'
|
import { timeFormat } from '@/utils/util'
|
||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
|
import detailConfig from './detail'
|
||||||
|
|
||||||
|
|
||||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||||
|
const detailRef = ref('')
|
||||||
// 是否显示编辑框
|
// 是否显示编辑框
|
||||||
const showEdit = ref(false)
|
const showEdit = ref(false)
|
||||||
|
const showDetail = ref(false)
|
||||||
|
|
||||||
// 查询条件
|
// 查询条件
|
||||||
const queryParams = reactive({
|
const queryParams = reactive({
|
||||||
@ -120,5 +129,15 @@ const handleDelete = async (id: number | any[]) => {
|
|||||||
getLists()
|
getLists()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 详情
|
||||||
|
const handleDetail = async (id: any) => {
|
||||||
|
let res = await apiSupervisionDeviceEntryDetail({ id })
|
||||||
|
showDetail.value = true
|
||||||
|
await nextTick()
|
||||||
|
detailRef.value?.open()
|
||||||
|
detailRef.value?.setFormData(res)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
getLists()
|
getLists()
|
||||||
</script>
|
</script>
|
||||||
|
34
src/views/supervision_first_meeting/detail.js
Normal file
34
src/views/supervision_first_meeting/detail.js
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
const detailConfig = {
|
||||||
|
title: "工程监理--第一次工地会议",
|
||||||
|
config: [
|
||||||
|
{
|
||||||
|
label: "项目名称",
|
||||||
|
value: "project_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "文档名称",
|
||||||
|
value: "doc_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "文档简介",
|
||||||
|
value: "doc_desc"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "创建人",
|
||||||
|
value: "create_user"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "创建时间",
|
||||||
|
value: "create_time"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "附件",
|
||||||
|
value: "annex",
|
||||||
|
column: 1
|
||||||
|
},
|
||||||
|
|
||||||
|
],
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
export default detailConfig;
|
@ -29,18 +29,6 @@
|
|||||||
<el-table-column label="项目名称" prop="project_name" show-overflow-tooltip />
|
<el-table-column label="项目名称" prop="project_name" show-overflow-tooltip />
|
||||||
<el-table-column label="文档名称" prop="doc_name" show-overflow-tooltip />
|
<el-table-column label="文档名称" prop="doc_name" show-overflow-tooltip />
|
||||||
<el-table-column label="文档简介" prop="doc_desc" show-overflow-tooltip />
|
<el-table-column label="文档简介" prop="doc_desc" show-overflow-tooltip />
|
||||||
<el-table-column label="附件" prop="annex" show-overflow-tooltip>
|
|
||||||
<template #default="{ row }">
|
|
||||||
<div v-if="row.annex && row.annex.length > 0">
|
|
||||||
<div v-for="(item, i) in row.annex " :key='i'>
|
|
||||||
<el-link :href="item" target="_blank" type="primary">文件{{ i + 1 }}查看</el-link>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div v-else>
|
|
||||||
暂无文件
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="操作人" prop="create_user" show-overflow-tooltip />
|
<el-table-column label="操作人" prop="create_user" show-overflow-tooltip />
|
||||||
<el-table-column label="操作" width="120" fixed="right">
|
<el-table-column label="操作" width="120" fixed="right">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
@ -52,6 +40,10 @@
|
|||||||
type="danger" link @click="handleDelete(row.id)">
|
type="danger" link @click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button v-perms="['supervision_const_prepare.supervision_first_meeting/detail']" link
|
||||||
|
@click="handleDetail(row.id)">
|
||||||
|
详情
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -61,6 +53,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
||||||
|
<detailPage v-if="showDetail" ref="detailRef" @close="showEdit = false" :detailConfig="detailConfig"
|
||||||
|
width="30vw" :column="1" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -68,14 +62,16 @@
|
|||||||
import { usePaging } from '@/hooks/usePaging'
|
import { usePaging } from '@/hooks/usePaging'
|
||||||
import { useDictData } from '@/hooks/useDictOptions'
|
import { useDictData } from '@/hooks/useDictOptions'
|
||||||
import { apiSupervisionFirstMeetingLists, apiSupervisionFirstMeetingDelete, apiSupervisionFirstMeetingDetail } from '@/api/supervision_first_meeting'
|
import { apiSupervisionFirstMeetingLists, apiSupervisionFirstMeetingDelete, apiSupervisionFirstMeetingDetail } from '@/api/supervision_first_meeting'
|
||||||
import { timeFormat } from '@/utils/util'
|
|
||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
|
import detailConfig from './detail'
|
||||||
|
|
||||||
|
|
||||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||||
|
const detailRef = ref('')
|
||||||
// 是否显示编辑框
|
// 是否显示编辑框
|
||||||
const showEdit = ref(false)
|
const showEdit = ref(false)
|
||||||
|
const showDetail = ref(false)
|
||||||
|
|
||||||
// 查询条件
|
// 查询条件
|
||||||
const queryParams = reactive({
|
const queryParams = reactive({
|
||||||
@ -123,5 +119,15 @@ const handleDelete = async (id: number | any[]) => {
|
|||||||
getLists()
|
getLists()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 详情
|
||||||
|
const handleDetail = async (id: any) => {
|
||||||
|
let res = await apiSupervisionFirstMeetingDetail({ id })
|
||||||
|
showDetail.value = true
|
||||||
|
await nextTick()
|
||||||
|
detailRef.value?.open()
|
||||||
|
detailRef.value?.setFormData(res)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
getLists()
|
getLists()
|
||||||
</script>
|
</script>
|
||||||
|
161
src/views/supervision_inspection/detail.vue
Normal file
161
src/views/supervision_inspection/detail.vue
Normal file
@ -0,0 +1,161 @@
|
|||||||
|
<template>
|
||||||
|
<div class="edit-popup">
|
||||||
|
<popup ref="popupRef" :async="true" width="80vw" @close="handleClose">
|
||||||
|
<el-form ref="formRef" :model="formData" label-width="100px">
|
||||||
|
<el-descriptions column="3" title="工程监理--巡视登记详情" border>
|
||||||
|
<el-descriptions-item label="项目名称" label-align="left" align="left">
|
||||||
|
{{ formData.project_name }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="编号" label-align="left" align="left">
|
||||||
|
{{ formData.inspection_code }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="巡视类型" label-align="left" align="left">
|
||||||
|
{{ formData.inspection_type_text }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="单位工程" label-align="left" align="left">
|
||||||
|
{{ formData.check_item_name }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="巡视部位" label-align="left" align="left">
|
||||||
|
{{ formData.inspection_position }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="施工人数" label-align="left" align="left">
|
||||||
|
{{ formData.workers }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="管理人数" label-align="left" align="left">
|
||||||
|
{{ formData.managers }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="巡视开始时间" label-align="left" align="left">
|
||||||
|
{{ formData.start_time }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="巡视结束时间" label-align="left" align="left">
|
||||||
|
{{ formData.end_time }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="巡视人员" label-align="left" align="left">
|
||||||
|
{{ formData.inspection_user }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="施工单位" label-align="left" align="left">
|
||||||
|
{{ formData.company_name }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="巡视内容" label-align="left" align="left">
|
||||||
|
{{ formData.inspection_content }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="设置重点关注" label-align="left" align="left">
|
||||||
|
{{ formData.is_important_text }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="关注人" label-align="left" align="left">
|
||||||
|
{{ formData.follow_user }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="检查表单选择" label-align="left" align="left">
|
||||||
|
{{ formData.check_item_detail_name }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="附件" label-align="left" align="left">
|
||||||
|
<el-link class="mr-5" type="primary" v-for="item in formData.annex" :href="item.uri">
|
||||||
|
{{ item.name }}
|
||||||
|
</el-link>
|
||||||
|
</el-descriptions-item>
|
||||||
|
</el-descriptions>
|
||||||
|
</el-form>
|
||||||
|
<el-card class="mt-5">
|
||||||
|
<template #header>
|
||||||
|
巡视结果列表
|
||||||
|
</template>
|
||||||
|
<el-table :data="formData.inspection_result">
|
||||||
|
<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-column label="是否检查结果必检" prop="check_result_text" show-overflow-tooltip />
|
||||||
|
</el-table>
|
||||||
|
</el-card>
|
||||||
|
<el-card>
|
||||||
|
<template #header>
|
||||||
|
巡视问题列表
|
||||||
|
</template>
|
||||||
|
<el-table :data="formData.inspection_problem">
|
||||||
|
<el-table-column label="问题分类" prop="problem_cate_text" show-overflow-tooltip />
|
||||||
|
<el-table-column label="问题说明" prop="problem_description" show-overflow-tooltip />
|
||||||
|
<el-table-column label="问题名称" prop="problem_name" show-overflow-tooltip />
|
||||||
|
</el-table>
|
||||||
|
</el-card>
|
||||||
|
</popup>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" setup name="supervisionInspectionEdit">
|
||||||
|
import Popup from '@/components/popup/index.vue'
|
||||||
|
import { apisupervision_inspection_result, apisupervision_problem } from '@/api/supervision_inspection'
|
||||||
|
import { timeFormat } from '@/utils/util'
|
||||||
|
|
||||||
|
|
||||||
|
const emit = defineEmits(['success', 'close'])
|
||||||
|
const popupRef = shallowRef<InstanceType<typeof Popup>>()
|
||||||
|
const mode = ref('add')
|
||||||
|
|
||||||
|
// 表单数据
|
||||||
|
const formData = reactive({
|
||||||
|
id: '',
|
||||||
|
project_id: '',
|
||||||
|
project_name: '',
|
||||||
|
inspection_code: '',
|
||||||
|
is_important: "",
|
||||||
|
inspection_type: '',
|
||||||
|
check_item_id: '',
|
||||||
|
check_item_name: "",
|
||||||
|
inspection_type_text: "",
|
||||||
|
check_item_name_text: "",
|
||||||
|
inspection_position: '',
|
||||||
|
workers: '',
|
||||||
|
managers: '',
|
||||||
|
start_time: timeFormat('', 'yyyy-mm-dd hh:MM:ss'),
|
||||||
|
end_time: '',
|
||||||
|
inspection_user: '',
|
||||||
|
company_id: 0,
|
||||||
|
company_name: '',
|
||||||
|
inspection_content: '',
|
||||||
|
create_time: "",
|
||||||
|
follow_user: '',
|
||||||
|
check_item_detail_ids: [],
|
||||||
|
check_item_detail_name: '',
|
||||||
|
annex: [],
|
||||||
|
create_user: '',
|
||||||
|
inspection_result: [],
|
||||||
|
is_important_text: "",
|
||||||
|
check_item_detail_name_text: "",
|
||||||
|
inspection_problem: []
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
// 获取详情
|
||||||
|
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]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
apisupervision_inspection_result({ inspection_id: formData.id }).then(res => {
|
||||||
|
formData.inspection_result = res.lists
|
||||||
|
})
|
||||||
|
apisupervision_problem({ data_id: formData.id, data_type: 1 }).then(res => {
|
||||||
|
formData.inspection_problem = res.lists
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//打开弹窗
|
||||||
|
const open = (type = 'add') => {
|
||||||
|
mode.value = type
|
||||||
|
popupRef.value?.open()
|
||||||
|
}
|
||||||
|
|
||||||
|
// 关闭回调
|
||||||
|
const handleClose = () => {
|
||||||
|
emit('close')
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
defineExpose({
|
||||||
|
open,
|
||||||
|
setFormData,
|
||||||
|
})
|
||||||
|
</script>
|
@ -86,8 +86,8 @@
|
|||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="设置重点关注" prop="is_importent">
|
<el-form-item label="设置重点关注" prop="is_importent">
|
||||||
<el-select v-model="formData.is_important" clearable placeholder="请选择" class="flex-1">
|
<el-select v-model="formData.is_important" clearable placeholder="请选择" class="flex-1">
|
||||||
<el-option label="否" :value="0" />
|
<el-option label="有效" :value="0" />
|
||||||
<el-option label="是" :value="1" />
|
<el-option label="无效" :value="1" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
@ -57,6 +57,10 @@
|
|||||||
@click="handleDelete(row.id)">
|
@click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button v-perms="['supervision_work.supervision_inspection/detail']" link
|
||||||
|
@click="handleDetail(row.id)">
|
||||||
|
详情
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -66,6 +70,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
||||||
|
<detail-popup v-if="showDetail" ref="detailRef" @success="getLists" @close="showEdit = false" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -73,14 +78,16 @@
|
|||||||
import { usePaging } from '@/hooks/usePaging'
|
import { usePaging } from '@/hooks/usePaging'
|
||||||
import { useDictData } from '@/hooks/useDictOptions'
|
import { useDictData } from '@/hooks/useDictOptions'
|
||||||
import { apiSupervisionInspectionLists, apiSupervisionInspectionDelete, apiSupervisionInspectionDetail } from '@/api/supervision_inspection'
|
import { apiSupervisionInspectionLists, apiSupervisionInspectionDelete, apiSupervisionInspectionDetail } from '@/api/supervision_inspection'
|
||||||
import { timeFormat } from '@/utils/util'
|
|
||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
|
import DetailPopup from './detail.vue'
|
||||||
|
|
||||||
|
|
||||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||||
|
const detailRef = ref('')
|
||||||
// 是否显示编辑框
|
// 是否显示编辑框
|
||||||
const showEdit = ref(false)
|
const showEdit = ref(false)
|
||||||
|
const showDetail = ref(false)
|
||||||
|
|
||||||
// 查询条件
|
// 查询条件
|
||||||
const queryParams = reactive({
|
const queryParams = reactive({
|
||||||
@ -129,5 +136,14 @@ const handleDelete = async (id: number | any[]) => {
|
|||||||
getLists()
|
getLists()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 详情
|
||||||
|
const handleDetail = async (id: any) => {
|
||||||
|
let res = await apiSupervisionInspectionDetail({ id })
|
||||||
|
showDetail.value = true
|
||||||
|
await nextTick()
|
||||||
|
detailRef.value?.open()
|
||||||
|
detailRef.value?.setFormData(res)
|
||||||
|
}
|
||||||
|
|
||||||
getLists()
|
getLists()
|
||||||
</script>
|
</script>
|
||||||
|
79
src/views/supervision_large_equipment/detail.js
Normal file
79
src/views/supervision_large_equipment/detail.js
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
const detailConfig = {
|
||||||
|
title: "工程监理--第一次工地会议",
|
||||||
|
config: [
|
||||||
|
{
|
||||||
|
label: "所属单位",
|
||||||
|
value: "company_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "设备名称",
|
||||||
|
value: "name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "资质名称1",
|
||||||
|
value: "qualification_name_one"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "认证机构1",
|
||||||
|
value: "certification_body_one"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "资质编号1",
|
||||||
|
value: "qualification_number_one"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "发证日期1",
|
||||||
|
value: "qualification_number_one"
|
||||||
|
}, {
|
||||||
|
label: "资质编号1",
|
||||||
|
value: "get_date_one"
|
||||||
|
}, {
|
||||||
|
label: "发证日期1",
|
||||||
|
value: "get_date_one"
|
||||||
|
}, {
|
||||||
|
label: "有效日期1",
|
||||||
|
value: "effective_date_one"
|
||||||
|
}, {
|
||||||
|
label: "资质1状态",
|
||||||
|
value: "qualification_one_status_text"
|
||||||
|
}, {
|
||||||
|
label: "资质名称2",
|
||||||
|
value: "qualification_name_two"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "认证机构2",
|
||||||
|
value: "certification_body_two"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "资质编号2",
|
||||||
|
value: "qualification_number_two"
|
||||||
|
}, {
|
||||||
|
label: "发证日期2",
|
||||||
|
value: "get_date_two"
|
||||||
|
}, {
|
||||||
|
label: "有效日期2",
|
||||||
|
value: "effective_date_two"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "资质2状态",
|
||||||
|
value: "qualification_two_status_text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "创建人",
|
||||||
|
value: "create_user"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "创建时间",
|
||||||
|
value: "create_time"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "附件",
|
||||||
|
value: "annex",
|
||||||
|
column: 1
|
||||||
|
},
|
||||||
|
|
||||||
|
],
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
export default detailConfig;
|
@ -1,222 +1,136 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="edit-popup">
|
<div class="edit-popup">
|
||||||
<popup
|
<popup ref="popupRef" :title="popupTitle" :async="true" width="60vw" @confirm="handleSubmit"
|
||||||
ref="popupRef"
|
@close="handleClose">
|
||||||
:title="popupTitle"
|
<el-form ref="formRef" :model="formData" label-width="90px" :rules="formRules">
|
||||||
:async="true"
|
<el-row>
|
||||||
width="60vw"
|
<el-col :span="8">
|
||||||
@confirm="handleSubmit"
|
<el-form-item label="所属单位" prop="company_name">
|
||||||
@close="handleClose"
|
<el-input v-model="formData.company_name" clearable placeholder="请输入所属单位"
|
||||||
>
|
@click="showDialog1 = true" readonly />
|
||||||
<el-form
|
</el-form-item>
|
||||||
ref="formRef"
|
</el-col>
|
||||||
:model="formData"
|
<el-col :span="8">
|
||||||
label-width="90px"
|
<el-form-item label="设备名称" prop="name">
|
||||||
:rules="formRules"
|
<el-input v-model="formData.name" clearable placeholder="请输入设备名称" />
|
||||||
>
|
</el-form-item>
|
||||||
<el-row>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="所属单位" prop="unit_qualification_id">
|
<el-form-item label="资质名称1" prop="qualification_name_one">
|
||||||
<el-input
|
<el-input v-model="formData.qualification_name_one" clearable placeholder="请输入资质名称1" />
|
||||||
v-model="formData.company_name"
|
</el-form-item>
|
||||||
clearable
|
</el-col>
|
||||||
placeholder="请输入所属单位"
|
|
||||||
@click="showDialog1 = true"
|
<el-col :span="8">
|
||||||
readonly
|
<el-form-item label="认证机构1" prop="certification_body_one">
|
||||||
/>
|
<el-input v-model="formData.certification_body_one" clearable placeholder="请输入认证机构1" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="设备名称" prop="name">
|
<el-form-item label="资质编号1" prop="qualification_number_one">
|
||||||
<el-input
|
<el-input v-model="formData.qualification_number_one" clearable placeholder="请输入资质编号1" />
|
||||||
v-model="formData.name"
|
</el-form-item>
|
||||||
clearable
|
</el-col>
|
||||||
placeholder="请输入设备名称"
|
<el-col :span="8">
|
||||||
/>
|
<el-form-item label="发证日期1" prop="get_date_one">
|
||||||
</el-form-item>
|
<el-date-picker class="flex-1 !flex" v-model="formData.get_date_one" clearable
|
||||||
</el-col>
|
value-format="YYYY-MM-DD " placeholder="选择日期">
|
||||||
<el-col :span="8">
|
</el-date-picker>
|
||||||
<el-form-item label="资质名称1" prop="qualification_name_one">
|
</el-form-item>
|
||||||
<el-input
|
</el-col>
|
||||||
v-model="formData.qualification_name_one"
|
|
||||||
clearable
|
<el-col :span="8">
|
||||||
placeholder="请输入资质名称1"
|
<el-form-item label="有效日期1" prop="effective_date_one">
|
||||||
/>
|
<el-date-picker class="flex-1 !flex" v-model="formData.effective_date_one" clearable
|
||||||
</el-form-item>
|
value-format="YYYY-MM-DD " placeholder="选择日期">
|
||||||
</el-col>
|
</el-date-picker>
|
||||||
</el-row>
|
</el-form-item>
|
||||||
<el-row>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="认证机构1" prop="certification_body_one">
|
<el-form-item label="资质1状态 " prop="qualification_one_status">
|
||||||
<el-input
|
<el-select class="flex-1" v-model="formData.qualification_one_status" clearable
|
||||||
v-model="formData.certification_body_one"
|
placeholder="请选择">
|
||||||
clearable
|
<el-option label="有效" :value="0" />
|
||||||
placeholder="请输入认证机构1"
|
<el-option label="无效" :value="1" />
|
||||||
/>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="资质编号1" prop="qualification_number_one">
|
<el-form-item label="资质名称2" prop="qualification_name_two">
|
||||||
<el-input
|
<el-input v-model="formData.qualification_name_two" clearable placeholder="请输入资质名称2" />
|
||||||
v-model="formData.qualification_number_one"
|
</el-form-item>
|
||||||
clearable
|
</el-col>
|
||||||
placeholder="请输入资质编号1"
|
|
||||||
/>
|
<el-col :span="8">
|
||||||
</el-form-item>
|
<el-form-item label="认证机构2" prop="certification_body_two">
|
||||||
</el-col>
|
<el-input v-model="formData.certification_body_two" clearable placeholder="请输入认证机构2" />
|
||||||
<el-col :span="8">
|
</el-form-item>
|
||||||
<el-form-item label="发证日期1" prop="get_date_one">
|
</el-col>
|
||||||
<el-date-picker
|
<el-col :span="8">
|
||||||
class="flex-1 !flex"
|
<el-form-item label="资质编号2" prop="qualification_number_two">
|
||||||
v-model="formData.get_date_one"
|
<el-input v-model="formData.qualification_number_two" clearable placeholder="请输入资质编号2" />
|
||||||
clearable
|
</el-form-item>
|
||||||
value-format="YYYY-MM-DD "
|
</el-col>
|
||||||
placeholder="选择日期"
|
<el-col :span="8">
|
||||||
>
|
<el-form-item label="发证日期2" prop="get_date_two">
|
||||||
</el-date-picker>
|
<el-date-picker class="flex-1 !flex" v-model="formData.get_date_two" clearable
|
||||||
</el-form-item>
|
value-format="YYYY-MM-DD " placeholder="选择日期">
|
||||||
</el-col>
|
</el-date-picker>
|
||||||
</el-row>
|
</el-form-item>
|
||||||
<el-row>
|
</el-col>
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="有效日期1" prop="effective_date_one">
|
<el-col :span="8">
|
||||||
<el-date-picker
|
<el-form-item label="有效日期2" prop="effective_date_two">
|
||||||
class="flex-1 !flex"
|
<el-date-picker class="flex-1 !flex" v-model="formData.effective_date_two" clearable
|
||||||
v-model="formData.effective_date_one"
|
value-format="YYYY-MM-DD " placeholder="选择日期">
|
||||||
clearable
|
</el-date-picker>
|
||||||
value-format="YYYY-MM-DD "
|
</el-form-item>
|
||||||
placeholder="选择日期"
|
</el-col>
|
||||||
>
|
<el-col :span="8">
|
||||||
</el-date-picker>
|
<el-form-item label="资质2状态" prop="qualification_two_status">
|
||||||
</el-form-item>
|
<el-select class="flex-1" v-model="formData.qualification_two_status" clearable
|
||||||
</el-col>
|
placeholder="请选择">
|
||||||
<el-col :span="8">
|
<el-option label="有效" :value="0" />
|
||||||
<el-form-item label="资质1状态 " prop="qualification_one_status">
|
<el-option label="无效" :value="1" />
|
||||||
<el-select
|
</el-select>
|
||||||
class="flex-1"
|
</el-form-item>
|
||||||
v-model="formData.qualification_one_status"
|
</el-col>
|
||||||
clearable
|
<createUserLable :formData="formData" flag></createUserLable>
|
||||||
placeholder="请选择"
|
<el-col :span="8">
|
||||||
>
|
<el-form-item label="备注" prop="remark">
|
||||||
<el-option label="有效" :value="0" />
|
<el-input v-model="formData.remark" clearable placeholder="请输入备注" type="textarea" />
|
||||||
<el-option label="无效" :value="1" />
|
</el-form-item>
|
||||||
</el-select>
|
</el-col>
|
||||||
</el-form-item>
|
<el-col :span="8">
|
||||||
</el-col>
|
<el-form-item label="附件" prop="annex">
|
||||||
<el-col :span="8">
|
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||||
<el-form-item label="资质名称2" prop="qualification_name_two">
|
</el-form-item>
|
||||||
<el-input
|
</el-col>
|
||||||
v-model="formData.qualification_name_two"
|
</el-row>
|
||||||
clearable
|
<el-dialog v-model="showDialog1" title="选择单位" width="70%">
|
||||||
placeholder="请输入资质名称2"
|
<dialogTable :config="supervision_participating_units_qualifications" @customEvent="customEvent1">
|
||||||
/>
|
</dialogTable>
|
||||||
</el-form-item>
|
</el-dialog>
|
||||||
</el-col>
|
</el-form>
|
||||||
</el-row>
|
</popup>
|
||||||
<el-row>
|
</div>
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="认证机构2" prop="certification_body_two">
|
|
||||||
<el-input
|
|
||||||
v-model="formData.certification_body_two"
|
|
||||||
clearable
|
|
||||||
placeholder="请输入认证机构2"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="资质编号2" prop="qualification_number_two">
|
|
||||||
<el-input
|
|
||||||
v-model="formData.qualification_number_two"
|
|
||||||
clearable
|
|
||||||
placeholder="请输入资质编号2"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="发证日期2" prop="get_date_two">
|
|
||||||
<el-date-picker
|
|
||||||
class="flex-1 !flex"
|
|
||||||
v-model="formData.get_date_two"
|
|
||||||
clearable
|
|
||||||
value-format="YYYY-MM-DD "
|
|
||||||
placeholder="选择日期"
|
|
||||||
>
|
|
||||||
</el-date-picker>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="有效日期2" prop="effective_date_two">
|
|
||||||
<el-date-picker
|
|
||||||
class="flex-1 !flex"
|
|
||||||
v-model="formData.effective_date_two"
|
|
||||||
clearable
|
|
||||||
value-format="YYYY-MM-DD "
|
|
||||||
placeholder="选择日期"
|
|
||||||
>
|
|
||||||
</el-date-picker>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="资质2状态" prop="qualification_two_status">
|
|
||||||
<el-select
|
|
||||||
class="flex-1"
|
|
||||||
v-model="formData.qualification_two_status"
|
|
||||||
clearable
|
|
||||||
placeholder="请选择"
|
|
||||||
>
|
|
||||||
<el-option label="有效" :value="0" />
|
|
||||||
<el-option label="无效" :value="1" />
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<createUserLable :formData="formData" flag></createUserLable>
|
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="备注" prop="remark">
|
|
||||||
<el-input
|
|
||||||
v-model="formData.remark"
|
|
||||||
clearable
|
|
||||||
placeholder="请输入备注"
|
|
||||||
type="textarea"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="附件" prop="annex">
|
|
||||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-dialog v-model="showDialog1" title="选择单位" width="70%">
|
|
||||||
<dialogTable
|
|
||||||
:config="supervision_participating_units_qualifications"
|
|
||||||
@customEvent="customEvent1"
|
|
||||||
>
|
|
||||||
</dialogTable>
|
|
||||||
</el-dialog>
|
|
||||||
</el-form>
|
|
||||||
</popup>
|
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup name="supervisionLargeEquipmentEdit">
|
<script lang="ts" setup name="supervisionLargeEquipmentEdit">
|
||||||
import type { FormInstance } from "element-plus";
|
import type { FormInstance } from "element-plus";
|
||||||
import Popup from "@/components/popup/index.vue";
|
import Popup from "@/components/popup/index.vue";
|
||||||
import {
|
import {
|
||||||
apiSupervisionLargeEquipmentAdd,
|
apiSupervisionLargeEquipmentAdd,
|
||||||
apiSupervisionLargeEquipmentEdit,
|
apiSupervisionLargeEquipmentEdit,
|
||||||
} from "@/api/supervision_large_equipment";
|
} from "@/api/supervision_large_equipment";
|
||||||
import { supervision_participating_units_qualifications } from "@/components/dialogTable/dialogTableConfig";
|
import { supervision_participating_units_qualifications } from "@/components/dialogTable/dialogTableConfig";
|
||||||
import type { PropType } from "vue";
|
import type { PropType } from "vue";
|
||||||
|
|
||||||
defineProps({
|
defineProps({
|
||||||
dictData: {
|
dictData: {
|
||||||
type: Object as PropType<Record<string, any[]>>,
|
type: Object as PropType<Record<string, any[]>>,
|
||||||
default: () => ({}),
|
default: () => ({}),
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
const emit = defineEmits(["success", "close"]);
|
const emit = defineEmits(["success", "close"]);
|
||||||
const formRef = shallowRef<FormInstance>();
|
const formRef = shallowRef<FormInstance>();
|
||||||
@ -226,198 +140,198 @@ const showDialog1 = ref(false);
|
|||||||
|
|
||||||
// 弹窗标题
|
// 弹窗标题
|
||||||
const popupTitle = computed(() => {
|
const popupTitle = computed(() => {
|
||||||
return mode.value == "edit"
|
return mode.value == "edit"
|
||||||
? "编辑工程监理--大型设备及仪器具"
|
? "编辑工程监理--大型设备及仪器具"
|
||||||
: "新增工程监理--大型设备及仪器具";
|
: "新增工程监理--大型设备及仪器具";
|
||||||
});
|
});
|
||||||
|
|
||||||
// 表单数据
|
// 表单数据
|
||||||
const formData = reactive({
|
const formData = reactive({
|
||||||
id: "",
|
id: "",
|
||||||
unit_qualification_id: "",
|
unit_qualification_id: "",
|
||||||
company_name: "",
|
company_name: "",
|
||||||
name: "",
|
name: "",
|
||||||
qualification_name_one: "",
|
qualification_name_one: "",
|
||||||
certification_body_one: "",
|
certification_body_one: "",
|
||||||
qualification_number_one: "",
|
qualification_number_one: "",
|
||||||
get_date_one: "",
|
get_date_one: "",
|
||||||
effective_date_one: "",
|
effective_date_one: "",
|
||||||
qualification_one_status: "",
|
qualification_one_status: "",
|
||||||
qualification_name_two: "",
|
qualification_name_two: "",
|
||||||
certification_body_two: "",
|
certification_body_two: "",
|
||||||
qualification_number_two: "",
|
qualification_number_two: "",
|
||||||
get_date_two: "",
|
get_date_two: "",
|
||||||
effective_date_two: "",
|
effective_date_two: "",
|
||||||
qualification_two_status: "",
|
qualification_two_status: "",
|
||||||
remark: "",
|
remark: "",
|
||||||
annex: [],
|
annex: [],
|
||||||
create_user: "",
|
create_user: "",
|
||||||
create_time: "",
|
create_time: "",
|
||||||
});
|
});
|
||||||
const customEvent1 = (e) => {
|
const customEvent1 = (e) => {
|
||||||
formData.unit_qualification_id = e.id;
|
formData.unit_qualification_id = e.id;
|
||||||
formData.company_name = e.company_name;
|
formData.company_name = e.company_name;
|
||||||
showDialog1.value = false;
|
showDialog1.value = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
// 表单验证
|
// 表单验证
|
||||||
const formRules = reactive<any>({
|
const formRules = reactive<any>({
|
||||||
unit_qualification_id: [
|
unit_qualification_id: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请选择项目",
|
message: "请选择项目",
|
||||||
trigger: ["blur"],
|
trigger: ["blur"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
name: [
|
name: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入设备名称",
|
message: "请输入设备名称",
|
||||||
trigger: ["blur"],
|
trigger: ["blur"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
qualification_name_one: [
|
qualification_name_one: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入资质名称1",
|
message: "请输入资质名称1",
|
||||||
trigger: ["blur"],
|
trigger: ["blur"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
certification_body_one: [
|
certification_body_one: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入认证机构1",
|
message: "请输入认证机构1",
|
||||||
trigger: ["blur"],
|
trigger: ["blur"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
qualification_number_one: [
|
qualification_number_one: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入资质编号1",
|
message: "请输入资质编号1",
|
||||||
trigger: ["blur"],
|
trigger: ["blur"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
get_date_one: [
|
get_date_one: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入发证日期1",
|
message: "请输入发证日期1",
|
||||||
trigger: ["blur"],
|
trigger: ["blur"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
effective_date_one: [
|
effective_date_one: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入有效日期1",
|
message: "请输入有效日期1",
|
||||||
trigger: ["blur"],
|
trigger: ["blur"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
qualification_one_status: [
|
qualification_one_status: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入资质1状态 0-有效 1-无效",
|
message: "请输入资质1状态 0-有效 1-无效",
|
||||||
trigger: ["blur"],
|
trigger: ["blur"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
qualification_name_two: [
|
qualification_name_two: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入资质名称2",
|
message: "请输入资质名称2",
|
||||||
trigger: ["blur"],
|
trigger: ["blur"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
certification_body_two: [
|
certification_body_two: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入认证机构2",
|
message: "请输入认证机构2",
|
||||||
trigger: ["blur"],
|
trigger: ["blur"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
qualification_number_two: [
|
qualification_number_two: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入资质编号2",
|
message: "请输入资质编号2",
|
||||||
trigger: ["blur"],
|
trigger: ["blur"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
get_date_two: [
|
get_date_two: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入发证日期2",
|
message: "请输入发证日期2",
|
||||||
trigger: ["blur"],
|
trigger: ["blur"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
effective_date_two: [
|
effective_date_two: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入有效日期2",
|
message: "请输入有效日期2",
|
||||||
trigger: ["blur"],
|
trigger: ["blur"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
qualification_two_status: [
|
qualification_two_status: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入资质2状态 0-有效 1-无效",
|
message: "请输入资质2状态 0-有效 1-无效",
|
||||||
trigger: ["blur"],
|
trigger: ["blur"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
remark: [
|
remark: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入备注",
|
message: "请输入备注",
|
||||||
trigger: ["blur"],
|
trigger: ["blur"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
create_user: [
|
create_user: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入创建人",
|
message: "请输入创建人",
|
||||||
trigger: ["blur"],
|
trigger: ["blur"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
});
|
});
|
||||||
|
|
||||||
// 获取详情
|
// 获取详情
|
||||||
const setFormData = async (data: Record<any, any>) => {
|
const setFormData = async (data: Record<any, any>) => {
|
||||||
for (const key in formData) {
|
for (const key in formData) {
|
||||||
if (data[key] != null && data[key] != undefined) {
|
if (data[key] != null && data[key] != undefined) {
|
||||||
//@ts-ignore
|
//@ts-ignore
|
||||||
formData[key] = data[key];
|
formData[key] = data[key];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const getDetail = async (row: Record<string, any>) => {
|
const getDetail = async (row: Record<string, any>) => {
|
||||||
const data = await apiSupervisionLargeEquipmentDetail({
|
const data = await apiSupervisionLargeEquipmentDetail({
|
||||||
id: row.id,
|
id: row.id,
|
||||||
});
|
});
|
||||||
setFormData(data);
|
setFormData(data);
|
||||||
};
|
};
|
||||||
|
|
||||||
// 提交按钮
|
// 提交按钮
|
||||||
const handleSubmit = async () => {
|
const handleSubmit = async () => {
|
||||||
await formRef.value?.validate();
|
await formRef.value?.validate();
|
||||||
const data = { ...formData };
|
const data = { ...formData };
|
||||||
mode.value == "edit"
|
mode.value == "edit"
|
||||||
? await apiSupervisionLargeEquipmentEdit(data)
|
? await apiSupervisionLargeEquipmentEdit(data)
|
||||||
: await apiSupervisionLargeEquipmentAdd(data);
|
: await apiSupervisionLargeEquipmentAdd(data);
|
||||||
popupRef.value?.close();
|
popupRef.value?.close();
|
||||||
emit("success");
|
emit("success");
|
||||||
};
|
};
|
||||||
|
|
||||||
//打开弹窗
|
//打开弹窗
|
||||||
const open = (type = "add") => {
|
const open = (type = "add") => {
|
||||||
mode.value = type;
|
mode.value = type;
|
||||||
popupRef.value?.open();
|
popupRef.value?.open();
|
||||||
};
|
};
|
||||||
|
|
||||||
// 关闭回调
|
// 关闭回调
|
||||||
const handleClose = () => {
|
const handleClose = () => {
|
||||||
emit("close");
|
emit("close");
|
||||||
};
|
};
|
||||||
|
|
||||||
defineExpose({
|
defineExpose({
|
||||||
open,
|
open,
|
||||||
setFormData,
|
setFormData,
|
||||||
getDetail,
|
getDetail,
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
@ -61,6 +61,10 @@
|
|||||||
type="danger" link @click="handleDelete(row.id)">
|
type="danger" link @click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button v-perms="['supervision_qualification_review.supervision_large_equipment/detail']"
|
||||||
|
link @click="handleDetail(row.id)">
|
||||||
|
详情
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -70,6 +74,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
||||||
|
<detailPage v-if="showDetail" ref="detailRef" @close="showEdit = false" :detailConfig="detailConfig" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -80,10 +85,14 @@ import { apiSupervisionLargeEquipmentLists, apiSupervisionLargeEquipmentDelete,
|
|||||||
import { timeFormat } from '@/utils/util'
|
import { timeFormat } from '@/utils/util'
|
||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
|
import detailConfig from './detail'
|
||||||
|
|
||||||
|
|
||||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||||
|
const detailRef = ref('')
|
||||||
// 是否显示编辑框
|
// 是否显示编辑框
|
||||||
const showEdit = ref(false)
|
const showEdit = ref(false)
|
||||||
|
const showDetail = ref(false)
|
||||||
|
|
||||||
|
|
||||||
// 查询条件
|
// 查询条件
|
||||||
@ -135,5 +144,15 @@ const handleDelete = async (id: number | any[]) => {
|
|||||||
getLists()
|
getLists()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 详情
|
||||||
|
const handleDetail = async (id: any) => {
|
||||||
|
let res = await apiSupervisionLargeEquipmentDetail({ id })
|
||||||
|
showDetail.value = true
|
||||||
|
await nextTick()
|
||||||
|
detailRef.value?.open()
|
||||||
|
detailRef.value?.setFormData(res)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
getLists()
|
getLists()
|
||||||
</script>
|
</script>
|
||||||
|
88
src/views/supervision_material_entry/detail.js
Normal file
88
src/views/supervision_material_entry/detail.js
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
|
||||||
|
import { apisupervision_material_entry_detail, } from '@/api/supervision_material_entry'
|
||||||
|
|
||||||
|
const detailConfig = {
|
||||||
|
title: "工程监理--材料进场",
|
||||||
|
config: [
|
||||||
|
{
|
||||||
|
label: "项目名称",
|
||||||
|
value: "project_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "采购单位",
|
||||||
|
value: "company_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "进场主题",
|
||||||
|
value: "theme"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "进场时间",
|
||||||
|
value: "enter_time"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "共同参与人",
|
||||||
|
value: "co_participant"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "进场结果",
|
||||||
|
value: "enter_result_text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "是否平行检验",
|
||||||
|
value: "parallel_test_text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "备注",
|
||||||
|
value: "remark",
|
||||||
|
column: 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "创建人",
|
||||||
|
value: "create_user"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "创建时间",
|
||||||
|
value: "create_time"
|
||||||
|
},
|
||||||
|
|
||||||
|
],
|
||||||
|
table: {
|
||||||
|
title: "材料信息",
|
||||||
|
tableConfig: [
|
||||||
|
{
|
||||||
|
label: "材料名称",
|
||||||
|
value: 'name'
|
||||||
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "材料品牌",
|
||||||
|
value: 'brand'
|
||||||
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "单位",
|
||||||
|
value: 'unit'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "是否合同约定品牌",
|
||||||
|
value: 'contract_brand_text',
|
||||||
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "型号",
|
||||||
|
value: 'model',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "进场数量",
|
||||||
|
value: 'entry_number'
|
||||||
|
},
|
||||||
|
|
||||||
|
],
|
||||||
|
fetchFun: apisupervision_material_entry_detail,
|
||||||
|
query: 'material_entry_id'
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
export default detailConfig;
|
@ -43,14 +43,18 @@
|
|||||||
<el-table-column label="是否平行检验" prop="parallel_test_text" show-overflow-tooltip />
|
<el-table-column label="是否平行检验" prop="parallel_test_text" show-overflow-tooltip />
|
||||||
<el-table-column label="操作" width="120" fixed="right">
|
<el-table-column label="操作" width="120" fixed="right">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-button v-perms="['supervision_work.supervision_material_entry/edit']" type="primary" link
|
<el-button v-perms="['supervision_work.supervision_material_entry/edit']" type="primary"
|
||||||
@click="handleEdit(row)">
|
link @click="handleEdit(row)">
|
||||||
编辑
|
编辑
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button v-perms="['supervision_work.supervision_material_entry/delete']" type="danger" link
|
<el-button v-perms="['supervision_work.supervision_material_entry/delete']" type="danger"
|
||||||
@click="handleDelete(row.id)">
|
link @click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button v-perms="['supervision_work.supervision_material_entry/detail']" link
|
||||||
|
@click="handleDetail(row.id)">
|
||||||
|
详情
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -60,6 +64,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
||||||
|
<detailPage v-if="showDetail" ref="detailRef" @close="showEdit = false" :detailConfig="detailConfig" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -70,11 +75,14 @@ import { apiSupervisionMaterialEntryLists, apiSupervisionMaterialEntryDelete, ap
|
|||||||
import { timeFormat } from '@/utils/util'
|
import { timeFormat } from '@/utils/util'
|
||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
|
import detailConfig from './detail'
|
||||||
|
|
||||||
|
|
||||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||||
|
const detailRef = ref('')
|
||||||
// 是否显示编辑框
|
// 是否显示编辑框
|
||||||
const showEdit = ref(false)
|
const showEdit = ref(false)
|
||||||
|
const showDetail = ref(false)
|
||||||
|
|
||||||
// 查询条件
|
// 查询条件
|
||||||
const queryParams = reactive({
|
const queryParams = reactive({
|
||||||
@ -123,6 +131,14 @@ const handleDelete = async (id: number | any[]) => {
|
|||||||
getLists()
|
getLists()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 详情
|
||||||
|
const handleDetail = async (id: any) => {
|
||||||
|
let res = await apiSupervisionMaterialEntryDetail({ id })
|
||||||
|
showDetail.value = true
|
||||||
|
await nextTick()
|
||||||
|
detailRef.value?.open()
|
||||||
|
detailRef.value?.setFormData(res)
|
||||||
|
}
|
||||||
|
|
||||||
getLists()
|
getLists()
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
43
src/views/supervision_material_equipment_info/detail.js
Normal file
43
src/views/supervision_material_equipment_info/detail.js
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
const detailConfig = {
|
||||||
|
title: "工程监理--材料设备信息",
|
||||||
|
config: [
|
||||||
|
{
|
||||||
|
label: "项目名称",
|
||||||
|
value: "project_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "材料/设备名称",
|
||||||
|
value: "name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "材料/设备品牌",
|
||||||
|
value: "brand"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "型号",
|
||||||
|
value: "model"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "计数单位",
|
||||||
|
value: "unit"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "合同约定品牌",
|
||||||
|
value: "contract_brand_text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "类型",
|
||||||
|
value: "type_text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "备注",
|
||||||
|
value: "remark",
|
||||||
|
column: 1
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
],
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
export default detailConfig;
|
@ -78,6 +78,10 @@
|
|||||||
type="danger" link @click="handleDelete(row.id)">
|
type="danger" link @click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button v-perms="['supervision_work.supervision_material_equipment_info/detail']" link
|
||||||
|
@click="handleDetail(row.id)">
|
||||||
|
详情
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -87,20 +91,25 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
||||||
|
<detailPage v-if="showDetail" ref="detailRef" @close="showEdit = false" :detailConfig="detailConfig"
|
||||||
|
width="30vw" :column="1" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup name="supervisionMaterialEquipmentInfoLists">
|
<script lang="ts" setup name="supervisionMaterialEquipmentInfoLists">
|
||||||
import { usePaging } from '@/hooks/usePaging'
|
import { usePaging } from '@/hooks/usePaging'
|
||||||
import { useDictData } from '@/hooks/useDictOptions'
|
import { useDictData } from '@/hooks/useDictOptions'
|
||||||
import { apiSupervisionMaterialEquipmentInfoLists, apiSupervisionMaterialEquipmentInfoDelete } from '@/api/supervision_material_equipment_info'
|
import { apiSupervisionMaterialEquipmentInfoLists, apiSupervisionMaterialEquipmentInfoDelete, apiSupervisionMaterialEquipmentInfoDetail } from '@/api/supervision_material_equipment_info'
|
||||||
import { timeFormat } from '@/utils/util'
|
|
||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
|
import detailConfig from './detail'
|
||||||
|
|
||||||
|
|
||||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||||
|
const detailRef = ref('')
|
||||||
// 是否显示编辑框
|
// 是否显示编辑框
|
||||||
const showEdit = ref(false)
|
const showEdit = ref(false)
|
||||||
|
const showDetail = ref(false)
|
||||||
|
|
||||||
|
|
||||||
// 查询条件
|
// 查询条件
|
||||||
@ -151,5 +160,14 @@ const handleDelete = async (id: number | any[]) => {
|
|||||||
getLists()
|
getLists()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 详情
|
||||||
|
const handleDetail = async (id: any) => {
|
||||||
|
let res = await apiSupervisionMaterialEquipmentInfoDetail({ id })
|
||||||
|
showDetail.value = true
|
||||||
|
await nextTick()
|
||||||
|
detailRef.value?.open()
|
||||||
|
detailRef.value?.setFormData(res)
|
||||||
|
}
|
||||||
|
|
||||||
getLists()
|
getLists()
|
||||||
</script>
|
</script>
|
||||||
|
@ -15,7 +15,7 @@ const detailConfig = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "设备类型",
|
label: "设备类型",
|
||||||
value: "device_type"
|
value: "device_type_text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "设备序列号",
|
label: "设备序列号",
|
||||||
@ -41,7 +41,7 @@ const detailConfig = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "是否显示",
|
label: "是否显示",
|
||||||
value: 'is_show'
|
value: 'is_show_text'
|
||||||
},
|
},
|
||||||
|
|
||||||
],
|
],
|
||||||
|
@ -72,8 +72,8 @@
|
|||||||
type="danger" link @click="handleDelete(row.id)">
|
type="danger" link @click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button v-perms="['supervision_project.supervision_monitoring_equipment/detail']"
|
<el-button v-perms="['supervision_project.supervision_monitoring_equipment/detail']" link
|
||||||
type="danger" link @click="handleDetail(row.id)">
|
@click="handleDetail(row.id)">
|
||||||
详情
|
详情
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
|
@ -16,7 +16,7 @@ const detailConfig = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "单位类别",
|
label: "单位类别",
|
||||||
value: "unit_type"
|
value: "unit_type_text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "资质等级",
|
label: "资质等级",
|
||||||
|
@ -52,8 +52,8 @@
|
|||||||
type="danger" link @click="handleDelete(row.id)">
|
type="danger" link @click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button v-perms="['supervision_project.supervision_participating_units/detail']"
|
<el-button v-perms="['supervision_project.supervision_participating_units/detail']" link
|
||||||
type="danger" link @click="handleDetail(row.id)">
|
@click="handleDetail(row.id)">
|
||||||
详情
|
详情
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
|
@ -0,0 +1,48 @@
|
|||||||
|
const detailConfig = {
|
||||||
|
title: "工程监理--第一次工地会议",
|
||||||
|
config: [
|
||||||
|
{
|
||||||
|
label: "项目名称",
|
||||||
|
value: "project_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "所属单位",
|
||||||
|
value: "company_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "资质名称",
|
||||||
|
value: "qualification_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "资质编号",
|
||||||
|
value: "qualification_number"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "发证日期",
|
||||||
|
value: "get_date"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "有效日期",
|
||||||
|
value: "effective_date"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "资质状态",
|
||||||
|
value: "qualification_status_text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "备注",
|
||||||
|
value: "remark",
|
||||||
|
column: 1
|
||||||
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "附件",
|
||||||
|
value: "annex",
|
||||||
|
column: 1
|
||||||
|
},
|
||||||
|
|
||||||
|
],
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
export default detailConfig;
|
@ -2,7 +2,7 @@
|
|||||||
<div class="edit-popup">
|
<div class="edit-popup">
|
||||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit"
|
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit"
|
||||||
@close="handleClose">
|
@close="handleClose">
|
||||||
<el-form ref="formRef" :model="formData" label-width="90px" :rules="formRules">
|
<el-form ref="formRef" :model="formData" label-width="90px" :rules="formRules" :disabled="mode == 'detail'">
|
||||||
<el-form-item label="项目名称" prop="project_name">
|
<el-form-item label="项目名称" prop="project_name">
|
||||||
<el-input v-model="formData.project_name" clearable placeholder="点击选择项目" readonly
|
<el-input v-model="formData.project_name" clearable placeholder="点击选择项目" readonly
|
||||||
@click="showDialog = true" />
|
@click="showDialog = true" />
|
||||||
@ -38,7 +38,6 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="附件">
|
<el-form-item label="附件">
|
||||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||||
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-dialog v-model="showDialog" title="选择项目" width="70%">
|
<el-dialog v-model="showDialog" title="选择项目" width="70%">
|
||||||
<dialogTable @customEvent="customEvent" :config="supervision_project" />
|
<dialogTable @customEvent="customEvent" :config="supervision_project" />
|
||||||
@ -76,18 +75,10 @@ const mode = ref('add')
|
|||||||
const showDialog = ref(false)
|
const showDialog = ref(false)
|
||||||
const showDialog1 = ref(false)
|
const showDialog1 = ref(false)
|
||||||
|
|
||||||
const handleAvatarSuccess_four = (response: any) => {
|
|
||||||
if (!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 popupTitle = computed(() => {
|
const popupTitle = computed(() => {
|
||||||
return mode.value == 'edit' ? '编辑工程监理--参建单位资质' : '新增工程监理--参建单位资质'
|
return mode.value == 'edit' ? '编辑工程监理--参建单位资质' : '工程监理--参建单位资质'
|
||||||
})
|
})
|
||||||
|
|
||||||
// 表单数据
|
// 表单数据
|
||||||
|
@ -52,6 +52,11 @@
|
|||||||
type="danger" link @click="handleDelete(row.id)">
|
type="danger" link @click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
v-perms="['supervision_qualification_review.supervision_participating_units_qualifications/detail']"
|
||||||
|
link @click="handleDetail(row.id)">
|
||||||
|
详情
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -61,6 +66,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
||||||
|
<detailPage v-if="showDetail" ref="detailRef" @close="showEdit = false" :detailConfig="detailConfig"
|
||||||
|
width="30vw" :column="1" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -71,10 +78,15 @@ import { apiSupervisionParticipatingUnitsQualificationsLists, apiSupervisionPart
|
|||||||
import { timeFormat } from '@/utils/util'
|
import { timeFormat } from '@/utils/util'
|
||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
|
import detailConfig from './detail'
|
||||||
|
|
||||||
|
|
||||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||||
|
const detailRef = ref('')
|
||||||
// 是否显示编辑框
|
// 是否显示编辑框
|
||||||
const showEdit = ref(false)
|
const showEdit = ref(false)
|
||||||
|
const showDetail = ref(false)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 查询条件
|
// 查询条件
|
||||||
@ -110,11 +122,11 @@ const handleAdd = async () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 编辑
|
// 编辑
|
||||||
const handleEdit = async (data: any) => {
|
const handleEdit = async (data: any, mode = 'add') => {
|
||||||
let res = await apiSupervisionParticipatingUnitsQualificationsDetail({ id: data.id })
|
let res = await apiSupervisionParticipatingUnitsQualificationsDetail({ id: data.id })
|
||||||
showEdit.value = true
|
showEdit.value = true
|
||||||
await nextTick()
|
await nextTick()
|
||||||
editRef.value?.open('edit')
|
editRef.value?.open(mode)
|
||||||
editRef.value?.setFormData(res)
|
editRef.value?.setFormData(res)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -125,5 +137,13 @@ const handleDelete = async (id: number | any[]) => {
|
|||||||
getLists()
|
getLists()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 详情
|
||||||
|
const handleDetail = async (id: any) => {
|
||||||
|
let res = await apiSupervisionParticipatingUnitsQualificationsDetail({ id })
|
||||||
|
showDetail.value = true
|
||||||
|
await nextTick()
|
||||||
|
detailRef.value?.open()
|
||||||
|
detailRef.value?.setFormData(res)
|
||||||
|
}
|
||||||
getLists()
|
getLists()
|
||||||
</script>
|
</script>
|
||||||
|
@ -71,7 +71,7 @@
|
|||||||
@click="handleDelete(row.id)">
|
@click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button v-perms="['supervision_prepare.supervision_planning/detail']" type="primary" link
|
<el-button v-perms="['supervision_prepare.supervision_planning/detail']" link
|
||||||
@click="handleDetail(row.id)">
|
@click="handleDetail(row.id)">
|
||||||
详情
|
详情
|
||||||
</el-button>
|
</el-button>
|
||||||
|
@ -7,11 +7,11 @@ const detailConfig = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "行业",
|
label: "行业",
|
||||||
value: "industry"
|
value: "industry_text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "性质",
|
label: "性质",
|
||||||
value: "nature"
|
value: "nature_text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "建设单位",
|
label: "建设单位",
|
||||||
@ -19,7 +19,7 @@ const detailConfig = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "建设区域",
|
label: "建设区域",
|
||||||
value: "build_area"
|
value: "build_area_text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "项目地址",
|
label: "项目地址",
|
||||||
@ -27,7 +27,7 @@ const detailConfig = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "项目等级",
|
label: "项目等级",
|
||||||
value: "project_level"
|
value: "project_level_text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "总投资(万元)",
|
label: "总投资(万元)",
|
||||||
@ -88,7 +88,7 @@ const detailConfig = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "工程状态",
|
label: "工程状态",
|
||||||
value: "engineering_status"
|
value: "engineering_status_text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "项目负责人员",
|
label: "项目负责人员",
|
||||||
|
@ -26,8 +26,7 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="建设单位">
|
<el-form-item label="建设单位">
|
||||||
<el-input v-model="formData.build_unit" clearable placeholder="请输入建设单位" />
|
<el-input v-model="formData.build_unit" clearable placeholder="请输入建设单位" />
|
||||||
@ -65,14 +64,12 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="立项日期">
|
<el-form-item label="立项日期">
|
||||||
<!-- <el-input v-model="formData.initiation_date" clearable placeholder="请输入立项日期" /> -->
|
|
||||||
<el-date-picker class="flex-1 !flex" v-model="formData.initiation_date" clearable
|
<el-date-picker class="flex-1 !flex" v-model="formData.initiation_date" clearable
|
||||||
type="date" value-format="YYYY-MM-DD" placeholder="请选择日期">
|
type="date" value-format="YYYY-MM-DD" placeholder="请选择日期">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="关联合同">
|
<el-form-item label="关联合同">
|
||||||
<el-input v-model="formData.contract" clearable placeholder="请输入关联合同" />
|
<el-input v-model="formData.contract" clearable placeholder="请输入关联合同" />
|
||||||
@ -91,8 +88,7 @@
|
|||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="实际竣工日期" label-width="120px">
|
<el-form-item label="实际竣工日期" label-width="120px">
|
||||||
<el-date-picker class="flex-1 !flex" v-model="formData.actual_end_date" clearable
|
<el-date-picker class="flex-1 !flex" v-model="formData.actual_end_date" clearable
|
||||||
@ -114,33 +110,8 @@
|
|||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="合同服务内容" label-width="120px">
|
|
||||||
<el-input v-model="formData.contract_content" clearable placeholder="请输入合同服务内容"
|
|
||||||
type="textarea" />
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="项目概况">
|
|
||||||
<el-input v-model="formData.project_overview" clearable placeholder="请输入项目概况"
|
|
||||||
type="textarea" />
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="项目要求">
|
|
||||||
<el-input v-model="formData.project_requirements" clearable placeholder="请输入项目要求"
|
|
||||||
type="textarea" />
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="备注">
|
|
||||||
<el-input v-model="formData.remark" clearable placeholder="请输入备注" type="textarea" />
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="监管部门">
|
<el-form-item label="监管部门">
|
||||||
<el-input v-model="formData.supervision_department" clearable placeholder="请输入监管部门" />
|
<el-input v-model="formData.supervision_department" clearable placeholder="请输入监管部门" />
|
||||||
@ -151,8 +122,7 @@
|
|||||||
<el-input v-model="formData.implementation_department" clearable placeholder="请输入实施部门" />
|
<el-input v-model="formData.implementation_department" clearable placeholder="请输入实施部门" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="项目部">
|
<el-form-item label="项目部">
|
||||||
<el-input v-model="formData.project_department" clearable placeholder="请输入项目部" />
|
<el-input v-model="formData.project_department" clearable placeholder="请输入项目部" />
|
||||||
@ -172,21 +142,12 @@
|
|||||||
<el-input v-model="formData.project_manager" clearable placeholder="请输入项目负责人员" />
|
<el-input v-model="formData.project_manager" clearable placeholder="请输入项目负责人员" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="甲方单位">
|
<el-form-item label="甲方单位">
|
||||||
<el-input v-model="formData.part_a_unit" clearable placeholder="请输入甲方单位" />
|
<el-input v-model="formData.part_a_unit" clearable placeholder="请输入甲方单位" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="附件">
|
|
||||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
|
||||||
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="创建人" prop="create_user">
|
<el-form-item label="创建人" prop="create_user">
|
||||||
<el-input v-model="formData.create_user" clearable placeholder="请输入创建人" />
|
<el-input v-model="formData.create_user" clearable placeholder="请输入创建人" />
|
||||||
@ -199,6 +160,35 @@
|
|||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="合同服务内容" label-width="120px">
|
||||||
|
<el-input v-model="formData.contract_content" clearable placeholder="请输入合同服务内容"
|
||||||
|
type="textarea" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="项目概况">
|
||||||
|
<el-input v-model="formData.project_overview" clearable placeholder="请输入项目概况"
|
||||||
|
type="textarea" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="项目要求">
|
||||||
|
<el-input v-model="formData.project_requirements" clearable placeholder="请输入项目要求"
|
||||||
|
type="textarea" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="备注">
|
||||||
|
<el-input v-model="formData.remark" clearable placeholder="请输入备注" type="textarea" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="附件">
|
||||||
|
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||||
|
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
</el-form>
|
</el-form>
|
||||||
</popup>
|
</popup>
|
||||||
|
@ -112,7 +112,7 @@
|
|||||||
@click="handleDelete(row.id)">
|
@click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button v-perms="['supervision_project.supervision_project/detail']" type="danger" link
|
<el-button v-perms="['supervision_project.supervision_project/detail']" link
|
||||||
@click="handleDetail(row)">
|
@click="handleDetail(row)">
|
||||||
详情
|
详情
|
||||||
</el-button>
|
</el-button>
|
||||||
|
34
src/views/supervision_rules/detail.js
Normal file
34
src/views/supervision_rules/detail.js
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
const detailConfig = {
|
||||||
|
title: "工程监理--第一次工地会议",
|
||||||
|
config: [
|
||||||
|
{
|
||||||
|
label: "项目名称",
|
||||||
|
value: "project_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "文档名称",
|
||||||
|
value: "doc_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "文档简介",
|
||||||
|
value: "doc_desc"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "创建人",
|
||||||
|
value: "create_user"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "创建时间",
|
||||||
|
value: "create_time"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "附件",
|
||||||
|
value: "annex",
|
||||||
|
column: 1
|
||||||
|
},
|
||||||
|
|
||||||
|
],
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
export default detailConfig;
|
@ -28,18 +28,6 @@
|
|||||||
<el-table-column label="项目名称" prop="project_name" show-overflow-tooltip />
|
<el-table-column label="项目名称" prop="project_name" show-overflow-tooltip />
|
||||||
<el-table-column label="文档名称" prop="doc_name" show-overflow-tooltip />
|
<el-table-column label="文档名称" prop="doc_name" show-overflow-tooltip />
|
||||||
<el-table-column label="文档简介" prop="doc_desc" show-overflow-tooltip />
|
<el-table-column label="文档简介" prop="doc_desc" show-overflow-tooltip />
|
||||||
<el-table-column label="附件" prop="annex" show-overflow-tooltip>
|
|
||||||
<template #default="{ row }">
|
|
||||||
<div v-if="row.annex && row.annex.length > 0">
|
|
||||||
<div v-for="(item, i) in row.annex " :key='i'>
|
|
||||||
<el-link :href="item" target="_blank" type="primary">文件{{ i + 1 }}查看</el-link>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div v-else>
|
|
||||||
暂无文件
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="操作人" prop="create_user" show-overflow-tooltip />
|
<el-table-column label="操作人" prop="create_user" show-overflow-tooltip />
|
||||||
<el-table-column label="操作" width="120" fixed="right">
|
<el-table-column label="操作" width="120" fixed="right">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
@ -51,8 +39,8 @@
|
|||||||
link @click="handleDelete(row.id)">
|
link @click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button v-perms="['supervision_const_prepare.supervision_rules/detail']" type="primary"
|
<el-button v-perms="['supervision_const_prepare.supervision_rules/detail']" link
|
||||||
link @click="handleEdit(row, 'detail')">
|
@click="handleDetail(row.id)">
|
||||||
详情
|
详情
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
@ -64,20 +52,25 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
||||||
|
<detailPage v-if="showDetail" ref="detailRef" @close="showEdit = false" :detailConfig="detailConfig"
|
||||||
|
width="30vw" :column="1" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup name="supervisionRulesLists">
|
<script lang="ts" setup name="supervisionRulesLists">
|
||||||
import { usePaging } from '@/hooks/usePaging'
|
import { usePaging } from '@/hooks/usePaging'
|
||||||
import { useDictData } from '@/hooks/useDictOptions'
|
import { useDictData } from '@/hooks/useDictOptions'
|
||||||
import { apiSupervisionRulesLists, apiSupervisionRulesDelete } from '@/api/supervision_rules'
|
import { apiSupervisionRulesLists, apiSupervisionRulesDelete, apiSupervisionRulesDetail } from '@/api/supervision_rules'
|
||||||
import { timeFormat } from '@/utils/util'
|
import { timeFormat } from '@/utils/util'
|
||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
|
import detailConfig from './detail'
|
||||||
|
|
||||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||||
|
const detailRef = ref('')
|
||||||
// 是否显示编辑框
|
// 是否显示编辑框
|
||||||
const showEdit = ref(false)
|
const showEdit = ref(false)
|
||||||
|
const showDetail = ref(false)
|
||||||
|
|
||||||
|
|
||||||
// 查询条件
|
// 查询条件
|
||||||
@ -125,5 +118,15 @@ const handleDelete = async (id: number | any[]) => {
|
|||||||
getLists()
|
getLists()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 详情
|
||||||
|
const handleDetail = async (id: any) => {
|
||||||
|
let res = await apiSupervisionRulesDetail({ id })
|
||||||
|
showDetail.value = true
|
||||||
|
await nextTick()
|
||||||
|
detailRef.value?.open()
|
||||||
|
detailRef.value?.setFormData(res)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
getLists()
|
getLists()
|
||||||
</script>
|
</script>
|
||||||
|
34
src/views/supervision_rules_disclosure/detail.js
Normal file
34
src/views/supervision_rules_disclosure/detail.js
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
const detailConfig = {
|
||||||
|
title: "工程监理--第一次工地会议",
|
||||||
|
config: [
|
||||||
|
{
|
||||||
|
label: "项目名称",
|
||||||
|
value: "project_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "文档名称",
|
||||||
|
value: "doc_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "文档简介",
|
||||||
|
value: "doc_desc"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "创建人",
|
||||||
|
value: "create_user"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "创建时间",
|
||||||
|
value: "create_time"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "附件",
|
||||||
|
value: "annex",
|
||||||
|
column: 1
|
||||||
|
},
|
||||||
|
|
||||||
|
],
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
export default detailConfig;
|
@ -30,18 +30,6 @@
|
|||||||
<el-table-column label="项目名称" prop="project_name" show-overflow-tooltip />
|
<el-table-column label="项目名称" prop="project_name" show-overflow-tooltip />
|
||||||
<el-table-column label="文档名称" prop="doc_name" show-overflow-tooltip />
|
<el-table-column label="文档名称" prop="doc_name" show-overflow-tooltip />
|
||||||
<el-table-column label="文档简介" prop="doc_desc" show-overflow-tooltip />
|
<el-table-column label="文档简介" prop="doc_desc" show-overflow-tooltip />
|
||||||
<el-table-column label="附件" prop="annex" show-overflow-tooltip>
|
|
||||||
<template #default="{ row }">
|
|
||||||
<div v-if="row.annex && row.annex.length > 0">
|
|
||||||
<div v-for="(item, i) in row.annex " :key='i'>
|
|
||||||
<el-link :href="item" target="_blank">文件{{ i + 1 }}查看</el-link>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div v-else>
|
|
||||||
暂无文件
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="操作人" prop="create_user" show-overflow-tooltip />
|
<el-table-column label="操作人" prop="create_user" show-overflow-tooltip />
|
||||||
<el-table-column label="操作" width="120" fixed="right">
|
<el-table-column label="操作" width="120" fixed="right">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
@ -53,8 +41,8 @@
|
|||||||
type="danger" link @click="handleDelete(row.id)">
|
type="danger" link @click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button v-perms="['supervision_const_prepare.supervision_rules_disclosure/detail']"
|
<el-button v-perms="['supervision_const_prepare.supervision_rules_disclosure/detail']" link
|
||||||
type="primary" link @click="handleEdit(row, 'detail')">
|
@click="handleDetail(row.id)">
|
||||||
详情
|
详情
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
@ -66,21 +54,25 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
||||||
|
<detailPage v-if="showDetail" ref="detailRef" @close="showEdit = false" :detailConfig="detailConfig"
|
||||||
|
width="30vw" :column="1" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup name="supervisionRulesDisclosureLists">
|
<script lang="ts" setup name="supervisionRulesDisclosureLists">
|
||||||
import { usePaging } from '@/hooks/usePaging'
|
import { usePaging } from '@/hooks/usePaging'
|
||||||
import { useDictData } from '@/hooks/useDictOptions'
|
import { useDictData } from '@/hooks/useDictOptions'
|
||||||
import { apiSupervisionRulesDisclosureLists, apiSupervisionRulesDisclosureDelete } from '@/api/supervision_rules_disclosure'
|
import { apiSupervisionRulesDisclosureLists, apiSupervisionRulesDisclosureDelete, apiSupervisionRulesDisclosureDetail } from '@/api/supervision_rules_disclosure'
|
||||||
import { timeFormat } from '@/utils/util'
|
import { timeFormat } from '@/utils/util'
|
||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
|
import detailConfig from './detail'
|
||||||
|
|
||||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||||
|
const detailRef = ref('')
|
||||||
// 是否显示编辑框
|
// 是否显示编辑框
|
||||||
const showEdit = ref(false)
|
const showEdit = ref(false)
|
||||||
|
const showDetail = ref(false)
|
||||||
|
|
||||||
// 查询条件
|
// 查询条件
|
||||||
const queryParams = reactive({
|
const queryParams = reactive({
|
||||||
@ -113,7 +105,7 @@ const handleAdd = async () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 编辑
|
// 编辑
|
||||||
const handleEdit = async (data: any, mode = 'detail') => {
|
const handleEdit = async (data: any, mode = 'edit') => {
|
||||||
showEdit.value = true
|
showEdit.value = true
|
||||||
await nextTick()
|
await nextTick()
|
||||||
editRef.value?.open(mode)
|
editRef.value?.open(mode)
|
||||||
@ -127,5 +119,15 @@ const handleDelete = async (id: number | any[]) => {
|
|||||||
getLists()
|
getLists()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 详情
|
||||||
|
const handleDetail = async (id: any) => {
|
||||||
|
let res = await apiSupervisionRulesDisclosureDetail({ id })
|
||||||
|
showDetail.value = true
|
||||||
|
await nextTick()
|
||||||
|
detailRef.value?.open()
|
||||||
|
detailRef.value?.setFormData(res)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
getLists()
|
getLists()
|
||||||
</script>
|
</script>
|
||||||
|
86
src/views/supervision_safety_management_personnel/detail.js
Normal file
86
src/views/supervision_safety_management_personnel/detail.js
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
const detailConfig = {
|
||||||
|
title: "工程监理--施工管理人员",
|
||||||
|
config: [
|
||||||
|
{
|
||||||
|
label: "所属单位",
|
||||||
|
value: "company_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "姓名",
|
||||||
|
value: "name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "身份证",
|
||||||
|
value: "id_card"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "技术职称",
|
||||||
|
value: "technical_title"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "岗位",
|
||||||
|
value: "job"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "资质名称1",
|
||||||
|
value: "qualification_name_one"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "认证机构1",
|
||||||
|
value: "certification_body_one"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "资质编号1",
|
||||||
|
value: "qualification_number_one"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "发证日期1",
|
||||||
|
value: "get_date_one"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "有效日期1",
|
||||||
|
value: "effective_date_one"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "资质1状态",
|
||||||
|
value: "qualification_one_status_text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "资质名称2",
|
||||||
|
value: "qualification_name_two"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "认证机构2",
|
||||||
|
value: "certification_body_two"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "资质编号2",
|
||||||
|
value: "qualification_number_two"
|
||||||
|
}, {
|
||||||
|
label: "发证日期2",
|
||||||
|
value: "get_date_two"
|
||||||
|
}, {
|
||||||
|
label: "有效日期2",
|
||||||
|
value: "effective_date_two"
|
||||||
|
}, {
|
||||||
|
label: "资质2状态",
|
||||||
|
value: "qualification_two_status_text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "创建人",
|
||||||
|
value: "create_user"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "创建时间",
|
||||||
|
value: "create_time"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "附件",
|
||||||
|
value: "annex",
|
||||||
|
column: 1
|
||||||
|
},
|
||||||
|
|
||||||
|
]
|
||||||
|
|
||||||
|
}
|
||||||
|
export default detailConfig;
|
@ -5,7 +5,7 @@
|
|||||||
<el-form ref="formRef" :model="formData" label-width="90px" :rules="formRules">
|
<el-form ref="formRef" :model="formData" label-width="90px" :rules="formRules">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="所属单位" prop="unit_qualification_id">
|
<el-form-item label="所属单位" prop="company_name">
|
||||||
<el-input v-model="formData.company_name" clearable placeholder="请输入所属单位"
|
<el-input v-model="formData.company_name" clearable placeholder="请输入所属单位"
|
||||||
@click="showDialog1 = true" readonly />
|
@click="showDialog1 = true" readonly />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -20,8 +20,7 @@
|
|||||||
<el-input v-model="formData.id_card" clearable placeholder="请输入身份证" />
|
<el-input v-model="formData.id_card" clearable placeholder="请输入身份证" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<createUserLable :formData="formData" flag></createUserLable>
|
<createUserLable :formData="formData" flag></createUserLable>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="技术职称">
|
<el-form-item label="技术职称">
|
||||||
@ -33,8 +32,7 @@
|
|||||||
<el-input v-model="formData.job" clearable placeholder="请输入岗位" />
|
<el-input v-model="formData.job" clearable placeholder="请输入岗位" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="资质名称1" prop="qualification_name_one">
|
<el-form-item label="资质名称1" prop="qualification_name_one">
|
||||||
<el-input v-model="formData.qualification_name_one" clearable placeholder="请输入资质名称1" />
|
<el-input v-model="formData.qualification_name_one" clearable placeholder="请输入资质名称1" />
|
||||||
@ -50,8 +48,7 @@
|
|||||||
<el-input v-model="formData.qualification_number_one" clearable placeholder="请输入资质编号1" />
|
<el-input v-model="formData.qualification_number_one" clearable placeholder="请输入资质编号1" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="发证日期1">
|
<el-form-item label="发证日期1">
|
||||||
<el-date-picker class="flex-1 !flex" v-model="formData.get_date_one" clearable
|
<el-date-picker class="flex-1 !flex" v-model="formData.get_date_one" clearable
|
||||||
@ -75,8 +72,7 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="资质名称2" prop="qualification_name_two">
|
<el-form-item label="资质名称2" prop="qualification_name_two">
|
||||||
<el-input v-model="formData.qualification_name_two" clearable placeholder="请输入资质名称2" />
|
<el-input v-model="formData.qualification_name_two" clearable placeholder="请输入资质名称2" />
|
||||||
@ -92,8 +88,7 @@
|
|||||||
<el-input v-model="formData.qualification_number_two" clearable placeholder="请输入资质编号2" />
|
<el-input v-model="formData.qualification_number_two" clearable placeholder="请输入资质编号2" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="发证日期2" prop="get_date_two">
|
<el-form-item label="发证日期2" prop="get_date_two">
|
||||||
<el-date-picker class="flex-1 !flex" v-model="formData.get_date_two" clearable
|
<el-date-picker class="flex-1 !flex" v-model="formData.get_date_two" clearable
|
||||||
@ -117,8 +112,7 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
|
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="备注">
|
<el-form-item label="备注">
|
||||||
@ -128,7 +122,6 @@
|
|||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="附件">
|
<el-form-item label="附件">
|
||||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||||
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
@ -65,6 +65,11 @@
|
|||||||
type="danger" link @click="handleDelete(row.id)">
|
type="danger" link @click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
v-perms="['supervision_qualification_review.supervision_safety_management_personnel/edit']"
|
||||||
|
link @click="handleDetail(row.id)">
|
||||||
|
详情
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -74,6 +79,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
||||||
|
<detailPage v-if="showDetail" ref="detailRef" @close="showEdit = false" :detailConfig="detailConfig" />
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -81,13 +88,16 @@
|
|||||||
import { usePaging } from '@/hooks/usePaging'
|
import { usePaging } from '@/hooks/usePaging'
|
||||||
import { useDictData } from '@/hooks/useDictOptions'
|
import { useDictData } from '@/hooks/useDictOptions'
|
||||||
import { apiSupervisionSafetyManagementPersonnelLists, apiSupervisionSafetyManagementPersonnelDelete, apiSupervisionSafetyManagementPersonnelDetail } from '@/api/supervision_safety_management_personnel'
|
import { apiSupervisionSafetyManagementPersonnelLists, apiSupervisionSafetyManagementPersonnelDelete, apiSupervisionSafetyManagementPersonnelDetail } from '@/api/supervision_safety_management_personnel'
|
||||||
import { timeFormat } from '@/utils/util'
|
|
||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
|
import detailConfig from './detail'
|
||||||
|
|
||||||
|
|
||||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||||
|
const detailRef = ref('')
|
||||||
// 是否显示编辑框
|
// 是否显示编辑框
|
||||||
const showEdit = ref(false)
|
const showEdit = ref(false)
|
||||||
|
const showDetail = ref(false)
|
||||||
|
|
||||||
|
|
||||||
// 查询条件
|
// 查询条件
|
||||||
@ -139,5 +149,14 @@ const handleDelete = async (id: number | any[]) => {
|
|||||||
getLists()
|
getLists()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 详情
|
||||||
|
const handleDetail = async (id: any) => {
|
||||||
|
let res = await apiSupervisionSafetyManagementPersonnelDetail({ id })
|
||||||
|
showDetail.value = true
|
||||||
|
await nextTick()
|
||||||
|
detailRef.value?.open()
|
||||||
|
detailRef.value?.setFormData(res)
|
||||||
|
}
|
||||||
|
|
||||||
getLists()
|
getLists()
|
||||||
</script>
|
</script>
|
||||||
|
170
src/views/supervision_side_station/detail.vue
Normal file
170
src/views/supervision_side_station/detail.vue
Normal file
@ -0,0 +1,170 @@
|
|||||||
|
<template>
|
||||||
|
<div class="edit-popup">
|
||||||
|
<popup ref="popupRef" :async="true" width="80vw" @close="handleClose">
|
||||||
|
<el-form ref="formRef" :model="formData" label-width="100px">
|
||||||
|
<el-descriptions column="3" title="工程监理--巡视登记详情" border>
|
||||||
|
<el-descriptions-item label="项目名称" label-align="left" align="left">
|
||||||
|
{{ formData.project_name }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="编号" label-align="left" align="left">
|
||||||
|
{{ formData.side_station_code }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="旁站类型" label-align="left" align="left">
|
||||||
|
{{ formData.side_station_type_text }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="单位工程" label-align="left" align="left">
|
||||||
|
{{ formData.check_item_name }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="部位" label-align="left" align="left">
|
||||||
|
{{ formData.position }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="施工人数" label-align="left" align="left">
|
||||||
|
{{ formData.workers }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="管理人数" label-align="left" align="left">
|
||||||
|
{{ formData.managers }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="旁站开始时间" label-align="left" align="left">
|
||||||
|
{{ formData.start_time }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="旁站结束时间" label-align="left" align="left">
|
||||||
|
{{ formData.end_time }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="施工单位" label-align="left" align="left">
|
||||||
|
{{ formData.company_name }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="现场施工情况" label-align="left" align="left">
|
||||||
|
{{ formData.situation }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="旁站" label-align="left" align="left">
|
||||||
|
{{ formData.side_station_result_text }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="旁站人员" label-align="left" align="left">
|
||||||
|
{{ formData.side_station_user }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="检查项选择" label-align="left" align="left">
|
||||||
|
{{ formData.check_item_detail_name }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="附件" label-align="left" align="left">
|
||||||
|
<el-link class="mr-5" type="primary" v-for="item in formData.annex" :href="item.uri">
|
||||||
|
{{ item.name }}
|
||||||
|
</el-link>
|
||||||
|
</el-descriptions-item>
|
||||||
|
</el-descriptions>
|
||||||
|
</el-form>
|
||||||
|
<el-card class="mt-5">
|
||||||
|
<template #header>
|
||||||
|
巡视结果列表
|
||||||
|
</template>
|
||||||
|
<el-table :data="formData.side_result">
|
||||||
|
<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-column label="是否检查结果必检" prop="check_result_text" show-overflow-tooltip />
|
||||||
|
</el-table>
|
||||||
|
</el-card>
|
||||||
|
<el-card>
|
||||||
|
<template #header>
|
||||||
|
巡视问题列表
|
||||||
|
</template>
|
||||||
|
<el-table :data="formData.side_problem">
|
||||||
|
<el-table-column label="问题分类" prop="problem_cate_text" show-overflow-tooltip />
|
||||||
|
<el-table-column label="问题说明" prop="problem_description" show-overflow-tooltip />
|
||||||
|
<el-table-column label="问题名称" prop="problem_name" show-overflow-tooltip />
|
||||||
|
</el-table>
|
||||||
|
</el-card>
|
||||||
|
</popup>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" setup name="supervisionInspectionEdit">
|
||||||
|
import Popup from '@/components/popup/index.vue'
|
||||||
|
import { apisupervision_side_station_result } from '@/api/supervision_side_station'
|
||||||
|
import { timeFormat } from '@/utils/util'
|
||||||
|
import { apisupervision_problem } from '@/api/supervision_inspection'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const emit = defineEmits(['success', 'close'])
|
||||||
|
const popupRef = shallowRef<InstanceType<typeof Popup>>()
|
||||||
|
const mode = ref('add')
|
||||||
|
|
||||||
|
// 表单数据
|
||||||
|
const formData = reactive({
|
||||||
|
id: '',
|
||||||
|
project_id: '',
|
||||||
|
side_station_code: '',
|
||||||
|
side_station_type: '',
|
||||||
|
check_item_id: '',
|
||||||
|
position: '',
|
||||||
|
company_id: '',
|
||||||
|
start_time: '',
|
||||||
|
end_time: '',
|
||||||
|
workers: '',
|
||||||
|
managers: '',
|
||||||
|
side_station_type_text: "",
|
||||||
|
situation: '',
|
||||||
|
side_station_result: '',
|
||||||
|
side_station_user: '',
|
||||||
|
check_item_detail_ids: [],
|
||||||
|
side_station_result_text: "",
|
||||||
|
annex: [],
|
||||||
|
create_user: "",
|
||||||
|
create_time: "",
|
||||||
|
project_name: '',
|
||||||
|
inspection_code: '',
|
||||||
|
is_important: "",
|
||||||
|
inspection_type: '',
|
||||||
|
check_item_name: "",
|
||||||
|
inspection_user: '',
|
||||||
|
company_name: '',
|
||||||
|
inspection_content: '',
|
||||||
|
is_importent: '',
|
||||||
|
follow_user: '',
|
||||||
|
check_item_detail_name: '',
|
||||||
|
side_result: [],
|
||||||
|
side_problem: []
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
// 获取详情
|
||||||
|
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]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// apisupervision_inspection_result({ inspection_id: formData.id }).then(res => {
|
||||||
|
// formData.inspection_result = res.lists
|
||||||
|
// })
|
||||||
|
// apisupervision_problem({ data_id: formData.id, data_type: 1 }).then(res => {
|
||||||
|
// formData.inspection_problem = res.lists
|
||||||
|
// })
|
||||||
|
apisupervision_side_station_result({ side_station_id: formData.id }).then(res => {
|
||||||
|
formData.side_result = res.lists
|
||||||
|
})
|
||||||
|
apisupervision_problem({ data_id: formData.id, data_type: 2 }).then(res => {
|
||||||
|
formData.side_problem = res.lists
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//打开弹窗
|
||||||
|
const open = (type = 'add') => {
|
||||||
|
mode.value = type
|
||||||
|
popupRef.value?.open()
|
||||||
|
}
|
||||||
|
|
||||||
|
// 关闭回调
|
||||||
|
const handleClose = () => {
|
||||||
|
emit('close')
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
defineExpose({
|
||||||
|
open,
|
||||||
|
setFormData,
|
||||||
|
})
|
||||||
|
</script>
|
@ -56,6 +56,10 @@
|
|||||||
@click="handleDelete(row.id)">
|
@click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button v-perms="['supervision_work.supervision_side_station/detail']" link
|
||||||
|
@click="handleDetail(row.id)">
|
||||||
|
详情
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -65,6 +69,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
||||||
|
<detail-popup v-if="showDetail" ref="detailRef" @success="getLists" @close="showEdit = false" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -72,13 +77,17 @@
|
|||||||
import { usePaging } from '@/hooks/usePaging'
|
import { usePaging } from '@/hooks/usePaging'
|
||||||
import { useDictData } from '@/hooks/useDictOptions'
|
import { useDictData } from '@/hooks/useDictOptions'
|
||||||
import { apiSupervisionSideStationLists, apiSupervisionSideStationDelete, apiSupervisionSideStationDetail } from '@/api/supervision_side_station'
|
import { apiSupervisionSideStationLists, apiSupervisionSideStationDelete, apiSupervisionSideStationDetail } from '@/api/supervision_side_station'
|
||||||
import { timeFormat } from '@/utils/util'
|
|
||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
|
import DetailPopup from './detail.vue'
|
||||||
|
|
||||||
|
|
||||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||||
|
const detailRef = ref('')
|
||||||
// 是否显示编辑框
|
// 是否显示编辑框
|
||||||
const showEdit = ref(false)
|
const showEdit = ref(false)
|
||||||
|
const showDetail = ref(false)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 查询条件
|
// 查询条件
|
||||||
@ -128,5 +137,15 @@ const handleDelete = async (id: number | any[]) => {
|
|||||||
getLists()
|
getLists()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 详情
|
||||||
|
const handleDetail = async (id: any) => {
|
||||||
|
let res = await apiSupervisionSideStationDetail({ id })
|
||||||
|
showDetail.value = true
|
||||||
|
await nextTick()
|
||||||
|
detailRef.value?.open()
|
||||||
|
detailRef.value?.setFormData(res)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
getLists()
|
getLists()
|
||||||
</script>
|
</script>
|
||||||
|
61
src/views/supervision_special_operation_personnel/detail.js
Normal file
61
src/views/supervision_special_operation_personnel/detail.js
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
const detailConfig = {
|
||||||
|
title: "工程监理--特种作业人员资质",
|
||||||
|
config: [
|
||||||
|
{
|
||||||
|
label: "所属单位",
|
||||||
|
value: "company_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "姓名",
|
||||||
|
value: "name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "工种",
|
||||||
|
value: "work_type"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "身份证",
|
||||||
|
value: "id_card"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "资格有效期",
|
||||||
|
value: "validity_period"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "进场时间",
|
||||||
|
value: "enter_time"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "离场时间",
|
||||||
|
value: "leave_time"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "状态",
|
||||||
|
value: "status_text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "创建人",
|
||||||
|
value: "create_user"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "创建时间",
|
||||||
|
value: "create_time"
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
label: "备注",
|
||||||
|
value: "remark",
|
||||||
|
column: 1,
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
label: "附件",
|
||||||
|
value: "annex",
|
||||||
|
column: 1
|
||||||
|
},
|
||||||
|
|
||||||
|
],
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
export default detailConfig;
|
@ -2,7 +2,7 @@
|
|||||||
<div class="edit-popup">
|
<div class="edit-popup">
|
||||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit"
|
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit"
|
||||||
@close="handleClose">
|
@close="handleClose">
|
||||||
<el-form ref="formRef" :model="formData" label-width="90px" :rules="formRules">
|
<el-form ref="formRef" :model="formData" label-width="90px" :rules="formRules" :disabled="mode == 'detail'">
|
||||||
|
|
||||||
<el-form-item label="所属单位" prop="unit_qualification_id">
|
<el-form-item label="所属单位" prop="unit_qualification_id">
|
||||||
<el-input v-model="formData.company_name" clearable placeholder="请输入所属单位" readonly
|
<el-input v-model="formData.company_name" clearable placeholder="请输入所属单位" readonly
|
||||||
@ -75,7 +75,7 @@ const showDialog1 = ref(false)
|
|||||||
|
|
||||||
// 弹窗标题
|
// 弹窗标题
|
||||||
const popupTitle = computed(() => {
|
const popupTitle = computed(() => {
|
||||||
return mode.value == 'edit' ? '编辑工程监理--特种作业人员资质' : '新增工程监理--特种作业人员资质'
|
return mode.value == 'edit' ? '编辑工程监理--特种作业人员资质' : '工程监理--特种作业人员资质'
|
||||||
})
|
})
|
||||||
|
|
||||||
// 表单数据
|
// 表单数据
|
||||||
@ -96,14 +96,7 @@ const formData = reactive({
|
|||||||
create_user: "",
|
create_user: "",
|
||||||
create_time: "",
|
create_time: "",
|
||||||
})
|
})
|
||||||
const handleAvatarSuccess_four = (response: any) => {
|
|
||||||
if (!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 customEvent1 = (e) => {
|
const customEvent1 = (e) => {
|
||||||
formData.unit_qualification_id = e.id
|
formData.unit_qualification_id = e.id
|
||||||
|
@ -54,6 +54,11 @@
|
|||||||
type="danger" link @click="handleDelete(row.id)">
|
type="danger" link @click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
v-perms="['supervision_qualification_review.supervision_special_operation_personnel/detail']"
|
||||||
|
link @click="handleDetail(row.id)">
|
||||||
|
详情
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -63,6 +68,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
||||||
|
<detailPage v-if="showDetail" ref="detailRef" @close="showEdit = false" :detailConfig="detailConfig"
|
||||||
|
width="30vw" :column="1" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -70,13 +77,16 @@
|
|||||||
import { usePaging } from '@/hooks/usePaging'
|
import { usePaging } from '@/hooks/usePaging'
|
||||||
import { useDictData } from '@/hooks/useDictOptions'
|
import { useDictData } from '@/hooks/useDictOptions'
|
||||||
import { apiSupervisionSpecialOperationPersonnelLists, apiSupervisionSpecialOperationPersonnelDelete, apiSupervisionSpecialOperationPersonnelDetail } from '@/api/supervision_special_operation_personnel'
|
import { apiSupervisionSpecialOperationPersonnelLists, apiSupervisionSpecialOperationPersonnelDelete, apiSupervisionSpecialOperationPersonnelDetail } from '@/api/supervision_special_operation_personnel'
|
||||||
import { timeFormat } from '@/utils/util'
|
|
||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
|
import detailConfig from './detail'
|
||||||
|
|
||||||
|
|
||||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||||
|
const detailRef = ref('')
|
||||||
// 是否显示编辑框
|
// 是否显示编辑框
|
||||||
const showEdit = ref(false)
|
const showEdit = ref(false)
|
||||||
|
const showDetail = ref(false)
|
||||||
|
|
||||||
|
|
||||||
// 查询条件
|
// 查询条件
|
||||||
@ -112,11 +122,11 @@ const handleAdd = async () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 编辑
|
// 编辑
|
||||||
const handleEdit = async (data: any) => {
|
const handleEdit = async (data: any, mode = 'edit') => {
|
||||||
let res = await apiSupervisionSpecialOperationPersonnelDetail({ id: data.id })
|
let res = await apiSupervisionSpecialOperationPersonnelDetail({ id: data.id })
|
||||||
showEdit.value = true
|
showEdit.value = true
|
||||||
await nextTick()
|
await nextTick()
|
||||||
editRef.value?.open('edit')
|
editRef.value?.open(mode)
|
||||||
editRef.value?.setFormData(res)
|
editRef.value?.setFormData(res)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -127,5 +137,15 @@ const handleDelete = async (id: number | any[]) => {
|
|||||||
getLists()
|
getLists()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 详情
|
||||||
|
const handleDetail = async (id: any) => {
|
||||||
|
let res = await apiSupervisionSpecialOperationPersonnelDetail({ id })
|
||||||
|
showDetail.value = true
|
||||||
|
await nextTick()
|
||||||
|
detailRef.value?.open()
|
||||||
|
detailRef.value?.setFormData(res)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
getLists()
|
getLists()
|
||||||
</script>
|
</script>
|
||||||
|
87
src/views/supervision_test_blocks_specimens/detail.js
Normal file
87
src/views/supervision_test_blocks_specimens/detail.js
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
import { apisupervision_problem } from '@/api/supervision_inspection'
|
||||||
|
|
||||||
|
const detailConfig = {
|
||||||
|
title: "工程监理--设备进场",
|
||||||
|
config: [
|
||||||
|
{
|
||||||
|
label: "项目名称",
|
||||||
|
value: "project_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "试验类型",
|
||||||
|
value: "test_type"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "编号",
|
||||||
|
value: "code"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "见证人",
|
||||||
|
value: "witness"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "试验部位",
|
||||||
|
value: "test_site"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "单位名称",
|
||||||
|
value: "company_name",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "开始日期",
|
||||||
|
value: "start_date",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "结束日期",
|
||||||
|
value: "end_date",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "试验结果",
|
||||||
|
value: "test_result_text",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "备注",
|
||||||
|
value: "remark",
|
||||||
|
column: 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "创建人",
|
||||||
|
value: "create_user"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "创建时间",
|
||||||
|
value: "create_time"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "附件",
|
||||||
|
value: "annex",
|
||||||
|
column: 1
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
],
|
||||||
|
table: {
|
||||||
|
title: "问题",
|
||||||
|
tableConfig: [
|
||||||
|
{
|
||||||
|
label: "问题分类",
|
||||||
|
value: 'problem_cate_text',
|
||||||
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "问题说明",
|
||||||
|
value: 'problem_description'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "问题名称",
|
||||||
|
value: 'problem_name',
|
||||||
|
},
|
||||||
|
|
||||||
|
],
|
||||||
|
fetchFun: apisupervision_problem,
|
||||||
|
query: 'data_id'
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
export default detailConfig;
|
@ -76,6 +76,10 @@
|
|||||||
type="danger" link @click="handleDelete(row.id)">
|
type="danger" link @click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button v-perms="['supervision_work.supervision_test_blocks_specimens/detail']" link
|
||||||
|
@click="handleDetail(row.id)">
|
||||||
|
详情
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -85,20 +89,25 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
||||||
|
<detailPage v-if="showDetail" ref="detailRef" @close="showEdit = false" :detailConfig="detailConfig" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup name="supervisionTestBlocksSpecimensLists">
|
<script lang="ts" setup name="supervisionTestBlocksSpecimensLists">
|
||||||
import { usePaging } from '@/hooks/usePaging'
|
import { usePaging } from '@/hooks/usePaging'
|
||||||
import { useDictData } from '@/hooks/useDictOptions'
|
import { useDictData } from '@/hooks/useDictOptions'
|
||||||
import { apiSupervisionTestBlocksSpecimensLists, apiSupervisionTestBlocksSpecimensDelete } from '@/api/supervision_test_blocks_specimens'
|
import { apiSupervisionTestBlocksSpecimensLists, apiSupervisionTestBlocksSpecimensDelete, apiSupervisionTestBlocksSpecimensDetail } from '@/api/supervision_test_blocks_specimens'
|
||||||
import { timeFormat } from '@/utils/util'
|
import { timeFormat } from '@/utils/util'
|
||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
|
import detailConfig from './detail'
|
||||||
|
|
||||||
|
|
||||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||||
|
const detailRef = ref('')
|
||||||
// 是否显示编辑框
|
// 是否显示编辑框
|
||||||
const showEdit = ref(false)
|
const showEdit = ref(false)
|
||||||
|
const showDetail = ref(false)
|
||||||
|
|
||||||
|
|
||||||
// 查询条件
|
// 查询条件
|
||||||
@ -150,5 +159,15 @@ const handleDelete = async (id: number | any[]) => {
|
|||||||
getLists()
|
getLists()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 详情
|
||||||
|
const handleDetail = async (id: any) => {
|
||||||
|
let res = await apiSupervisionTestBlocksSpecimensDetail({ id })
|
||||||
|
showDetail.value = true
|
||||||
|
await nextTick()
|
||||||
|
detailRef.value?.open()
|
||||||
|
detailRef.value?.setFormData(res)
|
||||||
|
}
|
||||||
|
|
||||||
getLists()
|
getLists()
|
||||||
</script>
|
</script>
|
||||||
|
@ -67,7 +67,10 @@ import type { FormInstance } from 'element-plus'
|
|||||||
import Popup from '@/components/popup/index.vue'
|
import Popup from '@/components/popup/index.vue'
|
||||||
import { apiSupervisionWitnessSamplingAdd, apiSupervisionWitnessSamplingEdit, apiSupervisionWitnessSamplingDetail } from '@/api/supervision_witness_sampling'
|
import { apiSupervisionWitnessSamplingAdd, apiSupervisionWitnessSamplingEdit, apiSupervisionWitnessSamplingDetail } from '@/api/supervision_witness_sampling'
|
||||||
import { supervision_project, supervision_material_entry } from "@/components/dialogTable/dialogTableConfig"
|
import { supervision_project, supervision_material_entry } from "@/components/dialogTable/dialogTableConfig"
|
||||||
|
// import { apisupervision_material_entry_detail, } from '@/api/supervision_material_entry'
|
||||||
import { apisupervision_material_entry_detail, } from '@/api/supervision_material_entry'
|
import { apisupervision_material_entry_detail, } from '@/api/supervision_material_entry'
|
||||||
|
import { apiSupervisionWitnessSamplingListsDetail, } from '@/api/supervision_witness_sampling'
|
||||||
|
|
||||||
|
|
||||||
import type { PropType } from 'vue'
|
import type { PropType } from 'vue'
|
||||||
defineProps({
|
defineProps({
|
||||||
@ -210,7 +213,7 @@ const setFormData = async (data: Record<any, any>) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let res = await apisupervision_material_entry_detail({ material_entry_id: formData.material_entry_id })
|
let res = await apiSupervisionWitnessSamplingListsDetail({ witness_sampling_id: formData.id })
|
||||||
formData.sampling_detail = res.lists
|
formData.sampling_detail = res.lists
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -93,7 +93,6 @@
|
|||||||
import { usePaging } from '@/hooks/usePaging'
|
import { usePaging } from '@/hooks/usePaging'
|
||||||
import { useDictData } from '@/hooks/useDictOptions'
|
import { useDictData } from '@/hooks/useDictOptions'
|
||||||
import { apiSupervisionWitnessSamplingLists, apiSupervisionWitnessSamplingDelete, apiSupervisionWitnessSamplingDetail } from '@/api/supervision_witness_sampling'
|
import { apiSupervisionWitnessSamplingLists, apiSupervisionWitnessSamplingDelete, apiSupervisionWitnessSamplingDetail } from '@/api/supervision_witness_sampling'
|
||||||
import { timeFormat } from '@/utils/util'
|
|
||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user