修改禅道bug

This commit is contained in:
ljx
2025-09-02 19:00:50 +08:00
parent 8a3f338e27
commit 2ba08c79ed
17 changed files with 259 additions and 164 deletions

View File

@ -6,7 +6,7 @@ VITE_APP_ENV = 'development'
# 开发环境 # 开发环境
# 李陈杰 209 # 李陈杰 209
VITE_APP_BASE_API = 'http://192.168.110.188:8899' VITE_APP_BASE_API = 'http://192.168.110.209:8899'
# 曾涛 # 曾涛
# VITE_APP_BASE_API = 'http://192.168.110.180:8899' # VITE_APP_BASE_API = 'http://192.168.110.180:8899'
# 罗成 # 罗成

View File

@ -75,3 +75,11 @@ export const inventoryList = (id: any) => {
method: 'get' method: 'get'
}); });
}; };
//获取材料表信息
export const getMaterialInfo = (id: any) => {
return request({
url: '/materials/materials/listByFormCode/' + id,
method: 'get'
});
};

View File

@ -26,11 +26,11 @@
<el-tooltip effect="dark" placement="bottom"> <el-tooltip effect="dark" placement="bottom">
<ProjectSelector /> <ProjectSelector />
</el-tooltip> </el-tooltip>
<!-- <el-tooltip content="搜索" effect="dark" placement="bottom"> <el-tooltip content="搜索" effect="dark" placement="bottom">
<div class="right-menu-item hover-effect" @click="openSearchMenu"> <div class="right-menu-item hover-effect" @click="openSearchMenu">
<svg-icon class-name="search-icon" icon-class="search" /> <svg-icon class-name="search-icon" icon-class="search" />
</div> </div>
</el-tooltip> --> </el-tooltip>
<!-- 消息 --> <!-- 消息 -->
<el-tooltip :content="proxy.$t('navbar.message')" effect="dark" placement="bottom"> <el-tooltip :content="proxy.$t('navbar.message')" effect="dark" placement="bottom">
<div> <div>

View File

@ -5,7 +5,7 @@
<el-form :model="queryForm" :inline="true"> <el-form :model="queryForm" :inline="true">
<el-form-item label="版本号" prop="versions"> <el-form-item label="版本号" prop="versions">
<el-select v-model="queryForm.versions" placeholder="选择版本号" @change="changeVersions"> <el-select v-model="queryForm.versions" placeholder="选择版本号" @change="changeVersions">
<el-option v-for="item in options" :key="item.id" :label="item.versions" :value="item.id" /> <el-option v-for="item in options" :key="item.id" :label="item.versions" :value="item.versions" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="表名" prop="sheet"> <el-form-item label="表名" prop="sheet">

View File

@ -138,9 +138,14 @@
<el-table-column prop="useQuantity" label="剩余量" align="center"> <el-table-column prop="useQuantity" label="剩余量" align="center">
<template #default="scope"> <template #default="scope">
{{ {{
(scope.row.quantity ? Number(scope.row.quantity) : 0) - (scope.row.useQuantity ? Number(scope.row.useQuantity) : 0) == 0 (scope.row.quantity ? Number(scope.row.quantity) : 0) -
(scope.row.useQuantity ? Number(scope.row.useQuantity) : 0) -
(scope.row.selectNum ? Number(scope.row.selectNum) : 0) ==
0
? '' ? ''
: (scope.row.quantity ? Number(scope.row.quantity) : 0) - (scope.row.useQuantity ? Number(scope.row.useQuantity) : 0) : (scope.row.quantity ? Number(scope.row.quantity) : 0) -
(scope.row.selectNum ? Number(scope.row.selectNum) : 0) -
(scope.row.useQuantity ? Number(scope.row.useQuantity) : 0)
}} }}
</template> </template>
</el-table-column> </el-table-column>
@ -149,12 +154,16 @@
<el-table-column prop="price" label="总价" align="center"> <el-table-column prop="price" label="总价" align="center">
<template #default="scope"> <template #default="scope">
{{ {{
((scope.row.quantity ? Number(scope.row.quantity) : 0) - (scope.row.useQuantity ? Number(scope.row.useQuantity) : 0)) * ((scope.row.quantity ? Number(scope.row.quantity) : 0) -
(scope.row.useQuantity ? Number(scope.row.useQuantity) : 0) -
(scope.row.selectNum ? Number(scope.row.selectNum) : 0)) *
Number(scope.row.unitPrice) == Number(scope.row.unitPrice) ==
0 0
? '' ? ''
: ( : (
((scope.row.quantity ? Number(scope.row.quantity) : 0) - (scope.row.useQuantity ? Number(scope.row.useQuantity) : 0)) * ((scope.row.quantity ? Number(scope.row.quantity) : 0) -
(scope.row.useQuantity ? Number(scope.row.useQuantity) : 0) -
(scope.row.selectNum ? Number(scope.row.selectNum) : 0)) *
Number(scope.row.unitPrice) Number(scope.row.unitPrice)
).toFixed(2) ).toFixed(2)
}} }}

View File

@ -124,7 +124,7 @@ const loading = ref(false);
const options = ref<any[]>([]); const options = ref<any[]>([]);
const sheets = ref<any[]>([]); const sheets = ref<any[]>([]);
const tableData = ref<any[]>([]); const tableData = ref<any[]>([]);
const isExpandAll = ref(false); const isExpandAll = ref(true);
const reviewStatus = ref(''); const reviewStatus = ref('');
const versionObj: any = ref({}); const versionObj: any = ref({});
const versionMap = new Map(); const versionMap = new Map();

View File

@ -65,7 +65,7 @@
> >
<el-row :gutter="8" class="items-top"> <el-row :gutter="8" class="items-top">
<!-- 1. 专业选择核心统一所有角色的专业来源 --> <!-- 1. 专业选择核心统一所有角色的专业来源 -->
<el-col :span="3" class="mb-4 sm:mb-0 pl-4" style="margin-top:8px;"> <el-col :span="3" class="mb-4 sm:mb-0 pl-4" style="margin-top: 8px">
<el-form-item <el-form-item
:prop="`designers.${configIndex}.userMajor`" :prop="`designers.${configIndex}.userMajor`"
:rules="[ :rules="[
@ -76,7 +76,8 @@
label-width="60px" label-width="60px"
label="专业" label="专业"
> >
<el-select filterable <el-select
filterable
v-model="form.designers[configIndex].userMajor" v-model="form.designers[configIndex].userMajor"
placeholder="请选择专业" placeholder="请选择专业"
class="w-full transition-all duration-300 border-gray-300" class="w-full transition-all duration-300 border-gray-300"
@ -109,7 +110,8 @@
label="设计" label="设计"
label-width="50px" label-width="50px"
> >
<el-select filterable <el-select
filterable
v-model="person.userId" v-model="person.userId"
placeholder="选择人员" placeholder="选择人员"
class="w-full transition-all duration-300 border-gray-300" class="w-full transition-all duration-300 border-gray-300"
@ -165,7 +167,8 @@
label="校审" label="校审"
label-width="50px" label-width="50px"
> >
<el-select filterable <el-select
filterable
v-model="person.userId" v-model="person.userId"
placeholder="选择人员" placeholder="选择人员"
class="w-full transition-all duration-300 border-gray-300" class="w-full transition-all duration-300 border-gray-300"
@ -221,7 +224,8 @@
label="审定" label="审定"
label-width="50px" label-width="50px"
> >
<el-select filterable <el-select
filterable
v-model="person.userId" v-model="person.userId"
placeholder="选择人员" placeholder="选择人员"
class="w-full transition-all duration-300 border-gray-300" class="w-full transition-all duration-300 border-gray-300"
@ -277,7 +281,8 @@
label="审核" label="审核"
label-width="50px" label-width="50px"
> >
<el-select filterable <el-select
filterable
v-model="person.userId" v-model="person.userId"
placeholder="选择人员" placeholder="选择人员"
class="w-full transition-all duration-300 border-gray-300" class="w-full transition-all duration-300 border-gray-300"
@ -318,7 +323,7 @@
</el-col> </el-col>
<!-- 操作列 --> <!-- 操作列 -->
<el-col :span="2" class="text-right pr-4"> <el-col :span="2" class="pr-4 mt-2 text-right">
<el-button <el-button
type="text" type="text"
class="text-red-500 hover:text-red-700 transition-colors" class="text-red-500 hover:text-red-700 transition-colors"

View File

@ -81,7 +81,7 @@
<el-table v-loading="loading" :data="formalitiesAreConsolidatedList" @selection-change="handleSelectionChange" row-key="id" default-expand-all> <el-table v-loading="loading" :data="formalitiesAreConsolidatedList" @selection-change="handleSelectionChange" row-key="id" default-expand-all>
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<!-- <el-table-column label="手续办理清单模板父级" align="center" prop="formalitiesPname" /> --> <!-- <el-table-column label="手续办理清单模板父级" align="center" prop="formalitiesPname" /> -->
<el-table-column label="手续办理清单" align="center" prop="formalitiesName" /> <el-table-column label="手续办理清单" align="left" prop="formalitiesName" />
<el-table-column label="计划开始时间" align="center" prop="planTheStartTime" width="180"> <el-table-column label="计划开始时间" align="center" prop="planTheStartTime" width="180">
<template #default="scope"> <template #default="scope">
<span>{{ parseTime(scope.row.planTheStartTime, '{y}-{m}-{d}') }}</span> <span>{{ parseTime(scope.row.planTheStartTime, '{y}-{m}-{d}') }}</span>

View File

@ -1,13 +1,11 @@
<template> <template>
<div class="p-2"> <div class="p-2">
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" <transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
:leave-active-class="proxy?.animate.searchAnimate.leave">
<div v-show="showSearch" class="mb-[10px]"> <div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover"> <el-card shadow="hover">
<el-form ref="queryFormRef" :model="queryParams" :inline="true" label-width="auto"> <el-form ref="queryFormRef" :model="queryParams" :inline="true" label-width="auto">
<el-form-item label="材料名称" prop="materialsName"> <el-form-item label="材料名称" prop="materialsName">
<el-input v-model="queryParams.materialsName" placeholder="请输入材料名称" clearable <el-input v-model="queryParams.materialsName" placeholder="请输入材料名称" clearable @keyup.enter="handleQuery" />
@keyup.enter="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="材料提供商" prop="companyId"> <el-form-item label="材料提供商" prop="companyId">
<el-select v-model="queryParams.companyId" clearable placeholder="全部"> <el-select v-model="queryParams.companyId" clearable placeholder="全部">
@ -27,22 +25,20 @@
<template #header> <template #header>
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['materials:materials:add']"> 新增 <el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['materials:materials:add']"> 新增 </el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['materials:materials:edit']"
>修改
</el-button> </el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" <el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['materials:materials:remove']"
v-hasPermi="['materials:materials:edit']">修改 >删除
</el-button> </el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" <el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['materials:materials:export']">导出 </el-button>
v-hasPermi="['materials:materials:remove']">删除
</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="Download" @click="handleExport"
v-hasPermi="['materials:materials:export']">导出 </el-button>
</el-col> </el-col>
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
</el-row> </el-row>
@ -72,25 +68,28 @@
<el-table-column fixed="right" label="操作" align="center" class-name="small-padding fixed-width" width="320"> <el-table-column fixed="right" label="操作" align="center" class-name="small-padding fixed-width" width="320">
<template #default="scope"> <template #default="scope">
<el-space> <el-space>
<el-button link type="primary" icon="View" @click="handleShowDrawer(scope.row)" <el-button link type="primary" icon="View" @click="handleShowDrawer(scope.row)" v-hasPermi="['materials:materials:query']">
v-hasPermi="['materials:materials:query']">
详情 详情
</el-button> </el-button>
<el-button link type="success" icon="Edit" @click="handleUpdate(scope.row)" <el-button link type="success" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['materials:materials:edit']"> 修改 </el-button>
v-hasPermi="['materials:materials:edit']"> 修改 </el-button> <el-button link type="danger" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['materials:materials:remove']">
<el-button link type="danger" icon="Delete" @click="handleDelete(scope.row)"
v-hasPermi="['materials:materials:remove']">
删除 删除
</el-button> </el-button>
<el-button v-hasPermi="['materials:materialsInventory:edit']" link type="primary" icon="Plus" <el-button
@click="handleAddMaterialsInventory(scope.row)"> 出入库 </el-button> v-hasPermi="['materials:materialsInventory:edit']"
link
type="primary"
icon="Plus"
@click="handleAddMaterialsInventory(scope.row)"
>
出入库
</el-button>
</el-space> </el-space>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card> </el-card>
<!-- 添加或修改材料名称对话框 --> <!-- 添加或修改材料名称对话框 -->
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body> <el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
@ -121,12 +120,17 @@
<el-form-item label="材料文件" prop="fileOssIdMap"> <el-form-item label="材料文件" prop="fileOssIdMap">
<div :key="item.value" v-for="item in materials_file_type"> <div :key="item.value" v-for="item in materials_file_type">
<h3>{{ item.label }}</h3> <h3>{{ item.label }}</h3>
<file-upload v-model="ossIdMap[item.value]" :limit="1" :file-size="50" :file-type="['pdf']" <file-upload
v-model="ossIdMap[item.value]"
:limit="1"
:file-size="50"
:file-type="['pdf']"
@update:model-value=" @update:model-value="
(args) => { (args) => {
handleOssUpdate(args, item.value); handleOssUpdate(args, item.value);
} }
" /> "
/>
</div> </div>
</el-form-item> </el-form-item>
</el-form> </el-form>
@ -137,8 +141,7 @@
</div> </div>
</template> </template>
</el-dialog> </el-dialog>
<materials-inventory-add-dialog :materials-id="currentMaterialsId" :project-id="currentProject.id" ref="dialogRef" <materials-inventory-add-dialog :materials-id="currentMaterialsId" :project-id="currentProject.id" ref="dialogRef" @submit="getList" />
@submit="getList" />
<el-dialog title="材料详情" v-model="showDetailDrawer" width="700px"> <el-dialog title="材料详情" v-model="showDetailDrawer" width="700px">
<materials-detail-drawer :materials-id="currentMaterialsId" /> <materials-detail-drawer :materials-id="currentMaterialsId" />
</el-dialog> </el-dialog>

View File

@ -73,7 +73,10 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="表单编号" prop="formCode"> <el-form-item label="表单编号" prop="formCode">
<el-input v-model="form.formCode" placeholder="请输入表单编号" /> <!-- <el-input v-model="form.formCode" placeholder="请输入表单编号" /> -->
<el-select v-model="form.formCode" placeholder="请选择表单编号" @change="(value) => formCodeChange(value)">
<el-option v-for="item in options" :key="item.formCode" :label="item.formCode" :value="item.formCode" />
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@ -247,7 +250,8 @@ import {
addMaterialIssue, addMaterialIssue,
updateMaterialIssue, updateMaterialIssue,
inventoryList, inventoryList,
getMaterialName getMaterialName,
getMaterialInfo
} from '@/api/materials/materialIssue'; } from '@/api/materials/materialIssue';
import { MaterialIssueVO, MaterialIssueQuery, MaterialIssueForm } from '@/api/materials/materialIssue/types'; import { MaterialIssueVO, MaterialIssueQuery, MaterialIssueForm } from '@/api/materials/materialIssue/types';
@ -529,8 +533,27 @@ const handleAdd = () => {
dialog.title = '添加物料领料单'; dialog.title = '添加物料领料单';
// 新增时初始计算材料名称 // 新增时初始计算材料名称
computeMaterialName(); computeMaterialName();
getFormData();
}; };
const options = ref([]);
//新增获取表单数据
const getFormData = async () => {
const res = await getMaterialInfo(currentProject.value.id);
if (res.code == 200) {
options.value = res.data;
}
};
const formCodeChange = (value) => {
console.log(value);
const selected = options.value.find((opt) => opt.formCode === value);
if (selected) {
form.value.materialName = selected.materialName;
form.value.orderingUnit = selected.orderingUnit;
form.value.supplierUnit = selected.supplierUnit;
optionsName.value = selected.materials;
}
};
/** 修改按钮操作 */ /** 修改按钮操作 */
const handleUpdate = async (row?: MaterialIssueVO) => { const handleUpdate = async (row?: MaterialIssueVO) => {
reset(); reset();
@ -682,7 +705,7 @@ watch(
onMounted(() => { onMounted(() => {
getList(); getList();
getName(); // getName();
}); });
// 监听项目id刷新数据 // 监听项目id刷新数据
@ -692,7 +715,7 @@ const listeningProject = watch(
queryParams.value.projectId = nid; queryParams.value.projectId = nid;
form.value.projectId = nid; form.value.projectId = nid;
getList(); getList();
getName(); // getName();
} }
); );

View File

@ -30,6 +30,9 @@
>一键全部保存</el-button >一键全部保存</el-button
> >
</el-form-item> </el-form-item>
<el-form-item>
<el-button type="primary" @click="toggleExpandAll">{{ isExpandAll ? '一键收起' : '一键展开' }}</el-button>
</el-form-item>
</el-form> </el-form>
<right-toolbar @queryTable="getMasterDataList"></right-toolbar> <right-toolbar @queryTable="getMasterDataList"></right-toolbar>
</el-row> </el-row>
@ -38,6 +41,7 @@
<el-table <el-table
:data="state.tableData" :data="state.tableData"
v-loading="state.loading.list" v-loading="state.loading.list"
ref="tableRef"
stripe stripe
style="width: 100%; margin-bottom: 20px; height: calc(100vh - 230px)" style="width: 100%; margin-bottom: 20px; height: calc(100vh - 230px)"
row-key="id" row-key="id"
@ -264,6 +268,17 @@ const formRules = reactive({
], ],
compileDate: [{ required: true, message: '请选择编制日期', trigger: 'change' }] compileDate: [{ required: true, message: '请选择编制日期', trigger: 'change' }]
}); });
// 展开状态
const isExpandAll = ref(false);
const tableRef = ref(null);
// 切换展开状态
const toggleExpandAll = () => {
isExpandAll.value = !isExpandAll.value;
console.log(isExpandAll.value);
state.tableData.forEach((row) => {
tableRef.value.toggleRowExpansion(row, isExpandAll.value);
});
};
// 获取主表数据 // 获取主表数据
async function getMasterDataList() { async function getMasterDataList() {
try { try {

View File

@ -82,7 +82,7 @@
<el-form-item label="计划产值(元)" prop="planValue"> <el-form-item label="计划产值(元)" prop="planValue">
<el-input v-model="form.planValue" placeholder="请输入计划产值" type="number" /> <el-input v-model="form.planValue" placeholder="请输入计划产值" type="number" />
</el-form-item> </el-form-item>
<el-form-item label="计划月份(元)" prop="planMonth"> <el-form-item label="计划月份" prop="planMonth">
<el-date-picker v-model="form.planMonth" type="month" value-format="YYYY-MM" placeholder="请选择计划月份" /> <el-date-picker v-model="form.planMonth" type="month" value-format="YYYY-MM" placeholder="请选择计划月份" />
</el-form-item> </el-form-item>
<el-form-item label="产值类型" prop="valueType"> <el-form-item label="产值类型" prop="valueType">

View File

@ -112,7 +112,7 @@
<el-button type="primary" plain icon="Plus" @click="addUnitBoItem" style="margin-bottom: 15px">添加</el-button> <el-button type="primary" plain icon="Plus" @click="addUnitBoItem" style="margin-bottom: 15px">添加</el-button>
<!-- 方阵表单绑定unitBoList的索引实现动态校验 --> <!-- 方阵表单绑定unitBoList的索引实现动态校验 -->
<el-form ref="landBlockFormMatrixRef" :model="formM" label-width="100px"> <el-form ref="landBlockFormMatrixRef" :model="formM" label-width="100px">
<el-row v-for="(item, i) of unitBoList" :key="i" class="mb-4"> <el-row v-for="(item, i) of formM.unitBoList" :key="i" class="mb-4">
<!-- 方阵选择必填校验 --> <!-- 方阵选择必填校验 -->
<el-col :span="8"> <el-col :span="8">
<el-form-item <el-form-item
@ -243,7 +243,6 @@ const initFormData: LandBlockForm = {
// 核心数据(含表单规则) // 核心数据(含表单规则)
const data = reactive({ const data = reactive({
form: { ...initFormData }, form: { ...initFormData },
formM: { landId: undefined }, // 方阵关联表单仅存地块ID
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
@ -264,8 +263,8 @@ const data = reactive({
landName: [{ required: true, message: '地块名称不能为空', trigger: 'blur' }] landName: [{ required: true, message: '地块名称不能为空', trigger: 'blur' }]
} }
}); });
const formM: any = ref({ landId: undefined, unitBoList: [{ unitProjectArea: '', unitProjectStatus: '', unitProjectId: [] }] }); // 方阵关联表单仅存地块ID
const { queryParams, form, rules, formM } = toRefs(data); const { queryParams, form, rules } = toRefs(data);
/** 查询地块列表 */ /** 查询地块列表 */
const getList = async () => { const getList = async () => {
@ -400,17 +399,20 @@ const handleView = async (row: LandBlockVO) => {
if (!row?.id) return proxy?.$modal.msgWarning('请选择有效的地块'); if (!row?.id) return proxy?.$modal.msgWarning('请选择有效的地块');
// 1. 重置方阵表单(清空历史数据) // 1. 重置方阵表单(清空历史数据)
resetMatrix();
// 2. 绑定当前地块ID // 2. 绑定当前地块ID
formM.value.landId = row.id; formM.value.landId = row.id;
// 3. 打开弹窗 // 3. 打开弹窗
dialogMatrix.visible = true; dialogMatrix.visible = true;
nextTick(() => {
resetMatrix();
});
dialogMatrix.title = `关联方阵(地块:${row.landName || row.landCode}`; dialogMatrix.title = `关联方阵(地块:${row.landName || row.landCode}`;
}; };
/** 新增方阵表单项 */ /** 新增方阵表单项 */
const addUnitBoItem = () => { const addUnitBoItem = () => {
unitBoList.value.push({ formM.value.unitBoList.push({
unitProjectArea: '', unitProjectArea: '',
unitProjectStatus: '', unitProjectStatus: '',
unitProjectId: [] // 级联选择初始为空数组 unitProjectId: [] // 级联选择初始为空数组
@ -419,10 +421,10 @@ const addUnitBoItem = () => {
/** 删除方阵表单项 */ /** 删除方阵表单项 */
const removeUnitBoItem = (index: number) => { const removeUnitBoItem = (index: number) => {
if (unitBoList.value.length <= 1) { if (formM.value.unitBoList.length <= 1) {
return proxy?.$modal.msgWarning('至少保留一项方阵配置'); return proxy?.$modal.msgWarning('至少保留一项方阵配置');
} }
unitBoList.value.splice(index, 1); formM.value.unitBoList.splice(index, 1);
// 重置表单校验状态(避免删除后残留校验提示) // 重置表单校验状态(避免删除后残留校验提示)
landBlockFormMatrixRef.value?.clearValidate(); landBlockFormMatrixRef.value?.clearValidate();
}; };
@ -435,7 +437,7 @@ const submitFormMatrix = () => {
try { try {
// 处理方阵数据(拆分名称+ID // 处理方阵数据(拆分名称+ID
const unitBoListParams = unitBoList.value.map((item) => { const unitBoListParams = formM.value.unitBoList.map((item) => {
const [unitProjectName, unitProjectId] = item.unitProjectId[1]?.split('_') || []; const [unitProjectName, unitProjectId] = item.unitProjectId[1]?.split('_') || [];
if (!unitProjectId) throw new Error('方阵ID解析失败请重新选择方阵'); if (!unitProjectId) throw new Error('方阵ID解析失败请重新选择方阵');
@ -455,7 +457,7 @@ const submitFormMatrix = () => {
if (res.code === 200) { if (res.code === 200) {
proxy?.$modal.msgSuccess('关联方阵成功'); proxy?.$modal.msgSuccess('关联方阵成功');
dialogMatrix.visible = false; cancelMatrix(); // 关闭弹窗并重置表单
await getList(); // 刷新地块列表 await getList(); // 刷新地块列表
} else { } else {
proxy?.$modal.msgError(res.msg || '关联失败'); proxy?.$modal.msgError(res.msg || '关联失败');
@ -477,7 +479,10 @@ const resetMatrix = () => {
// 1. 清空地块ID // 1. 清空地块ID
formM.value.landId = undefined; formM.value.landId = undefined;
// 2. 重置方阵列表(仅保留一个空项) // 2. 重置方阵列表(仅保留一个空项)
unitBoList.value = [{ unitProjectArea: '', unitProjectStatus: '', unitProjectId: [] }]; // 使用splice方法修改数组
formM.value.unitBoList = [{ unitProjectArea: '', unitProjectStatus: '', unitProjectId: [] }];
console.log(formM.value.unitBoList, 'unitBoList');
// 3. 重置表单校验状态 // 3. 重置表单校验状态
if (landBlockFormMatrixRef.value) { if (landBlockFormMatrixRef.value) {
landBlockFormMatrixRef.value.resetFields(); landBlockFormMatrixRef.value.resetFields();

View File

@ -10,7 +10,7 @@
<el-option v-for="item in options" :key="item.versions" :label="item.versions" :value="item.versions" /> <el-option v-for="item in options" :key="item.versions" :label="item.versions" :value="item.versions" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="表名" prop="sheet"> <el-form-item label="表名" prop="sheet" v-if="activeTab != '3'">
<el-select v-model="queryForm.sheet" placeholder="选择表名" @change="changeSheet"> <el-select v-model="queryForm.sheet" placeholder="选择表名" @change="changeSheet">
<el-option v-for="item in sheets" :key="item" :label="item" :value="item" /> <el-option v-for="item in sheets" :key="item" :label="item" :value="item" />
</el-select> </el-select>

View File

@ -191,9 +191,14 @@
<el-table-column prop="useQuantity" label="剩余量" align="center"> <el-table-column prop="useQuantity" label="剩余量" align="center">
<template #default="scope"> <template #default="scope">
{{ {{
(scope.row.quantity ? Number(scope.row.quantity) : 0) - (scope.row.useQuantity ? Number(scope.row.useQuantity) : 0) == 0 (scope.row.quantity ? Number(scope.row.quantity) : 0) -
(scope.row.useQuantity ? Number(scope.row.useQuantity) : 0) -
(scope.row.selectNum ? Number(scope.row.selectNum) : 0) ==
0
? '' ? ''
: (scope.row.quantity ? Number(scope.row.quantity) : 0) - (scope.row.useQuantity ? Number(scope.row.useQuantity) : 0) : (scope.row.quantity ? Number(scope.row.quantity) : 0) -
(scope.row.selectNum ? Number(scope.row.selectNum) : 0) -
(scope.row.useQuantity ? Number(scope.row.useQuantity) : 0)
}} }}
</template> </template>
</el-table-column> </el-table-column>
@ -219,12 +224,16 @@
<el-table-column prop="price" label="总价" align="center"> <el-table-column prop="price" label="总价" align="center">
<template #default="scope"> <template #default="scope">
{{ {{
((scope.row.quantity ? Number(scope.row.quantity) : 0) - (scope.row.useQuantity ? Number(scope.row.useQuantity) : 0)) * ((scope.row.quantity ? Number(scope.row.quantity) : 0) -
(scope.row.useQuantity ? Number(scope.row.useQuantity) : 0) -
(scope.row.selectNum ? Number(scope.row.selectNum) : 0)) *
Number(scope.row.unitPrice) == Number(scope.row.unitPrice) ==
0 0
? '' ? ''
: ( : (
((scope.row.quantity ? Number(scope.row.quantity) : 0) - (scope.row.useQuantity ? Number(scope.row.useQuantity) : 0)) * ((scope.row.quantity ? Number(scope.row.quantity) : 0) -
(scope.row.useQuantity ? Number(scope.row.useQuantity) : 0) -
(scope.row.selectNum ? Number(scope.row.selectNum) : 0)) *
Number(scope.row.unitPrice) Number(scope.row.unitPrice)
).toFixed(2) ).toFixed(2)
}} }}

View File

@ -234,17 +234,17 @@
<!-- 第十一行注册人员数量仅劳务类型显示 --> <!-- 第十一行注册人员数量仅劳务类型显示 -->
<el-row :gutter="20" class="mb-4" v-if="form.supplierType === '劳务'"> <el-row :gutter="20" class="mb-4" v-if="form.supplierType === '劳务'">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="一建建造师" prop="build1"> <el-form-item label="一建建造师" prop="firstBuildingNumber">
<el-input v-model="form.build1" placeholder="请输入一建建造师数量" clearable /> <el-input v-model="form.firstBuildingNumber" placeholder="请输入一建建造师数量" clearable />
</el-form-item> </el-form-item>
<el-form-item label="二建建造师" prop="build2"> <el-form-item label="二建建造师" prop="secondBuildingNumber">
<el-input v-model="form.build2" placeholder="请输入二建建造师数量" clearable /> <el-input v-model="form.secondBuildingNumber" placeholder="请输入二建建造师数量" clearable />
</el-form-item> </el-form-item>
<el-form-item label="注册造价工程师" prop="build3"> <el-form-item label="注册造价工程师" prop="registeredEngineerNumber">
<el-input v-model="form.build3" placeholder="请输入注册造价工程师数量" clearable /> <el-input v-model="form.registeredEngineerNumber" placeholder="请输入注册造价工程师数量" clearable />
</el-form-item> </el-form-item>
<el-form-item label="其他(分别写)" prop="build4"> <el-form-item label="其他(分别写)" prop="otherBuildingNumber">
<el-input v-model="form.build4" placeholder="请输入其他人员数量" clearable /> <el-input v-model="form.otherBuildingNumber" placeholder="请输入其他人员数量" clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@ -254,17 +254,17 @@
<!-- 第十二行职称人员数量仅劳务类型显示 --> <!-- 第十二行职称人员数量仅劳务类型显示 -->
<el-row :gutter="20" class="mb-4" v-if="form.supplierType === '劳务'"> <el-row :gutter="20" class="mb-4" v-if="form.supplierType === '劳务'">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="高级工程师人数" prop="personnelNumber1"> <el-form-item label="高级工程师人数" prop="seniorEngineerNumber">
<el-input v-model="form.personnelNumber1" placeholder="请输高级工程师数量" clearable /> <el-input v-model="form.seniorEngineerNumber" placeholder="请输高级工程师数量" clearable />
</el-form-item> </el-form-item>
<el-form-item label="工程师数量" prop="personnelNumber2"> <el-form-item label="工程师数量" prop="engineerNumber">
<el-input v-model="form.personnelNumber2" placeholder="请输入工程师数量" clearable /> <el-input v-model="form.engineerNumber" placeholder="请输入工程师数量" clearable />
</el-form-item> </el-form-item>
<el-form-item label="助理工程师数量" prop="personnelNumber3"> <el-form-item label="助理工程师数量" prop="assistantEngineerNumber">
<el-input v-model="form.personnelNumber3" placeholder="请输入助理工程师数量" clearable /> <el-input v-model="form.assistantEngineerNumber" placeholder="请输入助理工程师数量" clearable />
</el-form-item> </el-form-item>
<el-form-item label="其他人员数量" prop="personnelNumber4"> <el-form-item label="其他人员数量" prop="otherPersonnelNumber">
<el-input v-model="form.personnelNumber4" placeholder="请输入其他人员数量" clearable /> <el-input v-model="form.otherPersonnelNumber" placeholder="请输入其他人员数量" clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@ -369,14 +369,14 @@ const initFormData: any = {
inputFile: undefined, inputFile: undefined,
// state: '0', // 新增默认待审核 // state: '0', // 新增默认待审核
// 新增:用于表单输入的单独字段 // 新增:用于表单输入的单独字段
build1: undefined, // 一建建造师 firstBuildingNumber: undefined, // 一建建造师
build2: undefined, // 二建建造师 secondBuildingNumber: undefined, // 二建建造师
build3: undefined, // 注册造价工程师 registeredEngineerNumber: undefined, // 注册造价工程师
build4: undefined, // 其他注册人员 otherBuildingNumber: undefined, // 其他注册人员
personnelNumber1: undefined, // 高级工程师 seniorEngineerNumber: undefined, // 高级工程师
personnelNumber2: undefined, // 工程师 engineerNumber: undefined, // 工程师
personnelNumber3: undefined, // 助理工程师 assistantEngineerNumber: undefined, // 助理工程师
personnelNumber4: undefined // 其他职称人员 otherPersonnelNumber: undefined // 其他职称人员
}; };
// 核心数据(表单+查询参数) // 核心数据(表单+查询参数)
const data = reactive<PageData<SupplierInputForm, SupplierInputQuery>>({ const data = reactive<PageData<SupplierInputForm, SupplierInputQuery>>({
@ -411,14 +411,14 @@ const rules = computed(() => {
{ pattern: /^1[3-9]\d{9}$/, message: '请输入正确的手机号格式', trigger: 'blur' } { pattern: /^1[3-9]\d{9}$/, message: '请输入正确的手机号格式', trigger: 'blur' }
], ],
id: [{ required: true, message: 'ID不能为空', trigger: 'blur' }], id: [{ required: true, message: 'ID不能为空', trigger: 'blur' }],
build1: [{ required: true, message: '请输入一建建造师数量', trigger: 'change' }], firstBuildingNumber: [{ required: true, message: '请输入一建建造师数量', trigger: 'change' }],
build2: [{ required: true, message: '请输入二建建造师数量', trigger: 'change' }], secondBuildingNumber: [{ required: true, message: '请输入二建建造师数量', trigger: 'change' }],
build3: [{ required: true, message: '请输入注册造价工程师数量', trigger: 'change' }], registeredEngineerNumber: [{ required: true, message: '请输入注册造价工程师数量', trigger: 'change' }],
build4: [{ required: true, message: '请输入其他数量', trigger: 'change' }], otherBuildingNumber: [{ required: true, message: '请输入其他数量', trigger: 'change' }],
personnelNumber1: [{ required: true, message: '请输入高级工程师数量', trigger: 'change' }], seniorEngineerNumber: [{ required: true, message: '请输入高级工程师数量', trigger: 'change' }],
personnelNumber2: [{ required: true, message: '请输入工程师数量', trigger: 'change' }], engineerNumber: [{ required: true, message: '请输入工程师数量', trigger: 'change' }],
personnelNumber3: [{ required: true, message: '请输入助理工程师数量', trigger: 'change' }], assistantEngineerNumber: [{ required: true, message: '请输入助理工程师数量', trigger: 'change' }],
personnelNumber4: [{ required: true, message: '请输入其他数量', trigger: 'change' }] otherPersonnelNumber: [{ required: true, message: '请输入其他数量', trigger: 'change' }]
}; };
// 仅当类型为"劳务"时,添加安全生产许可证+人员数量校验 // 仅当类型为"劳务"时,添加安全生产许可证+人员数量校验
@ -430,15 +430,15 @@ const rules = computed(() => {
safeCodeData: [{ required: true, message: '请选择安全生产许可证发证日期', trigger: 'change' }], safeCodeData: [{ required: true, message: '请选择安全生产许可证发证日期', trigger: 'change' }],
safeCertificateValidity: [{ required: true, message: '请选择安全生产许可证有效期', trigger: 'change' }], safeCertificateValidity: [{ required: true, message: '请选择安全生产许可证有效期', trigger: 'change' }],
// 注册人员数量校验 // 注册人员数量校验
build1: [{ required: true, message: '请输入一建建造师数量', trigger: 'blur' }], firstBuildingNumber: [{ required: true, message: '请输入一建建造师数量', trigger: 'blur' }],
build2: [{ required: true, message: '请输入二建建造师数量', trigger: 'blur' }], secondBuildingNumber: [{ required: true, message: '请输入二建建造师数量', trigger: 'blur' }],
build3: [{ required: true, message: '请输入注册造价工程师数量', trigger: 'blur' }], registeredEngineerNumber: [{ required: true, message: '请输入注册造价工程师数量', trigger: 'blur' }],
build4: [{ required: true, message: '请输入其他注册人员数量', trigger: 'blur' }], otherBuildingNumber: [{ required: true, message: '请输入其他注册人员数量', trigger: 'blur' }],
// 职称人员数量校验 // 职称人员数量校验
personnelNumber1: [{ required: true, message: '请输入高级工程师数量', trigger: 'blur' }], seniorEngineerNumber: [{ required: true, message: '请输入高级工程师数量', trigger: 'blur' }],
personnelNumber2: [{ required: true, message: '请输入工程师数量', trigger: 'blur' }], engineerNumber: [{ required: true, message: '请输入工程师数量', trigger: 'blur' }],
personnelNumber3: [{ required: true, message: '请输入助理工程师数量', trigger: 'blur' }], assistantEngineerNumber: [{ required: true, message: '请输入助理工程师数量', trigger: 'blur' }],
personnelNumber4: [{ required: true, message: '请输入其他职称人员数量', trigger: 'blur' }] otherPersonnelNumber: [{ required: true, message: '请输入其他职称人员数量', trigger: 'blur' }]
}; };
} }
@ -455,22 +455,26 @@ const handleTypeChange = () => {
form.value.registeredNumber = undefined; form.value.registeredNumber = undefined;
form.value.personnelNumber = undefined; form.value.personnelNumber = undefined;
// 清空表单单独字段 // 清空表单单独字段
form.value.build1 = form.value.build2 = form.value.build3 = form.value.build4 = undefined; form.value.firstBuildingNumber =
form.value.personnelNumber1 = form.value.personnelNumber2 = form.value.personnelNumber3 = form.value.personnelNumber4 = undefined; form.value.secondBuildingNumber =
form.value.registeredEngineerNumber =
form.value.otherBuildingNumber =
undefined;
form.value.seniorEngineerNumber = form.value.engineerNumber = form.value.assistantEngineerNumber = form.value.otherPersonnelNumber = undefined;
} }
// 重置隐藏字段的校验状态,避免错误提示残留 // 重置隐藏字段的校验状态,避免错误提示残留
supplierInputFormRef.value?.clearValidate([ supplierInputFormRef.value?.clearValidate([
'safeCode', 'safeCode',
'safeCodeData', 'safeCodeData',
'safeCertificateValidity', 'safeCertificateValidity',
'build1', 'firstBuildingNumber',
'build2', 'secondBuildingNumber',
'build3', 'registeredEngineerNumber',
'build4', 'otherBuildingNumber',
'personnelNumber1', 'seniorEngineerNumber',
'personnelNumber2', 'engineerNumber',
'personnelNumber3', 'assistantEngineerNumber',
'personnelNumber4' 'otherPersonnelNumber'
]); ]);
}; };
@ -517,18 +521,18 @@ const resetQuery = () => {
const splitBackEndStrToForm = (resData: any) => { const splitBackEndStrToForm = (resData: any) => {
if (resData.registeredNumber) { if (resData.registeredNumber) {
const registeredArr = resData.registeredNumber.split(','); const registeredArr = resData.registeredNumber.split(',');
form.value.build1 = registeredArr[0] || undefined; // 一建建造师 form.value.firstBuildingNumber = registeredArr[0] || undefined; // 一建建造师
form.value.build2 = registeredArr[1] || undefined; // 二建建造师 form.value.secondBuildingNumber = registeredArr[1] || undefined; // 二建建造师
form.value.build3 = registeredArr[2] || undefined; // 注册造价工程师 form.value.registeredEngineerNumber = registeredArr[2] || undefined; // 注册造价工程师
form.value.build4 = registeredArr[3] || undefined; // 其他注册人员 form.value.otherBuildingNumber = registeredArr[3] || undefined; // 其他注册人员
} }
if (resData.personnelNumber) { if (resData.personnelNumber) {
const personnelArr = resData.personnelNumber.split(','); const personnelArr = resData.personnelNumber.split(',');
form.value.personnelNumber1 = personnelArr[0] || undefined; // 高级工程师 form.value.seniorEngineerNumber = personnelArr[0] || undefined; // 高级工程师
form.value.personnelNumber2 = personnelArr[1] || undefined; // 工程师 form.value.engineerNumber = personnelArr[1] || undefined; // 工程师
form.value.personnelNumber3 = personnelArr[2] || undefined; // 助理工程师 form.value.assistantEngineerNumber = personnelArr[2] || undefined; // 助理工程师
form.value.personnelNumber4 = personnelArr[3] || undefined; // 其他职称人员 form.value.otherPersonnelNumber = personnelArr[3] || undefined; // 其他职称人员
} }
}; };
/** 审核过程按钮操作 */ /** 审核过程按钮操作 */
@ -599,19 +603,23 @@ const submitForm = () => {
supplierInputFormRef.value?.validate(async (valid: boolean) => { supplierInputFormRef.value?.validate(async (valid: boolean) => {
if (!valid) return; if (!valid) return;
if (form.value.supplierType === '劳务') { if (form.value.supplierType === '劳务') {
form.value.registeredNumber = [form.value.build1, form.value.build2, form.value.build3, form.value.build4].join(','); form.value.registeredNumber = [
form.value.firstBuildingNumber,
form.value.secondBuildingNumber,
form.value.registeredEngineerNumber,
form.value.otherBuildingNumber
].join(',');
form.value.personnelNumber = [ form.value.personnelNumber = [
form.value.personnelNumber1, form.value.seniorEngineerNumber,
form.value.personnelNumber2, form.value.engineerNumber,
form.value.personnelNumber3, form.value.assistantEngineerNumber,
form.value.personnelNumber4 form.value.otherPersonnelNumber
].join(','); ].join(',');
} }
buttonLoading.value = true; buttonLoading.value = true;
try { try {
if (fileUploadRef.value) { if (fileUploadRef.value) {
await fileUploadRef.value.submitUpload().then((res) => { await fileUploadRef.value.submitUpload().then((res) => {
console.log(res);
if (res == 'noFile') { if (res == 'noFile') {
proxy?.$modal.msgError('请上传文件'); proxy?.$modal.msgError('请上传文件');
return; return;

View File

@ -122,41 +122,41 @@
</el-row> </el-row>
<el-row class="mb-4" v-if="form.supplierType === '劳务'"> <el-row class="mb-4" v-if="form.supplierType === '劳务'">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="一建建造师" prop="build1"> <el-form-item label="一建建造师" prop="firstBuildingNumber">
<el-input v-model="form.build1" placeholder="请输入一建建造师数量" clearable /> <el-input v-model="form.firstBuildingNumber" placeholder="请输入一建建造师数量" clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="二建建造师" prop="build2"> <el-form-item label="二建建造师" prop="secondBuildingNumber">
<el-input v-model="form.build2" placeholder="请输入二建建造师数量" clearable /> <el-input v-model="form.secondBuildingNumber" placeholder="请输入二建建造师数量" clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="其他(分别写)" prop="build4"> <el-form-item label="其他(分别写)" prop="otherBuildingNumber">
<el-input v-model="form.build3" placeholder="请输入其他人员数量" clearable /> <el-input v-model="form.otherBuildingNumber" placeholder="请输入其他人员数量" clearable />
</el-form-item> </el-col </el-form-item> </el-col
><el-col :span="12"> ><el-col :span="12">
<el-form-item label="注册造价工程师" prop="build3"> <el-form-item label="注册造价工程师" prop="registeredEngineerNumber">
<el-input v-model="form.build4" placeholder="请输入注册造价工程师数量" clearable /> <el-input v-model="form.registeredEngineerNumber" placeholder="请输入注册造价工程师数量" clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="24" class="mb-4" v-if="form.supplierType === '劳务'"> <el-row :gutter="24" class="mb-4" v-if="form.supplierType === '劳务'">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="高级工程师人数" prop="personnelNumber1"> <el-form-item label="高级工程师人数" prop="seniorEngineerNumber">
<el-input v-model="form.personnelNumber1" placeholder="请输高级工程师数量" clearable /> <el-input v-model="form.seniorEngineerNumber" placeholder="请输高级工程师数量" clearable />
</el-form-item> </el-col </el-form-item> </el-col
><el-col :span="12"> ><el-col :span="12">
<el-form-item label="工程师数量" prop="personnelNumber2"> <el-form-item label="工程师数量" prop="engineerNumber">
<el-input v-model="form.personnelNumber2" placeholder="请输入工程师数量" clearable /> <el-input v-model="form.engineerNumber" placeholder="请输入工程师数量" clearable />
</el-form-item> </el-col </el-form-item> </el-col
><el-col :span="12"> ><el-col :span="12">
<el-form-item label="助理工程师数量" prop="personnelNumber3"> <el-form-item label="助理工程师数量" prop="assistantEngineerNumber">
<el-input v-model="form.personnelNumber3" placeholder="请输入助理工程师数量" clearable /> <el-input v-model="form.assistantEngineerNumber" placeholder="请输入助理工程师数量" clearable />
</el-form-item> </el-col </el-form-item> </el-col
><el-col :span="12"> ><el-col :span="12">
<el-form-item label="其他人员数量" prop="personnelNumber4"> <el-form-item label="其他人员数量" prop="otherPersonnelNumber">
<el-input v-model="form.personnelNumber4" placeholder="请输入其他人员数量" clearable /> <el-input v-model="form.otherPersonnelNumber" placeholder="请输入其他人员数量" clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -270,14 +270,14 @@ const initFormData = {
inputFile: undefined, inputFile: undefined,
state: '0', // 新增默认待审核 state: '0', // 新增默认待审核
// 新增:用于表单输入的单独字段 // 新增:用于表单输入的单独字段
build1: undefined, // 一建建造师 firstBuildingNumber: undefined, // 一建建造师
build2: undefined, // 二建建造师 secondBuildingNumber: undefined, // 二建建造师
build3: undefined, // 注册造价工程师 registeredEngineerNumber: undefined, // 注册造价工程师
build4: undefined, // 其他注册人员 otherBuildingNumber: undefined, // 其他注册人员
personnelNumber1: undefined, // 高级工程师 seniorEngineerNumber: undefined, // 高级工程师
personnelNumber2: undefined, // 工程师 engineerNumber: undefined, // 工程师
personnelNumber3: undefined, // 助理工程师 assistantEngineerNumber: undefined, // 助理工程师
personnelNumber4: undefined // 其他职称人员 otherPersonnelNumber: undefined
}; };
const data = reactive<PageData<LeaveForm, LeaveQuery>>({ const data = reactive<PageData<LeaveForm, LeaveQuery>>({
form: { ...initFormData }, form: { ...initFormData },
@ -332,17 +332,27 @@ const getInfo = () => {
buttonLoading.value = false; buttonLoading.value = false;
nextTick(async () => { nextTick(async () => {
const res = await getSupplierInput(routeParams.value.id); const res = await getSupplierInput(routeParams.value.id);
console.log(res, '------------------res');
Object.assign(form.value, res.data); Object.assign(form.value, res.data);
form.value.registeredNumber = form.value.registeredNumber?.split(','); // form.value.firstBuildingNumber=res.data.firstBuildingNumber, // 一建建造师
form.value.build1 = form.value.registeredNumber[0] || ''; // secondBuildingNumber: undefined, // 二建建造师
form.value.build2 = form.value.registeredNumber[1] || ''; // registeredEngineerNumber: undefined, // 注册造价工程师
form.value.build3 = form.value.registeredNumber[2] || ''; // otherBuildingNumber: undefined, // 其他注册人员
form.value.build4 = form.value.registeredNumber[3] || ''; // seniorEngineerNumber: undefined, // 高级工程师
form.value.personnelNumber = form.value.personnelNumber?.split(','); // engineerNumber: undefined, // 工程师
form.value.personnelNumber1 = form.value.personnelNumber[0] || ''; // assistantEngineerNumber: undefined, // 助理工程师
form.value.personnelNumber2 = form.value.personnelNumber[1] || ''; // otherPersonnelNumber: undefined
form.value.personnelNumber3 = form.value.personnelNumber[2] || ''; // form.value.registeredNumber = form.value.registeredNumber?.split(',');
form.value.personnelNumber4 = form.value.personnelNumber[3] || ''; // form.value.build1 = form.value.registeredNumber[0] || '';
// form.value.build2 = form.value.registeredNumber[1] || '';
// form.value.build3 = form.value.registeredNumber[2] || '';
// form.value.build4 = form.value.registeredNumber[3] || '';
// form.value.personnelNumber = form.value.personnelNumber?.split(',');
// form.value.personnelNumber1 = form.value.personnelNumber[0] || '';
// form.value.personnelNumber2 = form.value.personnelNumber[1] || '';
// form.value.personnelNumber3 = form.value.personnelNumber[2] || '';
// form.value.personnelNumber4 = form.value.personnelNumber[3] || '';
loading.value = false; loading.value = false;
buttonLoading.value = false; buttonLoading.value = false;