forked from integrated_whb/integrated_whb_vue
重点工程(不包括AI报警和视频监控)
parent
3c06405a40
commit
ca7eadbb19
src
assets/js
request
views/keyprojects
aiwarning
inspection
videomanager
|
@ -732,6 +732,190 @@ export default [
|
|||
meta: { title: "排班管理", model: MODEL["1"], isSubMenu: false },
|
||||
component: "workforce_management/index",
|
||||
},
|
||||
{
|
||||
path: "/keyprojects",
|
||||
redirect: "/keyprojects/units",
|
||||
meta: { title: "重点工程", model: MODEL["1"] },
|
||||
component: "children",
|
||||
children: [
|
||||
{
|
||||
path: "/keyprojects/units",
|
||||
meta: { title: "相关方管理", isSubMenu: false },
|
||||
component: "children",
|
||||
children: [
|
||||
{
|
||||
path: "",
|
||||
component: "keyprojects/units/index",
|
||||
},
|
||||
{
|
||||
path: "/keyprojects/units/add",
|
||||
meta: {
|
||||
title: "新增",
|
||||
activeMenu: "/keyprojects/units",
|
||||
},
|
||||
component: "keyprojects/units/add",
|
||||
},
|
||||
{
|
||||
path: "/keyprojects/units/edit",
|
||||
meta: {
|
||||
title: "修改",
|
||||
activeMenu: "/keyprojects/units",
|
||||
},
|
||||
component: "keyprojects/units/add",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
path: "/keyprojects/personnelmanagement",
|
||||
meta: { title: "相关方人员管理", isSubMenu: false },
|
||||
component: "keyprojects/personnelmanagement/index",
|
||||
},
|
||||
{
|
||||
path: "/keyprojects/outsourced",
|
||||
meta: { title: "重点工程管理", isSubMenu: false },
|
||||
component: "children",
|
||||
children: [
|
||||
{
|
||||
path: "",
|
||||
component: "keyprojects/outsourced/index",
|
||||
},
|
||||
{
|
||||
path: "/keyprojects/outsourced/add",
|
||||
meta: {
|
||||
title: "新增",
|
||||
activeMenu: "/keyprojects/outsourced",
|
||||
},
|
||||
component: "keyprojects/outsourced/add",
|
||||
},
|
||||
{
|
||||
path: "/keyprojects/outsourced/add",
|
||||
meta: {
|
||||
title: "编辑",
|
||||
activeMenu: "/keyprojects/outsourced",
|
||||
},
|
||||
component: "keyprojects/outsourced/add",
|
||||
},
|
||||
{
|
||||
path: "/keyprojects/outsourced/view",
|
||||
meta: {
|
||||
title: "查看",
|
||||
activeMenu: "/keyprojects/outsourced",
|
||||
},
|
||||
component: "keyprojects/outsourced/view",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
path: "/keyprojects/inspection",
|
||||
meta: { title: "安全、环保检查", isSubMenu: false },
|
||||
component: "children",
|
||||
children: [
|
||||
{
|
||||
path: "",
|
||||
component: "keyprojects/inspection/index",
|
||||
},
|
||||
{
|
||||
path: "/keyprojects/inspection/record_list",
|
||||
meta: {
|
||||
title: "查看列表",
|
||||
activeMenu: "/keyprojects/inspection"
|
||||
},
|
||||
component: "children",
|
||||
children: [
|
||||
{
|
||||
path: "",
|
||||
component: "keyprojects/inspection/record_list"
|
||||
},
|
||||
{
|
||||
path: "/keyprojects/inspection/record_view",
|
||||
meta: {
|
||||
title: "查看详情",
|
||||
activeMenu: "/keyprojects/inspection",
|
||||
},
|
||||
component: "keyprojects/inspection/record_view",
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
path: "/keyprojects/hidden",
|
||||
meta: { title: "隐患排查", isSubMenu: false },
|
||||
component: "children",
|
||||
children: [
|
||||
{
|
||||
path: "",
|
||||
component: "keyprojects/hidden/index",
|
||||
},
|
||||
{
|
||||
path: "/keyprojects/hidden/record_list",
|
||||
meta: {
|
||||
title: "查看列表",
|
||||
activeMenu: "/keyprojects/hidden"
|
||||
},
|
||||
component: "children",
|
||||
children: [
|
||||
{
|
||||
path: "",
|
||||
component: "keyprojects/hidden/record_list"
|
||||
},
|
||||
{
|
||||
path: "/keyprojects/hidden/record_view",
|
||||
meta: {
|
||||
title: "查看详情",
|
||||
activeMenu: "/keyprojects/hidden",
|
||||
},
|
||||
component: "keyprojects/hidden/record_view",
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
path: "/keyprojects/punish",
|
||||
meta: { title: "处罚管理", isSubMenu: false },
|
||||
component: "children",
|
||||
children: [
|
||||
{
|
||||
path: "",
|
||||
component: "keyprojects/punish/index",
|
||||
},
|
||||
{
|
||||
path: "/keyprojects/punish/record_list",
|
||||
meta: {
|
||||
title: "查看列表",
|
||||
activeMenu: "/keyprojects/punish"
|
||||
},
|
||||
component: "children",
|
||||
children: [
|
||||
{
|
||||
path: "",
|
||||
component: "keyprojects/punish/record_list"
|
||||
},
|
||||
{
|
||||
path: "/keyprojects/punish/record_view",
|
||||
meta: {
|
||||
title: "查看详情",
|
||||
activeMenu: "/keyprojects/punish",
|
||||
},
|
||||
component: "keyprojects/punish/record_view",
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
path: "/keyprojects/aiwarning",
|
||||
meta: { title: "AI报警", isSubMenu: false },
|
||||
component: "keyprojects/aiwarning/index",
|
||||
},
|
||||
{
|
||||
path: "/keyprojects/videomanager",
|
||||
meta: { title: "视频监控", isSubMenu: false },
|
||||
component: "keyprojects/videomanager/index",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
path: "/off_duty_management",
|
||||
redirect: "/off_duty_management/leave",
|
||||
|
|
|
@ -252,3 +252,11 @@ export const layoutFnGetLevelsAndChildrenNumber = async (DICTIONARIES_ID) => {
|
|||
const resData = await getLevelsAndChildrenNumber({ DICTIONARIES_ID });
|
||||
return ref(resData.list);
|
||||
};
|
||||
|
||||
// 相关方作业类别
|
||||
export const layoutFnGetPersonnelmanagementJobType = async () => {
|
||||
const resData = await getLevels({
|
||||
DICTIONARIES_ID: "a8bfd4554af54ee2b816f3007d8baea6",
|
||||
});
|
||||
return ref(resData.list);
|
||||
};
|
||||
|
|
|
@ -0,0 +1,52 @@
|
|||
import { post, upload } from "@/request/axios.js";
|
||||
|
||||
export const getUnitsListAll = () => post("/units/listAll"); // 施工相关方全部
|
||||
export const getUnitsList = (params) => post("/units/list", params); // 相关方列表
|
||||
export const setUnitsAdd = (params) => upload("/units/add", params); // 相关方添加
|
||||
export const setUnitsGoEdit = (params) => post("/units/goEdit", params); // 相关方修改获取
|
||||
export const setUnitsEdit = (params) => upload("/units/edit", params); // 相关方修改
|
||||
export const setUnitsDelete = (params) => post("/units/delete", params); // 相关方删除
|
||||
export const setUnitsDeleteAll = (params) => post("/units/deleteAll", params); // 相关方删除(多选)
|
||||
|
||||
export const setIsTrueDelete = (params) =>
|
||||
post("/personnelmanagement/isTrueDelete", params); // 查看是否可删除
|
||||
export const setIsTrueDeleteAll = (params) =>
|
||||
post("/personnelmanagement/isTrueDeleteAll", params); // 查看是否可删除(全部)
|
||||
export const getPersonnelmanagementList = (params) =>
|
||||
post("/personnelmanagement/list", params); // 相关方人员列表
|
||||
export const setPersonnelmanagementResetPwd = (params) =>
|
||||
post("/personnelmanagement/resetPwd", params); // 相关方人员重置密码
|
||||
export const setPersonnelmanagementAdd = (params) =>
|
||||
post("/personnelmanagement/add", params); // 相关方人员添加
|
||||
export const setPersonnelmanagementEdit = (params) =>
|
||||
post("/personnelmanagement/edit", params); // 相关方人员编辑
|
||||
export const setPersonnelmanagementGoEdit = (params) =>
|
||||
post("/personnelmanagement/goEdit", params); // 相关方人员编辑获取
|
||||
export const setPersonnelmanagementDelete = (params) =>
|
||||
post("/personnelmanagement/delete", params); // 相关方人员删除
|
||||
export const setPersonnelmanagementDeleteAll = (params) =>
|
||||
post("/personnelmanagement/deleteAll", params); // 相关方人员批量删除
|
||||
export const setPersonnelmanagementListAll = (params) =>
|
||||
post("/personnelmanagement/listAll", params); // 相关方人员列表
|
||||
|
||||
export const getOutsourcedList = (params) => post("/outsourced/list", params); // 重点工程列表
|
||||
export const setOutsourcedAdd = (params) => upload("/outsourced/add", params); // 重点工程添加
|
||||
export const setOutsourcedEdit = (params) => upload("/outsourced/edit", params); // 重点工程修改
|
||||
export const setOutsourcedGoEdit = (params) =>
|
||||
post("/outsourced/goEdit", params); // 重点工程修改获取
|
||||
export const setOutsourcedDelete = (params) =>
|
||||
post("/outsourced/delete", params); // 重点工程修改获取
|
||||
|
||||
export const getKeyprojectcheckList = (params) =>
|
||||
post("/keyprojectcheck/list", params); // 安全环保检查列表
|
||||
export const getKeyprojectcheckGoEdit = (params) =>
|
||||
post("/keyprojectcheck/goEdit", params); // 安全环保检查详情
|
||||
export const getKeyprojectcheckListHidden = (params) =>
|
||||
post("/keyprojectcheck/listHidden", params); // 安全环保检查隐患列表
|
||||
export const getKeyprojectcheckFindHidden = (params) =>
|
||||
post("/keyprojectcheck/findHidden", params); // 安全环保检查隐患详情
|
||||
export const getKeyprojectpunishList = (params) =>
|
||||
post("/keyprojectpunish/list", params); // 处罚列表
|
||||
export const getKeyprojectpunishGoEdit = (params) =>
|
||||
post("/keyprojectpunish/goEdit", params); // 处罚列表详情
|
||||
|
|
@ -0,0 +1,106 @@
|
|||
<template>
|
||||
<div>
|
||||
<el-card>
|
||||
<el-form
|
||||
:model="searchForm"
|
||||
label-width="100px"
|
||||
@submit.prevent="fnResetPagination"
|
||||
>
|
||||
<el-row>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="关键字搜索" prop="KEYWORDS">
|
||||
<el-input v-model="searchForm.KEYWORDS" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label-width="10px">
|
||||
<el-button type="primary" native-type="submit">搜索</el-button>
|
||||
<el-button native-type="reset" @click="fnResetPaginationTransfer">
|
||||
重置
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-card>
|
||||
<layout-card>
|
||||
<layout-table
|
||||
ref="tableRef"
|
||||
:data="list"
|
||||
@get-data="fnGetData"
|
||||
v-model:pagination="pagination"
|
||||
row-key="UNITS_ID"
|
||||
>
|
||||
<el-table-column reserve-selection type="selection" width="55" />
|
||||
<el-table-column label="序号" width="60">
|
||||
<template #default="{ $index }">
|
||||
{{ serialNumber(pagination, $index) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="CREATOR_CORP_NAME" label="添加单位" />
|
||||
<el-table-column prop="CREATOR_NAME" label="添加人" width="200" />
|
||||
<el-table-column prop="UNITS_NAME" label="单位名称" width="150" />
|
||||
<el-table-column prop="JOBTYPE" label="作业类别" width="100" />
|
||||
<el-table-column prop="OPERATIONITEM" label="操作项目" />
|
||||
<el-table-column prop="NAME" label="姓名" />
|
||||
<el-table-column prop="SEX" label="性别" />
|
||||
<el-table-column prop="CERTIFICATE_NUM" label="作业证书编号" />
|
||||
<el-table-column prop="REVIEWTIME" label="复审时间" />
|
||||
<el-table-column label="操作" align="center" width="120">
|
||||
<template v-slot="{ row }">
|
||||
<el-button
|
||||
type="primary"
|
||||
text
|
||||
link
|
||||
@click="fnView(row.PERSONNELMANAGEMENT_ID)"
|
||||
>
|
||||
查看
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</layout-table>
|
||||
</layout-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import useListData from "@/assets/js/useListData";
|
||||
import { serialNumber } from "@/assets/js/utils";
|
||||
import {
|
||||
getPersonnelmanagementList,
|
||||
setPersonnelmanagementGoEdit,
|
||||
} from "@/request/keyprojects.js";
|
||||
import { reactive } from "vue";
|
||||
|
||||
const { list, pagination, searchForm, fnGetData, fnResetPagination, tableRef } =
|
||||
useListData(getPersonnelmanagementList);
|
||||
const data = reactive({
|
||||
type: "",
|
||||
title: "",
|
||||
editDialog: {
|
||||
visible: false,
|
||||
form: {},
|
||||
},
|
||||
});
|
||||
|
||||
const fnGoEdit = async (id) => {
|
||||
const resData = await setPersonnelmanagementGoEdit({
|
||||
PERSONNELMANAGEMENT_ID: id,
|
||||
});
|
||||
data.editDialog.form = resData.pd;
|
||||
};
|
||||
|
||||
const fnResetPaginationTransfer = () => {
|
||||
fnGetData(searchForm);
|
||||
};
|
||||
|
||||
const fnView = async (id) => {
|
||||
data.editDialog.form = {};
|
||||
data.editDialog.visible = true;
|
||||
data.editDialog.type = "view";
|
||||
data.editDialog.title = "查看";
|
||||
fnGoEdit(id);
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped></style>
|
|
@ -0,0 +1,91 @@
|
|||
<template>
|
||||
<div>
|
||||
<el-card>
|
||||
<el-form
|
||||
:model="searchForm"
|
||||
label-width="100px"
|
||||
@submit.prevent="fnResetPagination"
|
||||
>
|
||||
<el-row>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="关键字搜索" prop="KEYWORDS">
|
||||
<el-input v-model="searchForm.KEYWORDS" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label-width="10px">
|
||||
<el-button type="primary" native-type="submit">搜索</el-button>
|
||||
<el-button native-type="reset" @click="fnResetPaginationTransfer">
|
||||
重置
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-card>
|
||||
<layout-card>
|
||||
<layout-table
|
||||
ref="tableRef"
|
||||
:data="list"
|
||||
@get-data="fnGetData"
|
||||
v-model:pagination="pagination"
|
||||
row-key="UNITS_ID"
|
||||
>
|
||||
<el-table-column reserve-selection type="selection" width="55" />
|
||||
<el-table-column label="序号" width="60">
|
||||
<template #default="{ $index }">
|
||||
{{ serialNumber(pagination, $index) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="OUTSOURCED_NAME" label="重点工程名称" />
|
||||
<el-table-column prop="DEPARTMENT_NAME" label="监管部门" width="250" />
|
||||
<el-table-column
|
||||
prop="MANAGE_CORPS_NAME"
|
||||
label="监理单位"
|
||||
width="250"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="UNITS_PIC_NAME"
|
||||
label="相关方单位负责人"
|
||||
width="200"
|
||||
/>
|
||||
<el-table-column prop="UNITS_PHONE" label="电话" />
|
||||
<el-table-column label="操作" align="center" width="120">
|
||||
<template v-slot="{ row }">
|
||||
<el-button
|
||||
type="primary"
|
||||
text
|
||||
link
|
||||
@click="
|
||||
router.push({
|
||||
path: '/keyprojects/hidden/record_list',
|
||||
query: {
|
||||
OUTSOURCED_ID: row.OUTSOURCED_ID,
|
||||
},
|
||||
})
|
||||
"
|
||||
>
|
||||
查看
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</layout-table>
|
||||
</layout-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import useListData from "@/assets/js/useListData";
|
||||
import { serialNumber } from "@/assets/js/utils";
|
||||
import { getOutsourcedList } from "@/request/keyprojects.js";
|
||||
import router from "@/router";
|
||||
|
||||
const { list, pagination, searchForm, fnGetData, fnResetPagination, tableRef } =
|
||||
useListData(getOutsourcedList);
|
||||
|
||||
const fnResetPaginationTransfer = () => {
|
||||
fnGetData(searchForm);
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped></style>
|
|
@ -0,0 +1,128 @@
|
|||
<template>
|
||||
<div>
|
||||
<el-card>
|
||||
<el-form
|
||||
:model="searchForm"
|
||||
label-width="100px"
|
||||
@submit.prevent="fnResetPagination"
|
||||
>
|
||||
<el-row>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="关键字搜索" prop="KEYWORDS">
|
||||
<el-input v-model="searchForm.KEYWORDS" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="验收状态" prop="KEYWORDS">
|
||||
<el-select v-model="searchForm.ISCHECK">
|
||||
<el-option label="待验收隐患" value="1" />
|
||||
<el-option label="已验收隐患" value="2" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label-width="10px">
|
||||
<el-button type="primary" native-type="submit">搜索</el-button>
|
||||
<el-button native-type="reset" @click="fnResetPaginationTransfer">
|
||||
重置
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-card>
|
||||
<layout-card>
|
||||
<layout-table
|
||||
ref="tableRef"
|
||||
:data="list"
|
||||
@get-data="fnGetData"
|
||||
v-model:pagination="pagination"
|
||||
row-key="UNITS_ID"
|
||||
>
|
||||
<el-table-column reserve-selection type="selection" width="55" />
|
||||
<el-table-column label="序号" width="60">
|
||||
<template #default="{ $index }">
|
||||
{{ serialNumber(pagination, $index) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="重点工程名称">
|
||||
<template v-slot="{ row }">
|
||||
{{
|
||||
row.OUTSOURCED_NAME ? row.OUTSOURCED_NAME : row.AIOUTSOURCED_NAME
|
||||
}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="隐患来源" width="200">
|
||||
<template v-slot="{ row }">
|
||||
<span v-if="row.SOURCE === 1">AI报警</span>
|
||||
<span v-if="row.SOURCE === 2">AI报警</span>
|
||||
<span v-if="row.SOURCE === 3">安全环保检查(监管端)</span>
|
||||
<span v-if="row.SOURCE === 4">安全环保检查(企业端)</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="隐患发现人" width="150">
|
||||
<template v-slot="{ row }">
|
||||
{{ row.CREATOR_NAME || row.CREATOR_NAMES }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="CREATTIME" label="隐患发现时间" width="100" />
|
||||
<el-table-column prop="RECTIFICATIONOR_NAME" label="隐患整改人" />
|
||||
<el-table-column prop="RECTIFICATIONTIME" label="整改时间" />
|
||||
<el-table-column prop="CREATOR_NAME" label="隐患验收人" width="100" />
|
||||
<el-table-column prop="CHECKTIME" label="验收时间" width="100" />
|
||||
<el-table-column label="隐患状态" width="100">
|
||||
<template v-slot="{ row }">
|
||||
<span v-if="row.SOURCE === 1">未整改</span>
|
||||
<span v-if="row.SOURCE === 2">已整改</span>
|
||||
<span v-if="row.SOURCE === 4">已验收</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="是否处罚" width="100">
|
||||
<template v-slot="{ row }">
|
||||
{{ row.ISPUNISH && (row.ISPUNISH === "1" ? "是" : "否") }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="120">
|
||||
<template v-slot="{ row }">
|
||||
<el-button
|
||||
type="primary"
|
||||
text
|
||||
link
|
||||
@click="
|
||||
router.push({
|
||||
path: '/keyprojects/hidden/record_view',
|
||||
query: {
|
||||
HIDDEN_ID: row.HIDDEN_ID,
|
||||
},
|
||||
})
|
||||
"
|
||||
>
|
||||
查看
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</layout-table>
|
||||
</layout-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import useListData from "@/assets/js/useListData";
|
||||
import { serialNumber } from "@/assets/js/utils";
|
||||
import { getKeyprojectcheckListHidden } from "@/request/keyprojects.js";
|
||||
import router from "@/router";
|
||||
import { useRoute } from "vue-router";
|
||||
|
||||
const route = useRoute();
|
||||
const { OUTSOURCED_ID } = route.query;
|
||||
const { list, pagination, searchForm, fnGetData, fnResetPagination, tableRef } =
|
||||
useListData(getKeyprojectcheckListHidden, {
|
||||
otherParams: { OUTSOURCED_ID },
|
||||
});
|
||||
|
||||
const fnResetPaginationTransfer = () => {
|
||||
fnGetData(searchForm);
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped></style>
|
|
@ -0,0 +1,71 @@
|
|||
<template>
|
||||
<div>
|
||||
<layout-card>
|
||||
<div id="printContent">
|
||||
<el-divider content-position="left">检查信息</el-divider>
|
||||
<el-descriptions border>
|
||||
<el-descriptions-item label="隐患照片 ">
|
||||
{{ data.info.INSPECTION_CATEGORY }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="隐患描述">
|
||||
{{ data.info.HIDDENDESCR }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="隐患部位 ">
|
||||
{{ data.info.HIDDENPART }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="隐患级别">
|
||||
{{ data.info.HIDDENLEVEL_NAME }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="隐患类型 ">
|
||||
限期整改
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="整改期限">
|
||||
{{ data.info.RECTIFICATIONDEADLINE }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="整改部门 ">
|
||||
{{ data.info.RECTIFICATIONDEPT_NAME }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="整改人">
|
||||
{{ data.info.RECTIFICATIONOR_NAME }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="整改时间">
|
||||
{{ data.info.RECTIFICATIONTIME }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="整改照片">
|
||||
{{ data.info.RECTIFICATIONTIME }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="验收时间">
|
||||
{{ data.info.CHECKTIME }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="验收图片">
|
||||
{{ data.info.CHECKTIME }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="是否进行罚款">
|
||||
{{ pd.ISPUNISH === "1" ? "是" : "否" }}
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</div>
|
||||
</layout-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { getKeyprojectcheckFindHidden } from "@/request/keyprojects";
|
||||
import { reactive } from "vue";
|
||||
import { useRoute } from "vue-router";
|
||||
|
||||
const route = useRoute();
|
||||
const data = reactive({
|
||||
info: {},
|
||||
});
|
||||
|
||||
const fnGetData = async () => {
|
||||
const resData = await getKeyprojectcheckFindHidden({
|
||||
HIDDEN_ID: route.query.HIDDEN_ID,
|
||||
});
|
||||
data.info = resData.pd;
|
||||
};
|
||||
fnGetData();
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss"></style>
|
|
@ -0,0 +1,92 @@
|
|||
<template>
|
||||
<div>
|
||||
<el-card>
|
||||
<el-form
|
||||
:model="searchForm"
|
||||
label-width="100px"
|
||||
@submit.prevent="fnResetPagination"
|
||||
>
|
||||
<el-row>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="关键字搜索" prop="KEYWORDS">
|
||||
<el-input v-model="searchForm.KEYWORDS" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label-width="10px">
|
||||
<el-button type="primary" native-type="submit">搜索</el-button>
|
||||
<el-button native-type="reset" @click="fnResetPaginationTransfer">
|
||||
重置
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-card>
|
||||
<layout-card>
|
||||
<layout-table
|
||||
ref="tableRef"
|
||||
:data="list"
|
||||
@get-data="fnGetData"
|
||||
v-model:pagination="pagination"
|
||||
row-key="UNITS_ID"
|
||||
>
|
||||
<el-table-column reserve-selection type="selection" width="55" />
|
||||
<el-table-column label="序号" width="60">
|
||||
<template #default="{ $index }">
|
||||
{{ serialNumber(pagination, $index) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="OUTSOURCED_NAME" label="重点工程名称" />
|
||||
<el-table-column prop="DEPARTMENT_NAME" label="监管部门" width="200" />
|
||||
<el-table-column
|
||||
prop="MANAGE_CORPS_NAME"
|
||||
label="监理单位"
|
||||
width="200"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="UNITS_PIC_NAME"
|
||||
label="相关方单位负责人"
|
||||
width="200"
|
||||
/>
|
||||
<el-table-column prop="UNITS_PHONE" label="电话" />
|
||||
<el-table-column prop="CHECK_COUNT" label="安全环保检查次数" />
|
||||
<el-table-column label="操作" align="center" width="120">
|
||||
<template v-slot="{ row }">
|
||||
<el-button
|
||||
type="primary"
|
||||
text
|
||||
link
|
||||
@click="
|
||||
router.push({
|
||||
path: '/keyprojects/inspection/record_list',
|
||||
query: {
|
||||
OUTSOURCED_ID: row.OUTSOURCED_ID,
|
||||
},
|
||||
})
|
||||
"
|
||||
>
|
||||
查看
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</layout-table>
|
||||
</layout-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import useListData from "@/assets/js/useListData";
|
||||
import { serialNumber } from "@/assets/js/utils";
|
||||
import { getOutsourcedList } from "@/request/keyprojects.js";
|
||||
import router from "@/router";
|
||||
|
||||
const { list, pagination, searchForm, fnGetData, fnResetPagination, tableRef } =
|
||||
useListData(getOutsourcedList);
|
||||
|
||||
const fnResetPaginationTransfer = () => {
|
||||
fnGetData(searchForm);
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped></style>
|
|
@ -0,0 +1,103 @@
|
|||
<template>
|
||||
<div>
|
||||
<el-card>
|
||||
<el-form
|
||||
:model="searchForm"
|
||||
label-width="100px"
|
||||
@submit.prevent="fnResetPagination"
|
||||
>
|
||||
<el-row>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="关键字搜索" prop="KEYWORDS">
|
||||
<el-input v-model="searchForm.KEYWORDS" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label-width="10px">
|
||||
<el-button type="primary" native-type="submit">搜索</el-button>
|
||||
<el-button native-type="reset" @click="fnResetPaginationTransfer">
|
||||
重置
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-card>
|
||||
<layout-card>
|
||||
<layout-table
|
||||
ref="tableRef"
|
||||
:data="list"
|
||||
@get-data="fnGetData"
|
||||
v-model:pagination="pagination"
|
||||
row-key="UNITS_ID"
|
||||
>
|
||||
<el-table-column reserve-selection type="selection" width="55" />
|
||||
<el-table-column label="序号" width="60">
|
||||
<template #default="{ $index }">
|
||||
{{ serialNumber(pagination, $index) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="INSPECTION_PLACE" label="检查场所" />
|
||||
<el-table-column
|
||||
prop="INSPECTION_STATUS"
|
||||
label="检查状态"
|
||||
width="200"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="INSPECTION_TYPE_NAME"
|
||||
label="检查类型"
|
||||
width="150"
|
||||
/>
|
||||
<el-table-column prop="INSPECTION_USERS" label="检查人" width="100" />
|
||||
<el-table-column prop="PERSON_NAME" label="被检查人" />
|
||||
<el-table-column label="检查时间">
|
||||
<template v-slot="{ row }">
|
||||
{{ row.INSPECTION_TIME_START }}-{{ row.INSPECTION_TIME_END }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="HIDDEN_COUNT" label="检查隐患数" width="100" />
|
||||
<el-table-column label="操作" align="center" width="120">
|
||||
<template v-slot="{ row }">
|
||||
<el-button
|
||||
type="primary"
|
||||
text
|
||||
link
|
||||
@click="
|
||||
router.push({
|
||||
path: '/keyprojects/inspection/record_view',
|
||||
query: {
|
||||
KEYPROJECTCHECK_ID: row.KEYPROJECTCHECK_ID,
|
||||
},
|
||||
})
|
||||
"
|
||||
>
|
||||
查看
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</layout-table>
|
||||
</layout-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import useListData from "@/assets/js/useListData";
|
||||
import { serialNumber } from "@/assets/js/utils";
|
||||
import { getKeyprojectcheckList } from "@/request/keyprojects.js";
|
||||
import router from "@/router";
|
||||
import { useRoute } from "vue-router";
|
||||
|
||||
const route = useRoute();
|
||||
|
||||
const { OUTSOURCED_ID } = route.query;
|
||||
const { list, pagination, searchForm, fnGetData, fnResetPagination, tableRef } =
|
||||
useListData(getKeyprojectcheckList, {
|
||||
otherParams: { OUTSOURCED_ID },
|
||||
});
|
||||
|
||||
const fnResetPaginationTransfer = () => {
|
||||
fnGetData(searchForm);
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped></style>
|
|
@ -0,0 +1,85 @@
|
|||
<template>
|
||||
<div>
|
||||
<layout-card>
|
||||
<div id="printContent">
|
||||
<el-divider content-position="left">检查信息</el-divider>
|
||||
<el-descriptions border :column="2">
|
||||
<el-descriptions-item label="检查题目 ">
|
||||
{{ data.info.INSPECTION_CATEGORY }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="记录填写时间">
|
||||
{{ data.info.CREATTIME }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="被检查单位 ">
|
||||
{{ data.info.UNITS_NAME }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="被检查单位现场负责人">
|
||||
{{ data.info.PERSON_NAME }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="检查场所 ">
|
||||
{{ data.info.INSPECTION_PLACE }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="检查类型">
|
||||
{{ data.info.INSPECTION_TYPE_NAME }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="检查开始时间 ">
|
||||
{{ data.info.INSPECTION_TIME_START }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="检查结束时间">
|
||||
{{ data.info.INSPECTION_TIME_END }}
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
<el-divider content-position="left">检查情况</el-divider>
|
||||
<layout-table :data="data.info.situationList" :show-pagination="false">
|
||||
<el-table-column label="序号" width="70" type="index" />
|
||||
<el-table-column prop="SITUATION" label="检查情况" />
|
||||
</layout-table>
|
||||
<el-divider content-position="left">检查人员</el-divider>
|
||||
<el-descriptions border :column="1">
|
||||
<el-descriptions-item label="检查人员">
|
||||
{{ data.info.INSPECTION_USERS }}
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
<el-divider content-position="left">发现问题</el-divider>
|
||||
<layout-table :data="data.info.hiddenList" :show-pagination="false">
|
||||
<el-table-column label="序号" width="70" type="index" />
|
||||
<el-table-column prop="HIDDENPART" label="隐患部位" />
|
||||
<el-table-column prop="HIDDENDESCR" label="隐患描述" />
|
||||
<el-table-column label="状态" width="100">
|
||||
<template v-slot="{ row }">
|
||||
<el-button
|
||||
type="primary"
|
||||
text
|
||||
link
|
||||
@click="row"
|
||||
>
|
||||
查看
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</layout-table>
|
||||
</div>
|
||||
</layout-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { getKeyprojectcheckGoEdit } from "@/request/keyprojects";
|
||||
import { reactive } from "vue";
|
||||
import { useRoute } from "vue-router";
|
||||
|
||||
const route = useRoute();
|
||||
const data = reactive({
|
||||
info: {},
|
||||
});
|
||||
|
||||
const fnGetData = async () => {
|
||||
const resData = await getKeyprojectcheckGoEdit({
|
||||
KEYPROJECTCHECK_ID: route.query.KEYPROJECTCHECK_ID,
|
||||
});
|
||||
data.info = resData.pd;
|
||||
};
|
||||
fnGetData();
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss"></style>
|
|
@ -0,0 +1,366 @@
|
|||
<template>
|
||||
<layout-card>
|
||||
<el-form
|
||||
ref="formRef"
|
||||
:model="data.form"
|
||||
:rules="rules"
|
||||
label-width="175px"
|
||||
>
|
||||
<el-divider content-position="left">工商信息</el-divider>
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="企业监督部门" prop="DEPARTMENT_ID">
|
||||
<layout-department
|
||||
v-model="data.form.DEPARTMENT_ID"
|
||||
multiple
|
||||
show-checkbox
|
||||
root-disabled="Y"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="企业主管部门" prop="COMPETENT_DEPT_ID">
|
||||
<layout-department v-model="data.form.COMPETENT_DEPT_ID" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="企业辖区部门" prop="INVOLVING_CORPS_DEPART_ID">
|
||||
<layout-department
|
||||
v-model="data.form.INVOLVING_CORPS_DEPART_ID"
|
||||
multiple
|
||||
show-checkbox
|
||||
root-disabled="Y"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="重点工程名称" prop="OUTSOURCED_NAME">
|
||||
<el-input
|
||||
v-model="data.form.OUTSOURCED_NAME"
|
||||
placeholder="请输入内容"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="计划工期起止时间">
|
||||
<el-date-picker
|
||||
v-model="data.form.STARTTIME_TIMES"
|
||||
type="daterange"
|
||||
value-format="YYYY-MM-DD"
|
||||
format="YYYY-MM-DD"
|
||||
range-separator="至"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="合同号">
|
||||
<el-input
|
||||
v-model="data.form.CONTRACT_NUM"
|
||||
placeholder="请输入内容"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="施工相关方" prop="UNITS_ID">
|
||||
<el-select
|
||||
v-model="data.form.UNITS_ID"
|
||||
clearable
|
||||
placeholder="请选择相关方"
|
||||
@change="fnGetUnitUser"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in data.unitsList"
|
||||
:key="item.UNITS_ID"
|
||||
:label="item.UNITS_NAME"
|
||||
:value="item.UNITS_ID"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="相关方单位工程负责人" prop="UNITS_PIC">
|
||||
<el-select
|
||||
v-model="data.form.UNITS_PIC"
|
||||
clearable
|
||||
placeholder="请选择人员"
|
||||
@change="fnSelectUnitsUser($event)"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in data.unitsUserList"
|
||||
:key="item.PERSONNELMANAGEMENT_ID"
|
||||
:label="item.NAME"
|
||||
:value="item.PERSONNELMANAGEMENT_ID"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="相关方单位负责人手机" prop="UNITS_PHONE">
|
||||
<el-input
|
||||
disabled
|
||||
v-model="data.form.UNITS_PHONE"
|
||||
placeholder="请输入内容"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="监理单位名称">
|
||||
<el-input
|
||||
v-model="data.form.MANAGE_NAME"
|
||||
placeholder="请输入内容"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="监理单位工程负责人">
|
||||
<el-input v-model="data.form.MANAGE_PIC" placeholder="请输入内容" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="监理单位负责人手机">
|
||||
<el-input
|
||||
v-model="data.form.MANAGE_PHONE"
|
||||
placeholder="请输入内容"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="集团单位">
|
||||
<el-input v-model="data.form.GROUP_UNIT" placeholder="请输入内容" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="状态" prop="STATE">
|
||||
<el-select v-model="data.form.STATE" placeholder="请选择状态">
|
||||
<el-option label="进行中" value="1" />
|
||||
<el-option label="已结束" value="2" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="是否发送短信">
|
||||
<el-input v-model="data.form.IS_SMS" placeholder="请输入内容" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="安全管理协议(附件)" prop="CONTACTS">
|
||||
<el-input v-model="data.form.CONTACTS" placeholder="请输入内容" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<el-divider content-position="left">
|
||||
处罚相关
|
||||
<el-button size="small" @click="addInspector"> 添加 </el-button>
|
||||
</el-divider>
|
||||
<template>
|
||||
<template>
|
||||
<template
|
||||
v-for="(item, index) in data.form.acceptanceList"
|
||||
:key="item.id"
|
||||
>
|
||||
<el-col :span="11">
|
||||
<el-form-item
|
||||
label="验收部门"
|
||||
:prop="'acceptanceList.' + index + '.DEPARTMENT_ID'"
|
||||
:rules="{
|
||||
required: true,
|
||||
message: '请选择验收部门',
|
||||
trigger: 'change',
|
||||
}"
|
||||
>
|
||||
<layout-department
|
||||
v-model="item.DEPARTMENT_ID"
|
||||
@update:model-value="fnInspectDepartmentChange($event, index)"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="11">
|
||||
<el-form-item
|
||||
label="验收人"
|
||||
:prop="'acceptanceList.' + index + '.USER_ID'"
|
||||
:rules="{
|
||||
required: true,
|
||||
message: '请选择验收人',
|
||||
trigger: 'change',
|
||||
}"
|
||||
>
|
||||
<el-select
|
||||
:model-value="item.USER_ID"
|
||||
@change="
|
||||
verifyDuplicateSelection(
|
||||
data.form.acceptanceList,
|
||||
index,
|
||||
'USER_ID',
|
||||
$event
|
||||
)
|
||||
"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in item.userList"
|
||||
:key="item.USER_ID"
|
||||
:label="item.NAME"
|
||||
:value="item.USER_ID"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="2">
|
||||
<el-form-item label-width="10px">
|
||||
<el-button
|
||||
type="primary"
|
||||
v-if="index === 0"
|
||||
@click="fnAddInspectedList"
|
||||
>
|
||||
添加
|
||||
</el-button>
|
||||
<el-button
|
||||
type="danger"
|
||||
v-if="index !== 0"
|
||||
@click="data.form.acceptanceList.splice(index, 1)"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</template>
|
||||
</template>
|
||||
</template>
|
||||
<div class="tc mt-10">
|
||||
<el-button type="primary" @click="fnSubmit"> 确定 </el-button>
|
||||
</div>
|
||||
</layout-card>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import useFormValidate from "@/assets/js/useFormValidate";
|
||||
import {
|
||||
getUnitsListAll,
|
||||
setOutsourcedAdd,
|
||||
setOutsourcedEdit,
|
||||
setOutsourcedGoEdit,
|
||||
setPersonnelmanagementListAll,
|
||||
} from "@/request/keyprojects";
|
||||
import { ElMessage } from "element-plus";
|
||||
import { debounce } from "throttle-debounce";
|
||||
import { reactive, ref } from "vue";
|
||||
import { useRoute, useRouter } from "vue-router";
|
||||
import LayoutDepartment from "@/components/department/index.vue";
|
||||
import { getUserListAll } from "@/request/data_dictionary";
|
||||
|
||||
const router = useRouter();
|
||||
const route = useRoute();
|
||||
const formRef = ref(null);
|
||||
const rules = {
|
||||
DEPARTMENT_ID: [
|
||||
{ required: true, message: "请选择相关部门", trigger: "blur" },
|
||||
],
|
||||
COMPETENT_DEPT_ID: [
|
||||
{ required: true, message: "请选择相关部门", trigger: "blur" },
|
||||
],
|
||||
INVOLVING_CORPS_DEPART_ID: [
|
||||
{ required: true, message: "请选择相关部门", trigger: "blur" },
|
||||
],
|
||||
OUTSOURCED_NAME: [
|
||||
{ required: true, message: "请输入重点工程名称", trigger: "blur" },
|
||||
],
|
||||
UNITS_ID: [{ required: true, message: "请选择相关方", trigger: "blur" }],
|
||||
UNITS_PIC: [
|
||||
{ required: true, message: "请选择相关方负责人", trigger: "blur" },
|
||||
],
|
||||
UNITS_PHONE: [
|
||||
{ required: true, message: "请输入负责人手机号", trigger: "blur" },
|
||||
],
|
||||
STATE: [{ required: true, message: "请选择状态", trigger: "blur" }],
|
||||
};
|
||||
|
||||
const data = reactive({
|
||||
form: {
|
||||
acceptanceList: [
|
||||
{
|
||||
id: Math.random(),
|
||||
DEPARTMENT_ID: "",
|
||||
USER_ID: "",
|
||||
userList: [],
|
||||
},
|
||||
],
|
||||
},
|
||||
inspectorList: [
|
||||
{ INSPECTION_DEPARTMENT_ID: "", INSPECTION_USER_ID: "", USER_SIDE: "" },
|
||||
],
|
||||
INSPECTOR_List: [],
|
||||
unitsList: [],
|
||||
});
|
||||
|
||||
const addInspector = () => {
|
||||
data.inspectorList.push({
|
||||
INSPECTION_DEPARTMENT_ID: "",
|
||||
INSPECTION_USER_ID: "",
|
||||
USER_SIDE: "",
|
||||
});
|
||||
data.INSPECTOR_List.push([]);
|
||||
};
|
||||
|
||||
const fnGetData = async () => {
|
||||
const resData = await setOutsourcedGoEdit({
|
||||
OUTSOURCED_ID: route.query.outsourcedId,
|
||||
});
|
||||
data.form = resData.pd;
|
||||
data.form.acceptanceList = resData.punishThePerson;
|
||||
};
|
||||
if (route.query.type === "edit") fnGetData();
|
||||
|
||||
const fnGetUnitsList = async () => {
|
||||
const resData = await getUnitsListAll({});
|
||||
data.unitsList = resData.varList;
|
||||
};
|
||||
fnGetUnitsList();
|
||||
|
||||
const fnGetUnitUser = async () => {
|
||||
const resData = await setPersonnelmanagementListAll({
|
||||
UNITS_ID: data.form.UNITS_ID,
|
||||
});
|
||||
data.form.UNITS_PIC = "";
|
||||
data.form.UNITS_PHONE = "";
|
||||
data.unitsUserList = resData.varList;
|
||||
};
|
||||
|
||||
const fnSelectUnitsUser = (event) => {
|
||||
data.unitsUserList.forEach((item) => {
|
||||
if (item.PERSONNELMANAGEMENT_ID === event) {
|
||||
data.form.UNITS_PHONE = item.PHONENUM;
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
const fnInspectDepartmentChange = async (event, index) => {
|
||||
data.form.acceptanceList[index].USER_ID = "";
|
||||
const resData = await getUserListAll({
|
||||
DEPARTMENT_ID: event,
|
||||
});
|
||||
data.form.acceptanceList[index].userList = resData.userList;
|
||||
};
|
||||
|
||||
const fnSubmit = debounce(
|
||||
1000,
|
||||
async () => {
|
||||
await useFormValidate(formRef);
|
||||
const formData = new FormData();
|
||||
Object.keys(data.form).forEach((key) => {
|
||||
formData.append(key, data.form[key]);
|
||||
});
|
||||
if (data.form.STARTTIME_TIMES && data.form.STARTTIME_TIMES.length > 0) {
|
||||
formData.append("STARTTIME", data.form.STARTTIME_TIMES[0]);
|
||||
formData.append("ENDTIME", data.form.STARTTIME_TIMES[1]);
|
||||
}
|
||||
route.query.type === "edit"
|
||||
? await setOutsourcedEdit(formData)
|
||||
: await setOutsourcedAdd(formData);
|
||||
ElMessage.success("保存成功");
|
||||
router.back();
|
||||
},
|
||||
{ atBegin: true }
|
||||
);
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss"></style>
|
|
@ -0,0 +1,201 @@
|
|||
<template>
|
||||
<div>
|
||||
<el-card>
|
||||
<el-form
|
||||
:model="searchForm"
|
||||
label-width="100px"
|
||||
@submit.prevent="fnResetPagination"
|
||||
>
|
||||
<el-row>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="关键字搜索" prop="KEYWORDS">
|
||||
<el-input v-model="searchForm.KEYWORDS" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="创建单位" prop="CORP_NAME">
|
||||
<el-input v-model="searchForm.CORP_NAME" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="施工相关方" prop="UNITS_ID">
|
||||
<el-select
|
||||
v-model="searchForm.UNITS_ID"
|
||||
clearable
|
||||
placeholder="请选择状态"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in data.unitsList"
|
||||
:key="item.UNITS_ID"
|
||||
:label="item.UNITS_NAME"
|
||||
:value="item.UNITS_ID"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label-width="10px">
|
||||
<el-button type="primary" native-type="submit">搜索</el-button>
|
||||
<el-button native-type="reset" @click="fnResetPaginationTransfer">
|
||||
重置
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-card>
|
||||
<layout-card>
|
||||
<layout-table
|
||||
:data="list"
|
||||
@get-data="fnGetData"
|
||||
v-model:pagination="pagination"
|
||||
>
|
||||
<el-table-column label="序号" width="60">
|
||||
<template #default="{ $index }">
|
||||
{{ serialNumber(pagination, $index) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
prop="CORP_NAME"
|
||||
label="创建单位"
|
||||
/>
|
||||
<el-table-column prop="OUTSOURCED_NAME" label="重点工程名称" />
|
||||
<el-table-column prop="UNITS_NAME" label="施工相关方" />
|
||||
<el-table-column prop="UNITS_NAME" label="辖区单位">
|
||||
<template v-slot="{ row }">
|
||||
<span v-if="row.JURISDICTION_UNIT_NAME">
|
||||
{{ row.JURISDICTION_UNIT_NAME }}
|
||||
</span>
|
||||
<span v-else>{{ row.INVOLVING_CORPS_DEPART_NAME }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="UNITS_NAME" label="主管部门">
|
||||
<template v-slot="{ row }">
|
||||
<span v-if="row.Q_COMPETENT_DEPT_NAME">
|
||||
{{ row.Q_COMPETENT_DEPT_NAME }}
|
||||
</span>
|
||||
<span v-else>{{ row.MANAGER_DEPARTMENT_NAME }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="DEPARTMENT_NAME" label="监管部门">
|
||||
<template v-slot="{ row }">
|
||||
<span v-if="row.Q_DEPARTMENT_NAME">
|
||||
{{ row.Q_DEPARTMENT_NAME }}
|
||||
</span>
|
||||
<span v-else>{{ row.DEPARTMENT_NAME }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="MANAGE_CORPS_NAME" label="监理单位" />
|
||||
<el-table-column prop="STATE" label="状态">
|
||||
<template v-slot="{ row }">
|
||||
<span v-if="row.STATE === '1'">进行中</span>
|
||||
<span v-if="row.STATE === '2'">已结束</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="OUTSOURCED_CREATOR_NAME" label="创建人" />
|
||||
<el-table-column label="操作" align="center" width="200">
|
||||
<template v-slot="{ row }">
|
||||
<el-button
|
||||
type="primary"
|
||||
text
|
||||
link
|
||||
@click="
|
||||
router.push({
|
||||
path: '/keyprojects/outsourced/view',
|
||||
query: {
|
||||
outsourcedId: row.OUTSOURCED_ID,
|
||||
},
|
||||
})
|
||||
"
|
||||
>
|
||||
查看
|
||||
</el-button>
|
||||
<el-button type="primary" text link v-if="row.STATE === '1'">
|
||||
结束
|
||||
</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
text
|
||||
link
|
||||
@click="
|
||||
router.push({
|
||||
path: '/keyprojects/outsourced/add',
|
||||
query: {
|
||||
type: 'edit',
|
||||
outsourcedId: row.OUTSOURCED_ID,
|
||||
},
|
||||
})
|
||||
"
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
text
|
||||
link
|
||||
@click="fnHandleDelete(row.OUTSOURCED_ID)"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<template #button>
|
||||
<el-button
|
||||
type="primary"
|
||||
@click="
|
||||
router.push({
|
||||
path: '/keyprojects/outsourced/add',
|
||||
query: {
|
||||
type: 'add',
|
||||
},
|
||||
})
|
||||
"
|
||||
>
|
||||
新增
|
||||
</el-button>
|
||||
</template>
|
||||
</layout-table>
|
||||
</layout-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import useListData from "@/assets/js/useListData";
|
||||
import { serialNumber } from "@/assets/js/utils";
|
||||
import {
|
||||
getOutsourcedList,
|
||||
getUnitsListAll,
|
||||
setOutsourcedDelete,
|
||||
} from "@/request/keyprojects.js";
|
||||
import { reactive } from "vue";
|
||||
import router from "@/router";
|
||||
import { ElMessageBox } from "element-plus";
|
||||
|
||||
const { list, pagination, searchForm, fnGetData, fnResetPagination } =
|
||||
useListData(getOutsourcedList);
|
||||
|
||||
const data = reactive({
|
||||
unitsList: [],
|
||||
});
|
||||
|
||||
const fnGetUnitsList = async () => {
|
||||
const resData = await getUnitsListAll({});
|
||||
data.unitsList = resData.varList;
|
||||
};
|
||||
fnGetUnitsList();
|
||||
|
||||
const fnResetPaginationTransfer = () => {
|
||||
fnGetData(searchForm);
|
||||
};
|
||||
|
||||
const fnHandleDelete = async (OUTSOURCED_ID) => {
|
||||
await ElMessageBox.confirm("确定要删除吗?", {
|
||||
type: "warning",
|
||||
});
|
||||
await setOutsourcedDelete({ OUTSOURCED_ID });
|
||||
fnGetData();
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped></style>
|
|
@ -0,0 +1,108 @@
|
|||
<template>
|
||||
<div>
|
||||
<layout-card>
|
||||
<div id="printContent">
|
||||
<el-divider content-position="left">工程信息</el-divider>
|
||||
<el-descriptions border :column="2">
|
||||
<el-descriptions-item label="重点工程名称" :span="2">
|
||||
{{ data.info.OUTSOURCED_NAME }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item
|
||||
label="股份主管部门"
|
||||
v-if="data.info.IS_CORP_TYPE === '0'"
|
||||
>
|
||||
{{ data.info.MANAGER_DEPARTMENT_NAME }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item
|
||||
label="股份监管部门"
|
||||
v-if="data.info.IS_CORP_TYPE === '0'"
|
||||
>
|
||||
{{ data.info.DEPARTMENT_NAME }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item
|
||||
:span="2"
|
||||
label="辖区单位"
|
||||
v-if="data.info.IS_CORP_TYPE === '0'"
|
||||
>
|
||||
{{ data.info.JURISDICTION_UNIT_NAME }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="企业监督部门">
|
||||
{{ data.info.DEPARTMENT_NAME }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="企业辖区部门" :span="2">
|
||||
{{ data.info.INVOLVING_CORPS_DEPART_NAME }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="集团单位" :span="2">
|
||||
{{ data.info.GROUP_UNIT_NAME }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="计划工期" :span="2">
|
||||
{{ data.info.STARTTIME }} 至 {{ data.info.ENDTIME }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="施工相关方" :span="2">
|
||||
{{ data.info.UNITS_NAME }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="合同号">
|
||||
{{ data.info.CONTRACT_NUM }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="监理单位名称">
|
||||
{{ data.info.MANAGE_CORPS_NAME }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="相关方单位工程负责人">
|
||||
{{ data.info.UNITS_PIC_NAME }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="相关方单位负责人手机">
|
||||
{{ data.info.UNITS_PHONE }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="监理单位工程负责人">
|
||||
{{ data.info.MANAGE_PIC }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="监理单位负责人手机">
|
||||
{{ data.info.MANAGE_PHONE }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="是否发送短信">
|
||||
{{ data.info.IS_SMS === "0" ? "是" : "否" }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="状态">
|
||||
{{ data.info.STATE === "1" ? "进行中" : "已结束" }}
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
<el-divider content-position="left">处罚相关</el-divider>
|
||||
<el-descriptions border :column="2">
|
||||
<div v-for="(item, index) in punishThePerson" :key="index">
|
||||
<el-descriptions-item label="处罚人员部门">
|
||||
{{ item.punishname }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="处罚人员">
|
||||
{{ item.NAME }}
|
||||
</el-descriptions-item>
|
||||
</div>
|
||||
</el-descriptions>
|
||||
</div></layout-card
|
||||
>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { setOutsourcedGoEdit } from "@/request/keyprojects";
|
||||
import { reactive } from "vue";
|
||||
import { useRoute } from "vue-router";
|
||||
|
||||
const route = useRoute();
|
||||
const data = reactive({
|
||||
info: {},
|
||||
punishThePerson: [],
|
||||
file: {},
|
||||
});
|
||||
|
||||
const fnGetData = async () => {
|
||||
const resData = await setOutsourcedGoEdit({
|
||||
OUTSOURCED_ID: route.query.outsourcedId,
|
||||
});
|
||||
data.info = resData.pd;
|
||||
data.punishThePerson = resData.punishThePerson;
|
||||
data.file = resData.file9;
|
||||
};
|
||||
fnGetData();
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss"></style>
|
|
@ -0,0 +1,172 @@
|
|||
<template>
|
||||
<el-dialog v-model="visible" :title="title" width="600" :on-close="fnClose">
|
||||
<el-form ref="formRef" :rules="rules" :model="form" label-width="110px">
|
||||
<el-form-item label="单位名称" prop="UNITS_ID">
|
||||
<el-select
|
||||
:disabled="type === 'view'"
|
||||
v-model="form.UNITS_ID"
|
||||
placeholder="请选择状态"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in data.unitsnameList"
|
||||
:key="item.UNITS_ID"
|
||||
:label="item.UNITS_NAME"
|
||||
:value="item.UNITS_ID"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="作业类别">
|
||||
<el-select
|
||||
:disabled="type === 'view'"
|
||||
v-model="form.JOB_TYPE"
|
||||
placeholder="请选择状态"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in jobtypeList"
|
||||
:key="item.DICTIONARIES_ID"
|
||||
:label="item.NAME"
|
||||
:value="item.DICTIONARIES_ID"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="操作项目">
|
||||
<el-input v-model="form.OPERATIONITEM" :disabled="type === 'view'" />
|
||||
</el-form-item>
|
||||
<el-form-item label="手机号码" prop="PHONENUM">
|
||||
<el-input v-model="form.PHONENUM" :disabled="type === 'view'" />
|
||||
</el-form-item>
|
||||
<el-form-item label="姓名" prop="NAME">
|
||||
<el-input v-model="form.NAME" :disabled="type === 'view'" />
|
||||
</el-form-item>
|
||||
<el-form-item label="性别">
|
||||
<el-select
|
||||
:disabled="type === 'view'"
|
||||
v-model="form.SEX"
|
||||
placeholder="请选择性别"
|
||||
>
|
||||
<el-option label="男" value="0" />
|
||||
<el-option label="女" value="1" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="作业证书编号">
|
||||
<el-input v-model="form.CERTIFICATE_NUM" :disabled="type === 'view'" />
|
||||
</el-form-item>
|
||||
<el-form-item label="复审时间">
|
||||
<el-input v-model="form.REVIEWTIME" :disabled="type === 'view'" />
|
||||
</el-form-item>
|
||||
<el-form-item label="身份证号码">
|
||||
<el-input v-model="form.IDENTITYCARD" :disabled="type === 'view'" />
|
||||
</el-form-item>
|
||||
<el-form-item label="发证机关">
|
||||
<el-input v-model="form.LICENSING" :disabled="type === 'view'" />
|
||||
</el-form-item>
|
||||
<el-form-item label="有效期">
|
||||
<el-date-picker
|
||||
:disabled="type === 'view'"
|
||||
v-model="form.VALID_TIME"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
value-format="YYYY-MM-DD"
|
||||
format="YYYY-MM-DD"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<el-button @click="fnClose">取 消</el-button>
|
||||
<el-button type="primary" @click="fnSubmit">确 定</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { useVModels } from "@vueuse/core";
|
||||
import { reactive, ref } from "vue";
|
||||
import { debounce } from "throttle-debounce";
|
||||
import useFormValidate from "@/assets/js/useFormValidate.js";
|
||||
import { ElMessage } from "element-plus";
|
||||
import { layoutFnGetPersonnelmanagementJobType } from "@/assets/js/data_dictionary";
|
||||
import {
|
||||
getUnitsListAll,
|
||||
setPersonnelmanagementAdd,
|
||||
setPersonnelmanagementEdit,
|
||||
} from "@/request/keyprojects";
|
||||
|
||||
const props = defineProps({
|
||||
visible: {
|
||||
type: Boolean,
|
||||
required: true,
|
||||
default: false,
|
||||
},
|
||||
form: {
|
||||
type: Object,
|
||||
required: true,
|
||||
default: () => ({}),
|
||||
},
|
||||
type: {
|
||||
type: String,
|
||||
required: true,
|
||||
default: () => "",
|
||||
},
|
||||
title: {
|
||||
type: String,
|
||||
required: true,
|
||||
default: () => "",
|
||||
},
|
||||
});
|
||||
const emits = defineEmits(["update:visible", "update:form", "get-data"]);
|
||||
const { visible, form } = useVModels(props, emits);
|
||||
|
||||
const rules = {
|
||||
UNITS_ID: [{ required: true, message: "请选择单位名称", trigger: "change" }],
|
||||
NAME: [{ required: true, message: "请输入姓名", trigger: "blur" }],
|
||||
PHONENUM: [
|
||||
{ required: true, message: "请输入手机号码", trigger: "blur" },
|
||||
{ min: 11, max: 11, message: "请输入11位手机号码", trigger: "blur" },
|
||||
{
|
||||
pattern:
|
||||
/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/,
|
||||
message: "请输入正确的手机号码",
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
const data = reactive({
|
||||
unitsnameList: [],
|
||||
});
|
||||
|
||||
const formRef = ref(null);
|
||||
|
||||
const fnClose = () => {
|
||||
formRef.value.resetFields();
|
||||
visible.value = false;
|
||||
};
|
||||
|
||||
const fnSubmit = debounce(
|
||||
1000,
|
||||
async () => {
|
||||
await useFormValidate(formRef);
|
||||
if (form.VALID_TIME && form.VALID_TIME.length !== 0) {
|
||||
form.VALID_STIME = form.VALID_TIME[0];
|
||||
form.VALID_ETIME = form.VALID_TIME[1];
|
||||
}
|
||||
props.type === "add"
|
||||
? await setPersonnelmanagementAdd(props.form)
|
||||
: await setPersonnelmanagementEdit(props.form);
|
||||
ElMessage.success("提交成功");
|
||||
fnClose();
|
||||
emits("get-data");
|
||||
},
|
||||
{ atBegin: true }
|
||||
);
|
||||
|
||||
const jobtypeList = await layoutFnGetPersonnelmanagementJobType();
|
||||
const fnUnitsListAll = async () => {
|
||||
const resData = await getUnitsListAll();
|
||||
data.unitsnameList = resData.varList;
|
||||
};
|
||||
fnUnitsListAll();
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss"></style>
|
|
@ -0,0 +1,216 @@
|
|||
<template>
|
||||
<div>
|
||||
<el-card>
|
||||
<el-form
|
||||
:model="searchForm"
|
||||
label-width="100px"
|
||||
@submit.prevent="fnResetPagination"
|
||||
>
|
||||
<el-row>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="关键字搜索" prop="KEYWORDS">
|
||||
<el-input v-model="searchForm.KEYWORDS" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="作业类别" prop="JOB_TYPE">
|
||||
<el-select
|
||||
v-model="searchForm.JOB_TYPE"
|
||||
clearable
|
||||
placeholder="请选择状态"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in jobtypeList"
|
||||
:key="item.DICTIONARIES_ID"
|
||||
:label="item.NAME"
|
||||
:value="item.DICTIONARIES_ID"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label-width="10px">
|
||||
<el-button type="primary" native-type="submit">搜索</el-button>
|
||||
<el-button native-type="reset" @click="fnResetPaginationTransfer">
|
||||
重置
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-card>
|
||||
<layout-card>
|
||||
<layout-table
|
||||
ref="tableRef"
|
||||
:data="list"
|
||||
@get-data="fnGetData"
|
||||
v-model:pagination="pagination"
|
||||
row-key="UNITS_ID"
|
||||
>
|
||||
<el-table-column reserve-selection type="selection" width="55" />
|
||||
<el-table-column label="序号" width="60">
|
||||
<template #default="{ $index }">
|
||||
{{ serialNumber(pagination, $index) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="CREATOR_CORP_NAME" label="添加单位" />
|
||||
<el-table-column prop="CREATOR_NAME" label="添加人" width="200" />
|
||||
<el-table-column prop="UNITS_NAME" label="单位名称" width="150" />
|
||||
<el-table-column prop="JOBTYPE" label="作业类别" width="100" />
|
||||
<el-table-column prop="OPERATIONITEM" label="操作项目" />
|
||||
<el-table-column prop="NAME" label="姓名" />
|
||||
<el-table-column prop="SEX" label="性别" />
|
||||
<el-table-column prop="CERTIFICATE_NUM" label="作业证书编号" />
|
||||
<el-table-column prop="REVIEWTIME" label="复审时间" />
|
||||
<el-table-column label="操作" align="center" width="240">
|
||||
<template v-slot="{ row }">
|
||||
<el-button
|
||||
type="primary"
|
||||
text
|
||||
link
|
||||
@click="resetPwd(row.PERSONNELMANAGEMENT_ID, row.NAME)"
|
||||
>
|
||||
重置密码
|
||||
</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
text
|
||||
link
|
||||
@click="fnView(row.PERSONNELMANAGEMENT_ID)"
|
||||
>
|
||||
查看
|
||||
</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
text
|
||||
link
|
||||
@click="fnEdit(row.PERSONNELMANAGEMENT_ID)"
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
text
|
||||
link
|
||||
@click="handleDelete(row.PERSONNELMANAGEMENT_ID)"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<template #button>
|
||||
<el-button type="primary" @click="fnAdd(row)"> 新增 </el-button>
|
||||
<el-button type="danger" @click="batchDel()"> 删除 </el-button>
|
||||
</template>
|
||||
</layout-table>
|
||||
</layout-card>
|
||||
<edit
|
||||
v-model:visible="data.editDialog.visible"
|
||||
v-model:form="data.editDialog.form"
|
||||
:type="data.editDialog.type"
|
||||
:title="data.editDialog.title"
|
||||
@get-data="fnResetPaginationTransfer"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { layoutFnGetPersonnelmanagementJobType } from "@/assets/js/data_dictionary";
|
||||
import useListData from "@/assets/js/useListData";
|
||||
import { serialNumber } from "@/assets/js/utils";
|
||||
import {
|
||||
getPersonnelmanagementList,
|
||||
setPersonnelmanagementResetPwd,
|
||||
setPersonnelmanagementGoEdit,
|
||||
setPersonnelmanagementDelete,
|
||||
setPersonnelmanagementDeleteAll,
|
||||
} from "@/request/keyprojects.js";
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
import { reactive } from "vue";
|
||||
import Edit from "./components/edit.vue";
|
||||
|
||||
const { list, pagination, searchForm, fnGetData, fnResetPagination, tableRef } =
|
||||
useListData(getPersonnelmanagementList);
|
||||
const jobtypeList = await layoutFnGetPersonnelmanagementJobType();
|
||||
const data = reactive({
|
||||
type: "",
|
||||
title: "",
|
||||
editDialog: {
|
||||
visible: false,
|
||||
form: {},
|
||||
},
|
||||
});
|
||||
|
||||
const resetPwd = async (PERSONNELMANAGEMENT_ID, NAME) => {
|
||||
await ElMessageBox.confirm(
|
||||
"是否将[" + NAME + "]的密码重置为 Aa@123456789 吗?",
|
||||
{
|
||||
type: "warning",
|
||||
}
|
||||
);
|
||||
await setPersonnelmanagementResetPwd({ PERSONNELMANAGEMENT_ID });
|
||||
ElMessage.success("重置成功");
|
||||
};
|
||||
|
||||
const handleDelete = async (PERSONNELMANAGEMENT_ID) => {
|
||||
await ElMessageBox.confirm("确定要删除吗?", {
|
||||
type: "warning",
|
||||
});
|
||||
await setPersonnelmanagementDelete({ PERSONNELMANAGEMENT_ID });
|
||||
fnGetData();
|
||||
};
|
||||
|
||||
const batchDel = async () => {
|
||||
const selectionData = tableRef.value.getSelectionRows();
|
||||
if (selectionData.length === 0) {
|
||||
ElMessage.warning("请选中要删除的项");
|
||||
return;
|
||||
}
|
||||
await ElMessageBox.confirm("确定要删除吗?", {
|
||||
type: "warning",
|
||||
});
|
||||
const ids = selectionData
|
||||
.map((item) => {
|
||||
return item.PERSONNELMANAGEMENT_ID;
|
||||
})
|
||||
.join(",");
|
||||
await setPersonnelmanagementDeleteAll({ DATA_IDS: ids });
|
||||
fnGetData();
|
||||
};
|
||||
|
||||
const fnGoEdit = async (id) => {
|
||||
const resData = await setPersonnelmanagementGoEdit({
|
||||
PERSONNELMANAGEMENT_ID: id,
|
||||
});
|
||||
data.editDialog.form = resData.pd;
|
||||
};
|
||||
|
||||
const fnResetPaginationTransfer = () => {
|
||||
fnGetData(searchForm);
|
||||
};
|
||||
|
||||
const fnAdd = () => {
|
||||
data.editDialog.form = {};
|
||||
data.editDialog.visible = true;
|
||||
data.editDialog.type = "add";
|
||||
data.editDialog.title = "新增";
|
||||
};
|
||||
|
||||
const fnEdit = async (id) => {
|
||||
data.editDialog.form = {};
|
||||
data.editDialog.visible = true;
|
||||
data.editDialog.type = "edit";
|
||||
data.editDialog.title = "编辑";
|
||||
fnGoEdit(id);
|
||||
};
|
||||
|
||||
const fnView = async (id) => {
|
||||
data.editDialog.form = {};
|
||||
data.editDialog.visible = true;
|
||||
data.editDialog.type = "view";
|
||||
data.editDialog.title = "查看";
|
||||
fnGoEdit(id);
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped></style>
|
|
@ -0,0 +1,92 @@
|
|||
<template>
|
||||
<div>
|
||||
<el-card>
|
||||
<el-form
|
||||
:model="searchForm"
|
||||
label-width="100px"
|
||||
@submit.prevent="fnResetPagination"
|
||||
>
|
||||
<el-row>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="关键字搜索" prop="KEYWORDS">
|
||||
<el-input v-model="searchForm.KEYWORDS" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label-width="10px">
|
||||
<el-button type="primary" native-type="submit">搜索</el-button>
|
||||
<el-button native-type="reset" @click="fnResetPaginationTransfer">
|
||||
重置
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-card>
|
||||
<layout-card>
|
||||
<layout-table
|
||||
ref="tableRef"
|
||||
:data="list"
|
||||
@get-data="fnGetData"
|
||||
v-model:pagination="pagination"
|
||||
row-key="UNITS_ID"
|
||||
>
|
||||
<el-table-column reserve-selection type="selection" width="55" />
|
||||
<el-table-column label="序号" width="60">
|
||||
<template #default="{ $index }">
|
||||
{{ serialNumber(pagination, $index) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="OUTSOURCED_NAME" label="重点工程名称" />
|
||||
<el-table-column prop="DEPARTMENT_NAME" label="监管部门" width="200" />
|
||||
<el-table-column
|
||||
prop="MANAGE_CORPS_NAME"
|
||||
label="监理单位"
|
||||
width="200"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="UNITS_PIC_NAME"
|
||||
label="相关方单位负责人"
|
||||
width="200"
|
||||
/>
|
||||
<el-table-column prop="UNITS_PHONE" label="电话" />
|
||||
<el-table-column prop="CHECK_COUNT" label="安全环保检查次数" />
|
||||
<el-table-column label="操作" align="center" width="120">
|
||||
<template v-slot="{ row }">
|
||||
<el-button
|
||||
type="primary"
|
||||
text
|
||||
link
|
||||
@click="
|
||||
router.push({
|
||||
path: '/keyprojects/punish/record_list',
|
||||
query: {
|
||||
OUTSOURCED_ID: row.OUTSOURCED_ID,
|
||||
},
|
||||
})
|
||||
"
|
||||
>
|
||||
查看
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</layout-table>
|
||||
</layout-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import useListData from "@/assets/js/useListData";
|
||||
import { serialNumber } from "@/assets/js/utils";
|
||||
import { getOutsourcedList } from "@/request/keyprojects.js";
|
||||
import router from "@/router";
|
||||
|
||||
const { list, pagination, searchForm, fnGetData, fnResetPagination, tableRef } =
|
||||
useListData(getOutsourcedList);
|
||||
|
||||
const fnResetPaginationTransfer = () => {
|
||||
fnGetData(searchForm);
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped></style>
|
|
@ -0,0 +1,106 @@
|
|||
<template>
|
||||
<div>
|
||||
<el-card>
|
||||
<el-form
|
||||
:model="searchForm"
|
||||
label-width="100px"
|
||||
@submit.prevent="fnResetPagination"
|
||||
>
|
||||
<el-row>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="关键字搜索" prop="KEYWORDS">
|
||||
<el-input v-model="searchForm.KEYWORDS" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="处罚状态">
|
||||
<el-select v-model="searchForm.HANDLED">
|
||||
<el-option label="待反馈处罚" value="1" />
|
||||
<el-option label="已完成处罚" value="2" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label-width="10px">
|
||||
<el-button type="primary" native-type="submit">搜索</el-button>
|
||||
<el-button native-type="reset" @click="fnResetPaginationTransfer">
|
||||
重置
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-card>
|
||||
<layout-card>
|
||||
<layout-table
|
||||
ref="tableRef"
|
||||
:data="list"
|
||||
@get-data="fnGetData"
|
||||
v-model:pagination="pagination"
|
||||
row-key="UNITS_ID"
|
||||
>
|
||||
<el-table-column reserve-selection type="selection" width="55" />
|
||||
<el-table-column label="序号" width="60">
|
||||
<template #default="{ $index }">
|
||||
{{ serialNumber(pagination, $index) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="OUTSOURCED_NAME" label="重点工程名称" />
|
||||
<el-table-column prop="REASON" label="处罚原因" width="200" />
|
||||
<el-table-column prop="CREATOR_NAME" label="下发人" width="150" />
|
||||
<el-table-column
|
||||
prop="OUTSOURCED_NAME"
|
||||
label="被处罚单位"
|
||||
width="100"
|
||||
/>
|
||||
<el-table-column prop="PERSON_NAME" label="被处罚人" />
|
||||
<el-table-column label="处罚处理状态">
|
||||
<template v-slot="{ row }">
|
||||
{{ row.HANDLED === "0" ? "待处理" : "已处理" }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="120">
|
||||
<template v-slot="{ row }">
|
||||
<el-button
|
||||
type="primary"
|
||||
text
|
||||
link
|
||||
@click="
|
||||
router.push({
|
||||
path: '/keyprojects/inspection/record_view',
|
||||
query: {
|
||||
KEYPROJECTPUNISH_ID: row.KEYPROJECTPUNISH_ID,
|
||||
},
|
||||
})
|
||||
"
|
||||
>
|
||||
查看
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</layout-table>
|
||||
</layout-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import useListData from "@/assets/js/useListData";
|
||||
import { serialNumber } from "@/assets/js/utils";
|
||||
import { getKeyprojectpunishList } from "@/request/keyprojects.js";
|
||||
import router from "@/router";
|
||||
import { useRoute } from "vue-router";
|
||||
|
||||
const route = useRoute();
|
||||
|
||||
const { OUTSOURCED_ID } = route.query;
|
||||
const { list, pagination, searchForm, fnGetData, fnResetPagination, tableRef } =
|
||||
useListData(getKeyprojectpunishList, {
|
||||
otherParams: { OUTSOURCED_ID },
|
||||
});
|
||||
|
||||
const fnResetPaginationTransfer = () => {
|
||||
fnGetData(searchForm);
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped></style>
|
|
@ -0,0 +1,59 @@
|
|||
<template>
|
||||
<div>
|
||||
<layout-card>
|
||||
<div id="printContent">
|
||||
<el-divider content-position="left">检查信息</el-divider>
|
||||
<el-descriptions border>
|
||||
<el-descriptions-item label="处罚原因 ">
|
||||
{{ data.info.REASON }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="处罚金额">
|
||||
{{ data.info.AMOUT }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="被处罚单位 ">
|
||||
{{ data.info.OUTSOURCED_NAME }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="被处罚人">
|
||||
{{ data.info.PERSON_NAME }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="下发人 ">
|
||||
{{ data.info.CREATOR_NAME }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="下发处罚时间">
|
||||
{{ data.info.DATE }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="罚款缴纳单 ">
|
||||
{{ data.info.INSPECTION_TIME_START }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="处罚处理人">
|
||||
{{ data.info.PERSON_NAME }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="处罚处理时间">
|
||||
{{ data.info.HANLDE_TIME }}
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</div>
|
||||
</layout-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { getKeyprojectpunishGoEdit } from "@/request/keyprojects";
|
||||
import { reactive } from "vue";
|
||||
import { useRoute } from "vue-router";
|
||||
|
||||
const route = useRoute();
|
||||
const data = reactive({
|
||||
info: {},
|
||||
});
|
||||
|
||||
const fnGetData = async () => {
|
||||
const resData = await getKeyprojectpunishGoEdit({
|
||||
KEYPROJECTPUNISH_ID: route.query.KEYPROJECTPUNISH_ID,
|
||||
});
|
||||
data.info = resData.pd;
|
||||
};
|
||||
fnGetData();
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss"></style>
|
|
@ -0,0 +1,107 @@
|
|||
<template>
|
||||
<layout-card>
|
||||
<el-form
|
||||
ref="formRef"
|
||||
:model="data.form"
|
||||
:rules="rules"
|
||||
label-width="150px"
|
||||
>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="相关方单位名称" prop="UNITS_NAME">
|
||||
<el-input v-model="data.form.UNITS_NAME" placeholder="请输入内容" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="统一社会信用代码" prop="CODE">
|
||||
<el-input v-model="data.form.CODE" placeholder="请输入内容" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="联系人" prop="CONTACTS">
|
||||
<el-input v-model="data.form.CONTACTS" placeholder="请输入内容" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="联系人电话" prop="CONTACTS_PHONE">
|
||||
<el-input
|
||||
v-model="data.form.CONTACTS_PHONE"
|
||||
placeholder="请输入内容"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<div class="tc mt-10">
|
||||
<el-button type="primary" @click="fnSubmit"> 确定 </el-button>
|
||||
</div>
|
||||
</layout-card>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import useFormValidate from "@/assets/js/useFormValidate";
|
||||
import {
|
||||
setUnitsAdd,
|
||||
setUnitsEdit,
|
||||
setUnitsGoEdit,
|
||||
} from "@/request/keyprojects";
|
||||
import { ElMessage } from "element-plus";
|
||||
import { debounce } from "throttle-debounce";
|
||||
import { reactive, ref } from "vue";
|
||||
import { useRoute, useRouter } from "vue-router";
|
||||
|
||||
const router = useRouter();
|
||||
const route = useRoute();
|
||||
const formRef = ref(null);
|
||||
const rules = {
|
||||
UNITS_NAME: [
|
||||
{ required: true, message: "请输入相关方单位名称", trigger: "blur" },
|
||||
],
|
||||
CODE: [
|
||||
{ required: true, message: "请输入统一社会信用代码", trigger: "blur" },
|
||||
{
|
||||
pattern: /^[^_IOZSVa-z\W]{2}\d{6}[^_IOZSVa-z\W]{10}$/,
|
||||
message: "请输入正确的统一社会信用代码",
|
||||
},
|
||||
],
|
||||
CONTACTS: [{ required: true, message: "请输入联系人", trigger: "blur" }],
|
||||
CONTACTS_PHONE: [
|
||||
{ required: true, message: "请输入联系人电话", trigger: "blur" },
|
||||
{ min: 11, max: 11, message: "请输入11位手机号码", trigger: "blur" },
|
||||
{
|
||||
pattern:
|
||||
/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/,
|
||||
message: "请输入正确的手机号码",
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
const data = reactive({
|
||||
form: [],
|
||||
});
|
||||
|
||||
const fnGoEdit = async () => {
|
||||
const resData = await setUnitsGoEdit({ UNITS_ID: route.query.UNITS_ID });
|
||||
data.form = resData.pd;
|
||||
};
|
||||
if (route.query.type === "edit") fnGoEdit();
|
||||
|
||||
const fnSubmit = debounce(
|
||||
1000,
|
||||
async () => {
|
||||
await useFormValidate(formRef);
|
||||
const formData = new FormData();
|
||||
Object.keys(data.form).forEach((key) => {
|
||||
formData.append(key, data.form[key]);
|
||||
});
|
||||
route.query.type === "edit"
|
||||
? await setUnitsEdit(formData)
|
||||
: await setUnitsAdd(formData);
|
||||
ElMessage.success("保存成功");
|
||||
router.back();
|
||||
},
|
||||
{ atBegin: true }
|
||||
);
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss"></style>
|
|
@ -0,0 +1,179 @@
|
|||
<template>
|
||||
<div>
|
||||
<el-card>
|
||||
<el-form
|
||||
:model="searchForm"
|
||||
label-width="100px"
|
||||
@submit.prevent="fnResetPagination"
|
||||
>
|
||||
<el-row>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="关键字搜索" prop="KEYWORDS">
|
||||
<el-input v-model="searchForm.KEYWORDS" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label-width="10px">
|
||||
<el-button type="primary" native-type="submit">搜索</el-button>
|
||||
<el-button native-type="reset" @click="fnResetPaginationTransfer">
|
||||
重置
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-card>
|
||||
<layout-card>
|
||||
<layout-table
|
||||
ref="tableRef"
|
||||
:data="list"
|
||||
@get-data="fnGetData"
|
||||
v-model:pagination="pagination"
|
||||
row-key="UNITS_ID"
|
||||
>
|
||||
<el-table-column reserve-selection type="selection" width="55" />
|
||||
<el-table-column label="序号" width="60">
|
||||
<template #default="{ $index }">
|
||||
{{ serialNumber(pagination, $index) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="UNITS_NAME"
|
||||
label="相关方单位名称"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column prop="CODE" label="统一社会信用代码" width="200" />
|
||||
<el-table-column
|
||||
prop="CONTACTS"
|
||||
label="联系人"
|
||||
width="150"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column prop="CONTACTS_PHONE" label="联系人电话" width="100" />
|
||||
<el-table-column
|
||||
prop="CORP_NAME"
|
||||
label="创建单位"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column
|
||||
prop="CREATOR_NAME"
|
||||
label="创建人"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column label="操作" align="center" width="140">
|
||||
<template v-slot="{ row }">
|
||||
<el-button
|
||||
type="primary"
|
||||
text
|
||||
link
|
||||
@click="
|
||||
router.push({
|
||||
path: '/keyprojects/units/add',
|
||||
query: {
|
||||
type: 'edit',
|
||||
UNITS_ID: row.UNITS_ID,
|
||||
},
|
||||
})
|
||||
"
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
text
|
||||
link
|
||||
@click="isTrueDelete(row.UNITS_ID)"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<template #button>
|
||||
<el-button
|
||||
type="primary"
|
||||
@click="
|
||||
router.push({
|
||||
path: '/keyprojects/units/add',
|
||||
query: {
|
||||
type: 'add',
|
||||
},
|
||||
})
|
||||
"
|
||||
>
|
||||
新增
|
||||
</el-button>
|
||||
<el-button type="danger" @click="isTrueDeleteAll">
|
||||
批量删除
|
||||
</el-button>
|
||||
</template>
|
||||
</layout-table>
|
||||
</layout-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import useListData from "@/assets/js/useListData";
|
||||
import { serialNumber } from "@/assets/js/utils";
|
||||
import {
|
||||
getUnitsList,
|
||||
setIsTrueDelete,
|
||||
setIsTrueDeleteAll,
|
||||
setUnitsDelete,
|
||||
setUnitsDeleteAll,
|
||||
} from "@/request/keyprojects.js";
|
||||
import router from "@/router";
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
|
||||
const { list, pagination, searchForm, fnGetData, fnResetPagination, tableRef } =
|
||||
useListData(getUnitsList);
|
||||
|
||||
const fnResetPaginationTransfer = () => {
|
||||
fnGetData(searchForm);
|
||||
};
|
||||
|
||||
const isTrueDelete = async (UNITS_ID) => {
|
||||
const resData = await setIsTrueDelete({ UNITS_ID });
|
||||
if (resData.result === "success" && resData.number === 0) {
|
||||
handleDelete(UNITS_ID);
|
||||
} else {
|
||||
ElMessage.info("相关方下还有人员不能进行删除");
|
||||
}
|
||||
};
|
||||
|
||||
const isTrueDeleteAll = async () => {
|
||||
const selectionData = tableRef.value.getSelectionRows();
|
||||
if (selectionData.length === 0) {
|
||||
ElMessage.warning("请选中要删除的项");
|
||||
return;
|
||||
}
|
||||
const ids = selectionData
|
||||
.map((item) => {
|
||||
return item.UNITS_ID;
|
||||
})
|
||||
.join(",");
|
||||
const resData = await setIsTrueDeleteAll({ UNITS_ID: ids });
|
||||
if (resData.result === "success" && resData.number === 0) {
|
||||
batchDel(ids);
|
||||
} else {
|
||||
ElMessage.warning("相关方下还有人员不能进行删除");
|
||||
}
|
||||
};
|
||||
|
||||
const batchDel = async (ids) => {
|
||||
await ElMessageBox.confirm("确定要删除吗?", {
|
||||
type: "warning",
|
||||
});
|
||||
await setUnitsDeleteAll({ DATA_IDS: ids });
|
||||
fnGetData();
|
||||
};
|
||||
|
||||
const handleDelete = async (UNITS_ID) => {
|
||||
await ElMessageBox.confirm("确定要删除吗?", {
|
||||
type: "warning",
|
||||
});
|
||||
await setUnitsDelete({ UNITS_ID });
|
||||
fnGetData();
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped></style>
|
|
@ -0,0 +1,106 @@
|
|||
<template>
|
||||
<div>
|
||||
<el-card>
|
||||
<el-form
|
||||
:model="searchForm"
|
||||
label-width="100px"
|
||||
@submit.prevent="fnResetPagination"
|
||||
>
|
||||
<el-row>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="关键字搜索" prop="KEYWORDS">
|
||||
<el-input v-model="searchForm.KEYWORDS" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label-width="10px">
|
||||
<el-button type="primary" native-type="submit">搜索</el-button>
|
||||
<el-button native-type="reset" @click="fnResetPaginationTransfer">
|
||||
重置
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-card>
|
||||
<layout-card>
|
||||
<layout-table
|
||||
ref="tableRef"
|
||||
:data="list"
|
||||
@get-data="fnGetData"
|
||||
v-model:pagination="pagination"
|
||||
row-key="UNITS_ID"
|
||||
>
|
||||
<el-table-column reserve-selection type="selection" width="55" />
|
||||
<el-table-column label="序号" width="60">
|
||||
<template #default="{ $index }">
|
||||
{{ serialNumber(pagination, $index) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="CREATOR_CORP_NAME" label="添加单位" />
|
||||
<el-table-column prop="CREATOR_NAME" label="添加人" width="200" />
|
||||
<el-table-column prop="UNITS_NAME" label="单位名称" width="150" />
|
||||
<el-table-column prop="JOBTYPE" label="作业类别" width="100" />
|
||||
<el-table-column prop="OPERATIONITEM" label="操作项目" />
|
||||
<el-table-column prop="NAME" label="姓名" />
|
||||
<el-table-column prop="SEX" label="性别" />
|
||||
<el-table-column prop="CERTIFICATE_NUM" label="作业证书编号" />
|
||||
<el-table-column prop="REVIEWTIME" label="复审时间" />
|
||||
<el-table-column label="操作" align="center" width="120">
|
||||
<template v-slot="{ row }">
|
||||
<el-button
|
||||
type="primary"
|
||||
text
|
||||
link
|
||||
@click="fnView(row.PERSONNELMANAGEMENT_ID)"
|
||||
>
|
||||
查看
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</layout-table>
|
||||
</layout-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import useListData from "@/assets/js/useListData";
|
||||
import { serialNumber } from "@/assets/js/utils";
|
||||
import {
|
||||
getPersonnelmanagementList,
|
||||
setPersonnelmanagementGoEdit,
|
||||
} from "@/request/keyprojects.js";
|
||||
import { reactive } from "vue";
|
||||
|
||||
const { list, pagination, searchForm, fnGetData, fnResetPagination, tableRef } =
|
||||
useListData(getPersonnelmanagementList);
|
||||
const data = reactive({
|
||||
type: "",
|
||||
title: "",
|
||||
editDialog: {
|
||||
visible: false,
|
||||
form: {},
|
||||
},
|
||||
});
|
||||
|
||||
const fnGoEdit = async (id) => {
|
||||
const resData = await setPersonnelmanagementGoEdit({
|
||||
PERSONNELMANAGEMENT_ID: id,
|
||||
});
|
||||
data.editDialog.form = resData.pd;
|
||||
};
|
||||
|
||||
const fnResetPaginationTransfer = () => {
|
||||
fnGetData(searchForm);
|
||||
};
|
||||
|
||||
const fnView = async (id) => {
|
||||
data.editDialog.form = {};
|
||||
data.editDialog.visible = true;
|
||||
data.editDialog.type = "view";
|
||||
data.editDialog.title = "查看";
|
||||
fnGoEdit(id);
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped></style>
|
Loading…
Reference in New Issue