部门管理新增分包单位选项

This commit is contained in:
Teo
2025-07-18 19:22:36 +08:00
parent d03efb8d6f
commit 5d76471571
17 changed files with 141 additions and 89 deletions

View File

@ -7,7 +7,7 @@
<el-form-item label="人员姓名" prop="userName">
<el-input v-model="queryParams.userName" placeholder="请输入人员姓名" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="分包公司" prop="contractorId">
<el-form-item label="分包公司" prop="contractorId" v-hasPermi="['contractor:contractor:list']">
<el-select v-model="queryParams.contractorId" clearable placeholder="全部">
<el-option v-for="item in contractorOpt" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
@ -42,7 +42,7 @@
<el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['project:constructionUser:add']">新增 </el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
@ -78,18 +78,20 @@
<el-button type="success" plain>员工资料 </el-button>
</el-col>
<el-col :span="1.5" v-show="informationStatus">
<el-button type="primary" plain icon="Edit" @click="downloadTemplate">下载资料模板 </el-button>
<el-button type="primary" plain icon="Edit" @click="downloadTemplate" v-hasPermi="['project:constructionUserFile:download']"
>下载资料模板
</el-button>
</el-col>
<el-col :span="1.5" v-show="informationStatus">
<file-upload
v-model="filePath"
isImportInfo
:isShowTip="false"
uploadUrl="/project/constructionUserFile/upload/zip"
uploadUrl="/contractor/constructionUserFile/upload/zip"
:limit="1"
:file-size="50"
>
<el-button type="warning" plain icon="Edit">导入员工资料 </el-button>
<el-button type="warning" plain icon="Edit" v-hasPermi="['project:constructionUserFile:upload']">导入员工资料 </el-button>
</file-upload>
</el-col>
</el-row>
@ -190,7 +192,7 @@
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
<!-- 添加或修改施工人员对话框 -->
<el-dialog draggable :title="dialog.title" v-model="dialog.visible" width="930px" append-to-body>
<el-dialog draggable :title="dialog.title" v-model="dialog.visible" width="930px" append-to-body>
<el-form ref="constructionUserFormRef" :model="form" :rules="rules" label-width="130px" :inline="true">
<div class="block_box">
<div class="msg">用户信息</div>
@ -602,7 +604,7 @@ const data = reactive({
nickName: undefined,
userName: undefined,
projectId: currentProject.value.id,
notUserRole:1,
notUserRole: 1,
contractorId: undefined,
teamId: undefined,
status: undefined,

View File

@ -25,20 +25,20 @@
<template #header>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['project:contractor:add']"> 新增 </el-button>
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['contractor:contractor:add']"> 新增 </el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['project:contractor:edit']"
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['contractor:contractor:edit']"
>修改
</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['project:contractor:remove']"
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['contractor:contractor:remove']"
>删除
</el-button>
</el-col>
<!-- <el-col :span="1.5">
<el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['project:contractor:export']">导出 </el-button>
<el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['contractor:contractor:export']">导出 </el-button>
</el-col> -->
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
@ -63,8 +63,10 @@
<template #default="scope">
<el-space wrap>
<el-button link type="primary" icon="View" @click="handleContractorFile(scope.row)">文件</el-button>
<el-button link type="success" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['project:contractor:edit']">修改 </el-button>
<el-button link type="danger" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['project:contractor:remove']">
<el-button link type="success" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['contractor:contractor:edit']"
>修改
</el-button>
<el-button link type="danger" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['contractor:contractor:remove']">
删除
</el-button>
</el-space>
@ -118,7 +120,7 @@ import { addContractor, delContractor, getContractor, listContractor, updateCont
import { ContractorForm, ContractorQuery, ContractorVO } from '@/api/project/contractor/types';
import ContractorFileDialog from '@/views/project/contractor/component/ContractorFileDialog.vue';
import { useUserStoreHook } from '@/store/modules/user';
import { listData } from '@/api/system/dict/data';
import { getDicts, listData } from '@/api/system/dict/data';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
@ -179,7 +181,7 @@ const data = reactive<PageData<ContractorForm, ContractorQuery>>({
const { queryParams, form, rules } = toRefs(data);
/** 查询字典数据列表 */
const getDictList = async () => {
const res = await listData('contractor_type');
const res = await getDicts('contractor_type');
dictList.value = res.data;
};
// 分包类型

View File

@ -45,16 +45,36 @@
<el-table v-loading="loading" :data="projectList" @selection-change="handleSelectionChange">
<el-table-column type="expand" width="50">
<template #default="{ row }">
<div class="w187.25 ml-12.5">
<div class="w212.25 ml-12.5">
<el-button class="mb" type="primary" size="small" @click="handleOpenSetChild(row.id)" icon="plus">添加子项目</el-button>
<el-table :data="row.children" border stripe>
<el-table-column label="序号" type="index" width="55" align="center" />
<el-table-column label="名称" align="center" prop="projectName" width="296" />
<el-table-column label="名称" align="center" prop="projectName" width="296">
<template #default="scope">
<el-link
:type="scope.row.designId ? 'primary' : 'default'"
:disabled="!scope.row.designId"
@click="handleOpenLayer(scope.row)"
v-loading.fullscreen.lock="fullscreenLoading"
>{{ scope.row.projectName }}</el-link
>
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" width="199" />
<el-table-column fixed="right" align="center" label="操作" class-name="small-padding fixed-width" width="199">
<el-table-column fixed="right" align="center" label="操作" class-name="small-padding fixed-width" width="299">
<template #default="scope">
<el-space>
<file-upload
:limit="1"
:fileSize="200"
:fileType="['dxf']"
v-model:model-value="dxfFile"
uploadUrl="/project/projectFile/upload/dxf"
:data="{ projectId: scope.row.id }"
>
<el-button link type="primary" icon="upload">上传DXF </el-button>
</file-upload>
<el-button
link
type="success"
@ -76,7 +96,7 @@
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="序号" type="index" width="60" align="center" />
<el-table-column label="项目名称" align="center" prop="projectName">
<template #default="scope">
<!-- <template #default="scope">
<el-link
:type="scope.row.designId ? 'primary' : 'default'"
:disabled="!scope.row.designId"
@ -84,7 +104,7 @@
v-loading.fullscreen.lock="fullscreenLoading"
>{{ scope.row.projectName }}</el-link
>
</template>
</template> -->
</el-table-column>
<el-table-column label="项目简称" align="center" prop="shortName" />
<el-table-column label="状态" align="center" prop="status">
@ -126,16 +146,6 @@
<template #default="scope">
<el-space>
<el-button link type="primary" icon="FolderOpened" @click="handleShowUpload(scope.row)">导入安全协议书 </el-button>
<file-upload
:limit="1"
:fileSize="200"
:fileType="['dxf']"
v-model:model-value="dxfFile"
uploadUrl="/project/projectFile/upload/dxf"
:data="{ projectId: scope.row.id }"
>
<el-button link type="primary" icon="upload">上传DXF </el-button>
</file-upload>
<el-button link type="success" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['project:project:edit']">修改 </el-button>
<el-button link type="danger" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['project:project:remove']">删除 </el-button>

View File

@ -77,7 +77,7 @@
<el-button type="success" plain>员工资料 </el-button>
</el-col>
<el-col :span="1.5" v-show="informationStatus">
<el-button type="primary" plain icon="Edit" @click="downloadTemplate">下载资料模板 </el-button>
<el-button type="primary" plain icon="Edit" @click="downloadTemplate"v-hasPermi="['project:constructionUserFile:download']">下载资料模板 </el-button>
</el-col>
<el-col :span="1.5" v-show="informationStatus">
<file-upload
@ -88,7 +88,7 @@
:limit="1"
:file-size="50"
>
<el-button type="warning" plain icon="Edit">导入员工资料 </el-button>
<el-button type="warning" plain icon="Edit"v-hasPermi="['project:constructionUserFile:upload']">导入员工资料 </el-button>
</file-upload>
</el-col>
</el-row>