This commit is contained in:
Teo
2025-08-30 00:01:14 +08:00
parent 2b88c32489
commit 5b118055c5
7 changed files with 83 additions and 48 deletions

View File

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

View File

@ -546,7 +546,7 @@ const handleTerminationTask = async () => {
if (isDrawing.value) { if (isDrawing.value) {
isShowTermination.value = true; isShowTermination.value = true;
nextTick(() => { nextTick(() => {
detailFormTeRef.value.getInfo(props.businessId); detailFormTeRef.value.getInfo(props.businessId1);
}); });
return; return;
} }

View File

@ -36,7 +36,7 @@
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="工程名称"> <el-form-item label="工程名称">
<el-input v-model="form.projectName" /> <el-input disabled v-model="form.projectName" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@ -45,12 +45,42 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<!-- 卷册名称 & 附图 -->
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="卷册号">
<!-- <el-input v-model="form.volumeName" /> -->
<el-select
id="projectSelect"
v-model="form.volumeNumber"
placeholder="请选择原卷册号"
clearable
filterable
@change="handleSelect"
style="width: 150px; margin-right: 20px"
>
<el-option
v-for="project in volumeCatalogList"
:key="project.volumeNumber"
:label="project.volumeNumber"
:value="project.volumeNumber"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<!-- 卷册号 -->
<el-form-item label="卷册名称">
<el-input disabled v-model="form.volumeName" />
</el-form-item>
</el-col>
</el-row>
<!-- 专业 & 提出日期 --> <!-- 专业 & 提出日期 -->
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="专业"> <el-form-item label="专业">
<el-select v-model="form.specialty" placeholder=""> <el-select disabled v-model="form.specialty" placeholder="请选择专业">
<el-option v-for="item in des_user_major" :key="item.value" :label="item.label" :value="item.value" /> <el-option v-for="item in des_user_major" :key="item.value" :label="item.label" :value="item.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -62,27 +92,11 @@
</el-col> </el-col>
</el-row> </el-row>
<!-- 卷册名称 & 附图 -->
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="卷册名称">
<el-input v-model="form.volumeName" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="附图"> <el-form-item label="附图">
<file-Upload v-model="form.attachmentsImg" :file-type="['pdf', 'png', 'jpg', 'jpeg', 'gif', 'bmp']"> <file-Upload v-model="form.attachmentsImg" :file-type="['pdf', 'png', 'jpg', 'jpeg', 'gif', 'bmp']">
<el-button type="primary">上传附件</el-button> <el-button type="primary">上传附件</el-button>
</file-Upload> </file-Upload>
</el-form-item> </el-form-item>
</el-col>
</el-row>
<!-- 卷册号 -->
<el-form-item label="卷册号">
<el-input v-model="form.volumeNumber" />
</el-form-item>
<!-- 变更原因 --> <!-- 变更原因 -->
<el-form-item label="变更原因"> <el-form-item label="变更原因">
<el-checkbox-group v-model="form.changeReasons"> <el-checkbox-group v-model="form.changeReasons">
@ -177,6 +191,7 @@ import { useUserStoreHook } from '@/store/modules/user';
import { listByIds } from '@/api/system/oss'; import { listByIds } from '@/api/system/oss';
import { addContactnotice, getContactnotice, updateContactnotice } from '@/api/cory/contactnotice'; import { addContactnotice, getContactnotice, updateContactnotice } from '@/api/cory/contactnotice';
const { des_user_major } = toRefs(proxy?.useDict('des_user_major')); const { des_user_major } = toRefs(proxy?.useDict('des_user_major'));
import { catalogList } from '@/api/design/designChange';
// 获取用户 store // 获取用户 store
const userStore = useUserStoreHook(); const userStore = useUserStoreHook();
@ -221,7 +236,7 @@ const initFormData = {
id: undefined, id: undefined,
projectId: currentProject.value?.id, projectId: currentProject.value?.id,
projectType: '', projectType: '',
projectName: '', projectName: currentProject.value?.name,
serialNumber: '', serialNumber: '',
to: '', to: '',
subject: '', subject: '',
@ -275,13 +290,27 @@ const handleClose = () => {
buttonLoading.value = false; buttonLoading.value = false;
}; };
const { form, rules } = toRefs(data); const { form, rules } = toRefs(data);
const volumeCatalogList = ref([]);
let volumeMap = new Map();
/** 表单重置 */ /** 表单重置 */
const reset = () => { const reset = () => {
form.value = { ...initFormData }; form.value = { ...initFormData };
leaveFormRef.value?.resetFields(); leaveFormRef.value?.resetFields();
}; };
// 获取卷册号列表
const getJuance = async () => {
const res = await catalogList(currentProject.value?.id);
volumeCatalogList.value = res.data;
volumeCatalogList.value.forEach((e) => {
volumeMap.set(e.volumeNumber, e);
});
};
const handleSelect = (val) => {
let obj = volumeMap.get(val);
console.log(obj);
form.value.volumeName = obj.documentName;
form.value.specialty = obj.specialty;
};
/** 获取详情 */ /** 获取详情 */
const getInfo = () => { const getInfo = () => {
loading.value = true; loading.value = true;
@ -402,6 +431,7 @@ onMounted(() => {
routeParams.value = proxy.$route.query; routeParams.value = proxy.$route.query;
thumbnailUrl.value = proxy.$route.query.thumbnailUrl; thumbnailUrl.value = proxy.$route.query.thumbnailUrl;
reset(); reset();
getJuance();
loading.value = false; loading.value = false;
if (routeParams.value.type === 'update' || routeParams.value.type === 'view' || routeParams.value.type === 'approval') { if (routeParams.value.type === 'update' || routeParams.value.type === 'view' || routeParams.value.type === 'approval') {
getInfo(); getInfo();

View File

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

View File

@ -109,7 +109,12 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="设计人员" prop="principal"> <el-form-item label="设计人员" prop="principal">
<el-select :disabled="!form.specialty" 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-option v-for="item in userAppList" :key="item.userId" :label="item.userName" :value="item.userId.toString()" />
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -146,13 +151,7 @@
/></el-select> /></el-select>
</el-form-item> </el-form-item>
<el-form-item v-if="uploadForm.type == '3'" label="蓝图" prop="fileIds"> <el-form-item v-if="uploadForm.type == '3'" label="蓝图" prop="fileIds">
<file-upload <file-upload :fileType="['pdf']" :isShowTip="false" :fileSize="100" v-model="uploadForm.fileIds"></file-upload>
:fileType="['pdf']"
:isShowTip="false"
:fileSize="100"
v-hasPermi="['system:oss:upload']"
v-model="uploadForm.fileIds"
></file-upload>
</el-form-item> </el-form-item>
<el-form-item v-if="uploadForm.type == '1'" label="过程图纸" prop="cancellationIds"> <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> <file-upload :fileType="['pdf']" :isShowTip="false" :fileSize="100" v-model="uploadForm.cancellationIds"></file-upload>
@ -253,7 +252,8 @@ import {
delVolumeCatalog, delVolumeCatalog,
addVolumeCatalog, addVolumeCatalog,
updateVolumeCatalog, updateVolumeCatalog,
uploadVolumeFile,majorList, uploadVolumeFile,
majorList,
getVolumeCatafileList, getVolumeCatafileList,
volumeFileList volumeFileList
} from '@/api/design/volumeCatalog'; } from '@/api/design/volumeCatalog';
@ -264,10 +264,10 @@ import TableContent from './comm/tableContent.vue';
const fileList = ref([]); const fileList = ref([]);
import { designUserList } from '@/api/design/appointment'; import { designUserList } from '@/api/design/appointment';
const { proxy } = getCurrentInstance() as ComponentInternalInstance; const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { design_state, wf_business_status, } = toRefs(proxy?.useDict('design_state', 'wf_business_status')); const { design_state, wf_business_status } = toRefs(proxy?.useDict('design_state', 'wf_business_status'));
import { drawingreviewReceiptsDetail, drawingreviewReceiptsList } from '@/api/design/drawingreview'; import { drawingreviewReceiptsDetail, drawingreviewReceiptsList } from '@/api/design/drawingreview';
const volumeCatalogList = ref<VolumeCatalogVO[]>([]); const volumeCatalogList = ref<VolumeCatalogVO[]>([]);
const des_user_major= ref([]); const des_user_major = ref([]);
const buttonLoading = ref(false); const buttonLoading = ref(false);
const loading = ref(true); const loading = ref(true);
const showSearch = ref(true); const showSearch = ref(true);
@ -362,18 +362,18 @@ const data = reactive({
documentName: [{ required: true, message: '资料名称不能为空', trigger: 'blur' }], documentName: [{ required: true, message: '资料名称不能为空', trigger: 'blur' }],
plannedCompletion: [{ required: true, message: '计划出图事件不能为空', trigger: 'blur' }], plannedCompletion: [{ required: true, message: '计划出图事件不能为空', trigger: 'blur' }],
principal: [{ required: true, message: '设计人员不能为空', trigger: 'blur' }], principal: [{ required: true, message: '设计人员不能为空', trigger: 'blur' }],
specialty: [{ required: true, message: '专业不能为空', trigger: 'blur' }], specialty: [{ required: true, message: '专业不能为空', trigger: 'blur' }]
} }
}); });
const { queryParams, form, rules } = toRefs(data); const { queryParams, form, rules } = toRefs(data);
const changeSpecialty=(val)=>{ const changeSpecialty = (val) => {
form.value.principal = ''; //清空 form.value.principal = ''; //清空
getUserAppList(val); getUserAppList(val);
} };
// 获取专业列表 // 获取专业列表
const getSpecialtyList = async () => { const getSpecialtyList = async () => {
const res = await majorList({ projectId: currentProject.value?.id ,userType:2}); const res = await majorList({ projectId: currentProject.value?.id, userType: 2 });
console.log(res); console.log(res);
if (res.code === 200) { if (res.code === 200) {
des_user_major.value = res.data; des_user_major.value = res.data;
@ -391,7 +391,7 @@ const getList = async () => {
} }
}; };
const getUserAppList = async (userMajor) => { const getUserAppList = async (userMajor) => {
const res = await designUserList({ projectId: currentProject.value?.id ,userType:2,userMajor}); const res = await designUserList({ projectId: currentProject.value?.id, userType: 2, userMajor });
if (res.code === 200) { if (res.code === 200) {
userAppList.value = res.rows; userAppList.value = res.rows;
} }

View File

@ -8,6 +8,7 @@
<right-toolbar @queryTable="refreshData"></right-toolbar> <right-toolbar @queryTable="refreshData"></right-toolbar>
</el-row> </el-row>
</el-card> </el-card>
<!-- 数据表格 --> <!-- 数据表格 -->
<div class="bg-white rounded-lg shadow-sm overflow-hidden transition-all duration-300 hover:shadow-md"> <div class="bg-white rounded-lg shadow-sm overflow-hidden transition-all duration-300 hover:shadow-md">
<el-table <el-table

View File

@ -24,8 +24,8 @@
<!-- 添加或修改月度产值计划对话框 --> <!-- 添加或修改月度产值计划对话框 -->
<el-dialog draggable :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body> <el-dialog draggable :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
<el-form ref="monthPlanFormRef" :model="form" :rules="rules" label-width="80px"> <el-form ref="monthPlanFormRef" :model="form" :rules="rules" label-width="80px">
<el-form-item label="金额" prop="unitPrice"> <el-form-item label="接收数量" prop="acceptedQuantity">
<el-input v-model="form.unitPrice" placeholder="请输入金额" type="number" /> <el-input v-model="form.acceptedQuantity" placeholder="请输入接收数量" type="number" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<template #footer> <template #footer>
@ -76,7 +76,8 @@ const initFormData = {
valueType: undefined, valueType: undefined,
planAuditStatus: undefined, planAuditStatus: undefined,
completeAuditStatus: undefined, completeAuditStatus: undefined,
unitPrice: undefined unitPrice: undefined,
acceptedQuantity: undefined
}; };
const data = reactive({ const data = reactive({
form: { ...initFormData }, form: { ...initFormData },