This commit is contained in:
2025-08-29 20:57:49 +08:00
parent 203c808fa2
commit 62ab2a4672
7 changed files with 131 additions and 112 deletions

View File

@ -76,7 +76,7 @@
label-width="60px"
label="专业"
>
<el-select
<el-select filterable
v-model="form.designers[configIndex].userMajor"
placeholder="请选择专业"
class="w-full transition-all duration-300 border-gray-300"
@ -109,7 +109,7 @@
label="设计"
label-width="50px"
>
<el-select
<el-select filterable
v-model="person.userId"
placeholder="选择人员"
class="w-full transition-all duration-300 border-gray-300"
@ -165,7 +165,7 @@
label="校审"
label-width="50px"
>
<el-select
<el-select filterable
v-model="person.userId"
placeholder="选择人员"
class="w-full transition-all duration-300 border-gray-300"
@ -221,7 +221,7 @@
label="审定"
label-width="50px"
>
<el-select
<el-select filterable
v-model="person.userId"
placeholder="选择人员"
class="w-full transition-all duration-300 border-gray-300"
@ -277,7 +277,7 @@
label="审核"
label-width="50px"
>
<el-select
<el-select filterable
v-model="person.userId"
placeholder="选择人员"
class="w-full transition-all duration-300 border-gray-300"

View File

@ -99,17 +99,17 @@
</el-card>
<!-- 添加或修改卷册目录对话框 -->
<el-dialog draggable :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
<el-form ref="volumeCatalogFormRef" :model="form" :rules="rules" label-width="100px">
<el-form ref="volumeCatalogFormRef" :model="form" :rules="rules" label-width="110px">
<el-form-item label="子项" prop="designSubitem">
<el-input v-model="form.designSubitem" placeholder="请输入设计子项" />
</el-form-item>
<el-form-item label="专业" prop="specialty">
<el-select v-model="form.specialty" placeholder="请选择专业">
<el-option :value="item.value" v-for="item in des_user_major" :key="item.value" :label="item.label" />
<el-select v-model="form.specialty" placeholder="请选择专业" @change="changeSpecialty">
<el-option :value="item.userMajor" v-for="item in des_user_major" :key="item.userMajor" :label="item.userMajorName" />
</el-select>
</el-form-item>
<el-form-item label="设计人员" prop="principal">
<el-select v-model="form.principal" placeholder="请选择设计人员" class="transition-all duration-300 border-gray-300">
<el-select :disabled="!form.specialty" v-model="form.principal" placeholder="请选择设计人员" class="transition-all duration-300 border-gray-300">
<el-option v-for="item in userAppList" :key="item.userId" :label="item.userName" :value="item.userId.toString()" />
</el-select>
</el-form-item>
@ -253,7 +253,7 @@ import {
delVolumeCatalog,
addVolumeCatalog,
updateVolumeCatalog,
uploadVolumeFile,
uploadVolumeFile,majorList,
getVolumeCatafileList,
volumeFileList
} from '@/api/design/volumeCatalog';
@ -264,9 +264,10 @@ import TableContent from './comm/tableContent.vue';
const fileList = ref([]);
import { designUserList } from '@/api/design/appointment';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { design_state, wf_business_status, des_user_major } = toRefs(proxy?.useDict('design_state', 'wf_business_status', 'des_user_major'));
const { design_state, wf_business_status, } = toRefs(proxy?.useDict('design_state', 'wf_business_status'));
import { drawingreviewReceiptsDetail, drawingreviewReceiptsList } from '@/api/design/drawingreview';
const volumeCatalogList = ref<VolumeCatalogVO[]>([]);
const des_user_major= ref([]);
const buttonLoading = ref(false);
const loading = ref(true);
const showSearch = ref(true);
@ -356,13 +357,28 @@ const data = reactive({
rules: {
design: [{ required: true, message: '主键ID不能为空', trigger: 'blur' }],
projectId: [{ required: true, message: '项目ID不能为空', trigger: 'blur' }],
designSubitem: [{ required: true, message: '子项不能为空', trigger: 'blur' }],
volumeNumber: [{ required: true, message: '卷册号不能为空', trigger: 'blur' }],
documentName: [{ required: true, message: '资料名称不能为空', trigger: 'blur' }]
documentName: [{ required: true, message: '资料名称不能为空', trigger: 'blur' }],
plannedCompletion: [{ required: true, message: '计划出图事件不能为空', trigger: 'blur' }],
principal: [{ required: true, message: '设计人员不能为空', trigger: 'blur' }],
specialty: [{ required: true, message: '专业不能为空', trigger: 'blur' }],
}
});
const { queryParams, form, rules } = toRefs(data);
const changeSpecialty=(val)=>{
form.value.principal = ''; //清空
getUserAppList(val);
}
// 获取专业列表
const getSpecialtyList = async () => {
const res = await majorList({ projectId: currentProject.value?.id ,userType:2});
console.log(res);
if (res.code === 200) {
des_user_major.value = res.data;
}
};
/** 查询卷册目录列表 */
const getList = async () => {
loading.value = true;
@ -374,17 +390,10 @@ const getList = async () => {
loading.value = false;
}
};
const getUserAppList = async () => {
const res = await designUserList({ projectId: currentProject.value?.id });
const getUserAppList = async (userMajor) => {
const res = await designUserList({ projectId: currentProject.value?.id ,userType:2,userMajor});
if (res.code === 200) {
console.log(res.rows);
res.rows.forEach((item: any) => {
if (item.userType == 2) {
//设计人员
userAppList.value.push(item);
}
});
userAppList.value = res.rows;
}
};
const handleViewHistory = async (row) => {
@ -647,7 +656,7 @@ const handleAuditInfo = (row) => {
// 审核图纸
};
onMounted(() => {
getUserAppList();
getSpecialtyList();
getList();
});
@ -657,7 +666,7 @@ const listeningProject = watch(
(nid, oid) => {
queryParams.value.projectId = nid;
form.value.projectId = nid;
getUserAppList();
getSpecialtyList();
getList();
}
);