This commit is contained in:
dhr
2025-08-30 00:04:01 +08:00
16 changed files with 304 additions and 258 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

@ -381,8 +381,11 @@ const submitForm = (status1: string) => {
if (valid) {
buttonLoading.value = true;
var res;
delete form.value.id;
res = await addDesignChange({ ...form.value, changeReason, saveFile }).finally(() => (buttonLoading.value = false));
if (res.code == 200) {
routeParams.value.type = 'update';
form.value = res.data;
if (form.value.costEstimation == '0') {
ElMessage.success('通知成功');
goBack();

View File

@ -99,17 +99,22 @@
</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>
@ -146,13 +151,7 @@
/></el-select>
</el-form-item>
<el-form-item v-if="uploadForm.type == '3'" label="蓝图" prop="fileIds">
<file-upload
:fileType="['pdf']"
:isShowTip="false"
:fileSize="100"
v-hasPermi="['system:oss:upload']"
v-model="uploadForm.fileIds"
></file-upload>
<file-upload :fileType="['pdf']" :isShowTip="false" :fileSize="100" v-model="uploadForm.fileIds"></file-upload>
</el-form-item>
<el-form-item v-if="uploadForm.type == '1'" label="过程图纸" prop="cancellationIds">
<file-upload :fileType="['pdf']" :isShowTip="false" :fileSize="100" v-model="uploadForm.cancellationIds"></file-upload>
@ -254,6 +253,7 @@ import {
addVolumeCatalog,
updateVolumeCatalog,
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();
}
);