完善材料模块页面

This commit is contained in:
lcj
2025-03-11 16:11:07 +08:00
parent 6508d18826
commit 990c848a6c
13 changed files with 466 additions and 275 deletions

View File

@ -7,14 +7,14 @@
<el-form-item label="人员姓名" prop="userName">
<el-input v-model="queryParams.userName" placeholder="请输入人员姓名" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="分包公司id" prop="contractorId">
<el-input v-model="queryParams.contractorId" placeholder="请输入分包公司id" clearable @keyup.enter="handleQuery" />
<el-form-item label="分包公司" prop="contractorId">
<el-input v-model="queryParams.contractorId" placeholder="请输入分包公司" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="工种(字典type_of_work)" prop="typeOfWork">
<el-input v-model="queryParams.typeOfWork" placeholder="请输入工种(字典type_of_work)" clearable @keyup.enter="handleQuery" />
<el-form-item label="工种" prop="typeOfWork">
<el-input v-model="queryParams.typeOfWork" placeholder="请输入工种" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="打卡(0启用打卡 1禁止打卡)" prop="clock">
<el-input v-model="queryParams.clock" placeholder="请输入打卡(0启用打卡 1禁止打卡)" clearable @keyup.enter="handleQuery" />
<el-form-item label="打卡" prop="clock">
<el-input v-model="queryParams.clock" placeholder="请输入打卡" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
@ -32,13 +32,20 @@
<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="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['project:constructionUser:edit']"
>修改
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['project:constructionUser:edit']">
修改
</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['project:constructionUser:remove']"
>删除
<el-button
type="danger"
plain
icon="Delete"
:disabled="multiple"
@click="handleDelete()"
v-hasPermi="['project:constructionUser:remove']"
>
删除
</el-button>
</el-col>
<el-col :span="1.5">
@ -52,19 +59,31 @@
<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="userName" />
<el-table-column label="分包公司id" align="center" prop="contractorId" />
<el-table-column label="分包公司" align="center">
<template #default="scope">
<div>{{ scope.row.ContractorVO.name }}</div>
</template>
</el-table-column>
<el-table-column label="班组id" align="center" prop="teamId" />
<el-table-column label="状态" align="center" prop="status" />
<el-table-column label="联系电话" align="center" prop="phone" />
<el-table-column label="0:保密 1:男 2女" align="center" prop="sex" />
<el-table-column label="性别" align="center" prop="sex">
<template #default="scope">
<dict-tag :options="user_sex_type" :value="scope.row.sex" />
</template>
</el-table-column>
<el-table-column label="民族" align="center" prop="nation" />
<el-table-column label="身份证号码" align="center" prop="sfzNumber" />
<el-table-column label="工种(字典type_of_work)" align="center" prop="typeOfWork">
<el-table-column label="工种" align="center" prop="typeOfWork">
<template #default="scope">
<dict-tag :options="type_of_work" :value="scope.row.typeOfWork" />
</template>
</el-table-column>
<el-table-column label="打卡(0启用打卡 1禁止打卡)" align="center" prop="clock" />
<el-table-column label="打卡状态" align="center" prop="clock">
<template #default="scope">
<dict-tag :options="user_clock_type" :value="scope.row.clock" />
</template>
</el-table-column>
<el-table-column label="入场时间" align="center" prop="entryDate" />
<el-table-column label="离场时间" align="center" prop="leaveDate" />
<el-table-column label="薪水" align="center" prop="salary" />
@ -91,7 +110,7 @@
</el-card>
<!-- 添加或修改施工人员对话框 -->
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
<el-form ref="constructionUserFormRef" :model="form" :rules="rules" label-width="80px">
<el-form ref="constructionUserFormRef" :model="form" :rules="rules" label-width="100px">
<el-form-item label="微信id" prop="openid">
<el-input v-model="form.openid" placeholder="请输入微信id" />
</el-form-item>
@ -191,6 +210,7 @@ import { ConstructionUserForm, ConstructionUserQuery, ConstructionUserVO } from
import { useUserStoreHook } from '@/store/modules/user';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { type_of_work, user_sex_type, user_clock_type } = toRefs<any>(proxy?.useDict('type_of_work', 'user_sex_type', 'user_clock_type'));
// 获取用户 store
const userStore = useUserStoreHook();

View File

@ -7,7 +7,7 @@
<el-form-item label="公司名称" prop="name">
<el-input v-model="queryParams.name" placeholder="请输入公司名称" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="负责人" prop="principal">
<!--<el-form-item label="负责人" prop="principal">
<el-input v-model="queryParams.principal" placeholder="请输入负责人" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="负责人联系电话" prop="principalPhone">
@ -18,7 +18,7 @@
</el-form-item>
<el-form-item label="管理人联系电话" prop="custodianPhone">
<el-input v-model="queryParams.custodianPhone" placeholder="请输入管理人联系电话" clearable @keyup.enter="handleQuery" />
</el-form-item>
</el-form-item>-->
<el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
<el-button icon="Refresh" @click="resetQuery">重置</el-button>

View File

@ -10,51 +10,6 @@
<el-form-item label="项目简称" prop="shortName">
<el-input v-model="queryParams.shortName" placeholder="请输入项目简称" clearable @keyup.enter="handleQuery" />
</el-form-item>
<!-- <el-form-item label="父项目id" prop="pId">
<el-input v-model="queryParams.pId" placeholder="请输入父项目id" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="项目图片" prop="picUrl">
<el-input v-model="queryParams.picUrl" placeholder="请输入项目图片" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="删除时间" prop="deletedAt">
<el-date-picker clearable v-model="queryParams.deletedAt" type="date" value-format="YYYY-MM-DD" placeholder="请选择删除时间" />
</el-form-item>
<el-form-item label="项目地址" prop="projectSite">
<el-input v-model="queryParams.projectSite" placeholder="请输入项目地址" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="负责人" prop="principal">
<el-input v-model="queryParams.principal" placeholder="请输入负责人" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="负责人电话" prop="principalPhone">
<el-input v-model="queryParams.principalPhone" placeholder="请输入负责人电话" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="实际容量" prop="actual">
<el-input v-model="queryParams.actual" placeholder="请输入实际容量" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="计划容量" prop="plan">
<el-input v-model="queryParams.plan" placeholder="请输入计划容量" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="开工时间" prop="onStreamTime">
<el-input v-model="queryParams.onStreamTime" placeholder="请输入开工时间" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="打卡范围" prop="punchRange">
<el-input v-model="queryParams.punchRange" placeholder="请输入打卡范围" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="设计总量" prop="designTotal">
<el-input v-model="queryParams.designTotal" placeholder="请输入设计总量" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="安全协议书" prop="securityAgreement">
<el-input v-model="queryParams.securityAgreement" placeholder="请输入安全协议书" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="排序字段" prop="sort">
<el-input v-model="queryParams.sort" placeholder="请输入排序字段" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="显示隐藏" prop="showHidden">
<el-input v-model="queryParams.showHidden" placeholder="请输入显示隐藏" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="是否删除" prop="isDelete">
<el-input v-model="queryParams.isDelete" placeholder="请输入是否删除" clearable @keyup.enter="handleQuery" />
</el-form-item> -->
<el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
@ -93,16 +48,18 @@
<el-table-column label="项目名称" align="center" prop="projectName" />
<el-table-column label="项目简称" align="center" prop="shortName" />
<!-- <el-table-column label="父项目id" align="center" prop="pId" /> -->
<el-table-column label="状态" align="center" prop="status" />
<el-table-column label="项目图片" align="center" prop="picUrl" />
<el-table-column label="状态" align="center" prop="status">
<template #default="scope">
<dict-tag :options="sys_normal_disable" :value="scope.row.status" />
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="项目类型" align="center" prop="type" />
<!-- <el-table-column label="项目类" align="center" prop="isType" /> -->
<!-- <el-table-column label="删除时间" align="center" prop="deletedAt" width="180">
<el-table-column label="项目类" align="center" prop="isType">
<template #default="scope">
<span>{{ parseTime(scope.row.deletedAt, '{y}-{m}-{d}') }}</span>
<dict-tag :options="project_category_type" :value="scope.row.isType" />
</template>
</el-table-column> -->
</el-table-column>
<el-table-column label="项目地址" align="center" prop="projectSite" />
<el-table-column label="负责人" align="center" prop="principal" />
<el-table-column label="负责人电话" align="center" prop="principalPhone" />
@ -203,6 +160,7 @@ import { listProject, getProject, delProject, addProject, updateProject } from '
import { ProjectVO, ProjectQuery, ProjectForm } from '@/api/project/project/types';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { sys_normal_disable, project_category_type } = toRefs<any>(proxy?.useDict('sys_normal_disable', 'project_category_type'));
const projectList = ref<ProjectVO[]>([]);
const buttonLoading = ref(false);
@ -215,7 +173,6 @@ const total = ref(0);
const queryFormRef = ref<ElFormInstance>();
const projectFormRef = ref<ElFormInstance>();
const dialog = reactive<DialogOption>({
visible: false,
title: ''
@ -273,12 +230,10 @@ const data = reactive<PageData<ProjectForm, ProjectQuery>>({
params: {}
},
rules: {
id: [{ required: true, message: '不能为空', trigger: 'blur' }],
punchRange: [{ required: true, message: '打卡范围不能为空', trigger: 'blur' }],
designTotal: [{ required: true, message: '设计总量不能为空', trigger: 'blur' }],
sort: [{ required: true, message: '排序字段不能为空', trigger: 'blur' }],
showHidden: [{ required: true, message: '显示隐藏不能为空', trigger: 'blur' }],
isDelete: [{ required: true, message: '是否删除不能为空', trigger: 'blur' }]
projectName: [{ required: true, message: '项目名称不能为空', trigger: 'blur' }],
shortName: [{ required: true, message: '项目简称不能为空', trigger: 'blur' }],
projectSite: [{ required: true, message: '项目地址不能为空', trigger: 'blur' }]
}
});
@ -289,7 +244,7 @@ const getList = async () => {
loading.value = true;
const res = await listProject(queryParams.value);
projectList.value = res.data.records;
total.value = res.total;
total.value = res.data.total;
loading.value = false;
};
/** 取消按钮 */